
:root{color-scheme:light;--ink:#17304c;--muted:#738398;--blue:#316bea;--blue-dark:#2256c5;--sky:#e9f2ff;--border:#e4ebf3;--bg:#f4f7fc;--white:#fff;--green:#1c8b66;--red:#b73b50;--shadow:0 8px 32px rgba(41,70,110,.04);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:16px;line-height:1.6}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.58;cursor:wait}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #84afff;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:29px;line-height:1.4;letter-spacing:-.6px;margin-bottom:7px}h2{font-size:17px;line-height:1.5;margin-bottom:4px}h3{font-size:15px;margin-bottom:8px}p{margin-bottom:12px}small{font-size:14px}svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.muted{color:var(--muted)}.fine{font-size:14px;color:var(--muted)}.eyebrow{text-transform:uppercase;font-size:14px;letter-spacing:2px;color:#7c91ad;font-weight:700;margin-bottom:10px}.nowrap{white-space:nowrap}.skip-link{position:fixed;left:12px;top:-100px;background:#fff;padding:10px 18px;z-index:100}.skip-link:focus{top:12px}.initial-loading{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:var(--muted)}.brand-mark{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:13px;background:var(--blue);color:#fff;font-size:27px;font-weight:800;line-height:1;box-shadow:0 5px 13px #316bea20}.brand-mark span{position:absolute;bottom:5px;right:4px;font-size:14px;background:var(--blue);border-radius:50%;line-height:1.2}.brand{display:flex;align-items:center;gap:11px}.brand-name{font-size:20px;font-weight:750;letter-spacing:-.6px}.brand-sub{color:#8895a7;font-size:14px;letter-spacing:2px;line-height:1.3}.shell{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:30px 20px 22px;background:#fff;border-right:1px solid var(--border)}.sidebar .brand{padding:0 10px}.nav-label{font-size:14px;color:#98a5b5;letter-spacing:1.8px;margin:43px 12px 12px}.nav{display:grid;gap:7px}.nav button{display:flex;align-items:center;gap:12px;width:100%;border:0;background:none;text-align:left;color:#77879b;border-radius:12px;padding:13px 15px;font-weight:550;font-size:14px}.nav button:hover{background:#f6f8fc}.nav button.active{color:var(--blue);background:var(--sky)}.nav button.active:after{content:"";width:5px;height:5px;background:var(--blue);border-radius:50%;margin-left:auto}.sidebar-bottom{margin-top:auto}.connection-box{padding:16px;border:1px solid #e5eefb;background:#f8fbff;border-radius:14px;margin-bottom:18px}.connection-box p{font-size:14px;line-height:1.8;color:#8494a8;margin:6px 0 0}.connection-title{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:600}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#d8a559}.user-chip{display:flex;gap:10px;align-items:center;padding:8px 7px}.avatar{width:37px;height:37px;display:inline-flex;justify-content:center;align-items:center;background:#e7effc;border-radius:12px;color:#4c75b6;font-weight:700;font-size:15px;flex:none}.avatar.green{background:#e6f4ee;color:#409578}.avatar.purple{background:#eeebff;color:#8260bd}.user-chip .name{font-size:14px;font-weight:650}.user-chip .role{font-size:14px;color:var(--muted)}.logout{border:0;background:none;color:#98a5b5;margin-left:auto;padding:7px;display:flex}.workspace{min-width:0;padding:25px 42px 42px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;min-height:32px}.breadcrumbs{font-size:14px;color:#94a0b2;display:flex;gap:10px;align-items:center}.breadcrumbs b{font-weight:500;color:#5c7390}.topbar-right{display:flex;align-items:center;gap:12px}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:8px;font-size:14px;padding:5px 9px;background:#eaf0f8;color:#68809f;white-space:nowrap}.pill.green{background:#e7f4ed;color:#48886d}.pill.orange{background:#fff3df;color:#aa8441}.pill.blue{background:#ebf2ff;color:#4f7bc9}.page-head{display:flex;align-items:flex-start;gap:15px;justify-content:space-between;margin-bottom:26px}.page-head p{font-size:14px;color:var(--muted);margin:0}.head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:10px;padding:10px 16px;background:var(--blue);color:#fff;font-size:14px;font-weight:600;min-height:40px;text-decoration:none;white-space:nowrap}.btn:hover{background:var(--blue-dark);text-decoration:none}.btn.secondary{background:#fff;border-color:var(--border);color:#586e88}.btn.secondary:hover{background:#f8faff}.btn.ghost{background:#eef4ff;color:var(--blue)}.btn.danger{color:var(--red);background:#fff0f2}.btn.small{padding:6px 11px;min-height:32px;font-size:14px}.btn svg{width:15px;height:15px}.grid{display:grid;gap:20px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:24px;gap:16px}.stat{padding:21px 22px;border-radius:17px;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow)}.stat-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;font-size:14px;color:#75869b}.stat-icon{width:31px;height:31px;border-radius:10px;background:#eff5ff;color:#6690d7;display:inline-flex;align-items:center;justify-content:center}.stat-icon svg{width:16px;height:16px}.stat-value{font-size:30px;font-weight:700;letter-spacing:-.9px;line-height:1.2}.stat-value small{font-size:14px;font-weight:400;color:#8a98ab;letter-spacing:0;margin-left:6px}.stat-foot{margin-top:10px;font-size:14px;color:#95a2b4}.two-cols{grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr)}.equal-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.card{border:1px solid var(--border);border-radius:18px;padding:23px;background:#fff;box-shadow:var(--shadow);min-width:0}.card-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:22px}.card-head h2{font-size:14px;margin:0}.card-head p{margin:4px 0 0;color:var(--muted);font-size:14px}.card-head .eyebrow{margin:0}.spaced{margin-top:20px}.hero-note{border:1px solid #dce9fc;background:linear-gradient(110deg,#e8f1ff,#f5f9ff);padding:23px 25px;border-radius:18px;display:flex;gap:18px;align-items:center;margin-bottom:24px}.hero-note .note-icon{width:43px;height:43px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #deebff;border-radius:14px;color:var(--blue);flex:none}.hero-note h2{font-size:14px;color:#345f9d;margin-bottom:4px}.hero-note p{font-size:14px;line-height:1.9;color:#6f8ab0;margin:0}.hero-note .btn{margin-left:auto}.empty{padding:29px 18px;text-align:center;color:#91a0b4;display:flex;flex-direction:column;align-items:center}.empty-icon{width:47px;height:47px;background:#f4f7fc;border-radius:15px;display:flex;align-items:center;justify-content:center;margin-bottom:13px;color:#a6b8cf}.empty strong{display:block;font-weight:550;font-size:14px;color:#778aa3;margin-bottom:5px}.empty p{font-size:14px;max-width:340px;line-height:1.9;margin:0}.empty .btn{margin-top:15px}.chart{display:flex;align-items:flex-end;gap:10px;height:190px;padding:15px 0 25px;border-bottom:1px solid #edf1f7;margin:20px 2px 30px}.chart-item{height:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative}.chart-bar{background:linear-gradient(#6a9aff,#8fb8ff);width:min(38px,75%);border-radius:6px 6px 0 0;min-height:2px}.chart-item small{font-size:14px;position:absolute;bottom:-24px;color:#94a1b3;white-space:nowrap}.chart-value{font-size:14px;color:#738cac;margin-bottom:6px}.chart-legend{display:flex;gap:7px;align-items:center;font-size:14px;color:#8a9bb2}.chart-legend:before{content:"";background:#7ba9fc;border-radius:3px;width:7px;height:7px}.member{display:flex;align-items:center;gap:11px;padding:13px 0;border-bottom:1px solid #f0f3f8}.member:last-child{border-bottom:0}.member strong{font-size:14px;font-weight:600;display:block}.member p{font-size:14px;color:#9aa8b9;margin:2px 0 0}.member .pill{margin-left:auto}.text-link{border:0;background:none;color:var(--blue);font-size:14px;padding:4px;cursor:pointer}.notice{border:1px solid #e1ebf9;background:#f3f7ff;color:#6c84a6;border-radius:12px;padding:13px 16px;font-size:14px;line-height:1.9;margin-bottom:20px}.notice.warning{background:#fff9ee;border-color:#f1e6cb;color:#957d50}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:17px}.field label,.field-label{font-size:14px;font-weight:600;color:#536a86}.field input,.field select,.field textarea{width:100%;border:1px solid #dfe7f2;border-radius:10px;padding:11px 13px;background:#fff;outline-offset:2px;color:var(--ink);min-height:43px}.field textarea{resize:vertical;min-height:110px;line-height:1.7}.field input::placeholder,.field textarea::placeholder{color:#a6b1bf}.field input[type=file]{font-size:14px;color:#7c8ca1;padding:9px}.field input[type=file]::file-selector-button{border:0;background:#eef4ff;color:#6080b3;padding:5px 10px;border-radius:6px;margin-right:10px;cursor:pointer}.field .help{font-size:14px;color:#96a4b6;line-height:1.8}.field-wide{grid-column:1/-1}.form-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end}.form-error{color:var(--red);background:#fff2f4;padding:10px 13px;border-radius:9px;font-size:14px;margin-bottom:15px}.form-error:empty{display:none}.form-success{color:#398263;background:#edf8f2;padding:11px 15px;border-radius:10px;font-size:14px;line-height:1.8;margin-bottom:15px}.list{display:grid;gap:13px}.message{border:1px solid #e5ecf5;border-radius:13px;padding:17px}.item-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.item-head strong{font-size:14px;font-weight:650}.item-head time{font-size:14px;color:#95a3b5}.message-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.9;color:#61758e}.message audio{width:100%;height:36px;display:block;margin-top:12px}.message-footer{margin-top:12px;display:flex;justify-content:flex-end}.feedback-images{display:flex;flex-wrap:wrap;gap:9px;margin:12px 0}.feedback-images img{display:block;width:78px;height:78px;object-fit:cover;border:1px solid var(--border);border-radius:9px}.reply-box{border-radius:10px;background:#f1f6fe;padding:13px 15px;margin-top:14px;color:#6483af;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.reply-box b{font-size:14px;display:block;color:#426a9c;margin-bottom:3px}.details{margin-top:14px}.details summary{font-size:14px;color:#6485b8;cursor:pointer;width:fit-content}.details form{margin-top:13px}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-size:14px;color:#96a2b5;font-weight:500;padding:0 15px 13px;border-bottom:1px solid var(--border);white-space:nowrap}.table td{padding:16px 15px;border-bottom:1px solid #eef2f7;vertical-align:top}.table tr:last-child td{border:0}.table th:first-child,.table td:first-child{padding-left:0}.table th:last-child,.table td:last-child{padding-right:0}.account-cell{display:flex;gap:10px;align-items:center}.account-cell .avatar{width:33px;height:33px;font-size:14px}.account-cell strong{font-size:14px;font-weight:600}.account-cell small{display:block;font-size:14px;color:#97a6b9}.account-actions{display:flex;gap:7px;align-items:flex-start;flex-wrap:wrap}.password-edit summary{list-style:none}.password-edit{min-width:0}.password-edit form{width:205px;background:#f7faff;border:1px solid #e5edf8;padding:12px;border-radius:10px;margin-top:8px}.password-edit input{width:100%;border:1px solid var(--border);border-radius:7px;padding:8px;font-size:14px;margin:5px 0 8px}.invite-result{padding:17px;border:1px dashed #9ebef5;border-radius:12px;background:#f1f6ff;margin-bottom:18px}.invite-result code{display:block;color:#386cc3;font-size:17px;letter-spacing:1px;margin:10px 0;overflow-wrap:anywhere;white-space:pre-wrap}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:2px 0 19px;border-bottom:1px solid #edf1f7;margin-bottom:20px}.toggle-row p{font-size:14px;color:var(--muted);margin:5px 0 0}.switch{position:relative;width:42px;height:24px;display:block;flex:none}.switch input{opacity:0;width:0;height:0}.switch span{position:absolute;inset:0;background:#d8e2ef;border-radius:24px;cursor:pointer;transition:.15s}.switch span:before{content:"";position:absolute;width:18px;height:18px;border-radius:50%;left:3px;top:3px;background:#fff;box-shadow:0 1px 3px #60799a25;transition:.15s}.switch input:checked+span{background:var(--blue)}.switch input:checked+span:before{transform:translateX(18px)}.switch input:focus-visible+span{outline:3px solid #84afff;outline-offset:3px}.meter{height:7px;background:#eef3fa;border-radius:10px;overflow:hidden;margin:17px 0 10px}.meter span{display:block;height:100%;border-radius:10px;background:#85adf5}.meter-caption{display:flex;justify-content:space-between;gap:10px;font-size:14px;color:#92a2b7}.metric-line{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #edf2f8;font-size:14px;color:#7c8fa6}.metric-line strong{color:#4a6688;font-weight:600}.metric-line:last-child{border:0}.footer-note{text-align:center;color:#a0aec0;font-size:14px;letter-spacing:.3px;margin:30px 0 0}.page-loading{padding:80px 20px;text-align:center;color:#8b9eb7;font-size:14px}.spinner{display:inline-block;width:20px;height:20px;border:2px solid #dbe8ff;border-top-color:#5d8bf0;border-radius:50%;animation:spin .75s linear infinite;margin-bottom:10px}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#193b5d;color:#fff;border-radius:12px;padding:12px 20px;box-shadow:0 10px 35px #17304c24;max-width:calc(100% - 30px);font-size:14px;z-index:20;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.error{background:#a8485a}.auth-layout{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.auth-story{padding:48px clamp(35px,6vw,100px);background:linear-gradient(145deg,#eaf3ff 0%,#f5f9ff 70%,#edf5ff 100%);display:flex;flex-direction:column;position:relative;overflow:hidden}.auth-copy{margin:auto 0;max-width:430px;padding:60px 0}.auth-copy h1{font-size:42px;line-height:1.5;letter-spacing:-1.5px;font-weight:750;margin-bottom:20px}.auth-copy h1 span{color:#4680e9}.auth-copy>p{font-size:14px;color:#869dbb;line-height:2.1;max-width:335px}.auth-illustration{margin:35px 0 0;display:flex;gap:11px;align-items:center}.letter-card{width:65px;height:70px;display:flex;align-items:center;justify-content:center;font-size:27px;font-weight:750;border-radius:16px;color:#6392da;background:#fff;border:1px solid #dfebff;box-shadow:0 7px 22px #5e88c00b;transform:rotate(-7deg)}.letter-card:nth-child(2){transform:rotate(6deg);background:#dceaff;color:#3d77d4}.letter-card:nth-child(3){transform:rotate(-3deg);font-size:22px;color:#85a5d8}.auth-story-foot{font-size:14px;color:#94a9c5;letter-spacing:.5px}.auth-main{display:flex;align-items:center;justify-content:center;padding:50px 40px}.auth-panel{width:100%;max-width:370px}.auth-panel h2{font-size:24px;letter-spacing:-.6px;margin-bottom:8px}.auth-panel>p{color:#96a3b5;font-size:14px;margin-bottom:28px}.auth-tabs{display:flex;border-bottom:1px solid #e7edf5;margin-bottom:27px;gap:24px}.auth-tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:0 0 11px;color:#9aa8ba;font-size:14px}.auth-tabs button.active{border-color:var(--blue);color:var(--blue);font-weight:650}.role-picker{display:flex;gap:9px;margin-bottom:22px}.role-button{flex:1;display:flex;flex-direction:column;gap:6px;align-items:center;background:#fff;border:1px solid #e3eaf4;border-radius:12px;padding:12px 8px;color:#8597b0;font-size:14px}.role-button.active{border-color:#9cbdf4;background:#f3f7ff;color:#416ead}.role-button .avatar{width:30px;height:30px;font-size:14px;border-radius:10px}.auth-submit{width:100%;margin-top:5px}.auth-note{font-size:14px;color:#a1aec0;text-align:center;line-height:1.9;margin-top:20px}.no-bottom{margin-bottom:0}.mobile-brand{display:none}.progress-placeholder{padding:17px;border-radius:12px;background:#f7faff;color:#91a4bc;font-size:14px;line-height:1.9}.inline-code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;background:#f1f5fb;padding:3px 6px;border-radius:4px}
@media(min-width:1450px){.workspace{padding-left:54px;padding-right:54px}#main-content{max-width:1300px;margin:auto}.topbar{max-width:1300px;margin-left:auto;margin-right:auto}}
@media(max-width:1150px){.shell{grid-template-columns:205px minmax(0,1fr)}.sidebar{padding:25px 13px}.workspace{padding:24px}.stats{gap:12px}.stat{padding:17px}.two-cols{grid-template-columns:minmax(0,1.35fr) minmax(240px,1fr)}.hero-note{padding:19px}.hero-note .btn{padding:9px 11px}}
@media(max-width:900px){.shell{grid-template-columns:205px minmax(0,1fr)}.sidebar{padding:25px 10px}.sidebar .brand{gap:8px;padding:0 8px}.brand-name{font-size:17px}.brand-sub{font-size:14px;letter-spacing:1.3px}.brand-mark{width:34px;height:34px;font-size:23px;border-radius:11px}.nav button{font-size:14px;padding:12px 11px;gap:9px}.nav button svg{width:17px;height:17px}.connection-box{padding:12px}.connection-box p{font-size:14px}.connection-title{font-size:14px}.workspace{padding:22px 20px}.two-cols,.equal-cols{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.page-head{margin-bottom:22px}.hero-note{gap:12px;flex-wrap:wrap}.hero-note>div:nth-child(2){flex:1;min-width:180px}.hero-note .btn{margin-left:55px}.form-grid{gap:0 15px}.auth-copy h1{font-size:34px}.auth-story{padding:36px}.auth-main{padding:40px 30px}.topbar-right .fine{display:none}}
@media(max-width:640px){body{font-size:16px}.shell{display:block}.sidebar{position:static;width:100%;height:auto;padding:18px 17px 0;border-right:0;border-bottom:1px solid var(--border)}.sidebar .brand{padding:0}.brand-name{font-size:19px}.brand-sub{font-size:14px}.sidebar .brand-mark{width:35px;height:35px}.nav-label,.sidebar-bottom .connection-box{display:none}.nav{display:flex;overflow-x:auto;gap:6px;padding:16px 0 11px;scrollbar-width:none}.nav button{width:auto;white-space:nowrap;font-size:14px;padding:10px 12px;gap:7px;flex:none}.nav button.active:after{display:none}.sidebar-bottom{position:absolute;top:17px;right:13px}.user-chip{padding:0;gap:7px}.user-chip>.avatar{display:none}.user-chip .name{font-size:14px}.user-chip .role{font-size:14px}.logout{padding:5px}.logout svg{width:16px}.workspace{padding:17px 16px 30px}.topbar{margin-bottom:21px;min-height:20px}.breadcrumbs{font-size:14px}.topbar-right .pill{font-size:14px;padding:3px 7px}.page-head{flex-wrap:wrap;gap:13px;margin-bottom:19px}h1{font-size:25px}.page-head p{font-size:14px}.head-actions{width:100%}.head-actions .btn{font-size:14px;padding:8px 12px;min-height:36px}.stats{gap:10px;margin-bottom:17px}.stat{padding:15px;border-radius:13px}.stat-top{font-size:14px;margin-bottom:9px}.stat-value{font-size:27px}.stat-foot{font-size:14px}.stat-icon{width:26px;height:26px;border-radius:8px}.stat-icon svg{width:14px;height:14px}.hero-note{padding:17px;border-radius:14px;margin-bottom:17px}.hero-note .note-icon{width:34px;height:34px;border-radius:11px}.hero-note h2{font-size:14px}.hero-note p{font-size:14px}.hero-note .btn{margin-left:46px;font-size:14px;min-height:34px}.card{padding:18px;border-radius:15px}.grid{gap:16px}.card-head{margin-bottom:17px}.card-head h2{font-size:14px}.form-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.table th{font-size:14px}.table td{font-size:14px;padding:13px 10px}.table th{padding-left:10px;padding-right:10px}.account-cell{gap:7px}.account-cell .avatar{display:none}.account-actions{min-width:110px}.account-actions .btn{font-size:14px;padding:5px 7px}.table .password-edit form{width:170px}.field input,.field textarea,.field select{font-size:16px}.field input[type=file]{font-size:14px}.auth-layout{display:block}.auth-story{padding:26px 25px}.auth-copy{padding:27px 0 4px}.auth-copy h1{font-size:26px;letter-spacing:-.5px;margin-bottom:8px}.auth-copy h1 br{display:none}.auth-copy>p{font-size:14px;margin-bottom:0;max-width:none}.auth-illustration,.auth-story-foot{display:none}.auth-main{padding:27px 25px 40px}.auth-panel{max-width:440px}.auth-panel h2{font-size:21px}.auth-panel>p{margin-bottom:20px}.role-picker{margin-bottom:18px}.chart{height:155px}.toast{bottom:18px}.footer-note{font-size:14px}.message{padding:14px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

[hidden]{display:none!important}.ai-draft-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:19px}.ai-draft-row .fine{font-size:14px}.record-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}#record-preview{width:100%;height:36px;margin-top:5px}
.user-chip .role{white-space:nowrap}.user-chip>div{min-width:0}@media(min-width:641px) and (max-width:900px){.user-chip{gap:7px}.user-chip .avatar{width:33px;height:33px}.user-chip .logout{padding:5px}}

.btn,.btn.small,.nav button,.logout,.text-link{min-height:44px}.logout{min-width:44px}.auth-tabs button{min-height:44px}.role-button{min-height:76px}.nav button{font-size:14px}.btn,.btn.small,.text-link{font-size:14px}.user-chip .role{font-size:14px}.sidebar .brand-sub{font-size:14px;letter-spacing:.6px}.auth-panel>p,.page-head p,.fine,.help{font-size:14px}.stat-foot,.stat-top{font-size:14px}.table th,.table td,.account-cell strong,.account-cell small{font-size:14px}.table .password-edit form{min-width:190px}.pill{font-size:14px}.nav button.active:after{flex:none}.sidebar .brand{min-width:0}.brand-sub{white-space:nowrap}.avatar{flex-shrink:0}

.switch{width:48px;height:44px}.switch span{top:10px;bottom:10px}.switch input:checked+span:before{transform:translateX(24px)}.details summary{min-height:44px;display:flex;align-items:center}.field input,.field select{min-height:44px}

.student-picker{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 20px;padding:14px 18px;background:var(--card,#fff);border:1px solid #dce3ef;border-radius:14px}.student-picker select{width:auto;max-width:100%;min-height:44px;padding:8px 12px;border:1px solid #dce3ef;border-radius:10px;background:#f8fbff;color:#233b56;font:inherit}.student-picker small{color:#64748b}

.family-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.family-card{padding:18px;border:1px solid #e0e8f4;border-radius:12px}.family-card h3{margin-top:0}.student-picker strong{color:#28476d}.student-picker+.student-picker{margin-top:-8px}
/* Keep account controls reachable in shorter desktop windows. */
.sidebar{overflow-y:auto;overscroll-behavior:contain}.sidebar>*{flex-shrink:0}

.vocabulary-admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:20px 0}.vocabulary-admin-stats .stat-card{border:1px solid var(--border,#e2e8f0);padding:16px;border-radius:12px;display:flex;flex-direction:column;gap:10px}.vocabulary-admin-stats strong{font-size:24px}

/* Shared student/parent entry selector: links preserve the active data space. */
.login-role-switch{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;padding:6px;margin:20px 0;border:1px solid #dbe4f4;border-radius:16px;background:#f1f5fc}
.login-role-switch a{display:flex;min-height:68px;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 8px;border:2px solid transparent;border-radius:11px;color:#435773;text-decoration:none;text-align:center;box-sizing:border-box}
.login-role-switch a strong{font-size:16px;line-height:1.35}
.login-role-switch a span{font-size:12px;line-height:1.35}
.login-role-switch a[aria-current="page"]{background:#fff;border-color:#315efb;color:#244bd8;box-shadow:0 2px 7px #244bd814}
.login-role-switch a:hover{background:#e5edff}
.login-role-switch a:focus-visible{outline:3px solid #1839ac;outline-offset:2px}

.auth-panel h2 small{display:block;margin-top:5px;color:#60718b;font-size:14px;font-weight:500;letter-spacing:0}
