*{box-sizing:border-box}body{margin:0;background:#f5f7f6;color:#1d2b25;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}.login-page{min-height:100vh;display:grid;place-items:center;padding:28px;background:#f5f7f6}.login-card{width:min(420px,100%);padding:28px;border:1px solid #dce5df;border-radius:8px;background:#fff}.login-card img{width:78px;display:block;margin-bottom:18px}.login-card h1{margin:0 0 6px;font-size:26px}.login-card p{margin:0 0 22px;color:#66736d}.login-card label{display:grid;gap:7px;margin-bottom:14px}.login-card label span{color:#66736d;font-size:13px;font-weight:700}.login-card input{height:42px;padding:0 12px;border:1px solid #dce5df;border-radius:8px}.login-card>button{width:100%;height:42px;margin-top:4px;border:1px solid #28745b;border-radius:8px;background:#28745b;color:#fff;font-weight:800;cursor:pointer}.login-error{margin-bottom:12px;padding:10px 12px;border:1px solid #e4c8c6;border-radius:8px;background:#fff6f5;color:#9f3a38;font-size:13px}.login-hint{display:grid;gap:4px;margin-top:16px;color:#66736d;font-size:13px}.login-hint strong{color:#1d2b25}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{padding:22px;background:#fff;border-right:1px solid #dce5df;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;margin-bottom:28px}.brand img{width:54px}.brand strong,.brand span{display:block}.brand span,.sidebar-footer,.topbar p,.visitor-meta,.profile p,.field span{color:#66736d}.nav{display:grid;gap:8px}.nav button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 14px;border:1px solid transparent;border-radius:8px;background:transparent;color:#42584a;text-align:left;cursor:pointer}.nav button.active,.nav button:hover{border-color:#c7d8ce;background:#edf4ef;color:#18533f}.nav span{color:#7b8b83;font-size:13px}.sidebar-footer{margin-top:auto;padding-top:20px;border-top:1px solid #edf2ef;font-size:13px;line-height:1.7}.logout-button{display:block;margin-top:10px;padding:6px 10px;border:1px solid #b9c9c0;border-radius:8px;background:#fff;color:#28745b;font-size:13px;font-weight:700;cursor:pointer}.password-panel{display:grid;gap:8px;margin-top:10px;padding:10px;border:1px solid #edf2ef;border-radius:8px;background:#f8faf9}.password-panel input{width:100%;height:34px;min-width:0;padding:0 9px;border:1px solid #dce5df;border-radius:8px;background:#fff}.password-panel span{color:#9f3a38;font-size:12px;line-height:1.5}.password-panel button{padding:7px 9px;border:1px solid #28745b;border-radius:8px;background:#28745b;color:#fff;font-size:13px;font-weight:700;cursor:pointer}.main{padding:28px;min-width:0}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.topbar h1{margin:0 0 8px;font-size:28px}.topbar p{margin:0}.topbar-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:10px}.export-filters{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:8px}.export-filters label{display:grid;gap:5px;color:#66736d;font-size:12px;font-weight:700}.export-filters input,.export-filters select{height:38px;min-width:118px;padding:0 9px;border:1px solid #dce5df;border-radius:8px;background:#fff;color:#1d2b25}.refresh-button,.btn{padding:9px 14px;border:1px solid #b9c9c0;border-radius:8px;background:#fff;color:#28745b;font-weight:700;cursor:pointer}.btn.primary{border-color:#28745b;background:#28745b;color:#fff}.btn.two-line{display:inline-grid;gap:2px;min-width:64px;line-height:1.15;text-align:center}.workspace{display:grid;grid-template-columns:minmax(340px,.85fr) minmax(520px,1.35fr);gap:18px;align-items:start}.panel{min-width:0;padding:18px;border:1px solid #dce5df;border-radius:8px;background:#fff}.panel-head,.visitor-top,.profile,.actions{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.panel h2,.panel h3{margin:0}.schedule-panel{max-width:1180px}.accounts-panel{max-width:980px}.account-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;align-items:end;padding-bottom:16px;border-bottom:1px solid #edf2ef}.account-form label{display:grid;gap:6px}.account-form span{color:#66736d;font-size:13px;font-weight:700}.account-form input,.account-form select{height:38px;min-width:0;padding:0 10px;border:1px solid #dce5df;border-radius:8px;background:#fff}.account-list{display:grid;gap:10px;margin-top:16px}.account-card{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:12px;border:1px solid #edf2ef;border-radius:8px;background:#f8faf9}.account-card strong,.account-card span{display:block}.account-card strong{color:#1d2b25}.account-card span{margin-top:4px;color:#66736d;font-size:13px}.account-card em{color:#28745b;font-style:normal;font-weight:700}.account-actions{display:flex;gap:8px}.account-actions button{padding:7px 10px;border:1px solid #b9c9c0;border-radius:8px;background:#fff;color:#28745b;font-weight:700;cursor:pointer}.schedule-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:16px;border-bottom:1px solid #edf2ef}.schedule-toolbar p{margin:8px 0 0;color:#66736d;line-height:1.6}.week-controls{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:flex-end;gap:10px;max-width:720px}.week-controls button{height:40px;padding:0 12px;border:1px solid #b9c9c0;border-radius:8px;background:#fff;color:#28745b;font-weight:700;cursor:pointer;white-space:nowrap}.week-controls .add-schedule-button{border-color:#28745b;background:#28745b;color:#fff}.date-picker{display:grid;gap:6px;min-width:150px;color:#66736d;font-size:13px;font-weight:600}.date-picker input,.date-picker select{height:40px;padding:0 10px;border:1px solid #dce5df;border-radius:8px;background:#fff;color:#1d2b25}.schedule-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;align-items:end;margin-top:14px;padding:12px;border:1px solid #dce5df;border-radius:8px;background:#f8faf9}.form-summary,.schedule-form label{display:grid;gap:6px}.form-summary strong,.schedule-form label span{color:#66736d;font-size:13px;font-weight:700}.form-summary span{color:#1d2b25;font-weight:600}.schedule-form input,.schedule-form select{height:38px;min-width:0;padding:0 10px;border:1px solid #dce5df;border-radius:8px;background:#fff;color:#1d2b25}.form-actions{display:flex;gap:8px;align-self:end}.delete-choice{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:12px;border:1px solid #e4c8c6;border-radius:8px;background:#fff6f5}.delete-choice strong,.delete-choice span{display:block}.delete-choice strong{color:#9f3a38;font-size:14px}.delete-choice span{margin-top:4px;color:#66736d;font-size:13px}.delete-choice-actions{display:flex;flex-wrap:wrap;gap:8px}.delete-choice-actions button{padding:8px 10px;border:1px solid #e4c8c6;border-radius:8px;background:#fff;color:#9f3a38;font-weight:700;cursor:pointer}.schedule-list{display:grid;grid-template-columns:repeat(7,minmax(132px,1fr));gap:8px;margin-top:16px;overflow-x:auto}.schedule-day{min-height:170px;padding:12px;border:1px solid #edf2ef;border-radius:8px;background:#f8faf9}.schedule-day header{display:grid;gap:2px;margin-bottom:10px}.schedule-day header strong{color:#28745b;font-size:16px}.schedule-day header span{color:#66736d;font-size:13px}.schedule-day-items{display:grid;gap:8px}.schedule-card{display:grid;gap:4px;width:100%;padding:9px;border:1px solid #dce5df;border-radius:8px;background:#fff;color:inherit;text-align:left;cursor:pointer}.schedule-card:hover{border-color:#c7d8ce;background:#f1f7f3}.schedule-time{color:#42584a;font-size:13px;font-weight:700}.schedule-card strong{color:#1d2b25;font-size:14px;font-weight:500}.schedule-card em{color:#66736d;font-size:13px;font-style:normal}.delete-schedule{justify-self:start;margin-top:2px;padding:4px 9px;border:1px solid #e4c8c6;border-radius:999px;background:#fff6f5;color:#9f3a38;font-size:12px;font-weight:700;cursor:pointer}.schedule-empty{margin-top:16px}.day-empty{padding:12px 0;color:#9aa7a1;font-size:13px}.visitor-list{margin-top:16px;display:grid;gap:10px}.visitor{width:100%;padding:14px;border:1px solid #dce5df;border-radius:8px;background:#fff;text-align:left;cursor:pointer}.visitor.active,.visitor:hover{border-color:#28745b;background:#f3f8f5}.visitor-name{display:grid;gap:4px;font-weight:700}.visitor-name em{color:#66736d;font-size:12px;font-style:normal;font-weight:500}.visitor-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;font-size:13px}.tag{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.tag.risk{background:#ffe7df;color:#9f3a38}.tag.focus{background:#fff4d7;color:#8a5b00}.tag.ok{background:#e8f3ed;color:#18533f}.tag.info{background:#e8f0f7;color:#244966}.empty,.error{padding:18px;border:1px solid #dce5df;border-radius:8px;background:#fff;color:#66736d}.error{border-color:#e4c8c6;background:#fff6f5;color:#9f3a38}.profile{padding-bottom:18px;border-bottom:1px solid #edf2ef}.profile h2{display:flex;align-items:center;gap:10px;margin:0 0 8px;font-size:24px}.profile p{margin:0}.counselor-line{position:relative;display:flex;align-items:center;gap:10px;margin-top:10px;color:#66736d;font-size:14px}.assign-button{padding:5px 10px;border:1px solid #b9c9c0;border-radius:999px;background:#fff;color:#28745b;font-size:13px;font-weight:700;cursor:pointer}.assign-menu{position:absolute;left:0;top:32px;z-index:2;min-width:140px;padding:8px;border:1px solid #dce5df;border-radius:8px;background:#fff;box-shadow:0 12px 28px #1d2b251f}.assign-menu button{width:100%;padding:8px 10px;border:0;border-radius:6px;background:#edf4ef;color:#18533f;font-weight:700;cursor:pointer}.section{padding:18px 0;border-bottom:1px solid #edf2ef}.section:last-child{border-bottom:0}.section h3{margin-bottom:12px;font-size:17px}.section-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;margin:0 0 12px;padding:0;border:0;background:transparent;color:#1d2b25;cursor:pointer}.section-toggle span{font-size:17px;font-weight:800}.section-toggle em{color:#66736d;font-size:13px;font-style:normal;font-weight:700}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.field{padding:12px;border:1px solid #edf2ef;border-radius:8px;background:#f8faf9}.field span,.field strong{display:block}.field span{margin-bottom:6px;font-size:13px}.field strong{line-height:1.5;color:#2f4037;font-weight:400}.note,.risk-box{padding:14px;border:1px solid #edf2ef;border-radius:8px;background:#f8faf9;line-height:1.7;font-weight:400}.risk-boxes{display:grid;gap:10px}.risk-box p{margin:8px 0 0;color:#66736d;font-weight:400}.risk-box.danger{border-color:#e2b8a9;background:#fffaf8}.signed-doc-list{display:grid;gap:10px}.signed-doc-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid #edf2ef;border-radius:8px;background:#f8faf9}.signed-doc-item strong,.signed-doc-item span{display:block}.signed-doc-item span{margin-top:5px;color:#66736d;font-size:12px;line-height:1.5;word-break:break-all}.signed-doc-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.signed-doc-actions .btn{white-space:nowrap}.risk-box.danger strong{color:#9f3a38}.risk-box.medium{border-color:#f1dfaa;background:#fffdf6}.risk-box.medium strong{color:#8a5b00}.risk-box.notice{border-color:#f1dfaa;background:#fffdf6}.score-grid{display:grid;grid-template-columns:1fr;gap:12px}.score{padding:14px;border:1px solid #edf2ef;border-radius:8px;background:#f8faf9}.score-title,.score-value{display:block}.score-title{color:#1d2b25;font-size:17px;font-weight:800}.score-value{margin:6px 0 10px;color:#66736d;font-size:18px}.score-level{display:inline-flex;align-items:center;width:fit-content;padding:7px 12px;border-radius:999px;font-size:16px;font-weight:800;line-height:1.15;white-space:nowrap}.score-level.normal{background:#e8f3ed;color:#18533f}.score-level.mild{background:#fff4d7;color:#8a5b00}.score-level.moderate{background:#e8f0f7;color:#244966}.score-level.severe{background:#ffe1dd;color:#a9362f}.score-level.info{background:#e8f0f7;color:#244966}.factor-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.factor{padding:10px 12px;border:1px solid #edf2ef;border-radius:8px;background:#fff}.factor span,.factor strong,.factor em{display:block}.factor strong{margin:4px 0;color:#28745b}.factor em{display:inline-flex;width:fit-content;padding:4px 8px;border-radius:999px;font-size:14px;font-weight:700;font-style:normal}.factor-level.normal{background:#e8f3ed;color:#18533f}.factor-level.mild{background:#fff4d7;color:#8a5b00}.factor-level.moderate{background:#e8f0f7;color:#244966}.factor-level.severe{background:#ffe1dd;color:#a9362f}.factor-level.info{background:#e8f0f7;color:#244966}textarea{width:100%;min-height:110px;resize:vertical;padding:12px;border:1px solid #dce5df;border-radius:8px;font-weight:400}.note-editor{display:grid;gap:10px}.note-editor .btn{justify-self:start}.log{display:grid;gap:8px;color:#66736d;font-size:13px;font-weight:400}@media (max-width: 1100px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.workspace,.field-grid,.score-grid,.factor-list,.schedule-form,.schedule-list{grid-template-columns:1fr}.schedule-toolbar,.week-controls{align-items:stretch}.schedule-toolbar{display:grid}.week-controls{justify-content:flex-start;max-width:none}}
