:root{--primary: #4f46e5;--primary-dark: #4338ca;--danger: #dc2626;--bg: #f4f5f9;--panel: #ffffff;--border: #e2e5ee;--text: #1f2430;--text-muted: #6b7280;--sidebar-bg: #1f2937;--slot-h: 250px;--head-h: 56px;--radius: 10px}.cw-shell{display:grid;gap:18px}.cw-entry-shell{min-height:calc(100vh - 118px);place-items:center;padding:32px 0 54px}.cw-consultant-gateway{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);width:min(980px,calc(100% - 32px));min-height:570px;overflow:hidden;border:1px solid rgba(122,100,176,.14);border-radius:28px;box-shadow:0 26px 70px #49396e24}.cw-gateway-welcome{position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:42px 46px;background:linear-gradient(145deg,#6557ca,#8a70d2 46%,#d692a6);color:#fff;isolation:isolate}.cw-gateway-welcome:after{position:absolute;right:-70px;bottom:-130px;z-index:-1;width:330px;height:330px;border-radius:50%;background:#ffe1c652;content:"";filter:blur(1px)}.cw-gateway-orb{position:absolute;z-index:-1;display:block;border-radius:50%;background:#ffffff21}.cw-gateway-orb--one{top:-60px;right:-30px;width:210px;height:210px}.cw-gateway-orb--two{left:45%;bottom:96px;width:92px;height:92px;background:#ffd6c033}.cw-gateway-brand{display:flex;align-items:center;gap:10px;font-size:15px;letter-spacing:.02em}.cw-gateway-brand>span{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#ffffff2e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.cw-gateway-copy{max-width:420px}.cw-gateway-kicker{display:inline-flex;margin-bottom:16px;border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:6px 11px;background:#ffffff1c;font-size:12px;font-weight:750;letter-spacing:.08em}.cw-gateway-copy h2{margin:0 0 18px;color:#fff;font-size:clamp(32px,4vw,48px);line-height:1.16;letter-spacing:-.035em}.cw-gateway-copy p{max-width:390px;margin:0;color:#ffffffd1;font-size:15px;line-height:1.85}.cw-gateway-promise{display:flex;align-items:center;gap:13px;border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:14px 16px;background:#ffffff1c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.cw-gateway-promise>span{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:#ffe2c6;color:#8b5b89}.cw-gateway-promise div{display:grid;gap:3px}.cw-gateway-promise strong{font-size:13px}.cw-gateway-promise small{color:#ffffffb8;font-size:11px}.cw-gateway-form{display:flex;flex-direction:column;justify-content:center;padding:52px 54px;background:linear-gradient(160deg,#fff,#fffcfb 54%,#faf7ff)}.cw-gateway-avatar{display:grid;place-items:center;width:68px;height:68px;margin-bottom:24px;border:1px solid #e1dbf2;border-radius:22px;background:linear-gradient(145deg,#f1edff,#fff4ed);color:#8d83a5;font-size:26px;font-weight:850;box-shadow:0 10px 28px #634c941f;transition:transform .2s ease,color .2s ease,box-shadow .2s ease}.cw-gateway-avatar.is-selected{color:#5745c7;box-shadow:0 12px 32px #5745c733;transform:translateY(-2px)}.cw-gateway-heading>span{color:#9a7394;font-size:12px;font-weight:800;letter-spacing:.12em}.cw-gateway-heading h3{margin:8px 0 9px;color:#292437;font-size:28px;letter-spacing:-.02em}.cw-gateway-heading p{margin:0 0 28px;color:#7d7888;font-size:13px;line-height:1.7}.cw-gateway-field{display:grid;gap:9px}.cw-gateway-field>span{color:#5f596a;font-size:13px;font-weight:780}.cw-gateway-field select{min-height:54px;border:1px solid #ddd7e8;border-radius:14px;padding:0 15px;background:#fff;color:#292437;font:inherit;box-shadow:0 5px 16px #3d30580d;outline:0;transition:border-color .16s ease,box-shadow .16s ease}.cw-gateway-field select:focus{border-color:#8170d4;box-shadow:0 0 0 4px #705bc41f}.cw-gateway-enter{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;margin-top:16px;border-radius:14px;background:linear-gradient(120deg,#6251d2,#7a61d2);box-shadow:0 12px 24px #5b47c03b;font-weight:780}.cw-gateway-enter>span{font-size:18px;transition:transform .15s ease}.cw-gateway-enter:not(:disabled):hover>span{transform:translate(3px)}.cw-gateway-enter:disabled{box-shadow:none}.cw-gateway-assurance{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:17px;color:#938d9d;font-size:11px}.cw-gateway-assurance>span{display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#edf8f1;color:#42936b;font-weight:850}.cw-gateway-empty{margin-top:12px;color:#9a6363;text-align:center}.cw-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;padding:20px 24px;background:linear-gradient(135deg,#fff,#f5f3ff)}.cw-hero h2{margin:5px 0 3px;font-size:27px}.cw-hero p,.cw-title p{margin:0;color:var(--muted)}.cw-eyebrow{color:#6558dc;font-size:13px;font-weight:800;letter-spacing:.08em}.cw-global-filters{display:flex;gap:12px}.cw-current-consultant{display:grid;align-content:center;gap:3px;min-width:125px;border:1px solid #dedfeb;border-radius:12px;padding:7px 13px;background:#fafafd}.cw-current-consultant span{color:#777c8c;font-size:11px;font-weight:750}.cw-current-consultant strong{display:flex;align-items:center;gap:7px;color:#453bd0;font-size:15px}.cw-manager-badge{border-radius:999px;padding:3px 7px;background:#fff0e3;color:#a35a2c;font-size:9px;font-style:normal;font-weight:800;white-space:nowrap}.cw-manager-scope{min-width:170px}.cw-add-consultant{align-self:end;min-height:44px;white-space:nowrap}.cw-current-consultant--compact{min-width:110px;min-height:44px}.cw-global-filters label,.cw-section-head label,.cw-form-grid label,.cw-editor>label,.cw-note{display:grid;gap:7px}.cw-global-filters label>span,.cw-section-head label>span,.cw-form-grid label>span,.cw-editor>label>span,.cw-note>span,.cw-plan-picks>span,.cw-status-actions>span{color:#6c7284;font-size:12px;font-weight:750}.cw-global-filters input,.cw-global-filters select,.cw-section-head input,.cw-section-head select,.cw-task-entry input,.cw-task-entry select,.cw-plan-entry input,.cw-form-grid input,.cw-form-grid select,.cw-form-grid textarea,.cw-note textarea,.cw-editor input,.cw-editor select,.cw-search{min-height:44px;border:1px solid #dfe3ef;border-radius:12px;background:#fff;padding:0 13px;font:inherit;color:#202437}.cw-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:7px;border:1px solid #e2e4ef;border-radius:18px;background:#ffffffc7}.cw-tabs button{display:grid;place-items:center;border:0;border-radius:13px;padding:12px 16px;background:transparent;color:#71778a;text-align:center;cursor:pointer}.cw-tabs button strong{color:#383d50;font-size:15px}.cw-tabs button span{font-size:12px}.cw-tabs button.is-active{background:#5549e8;box-shadow:0 8px 22px #5549e83b}.cw-tabs button.is-active strong,.cw-tabs button.is-active span{color:#fff}.notice.warning{border-color:#eadb9f;background:#fff9dc;color:#795c00}.cw-today{display:grid;gap:18px}.cw-daily-overview{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.cw-dashboard-card{position:relative;min-width:0;padding:16px;overflow:visible;outline:0}.cw-dashboard-card__head{display:flex;align-items:center;gap:7px;color:#666c7d;font-size:13px;font-weight:750}.cw-dashboard-icon{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#f0efff}.cw-dashboard-card>strong{display:block;margin:10px 0 4px;color:#4037c8;font-size:30px;line-height:1}.cw-dashboard-card>strong small{color:#85899a;font-size:12px;font-weight:600}.cw-dashboard-card p{min-height:32px;margin:0;overflow:hidden;color:#777c8c;font-size:11px;line-height:1.45}.cw-dashboard-card em{position:absolute;top:15px;right:13px;color:#7168d9;font-size:10px;font-style:normal}.cw-dashboard-card:focus-visible{box-shadow:0 0 0 3px #5549e82e}.cw-dashboard-card--clickable{cursor:pointer}.cw-dashboard-card--clickable:hover{border-color:#cfcaf9}.cw-dashboard-popover{position:absolute;top:calc(100% - 5px);left:0;z-index:20;display:grid;gap:8px;width:min(280px,calc(100vw - 48px));max-height:260px;overflow:auto;border:1px solid #deddf0;border-radius:13px;padding:12px;background:#fff;box-shadow:0 14px 34px #22263a29;color:#4d5264;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .14s ease,transform .14s ease}.cw-dashboard-card:hover,.cw-dashboard-card:focus-within{z-index:12}.cw-dashboard-card:hover .cw-dashboard-popover,.cw-dashboard-card:focus-within .cw-dashboard-popover{opacity:1;transform:translateY(0)}.cw-dashboard-popover>b{color:#34394c;font-size:12px}.cw-dashboard-popover>span{color:#858a99;font-size:12px}.cw-dashboard-popover ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}.cw-dashboard-popover li{display:grid;gap:2px;border-bottom:1px solid #eeeeF4;padding-bottom:7px}.cw-dashboard-popover li:last-child{border-bottom:0;padding-bottom:0}.cw-dashboard-popover li strong{color:#33384b;font-size:12px}.cw-dashboard-popover li span{color:#7d8292;font-size:10px;line-height:1.4}.cw-daily-overview>.cw-dashboard-card:last-child .cw-dashboard-popover{right:0;left:auto}.cw-class-detail-modal{max-height:min(680px,calc(100vh - 48px));overflow:auto}.cw-class-detail-list{display:grid;gap:8px;margin-top:16px}.cw-class-detail-list>div:not(.cw-empty){display:grid;gap:4px;border:1px solid #e5e6ef;border-radius:11px;padding:11px 12px;background:#fafafe}.cw-class-detail-list strong{color:#33384a}.cw-class-detail-list span{color:#757b8c;font-size:12px}.cw-overview-dialog-icon{display:inline-block;margin-right:8px}.cw-department-note{border-style:dashed;background:linear-gradient(135deg,#fff,#faf9ff)}.cw-department-note h3{margin-bottom:5px}.cw-readonly-badge{background:#eeeafd;color:#5c4fd0}.cw-focus-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:14px}.cw-suggestion-list,.cw-attention-list{display:grid;gap:8px}.cw-suggestion-list>div,.cw-attention-list>div{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:55px;border:1px solid #e6e7ef;border-radius:12px;padding:9px 11px;background:#fff}.cw-suggestion-list>div>div,.cw-attention-list>div>div{display:grid;gap:3px;min-width:0}.cw-suggestion-list strong,.cw-attention-list strong{font-size:14px}.cw-suggestion-list span,.cw-attention-list span{overflow:hidden;color:#7e8393;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.cw-suggestion-list button,.cw-attention-list button,.cw-birthday-list button{flex:0 0 auto;border:0;border-radius:9px;padding:7px 9px;background:#f0efff;color:#5549d9;font-size:11px;font-weight:750;cursor:pointer}.cw-suggestion-list button:disabled,.cw-attention-list button:disabled,.cw-birthday-list button:disabled{color:#999dab;cursor:default;opacity:.7}.cw-suggestion-actions{display:flex;justify-content:flex-end;margin-top:11px}.cw-birthday-list{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:12px;border-top:1px solid #ececf2;padding-top:12px}.cw-birthday-list>strong{margin-right:4px;color:#555a6a;font-size:12px}.cw-targets{display:grid;grid-template-columns:repeat(3,minmax(100px,.65fr)) minmax(220px,1.4fr);gap:10px;margin-bottom:14px}.cw-targets>label{display:grid;gap:7px}.cw-targets>label>span,.cw-service-target>span{color:#6c7284;font-size:12px;font-weight:750}.cw-service-target{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;align-content:center;border:1px solid #dedfeb;border-radius:12px;padding:10px 13px;background:#fafafd}.cw-service-target strong{justify-self:end;color:#5146d4}.cw-service-target small{grid-column:1 / -1;overflow:hidden;color:#85899a;text-overflow:ellipsis;white-space:nowrap}.cw-auto-plan{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px}.cw-auto-plan span{display:grid;gap:3px;min-width:0;border-radius:10px;padding:9px 11px;background:#f7f7fb;color:#7e8292;font-size:11px}.cw-auto-plan b{color:#4d5264;font-size:12px}.cw-section-head{display:flex;align-items:center;gap:18px;padding:18px 22px}.cw-section-head>div{display:grid;gap:3px;margin-right:auto}.cw-section-head>div span{color:#818699;font-size:12px}.cw-section-head>div strong{font-size:20px}.cw-save-state{border-radius:999px;padding:8px 12px;background:#f1f2f7;color:#74798b;font-size:12px;font-weight:750}.cw-save-state.is-saved{background:#e6f8ef;color:#19764b}.cw-panel{padding:24px}.cw-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.cw-title h3{margin:0 0 5px;font-size:20px}.cw-title>span,.cw-readonly{border-radius:999px;background:#f0efff;color:#574bd6;padding:7px 11px;font-size:12px;font-weight:750;white-space:nowrap}.cw-report-preview-button{min-height:38px;box-shadow:0 8px 18px #5145d42e}.cw-report-export-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:20px 24px;background:linear-gradient(135deg,#fff,#f7f5ff 58%,#fff8f1)}.cw-report-export-panel h3{margin:2px 0 4px;font-size:18px}.cw-report-export-panel p{margin:0;color:#7c8090;font-size:12px;line-height:1.55}.cw-report-export-panel .notice{grid-column:1 / -1;margin:0}.cw-report-export-panel .cw-eyebrow{color:#6256d9;font-size:11px;font-weight:800;letter-spacing:.06em}.cw-report-preview-modal{width:min(760px,100%);max-height:calc(100vh - 48px);overflow:hidden}.cw-report-preview-frame{max-height:calc(100vh - 240px);overflow:auto;border:1px solid #e2e1ef;border-radius:18px;padding:12px;background:linear-gradient(145deg,#f4f1ff,#fff8f1)}.cw-report-preview-frame img{display:block;width:100%;height:auto;border-radius:12px;background:#fff;box-shadow:0 12px 30px #2b284e1f}.cw-report-privacy-note{margin:12px 0 0;color:#7c8090;font-size:12px;line-height:1.55}.cw-report-preview-modal .cw-actions{align-items:center;gap:10px}.cw-report-preview-modal .cw-actions a{text-decoration:none}.cw-task-entry{display:grid;grid-template-columns:150px minmax(180px,1fr) 110px minmax(170px,.8fr) auto;gap:10px}.cw-task-counts{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.cw-task-counts span{border-radius:999px;padding:6px 10px;background:#f1f2f6;color:#74798a;font-size:12px;font-weight:750}.cw-task-counts span.is-done{background:#e5f8ee;color:#19764b}.cw-task-counts span.is-missed{background:#ffedeb;color:#b53f39}.cw-plan-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.cw-plan-section{min-width:0;border:1px solid #e4e5ef;border-radius:16px;padding:16px;background:linear-gradient(145deg,#fff,#fafaff)}.cw-plan-section__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.cw-plan-section__head h4{margin:0 0 4px;color:#34384a;font-size:16px}.cw-plan-section__head p{margin:0;color:#858a9b;font-size:12px;line-height:1.45}.cw-plan-section__head>span{flex:0 0 auto;border-radius:999px;padding:5px 9px;background:#efeeff;color:#574bd6;font-size:11px;font-weight:750}.cw-plan-suggestions{display:grid;gap:7px;margin-bottom:12px;border-radius:12px;padding:10px 11px;background:#f6f6fb}.cw-plan-suggestions>strong{color:#777c8e;font-size:11px}.cw-plan-suggestions>div{display:flex;flex-wrap:wrap;gap:6px}.cw-plan-suggestions button{max-width:100%;overflow:hidden;border:0;border-radius:999px;padding:6px 9px;background:#fff;color:#5046ca;font:inherit;font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.cw-plan-suggestions button:disabled{color:#8b8f9e;cursor:default;opacity:.7}.cw-plan-none{color:#9699a7;font-size:12px}.cw-plan-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.cw-plan-entry input{width:100%;min-width:0}.cw-plan-section .cw-task{grid-template-columns:34px minmax(120px,1fr) 104px auto}.cw-plan-section .cw-task-feedback{grid-column:2 / -1}.cw-appointment-followups{display:grid;gap:9px;margin:12px 0}.cw-appointment-followups__head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#555b6d;font-size:12px}.cw-appointment-followups__head strong{color:#41465a}.cw-appointment-followups__head span{color:#7e8291}.cw-appointment-followup{display:grid;gap:12px;border:1px solid #dfe1ef;border-left:3px solid #8177eb;border-radius:13px;padding:13px;background:#fcfcff}.cw-appointment-followup.is-completing{opacity:.75}.cw-appointment-followup.is-error{border-left-color:#d8544b;background:snow}.cw-appointment-followup__summary{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.cw-appointment-followup__summary>div:first-child{display:grid;gap:3px}.cw-appointment-followup__summary span{color:#777d8d;font-size:12px}.cw-appointment-followup__badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.cw-appointment-followup__badges em,.cw-appointment-followup__badges b{border-radius:999px;padding:4px 7px;font-size:11px;font-style:normal;font-weight:750}.cw-appointment-followup__badges em{background:#efeeff;color:#574bd6}.cw-appointment-followup__badges b{background:#fff4d9;color:#956000}.cw-appointment-followup__body{display:grid;gap:11px}.cw-outcome-choice,.cw-outcome-needs{display:grid;gap:7px}.cw-outcome-choice>span,.cw-outcome-needs>span,.cw-outcome-followup span{color:#6c7284;font-size:12px;font-weight:750}.cw-outcome-choice>div{display:flex;flex-wrap:wrap;gap:7px}.cw-outcome-choice button{border:1px solid #dfe1ec;border-radius:9px;padding:8px 11px;background:#fff;color:#555a6b;cursor:pointer}.cw-outcome-choice button.is-selected{border-color:#6b60e0;background:#efeeff;color:#4f43d0;font-weight:750}.cw-outcome-choice button:disabled{cursor:default;opacity:.72}.cw-outcome-needs>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.cw-outcome-needs input,.cw-outcome-followup textarea{width:100%;min-width:0;border:1px solid #dfe3ef;border-radius:9px;padding:9px 10px;background:#fff;color:#202437;font:inherit}.cw-outcome-followup{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.cw-outcome-followup label{display:grid;gap:7px}.cw-outcome-followup textarea{resize:vertical}.cw-empty--compact{padding:16px}.cw-task-list{display:grid;gap:8px;margin-top:14px}.cw-referral-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.cw-referral-item{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;border:1px solid #dfdcfb;border-radius:12px;padding:10px 12px;background:linear-gradient(145deg,#fff,#f6f3ff)}.cw-referral-item>div{display:grid;gap:3px;min-width:0}.cw-referral-item strong{overflow:hidden;color:#35314f;text-overflow:ellipsis;white-space:nowrap}.cw-referral-item span{color:#746bc5;font-size:11px}.cw-task{display:grid;grid-template-columns:34px minmax(160px,1fr) minmax(180px,.8fr) 112px auto;align-items:center;gap:11px;min-height:58px;border:1px solid #e5e7f0;border-radius:13px;padding:8px 12px;background:#fff}.cw-task.is-completed{background:#f6fbf8}.cw-task.is-completed strong{color:#858b96;text-decoration:line-through}.cw-task>div{display:grid;gap:3px}.cw-task>div span{color:#858a9a;font-size:12px}.cw-task select{border:0;background:#f4f4f8;border-radius:9px;padding:7px}.cw-task-feedback{min-width:0;border:1px solid #e0e2ec;border-radius:9px;padding:8px 10px;background:#fff;font:inherit}.cw-check{width:30px;height:30px;border:1.5px solid #cbd0df;border-radius:9px;background:#fff;color:#fff;cursor:pointer}.cw-task.is-completed .cw-check{border-color:#34b67a;background:#34b67a}.cw-empty{padding:28px;border:1px dashed #d7dae6;border-radius:12px;color:#858a99;text-align:center}.cw-auto-grid{display:grid;grid-template-columns:repeat(7,minmax(92px,1fr));gap:10px}.cw-auto-card{display:grid;gap:4px;padding:16px;border-radius:14px;background:linear-gradient(145deg,#f7f7fc,#f0efff)}.cw-auto-card span,.cw-auto-card small{color:#797e90;font-size:12px}.cw-auto-card strong{color:#4e43d1;font-size:26px}.cw-report-metric-groups{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(440px,1.18fr);gap:12px;align-items:stretch}.cw-metric-group{display:grid;align-content:start;gap:10px;min-width:0;padding:12px;border:1px solid #e5e5f0;border-radius:14px;background:#fafafe}.cw-metric-group__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.cw-metric-group__head strong{color:#454a5e;font-size:13px}.cw-metric-group__head span{color:#9599a8;font-size:10px}.cw-manual-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.cw-manual-metrics>label{display:grid;gap:5px;min-width:0}.cw-manual-metrics>label>span{color:#6c7284;font-size:11px;font-weight:750}.cw-automatic-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.cw-field-label{display:flex;align-items:center;justify-content:space-between;gap:7px}.cw-field-label small{color:#7166dc;font-size:11px;font-weight:750}.cw-automatic-metrics .cw-auto-card{min-height:64px;padding:8px 10px}.cw-automatic-metrics .cw-auto-card strong{font-size:20px}.cw-auto-card--progress strong small{color:#777c8f;font-size:14px;font-weight:700}.cw-manual-metrics .cw-number{height:100%;min-height:58px}.cw-manual-metrics .cw-number input{font-size:20px;font-weight:750}.cw-plan-progress{display:grid;gap:11px;margin-top:20px;padding:16px;border:1px solid #e2e2f1;border-radius:15px;background:#fafafe}.cw-plan-progress__head{display:flex;align-items:center;justify-content:space-between;gap:12px}.cw-plan-progress__head strong{color:#34394c}.cw-plan-progress__head span{color:#858a9b;font-size:12px}.cw-plan-progress__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.cw-task-progress-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;padding:10px 12px;border:1px solid #e3e4ef;border-radius:11px;background:#fff}.cw-task-progress-card>span{color:#5e6374;font-weight:750}.cw-task-progress-card strong{color:#5045d4;font-size:20px}.cw-task-progress-card strong small{color:#8b8fa0;font-size:13px}.cw-task-progress-card em{grid-column:1 / -1;color:#969aa9;font-size:11px;font-style:normal}.cw-task-progress-card.is-complete{border-color:#bfe9d3;background:#f4fbf7}.cw-task-progress-card.is-complete strong{color:#21845a}.cw-more{margin-top:16px;border:1px solid #e4e5ed;border-radius:13px;background:#fafafd;overflow:hidden}.cw-more summary{display:flex;align-items:center;gap:10px;padding:13px 15px;color:#4f5466;font-weight:750;cursor:pointer;list-style:none}.cw-more summary::-webkit-details-marker{display:none}.cw-more summary:before{content:"＋";color:#5b50dc}.cw-more[open] summary:before{content:"−"}.cw-more summary span{color:#9296a5;font-size:12px;font-weight:500}.cw-more__body{border-top:1px solid #e4e5ed;padding:4px 16px 18px;background:#fff}.cw-auto-grid--compact{grid-template-columns:repeat(3,minmax(0,1fr))}.cw-form-section{margin-top:20px}.cw-form-section h4{margin:0 0 12px;color:#34394c}.cw-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.cw-form-grid textarea,.cw-note textarea{padding:12px 13px;resize:vertical}.cw-span-2{grid-column:span 2}.cw-number{display:flex;align-items:center;min-height:44px;border:1px solid #dfe3ef;border-radius:12px;background:#fff;overflow:hidden}.cw-number b{padding-left:13px;color:#7c8190}.cw-number input{width:100%;min-width:0;border:0}.cw-note{margin-top:18px}.cw-rate-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.cw-rate-strip>div{display:grid;grid-template-columns:1fr auto;gap:3px 14px;padding:15px 17px;border:1px solid #e2e3ee;border-radius:13px;background:#fafafd}.cw-rate-strip span{color:#626879;font-weight:750}.cw-rate-strip strong{color:#5146dc;font-size:22px}.cw-rate-strip small{grid-column:1 / -1;color:#979baa}.cw-actions{display:flex;justify-content:flex-end;margin-top:18px}.cw-autosave{display:flex;justify-content:flex-end;margin-top:15px;color:#858a99;font-size:12px}.cw-autosave.is-saving{color:#6558df}.cw-autosave.is-saved{color:#21845a;font-weight:750}.cw-autosave.is-error{color:#c04355;font-weight:750}.cw-autosave .link{margin-left:10px}.cw-edit-conflict{margin-top:12px;padding:12px 14px;border:1px solid #f0b7bf;border-radius:12px;background:#fff5f6;color:#8f3040;display:grid;gap:6px}.cw-edit-conflict>span{font-size:12px;color:#a34c59}.cw-edit-conflict>div{display:flex;gap:8px;flex-wrap:wrap}.cw-convert-action{display:grid;justify-items:end;gap:5px}.cw-convert-action small{color:#8a8f9f;font-size:11px}.cw-calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px;align-items:start}.cw-calendar-layout:not(:has(.cw-editor)){grid-template-columns:1fr}.cw-view-switch{display:flex;gap:4px;padding:4px;border-radius:11px;background:#f0f1f6}.cw-view-switch button{min-width:44px;border:0;border-radius:8px;padding:7px 10px;background:transparent;color:#717688;cursor:pointer}.cw-view-switch button.is-active{background:#fff;color:#4f43d7;box-shadow:0 2px 8px #2024371a}.cw-weekdays,.cw-calendar--month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.cw-weekdays span{padding:9px;color:#8a8e9e;font-size:12px;text-align:center}.cw-calendar{border-top:1px solid #e4e6ef;border-left:1px solid #e4e6ef}.cw-calendar--week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.cw-calendar--day{display:grid;grid-template-columns:1fr}.cw-day{min-height:128px;border-right:1px solid #e4e6ef;border-bottom:1px solid #e4e6ef;padding:7px;background:#fff;cursor:pointer}.cw-calendar--week .cw-day{min-height:420px}.cw-calendar--day .cw-day{min-height:480px}.cw-day.is-muted{background:#fafafd;color:#b2b5c0}.cw-day.is-today{box-shadow:inset 0 0 0 2px #6558e9}.cw-day__head{display:flex;justify-content:space-between;align-items:center}.cw-day__head>button{opacity:0;border:0;background:transparent;color:#5d51df;cursor:pointer}.cw-day:hover .cw-day__head>button{opacity:1}.cw-day__events{display:grid;gap:5px;margin-top:6px}.cw-appointment{display:grid;gap:1px;overflow:hidden;border:0;border-left:3px solid #8b83e8;border-radius:7px;padding:6px 7px;background:#f0efff;text-align:left;cursor:pointer}.cw-appointment strong,.cw-appointment span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-appointment strong{font-size:12px}.cw-appointment span{color:#797d8d;font-size:10px}.cw-appointment.is-arrived{border-color:#2aad72;background:#e8f8f0}.cw-appointment.is-no_show{border-color:#ee665c;background:#fff0ee}.cw-appointment.is-assessed{border-color:#4b8de8;background:#eaf3ff}.cw-appointment.is-enrolled{border-color:#f2a22a;background:#fff5df}.cw-calendar-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:13px;color:#74798a;font-size:12px}.cw-calendar-legend span{display:flex;align-items:center;gap:6px}.cw-calendar-legend i{width:9px;height:9px;border-radius:50%;background:#8b83e8}.cw-calendar-legend i.is-arrived{background:#2aad72}.cw-calendar-legend i.is-no_show{background:#ee665c}.cw-calendar-legend i.is-assessed{background:#4b8de8}.cw-calendar-legend i.is-enrolled{background:#f2a22a}.cw-editor{position:sticky;top:84px;padding:21px;display:grid;gap:15px}.cw-close{border:0;background:transparent;color:#777c8c;font-size:26px;cursor:pointer}.cw-plan-picks,.cw-status-actions{display:grid;gap:8px}.cw-plan-picks label{display:flex;gap:8px;align-items:center;border-radius:9px;padding:8px 10px;background:#f7f7fa}.cw-status-actions{grid-template-columns:repeat(2,1fr)}.cw-status-actions>span{grid-column:1 / -1}.cw-status-actions button{border:1px solid #dedfea;border-radius:9px;padding:9px;background:#fff;cursor:pointer}.cw-visitor-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start}.cw-visitor-list{position:sticky;top:84px;padding:18px}.cw-search{width:100%}.cw-visitor-scroll{display:grid;gap:7px;max-height:680px;overflow:auto;margin-top:12px}.cw-visitor-scroll>button{display:grid;grid-template-columns:1fr auto;gap:4px 8px;border:1px solid transparent;border-radius:12px;padding:11px;background:#f8f8fb;text-align:left;cursor:pointer}.cw-visitor-scroll>button.is-active{border-color:#8177eb;background:#f0efff}.cw-visitor-scroll>button>div{display:grid;gap:2px}.cw-visitor-scroll>button span,.cw-visitor-scroll>button small{color:#7d8292;font-size:11px}.cw-visitor-scroll>button small{grid-column:1 / -1}.cw-visitor-status{align-self:start;border-radius:999px;padding:4px 7px;background:#e9eaf0}.cw-visitor-status.is-enrolled{background:#e4f7ec;color:#19764b}.cw-visitor-status.is-scheduled{background:#eeeaff;color:#5648d7}.cw-visitor-status.is-lost{background:#ffebea;color:#b23c36}.cw-needs{grid-template-columns:repeat(3,1fr)}.cw-divider{height:1px;margin:26px 0;background:#e7e8ef}.cw-assessment-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:15px}.cw-assessment-groups fieldset{display:grid;gap:7px;border:1px solid #e2e4ee;border-radius:12px;padding:12px}.cw-assessment-groups legend{padding:0 6px;font-weight:750}.cw-assessment-groups label{display:flex;align-items:center;gap:7px;color:#5f6474}.cw-pdf-import{display:grid;gap:15px;border:1px solid #dedff0;border-radius:16px;padding:18px;background:linear-gradient(145deg,#fafaff,#fff 65%)}.cw-small-sensory-import{margin-top:18px}.cw-pdf-import__head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.cw-pdf-import__head h4,.cw-assessment-observation h4{margin:0 0 5px;font-size:16px}.cw-pdf-import__head p,.cw-assessment-observation p{margin:0;color:#7c8191;font-size:12px}.cw-pdf-upload{position:relative;flex:0 0 auto;overflow:hidden;border-radius:10px;padding:9px 13px;background:#584ce0;color:#fff;font-size:12px;font-weight:800;cursor:pointer}.cw-pdf-upload:focus-within{outline:3px solid rgba(88,76,224,.28);outline-offset:3px}.cw-pdf-upload:has(input:disabled){cursor:wait;opacity:.72}.cw-pdf-upload input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.cw-pdf-file{margin:0;border-radius:10px;padding:9px 11px;background:#f1f1fb;color:#696f81;font-size:12px}.cw-pdf-file strong{color:#41475a}.cw-pdf-status{border-radius:10px;padding:11px 13px;background:#f0efff;color:#574bd6;font-size:12px}.cw-pdf-status.is-error{background:#fff0ef;color:#b63d39}.cw-pdf-status.is-success{background:#e8f8ef;color:#19764b}.cw-pdf-preview{min-width:0;display:grid;gap:14px;margin:0;border:0;padding:0}.cw-pdf-preview-section{min-width:0;overflow:hidden;border:1px solid #e3e4ee;border-radius:13px;background:#fff}.cw-pdf-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e8e9f0;padding:12px 14px;background:#f8f8fc}.cw-pdf-section-title h5{margin:0;font-size:14px}.cw-pdf-section-title span{color:#858999;font-size:11px}.cw-pdf-person-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;padding:14px}.cw-pdf-person-grid label,.cw-pdf-domain-scores label{display:grid;gap:6px;min-width:0}.cw-pdf-person-grid span,.cw-pdf-domain-scores span{color:#6b7183;font-size:11px;font-weight:750}.cw-pdf-person-grid input,.cw-pdf-person-grid select,.cw-pdf-domain-scores input,.cw-pdf-table input{width:100%;min-width:0;min-height:40px;border:1px solid #dfe2ed;border-radius:9px;padding:7px 10px;background:#fff;color:#242938;font:inherit}.cw-pdf-person-grid input[readonly]{background:#f4f4f8;color:#656a7b}.cw-pdf-alert{display:grid;gap:8px;margin:0 14px 14px;border-radius:10px;padding:11px 12px;font-size:12px}.cw-pdf-alert.is-danger{border:1px solid #f2c6c3;background:#fff3f2;color:#a63834}.cw-pdf-alert label{display:flex;align-items:center;gap:7px;font-weight:750}.cw-pdf-domain-scores{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;border-bottom:1px solid #e8e9f0;padding:12px 14px}.cw-pdf-table-wrap{width:100%;overflow-x:auto}.cw-pdf-table{width:100%;min-width:640px;border-collapse:collapse;table-layout:fixed}.cw-pdf-table th,.cw-pdf-table td{border-bottom:1px solid #ececf2;padding:11px 12px;text-align:left;vertical-align:top}.cw-pdf-table tr:last-child th,.cw-pdf-table tr:last-child td{border-bottom:0}.cw-pdf-table thead th{background:#fff;color:#727789;font-size:11px}.cw-pdf-table thead th:first-child,.cw-pdf-table tbody th{position:sticky;left:0;z-index:1;width:220px;background:#fff}.cw-pdf-table thead th:first-child{z-index:2}.cw-pdf-table thead th:nth-child(2){width:200px}.cw-pdf-table tbody th{display:grid;gap:2px}.cw-pdf-table tbody th small{color:#878b9a;font-size:10px}.cw-pdf-table tbody th strong{color:#383d50;font-size:12px}.cw-pdf-table td{color:#696f80;font-size:12px;line-height:1.55;overflow-wrap:anywhere}.cw-pdf-table td:nth-child(2) small{display:block;margin-top:4px;color:#8b8f9d;font-size:10px}.cw-pdf-warnings{display:grid;gap:6px;margin:0;padding:13px 14px 13px 32px;background:#fffaf0;color:#8b6000;font-size:12px}.cw-pdf-clear{margin:0;padding:13px 14px;color:#248158;font-size:12px}.cw-pdf-confirm{display:flex;align-items:center;justify-content:space-between;gap:16px;border-radius:12px;padding:13px 14px;background:#f5f5fa}.cw-pdf-confirm p{margin:0;color:#757a8b;font-size:11px}.cw-pdf-confirm .btn{flex:0 0 auto}.cw-assessment-observation{display:grid;gap:14px;margin-top:18px;border:1px solid #dedff0;border-radius:16px;padding:18px;background:linear-gradient(145deg,#fafaff,#fff 65%)}.cw-assessment-observation .cw-title,.cw-assessment-observation .cw-note{margin:0}.cw-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:24px;background:#191c286b}.cw-modal{width:min(560px,100%);padding:24px}.cw-add-consultant-modal{display:grid;gap:18px}.cw-add-consultant-field{display:grid;gap:8px}.cw-add-consultant-field>span{color:#616779;font-size:12px;font-weight:780}.cw-add-consultant-field input{min-height:48px;border:1px solid #dfe3ef;border-radius:12px;padding:0 13px;color:#202437;font:inherit;outline:0}.cw-add-consultant-field input:focus{border-color:#8170d4;box-shadow:0 0 0 4px #705bc41f}.cw-duplicate-consultant{display:grid;gap:7px;border:1px solid #f0c7a8;border-radius:13px;padding:13px;background:#fff7ee;color:#7d4a27}.cw-duplicate-consultant span{font-size:12px;line-height:1.6}.cw-duplicate-consultant>div{display:flex;justify-content:flex-end;gap:8px}.cw-appointment-editor{width:min(920px,100%);max-height:calc(100vh - 48px);display:grid;grid-template-rows:auto minmax(0,1fr)}.cw-editor-scroll{min-height:0;overflow:auto;padding-right:4px}.cw-appointment-editor input,.cw-appointment-editor select,.cw-appointment-editor textarea{min-height:44px;border:1px solid #dfe3ef;border-radius:12px;background:#fff;padding:0 13px;color:#202437;font:inherit}.cw-appointment-editor textarea{padding:12px 13px;resize:vertical}.cw-visitor-mode{display:flex;gap:8px;padding:5px;border-radius:13px;background:#f1f2f7}.cw-visitor-mode button{flex:1;border:0;border-radius:9px;padding:10px;background:transparent;color:#737889;font:inherit;font-weight:750;cursor:pointer}.cw-visitor-mode button.is-active{background:#fff;color:#5146d4;box-shadow:0 2px 8px #2024371a}.cw-existing-visitor{display:grid;grid-template-columns:minmax(180px,.75fr) minmax(0,1.25fr);gap:14px;margin-top:18px}.cw-existing-visitor>label,.cw-new-visitor label,.cw-appointment-editor .cw-form-grid label{display:grid;gap:7px}.cw-existing-visitor span,.cw-new-visitor label>span,.cw-appointment-editor .cw-form-grid label>span{color:#6c7284;font-size:12px;font-weight:750}.cw-visitor-cards{display:grid;gap:7px;max-height:230px;overflow:auto}.cw-visitor-cards>button,.cw-duplicate-card{display:grid;gap:3px;border:1px solid #e0e2ec;border-radius:11px;padding:11px;background:#fff;text-align:left;cursor:pointer}.cw-visitor-cards>button.is-active{border-color:#6558e9;background:#f0efff}.cw-visitor-cards span,.cw-editor-summary span,.cw-duplicate-card span,.cw-duplicate-card small{color:#777c8c;font-size:12px}.cw-editor-summary{display:grid;gap:4px;border:1px solid #e2e3ee;border-radius:12px;padding:13px;background:#f8f8fb}.cw-appointment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cw-plan-picks>div{display:flex;flex-wrap:wrap;gap:8px}.cw-plan-picks label.is-selected{border:1px solid #8177eb;background:#efeeff;color:#4f43d7}.cw-field-errors,.cw-field-error{color:#b23c36;font-size:12px}.cw-field-errors{display:grid;gap:2px;margin-top:8px}.cw-field-errors p{margin:0}.cw-duplicate-backdrop{z-index:81}.cw-duplicate-dialog{max-height:calc(100vh - 48px);overflow:auto}.cw-duplicate-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;cursor:default}.cw-duplicate-card>div{display:grid;gap:3px;min-width:0}.cw-duplicate-actions{gap:10px}.cw-duplicate-actions .btn{margin-left:auto}.cw-candidates{display:grid;gap:8px;margin-bottom:14px}.cw-candidates button{display:flex;justify-content:space-between;gap:18px;border:1px solid #e0e2ec;border-radius:11px;padding:13px;background:#fff;cursor:pointer}.cw-candidates button:hover{border-color:#6558e9}.cw-candidates span{color:#777c8c}.cw-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.cw-kpi{display:grid;gap:5px;border:1px solid #e3e4ee;border-radius:16px;padding:18px;background:#fff}.cw-kpi span,.cw-kpi small{color:#777c8c;font-size:12px}.cw-kpi strong{color:#4f43d7;font-size:25px}.cw-stats{display:grid;gap:16px}.cw-stats-table th:first-child,.cw-stats-table td:first-child{position:sticky;left:0;z-index:2;background:#fff}.cw-stats-table th:first-child{background:#f7f8fb}.cw-stats-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px;padding:17px 19px}.cw-stats-filter-group,.cw-stats-consultant-filter,.cw-stats-custom-range label{display:grid;gap:7px}.cw-stats-filter-group>span,.cw-stats-consultant-filter>span,.cw-stats-custom-range label>span{color:#6c7284;font-size:12px;font-weight:750}.cw-stats-presets{display:flex;gap:5px;border-radius:12px;padding:4px;background:#f3f2fb}.cw-stats-presets button{min-height:36px;border:0;border-radius:9px;padding:0 14px;background:transparent;color:#696f80;font-weight:700;cursor:pointer}.cw-stats-presets button.is-active{background:#fff;color:#5145d4;box-shadow:0 4px 12px #4439a021}.cw-stats-custom-range{display:flex;align-items:flex-end;gap:8px}.cw-stats-custom-range input,.cw-stats-consultant-filter select{min-height:44px;border:1px solid #dfe3ef;border-radius:12px;padding:0 12px;background:#fff;color:#202437;font:inherit}.cw-stats-custom-range i{padding-bottom:13px;color:#8a8f9e;font-size:12px;font-style:normal}.cw-stats-consultant-filter{min-width:170px}.cw-stats-range-summary{display:flex;align-items:center;gap:7px;min-height:44px;margin-left:auto;border-radius:12px;padding:0 13px;background:#f4f2ff;color:#5b50cb;font-size:12px}.cw-stats-range-summary.is-error{background:#fff0f0;color:#b33a3a}@media (max-width: 1100px){.cw-hero{align-items:stretch;flex-direction:column}.cw-global-filters{width:100%}.cw-global-filters label{flex:1}.cw-stats-range-summary{width:100%;margin-left:0}.cw-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cw-auto-grid{grid-template-columns:repeat(4,1fr)}.cw-kpis{grid-template-columns:repeat(3,1fr)}.cw-report-metric-groups{grid-template-columns:1fr}.cw-automatic-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.cw-daily-overview{grid-template-columns:repeat(3,minmax(0,1fr))}.cw-focus-grid{grid-template-columns:1fr}.cw-targets{grid-template-columns:repeat(3,1fr)}.cw-service-target{grid-column:1 / -1}.cw-daily-overview>.cw-dashboard-card:nth-child(3n) .cw-dashboard-popover{right:0;left:auto}.cw-plan-sections{grid-template-columns:1fr}.cw-auto-plan{grid-template-columns:repeat(2,minmax(0,1fr))}.cw-calendar-layout{grid-template-columns:1fr}.cw-editor{position:static}.cw-visitor-layout{grid-template-columns:250px minmax(0,1fr)}}@media (max-width: 760px){.cw-entry-shell{min-height:auto;padding:14px 0 34px}.cw-consultant-gateway{grid-template-columns:1fr;min-height:0;border-radius:22px}.cw-gateway-welcome{min-height:280px;padding:28px 26px}.cw-gateway-copy h2{margin-top:34px;font-size:34px}.cw-gateway-copy p{font-size:13px;line-height:1.65}.cw-gateway-promise{display:none}.cw-gateway-form{padding:34px 26px 38px}.cw-gateway-avatar{width:58px;height:58px;margin-bottom:18px;border-radius:18px;font-size:22px}.cw-gateway-heading h3{font-size:25px}.cw-gateway-heading p{margin-bottom:22px}.cw-tabs{grid-template-columns:repeat(2,1fr)}.cw-global-filters,.cw-section-head{flex-wrap:wrap}.cw-global-filters label{min-width:150px}.cw-stats-filters,.cw-stats-custom-range{align-items:stretch;flex-direction:column}.cw-stats-presets{display:grid;grid-template-columns:repeat(4,1fr)}.cw-stats-custom-range i{display:none}.cw-stats-consultant-filter{min-width:0}.cw-task-entry{grid-template-columns:1fr}.cw-task,.cw-plan-section .cw-task{grid-template-columns:34px 1fr}.cw-task-feedback,.cw-plan-section .cw-task-feedback,.cw-task select,.cw-task .link{grid-column:2}.cw-form-grid,.cw-needs,.cw-rate-strip,.cw-kpis,.cw-outcome-needs>div,.cw-outcome-followup{grid-template-columns:1fr}.cw-span-2{grid-column:auto}.cw-auto-grid{grid-template-columns:repeat(2,1fr)}.cw-manual-metrics{grid-template-columns:1fr}.cw-automatic-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.cw-more summary span{display:none}.cw-plan-progress__head{align-items:flex-start;flex-direction:column}.cw-plan-progress__grid,.cw-daily-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.cw-targets{grid-template-columns:1fr}.cw-service-target{grid-column:auto}.cw-suggestion-list>div,.cw-attention-list>div{align-items:flex-start;flex-direction:column}.cw-daily-overview>.cw-dashboard-card:nth-child(odd) .cw-dashboard-popover{right:auto;left:0}.cw-daily-overview>.cw-dashboard-card:nth-child(2n) .cw-dashboard-popover{right:0;left:auto}.cw-auto-plan,.cw-referral-list{grid-template-columns:1fr}.cw-calendar--month,.cw-calendar--week,.cw-weekdays{min-width:720px}.cw-calendar-panel{overflow-x:auto}.cw-visitor-layout{grid-template-columns:1fr}.cw-visitor-list{position:static}.cw-assessment-groups{grid-template-columns:1fr}.cw-pdf-import__head,.cw-pdf-confirm{align-items:stretch;flex-direction:column}.cw-pdf-upload{align-self:stretch;text-align:center}.cw-pdf-person-grid,.cw-pdf-domain-scores{grid-template-columns:1fr}.cw-pdf-table-wrap{overflow:visible}.cw-pdf-table{min-width:0}.cw-pdf-table thead{display:none}.cw-pdf-table,.cw-pdf-table tbody,.cw-pdf-table tr,.cw-pdf-table th,.cw-pdf-table td{display:block;width:100%}.cw-pdf-table tr{border-bottom:1px solid #e7e8ef;padding:10px 12px}.cw-pdf-table tr:last-child{border-bottom:0}.cw-pdf-table th,.cw-pdf-table td{position:static!important;border:0!important;padding:4px 0;background:transparent!important}.cw-pdf-table th:before,.cw-pdf-table td:before{display:block;margin-bottom:3px;color:#999dab;font-size:10px;content:attr(data-label)}.cw-pdf-table tbody th{display:block}.cw-pdf-confirm .btn{width:100%}.cw-report-export-panel{grid-template-columns:1fr;align-items:stretch}.cw-report-export-panel .cw-report-preview-button{width:100%}}@media (max-width: 720px){.cw-modal-backdrop{padding:12px}.cw-appointment-editor{max-height:calc(100vh - 24px);padding:18px}.cw-existing-visitor,.cw-appointment-grid,.cw-duplicate-card{grid-template-columns:1fr}.cw-duplicate-card .btn{justify-self:start}}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}button{font-family:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:6px 11px;border-radius:8px;border:1px solid var(--border);background:#fff;color:var(--text);cursor:pointer;font-size:14px;transition:all .15s ease;white-space:nowrap}.btn:hover{border-color:var(--primary);color:var(--primary)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn--primary:hover{background:var(--primary-dark);color:#fff}.btn--ghost{background:transparent}.btn--danger{color:var(--danger);border-color:#fca5a5}.btn--danger:hover{background:#fef2f2;color:var(--danger)}.btn--danger-ghost{color:var(--danger);border-color:transparent;background:transparent}.btn--danger-ghost:hover{background:#fef2f2;border-color:#fecaca;color:var(--danger)}.btn--small{padding:3px 8px;font-size:13px}.btn--block{width:100%}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{font-weight:600;font-size:13px}.form-field input,.form-field select,.form-field textarea,.student-picker select{padding:7px 9px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:#fff;color:var(--text);outline:none;transition:border-color .15s ease}.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.student-picker select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51f}.form-field textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}.form-stack{display:grid;gap:10px}.duration-options{display:flex;gap:6px;flex-wrap:wrap}.student-picker{display:flex;gap:8px}.student-picker input,.student-picker select{flex:1;min-width:0}.repeat-control input{width:72px;flex:none}.repeat-unit{color:var(--text-muted);font-size:12px;flex:none}.recurring-toggle{display:flex;align-items:center;gap:8px;margin:2px 0 8px;font-size:13px;cursor:pointer}.student-entries{display:grid;gap:8px;margin:10px 0}.student-entry{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:#fafbfd}.student-entry input,.student-entry select{padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:#fff;color:var(--text);outline:none}.student-entry__name-input{flex:1;min-width:120px}.student-entry select{min-width:110px}.student-entry input.student-entry__repeat{width:76px;flex:none}.student-entry__repeat-label{color:var(--text-muted);font-size:12px;min-width:76px;text-align:center}.student-entry__repeat-wrap{display:inline-flex;align-items:center;gap:4px;flex:none}.error-banner{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;border-radius:8px;padding:10px 12px;font-size:13px;margin:8px 0}.muted{color:var(--text-muted)}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;white-space:nowrap}.badge--ok{background:#dcfce7;color:#166534}.badge--muted{background:#e5e7eb;color:#4b5563}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eef2ff,#f5f3ff);padding:20px}.login-card{width:380px;max-width:100%;background:#fff;border-radius:16px;padding:36px 32px;box-shadow:0 20px 50px #4f46e526;text-align:center}.login-logo{font-size:42px}.login-title{margin:12px 0 4px;font-size:22px}.login-subtitle{color:var(--text-muted);margin:0 0 24px}.login-form{display:grid;gap:14px;text-align:left}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topnav{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:16px;height:48px;padding:0 14px;background:#fff;border-bottom:1px solid var(--border)}.topnav-brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;white-space:nowrap}.topnav-links{display:flex;gap:4px;flex:1}.topnav-link{padding:7px 14px;border:none;background:transparent;border-radius:8px;cursor:pointer;font-size:14px;color:var(--text)}.topnav-link:hover{background:var(--bg)}.topnav-link--active{background:var(--primary);color:#fff}.topnav-logout{padding:7px 12px;border:none;background:transparent;cursor:pointer;font-size:14px;color:var(--text-muted);border-radius:8px;white-space:nowrap}.topnav-logout:hover{background:var(--bg);color:var(--text)}.main-content{flex:1;padding:10px 14px 20px}.schedule-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:8px}.week-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.week-days{display:flex;gap:6px;flex-wrap:wrap}.week-day{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:50px;padding:6px 4px;border:1px solid var(--border);border-radius:10px;background:#fff;cursor:pointer;transition:all .15s ease}.week-day:hover{border-color:var(--primary)}.week-day--active{background:var(--primary);border-color:var(--primary);color:#fff}.week-day__name{font-size:12px}.week-day__date{font-size:15px;font-weight:700}.week-day__today{font-size:10px;background:#ffffff4d;padding:0 5px;border-radius:999px}.toolbar-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.toolbar-label{display:flex;align-items:center;gap:8px;font-weight:600}.toolbar-label select{padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:#fff;font-size:14px;outline:none}.student-search{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end;min-width:0;max-width:100%}.zoom-controls{display:flex;align-items:center;gap:4px}.zoom-value{min-width:42px;text-align:center;font-size:12px;font-weight:600;color:var(--text-muted)}.student-search input{padding:7px 9px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:#fff;outline:none;min-width:160px}.student-search .student-filter-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:138px;height:38px;padding:0 36px 0 14px;border:1px solid transparent;border-radius:12px;color:#47445f;font-weight:600;background-color:#f3f2ff;background-image:linear-gradient(45deg,transparent 50%,#686580 50%),linear-gradient(135deg,#686580 50%,transparent 50%);background-position:calc(100% - 17px) 16px,calc(100% - 12px) 16px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;cursor:pointer;transition:background-color .16s ease,box-shadow .16s ease,color .16s ease}.student-search .student-filter-select--wide{min-width:156px}.student-search .student-filter-select:hover{background-color:#ebe9ff;color:var(--primary)}.student-search .student-filter-select:focus{outline:none;border-color:#4f46e533;box-shadow:0 0 0 3px #4f46e51a}.student-record-table th:first-child,.student-record-table td:first-child{position:sticky;left:0;min-width:118px;background:#fff;box-shadow:1px 0 0 var(--border),8px 0 12px -12px #11182780;z-index:2}.student-record-table thead th:first-child{background:#fafbfd;z-index:3}.student-balance-range{display:flex;align-items:center;gap:6px;height:38px;padding:0 10px 0 13px;border-radius:12px;background:#f3f2ff;color:#47445f;font-size:13px;font-weight:600}.student-balance-range input{width:62px;min-width:0;height:28px;padding:0 8px;border:0;border-radius:8px;background:#ffffffc7;text-align:center;font-size:13px;box-shadow:none}.student-balance-range input:focus{outline:none;box-shadow:0 0 0 2px #4f46e524}.student-balance-range i{color:#8b88a3;font-style:normal}.student-search input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51f}.schedule-legend{display:flex;align-items:center;gap:14px;margin-bottom:6px;font-size:13px;flex-wrap:wrap}.legend-item{display:inline-flex;align-items:center}.legend-item:before{content:"";display:inline-block;width:12px;height:12px;border-radius:4px;margin-right:5px;border:1px solid}.legend-item--pink:before{background:#f9c6d9;border-color:#e04f8c}.legend-item--yellow:before{background:#ffe07a;border-color:#eab308}.legend-item--blue:before{background:#b9d7ff;border-color:#4f86e8}.legend-item--green:before{background:#a9e8b2;border-color:#2f9e44}.legend-item--purple:before{background:#d8c6f7;border-color:#9d6fe8}.legend-item--future:before{background:#eeecff;border-color:#7568e8;border-style:dashed}.legend-hint{color:var(--text-muted);margin-left:auto}.conflict-banner{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;border-radius:10px;padding:10px 14px;margin-bottom:12px;display:flex;flex-direction:column;gap:3px;font-size:13px}.search-results{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;margin-bottom:12px}.search-results__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.search-results__table{width:100%;border-collapse:collapse}.search-results__table th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);font-size:13px;color:var(--text-muted)}.search-results__table td{padding:8px 10px;border-bottom:1px solid #f0f1f6;font-size:13px;vertical-align:top}.search-results__table tbody tr:last-child td{border-bottom:none}.search-results__name{font-weight:600}.search-results__count{color:var(--primary);font-weight:700;white-space:nowrap}.search-results__courses{color:var(--text-muted);max-width:640px}.filter-results__head{margin-bottom:10px}.filter-results__row{cursor:pointer}.filter-results__row:hover td{background:#fafbfd}.filter-results__remaining{color:var(--primary);font-weight:700;white-space:nowrap}.board-scroll{overflow:auto;border:1px solid var(--border);border-radius:var(--radius);background:#fff;max-height:calc(100vh - 150px)}.board{display:flex;min-width:max-content}.time-axis{position:sticky;left:0;z-index:2;background:#fff;border-right:1px solid var(--border)}.time-axis-body{position:relative}.axis-header{height:var(--head-h);display:flex;align-items:center;padding:0 10px;font-weight:600;border-bottom:1px solid var(--border);white-space:nowrap;background:#fafbfd}.axis-slot{height:var(--slot-h);display:flex;align-items:center;justify-content:flex-end;padding-right:10px;font-size:12px;color:var(--text-muted);border-bottom:1px solid #f0f1f6;background:#fff}.axis-slot--dynamic{position:absolute;left:0;right:0;display:flex;align-items:flex-start;justify-content:flex-end;padding-top:2px}.teacher-col{flex:1 1 150px;min-width:150px;border-left:1px solid var(--border)}.teacher-head{height:var(--head-h);display:flex;align-items:center;gap:6px;padding:0 10px;border-bottom:1px solid var(--border);background:#fafbfd}.teacher-name{font-weight:600}.teacher-position{font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-body{position:relative;background:#fff}.grid-line{position:absolute;left:0;right:0;height:0;border-top:1px solid #e6eaf0;pointer-events:none;z-index:0}.grid-line--half{border-top-color:#f0f2f6}.slot-cell{position:absolute;left:0;right:0;cursor:pointer;z-index:0}.slot-cell:hover{background:#4f46e50f}.course-card{position:absolute;left:4px;right:4px;z-index:1;border-radius:8px;border:1px solid transparent;padding:5px 6px;text-align:left;cursor:pointer;box-shadow:0 1px 3px #0f172a14;font-size:12px;line-height:1.45;display:flex;flex-direction:column;gap:2px;min-width:0}.course-card:hover{box-shadow:0 4px 12px #0f172a24;z-index:3}.course-card--pink{background-color:#f9c6d9;border-color:#e04f8c}.course-card--yellow{background-color:#ffe07a;border-color:#eab308}.course-card--blue{background-color:#b9d7ff;border-color:#4f86e8}.course-card--green{background-color:#a9e8b2;border-color:#2f9e44}.course-card--purple{background-color:#d8c6f7;border-color:#9d6fe8}.course-card--conflict{outline:2px solid var(--danger);outline-offset:-2px}.course-card--merged{opacity:.55;filter:grayscale(.6)}.course-card--compact{align-items:center;justify-content:center;text-align:center;gap:8px}.course-card__compact{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.course-card--merged:not(.course-card--compact) .course-card__merged-note{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:700}.course-card--merged:not(.course-card--compact) .course-card__add-btn{font-size:12px;padding:3px 12px;font-weight:600}.course-card__merged-note{font-weight:700;color:var(--text-muted);font-size:11px}.course-card__add-btn{margin-left:6px;padding:1px 7px;border:1px solid rgba(15,23,42,.2);border-radius:999px;background:#fff;color:var(--text);font-size:10px;cursor:pointer;vertical-align:middle}.course-card__add-btn:hover{border-color:var(--primary);color:var(--primary)}.course-card__add-student-btn{margin-right:4px;padding:2px 10px;border:none;border-radius:999px;background:#7cb342;color:#fff;font-size:12px;font-weight:600;cursor:pointer}.course-card__add-student-btn:hover{background:#689f38}.course-card__add-form{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:4px;padding:5px;border:1px dashed rgba(15,23,42,.2);border-radius:6px;background:#ffffff73}.course-card__add-form input{flex:1 1 90px;min-width:70px;padding:3px 6px;border:1px solid var(--border);border-radius:6px;font-size:12px}.course-card__add-form select{padding:3px 4px;border:1px solid var(--border);border-radius:6px;font-size:12px}.course-card__head{display:flex;justify-content:space-between;align-items:center;gap:4px}.course-card__head-right{display:inline-flex;align-items:center;gap:4px}.course-card__time{font-weight:700}.course-card__mode{font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px;background:#ffffffbf;border:1px solid rgba(15,23,42,.08)}.course-card__room{font-weight:700}.course-card__teacher{color:var(--text-muted);font-size:11px}.course-card__substitute{color:#b45309;font-weight:600;font-size:11px}.course-card__future-seats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px 6px;margin-top:2px;line-height:1.25}.course-card__future-seats--vip{grid-template-columns:1fr;justify-items:center}.course-card__future-student{display:flex;flex-direction:column;gap:1px;min-width:0;padding:2px 4px;border:1px dashed #7568e8;border-radius:4px;background:#eeecffeb;color:#4338a8}.course-card__future-seats--vip .course-card__future-student{width:100%;max-width:240px;padding:5px 10px}.student-status--future{color:#5145c4;background:#dedaff}.future-seat-card{position:absolute;left:4px;right:4px;z-index:1;display:flex;flex-direction:column;gap:2px;padding:7px 8px;border:1px dashed #7568e8;border-radius:8px;background:#eeecff;color:#4338a8;box-shadow:0 1px 3px #4f46e51f;font-size:11px;line-height:1.35}.future-seat-card small{color:#6964a4}.future-seat-warning{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid #a79ff5;border-radius:10px;background:#f2f0ff;color:#4338a8;font-size:13px}.future-seat-warning small{color:#6b6699}.course-card__students{margin:2px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px 6px;line-height:1.25}.course-card__students li{display:flex;flex-direction:column;gap:1px;min-width:0;border:1px solid rgba(15,23,42,.09);border-radius:4px;padding:2px 4px;background:#fff6}.course-card__students--vip{grid-template-columns:1fr;justify-items:center;align-items:center;align-content:center;flex:1}.course-card__students--vip li{justify-content:center;width:100%;max-width:240px;padding:5px 10px}.course-card__students--vip .course-card__student-name{font-size:15px}.course-card__students--vip .student-status,.course-card__students--vip .student-leave-toggle{font-size:13px}.course-card__students--vip .course-card__student-bottom{font-size:11px}.course-card__student-top{display:flex;align-items:center;justify-content:space-between;gap:4px;min-width:0}.course-card__student-name{font-weight:500;font-size:13px;white-space:nowrap;flex:0 1 auto;min-width:1.5em;overflow:visible}.course-card__student-top .student-status{flex:none}.course-card__student-name--leave{text-decoration:line-through;color:#a2a8b4}.course-card__student-bottom{display:flex;align-items:center;gap:6px;font-size:9px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.course-card__student-consultant{overflow:hidden;text-overflow:ellipsis}.course-card__alert{color:var(--danger);font-weight:700}.course-card__recurring{color:var(--text-muted);font-size:11px;font-weight:700}.course-card__empty{color:var(--text-muted);font-size:11px;font-style:italic}.student-status{font-size:12px;padding:0 5px;border-radius:999px;line-height:1.5;white-space:nowrap}.student-status--fixed{background:#e5e7eb;color:#374151}.student-status--trial{background:#fef3c7;color:#92400e}.student-status--leave{background:#fee2e2;color:#991b1b}.student-status--waiting{background:#ffedd5;color:#c2410c;font-weight:700}.student-status--temp{background:#e0e7ff;color:#3730a3}.student-status--makeup{background:#cffafe;color:#0e7490}.course-visitor-anchor{position:relative;display:inline-flex;flex:none}.course-visitor-badge{border:0;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:700;cursor:pointer;white-space:nowrap}.course-visitor-badge.is-visitor{background:#ede9fe;color:#6d28d9}.course-visitor-badge.is-converted{background:#dcfce7;color:#15803d}.course-visitor-badge.is-unlinked{background:#e5e7eb;color:#6b7280}.course-visitor-summary{position:absolute;z-index:140;left:0;bottom:calc(100% + 8px);width:270px;display:grid;gap:7px;padding:13px;border:1px solid #dedcf6;border-radius:13px;background:#fff;color:var(--text);box-shadow:0 16px 40px #1d1a4d33;white-space:normal;line-height:1.4}.course-visitor-summary>span,.course-visitor-summary>em{font-size:12px;font-style:normal}.course-visitor-summary__head{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--primary)}.course-visitor-summary__head button{border:0;background:transparent;color:var(--text-muted);cursor:pointer;font-size:18px}.student-status-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:none;cursor:pointer;outline:none}.student-status-select:hover{filter:brightness(.92)}.student-leave-toggle{display:inline-flex;align-items:center;font-size:11px;line-height:1.5;padding:0 5px;border-radius:999px;border:1px solid rgba(15,23,42,.12);min-width:36px;justify-content:center;background:#dcfce7;border-color:#86efac;color:#166534;font-weight:700;cursor:pointer;white-space:nowrap;flex:none}.student-leave-toggle:after{content:"出勤"}.student-leave-toggle:not(.student-leave-toggle--on):hover:after{content:"假"}.student-leave-toggle:not(.student-leave-toggle--on):hover{background:#fee2e2;border-color:#fca5a5;color:#b91c1c}.student-leave-toggle--on{background:#fee2e2;border-color:#fca5a5;color:#991b1b;font-weight:700}.student-leave-toggle--on:after{content:"请假"}.student-leave-toggle:hover{filter:brightness(.95)}.leave-check{display:inline-flex;align-items:center;gap:4px;font-size:12px;white-space:nowrap;cursor:pointer;flex:none}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:flex-start;justify-content:center;padding:48px 16px;z-index:50;overflow:auto}.modal{background:#fff;border-radius:14px;width:760px;max-width:100%;box-shadow:0 20px 50px #0003}.modal--small{width:460px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h3{margin:0}.modal-body{padding:20px}.modal-footer{display:flex;justify-content:space-between;align-items:center;margin-top:16px;gap:12px}.modal-footer__right{display:flex;gap:8px;margin-left:auto}.modal-footer__left{display:flex;gap:8px;align-items:center}.entity-manager__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.entity-manager__head h3{margin:0 0 4px}.entity-manager__head p{margin:0}.statistics-filter{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:10px}.statistics-filter .form-field span{font-weight:600;font-size:13px}.statistics-hint{margin:0 0 12px;font-size:12px}.attendance-summary-title{margin:18px 0 8px}.statistics-table th,.statistics-table td{white-space:nowrap;text-align:center}.statistics-table th:first-child,.statistics-table td:first-child{text-align:left;position:sticky;left:0;min-width:104px;background:#fff;box-shadow:1px 0 0 var(--border),8px 0 12px -12px #1118278c;z-index:2}.statistics-table thead th:first-child{background:#fafbfd;z-index:3}.statistics-table .statistics-summary td:first-child{background:#fafbfd}.statistics-name{font-weight:600}.statistics-total{color:var(--primary);font-weight:700}.statistics-summary td{font-weight:700;background:#fafbfd}.charts{margin-top:20px}.charts-title{margin:0 0 10px}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.chart-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:14px}.chart-card h5{margin:0 0 10px}.chart-bar-row{display:flex;align-items:center;gap:8px;margin-bottom:7px}.chart-bar-label{width:72px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right}.chart-bar-track{flex:1;height:14px;background:#f1f2f6;border-radius:7px;overflow:hidden;min-width:0}.chart-bar-fill{height:100%;border-radius:7px}.chart-bar-fill--primary{background:var(--primary)}.chart-bar-fill--hours{background:#f59e0b}.chart-bar-fill--campus{background:#0ea5e9}.chart-bar-fill--hours-share{background:#14b8a6}.chart-bar-value{width:52px;text-align:right;font-size:12px;font-weight:600}.chart-stack-track{flex:1;height:14px;border-radius:7px;overflow:hidden;display:flex;min-width:0}.chart-stack-vip{background:#8b5cf6;height:100%;display:flex;align-items:center;justify-content:center}.chart-stack-big{background:#10b981;height:100%;display:flex;align-items:center;justify-content:center}.chart-stack-text{color:#fff;font-size:10px;font-weight:600;white-space:nowrap}.chart-legend{display:flex;gap:12px;margin-bottom:8px;font-size:12px}.chart-legend-item:before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px}.chart-legend-item--vip:before{background:#8b5cf6}.chart-legend-item--big:before{background:#10b981}.donut-wrap{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.donut{width:150px;height:150px;border-radius:50%;position:relative;flex:none}.donut:after{content:"";position:absolute;top:30px;right:30px;bottom:30px;left:30px;background:#fff;border-radius:50%}.donut-label{position:absolute;transform:translate(-50%,-50%);color:#fff;font-size:10px;font-weight:600;white-space:nowrap;z-index:1;text-shadow:0 1px 2px rgba(0,0,0,.35)}.donut-legend{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:5px;font-size:12px}.donut-dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px}.donut-empty{color:var(--text-muted);font-size:12px;padding:20px 0}.reminder-row--done{background:#fffbeb}.reminder-badge{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;background:#f59e0b;color:#fff;font-size:11px;font-weight:600}.reminder-text{color:#b45309;font-weight:600}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--border);border-radius:var(--radius)}.data-table__draggable-row{cursor:grab}.data-table__draggable-row:active{cursor:grabbing;opacity:.65}.data-table{width:100%;border-collapse:collapse;min-width:640px}.data-table th{text-align:left;padding:12px 14px;background:#fafbfd;border-bottom:1px solid var(--border);font-size:13px;color:var(--text-muted);white-space:nowrap}.data-table td{padding:10px 14px;border-bottom:1px solid #f0f1f6;vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:#fafbfd}.row-actions{display:flex;gap:6px;flex-wrap:wrap}.empty-state{background:#fff;border:1px dashed var(--border);border-radius:var(--radius);padding:36px;text-align:center;color:var(--text-muted)}.center-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.center-box{padding:40px;text-align:center;color:var(--text-muted);background:#fff;border:1px solid var(--border);border-radius:var(--radius)}.setup-guide{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.setup-card{max-width:680px;background:#fff;border-radius:16px;padding:32px;box-shadow:0 20px 50px #0f172a1a}.code-block{background:#0f172a;color:#e2e8f0;padding:14px 16px;border-radius:8px;overflow:auto;font-size:13px;line-height:1.6}@media (max-width: 960px){.topnav{gap:12px;padding:0 14px}.topnav-link{padding:7px 10px}.form-grid{grid-template-columns:1fr}.board-scroll{max-height:calc(100vh - 170px)}}@media (max-width: 768px){.topnav{gap:6px;padding:0 8px;overflow-x:auto;scrollbar-width:none}.topnav-brand{display:none}.topnav-links{gap:2px;flex:1}.topnav-link{padding:6px 10px;white-space:nowrap}.main-content{padding:8px}.schedule-toolbar{gap:8px}.toolbar-right{width:100%;flex-direction:column;align-items:stretch}.toolbar-label{width:100%;justify-content:space-between}.toolbar-label select{flex:1;min-width:0}.student-search{width:100%}.student-search input{flex:1;min-width:0}.week-bar{justify-content:flex-start}.week-day{min-width:44px}.board-scroll{max-height:calc(100vh - 120px)}.modal-overlay{padding:0;align-items:flex-end}.modal{width:100%;max-width:100%;border-radius:16px 16px 0 0;max-height:94vh;overflow:auto}.form-grid{grid-template-columns:1fr}.statistics-filter{width:100%}.statistics-filter .form-field{flex:1 1 100%}.btn{min-height:34px}}.week-bar .btn{font-size:12px;padding:4px 8px;min-height:26px}.week-day{min-width:40px;padding:4px}.week-day__name{font-size:10px}.week-day__date{font-size:13px}.week-day__today{font-size:9px;padding:0 4px}.schedule-toolbar{margin-bottom:6px}.schedule-legend{font-size:12px;margin-bottom:4px}.toolbar-label{font-size:12px}.toolbar-label select,.student-search input{padding:5px 8px;font-size:13px}.zoom-controls .btn{font-size:12px;padding:3px 8px}.zoom-value{font-size:11px;min-width:34px}.board-scroll{max-height:calc(100vh - 110px)}.page-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:14px}.page-card h3{margin:0 0 10px;font-size:15px}.page-card__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;flex-wrap:wrap}.page-card__head>h2{flex:none}.page-card__head>.student-search{flex:1 1 680px}.page-card__head h3{margin:0}@media (max-width: 760px){.page-card__head{align-items:stretch}.page-card__head>h2{width:100%}.page-card__head>.student-search{flex-basis:100%;justify-content:flex-start}.student-search>input[type=text]{flex:1 1 180px;min-width:140px}.student-search .student-filter-select{flex:1 1 132px;min-width:120px}.student-search .student-filter-select--wide{min-width:140px}.student-balance-range{flex:1 1 210px;min-width:0}.student-balance-range input{flex:1 1 58px;width:58px;min-width:52px}}.muted-text{color:var(--text-muted);font-size:13px}.form-error{background:#fef2f2;border:1px solid #fecaca;color:var(--danger);border-radius:8px;padding:8px 12px;margin-bottom:12px;font-size:13px}.form-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#047857;border-radius:8px;padding:8px 12px;margin-bottom:12px;font-size:13px}.data-row--clickable{cursor:pointer}.data-row--clickable:hover{background:#f4f5fb}.cell-clip{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row--highlight{background:#eef2ff}.student-name-link{color:var(--primary);font-weight:600}.profile-shell{display:flex;flex-direction:column;gap:12px}.profile-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px}.profile-head__title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700}.profile-avatar{width:34px;height:34px;border-radius:50%;background:var(--primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700}.profile-tag{font-size:12px;padding:2px 8px;border-radius:999px;background:#d1fae5;color:#047857}.profile-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-left:auto}.profile-tab{border:1px solid transparent;background:transparent;padding:6px 10px;border-radius:8px;font-size:13px;cursor:pointer;color:var(--text-muted)}.profile-tab:hover{color:var(--primary);background:#eef2ff}.profile-tab--active{background:var(--primary);color:#fff}.profile-body{display:flex;flex-direction:column;gap:12px}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}@media (max-width: 900px){.profile-grid{grid-template-columns:1fr}}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}@media (max-width: 900px){.stat-grid{grid-template-columns:repeat(2,1fr)}}.stat-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.stat-card__label{font-size:12px;color:var(--text-muted)}.stat-card__value{font-size:22px;font-weight:700;margin:4px 0 2px}.stat-card__hint{font-size:11px;color:var(--text-muted)}.communication-dashboard{margin-bottom:24px}.communication-summary-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0 24px}.communication-analysis{margin-top:22px}.communication-analysis h4,.dashboard-section-title{margin:0 0 12px}@media (max-width: 760px){.communication-summary-cards{grid-template-columns:1fr}}.info-rows{display:flex;flex-direction:column}.info-row{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:5px 0;border-bottom:1px dashed var(--border);font-size:13px}.info-row:last-child{border-bottom:none}.info-row__label{color:var(--text-muted)}.info-row__value--multi{white-space:pre-wrap}.entry-edit{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.entry-edit input{padding:5px 8px;border:1px solid var(--border);border-radius:8px;font-size:13px}.dialog-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#1f293780;z-index:90;display:flex;align-items:center;justify-content:center;padding:20px}.dialog{background:#fff;border-radius:14px;width:min(680px,94vw);max-height:88vh;overflow:auto;padding:18px 20px;box-shadow:0 12px 40px #1f293740}.dialog__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.dialog__head h3{margin:0}.issue-list,.todo-list{list-style:none;margin:0;padding:0}.issue-list li,.todo-list li{padding:5px 0;font-size:13px}.todo--done{color:var(--text-muted)}.profile-actions{display:flex;gap:8px;margin-top:12px}.ability-hint{font-size:12px;color:var(--text-muted);margin:12px 0 8px}.ability-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:12px}@media (max-width: 900px){.ability-grid{grid-template-columns:1fr}}.ability-domain{border:1px solid var(--border);border-radius:8px;padding:10px}.ability-domain__name{font-weight:700;font-size:13px;margin-bottom:8px;color:var(--primary)}.ability-check-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:3px 0}.ability-desc{flex:1 1 100%;padding-left:22px;font-size:11px;color:#8a93a6;line-height:1.5}.ability-check{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer;flex:0 0 auto}.ability-check-note{flex:1;min-width:60px;padding:3px 6px;border:1px solid var(--border);border-radius:6px;font-size:12px}.ability-add{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0}.ability-add input{flex:1;min-width:180px;padding:6px 8px;border:1px solid var(--border);border-radius:8px;font-size:13px}.compare-picker{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.compare-picker select{padding:6px 8px;border:1px solid var(--border);border-radius:8px;font-size:13px;background:#fff}.compare-summary{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}.compare-chip{padding:4px 12px;border-radius:999px;font-size:13px;font-weight:600}.compare-chip--add{background:#fdeaea;color:#d64b4b}.compare-chip--keep{background:#eef0f4;color:#5b6b83}.compare-chip--improve{background:#e2f7ee;color:#0f9d6e}.compare-tag{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600}.compare-tag--新增{background:#fdeaea;color:#d64b4b}.compare-tag--保持{background:#eef0f4;color:#5b6b83}.compare-tag--改善{background:#e2f7ee;color:#0f9d6e}.review-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 900px){.review-cards{grid-template-columns:1fr}}.review-card{border:1px solid var(--border);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.review-card--done{background:#f0fdf4;border-color:#bbf7d0}.review-card--pending{background:#fffbeb;border-color:#fde68a}.review-card__title{font-weight:700;font-size:15px}.review-card__desc{font-size:13px;color:var(--text-muted)}.review-card__range{font-size:12px;color:#64748b;background:#f8fafc;border:1px solid #e6e9f0;border-radius:6px;padding:4px 8px}.review-goal-table{width:100%;border-collapse:collapse;border:1px solid #cbd2e0;background:#fff}.review-goal-table th,.review-goal-table td{border:1px solid #cbd2e0;padding:4px 6px;vertical-align:middle;font-size:13px}.review-goal-table th{background:#eef2fa;color:#33415c;font-weight:700;text-align:center}.review-goal-table .review-goal-text{line-height:1.6}.review-goal-table .review-goal-status-col{width:150px}.review-goal-table select,.review-goal-table input[type=text]{width:100%;border:1px solid #d9dfeb;border-radius:6px;background:#fbfcff;padding:5px 8px;font-size:13px;box-sizing:border-box}.review-goal-table select:focus,.review-goal-table input[type=text]:focus{border-color:#0f9d6e;background:#fff;outline:none}.review-goal-table .review-plan-note{width:100%;min-height:0;border:1px solid #d9dfeb;border-radius:6px;background:#fbfcff;padding:2px 6px;font-size:13px;box-sizing:border-box;resize:none;overflow:hidden;line-height:1.3}.review-goal-row--done td{background:#d1fae5}.review-goal-row--partial td{background:#fef3c7}.review-goal-row--unfinished td{background:#fee2e2}.review-plan-table td{vertical-align:top}.review-plan-table .review-plan-th{text-align:center;vertical-align:top;background:#eef2fa;color:#33415c;font-weight:700;white-space:normal;word-break:break-word}.review-plan-box{border:1px solid #d9dfeb;border-radius:6px;background:#fbfcff;padding:2px 4px;margin-top:3px;text-align:left;font-weight:400}.review-plan-box:empty{display:none}.review-plan-box--done{background:#d1fae5;border-color:#6ee7b7}.review-plan-box--partial{background:#fef3c7;border-color:#fcd34d}.review-plan-box--unfinished{background:#fee2e2;border-color:#fca5a5}.review-plan-box--na{background:transparent;border-color:#d9dfeb}.review-plan-cell{min-width:120px}.review-plan-content{white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.7;color:#3a4556}.review-plan-item{border-bottom:1px dashed #dfe4ee;padding:1px 0}.review-plan-item--inline{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;border-bottom:0}.review-plan-item--inline .review-plan-item__text{flex:1 1 0;min-width:55%;margin-bottom:0;line-height:1.45}.review-plan-item--inline .review-plan-item__controls{flex:1 1 auto;min-width:0;max-width:100%}.review-plan-overall{background:#f3f7ff;border:1px solid #d7e2f5;border-radius:6px;padding:4px 6px;margin-bottom:6px}.review-plan-overall__label{font-size:12px;font-weight:700;color:#33415c;margin-bottom:4px}.review-plan-item:last-child{border-bottom:0}.review-plan-item__text{font-size:12px;color:#3a4556;line-height:1.45;margin-bottom:3px;word-break:break-word}.review-plan-item__controls{display:flex;gap:6px;max-width:100%}.review-plan-item__controls select,.review-plan-item__controls input[type=text]{border:1px solid #d9dfeb;border-radius:6px;background:#fbfcff;padding:2px 5px;font-size:12px;box-sizing:border-box}.review-plan-item__controls select{flex:0 0 auto;width:96px}.review-plan-item__controls input[type=text]{flex:1 1 auto;min-width:0}.review-plan-item__controls .review-plan-note{flex:1 1 auto;min-width:0;min-height:0;border:1px solid #d9dfeb;border-radius:6px;background:#fbfcff;padding:1px 4px;font-size:12px;box-sizing:border-box;resize:none;overflow:hidden;line-height:1.25;word-break:break-word}.review-plan-item__controls select:focus,.review-plan-item__controls input[type=text]:focus{border-color:#0f9d6e;background:#fff;outline:none}.review-training-evidence{padding:14px;border:1px solid #dcdbf4;border-radius:12px;background:#f8f7ff}.review-training-evidence__head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px}.review-training-evidence__head p{margin:4px 0 0;color:var(--text-muted);font-size:13px}.review-training-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.review-training-summary span{padding:6px 9px;border-radius:8px;background:#fff;color:#56536f;font-size:13px}.review-training-summary b{color:var(--primary)}.review-training-records{display:grid;gap:7px;max-height:260px;overflow:auto}.review-training-records label{display:grid;grid-template-columns:auto minmax(180px,1fr) minmax(140px,.7fr);align-items:start;gap:9px;padding:9px 10px;border:1px solid transparent;border-radius:9px;background:#fff;cursor:pointer}.review-training-records label.is-selected{border-color:#c9c6f7}.review-training-records label span{display:grid;gap:3px}.review-training-records label small{color:var(--text-muted)}@media (max-width: 720px){.review-training-evidence__head{align-items:flex-start;flex-direction:column}.review-training-records label{grid-template-columns:auto 1fr}.review-training-records label small{grid-column:2}}.goal-rows{display:flex;flex-direction:column;gap:6px}.goal-row{display:grid;grid-template-columns:1fr 130px 1fr auto;gap:6px;align-items:center}.goal-row--fixed{grid-template-columns:1fr 130px 1fr 1fr}.goal-row--fixed input[readonly]{background:#f4f5fb;color:#374151}.goal-row input,.goal-row select{padding:6px 8px;border:1px solid var(--border);border-radius:8px;font-size:13px}@media (max-width: 900px){.goal-row{grid-template-columns:1fr}}.attend-chip{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px}.attend-chip--fixed,.attend-chip--attended{background:#d1fae5;color:#047857}.attend-chip--trial{background:#e0e7ff;color:#4338ca}.attend-chip--temp{background:#fef3c7;color:#b45309}.attend-chip--makeup{background:#ffe4e6;color:#be123c}.attend-chip--leave{background:#e5e7eb;color:#4b5563}.course-card__student-name--link{cursor:pointer;border-bottom:1px dashed currentColor}.course-card__student-name--link:hover{color:var(--primary);border-bottom-style:solid}.student-core-hover{position:relative;display:inline-flex;min-width:0}.student-core-popover{position:absolute;left:0;bottom:calc(100% + 8px);width:280px;padding:12px 14px;border:1px solid rgba(79,70,229,.18);border-radius:12px;background:#fffffffa;color:var(--text);box-shadow:0 14px 36px #0f172a2e;z-index:100;display:grid;gap:7px;white-space:normal;line-height:1.45;pointer-events:auto}.student-core-popover strong{color:var(--primary);font-size:13px}.student-core-popover>span{font-size:12px}.student-core-popover .student-core-balance{padding:6px 8px;border-radius:8px;background:#f3f2ff;color:#56536f}.student-core-balance b{color:var(--primary);font-size:14px}.training-plan-filter{display:flex;align-items:center;gap:8px;align-self:end;min-height:38px;font-weight:600}.training-stage-goal{margin-top:14px;padding:13px 15px;border:1px solid #dedcf6;border-radius:12px;background:linear-gradient(135deg,#f8f7ff,#fcfcff)}.training-stage-goal__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.training-stage-goal__head span{padding:3px 8px;border-radius:999px;background:#ebe9ff;color:var(--primary);font-size:12px;font-weight:700}.training-stage-goal__content{color:#45435d;line-height:1.7;white-space:pre-wrap}.training-project-suggestions{margin-top:14px;padding:12px 14px;border-radius:12px;background:#f7f7ff}.training-project-suggestions__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.training-project-suggestions__head span{color:var(--text-muted);font-size:13px}.training-project-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.training-project-column{display:grid;align-content:start;gap:8px;min-width:0;padding:11px;border:1px solid #e2e1f6;border-radius:10px;background:#fff}.training-project-column>strong{min-height:40px;color:#373551;font-size:14px;line-height:1.4}.training-project-column select{width:100%;min-width:0}.training-items{display:grid;gap:9px;margin:16px 0 10px}.training-item{display:grid;grid-template-columns:32px minmax(160px,1.4fr) minmax(90px,.7fr) minmax(120px,.9fr) minmax(110px,.8fr) minmax(150px,1fr) auto;gap:8px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:12px;background:#fafbfd}.training-item input,.training-item select{min-width:0}.training-item__number{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#ebe9ff;color:var(--primary);font-weight:700}.training-summary{margin-top:16px}.training-history{display:grid;gap:10px}.training-history__item{display:grid;gap:5px;padding:12px 14px;border:1px solid var(--border);border-radius:10px}.training-history__item small{color:var(--text-muted)}@media (max-width: 900px){.training-item{grid-template-columns:32px 1fr 1fr}.training-project-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.training-project-columns{grid-template-columns:1fr}}.student-core-popover em{color:var(--text-muted);font-size:12px;font-style:normal}.report-gen-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media (max-width: 900px){.report-gen-grid{grid-template-columns:1fr}}.report-gen-card{border:1px solid var(--border);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:8px;background:linear-gradient(180deg,#fbfcff,#fff)}.report-gen-title{font-weight:700;font-size:15px;color:var(--primary)}.report-gen-desc{font-size:12px;color:var(--text-muted)}.report-gen-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.report-stage-picker{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted)}.report-stage-picker select{padding:6px 8px;border:1px solid var(--border);border-radius:8px;font-size:13px;background:#fff}.report-history{display:flex;flex-direction:column;gap:8px}.report-history__item{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:10px;padding:10px 14px;background:#fbfcff}.report-history__title{font-weight:700;font-size:14px}.report-history__meta{font-size:12px;color:var(--text-muted)}.report-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#1f29378c;z-index:100;display:flex;flex-direction:column}.report-modal__bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;background:#fff;border-bottom:1px solid var(--border)}.report-modal__title{font-weight:700}.report-modal__scroll{flex:1;overflow:auto;padding:24px;background:#e9ebf2}.report-pages{display:flex;flex-direction:column;align-items:center;gap:18px}.report-page{width:794px;min-height:1123px;background:#fff;border-radius:4px;box-shadow:0 4px 18px #1f293729;padding:56px 58px;box-sizing:border-box;font-size:14px;color:#374151;line-height:1.7;position:relative}.report-page--content{min-height:auto;padding:38px 48px}@media (max-width: 860px){.report-page{width:100%;min-height:auto}}.report-cover{background:linear-gradient(160deg,#eef3ff,#fdf6ec 58%,#f4fbff);display:flex;align-items:center;justify-content:center;overflow:hidden}.report-cover__decor{position:absolute;border-radius:50%;opacity:.55}.report-cover__decor--1{width:320px;height:320px;background:#dfe9ff;top:-90px;right:-90px}.report-cover__decor--2{width:220px;height:220px;background:#fdeecf;bottom:-70px;left:-70px}.report-cover__inner{position:relative;text-align:center;max-width:520px}.report-cover__inst{font-size:15px;color:#4f6df5;font-weight:600;margin-bottom:26px}.report-cover__logo{font-size:52px;margin-bottom:12px}.report-cover__title{font-size:34px;color:#1f2b57;margin:0 0 14px;letter-spacing:2px}.report-cover__child{font-size:19px;color:#374151;margin-bottom:22px}.report-cover__meta{font-size:13px;color:#6b7280;margin-bottom:70px}.report-cover__foot{font-size:12px;color:#9aa3b5}.report-section-title{display:flex;align-items:center;gap:8px;margin:10px 0 8px;border-bottom:2px solid #4f6df5;padding-bottom:5px}.report-section-title h2{margin:0;font-size:15px;color:#4f6df5}.report-section-icon{font-size:14px}.report-paragraph{margin:0 0 10px;white-space:pre-wrap}.report-paragraph--compact{margin:0 0 8px;font-size:13px}.report-paragraph--empty{color:#b0b7c4;font-style:italic}.report-info-list{margin-bottom:20px}.report-info-row{display:grid;grid-template-columns:120px 1fr;gap:10px;padding:7px 0;border-bottom:1px dashed #e2e5ee;font-size:14px}.report-info-label{color:#8a93a6}.report-info-value{font-weight:600}.report-ability-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:10px}.report-ability-card{border:1px solid #e2e5ee;border-radius:8px;padding:7px 10px;background:#fbfcff}.report-ability-domain{font-weight:700;color:#4f6df5;font-size:13px;margin-bottom:4px}.report-ability-items{font-size:13px;color:#374151}.report-focus-list{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}.report-focus-item{display:flex;align-items:center;gap:8px;background:#fff8ec;border:1px solid #fde8b3;border-radius:8px;padding:5px 10px;font-size:13px}.report-focus-dot{width:8px;height:8px;border-radius:50%;background:#f59e0b;flex:none}.report-focus-domain{margin-left:auto;font-size:12px;color:#b7791f}.report-goal-list{margin:0 0 10px;padding-left:22px;font-size:13px}.report-goal-list li{margin-bottom:6px}.report-table{width:100%;border-collapse:collapse;margin-bottom:10px}.report-table th,.report-table td{border:1px solid #dfe3ec;padding:6px 8px;text-align:left;font-size:12px}.report-table th{background:#f6f8fd;color:#4f6df5}.report-status{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600}.report-status--done{background:#e2f7ee;color:#0f9d6e}.report-status--partial{background:#fdf0d5;color:#b7791f}.report-status--todo{background:#fdeaea;color:#d64b4b}.report-status--skip{background:#eef0f4;color:#8a93a6}.report-footer{position:absolute;bottom:28px;left:0;right:0;text-align:center;font-size:11px;color:#a5adbd;border-top:1px solid #eef0f4;padding-top:10px}.report-footer--inline{margin-top:16px;text-align:center;font-size:11px;color:#a5adbd;border-top:1px solid #eef0f4;padding-top:8px}.report-web{max-width:1120px;margin:0 auto;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 8px 40px #1f2d5a1f}.report-web .hero{background:linear-gradient(135deg,#4f6df5,#7b8cff 48%,#9fb4ff);color:#fff;padding:38px 40px 30px;text-align:center}.report-web .hero__inst{font-size:14px;letter-spacing:3px;opacity:.92;margin-bottom:10px}.report-web .hero__logo{font-size:42px;margin-bottom:6px}.report-web .hero h1{font-size:28px;letter-spacing:2px;margin:0 0 12px}.report-web .hero__child{display:inline-flex;align-items:center;gap:10px;background:#ffffff2e;padding:8px 18px;border-radius:999px;font-size:17px;margin-bottom:14px}.report-web .avatar{width:34px;height:34px;border-radius:50%;background:#fff;color:#4f6df5;display:inline-flex;align-items:center;justify-content:center;font-weight:800}.report-web .hero__meta{font-size:13px;opacity:.92}.report-web .hero__stats{display:flex;gap:12px;justify-content:center;margin-top:22px;flex-wrap:wrap}.report-web .stat{background:#fff3;border-radius:14px;padding:10px 18px;min-width:150px}.report-web .stat__label{display:block;font-size:12px;opacity:.9}.report-web .stat__value{display:block;font-size:20px;font-weight:800}.report-web .stat__value--green{color:#d8ffe9}.report-web main{padding:26px 40px 14px}.report-web .sec{margin-bottom:22px}.report-web .sec h3{display:flex;align-items:center;gap:8px;font-size:16px;color:#35406b;margin:0 0 10px;padding-bottom:8px;border-bottom:2px solid #e8ecf8}.report-web .sec-icon{font-size:17px}.report-web .sec p{font-size:14px;white-space:pre-wrap;margin:0}.report-web .muted{color:#9aa4bd;font-style:italic}.report-web .grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.report-web .card{border:1px solid #e6eaf6;border-radius:14px;padding:12px 14px;background:#fafbff}.report-web .soft{background:linear-gradient(180deg,#f6f8ff,#fff)}.report-web .domain{font-weight:800;color:#4f6df5;font-size:14px;margin-bottom:4px}.report-web .items{font-size:13px;color:#44506b}.report-web .chips{display:flex;flex-wrap:wrap;gap:8px}.report-web .chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-size:13px;font-weight:600}.report-web .chip em{font-style:normal;font-size:11px;opacity:.75}.report-web .chip-focus{background:#fff4e0;color:#a05c00;border:1px solid #ffe1a8}.report-web .chip-done{background:#e2f7ee;color:#0f9d6e}.report-web .chip-partial{background:#fdf0d5;color:#b7791f}.report-web .chip-todo{background:#fdeaea;color:#d64b4b}.report-web .chip-skip{background:#eef0f4;color:#8a93a6}.report-web .goals{padding-left:22px;margin:0}.report-web .goals li{margin-bottom:6px;font-size:14px}.report-web .progress-overall{display:flex;align-items:center;gap:12px;margin-bottom:12px}.report-web .progress-overall__label{font-size:13px;color:#6b7a99;white-space:nowrap}.report-web .progress-bar{flex:1;height:10px;background:#eef0f6;border-radius:999px;overflow:hidden}.report-web .progress-bar__fill{height:100%;background:linear-gradient(90deg,#4f6df5,#7b8cff);border-radius:999px}.report-web .progress-overall__value{font-size:16px;font-weight:800;color:#4f6df5;min-width:48px;text-align:right}.report-web .table{width:100%;border-collapse:collapse}.report-web .table th,.report-web .table td{border:1px solid #e6eaf6;padding:9px 12px;font-size:13px;text-align:left}.report-web .table th{background:#f6f8ff;color:#4f6df5}.report-web .col-status{width:130px}.report-web .rg-row-done td{background:#d1fae5}.report-web .rg-row-partial td{background:#fef3c7}.report-web .rg-row-unfinished td{background:#fee2e2}.report-web .plan-rpt-table{width:100%;border-collapse:collapse}.report-web .plan-rpt-table th,.report-web .plan-rpt-table td{border:1px solid #dfe5f2;padding:5px 7px;font-size:12px;vertical-align:top;text-align:left}.report-web .plan-rpt-table th{background:#eef2fa;color:#33415c;font-weight:700;text-align:center}.report-web .plan-rpt-label{width:70px;text-align:center!important;vertical-align:middle!important}.report-web .plan-rpt-char{display:block;line-height:1.3}.report-web .plan-rpt-cell{white-space:pre-wrap;word-break:break-word;min-width:100px}.report-web .plan-rpt-box{margin-top:4px;border:1px solid #d9dfeb;border-radius:6px;background:#fbfcff;padding:4px 6px;font-weight:400;text-align:left;white-space:pre-wrap;word-break:break-word}.report-web .rpt-block{margin-bottom:14px}.report-web .rpt-block__label{font-weight:800;color:#4f6df5;font-size:14px;margin-bottom:4px}.report-web .rpt-block__content{white-space:pre-wrap;word-break:break-word;font-size:14px}.report-web .foot{text-align:center;color:#a5adbd;font-size:12px;padding:18px 0 30px}@media (max-width: 640px){.report-web .grid2{grid-template-columns:1fr}.report-web main{padding:22px 18px}.report-web .hero{padding:30px 18px}}.report-child-line{font-size:14px;font-weight:700;color:#1f2b57;padding:10px 14px;background:linear-gradient(90deg,#eef3ff,#fdf6ec);border-radius:8px;margin-bottom:10px}.report-stat-row{display:flex;gap:8px;margin-bottom:8px}.report-stat{flex:1;display:flex;align-items:baseline;gap:8px;background:#fbfcff;border:1px solid #e2e5ee;border-radius:8px;padding:7px 12px}.report-stat__label{font-size:12px;color:#6b7280}.report-stat__value{font-size:16px;font-weight:700;color:#0f9d6e}.plan-template-table{width:100%;border-collapse:collapse;table-layout:fixed;border:1px solid #cbd2e0;background:#fff}.plan-template-table th,.plan-template-table td{border:1px solid #cbd2e0;padding:4px 6px;vertical-align:middle;font-size:13px}.plan-template-table th{background:#eef2fa;color:#33415c;font-weight:700;text-align:center}.plan-template-table .plan-template-ability{background:#f5f7fc;font-weight:700;text-align:center;vertical-align:middle;width:88px}.plan-template-table .plan-template-ability__char{display:block;line-height:1.35}.plan-template-table textarea{width:100%;min-height:52px;border:1px solid #d9dfeb;border-radius:6px;outline:none;resize:vertical;background:#fbfcff;font-size:13px;line-height:1.6;padding:4px 6px;box-sizing:border-box}.plan-template-table textarea:hover{border-color:#aebbd4}.plan-template-table textarea:focus{border-color:#0f9d6e;background:#fff}.plan-template-table .plan-template-cell-input{resize:none;overflow:hidden}.plan-template-table .plan-template-title-content{margin-top:3px;min-height:44px}.plan-template-table .plan-template-header-input{width:100%;min-width:0;border:1px solid transparent;border-radius:5px;background:transparent;font-size:13px;font-weight:700;color:#33415c;text-align:center;padding:4px 2px;box-sizing:border-box;resize:none;overflow:hidden;white-space:pre-wrap;word-break:break-word;line-height:1.5}.plan-template-table .plan-template-header-input:hover{border-color:#c3cde0;background:#fff}.plan-template-table .plan-template-header-input:focus{border-color:#0f9d6e;background:#fff;outline:none}.plan-template-readonly{white-space:pre-wrap;background:#f8fafc;border:1px solid #e2e5ee;border-radius:8px;padding:10px 12px;min-height:48px;font-size:13px;line-height:1.7;color:#3a4556}.core-issues-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media (max-width: 900px){.core-issues-picker{grid-template-columns:1fr}}.stage-goal-rows{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.stage-goal-row{display:grid;grid-template-columns:96px 1fr auto;gap:8px;align-items:start}.stage-goal-label{font-weight:700;color:#33415c;padding-top:6px;font-size:13px;white-space:nowrap}.long-term-plan-list{display:flex;flex-direction:column;gap:14px}.long-term-plan-card{border:1px solid var(--border);border-radius:12px;padding:14px;background:#fff}.consultant-workbench{display:flex;flex-direction:column;gap:18px}.consultant-workbench__hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;background:linear-gradient(135deg,#fff 45%,#f1efff)}.consultant-workbench__hero h2{margin:4px 0 6px;font-size:30px}.consultant-workbench__hero p,.section-heading p{margin:0;color:#687083}.consultant-workbench__eyebrow{color:#5848e8;font-weight:800;font-size:13px;letter-spacing:.08em}.consultant-workbench__filters{display:flex;gap:10px}.consultant-workbench__filters input,.consultant-workbench__filters select,.consultant-form-grid input,.consultant-form-grid select,.daily-metric-form input,.daily-metric-form select,.assessment-meta input{min-height:42px;border:1px solid #e0e3ed;border-radius:12px;background:#fff;padding:0 13px;color:#242938;box-sizing:border-box}.consultant-workbench__tabs{display:flex;gap:6px;padding:5px;width:fit-content;border-radius:14px;background:#e9e9f3}.consultant-workbench__tabs button{border:0;background:transparent;padding:10px 20px;border-radius:10px;color:#666d7f;font-weight:700;cursor:pointer}.consultant-workbench__tabs button.is-active{background:#fff;color:#5145df;box-shadow:0 2px 10px #3531641a}.consultant-board-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.consultant-quick-entry{grid-column:1 / -1}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.section-heading h3{margin:0 0 4px}.section-heading>span{color:#6d7486;font-weight:700}.consultant-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}.consultant-form-grid label,.daily-metric-form label,.assessment-meta label{display:flex;flex-direction:column;gap:6px;color:#596174;font-size:13px;font-weight:700}.visit-column{min-height:250px}.visit-card{padding:13px;border:1px solid #e4e6ef;border-radius:13px;margin-top:10px;background:#fbfbfe}.visit-card__head,.visit-card__meta,.visit-card__actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.visit-card__meta{margin-top:8px;color:#747b8c;font-size:13px}.visit-card__actions{justify-content:flex-start;margin-top:11px}.visit-card__actions button{border:0;border-radius:8px;padding:6px 10px;background:#ecebfa;color:#4d46ba;cursor:pointer}.lead-status{padding:4px 8px;border-radius:999px;background:#eeeef4;color:#62697a;font-size:12px;font-weight:800}.lead-status--visited,.lead-status--trial,.lead-status--enrolled{color:#087a50;background:#dcf7ec}.lead-status--no_show,.lead-status--lost{color:#b43b3b;background:#ffe7e7}.consultant-empty{padding:32px;text-align:center;color:#858b99}.daily-metric-form{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr)) auto;gap:12px;align-items:end;margin-bottom:22px}.table-scroll{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:13px 15px;border-bottom:1px solid #e8eaf0;text-align:left;white-space:nowrap}.data-table th{color:#697185;font-size:13px;background:#f7f8fb}.trial-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;align-items:start}.trial-list{display:flex;flex-direction:column;gap:7px}.trial-list button{display:flex;flex-direction:column;gap:4px;text-align:left;border:1px solid transparent;border-radius:11px;padding:11px 12px;background:#f6f6fa;cursor:pointer}.trial-list button span{color:#747b8b;font-size:12px}.trial-list button.is-active{border-color:#aaa3ff;background:#efedff;color:#4d43d4}.assessment-meta{display:grid;grid-template-columns:180px 1fr;gap:12px;margin-bottom:16px}.trial-assessment-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}.trial-assessment-groups fieldset{border:1px solid #e1e3ed;border-radius:12px;padding:12px}.trial-assessment-groups legend{padding:0 6px;font-weight:800;color:#3f4556}.trial-assessment-groups fieldset label{display:flex;align-items:flex-start;gap:8px;padding:6px 2px;color:#4f5667}.consultant-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.consultant-kpi{min-height:112px;border-radius:16px;padding:18px;background:linear-gradient(145deg,#fff,#f2f1ff);border:1px solid #e5e3ff;display:flex;flex-direction:column;gap:5px}.consultant-kpi>span{color:#6c7385;font-size:13px}.consultant-kpi strong{font-size:28px;color:#4439cf}.consultant-kpi small{color:#788092}@media (max-width: 1100px){.consultant-form-grid{grid-template-columns:repeat(2,1fr)}.daily-metric-form,.consultant-kpis{grid-template-columns:repeat(3,1fr)}}@media (max-width: 760px){.consultant-workbench__hero,.consultant-workbench__filters{align-items:stretch;flex-direction:column}.consultant-workbench__tabs{width:100%;overflow-x:auto}.consultant-workbench__tabs button{white-space:nowrap}.consultant-board-grid,.trial-layout,.consultant-form-grid,.assessment-meta,.trial-assessment-groups,.daily-metric-form{grid-template-columns:1fr}.consultant-kpis{grid-template-columns:repeat(2,1fr)}}
