:root{--bg:#f3f4f8;--surface:#fff;--surface-2:#f8f9fc;--border:#e2e5ee;--border-strong:#cdd2df;--text:#151a26;--muted:#667085;--primary:#4f46e5;--primary-hover:#4338ca;--primary-text:#fff;--primary-soft:#eceefe;--brand:#4f46e5;--brand-soft:#eceefe;--danger:#c0352b;--danger-soft:#fdeceb;--on-danger:#fff;--ok:#157f43;--ok-soft:#e4f6ec;--warn:#a35d00;--warn-soft:#fff2dc;--neutral-soft:#eceef3;--info:#0369a1;--info-soft:#e0f1fb;--shadow:none;--radius:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f1218;--surface:#171b24;--surface-2:#1c212c;--border:#2a303d;--border-strong:#3a4252;--text:#e9ecf3;--muted:#96a0b3;--primary:#7c83ff;--primary-hover:#979dff;--primary-text:#0d1020;--primary-soft:#232849;--brand:#7c83ff;--brand-soft:#232849;--danger:#ff8a80;--danger-soft:#3a1d1c;--on-danger:#2b0f0d;--ok:#5fd08c;--ok-soft:#14301f;--warn:#f0b35a;--warn-soft:#3a2b12;--neutral-soft:#262c39;--info:#7cc4ef;--info-soft:#12303f;--shadow:none}}:root[data-theme=dark]{--bg:#0f1218;--surface:#171b24;--surface-2:#1c212c;--border:#2a303d;--border-strong:#3a4252;--text:#e9ecf3;--muted:#96a0b3;--primary:#7c83ff;--primary-hover:#979dff;--primary-text:#0d1020;--primary-soft:#232849;--brand:#7c83ff;--brand-soft:#232849;--danger:#ff8a80;--danger-soft:#3a1d1c;--on-danger:#2b0f0d;--ok:#5fd08c;--ok-soft:#14301f;--warn:#f0b35a;--warn-soft:#3a2b12;--neutral-soft:#262c39;--info:#7cc4ef;--info-soft:#12303f;--shadow:none}[data-area=LINGUAGENS]{--area:#c92a2a;--area-hover:#a51d1d;--area-soft:#fdebeb}[data-area=CIENCIAS_HUMANAS]{--area:#c2500a;--area-hover:#9f4008;--area-soft:#ffeee0}[data-area=MATEMATICA_NATUREZA]{--area:#0b7d61;--area-hover:#086650;--area-soft:#dcf5ee}[data-area=TECNICA]{--area:#1971c2;--area-hover:#145a9c;--area-soft:#e1effc}[data-area=GESTAO_ESCOLAR]{--area:#5c6370;--area-hover:#434a56;--area-soft:#e6e9ef}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) [data-area=LINGUAGENS]{--area:#ff6b6b;--area-hover:#ff9494;--area-soft:#3d1c1c}:root:not([data-theme=light]) [data-area=CIENCIAS_HUMANAS]{--area:#ff922b;--area-hover:#ffad5c;--area-soft:#3d2410}:root:not([data-theme=light]) [data-area=MATEMATICA_NATUREZA]{--area:#38d9a9;--area-hover:#6fe6c2;--area-soft:#0f3329}:root:not([data-theme=light]) [data-area=TECNICA]{--area:#74c0fc;--area-hover:#9fd5ff;--area-soft:#10304a}:root:not([data-theme=light]) [data-area=GESTAO_ESCOLAR]{--area:#a0a8b8;--area-hover:#c3c9d6;--area-soft:#323847}}:root[data-theme=dark] [data-area=LINGUAGENS]{--area:#ff6b6b;--area-hover:#ff9494;--area-soft:#3d1c1c}:root[data-theme=dark] [data-area=CIENCIAS_HUMANAS]{--area:#ff922b;--area-hover:#ffad5c;--area-soft:#3d2410}:root[data-theme=dark] [data-area=MATEMATICA_NATUREZA]{--area:#38d9a9;--area-hover:#6fe6c2;--area-soft:#0f3329}:root[data-theme=dark] [data-area=TECNICA]{--area:#74c0fc;--area-hover:#9fd5ff;--area-soft:#10304a}:root[data-theme=dark] [data-area=GESTAO_ESCOLAR]{--area:#a0a8b8;--area-hover:#c3c9d6;--area-soft:#323847}[data-area].area-themed{--primary:var(--area);--primary-hover:var(--area-hover);--primary-soft:var(--area-soft)}.area-dot{background:var(--area);border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.area-badge{background:var(--area-soft);max-width:100%;color:var(--area-hover);vertical-align:middle;border-radius:999px;align-items:center;gap:6px;padding:2px 9px 2px 8px;font-size:.78rem;font-weight:650;line-height:1.5;display:inline-flex}.area-badge i{background:var(--area);border-radius:50%;flex:none;width:8px;height:8px}.area-badge span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.avatar.avatar-area{background:var(--area-soft);color:var(--area-hover);box-shadow:inset 0 0 0 1.5px var(--area)}.area-title{align-items:center;gap:8px;display:inline-flex}.area-select-wrap{display:block;position:relative}.field .input,.field select{line-height:1.5}.area-select-wrap .area-dot{pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.area-select-wrap:not([data-area]) .area-dot{display:none}.area-select-wrap select{appearance:none;text-overflow:ellipsis;white-space:nowrap;padding:10px 34px 10px 30px;display:block}.area-select-wrap:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);pointer-events:none;width:7px;height:7px;position:absolute;top:50%;right:15px;transform:translateY(-70%)rotate(45deg)}.area-select-wrap:not([data-area]) select{padding-left:12px}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:15px/1.5 IBM Plex Sans,system-ui,-apple-system,Segoe UI,sans-serif}h1,h2,p,ul,ol{margin:0}ul,ol{padding:0;list-style:none}h1{font-size:1.2rem;line-height:1.2}h2{font-size:1.02rem;line-height:1.3}small{font-size:.8rem}.icon{flex:none}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.app{max-width:1440px;margin:0 auto;padding:0 32px 32px}.topbar{z-index:20;isolation:isolate;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;height:64px;margin:0 -32px 24px;padding:0 24px;display:grid;position:relative}.topbar:before{content:"";z-index:-1;background:var(--surface);border-bottom:1px solid var(--border);pointer-events:none;position:absolute;inset:0 calc(50% - 50vw)}.brand{align-items:center;gap:10px;display:flex}.brand h1{letter-spacing:.03em;font-size:1.1rem;font-weight:700}.logo{background:var(--primary);width:34px;height:34px;color:var(--primary-text);border-radius:10px;place-items:center;display:grid}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 24px;margin-bottom:18px;display:flex}.page-head-text{gap:4px;min-width:0;display:grid}.page-head h1{letter-spacing:-.01em;font-size:1.65rem;font-weight:700}.page-head p{color:var(--muted);font-size:.92rem}.page-head-actions{flex-wrap:wrap;gap:10px;display:flex}.seg-tabs{border:1px solid var(--border);background:var(--surface);scrollbar-width:none;border-radius:12px;gap:4px;max-width:100%;padding:4px;display:flex;overflow-x:auto}.seg-tabs::-webkit-scrollbar{display:none}.seg-tabs>button{height:36px;color:var(--muted);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;align-items:center;gap:8px;padding:0 14px;font-size:.9rem;font-weight:500;display:inline-flex}.seg-tabs>button:hover{color:var(--text)}.seg-tabs>button[aria-selected=true]{background:var(--primary-soft);color:var(--primary);font-weight:600}.seg-count{background:var(--neutral-soft);color:var(--muted);border-radius:999px;padding:1px 8px;font-size:.75rem;font-weight:600}.seg-tabs>button[aria-selected=true] .seg-count{background:var(--primary);color:var(--primary-text)}.seg-count.alert{background:var(--danger);color:var(--on-danger)}.seg-short{display:none}@media (width<=560px){.seg-long{display:none}.seg-short{display:inline}}.filters-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;margin-bottom:16px;display:flex}.filters-row .filters{flex-wrap:wrap;gap:10px;min-width:0;display:flex}.filters-row select{width:auto;min-width:180px}.workspace{grid-template-columns:400px minmax(0,1fr);align-items:stretch;gap:20px;display:grid}.rail{min-width:0;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.card-head{align-items:center;gap:10px;margin-bottom:14px;display:flex}.card-head>*{min-width:0}.step-num{background:var(--primary-soft);width:26px;height:26px;color:var(--primary);border-radius:8px;flex:none;place-items:center;font-size:.8rem;font-weight:700;display:grid}.count{background:var(--neutral-soft);min-width:24px;color:var(--muted);text-align:center;border-radius:999px;padding:1px 8px;font-size:.78rem;font-weight:700}.form{gap:16px;display:grid}.field{grid-template-columns:minmax(0,1fr);gap:7px;min-width:0;display:grid}.field>label,.field-label{color:var(--text);opacity:.85;font-size:.84rem;font-weight:500}.hint{color:var(--muted);align-items:center;gap:7px;font-size:.82rem;display:flex}.hint.warn{color:var(--warn)}.hint.ok{color:var(--ok)}.hint strong{color:var(--text)}select,.stepper input{font:inherit;color:inherit}select{border:1px solid var(--border-strong);background:var(--surface-2);border-radius:10px;width:100%;padding:10px 12px}.dropzone{border:2px dashed var(--border-strong);background:var(--surface-2);color:var(--muted);text-align:center;cursor:pointer;border-radius:12px;justify-items:center;gap:2px;padding:22px 16px;transition:border-color .15s,background .15s,color .15s;display:grid;position:relative}.dropzone strong{color:var(--text);margin-top:6px}.dropzone:hover,.dropzone.dragging,.dropzone:focus-within{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.dropzone input{opacity:0;cursor:pointer;position:absolute;inset:0}.file-icon{background:var(--primary);width:38px;height:38px;color:var(--primary-text);border-radius:10px;flex:none;place-items:center;display:grid}.file-meta{flex:1;min-width:0;display:grid}.file-meta strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-meta small{color:var(--muted)}.icon-btn{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;place-items:center;display:grid}.icon-btn:hover{background:var(--surface);color:var(--text)}.field-cols{grid-template-columns:.8fr 1.3fr 1fr 1fr;gap:12px;display:grid}@media (width<=560px){.field-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}.field-cols .input{min-width:0}.field-error{color:var(--danger);font-size:.8rem}.field .input[aria-invalid=true]{border-color:var(--danger)}.stepper{border:1px solid var(--border-strong);background:var(--surface-2);border-radius:10px;grid-template-columns:44px 64px 44px;justify-self:start;width:max-content;max-width:100%;display:inline-grid;overflow:hidden}.stepper button{color:var(--text);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.stepper button:hover:not(:disabled){background:var(--primary-soft);color:var(--primary)}.stepper button:disabled{color:var(--border-strong);cursor:not-allowed}.stepper input{border:0;border-inline:1px solid var(--border);text-align:center;appearance:textfield;background:0 0;width:100%;padding:10px 0;font-weight:700}.stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:7px 14px;font-size:.88rem;font-weight:600;transition:border-color .15s,background .15s}.chip:hover:not(:disabled){border-color:var(--primary)}.chip.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.chip:disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through}.segmented{grid-template-columns:1fr 1fr;gap:8px;display:grid}.seg{border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);font:inherit;cursor:pointer;white-space:normal;text-align:center;border-radius:10px;justify-content:center;align-items:center;gap:9px;min-width:0;padding:10px 8px;font-size:.9rem;font-weight:600;display:flex}.seg:hover:not(:disabled){border-color:var(--primary)}.seg.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.seg:disabled{opacity:.4;cursor:not-allowed}.swatch{border:1px solid #0003;border-radius:50%;width:16px;height:16px}.swatch.bw{background:linear-gradient(90deg,#111 50%,#fff 50%)}.swatch.color{background:conic-gradient(#ef4444,#f59e0b,#22c55e,#06b6d4,#6366f1,#ec4899,#ef4444)}.page{flex-direction:column;min-width:0;min-height:0;display:flex}.filters-row .search{width:280px}.filters-row .input{width:auto;height:40px;min-height:0;padding-block:0}.doc-table{flex-direction:column;min-height:0;padding:0;display:flex;overflow:hidden}.list-card{flex-direction:column;min-height:0;padding:12px;display:flex}.doc-head,.doc-row{align-items:center;gap:16px;padding:0 20px;display:grid}.doc-head{border-bottom:1px solid var(--border);height:44px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;flex:none;font-size:.72rem;font-weight:600}.doc-head-actions{text-align:right;min-width:290px}.doc-area{flex:1;min-height:180px;overflow:hidden}.doc-list{display:grid}.doc-row{border-bottom:1px solid var(--border);height:68px;position:relative}.doc-row:hover{background:var(--surface-2)}.doc-row[data-area]:before{content:"";background:var(--area);border-radius:0 3px 3px 0;width:3px;position:absolute;top:14px;bottom:14px;left:0}.doc-title{align-items:center;gap:12px;min-width:0;display:flex}.doc-icon{background:var(--neutral-soft);width:36px;height:36px;color:var(--muted);border-radius:9px;flex:none;place-items:center;display:grid}.doc-title-text,.doc-cell{min-width:0;display:grid}.doc-strong{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.doc-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.doc-badges{flex-wrap:wrap;gap:4px;min-width:0;max-height:52px;display:flex;overflow:hidden}.doc-actions{justify-content:flex-end;align-items:center;gap:6px;min-width:330px;display:flex}.doc-foot{border-top:1px solid var(--border);min-height:52px;color:var(--muted);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:0 20px;font-size:.84rem;display:flex}.doc-foot .pager{padding:0}.history .seg-tabs{margin-bottom:12px}.history .seg-tabs>button{flex:1;justify-content:center}.btn{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-weight:650;text-decoration:none;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2)}.btn.block{width:100%}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.btn.primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled){background:var(--neutral-soft);color:var(--text)}.btn.outline.danger{color:var(--danger)}.btn.outline.danger:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger)}.btn.small{border-radius:9px;padding:7px 12px;font-size:.86rem}.btn.soft{background:var(--primary-soft);color:var(--primary);border-color:#0000}.btn.soft:hover:not(:disabled){background:var(--primary-soft);filter:brightness(1.12)}.icon-btn.bordered{border:1px solid var(--border);width:34px;height:34px}.icon-btn.bordered.danger{color:var(--danger)}.icon-btn.bordered.danger:hover{background:var(--danger-soft)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.btn.danger-fill{background:var(--danger);border-color:var(--danger);color:var(--on-danger)}.btn.danger-fill:hover:not(:disabled){filter:brightness(.92);background:var(--danger)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:15px;height:15px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.history{flex-direction:column;min-height:0;display:flex}.history .card-head .count{margin-left:0}.new-btn{margin-left:auto}.jobs-area{flex:1;min-height:130px;overflow:hidden}.jobs{gap:8px;display:grid}.job-row{height:60px;position:relative}.job-row[data-area]:before{content:"";background:var(--area);pointer-events:none;border-radius:0 4px 4px 0;width:4px;position:absolute;top:12px;bottom:12px;left:0}.job{border:1px solid var(--border);background:var(--surface-2);width:100%;height:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:6px 44px 6px 12px;transition:border-color .15s,background .15s;display:flex}.job.no-del{padding-right:12px}.job:hover{border-color:var(--border-strong);background:var(--surface)}.job.selected{border-color:var(--primary);background:var(--primary-soft)}.job-icon{background:var(--neutral-soft);width:34px;height:34px;color:var(--muted);border-radius:9px;flex:none;place-items:center;display:grid}.job.selected .job-icon{background:var(--primary);color:var(--primary-text)}.job-body{flex:1;gap:1px;min-width:0;display:grid}.job-top{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.job-top .badge{padding:2px 9px 2px 7px;font-size:.72rem}.job-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.job-meta{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.78rem;overflow:hidden}.job-del{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.job-del:hover{background:var(--danger-soft);color:var(--danger)}.confirm{border:1px solid var(--danger);background:var(--danger-soft);height:100%;color:var(--danger);border-radius:12px;align-items:center;gap:8px;padding:0 10px 0 14px;font-size:.88rem;font-weight:650;display:flex}.confirm span{flex:1}.pager{color:var(--muted);justify-content:center;align-items:center;gap:12px;padding-top:10px;font-size:.82rem;font-weight:650;display:flex}.empty-note{color:var(--muted);text-align:center;padding:14px 4px 4px;font-size:.9rem}.skeletons{gap:8px;display:grid}.skeletons span{background:linear-gradient(90deg, var(--surface-2), var(--neutral-soft), var(--surface-2));background-size:200% 100%;border-radius:12px;height:56px;animation:1.4s ease-in-out infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.badge{white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:7px;padding:4px 11px 4px 9px;font-size:.78rem;font-weight:700;display:inline-flex}.dot{background:currentColor;border-radius:50%;width:8px;height:8px}.badge.PENDING_CA{background:var(--warn-soft);color:var(--warn)}.badge.PENDING_CP{background:var(--brand-soft);color:var(--brand)}.badge.APPROVED,.badge.PRINTING{background:var(--info-soft);color:var(--info)}.badge.PRINTED{background:var(--ok-soft);color:var(--ok)}.badge.REJECTED{background:var(--danger-soft);color:var(--danger)}.badge.CANCELED{background:var(--neutral-soft);color:var(--muted)}.badge.PENDING{background:var(--warn-soft);color:var(--warn)}.badge.ACCEPTED{background:var(--ok-soft);color:var(--ok)}.badge.DECLINED{background:var(--danger-soft);color:var(--danger)}.stage-card{flex-direction:column;gap:16px;min-height:0;padding:20px;display:flex}.stage-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.stage-title{flex:1;gap:6px;min-width:0;display:grid}.stage-title-row{align-items:center;gap:10px;min-width:0;display:flex}.stage-title h2{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:1.2rem;font-weight:700;overflow:hidden}.stage-title-row .badge{flex:none}.stage-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 6px;font-size:.88rem;display:flex}.specs{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.specs li{background:var(--neutral-soft);color:var(--text);border-radius:8px;padding:4px 10px;font-size:.82rem;font-weight:500}.viewer{border:1px solid var(--border);background:var(--neutral-soft);border-radius:12px;height:62vh;overflow:hidden}.viewer iframe{background:#fff;border:0;width:100%;height:100%;display:block}.action-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;padding-top:4px;display:flex}.action-info{flex:240px;min-width:0}.action-info:empty{display:none}.btn.icon-only{width:42px;padding-inline:0}@media (width>=900px){.stage-card:not(.compact) .action-bar{flex-direction:column;align-items:stretch}.stage-card:not(.compact) .action-info{flex:none}.stage-card:not(.compact) .actions{flex-wrap:nowrap}}.action-info .hint{font-size:.9rem}.printer-pick{color:var(--muted);align-items:center;gap:8px;font-size:.9rem;font-weight:600;display:flex}.printer-pick select{width:auto;max-width:260px;color:var(--text);padding:7px 10px}.actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.empty-stage{text-align:center;color:var(--muted);align-content:center;justify-items:center;gap:10px;display:grid}.empty-stage h2{color:var(--text);font-size:1.3rem}.empty-stage p{max-width:420px;margin-bottom:6px}.empty-art{background:var(--primary-soft);width:84px;height:84px;color:var(--primary);border-radius:24px;place-items:center;margin-bottom:4px;display:grid}.how{text-align:left;counter-reset:how;gap:8px;margin-top:14px;display:grid}.how li{counter-increment:how;padding-left:34px;position:relative}.how li:before{content:counter(how);background:var(--neutral-soft);width:24px;height:24px;color:var(--text);border-radius:50%;place-items:center;font-size:.78rem;font-weight:700;display:grid;position:absolute;top:-1px;left:0}.modal{border:1px solid var(--border);background:var(--surface);width:min(1120px,94vw);max-width:none;height:min(760px,92dvh);max-height:none;color:var(--text);border-radius:18px;padding:0;overflow:hidden}.modal[open]{animation:.18s ease-out pop;display:flex}.modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a0c168c}@keyframes pop{0%{opacity:0;transform:scale(.98)translateY(6px)}}.modal-form{flex-direction:column;width:100%;height:100%;min-height:0;display:flex}.modal-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:14px 18px;display:flex}.modal-head .icon-btn{margin-left:auto}.modal-body{flex:1;grid-template-columns:360px minmax(0,1fr);min-height:0;display:grid}.modal-options{border-right:1px solid var(--border);align-content:start;gap:16px;padding:18px;display:grid}.modal-preview{background:var(--surface-2);flex-direction:column;gap:12px;min-width:0;min-height:0;padding:16px;display:flex}.modal-preview .viewer{flex:1;height:auto;min-height:0}.modal-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:14px 18px;display:flex}.file-bar{border:1px solid var(--border);background:var(--surface);border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.file-bar .btn{cursor:pointer;flex:none}.dropzone.big{flex:1;align-content:center;gap:4px;padding:24px}.dropzone.big small{max-width:320px}.input{border:1px solid var(--border-strong);background:var(--surface-2);width:100%;color:var(--text);font:inherit;border-radius:10px;padding:10px 12px}.input::placeholder{color:var(--muted);opacity:.8}input::placeholder,input{text-overflow:ellipsis}.input:disabled{opacity:.6;cursor:not-allowed}textarea.input{resize:none}input[type=date].input{appearance:none;text-align:left;min-width:0;max-width:100%;min-height:44px;display:block}input[type=date].input::-webkit-date-and-time-value{text-align:left;min-height:1.4em}input[type=date].input::-webkit-datetime-edit{padding:0}select:disabled{opacity:.6;cursor:not-allowed}.form-error{background:var(--danger-soft);color:var(--danger);border-radius:10px;padding:9px 12px;font-size:.88rem;font-weight:600}.check{align-items:center;gap:10px;font-size:.92rem;display:flex}.check input{width:17px;height:17px;accent-color:var(--primary)}.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.two>.field{min-width:0}.boot{place-items:center;height:100dvh;display:grid}.page-loading{flex:1;place-items:center;min-height:240px;display:grid}.spinner.big{width:34px;height:34px;color:var(--primary);border-width:3px}.auth-page{grid-template-columns:repeat(2,minmax(0,1fr));height:100dvh;display:grid}.auth-page.single{padding:20px;display:flex;overflow-y:auto}.auth-page.single .auth-card{margin:auto;padding:28px}.auth-intro{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;justify-content:space-between;gap:32px;padding:56px 64px;display:flex;overflow-y:auto}.auth-intro>small{color:var(--muted)}.auth-pitch{gap:28px;max-width:480px;display:grid}.auth-pitch h2{letter-spacing:-.02em;font-size:2.3rem;font-weight:700;line-height:1.15}.auth-pitch ul{gap:18px;display:grid}.auth-pitch li{align-items:flex-start;gap:14px;display:flex}.auth-pitch li>span:last-child{color:var(--muted);font-size:.92rem;display:grid}.auth-pitch strong{color:var(--text);font-size:.98rem}.auth-pitch-icon{background:var(--primary-soft);width:36px;height:36px;color:var(--primary);border-radius:10px;flex:none;place-items:center;display:grid}.auth-main{padding:32px 24px;display:flex;overflow-y:auto}.auth-card{gap:20px;width:min(420px,100%);margin:auto;display:grid}.auth-heading{gap:6px;display:grid}.auth-heading h2{font-size:1.7rem;font-weight:700}.auth-heading p{color:var(--muted);font-size:.92rem}.auth-brand-mobile{display:none}.auth-switch{color:var(--muted);border-top:1px solid var(--border);padding-top:16px;font-size:.92rem}.link-btn{color:var(--primary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}@media (width<=899px){.auth-page{height:auto;min-height:100dvh;display:flex}.auth-intro{display:none}.auth-main{flex:1;padding:40px 20px 28px}.auth-card{align-content:start;margin:0 auto}.auth-brand-mobile{margin-bottom:12px;display:flex}}.auth-form{gap:16px;display:grid}.auth-form .btn.primary{min-height:46px}.auth-note{color:var(--muted);font-size:.84rem}.nav{gap:2px;min-width:0;display:flex}.nav button{color:var(--muted);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:8px;padding:8px 14px;font-size:.9rem;font-weight:500;display:flex}.nav button:hover{color:var(--text);background:var(--neutral-soft)}.nav button.active{background:var(--primary-soft);color:var(--primary);font-weight:600}.account{justify-self:end;position:relative}.account-btn{color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:10px;padding:4px 10px 4px 4px;display:flex}.account-btn:hover{border-color:var(--border);background:var(--surface-2)}.avatar{background:var(--primary);color:var(--primary-text);-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;place-items:center;font-weight:700;line-height:1;display:inline-grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.account-text{max-width:190px;line-height:1.2;display:grid}.account-text strong{text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;overflow:hidden}.account-text small{color:var(--muted);font-size:.74rem}.menu{z-index:20;border:1px solid var(--border);background:var(--surface);border-radius:14px;width:270px;padding:6px;position:absolute;top:calc(100% + 8px);right:0}.account-backdrop,.account-grip{display:none}.account-menu{z-index:30;border:1px solid var(--border);background:var(--surface);border-radius:16px;flex-direction:column;width:360px;max-height:calc(100dvh - 90px);display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 18px 48px #00000024,0 2px 6px #0000000f}.account-head{align-items:center;gap:14px;min-width:0;padding:18px 18px 14px;display:flex}.account-id{flex-direction:column;gap:3px;min-width:0;display:flex}.account-id>strong{text-overflow:ellipsis;white-space:nowrap;font-size:1rem;overflow:hidden}.account-id>span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.account-tags{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.account-tag{background:var(--neutral-soft);color:var(--text);border-radius:999px;padding:2px 9px;font-size:.74rem;font-weight:600}.account-registration{border:1px solid var(--border);background:var(--surface-2);color:var(--text);font:inherit;text-align:left;border-radius:12px;align-items:center;gap:12px;margin:0 14px 12px;padding:12px 14px;display:flex}button.account-registration{cursor:pointer}button.account-registration:hover{border-color:var(--primary)}.account-registration-icon{background:var(--primary-soft);width:34px;height:34px;color:var(--primary);border-radius:10px;flex:none;place-items:center;display:grid}.account-registration.empty .account-registration-icon{border:1.5px dashed var(--border-strong);background:0 0}.account-registration-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.account-registration-text small{color:var(--muted);font-size:.76rem}.account-registration:not(.empty) .account-registration-text small{letter-spacing:.04em;text-transform:uppercase;font-weight:600}.account-registration:not(.empty) .account-registration-text strong{text-overflow:ellipsis;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.95rem;font-weight:500;overflow:hidden}.account-registration.empty strong{color:var(--primary);font-size:.9rem}.account-registration.editing{flex-direction:column;align-items:stretch;gap:8px}.account-registration.editing>label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.74rem;font-weight:600}.account-registration-row{gap:8px;display:flex}.account-registration-row .input{flex:1;min-width:0;height:40px;font-family:IBM Plex Mono,ui-monospace,monospace}.account-registration-row .input[aria-invalid]{border-color:var(--danger)}.account-registration-foot{justify-content:space-between;align-items:center;gap:10px;display:flex}.account-registration-foot small{color:var(--muted);font-size:.76rem}.account-registration-foot small.error{color:var(--danger);font-weight:500}.account-section{border-top:1px solid var(--border);padding:8px 8px 6px}.account-section-title{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;padding:6px 10px 4px;font-size:.72rem;font-weight:600}.account-item{width:100%;min-height:44px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:7px 10px;display:flex}.account-item:hover,.account-item:focus-visible{background:var(--neutral-soft);outline:none}.account-item>.icon{color:var(--muted);flex:none}.account-item-icon{background:var(--neutral-soft);width:30px;height:30px;color:var(--text);border-radius:9px;flex:none;place-items:center;display:grid}.account-item-text{flex-direction:column;flex:1;gap:1px;min-width:0;font-size:.9rem;font-weight:500;display:flex}.account-item-text small{color:var(--muted);font-size:.76rem;font-weight:400}.account-item.danger{color:var(--danger)}.account-item.danger .account-item-icon{background:var(--danger-soft);color:var(--danger)}.account-item.danger:hover,.account-item.danger:focus-visible{background:var(--danger-soft)}.account-theme{background:var(--neutral-soft);border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;margin:4px 10px 6px;padding:3px;display:grid}.account-theme button{height:34px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;font-size:.82rem;font-weight:600;display:flex}.account-theme button:hover{color:var(--text)}.account-theme button[aria-checked=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000001f}.menu button{width:100%;color:var(--text);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;padding:9px 12px;display:flex}.menu button:hover{background:var(--neutral-soft)}.dialog{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:16px;max-height:92dvh;padding:0}.dialog[open]{animation:.18s ease-out pop}.dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a0c168c}.dialog-form{min-width:0;display:block}.dialog-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:14px 18px;display:flex}.dialog-head h2{flex:1}.dialog-body{gap:14px;min-width:0;max-height:calc(92dvh - 132px);padding:18px;display:grid;overflow-y:auto}.dialog-body>*{min-width:0}.dialog-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:12px 18px;display:flex}.dialog-text{color:var(--muted)}.avatar-edit{text-align:center;justify-items:center;gap:14px;display:grid}.avatar-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.avatar-row{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.avatar-row span:nth-child(2){color:var(--muted);flex:1;font-size:.88rem}.signature-frame{border:1px solid var(--border);background-color:#fff;background-image:repeating-conic-gradient(#e2e5ee 0% 25%,#0000 0% 50%);background-size:16px 16px;border-radius:12px;place-items:center;width:100%;min-height:90px;padding:12px;display:grid}.signature-frame img{object-fit:contain;max-width:100%;max-height:110px}.signature-frame.empty{color:var(--muted)}.signature-frame.small{width:140px;min-height:0;padding:6px}.signature-frame.small img{max-height:46px}.signature-attached{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;align-items:center;gap:12px;padding:10px;display:flex}.signature-attached-info{gap:6px;display:grid}.dialog-text strong{color:var(--text)}.trail{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.trail li{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;align-items:center;gap:9px;min-width:0;padding:8px 10px;display:flex}.trail-dot{background:var(--neutral-soft);width:22px;height:22px;color:var(--muted);border-radius:50%;flex:none;place-items:center;font-size:.72rem;font-weight:700;display:grid}.trail-text{min-width:0;line-height:1.25;display:grid}.trail-text strong{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.trail-text small{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.72rem;overflow:hidden}.trail li.done{border-color:var(--ok)}.trail li.done .trail-dot{background:var(--ok);color:#fff}.trail li.current{border-color:var(--primary);background:var(--primary-soft)}.trail li.current .trail-dot{background:var(--primary);color:var(--primary-text)}.trail li.rejected{border-color:var(--danger);background:var(--danger-soft)}.trail li.rejected .trail-dot{background:var(--danger);color:#fff}.trail li.skipped{opacity:.7;border-style:dashed}.users-card{flex-direction:column;min-height:0;display:flex}.users-card .card-head{flex-wrap:wrap}.toolbar{align-items:center;gap:10px;margin-left:auto;display:flex}.search{border:1px solid var(--border);background:var(--surface);width:300px;max-width:100%;height:40px;color:var(--muted);border-radius:10px;align-items:center;gap:8px;padding:0 12px;display:flex}.search:focus-within{border-color:var(--primary)}.search input{width:100%;min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:0;padding:8px 0;font-size:.92rem}.toolbar select{width:auto;padding:8px 12px}.user-head,.user-row{grid-template-columns:minmax(0,1.4fr) minmax(0,1.2fr) minmax(0,1.1fr) minmax(0,.9fr) 84px 200px;align-items:center;gap:14px;padding:0 12px;display:grid}.user-head{border-bottom:1px solid var(--border);color:var(--muted);letter-spacing:.04em;text-transform:uppercase;padding-block:8px;font-size:.74rem;font-weight:700}.table-area{flex:1;min-height:160px;overflow:hidden}.user-row{border-bottom:1px solid var(--border);height:58px}.user-row.inactive{opacity:.6}.user-cell{align-items:center;gap:12px;min-width:0;display:flex}.user-name{min-width:0;line-height:1.25;display:grid}.user-name strong,.user-name small,.cell{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-name small{color:var(--muted);font-size:.78rem}.cell{color:var(--muted);font-size:.88rem}.role-select{padding:6px 10px;font-size:.86rem}.role-badge,.state{white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:.78rem;font-weight:700;display:inline-block}.role-badge.TAUMIEL{background:var(--brand-soft);color:var(--brand)}.role-badge.CP{background:var(--info-soft);color:var(--info)}.role-badge.CA{background:var(--warn-soft);color:var(--warn)}.role-badge.APOIO{background:var(--ok-soft);color:var(--ok)}.role-badge.PROF{background:var(--neutral-soft);color:var(--muted)}.state.on{background:var(--ok-soft);color:var(--ok)}.state.off{background:var(--neutral-soft);color:var(--muted)}.row-actions{justify-content:flex-end;align-items:center;gap:4px;display:flex}.row-actions .icon-btn:hover{background:var(--neutral-soft);color:var(--text)}.bulk-user-rows{gap:10px;margin:14px 0;padding:0;list-style:none;display:grid}.bulk-user-row{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;gap:10px;padding:12px 14px;display:grid}.bulk-user-row.success{border-color:var(--ok);background:var(--ok-soft)}.bulk-user-row.error{border-color:var(--danger)}.bulk-user-password{gap:6px;display:flex}.bulk-user-password .input{flex:1;min-width:0}.bulk-user-row-foot{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.bulk-user-row-foot .check{margin-right:auto}.bulk-user-status{align-items:center;gap:5px;font-size:.84rem;font-weight:650;display:inline-flex}.bulk-user-status.ok{color:var(--ok)}.bulk-user-status.error{color:var(--danger)}.autosave-status{color:var(--muted);align-items:center;gap:6px;font-size:.84rem;font-weight:600;display:inline-flex}.autosave-status .spinner{border-width:2px;width:13px;height:13px}.autosave-status.ok{color:var(--ok)}.autosave-status.error{color:var(--danger);cursor:help}.quota-layout{grid-template-columns:340px minmax(0,1fr);align-items:stretch;gap:20px;display:grid}.quota-layout.single{grid-template-columns:minmax(0,1fr)}.quota-card{place-items:center;min-height:240px;display:grid}.quota-areas{flex-direction:column;min-height:0;display:flex}.area-list{overscroll-behavior:contain;flex:0 auto;align-content:start;gap:8px;min-height:0;margin:-1px;padding:1px;display:grid;overflow-y:auto}.area-row{border:1px solid var(--border);background:var(--surface-2);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:12px;grid-template-columns:minmax(0,1fr);gap:6px;padding:11px 12px;display:grid}.area-row:hover{border-color:var(--border-strong);background:var(--surface)}.area-row[data-area]{box-shadow:inset 4px 0 0 var(--area)}.area-row.selected{border-color:var(--area,var(--primary));background:var(--area-soft,var(--primary-soft))}.area-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.area-top strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.92rem;overflow:hidden}.area-top .area-dot{vertical-align:1px;margin-right:8px}.area-avail{color:var(--ok);font-weight:700}.area-avail.out{color:var(--danger)}.area-row small{color:var(--muted)}.area-bar{background:var(--neutral-soft);border-radius:999px;height:7px;display:block;overflow:hidden}.area-bar span{background:var(--area,var(--primary));border-radius:999px;height:100%;display:block}.area-bar span.high{background:var(--warn)}.area-total{border-top:1px solid var(--border);color:var(--muted);flex:none;justify-content:space-between;gap:10px;margin-top:auto;padding-top:12px;font-size:.86rem;display:flex}.area-total strong{color:var(--text)}.quota-detail{flex-direction:column;gap:16px;min-height:0;display:flex}.quota-detail[data-area]{box-shadow:inset 0 3px 0 var(--area)}.quota-detail .card-head{flex-wrap:wrap;margin-bottom:0}.muted-note{color:var(--muted);margin-left:auto}.quota-body{flex:1;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:28px;min-height:0;display:grid;overflow-y:auto}.quota-summary{align-content:start;justify-items:center;gap:22px;display:grid}.donut{width:var(--donut-size);height:var(--donut-size);position:relative}.donut svg{width:100%;height:100%}.donut circle{fill:none;stroke-width:12px}.donut-track{stroke:var(--neutral-soft)}.donut-used{stroke:var(--primary);stroke-linecap:round;transition:stroke-dasharray .4s}.donut-used.high{stroke:var(--warn)}.donut-used.full{stroke:var(--danger)}.donut-center{text-align:center;place-content:center;display:grid;position:absolute;inset:0}.donut-center strong{font-size:2.1rem;line-height:1.05}.donut-center span{color:var(--muted);font-size:.8rem}.legend{color:var(--muted);gap:18px;margin-top:-10px;font-size:.82rem;display:flex}.legend i{border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.dot-used{background:var(--primary)}.dot-free{background:var(--neutral-soft);border:1px solid var(--border-strong)}.stats{grid-template-columns:1fr 1fr;gap:10px;width:100%;margin:0;display:grid}.stats div{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:10px 12px}.stats dt{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.76rem;font-weight:650}.stats dd{margin:2px 0 0;font-size:1.35rem;font-weight:750}.stats dd.bad{color:var(--danger)}.quota-users{flex-direction:column;min-width:0;min-height:0;display:flex}.quota-users h3{margin-bottom:12px;font-size:.95rem}.bars-area{flex:1;min-height:120px;overflow:hidden}.bars{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.bars li{grid-template-columns:minmax(0,200px) minmax(40px,1fr) auto;align-items:center;gap:12px;min-width:0;height:34px;display:grid}.bar-label{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600;overflow:hidden}.bar-track{background:var(--neutral-soft);border-radius:999px;height:14px;display:block;overflow:hidden}.bar-fill{background:var(--primary);border-radius:999px;height:100%;display:block}.bar-value{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.allocate{border-top:1px solid var(--border);flex-wrap:wrap;align-items:flex-end;gap:12px;padding-top:14px;display:flex}.allocate .field{flex:200px;min-width:0;max-width:260px}.allocate .quick{gap:6px;padding-bottom:1px;display:flex}.allocate .btn{white-space:nowrap;flex:none}.allocate .hint{flex:1 0 100%}.allocate .reset-area{margin-left:auto}.area-total+.btn{white-space:nowrap;flex:none;align-self:stretch;min-width:0;margin-top:10px}@media (width>=900px) and (height<=820px){.quota-summary{gap:12px}.quota-summary .donut{--donut-size:170px!important}.donut-center strong{font-size:1.7rem}.legend{margin-top:-4px}.stats{gap:8px}.stats div{padding:7px 12px}.stats dd{font-size:1.15rem}}@media (width>=900px) and (height<=700px){.quota-summary{gap:8px}.quota-summary .donut{--donut-size:120px!important}.donut-center strong{font-size:1.35rem}.legend{display:none}.stats div{padding:5px 10px}.stats dt{font-size:.68rem}.stats dd{font-size:1rem}.area-list{gap:6px}.area-row{gap:4px;padding:8px 12px}.area-total{padding-top:8px}.area-total+.btn{margin-top:8px}}.quota-note{border-top:1px solid var(--border);padding-top:14px}.quota-hint{background:var(--neutral-soft);border-radius:10px;align-items:flex-start;padding:10px 12px}.quota-hint .icon{margin-top:2px}.nav-badge{background:var(--danger);min-width:20px;height:20px;color:var(--on-danger);border-radius:999px;place-items:center;padding:0 6px;font-size:.72rem;font-weight:700;display:inline-grid}.nav-badge.online{background:var(--ok);color:var(--surface)}.open-card{border:1px solid var(--border);background:var(--surface-2);color:inherit;border-radius:14px;align-items:center;gap:14px;padding:14px;text-decoration:none;display:flex}.open-card>span:nth-child(2){flex:1;display:grid}.open-card small{color:var(--muted)}.open-card:hover{border-color:var(--primary)}.open-card[aria-disabled=true],.btn[aria-disabled=true]{opacity:.55;pointer-events:none}.viewer-state{height:100%;min-height:160px;color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:12px;padding:16px;display:grid}.back-btn{color:var(--primary);font:inherit;cursor:pointer;background:0 0;border:0;align-self:flex-start;align-items:center;gap:6px;padding:6px 10px 6px 4px;font-weight:650;display:inline-flex}.fab,.bottom-nav,.area-select{display:none}.auth-card.done{text-align:center;justify-items:center}.done-icon{background:var(--ok-soft);width:64px;height:64px;color:var(--ok);border-radius:50%;place-items:center;display:grid}.auth-card.done p{color:var(--muted)}.auth-card.done strong{color:var(--text)}.toast{z-index:30;border:1px solid #0000;border-radius:12px;align-items:flex-start;gap:10px;max-width:min(440px,100vw - 32px);padding:13px 12px 13px 14px;font-weight:550;animation:.2s ease-out rise;display:flex;position:fixed;bottom:24px;right:24px}.toast.error{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.toast.success{background:var(--ok-soft);border-color:var(--ok);color:var(--ok)}.toast .icon{margin-top:2px}.toast-close{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;margin-left:4px;padding:3px;display:grid}.toast-close:hover{opacity:1}@keyframes rise{0%{opacity:0;transform:translateY(-8px)}}@media (width>=900px) and (height>=540px){html,body,#root{height:100%;overflow:hidden}.app{flex-direction:column;height:100dvh;padding:0 32px 24px;display:flex}.topbar{flex:none}.workspace{flex:1;min-height:0}.rail{grid-template-rows:minmax(0,1fr);min-height:0}.history{min-height:0}.viewer{flex:1;height:auto;min-height:0}.users-card{flex:1}.quota-layout{flex:1;min-height:0}.quota-detail,.quota-areas{min-height:0}.page,.doc-table,.list-card{flex:1}}@media (width<=1080px){.topbar{grid-template-columns:auto minmax(0,1fr) auto}.topbar>:nth-child(2){justify-self:center}}@media (width<=899px){.workspace,.quota-layout,.quota-body{grid-template-columns:1fr}.allocate .field{max-width:none}.trail{grid-template-columns:1fr 1fr}.user-head{display:none}.user-row{grid-template-columns:1fr 1fr;height:auto;padding-block:10px}.toolbar{flex-wrap:wrap;width:100%;margin-left:0}.search{width:100%}.account-text{display:none}.empty-stage{min-height:320px}.modal{width:96vw;height:94dvh}.modal-body{grid-template-columns:1fr;overflow-y:auto}.modal-options{border-right:0;border-bottom:1px solid var(--border)}.modal-preview .viewer{flex:none;height:55vh}.dropzone.big{min-height:200px}}@media (width<=560px){.app{padding:14px 12px 24px}.two{grid-template-columns:minmax(0,1fr)}.card{padding:14px}.stage-head{flex-direction:column}.actions{width:100%}.actions .btn{flex:auto}}@media (width<=899px){html,body,#root{height:auto;overflow:visible}html{overflow-x:clip}body{-webkit-tap-highlight-color:transparent;font-size:16px}.app,.app.is-mobile{height:auto;padding:0 14px calc(16px + env(safe-area-inset-bottom));--nav-h:0px;display:block}.app.is-mobile:has(.bottom-nav){--nav-h:66px;padding-bottom:calc(var(--nav-h) + 20px + env(safe-area-inset-bottom))}.topbar{justify-content:space-between;gap:10px;height:56px;margin:0 -14px 16px;padding:0 14px;display:flex}.brand h1{font-size:1.05rem}.account-btn{padding:4px}.account-btn>.icon,.account-text{display:none}.menu{width:auto;position:fixed;top:60px;left:12px;right:12px}.account-backdrop{z-index:60;background:#0f121873;display:block;position:fixed;inset:0}.account-menu{z-index:61;width:auto;max-height:88dvh;padding-bottom:env(safe-area-inset-bottom);border-bottom:0;border-radius:20px 20px 0 0;position:fixed;inset:auto 0 0}.account-grip{background:var(--border-strong);border-radius:999px;flex:none;width:40px;height:4px;margin:8px auto 0;display:block}.account-item{min-height:50px}.account-theme button{height:40px}.bottom-nav{z-index:15;padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface);grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav>button,.bn-more>button{width:100%;min-width:0;min-height:52px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:12px;justify-items:center;gap:2px;padding:4px 2px;font-size:.72rem;font-weight:650;display:grid}.bottom-nav>button.active{color:var(--primary);background:var(--primary-soft)}.bn-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.bn-more{min-width:0;display:grid;position:relative}.bn-sheet{border:1px solid var(--border);background:var(--surface);border-radius:14px;gap:2px;width:220px;padding:6px;display:grid;position:absolute;bottom:calc(100% + 10px);right:0;box-shadow:0 12px 32px #00000059}.bn-sheet button{min-height:46px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:0 12px;font-size:.95rem;display:flex}.bn-sheet button:hover{background:var(--neutral-soft)}.bn-sheet button>span:not(.nav-badge){flex:1}.bn-icon{display:grid;position:relative}.bn-icon .nav-badge{min-width:18px;height:18px;font-size:.66rem;position:absolute;top:-6px;right:-12px}body:has(.stage-card.compact) .bottom-nav{display:none}body:has(.stage-card.compact) .app.is-mobile{padding-bottom:0}.fab{right:16px;bottom:calc(var(--nav-h,0px) + 16px + env(safe-area-inset-bottom));z-index:14;background:var(--primary);color:var(--primary-text);font:inherit;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:8px;padding:14px 20px;font-weight:700;display:inline-flex;position:fixed}.app.is-mobile:has(.fab){padding-bottom:calc(var(--nav-h) + 90px + env(safe-area-inset-bottom))}.btn{min-height:44px}.btn.small{min-height:38px}.icon-btn{width:40px;height:40px}.chip{min-height:42px;padding-inline:16px}.seg{min-height:46px}.stepper{grid-template-columns:52px 1fr 52px}.stepper button,.stepper input{min-height:46px}.input,select,textarea,.search input,.stepper input{font-size:16px}select,.input{min-height:46px}.workspace,.workspace.mobile{display:block}.history{padding:14px;display:block}.history .card-head{margin-bottom:12px}.new-btn{display:none}.jobs-area{min-height:0;overflow:visible}.job-row{height:auto;min-height:66px}.job{min-height:66px;padding:10px 46px 10px 12px}.job.no-del{padding-right:12px}.job-del{width:40px;height:40px}.confirm{flex-wrap:wrap;min-height:66px;padding:10px 12px}.stage-card.compact{min-height:calc(100dvh - 76px);padding:14px 14px 0;display:flex}.stage-card.compact .stage-head{flex-direction:column;gap:10px}.stage-card.compact .stage-title h2{white-space:normal;overflow-wrap:anywhere;font-size:1.1rem}.stage-card.compact .stage-title-row{flex-wrap:wrap}.trail{grid-template-columns:1fr;gap:6px}.trail li{padding:8px 10px}.stage-card.compact .action-bar{z-index:5;padding:12px 14px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface);flex-direction:column;align-items:stretch;margin:auto -14px 0;position:sticky;bottom:0}.stage-card.compact .action-info{flex:none}.stage-card.compact .specs li{padding:2px 9px;font-size:.74rem}.stage-card.compact .hint.tip{display:none}.stage-card.compact .actions{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;display:grid}.stage-card.compact .actions .btn{width:100%}.stage-card.compact .actions .btn.primary{grid-column:1/-1}.printer-pick{width:100%}.printer-pick select{flex:1;max-width:none}.modal{border:0;border-radius:0;width:100vw;max-width:none;height:100dvh;max-height:none}.modal-body{grid-template-columns:1fr;overflow-y:auto}.modal-preview{order:-1;min-height:auto;padding:12px}.modal-options{border-right:0;padding:14px}.dropzone.big{flex:none;min-height:200px}.modal-foot{padding:10px 14px calc(10px + env(safe-area-inset-bottom))}.modal-foot .btn{flex:1}.modal-foot .btn.primary{flex:2}.file-meta small .local{display:none}.file-bar{flex-wrap:wrap}.dialog{max-height:96dvh;overflow-y:auto}.dialog-foot .btn{flex:1}.user-head{display:none}.users-card{padding:14px;display:block}.users-card .card-head{margin-bottom:12px}.toolbar{flex-wrap:wrap;width:100%;margin-left:0}.toolbar .search{flex:100%;width:100%}.toolbar select{flex:1}.table-area{min-height:0;overflow:visible}.user-row{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;grid-template-columns:1fr auto;grid-template-areas:"name state""role role""area disc""actions actions";gap:8px 12px;height:auto;margin-bottom:10px;padding:12px;display:grid}.c-name{grid-area:name}.c-state{grid-area:state;justify-self:end}.c-role{grid-area:role}.c-area{white-space:normal;grid-area:area}.c-disc{white-space:normal;text-align:right;grid-area:disc}.c-actions{flex-wrap:wrap;grid-area:actions;justify-content:flex-start;gap:8px}.role-select{width:100%}.quota-layout,.quota-layout.single{flex-direction:column;gap:14px;display:flex}.area-select{border:1px solid var(--border-strong);background:var(--surface);border-radius:12px;width:100%;padding:12px;font-weight:650;display:block}.quota-detail{padding:14px}.quota-body{grid-template-columns:1fr;gap:20px}.bars-area{min-height:0;overflow:visible}.bars li{grid-template-columns:minmax(70px,110px) minmax(0,1fr) 44px;gap:8px}.allocate{flex-direction:column;align-items:stretch}.allocate .field{flex:none;max-width:none}.allocate .quick .btn{flex:1}.allocate .btn{flex:none}.allocate .reset-area,.muted-note{width:100%;margin-left:0}.auth-page{padding:14px}.auth-card{padding:20px}.toast{max-width:none;inset:62px 12px auto}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.links-card{flex-direction:column;gap:12px;min-height:0;display:flex}.links-area{flex:1;min-height:200px;overflow:hidden}.links-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));grid-auto-rows:64px;align-content:start;gap:8px;margin:0;padding:0;list-style:none;display:grid}.link-tile{border:1px solid var(--border);background:var(--surface);border-radius:12px;align-items:center;gap:2px;min-width:0;padding-right:8px;transition:border-color .15s,background .15s;display:flex}.link-tile:hover{border-color:var(--border-strong);background:var(--surface-2)}.link-main{min-width:0;height:100%;color:var(--text);border-radius:12px;flex:1;align-items:center;gap:12px;padding:0 6px 0 12px;text-decoration:none;display:flex}.link-main:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.link-text{gap:2px;min-width:0;display:grid}.link-text strong{text-overflow:ellipsis;white-space:nowrap;font-size:.93rem;font-weight:600;overflow:hidden}.link-text span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.link-main:hover .link-text strong{text-decoration:underline}.link-icon{background:var(--tone-bg);width:40px;height:40px;color:var(--tone-fg);border-radius:10px;flex:none;place-items:center;font-size:1.05rem;font-weight:700;display:grid}.link-icon img{object-fit:contain;border-radius:4px;width:22px;height:22px}.link-icon[data-cat=SYSTEMS]{--tone-bg:#e1effc;--tone-fg:#145a9c}.link-icon[data-cat=PEDAGOGICAL]{--tone-bg:#dcf5ee;--tone-fg:#086650}.link-icon[data-cat=COMMUNICATION]{--tone-bg:#fff2dc;--tone-fg:#8a4b00}.link-icon[data-cat=DOCUMENTS]{--tone-bg:#eceef3;--tone-fg:#434a56}.link-icon[data-cat=TRAINING]{--tone-bg:#f3e8ff;--tone-fg:#6b21a8}.link-icon[data-cat=OTHER]{--tone-bg:#f1f2f5;--tone-fg:#5b6272}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .link-icon[data-cat=SYSTEMS]{--tone-bg:#10304a;--tone-fg:#9fd5ff}:root:not([data-theme=light]) .link-icon[data-cat=PEDAGOGICAL]{--tone-bg:#0f3329;--tone-fg:#6fe6c2}:root:not([data-theme=light]) .link-icon[data-cat=COMMUNICATION]{--tone-bg:#3a2a10;--tone-fg:#ffc46b}:root:not([data-theme=light]) .link-icon[data-cat=DOCUMENTS]{--tone-bg:#262b37;--tone-fg:#c3c9d6}:root:not([data-theme=light]) .link-icon[data-cat=TRAINING]{--tone-bg:#2e1a45;--tone-fg:#d8b4fe}:root:not([data-theme=light]) .link-icon[data-cat=OTHER]{--tone-bg:#232835;--tone-fg:#98a0b0}}:root[data-theme=dark] .link-icon[data-cat=SYSTEMS]{--tone-bg:#10304a;--tone-fg:#9fd5ff}:root[data-theme=dark] .link-icon[data-cat=PEDAGOGICAL]{--tone-bg:#0f3329;--tone-fg:#6fe6c2}:root[data-theme=dark] .link-icon[data-cat=COMMUNICATION]{--tone-bg:#3a2a10;--tone-fg:#ffc46b}:root[data-theme=dark] .link-icon[data-cat=DOCUMENTS]{--tone-bg:#262b37;--tone-fg:#c3c9d6}:root[data-theme=dark] .link-icon[data-cat=TRAINING]{--tone-bg:#2e1a45;--tone-fg:#d8b4fe}:root[data-theme=dark] .link-icon[data-cat=OTHER]{--tone-bg:#232835;--tone-fg:#98a0b0}.link-btn-icon{width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;flex:none;place-items:center;padding:0;display:grid}.link-btn-icon:hover{background:var(--neutral-soft);color:var(--text)}.link-btn-icon.danger{color:var(--danger)}.link-btn-icon.danger:hover{background:var(--danger-soft);color:var(--danger)}.links-foot{border-top:1px solid var(--border);min-height:34px;color:var(--muted);flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:8px 16px;padding-top:12px;font-size:.86rem;display:flex}.link-options{gap:8px;display:grid}.link-options .btn{justify-content:flex-start;min-height:48px}.link-categories{flex-wrap:wrap;gap:8px;display:flex}.link-categories button{border:1.5px solid var(--border);background:var(--surface);min-height:36px;color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:0 14px;font-size:.86rem;font-weight:500}.link-categories button:hover{border-color:var(--border-strong)}.link-categories button[aria-checked=true]{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-hover);font-weight:600}.links-empty{height:100%;min-height:200px;color:var(--muted);text-align:center;align-content:center;justify-items:center;gap:8px;display:grid}.links-empty strong{color:var(--text);font-size:1.05rem}.links-empty .empty-icon{background:var(--primary-soft);width:60px;height:60px;color:var(--primary);border-radius:18px;place-items:center;display:grid}.link-frame{border:1px solid var(--border);background:#fff;border-radius:10px;height:min(64dvh,660px);position:relative;overflow:hidden}.link-frame iframe{border:0;width:100%;height:100%;display:block;position:relative}.link-frame-spinner{margin:-17px 0 0 -17px;position:absolute;top:50%;left:50%}.link-fallback{gap:12px;max-width:640px;margin:0 auto;display:grid}.link-fallback img{object-fit:cover;border-radius:12px;width:100%;height:260px}.link-fallback h3{font-size:1.2rem}.link-fallback p{color:var(--muted)}.link-preview-host{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;align-self:center;margin-right:auto;font-size:.86rem;overflow:hidden}@media (width>=900px) and (height>=540px){.links-card{flex:1}.links-area{min-height:0}}@media (width>=900px){.links-filters{flex-wrap:nowrap}.links-filters .seg-tabs{flex:0 auto;min-width:0}.links-filters .search{flex:0 0 260px;width:260px}}@media (width<=899px){.links-card{padding:10px;display:block}.links-area{min-height:0;overflow:visible}.links-grid{grid-template-columns:minmax(0,1fr);grid-auto-rows:minmax(64px,auto);gap:8px}.link-tile{padding-right:4px}.link-main{min-height:64px}.link-text strong{font-size:.98rem}.link-text span{font-size:.84rem}.link-btn-icon{width:44px;height:44px}.links-foot{padding-top:10px}.link-frame{height:60dvh}}.topbar-actions{justify-self:end;align-items:center;gap:10px;display:flex}.bell{position:relative}.bell-btn{border:1px solid var(--border);background:var(--surface);width:42px;height:42px;color:var(--text);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid;position:relative}.bell-btn:hover{border-color:var(--border-strong)}.bell-badge{border:2px solid var(--bg);background:var(--danger);min-width:19px;height:19px;color:var(--on-danger);box-sizing:content-box;border-radius:999px;place-items:center;padding:0 5px;font-size:.68rem;font-weight:700;display:grid;position:absolute;top:-4px;right:-4px}.bell-panel{z-index:25;border:1px solid var(--border);background:var(--surface);border-radius:14px;flex-direction:column;width:380px;max-height:min(560px,100dvh - 100px);display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.bell-panel header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.bell-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px 10px;display:flex}.bell-panel ul{overscroll-behavior:contain;margin:0;padding:6px;list-style:none;overflow-y:auto}.bell-empty{color:var(--muted);text-align:center;padding:28px 16px}.bell-item{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:flex-start;gap:10px;padding:10px;display:flex}.bell-item:hover{background:var(--neutral-soft)}.bell-item.unread{background:var(--primary-soft)}.bell-item.unread:hover{filter:brightness(.97)}.bell-icon{background:var(--neutral-soft);width:30px;height:30px;color:var(--muted);border-radius:9px;flex:none;place-items:center;display:grid}.bell-icon.JOB_SUBMITTED,.bell-icon.JOB_READY_TO_PRINT{background:var(--warn-soft);color:var(--warn)}.bell-icon.JOB_FORWARDED,.bell-icon.JOB_APPROVED{background:var(--info-soft);color:var(--info)}.bell-icon.JOB_PRINTED{background:var(--ok-soft);color:var(--ok)}.bell-icon.JOB_REJECTED{background:var(--danger-soft);color:var(--danger)}.bell-icon.SHARE_INVITED{background:var(--info-soft);color:var(--info)}.bell-icon.SHARE_ACCEPTED{background:var(--ok-soft);color:var(--ok)}.bell-icon.SHARE_DECLINED{background:var(--danger-soft);color:var(--danger)}.bell-text{flex:1;gap:2px;min-width:0;display:grid}.bell-text strong{font-size:.92rem}.bell-text span{color:var(--muted);overflow-wrap:anywhere;font-size:.85rem;line-height:1.35}.bell-text small{color:var(--muted);opacity:.85;font-size:.74rem}.bell-dot{background:var(--primary);border-radius:50%;flex:none;width:9px;height:9px;margin-top:6px}.link-btn{color:var(--primary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.85rem;font-weight:650}.link-btn:hover{text-decoration:underline}.toast.info{background:var(--surface);border-color:var(--primary);color:var(--text)}.toast.info .icon{color:var(--primary)}.toast-text{justify-items:start;gap:3px;display:grid}.toast-text strong{font-weight:700}.toast.info .toast-text{font-size:.92rem;font-weight:500}.form-info{background:var(--info-soft);color:var(--info);border-radius:10px;padding:10px 12px;font-size:.9rem}.menu button.danger{color:var(--danger)}.menu button.danger:hover{background:var(--danger-soft)}.row-actions .icon-btn.danger:hover{background:var(--danger-soft);color:var(--danger)}@media (width<=899px){.topbar-actions{gap:8px}.bell-btn{width:40px;height:40px}.bell{position:static}.bell-panel{width:auto;max-height:calc(100dvh - 140px);position:fixed;top:64px;left:12px;right:12px}}.bell-foot{border-top:1px solid var(--border);background:var(--surface-2);padding:10px 14px;display:flex}.exams-card{flex-direction:column;min-height:0;display:flex}.exams-card .card-head{flex-wrap:wrap}.doc-menu{margin-left:auto;position:relative}.doc-menu .menu{width:220px}.exams-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin-bottom:14px;display:flex}.exams-toolbar .muted-note{margin:0}.exams-card>.muted-note{margin:0 0 12px}.exams-toolbar .toolbar{margin-left:auto}.exams-area{flex:1;min-height:160px;overflow:hidden}.bank-title{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;min-width:0;max-width:42ch;display:inline-flex;overflow:hidden}.folder-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-auto-rows:168px;align-content:start;gap:16px;display:grid}.folder-card{border:1px solid var(--border);background:var(--surface-2);width:100%;height:168px;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:14px;grid-template-rows:auto auto 1fr auto;gap:4px;padding:14px 16px;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid}.folder-card:hover{border-color:var(--primary);box-shadow:var(--shadow);transform:translateY(-1px)}.folder-icon{background:var(--primary-soft);width:46px;height:40px;color:var(--primary);border-radius:10px;place-items:center;display:grid}.folder-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:1rem;overflow:hidden}.folder-desc{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.84rem;line-height:1.35;display:-webkit-box;overflow:hidden}.folder-meta{color:var(--muted);font-size:.78rem}.question-list,.exam-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.question-row{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;align-items:center;gap:12px;height:68px;padding:0 12px;display:flex}.q-num{background:var(--neutral-soft);width:30px;height:30px;color:var(--muted);border-radius:9px;flex:none;place-items:center;font-size:.85rem;font-weight:700;display:grid}.q-body{flex:1;gap:4px;min-width:0;display:grid}.q-statement{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.q-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:.78rem;display:flex}.q-kind{border-radius:999px;padding:1px 8px;font-weight:700}.q-kind.CLOSED{background:var(--info-soft);color:var(--info)}.q-kind.OPEN{background:var(--warn-soft);color:var(--warn)}.q-tag{align-items:center;gap:4px;display:inline-flex}.exam-row{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;justify-content:space-between;align-items:center;gap:14px;height:84px;padding:0 14px;display:flex}.exam-info{gap:2px;min-width:0;display:grid}.exam-info strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.exam-info small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.exam-info .exam-warn{color:var(--warn);font-weight:600}.exam-actions{flex:none;align-items:center;gap:6px;display:flex}.question-row .row-actions .icon-btn.danger:hover,.exam-actions .icon-btn.danger:hover{background:var(--danger-soft);color:var(--danger)}.shared-tag{color:var(--muted);align-items:center;gap:5px;font-size:.76rem;font-weight:600;display:inline-flex}.pick-search{width:100%;margin-bottom:8px}.pick-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 10px;display:flex}.pick-head-actions{gap:12px;display:flex}.person-pick{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;gap:2px;max-height:230px;margin:0;padding:4px;list-style:none;display:grid;overflow-y:auto}.person-pick-row{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;padding:7px 10px;display:flex}.person-pick-row:hover{background:var(--neutral-soft)}.person-pick-row.active{background:var(--primary-soft);color:var(--primary)}.person-pick-row.active .person-pick-name small{color:inherit;opacity:.75}.person-pick-row>.icon{flex:none;margin-left:auto}.person-pick-name{flex:1;gap:0;min-width:0;display:grid}.person-pick-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.person-pick-name small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.person-pick-empty{color:var(--muted);text-align:center;padding:16px;font-size:.86rem}.area-chips{flex-wrap:wrap;gap:8px;display:flex}.area-chip{border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:7px 14px 7px 12px;font-size:.86rem;font-weight:650;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.area-chip:hover:not(:disabled){border-color:var(--area)}.area-chip.active{border-color:var(--area);background:var(--area-soft);color:var(--area-hover)}.area-chip:disabled{opacity:.7;cursor:default}.area-chip .icon{margin-left:-1px}.share-list{gap:8px;max-height:260px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.share-row{border:1px solid var(--border);border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.share-who{flex:1;gap:1px;min-width:0;display:grid}.share-who strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.share-who small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.share-meta{flex:none;justify-items:end;gap:3px;display:grid}.share-meta small{color:var(--muted)}.invite-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.invite-row{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;align-items:center;gap:14px;height:76px;padding:0 14px;display:flex}.invite-info{flex:1;gap:2px;min-width:0;display:grid}.invite-info strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.invite-info small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.invite-actions{flex:none;align-items:center;gap:8px;display:flex}.richtext-editor{grid-template-columns:minmax(0,1fr);gap:6px;min-width:0;display:grid}.richtext-toolbar{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.richtext-btn{border:1px solid var(--border-strong);background:var(--surface-2);min-width:30px;height:28px;color:var(--text);font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0 8px;font-size:.86rem;display:inline-flex}.richtext-btn:hover{border-color:var(--primary)}.richtext-btn.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.richtext-sep{background:var(--border);width:1px;height:20px;margin:0 2px}.richtext-preview{border:1px dashed var(--border-strong);background:var(--surface-2);border-radius:10px;gap:4px;padding:10px 12px;font-size:.92rem;line-height:1.6;display:grid}.richtext-preview p{margin:0}.richtext-display-wrap{justify-content:center;padding:6px 0;display:flex}.richtext-formula{display:inline-block}.richtext-formula.loading{color:var(--muted)}.richtext-formula-error{background:var(--danger-soft);color:var(--danger);border-radius:4px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em}.formula-input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.formula-preview-box{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;align-items:center;min-height:48px;padding:10px 12px;display:flex}.question-form{gap:16px;display:grid}.q-image-add{border:2px dashed var(--border-strong);background:var(--surface-2);color:var(--muted);font:inherit;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:18px;font-weight:600;display:flex}.q-image-add:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.q-image-box{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;grid-template-columns:180px 1fr;align-items:start;gap:14px;padding:10px;display:grid}.q-image-box img{object-fit:contain;background:#fff;border-radius:8px;width:100%;max-height:140px}.q-image-info{color:var(--muted);gap:10px;display:grid}.q-image-actions{flex-wrap:wrap;gap:8px;display:flex}.ata-image-stack{gap:10px;margin:0;padding:0;list-style:none;display:grid}.auth-image-loading,.auth-image-fallback{background:var(--neutral-soft);min-height:90px;color:var(--muted);border-radius:8px;place-items:center;font-size:.8rem;display:grid}.q-alt-count{color:var(--muted);align-items:center;gap:12px;font-size:.9rem;display:flex}.q-alts{gap:8px;margin:0;padding:0;list-style:none;display:grid}.q-alts li{align-items:center;gap:10px;display:flex}.q-alts .input{flex:1;min-width:0}.q-correct{border:2px solid var(--border-strong);background:var(--surface-2);width:38px;height:38px;color:var(--muted);cursor:pointer;border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid;position:relative}.q-correct input{opacity:0;cursor:pointer;position:absolute;inset:0}.q-correct:hover{border-color:var(--ok)}.q-correct.on{border-color:var(--ok);background:var(--ok);color:#fff}.q-points{max-width:220px}.editor,.editor-loading{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.editor-loading{min-height:320px}.editor-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;flex:none;align-items:center;gap:10px 14px;min-height:64px;padding:10px 16px;display:flex}.editor-title{flex:200px;min-width:0;line-height:1.25;display:grid}.editor-kind{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.7rem;font-weight:600}.editor-title strong{text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem;font-weight:600;overflow:hidden}.editor-status{border-right:1px solid var(--border);align-items:center;padding-right:14px;display:flex}.editor-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.editor-body{flex:1;grid-template-columns:210px minmax(0,1.05fr) minmax(0,1fr);min-height:0;display:grid}.editor-nav{border-right:1px solid var(--border);flex-direction:column;gap:2px;min-height:0;padding:16px 10px;display:flex;overflow-y:auto}.editor-nav button{min-height:42px;color:var(--muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;flex:none;align-items:center;gap:10px;padding:0 10px;font-size:.9rem;font-weight:500;display:flex}.editor-nav button:hover{color:var(--text);background:var(--neutral-soft)}.editor-nav button.active{color:var(--text);background:var(--surface-2);font-weight:600}.editor-step{border:2px solid var(--border-strong);width:22px;height:22px;color:var(--muted);border-radius:50%;flex:none;place-items:center;font-size:.7rem;font-weight:700;display:grid}.editor-step.done{border-color:var(--ok);background:var(--ok);color:var(--surface)}.editor-nav-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.editor-nav-meta{color:var(--muted);font-size:.75rem;font-weight:600}.editor-form{border-right:1px solid var(--border);grid-template-columns:minmax(0,1fr);align-content:start;gap:16px;min-width:0;min-height:0;padding:20px 22px 28px;display:grid;overflow-y:auto}.editor-form fieldset{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;grid-template-columns:minmax(0,1fr);gap:12px;min-width:0;margin:0;padding:18px 20px 20px;scroll-margin-top:16px;display:grid}.editor-form legend{float:left;width:100%;margin-bottom:2px;padding:0;font-size:1rem;font-weight:600}.editor-form legend .count{margin-left:4px}.editor-form .segmented{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}.editor-form .segmented .seg{white-space:normal;text-align:center;min-width:0}.editor-preview{background:var(--bg);flex-direction:column;min-width:0;min-height:0;display:flex}.editor-preview-tools{border-bottom:1px solid var(--border);flex:none;align-items:center;gap:10px;padding:10px 16px;display:flex}.editor-preview .exam-preview-stage{background:var(--bg);border:0;border-radius:0}.editor-mobile-actions{display:none}@media (width>=900px) and (width<=1279px){.editor-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.editor-nav,.editor-back-label{display:none}}.editor-form{container-type:inline-size}@container (width<=520px){.field-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}.pick-tree{gap:8px;margin:0;padding:0;list-style:none;display:grid}.pick-bank{border:1px solid var(--border);background:var(--surface);border-radius:12px;overflow:hidden}.pick-bank-head{align-items:center;gap:10px;padding:9px 12px;display:flex}.pick-bank-toggle{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:8px;padding:0;display:flex}.pick-bank-toggle strong{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.pick-bank-toggle small{color:var(--muted)}.pick-bank ul{gap:2px;margin:0;padding:0 8px 8px;list-style:none;display:grid}.pick-empty{color:var(--muted);padding:8px 12px;font-size:.85rem}.pick-q{cursor:pointer;border-radius:9px;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.pick-q:hover{background:var(--neutral-soft)}.pick-q.on{background:var(--primary-soft)}.pick-q input{margin-top:3px}.pick-q-body{gap:4px;min-width:0;display:grid}.pick-q-text{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:.9rem;line-height:1.35;display:-webkit-box;overflow:hidden}.pick-locked{background:var(--warn-soft);border-color:var(--warn)}.pick-bank-head.static{color:var(--warn)}.pick-bank-head.static strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.pick-bank-head.static small{color:var(--muted)}.pick-q.locked:hover{background:0 0}.pick-q.locked input:disabled{cursor:not-allowed}.segmented.three{grid-template-columns:repeat(3,1fr)}.exam-preview-stage{border:1px solid var(--border);background:var(--neutral-soft);border-radius:12px;flex:1;place-items:center;min-height:240px;display:grid;position:relative;overflow:hidden}.exam-preview-stage iframe{background:#fff;border:0;width:100%;height:100%;position:absolute;inset:0}.exam-preview-empty{max-width:280px;color:var(--muted);text-align:center;justify-items:center;gap:10px;display:grid}.exam-rendering{background:var(--surface);box-shadow:var(--shadow);color:var(--muted);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:.82rem;font-weight:600;display:inline-flex;position:absolute;top:10px;right:12px}@media (width>=900px) and (height>=540px){.exams-card,.editor,.editor-loading{flex:1}}@media (width<=899px){.exams-card{padding:14px;display:block}.exams-area{min-height:0;overflow:visible}.folder-grid{grid-template-columns:minmax(0,1fr)}.question-row{height:auto;min-height:68px;padding:10px 12px}.q-statement{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.exam-row{flex-direction:column;align-items:stretch;height:auto;padding:12px 14px}.exam-info small{white-space:normal}.exam-actions{flex-wrap:wrap}.exam-preview-stage{min-height:120px}.editor{background:0 0;border:0;border-radius:0;overflow:visible}.editor-bar{flex-wrap:nowrap;min-height:0;padding:0 0 12px}.editor-back{width:44px;min-width:44px;padding:0}.editor-back-label{display:none}.editor-status{border-right:0;padding-right:0;font-size:.8rem}.editor-title strong{font-size:1rem}.editor-modes{margin:4px 0 14px}.editor-modes>button{flex:1;justify-content:center}.editor-body{display:block}.editor-form{border:0;padding:0;overflow:visible}.editor-form fieldset{padding:16px}.editor.show-form .editor-preview,.editor.show-preview .editor-form{display:none}.editor-preview{border-radius:14px;overflow:hidden}.editor-preview .exam-preview-stage{min-height:50dvh}.editor-mobile-actions{z-index:5;padding:12px 0 calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--bg);flex-wrap:wrap;gap:10px;margin-top:16px;display:flex;position:sticky;bottom:0}.editor-mobile-actions .btn{white-space:nowrap;flex:140px;min-width:0;min-height:46px}body:has(.editor.is-mobile) .bottom-nav{display:none}body:has(.editor.is-mobile) .app.is-mobile{padding-bottom:0}.q-image-box{grid-template-columns:minmax(0,1fr)}.bank-title{max-width:60vw}}.question-form{min-width:0}.question-form .seg{white-space:normal;text-align:center}.exam-format{gap:12px;display:grid}.nav-label{white-space:nowrap}@media (width>=1241px){.nav button>.icon:first-child{display:none}}@media (width>=900px) and (width<=1240px){.nav button{padding:8px 11px}.nav button:not(.active) .nav-label{display:none}}.blocked-card{text-align:center;align-content:center;justify-items:center;gap:12px;min-height:320px;display:grid}.blocked-card p{max-width:460px;color:var(--muted)}.blocked-icon{background:var(--danger-soft);width:72px;height:72px;color:var(--danger);border-radius:22px;place-items:center;display:grid}.bn-lock{background:var(--danger);width:16px;height:16px;color:var(--on-danger);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-4px;right:-10px}.admin-card{flex-direction:column;min-height:0;display:flex}.admin-card .card-head{flex-wrap:wrap}.access-matrix{gap:8px;display:grid;overflow-x:auto}.access-matrix-head,.access-matrix-row{align-items:center;gap:12px;display:grid}.access-matrix-head{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;padding:0 14px 6px;font-size:.76rem;font-weight:700}.access-matrix-row{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;padding:12px 14px}.access-page{gap:2px;min-width:0;display:grid}.access-page small{color:var(--muted)}.access-cell{justify-content:center;align-items:center;display:flex}.access-cell.na{color:var(--border-strong)}.access-switch{border:1px solid var(--ok);background:var(--ok-soft);color:var(--ok);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:4px 12px 4px 4px;font-size:.82rem;font-weight:700;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.access-switch .access-knob{background:var(--ok);width:24px;height:24px;color:var(--surface);border-radius:50%;place-items:center;display:grid}.access-switch.blocked{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.access-switch.blocked .access-knob{background:var(--danger);color:var(--on-danger)}.access-switch:disabled{opacity:.6;cursor:progress}.access-user-head,.access-user-row{align-items:center;gap:10px;display:grid}.access-user-head{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;padding:0 12px 6px;font-size:.74rem;font-weight:700}.access-user-head span:not(:first-child){text-align:center}.access-user-table{flex-direction:column;flex:1;min-height:0;display:flex;overflow-x:auto}.access-users-area{flex:1;align-content:start;gap:8px;min-height:160px;display:grid;overflow-y:hidden}.access-user-row{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;height:64px;padding:0 12px}.access-user-row.inactive{opacity:.6}.access-person{align-items:center;gap:10px;min-width:0;display:flex}.access-person-text{gap:1px;min-width:0;display:grid}.access-person-text strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.access-person-text small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.access-chip{border:1px solid var(--border-strong);background:var(--surface);min-width:92px;color:var(--muted);font:inherit;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:6px 10px;font-size:.78rem;font-weight:650;display:inline-flex;position:relative}.access-chip.allowed{background:var(--ok-soft);color:var(--ok);border-color:#0000}.access-chip.blocked{background:var(--danger-soft);color:var(--danger);border-color:#0000}.access-chip:hover:not(:disabled){border-color:currentColor}.access-chip.exception:after{content:"";border:2px solid var(--surface-2);background:var(--warn);border-radius:50%;width:10px;height:10px;position:absolute;top:-3px;right:-3px}.access-chip:disabled{opacity:.6;cursor:progress}@media (width>=900px) and (height>=540px){.admin-card{flex:1}}@media (width<=899px){.admin-card,.blocked-card{padding:14px}.access-matrix-head,.access-user-head{display:none}.access-matrix-row{grid-template-columns:1fr 1fr;gap:10px 12px}.access-matrix-row .access-page{grid-column:1/-1}.access-matrix-row .access-cell{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:4px}.access-matrix-row .access-cell:before{content:attr(data-role);color:var(--muted);font-size:.74rem;font-weight:700}.access-matrix-row .access-cell.na{display:none}.access-users-area{min-height:0;overflow:visible}.access-user-row{grid-template-columns:1fr 1fr;gap:10px 12px;height:auto;padding:12px}.access-user-row .access-person{grid-column:1/-1}.access-user-row .access-cell{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:4px}.access-user-row .access-cell:before{content:attr(data-page);color:var(--muted);font-size:.74rem;font-weight:700}.access-user-row .access-cell.na{display:none}.access-chip{width:100%}}.admin-filters{margin-left:0}.access-person-text .area-dot{vertical-align:1px;display:inline-block}.online-list{align-content:start;gap:8px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.appearance-admin{grid-template-columns:minmax(0,1fr);align-content:start;gap:24px;min-height:0;display:grid;overflow-y:auto}.appearance-group{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.appearance-group-head h2{font-size:1.05rem;font-weight:700}.appearance-group-head p{color:var(--muted);margin-top:2px;font-size:.88rem}.appearance-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.appearance-seg{flex-wrap:wrap;gap:6px;display:flex}.appearance-seg button{border:1.5px solid var(--border);background:var(--surface);min-height:40px;color:var(--text);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:0 14px;font-size:.88rem;font-weight:600;display:inline-flex}.appearance-seg button .icon{color:var(--muted)}.appearance-seg button:hover:not(:disabled){border-color:var(--border-strong)}.appearance-seg button[aria-checked=true]{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-hover)}.appearance-seg button[aria-checked=true] .icon{color:var(--primary)}.appearance-seg button:disabled{cursor:progress}.appearance-foot{background:var(--neutral-soft);color:var(--muted);border-radius:10px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:.84rem;line-height:1.45;display:flex}.appearance-foot .icon{flex:none;margin-top:2px}@media (width<=899px){.appearance-row{grid-template-columns:minmax(0,1fr);gap:24px}}@media (width>=900px) and (height<=640px){.appearance-admin{gap:14px}.appearance-group{gap:8px}.appearance-foot{padding:7px 10px}}.online-row{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;align-items:center;gap:12px;padding:10px 14px;display:flex}.online-dot{background:var(--ok);width:9px;height:9px;box-shadow:0 0 0 3px var(--ok-soft);border-radius:50%;flex:none}.online-row .access-person-text{flex:1}.online-seen{color:var(--muted);flex:none;font-size:.8rem}.topic-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.topic-list li{align-items:flex-start;gap:10px;display:flex}.topic-dot{background:var(--text);border-radius:50%;flex:none;width:8px;height:8px;margin-top:15px}.topic-list textarea{resize:vertical;field-sizing:content;flex:1;min-width:0;min-height:42px}.topic-list .mention-field{flex:1}.topic-list .icon-btn{margin-top:6px}@media (width<=899px){.page-head{align-items:center;margin-bottom:14px}.page-head h1{font-size:1.4rem}.page-head p{display:none}.filters-row{flex-direction:column;align-items:stretch}.seg-tabs{width:100%}.seg-tabs>button{flex:auto;justify-content:center;min-height:40px;padding:0 10px;font-size:.86rem}.filters-row .filters{flex-direction:column}.filters-row .search,.filters-row .input,.filters-row select{width:100%}.doc-table{background:0 0;border:0;overflow:visible}.doc-area{min-height:0;overflow:visible}.doc-list{gap:10px}.doc-row{border:1px solid var(--border);background:var(--surface);border-radius:14px;grid-template-columns:minmax(0,1fr);gap:10px;height:auto;padding:14px;display:grid}.doc-row[data-area]:before{height:36px;top:16px;bottom:auto}.doc-icon{display:none}.doc-strong{white-space:normal;overflow-wrap:anywhere}.doc-badges{max-height:none}.doc-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr) repeat(3,44px);min-width:0;display:grid}.doc-actions .icon-btn.bordered{width:44px;height:44px}.doc-foot{border:0;min-height:44px;padding:0}}@media (width<=460px){.doc-actions{grid-template-columns:repeat(6,minmax(0,1fr))}.doc-actions .btn{grid-column:span 3;justify-content:center;min-height:44px}.doc-actions .icon-btn.bordered{grid-column:span 2;width:auto}}.mention-field{grid-template-columns:minmax(0,1fr);min-width:0;display:grid;position:relative}.mention-list{z-index:30;border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:2px;width:min(340px,100% - 16px);max-height:248px;margin:0;padding:6px;list-style:none;display:grid;position:absolute;left:8px;overflow-y:auto;box-shadow:0 10px 28px #0f142329}.mention-list li{cursor:pointer;border-radius:8px;align-items:center;gap:10px;min-width:0;padding:7px 8px;display:flex}.mention-list li.active{background:var(--primary-soft)}.mention-info{gap:1px;min-width:0;display:grid}.mention-info strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600;overflow:hidden}.mention-info small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.header-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}@media (width<=520px){.header-choices{grid-template-columns:minmax(0,1fr)}}.header-choice{border:1px solid var(--border-strong);background:var(--surface-2);min-width:0;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:12px;gap:10px;padding:10px;display:grid}.header-choice:hover{border-color:var(--primary)}.header-choice.active{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 1px var(--primary)}.header-choice-text{gap:2px;min-width:0;display:grid}.header-choice-text strong{font-size:.9rem}.header-choice-text small{color:var(--muted);font-size:.76rem;line-height:1.3}.header-thumb{background:#fff;border-radius:6px;align-content:start;gap:5px;height:70px;padding:7px;display:grid;box-shadow:inset 0 0 0 1px #d5d8e0}.header-thumb .ht-band{align-items:center;gap:5px;min-height:22px;display:flex}.header-thumb .ht-logo{background:linear-gradient(90deg,#e2365b 50%,#1fc6c9 50%);border-radius:3px 3px 8px 8px;flex:none;width:15px;height:17px}.header-thumb .ht-lines{flex:1;gap:3px;min-width:0;display:grid}.header-thumb .ht-lines i{background:#8a8f9c;border-radius:2px;width:50%;height:3px}.header-thumb .ht-lines b{background:#1b1f2a;border-radius:2px;width:85%;height:5px}.header-thumb.classic{box-shadow:none;border:1.5px solid #1b1f2a;border-radius:6px;gap:0;padding:0;overflow:hidden}.header-thumb.classic .ht-band{border-bottom:1px solid #1b1f2a;padding:3px 5px}.header-thumb.classic .ht-model{color:#1b1f2a;background:#eef0f3;border-left:1px solid #1b1f2a;align-self:stretch;place-items:center;width:16px;margin:-3px -5px -3px 0;font-size:.66rem;font-weight:700;display:grid}.header-thumb.classic .ht-row{background:linear-gradient(90deg,#0000 79.5%,#1b1f2a 79.5% 80.5%,#0000 80.5%);border-bottom:1px solid #1b1f2a;flex:1;min-height:12px}.header-thumb.classic .ht-row.split{background:linear-gradient(90deg,#0000 32.5%,#1b1f2a 32.5% 33.5%,#0000 33.5% 65.5%,#1b1f2a 65.5% 66.5%,#eef0f3 66.5%);border-bottom:0}.header-thumb.modern .ht-tag{background:#1b1f2a;border-radius:3px;flex:none;width:12px;height:18px}.header-thumb.modern .ht-grade{border:1.5px solid #1b1f2a;border-radius:3px;flex:none;width:18px;height:18px}.header-thumb.modern .ht-fields{background:#eef0f3;border-radius:3px;align-items:flex-end;height:13px;padding:0 4px 3px;display:flex}.header-thumb.modern .ht-line{background:#9aa0ad;flex:1;height:1px}.header-thumb.modern .ht-rule{background:#1b1f2a;height:2px}.header-thumb.summary .ht-tag{background:#1b1f2a;border-radius:2px;flex:none;width:18px;height:7px}.header-thumb.summary .ht-rule{background:#1b1f2a;height:2px}.header-thumb.summary .ht-fields{gap:6px;padding-top:6px;display:flex}.header-thumb.summary .ht-line{background:#9aa0ad;flex:1;height:1px}.header-thumb.summary .ht-line.short{flex:0 0 26%}.home-page{gap:20px}.home-hello{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px 24px;display:flex}.home-hello-text{gap:4px;min-width:0;display:grid}.home-date{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.8rem;font-weight:600}.home-hello h1{letter-spacing:-.01em;font-size:1.8rem;font-weight:700}.home-hello p{color:var(--muted);font-size:.95rem}.home-actions{flex-wrap:wrap;gap:10px;display:flex}.home-actions .btn{align-items:center;gap:8px;min-height:44px;display:inline-flex}.home-grid{grid-template:"sched sched sched""mural mid cal"1fr/minmax(0,5fr) minmax(0,4fr) minmax(0,3fr);gap:16px;display:grid}.home-schedule{grid-area:sched}.home-mural{grid-area:mural}.home-mid{flex-direction:column;grid-area:mid;gap:16px;min-width:0;min-height:0;display:flex}.home-mid>.home-jobs{flex:1}.home-calendar{grid-area:cal}.home-card{flex-direction:column;gap:14px;min-width:0;padding:20px;display:flex}.home-card-head{min-width:0;color:var(--primary);align-items:center;gap:10px;display:flex}.home-card-head h2{color:var(--text);white-space:nowrap;font-size:1.05rem;font-weight:700}.home-card-extra{min-width:0;color:var(--muted);text-align:right;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.84rem;overflow:hidden}.home-card-extra strong{color:var(--text)}.home-muted{color:var(--muted);font-size:.84rem}.home-empty{color:var(--muted);text-align:center;flex:1;align-content:center;place-items:center;gap:10px;padding:16px;display:grid}.home-empty p{max-width:420px;font-size:.92rem}.home-hello-title{flex-wrap:wrap;align-items:center;gap:6px 14px;min-width:0;display:flex}.home-tags{flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.home-tags>li{font-size:.8rem;font-weight:600;display:flex}.home-tags>li:not(:has(.area-badge)){background:var(--neutral-soft);color:var(--text);border-radius:999px;padding:3px 10px}.home-shifts{gap:12px;display:grid}.home-shift{gap:7px;min-width:0;display:grid}.home-shift-label{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:.74rem;font-weight:600}.period-strip{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.period{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-direction:column;justify-content:space-between;gap:6px;min-width:0;min-height:62px;padding:9px 10px;display:flex}.period.break{border-style:dashed;border-color:var(--border-strong);color:var(--muted)}.period.past{background:var(--surface-2);color:var(--muted);border-color:#0000}.period.now{border-color:var(--primary);background:var(--primary);color:var(--primary-text)}.period-name{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 6px;min-width:0;font-size:.84rem;font-weight:600;display:flex}.period-now{background:var(--surface);color:var(--primary);text-transform:uppercase;border-radius:999px;flex:none;padding:1px 6px;font-size:.62rem;font-weight:700}@media (width>=900px) and (width<=1100px){.period-now{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}}.period-time{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.74rem}.period.class.future .period-time{color:var(--muted)}.period-bar{background:color-mix(in srgb, var(--primary-text) 30%, transparent);border-radius:2px;height:4px;display:flex;overflow:hidden}.period-bar i{background:var(--primary-text);border-radius:2px}button.period{width:100%;height:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .12s,box-shadow .12s}button.period:hover,button.period:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.period-strip>li:not(.period){min-width:0;display:flex}.period-pop{z-index:50;border:1px solid var(--border);background:var(--surface);pointer-events:none;border-radius:12px;gap:8px;max-height:calc(100dvh - 16px);padding:12px 14px;font-size:.8rem;display:grid;position:fixed;overflow:hidden;box-shadow:0 12px 32px #0000002e}.period-pop strong{font-size:.84rem}.period-pop p{color:var(--muted);margin:0}.period-pop dl{gap:4px;margin:0;line-height:18px;display:grid}.period-pop dl>div{grid-template-columns:48px minmax(0,1fr);gap:8px;display:grid}.period-pop dt{color:var(--muted);font-weight:700}.period-pop dd{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;overflow:hidden}.period-table{border-collapse:collapse;width:100%;font-size:.88rem}.period-table th{color:var(--muted);letter-spacing:.04em;text-align:left;text-transform:uppercase;padding:0 8px 8px;font-size:.72rem;font-weight:600}.period-table td{border-top:1px solid var(--border);vertical-align:top;padding:9px 8px}.period-table th:first-child,.period-table td:first-child{padding-left:0}.period-table th:last-child,.period-table td:last-child{padding-right:0}.period-teacher{white-space:nowrap;font-weight:700}.period-classes{flex-wrap:wrap;gap:4px;display:flex}.period-class{background:var(--primary-soft);color:var(--primary);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:.78rem;font-weight:600}.home-mural .seg-tabs{align-self:flex-start}.home-feed{flex-direction:column;min-height:0;display:flex}@media (width>=900px){.home-feed{max-height:420px;overflow-y:auto}}.announcement{border-bottom:1px solid var(--border);gap:12px;min-width:0;padding:12px 0;display:flex}.announcement:last-child{border-bottom:0}.announcement.pinned{background:var(--warn-soft);border:0;border-radius:12px;margin-bottom:6px;padding:14px}.announcement.pinned.info{background:var(--info-soft)}.announcement.pinned.urgent{background:var(--danger-soft)}.announcement-icon{background:var(--neutral-soft);width:36px;height:36px;color:var(--muted);border-radius:10px;flex:none;place-items:center;display:grid}.announcement.urgent .announcement-icon{background:var(--danger-soft);color:var(--danger)}.announcement.event .announcement-icon{background:var(--info-soft);color:var(--info)}.announcement.reminder{background:var(--info-soft);border:0;border-radius:12px;margin-bottom:6px;padding:12px 14px}.announcement.reminder .announcement-icon{background:var(--surface)}.announcement.reminder .reminder-desc{color:var(--muted)}.announcement.invite{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;margin-bottom:6px;padding:12px 14px}.announcement.invite .announcement-icon{background:var(--surface);color:var(--primary)}.invite-open{color:var(--text);font-size:inherit;text-align:left;overflow-wrap:anywhere}.invite-actions{gap:8px;margin-top:4px;display:flex}.announcement.pinned .announcement-icon{background:var(--surface)}.announcement-body{flex:1;gap:4px;min-width:0;display:grid}.announcement-top{flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;display:flex}.announcement h3{overflow-wrap:anywhere;min-width:0;margin:0;font-size:.93rem;font-weight:700}.announcement p{color:var(--text);white-space:pre-line;overflow-wrap:anywhere;margin:0;font-size:.87rem;line-height:1.45}.announcement-tag{background:var(--neutral-soft);color:var(--muted);border-radius:999px;padding:1px 8px;font-size:.7rem;font-weight:700}.announcement.urgent .announcement-tag{background:var(--danger-soft);color:var(--danger)}.announcement.event .announcement-tag{background:var(--info-soft);color:var(--info)}.announcement.pinned .announcement-tag{background:var(--surface)}.announcement.urgent h3{color:var(--danger)}.announcement-meta{color:var(--muted);font-size:.78rem}.announcement-actions{flex:none;align-items:flex-start;gap:2px;display:flex}.announcement-actions .icon-btn.danger:hover{color:var(--danger)}.feed-item{border:0;border-bottom:1px solid var(--border);width:100%;color:var(--text);font:inherit;text-align:left;background:0 0;align-items:flex-start;gap:12px;padding:11px 0;display:flex}.feed-item:last-child{border-bottom:0}button.feed-item{cursor:pointer}button.feed-item:hover .feed-text strong{text-decoration:underline}.feed-icon{background:var(--primary-soft);width:34px;height:34px;color:var(--primary);border-radius:10px;flex:none;place-items:center;display:grid}.feed-icon.ok{background:var(--ok-soft);color:var(--ok)}.feed-icon.danger{background:var(--danger-soft);color:var(--danger)}.feed-icon.area{background:var(--neutral-soft);color:var(--text)}.feed-text{flex:1;gap:2px;min-width:0;display:grid}.feed-text strong{font-size:.9rem;font-weight:600}.feed-item.unread .feed-text strong{font-weight:700}.feed-text span{color:var(--muted);overflow-wrap:anywhere;font-size:.85rem;line-height:1.4}.feed-text small{color:var(--muted);font-size:.76rem}.feed-dot{background:var(--primary);border-radius:50%;flex:none;width:8px;height:8px;margin-top:6px}.home-job-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.home-job{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:12px;gap:10px;padding:13px 14px;display:grid}.home-job:hover{border-color:var(--border-strong);background:var(--surface-2)}.home-job-top{justify-content:space-between;align-items:flex-start;gap:10px;min-width:0;display:flex}.home-job-name{gap:2px;min-width:0;display:grid}.home-job-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.home-job-name small,.home-job-note{color:var(--muted);font-size:.78rem}.status-pill{white-space:nowrap;border-radius:999px;flex:none;padding:3px 9px;font-size:.75rem;font-weight:600}.status-pill.warn{background:var(--warn-soft);color:var(--warn)}.status-pill.info{background:var(--info-soft);color:var(--info)}.status-pill.ok{background:var(--ok-soft);color:var(--ok)}.status-pill.danger{background:var(--danger-soft);color:var(--danger)}.home-steps{gap:4px;display:grid}.home-step{gap:5px;min-width:0;display:grid}.home-step i{background:var(--border);border-radius:3px;height:5px}.home-step.done i{background:var(--primary)}.home-step.current i{background:color-mix(in srgb, var(--primary) 45%, var(--surface))}.home-step.rejected i{background:var(--danger)}.home-step small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.home-step.current small{color:var(--primary);font-weight:600}.home-quota{background:var(--surface-2);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin-top:auto;padding:12px 14px;display:flex}.home-quota-label{font-size:.85rem;font-weight:600}.home-quota-value{color:var(--muted);font-size:.85rem}.home-quota-value strong{color:var(--area,var(--primary));font-size:1.25rem;font-weight:700}@media (width<=899px){.home-page{gap:16px;padding-top:14px}.home-hello h1{font-size:1.5rem}.home-actions{grid-template-columns:repeat(auto-fit,minmax(0,1fr));width:100%;display:grid}.home-actions .btn{white-space:nowrap;justify-content:center;padding-inline:12px}.home-grid{grid-template:none/minmax(0,1fr);gap:14px}.home-grid>*{grid-area:auto}.home-schedule{order:1}.home-calendar{order:2}.home-mural{order:3}.home-mid{order:4;gap:14px}.home-card{padding:16px}.home-card-head{flex-wrap:wrap}.home-card-extra{text-align:left;white-space:normal;flex-basis:100%;order:3}.period-strip{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px}.period{min-height:54px;padding:8px}}@media (width>=900px) and (height>=540px){.home-page{gap:14px;min-height:0;overflow:hidden}.home-hello{flex-wrap:nowrap;gap:10px 24px}.home-hello-text{flex:1;min-width:0}.home-hello-title{flex-wrap:nowrap;min-width:0}.home-hello-title h1{white-space:nowrap;flex:none}.home-tags{flex-wrap:nowrap;flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000)}.home-tags>li{flex:none}.home-hello p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.home-actions{flex-wrap:nowrap;flex:none}.home-hello h1{font-size:1.5rem}.home-grid{flex:1;grid-template-rows:auto minmax(0,1fr);gap:14px;min-height:0}.home-card{gap:10px;padding:14px 18px}.home-mural,.home-jobs{min-height:0;overflow:hidden}.home-mid{gap:14px}.home-calendar .cal-grid{flex:1}.home-calendar{min-height:min-content}.home-feed{flex:1;min-height:0;max-height:none;overflow-y:auto}.home-job-list{flex:1;align-content:start;min-height:0;overflow-y:auto}.home-shifts{gap:8px}.home-shift{grid-template-columns:56px minmax(0,1fr);align-items:center;gap:10px}.period-strip{grid-template-columns:none;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:6px}.period{gap:3px;min-height:48px;padding:7px 9px}.period-name{flex-wrap:nowrap}.period-name,.period-time{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}}@media (width>=900px) and (height>=540px) and (height<=820px){.home-shifts{gap:6px}.period{gap:1px;min-height:38px;padding:4px 8px}.period-name{font-size:.8rem}.period-time{font-size:.72rem}}@media (width>=900px) and (height>=540px) and (height<=759px){.home-date,.home-hello p{display:none}.home-hello h1{font-size:1.3rem}.home-actions .btn{min-height:38px}.home-schedule .home-card-head{margin-bottom:-2px}.period{gap:1px;min-height:36px;padding:4px 8px}}@media (width>=900px) and (height>=540px) and (height<=639px){.home-card{padding-block:12px}.home-tags{display:none}.home-page,.home-grid{gap:12px}.home-hello h1{font-size:1.2rem}.home-actions .btn{min-height:34px;padding-block:6px}.period{min-height:34px;padding:3px 8px}}@media (width>=900px) and (height>=540px){.schedule-page{min-height:0;overflow-y:auto}}.schedule-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:18px;display:grid}.schedule-side{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.schedule-grid,.schedule-editor{flex-direction:column;gap:12px;min-width:0;display:flex}.schedule-editor-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;display:flex}.schedule-grid h2,.schedule-editor h2{font-size:1.05rem;font-weight:700}.schedule-rows{gap:8px;margin:0;padding:0;list-style:none;display:grid}.schedule-row{grid-template-columns:minmax(96px,1fr) 116px 116px minmax(110px,.8fr) 34px;align-items:center;gap:8px;display:grid}.schedule-row .input{min-width:0;height:40px;padding-block:0}.schedule-row input[type=time]{font-variant-numeric:tabular-nums;padding-inline:10px}.schedule-row-head{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:-4px;font-size:.74rem;font-weight:600}.schedule-item{gap:4px;display:grid}.schedule-item.invalid .input{border-color:var(--danger)}.schedule-problem{color:var(--danger);font-size:.8rem}.schedule-add{align-self:flex-start;align-items:center;gap:8px;display:inline-flex}.class-list{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px 10px;margin:0;padding:0;list-style:none;display:grid}.class-list li{grid-template-columns:minmax(0,1fr) 30px 30px 30px;align-items:center;gap:4px;display:grid}.class-list .input{height:34px;padding-block:0;font-weight:600}.class-list .icon-btn{width:30px;height:30px}.class-list .icon-btn:disabled{opacity:.35}.class-add{gap:8px;display:flex}.class-add .input{flex:1;min-width:0;height:40px}.class-add .btn{align-items:center;gap:6px;display:inline-flex}.copy-days{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.lesson-remove{align-items:center;gap:6px;margin-right:auto;display:inline-flex}.timetable-wrap{border:1px solid var(--border);border-radius:10px;overflow-x:auto}.timetable{border-collapse:collapse;table-layout:fixed;width:100%;font-size:.78rem;line-height:1.25}.timetable th,.timetable td{border:1px solid var(--border);padding:0}.timetable tr>:first-child{border-left:0}.timetable tr>:last-child{border-right:0}.timetable thead th{border-top:0}.timetable tbody tr:last-child>*{border-bottom:0}.timetable thead th{background:var(--primary-soft);height:50px;color:var(--primary);text-align:center;vertical-align:middle;padding:6px 4px;font-weight:700}.timetable thead th.tt-now{background:var(--primary);color:var(--primary-text)}.tt-label{text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;display:block;overflow:hidden}.tt-time{opacity:.85;text-overflow:clip;white-space:nowrap;margin-top:2px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.68rem;font-weight:500;display:block;overflow:hidden}.timetable .tt-corner{background:var(--surface-2);color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:.7rem}.timetable thead th.tt-break-head{background:var(--surface-2);color:var(--muted);padding:0}.timetable thead th.tt-break-head .icon{margin:0 auto;display:block}.timetable tbody th{z-index:1;background:var(--surface-2);text-align:center;vertical-align:middle;white-space:nowrap;padding:0 6px;font-size:.9rem;font-weight:700;position:sticky;left:0}.timetable td{background:var(--surface);vertical-align:top;height:58px}.timetable td.tt-break{background:repeating-linear-gradient(135deg, var(--surface-2) 0 6px, var(--surface) 6px 12px);color:var(--muted);text-align:center;vertical-align:top;padding:12px 0}.tt-break-label{writing-mode:vertical-rl;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;font-size:.7rem;font-weight:600;display:inline-block;transform:rotate(180deg)}.tt-cell{width:100%;height:100%;min-height:58px;color:var(--text);font:inherit;line-height:inherit;text-align:center;background:0 0;border:0;flex-direction:column;gap:3px;padding:6px 7px 5px;display:flex}button.tt-cell{cursor:pointer}button.tt-cell:hover{background:var(--primary-soft)}button.tt-cell:focus-visible,.tt-add:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.tt-subject{-webkit-hyphens:manual;hyphens:manual;overflow-wrap:break-word;flex:1;justify-content:center;align-items:center;min-width:0;display:flex}.tt-lesson[colspan] .tt-subject{font-size:.86rem;font-weight:500}.tt-teacher{min-height:1.25em;color:var(--text);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;font-weight:700;overflow:hidden}.timetable.searching .tt-lesson:not(.hit) .tt-cell{opacity:.3}.timetable.searching .tt-lesson.hit{background:var(--primary-soft)}.tt-add{width:100%;height:100%;min-height:58px;color:var(--muted);cursor:pointer;opacity:0;background:0 0;border:0;place-items:center;display:grid}.tt-add:hover,.tt-add:focus-visible{opacity:1;background:var(--primary-soft);color:var(--primary)}.timetable td.tt-empty{background:var(--surface)}@media (width<=899px){.schedule-side{grid-template-columns:minmax(0,1fr)}.schedule-row-head{display:none}.schedule-item{border:1px solid var(--border);border-radius:12px;padding:12px}.schedule-row{grid-template-columns:repeat(2,minmax(0,1fr)) 34px}.schedule-row>:first-child{grid-column:1/3}.schedule-row>:nth-child(5){grid-area:1/3}.schedule-row>:nth-child(4){grid-column:1/-1}.tt-add{opacity:1}}.home-calendar{gap:8px}.cal-add{border:1px solid var(--border);width:34px;height:34px;color:var(--primary);border-radius:10px;margin-left:auto}.cal-add:hover{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.cal-nav{align-items:center;gap:6px;min-width:0;display:flex}.cal-nav strong{text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.95rem;overflow:hidden}.cal-nav .icon-btn{border:1px solid var(--border);width:32px;height:32px}.cal-today{font-size:.82rem}.home-calendar{container-type:inline-size}.cal-month-short{display:none}@container (width<=250px){.cal-month-long{display:none}.cal-month-short{display:inline}}.cal-grid{grid-template-rows:auto repeat(6,minmax(26px,1fr));gap:2px;display:grid}.cal-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;min-height:0;display:grid}.cal-weekday{color:var(--muted);text-align:center;padding:2px 0;font-size:.72rem;font-weight:600}.cal-day{min-width:0;min-height:0;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:2px 2px 7px;font-size:.84rem;display:flex;position:relative}.cal-day:hover{background:var(--neutral-soft)}.cal-day.out{color:var(--muted);opacity:.55}.cal-num{border-radius:999px;place-items:center;min-width:24px;height:22px;line-height:1;display:grid}.cal-day.today .cal-num{background:var(--primary);color:var(--primary-text);font-weight:700}.cal-day.reserved{background:var(--primary-soft);box-shadow:inset 0 0 0 1px var(--primary);color:var(--primary-hover);font-weight:600}.cal-dots{gap:2px;height:5px;display:flex;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.cal-dot{background:var(--info);border-radius:999px;width:5px;height:5px;display:inline-block}.cal-dot[data-area]{background:var(--area)}.cal-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;min-width:0;display:flex}.cal-next{min-width:0;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;gap:1px;padding:0;display:grid}.cal-next small{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:.7rem;font-weight:600}.cal-next span{text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;overflow:hidden}.cal-next:hover span{text-decoration:underline}.cal-legend{color:var(--muted);gap:10px;font-size:.74rem;display:flex}.cal-legend>span{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.cal-legend-reserved{background:var(--primary-soft);width:10px;height:10px;box-shadow:inset 0 0 0 1px var(--primary);border-radius:3px;display:inline-block}.cal-events{gap:10px;margin:0;padding:0;list-style:none;display:grid}.cal-event{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:6px;min-width:0;padding:12px 14px;display:grid}.cal-event-head{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.cal-event-head strong{overflow-wrap:anywhere;flex:1;min-width:0;font-size:.98rem}.cal-tag{background:var(--neutral-soft);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 9px;font-size:.74rem;font-weight:600;display:inline-flex}.cal-tag.reserved{background:var(--primary-soft);color:var(--primary-hover)}.cal-event-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:.85rem;display:flex}.cal-event-meta>span:first-child{align-items:center;gap:5px;display:inline-flex}.cal-school{background:var(--info-soft);color:var(--info);border-radius:999px;padding:2px 9px;font-size:.78rem;font-weight:600}.cal-event-desc{color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9rem;line-height:1.45}.cal-event-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.cal-event-foot small{color:var(--muted);font-size:.78rem}.cal-event-actions{align-items:center;gap:6px;display:flex}.cal-event-actions .btn{align-items:center;gap:6px;display:inline-flex}.cal-event-actions .icon-btn{width:34px;height:34px}.cal-event-actions .icon-btn.danger{color:var(--danger)}.cal-event-actions .icon-btn.danger:hover{background:var(--danger-soft)}.cal-dialog-note{min-width:0;color:var(--muted);flex:1;align-self:center;font-size:.84rem}.cal-form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.cal-fixed-area{align-items:center;gap:8px;min-height:40px;display:flex}.cal-fixed-area small{color:var(--muted);font-size:.8rem}.cal-reserve{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.cal-reserve legend{color:var(--text);opacity:.85;margin-bottom:7px;padding:0;font-size:.84rem;font-weight:500}.cal-choice{border:1.5px solid var(--border);cursor:pointer;border-radius:12px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.cal-choice.active{border-color:var(--primary);background:var(--primary-soft)}.cal-choice input{width:17px;height:17px;accent-color:var(--primary);flex:none;margin-top:2px}.cal-choice>span{gap:2px;min-width:0;display:grid}.cal-choice strong{font-size:.9rem}.cal-choice small{color:var(--muted);font-size:.8rem}.cal-error{background:var(--danger-soft);color:var(--danger);border-radius:10px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:.88rem;font-weight:500;display:flex}.cal-error .icon{flex:none;margin-top:1px}@media (width<=899px){.cal-grid{grid-template-rows:auto repeat(6,44px)}.cal-day{font-size:.92rem}.cal-nav .icon-btn,.cal-add{width:44px;height:44px}}@media (width<=420px){.cal-form-row{grid-template-columns:minmax(0,1fr)}}@media (width>=900px) and (height>=540px) and (height<=820px){.cal-foot{display:none}.home-calendar .home-card-head{min-height:0}.cal-add{width:28px;height:28px;margin-block:-3px}.cal-grid{grid-template-rows:auto repeat(6,minmax(24px,1fr))}}@media (width>=900px) and (height>=540px) and (height<=759px){.home-calendar{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 8px;display:grid}.home-calendar .home-card-head{display:contents}.home-calendar .home-card-head>.icon,.home-calendar .home-card-extra{display:none}.home-calendar .home-card-head h2{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.home-calendar .cal-nav{grid-area:1/1;gap:4px}.home-calendar .cal-nav strong{font-size:.86rem}.home-calendar .cal-nav .icon-btn{width:28px;height:28px}.home-calendar .cal-add{grid-area:1/2;margin:0}.home-calendar .cal-grid{grid-area:2/1/auto/-1;grid-template-rows:auto repeat(6,minmax(22px,1fr));align-self:stretch}}@media (width>=900px) and (height>=540px) and (height<=639px){.home-calendar .cal-grid{grid-template-rows:auto repeat(6,minmax(20px,1fr));gap:1px}.cal-day{padding:0 2px 3px}.cal-num{min-width:20px;height:17px;font-size:.8rem}.cal-dots{bottom:1px}.cal-week{gap:1px}.cal-nav .icon-btn{width:28px;height:28px}.cal-add{width:30px;height:30px}}@media (width>=900px) and (height>=540px) and (height<=579px){.home-card{gap:8px;padding-block:10px}.period{min-height:32px;padding-block:3px}.home-calendar .cal-grid{grid-template-rows:auto repeat(6,minmax(20px,1fr))}.cal-weekday{padding:0;font-size:.68rem}.cal-day{padding:0 2px 3px}.cal-num{height:16px}}
