:root{--ink: #1f2937;--muted: #6b7280;--line: #e5e7eb;--bg: #f8fafc;--white: #ffffff;--accent: #db2777;--accent-dark: #be185d;--danger: #b91c1c;--radius: 12px;color:var(--ink);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{margin:0}h1{margin:0 0 .25rem;font-size:1.5rem}.muted{color:var(--muted)}.center{text-align:center;padding:3rem 1rem}.container{max-width:1100px;margin:0 auto;padding:2rem 1rem}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:2rem}button{min-height:44px;padding:.6rem 1.2rem;border:0;border-radius:8px;background:var(--accent);color:var(--white);font:inherit;font-weight:600;cursor:pointer}button:hover{background:var(--accent-dark)}button:disabled{opacity:.6;cursor:wait}button.secondary{background:transparent;color:var(--ink);border:1px solid var(--line)}input,select{width:100%;min-height:44px;margin-top:.35rem;padding:.5rem .75rem;border:1px solid var(--line);border-radius:8px;font:inherit}input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.error{margin:0;color:var(--danger)}.success{margin:0;color:var(--success)}.form-link{color:var(--accent-dark);font-size:.9rem;text-align:center;text-decoration:none}.form-link:hover{text-decoration:underline}.login-signup{margin:0;color:var(--muted);font-size:.8125rem;text-align:center}.login-signup .form-link{font-weight:600}.login-optional{color:var(--muted);font-size:.75rem;font-weight:500}.profile-card{display:grid;gap:1rem;max-width:620px}.profile-card form{display:grid;gap:1rem}.profile-card label{font-weight:500}.page-title{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.page-title .form-link{display:inline-block;margin-bottom:.75rem}.page-title p{margin-bottom:0}.document-actions{display:flex;flex-wrap:wrap;justify-content:end;gap:.4rem;margin-left:auto}.document-actions button{min-height:36px;padding:.35rem .6rem;font-size:.75rem}.danger-button{background:#b91c1c}.form-actions{display:flex;gap:.6rem}.empty-state{text-align:center;padding:3rem}.metrics-table{overflow:auto;padding:0}.metrics-table table{width:100%;min-width:680px;border-collapse:collapse}.metrics-table th:first-child,.metrics-table td:first-child{width:72px}.metrics-table td input{width:84px;min-height:32px;margin:0;padding:.35rem .5rem}.metric-name{display:grid;gap:.1rem;min-width:150px}.metric-name small{color:var(--muted);font-size:.68rem;font-weight:500}.metric-group-row{display:flex;align-items:center;gap:.5rem}.metric-group-row b,.metric-group{font-weight:600}.metric-item:hover{background:var(--surface-hover)}.metric-action{display:inline-grid;place-items:center;width:32px;min-height:32px;padding:0!important;color:var(--muted)}.metric-action:hover:not(:disabled){color:var(--ink)}.metric-actions-cell{white-space:nowrap;text-align:right!important}.metric-action+.metric-action{margin-left:.25rem}.metric-unknown{color:var(--muted);font-size:.75rem;font-style:italic}.metric-total{font-weight:600}.status{margin-left:auto;padding:.3rem .55rem;border-radius:999px;font-size:.72rem;font-weight:600}.status.active{background:var(--green-soft);color:var(--success)}.status.locked{background:var(--pink-soft);color:var(--accent-dark)}.status.pending{background:var(--sun-soft);color:var(--sun-ink)}.filters{flex-wrap:wrap}.filters select{min-height:44px;max-width:220px}@media(max-width:720px){.filters select{max-width:none;width:100%}}.topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;background:var(--white);border-bottom:1px solid var(--line)}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr);background:#fffaf7;color:#3a2e48;font-family:Segoe UI,system-ui,sans-serif}.sidebar{display:flex;flex-direction:column;padding:1.5rem 1rem;background:#fff;border-right:1px solid #f1e6ee}.brand{display:flex;align-items:center;gap:.65rem;padding:.25rem .55rem 2.1rem;font-size:1.35rem;line-height:1;color:#ec4d8b}.brand b{color:#3dae6b}.brand small{display:block;margin-top:.25rem;color:#76698a;font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.sidebar nav{display:grid;gap:.35rem}.nav-item{display:flex;align-items:center;gap:.8rem;width:100%;min-height:46px;padding:.65rem .8rem;background:transparent;color:#76698a;text-align:left;font-weight:600}.nav-item:hover{background:#fff3f7;color:#c2306b}.nav-item.active{color:#c2306b;background:#ffe6ef}.nav-icon{width:25px;height:25px;object-fit:contain;border-radius:7px}.avatar{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#ece8fb;color:#6553b3;font-size:.75rem;font-weight:800}.workspace,.admin-content{min-width:0}.admin-content>.container{max-width:1280px;padding:clamp(1.25rem,3vw,2.5rem)}.workspace-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem clamp(1.25rem,4vw,3.5rem);background:#fff;border-bottom:1px solid #f1e6ee}.workspace-header h1{font-size:1.65rem}.icon-button{min-height:40px;padding:.35rem .65rem;background:transparent;color:#3a2e48;border:1px solid #f1e6ee}.icon-button{position:relative;display:grid;place-items:center;width:40px;font-size:1.2rem}.icon-button img{width:18px;height:18px;object-fit:contain}.icon-button i{position:absolute;top:7px;right:7px;width:7px;height:7px;border-radius:50%;background:#fc5b4e}button.secondary:hover{background:#fff3f7;color:#c2306b}.page-content{max-width:1280px;margin:0 auto;padding:clamp(1.25rem,3vw,2.5rem)}.welcome{display:flex;justify-content:space-between;overflow:hidden;min-height:215px;padding:2rem clamp(1.5rem,4vw,3.25rem);border-radius:24px;background:linear-gradient(120deg,#ffe6ef,#fff2da);position:relative}.welcome p{margin:0 0 .45rem;color:#c2306b;font-weight:700}.welcome h2{margin:0 0 1.35rem;font-size:clamp(1.2rem,2.3vw,1.8rem);line-height:1.35}.welcome button{background:#c2306b}.welcome button span{margin-left:.5rem}.welcome-art{position:relative;width:250px;color:#ec4d8b;font-size:3rem}.welcome-art>span{position:absolute}.welcome-art>span:nth-child(1){right:18px;top:2px}.welcome-art>span:nth-child(2){left:28px;top:55px;color:#fc5b4e;font-size:1.8rem}.welcome-art>span:nth-child(3){right:85px;top:75px;color:#f8b54d;font-size:2rem}.book{position:absolute;right:45px;bottom:-35px;width:100px;height:135px;display:grid;place-items:center;border-radius:12px 12px 3px 3px;background:#3dae6b;box-shadow:10px 10px #e3f6ea;color:#fff;font-size:3.5rem;transform:rotate(8deg)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1.35rem 0}.stat-card{display:flex;gap:.8rem;min-width:0;padding:1.15rem;border:1px solid #f1e6ee;border-radius:16px;background:#fff}.stat-card>img{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;padding:.35rem;border-radius:12px;object-fit:contain}.stat-card small{display:block;color:#76698a;font-size:.64rem;font-weight:800;letter-spacing:.08em}.stat-card b{display:block;margin:.18rem 0;font-size:1.18rem;white-space:nowrap}.stat-card em{color:#76698a;font-size:.7rem;font-style:normal}.stat-card.pink>img{background:#ffe6ef}.stat-card.green>img{background:#e3f6ea}.stat-card.sun>img{background:#fff2da}.stat-card.sky>img{background:#dcf2f9}.text-button{min-height:unset;padding:0;background:transparent;color:#c2306b;font-size:.8rem}.text-button:hover{background:transparent;color:#9f1f56}.file-icon{display:grid;place-items:center;flex:0 0 37px;height:42px;border-radius:7px;font-size:.59rem;font-weight:800}.file-icon.pink{background:var(--pink-soft);color:var(--accent)}.file-icon.green{background:var(--green-soft);color:var(--success)}.file-icon.sky{background:var(--sky-soft);color:var(--sky-ink)}.file-icon.sun{background:var(--sun-soft);color:var(--sun-ink)}.more{min-height:32px;margin-left:auto;padding:0 .4rem;background:transparent;color:#76698a}.more:hover{background:#fff3f7;color:#c2306b}.quick-icon{display:grid;place-items:center;flex:0 0 35px;width:35px;height:35px;padding:.35rem;border-radius:9px;object-fit:contain;font-weight:800}.filter-bar{display:flex;gap:.7rem;margin-bottom:1rem}.filter-bar input{max-width:420px;margin:0;background:#fff}.filter-bar button{min-height:44px}@media(max-width:960px){.app-shell{grid-template-columns:76px minmax(0,1fr)}.sidebar{padding-inline:.6rem}.brand{justify-content:center;padding-inline:0}.brand>span:last-child,.nav-item{font-size:0}.nav-item{justify-content:center;padding-inline:0}.nav-icon{width:22px;height:22px}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.app-shell{display:block}.sidebar{position:sticky;bottom:0;z-index:2;display:block;padding:.3rem .5rem;border-top:1px solid #f1e6ee;border-right:0}.brand{display:none}.sidebar nav{display:flex;justify-content:space-around}.nav-item{width:auto;min-height:47px;padding:.45rem .55rem}.nav-icon{width:20px;height:20px}.workspace-header{padding:1rem}.workspace-header h1{font-size:1.25rem}.welcome{min-height:225px;padding:1.5rem}.welcome-art{position:absolute;right:-45px;bottom:-15px;opacity:.45}.stats{grid-template-columns:1fr 1fr;gap:.65rem}.stat-card{padding:.8rem}.stat-card>img{flex-basis:34px;width:34px;height:34px;padding:.25rem}.stat-card b{font-size:.9rem}.stat-card em{display:none}.quick-icon{flex-basis:30px;width:30px;height:30px;padding:.2rem}.text-button{margin-top:.25rem}.filter-bar{display:block}.filter-bar button{width:100%;margin-top:.65rem}}:root{--ink: #17191c;--muted: #6f737b;--line: #e9eaec;--bg: #f6f7f8;--white: #ffffff;--accent: #d93272;--accent-dark: #aa1d57;--accent-soft: #fff0f6;--danger: #b4233c;--radius: 16px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:-.012em}body{background:var(--bg)}button,input,select{font-family:inherit}button{border-radius:10px;background:var(--ink);box-shadow:0 8px 18px #17191c1a;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,color .16s ease}button:hover:not(:disabled){background:#2e3237;box-shadow:0 12px 26px #17191c29;transform:translateY(-2px)}button:active:not(:disabled){transform:translateY(0) scale(.98);box-shadow:0 4px 10px #17191c1a}button.secondary{border:0;background:#eff0f2;color:var(--ink);box-shadow:none}button.secondary:hover:not(:disabled){background:#e2e4e7;color:var(--ink)}button.danger-button{background:var(--danger)}button.danger-button:hover:not(:disabled){background:var(--danger-dark)}input,select{border:0;border-radius:10px;background:#f0f1f3;color:var(--ink);transition:background .16s ease,box-shadow .16s ease}input:hover,select:hover{background:#e8eaed}input:focus,select:focus{background:var(--white);box-shadow:0 0 0 3px #d9327229;outline:0}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.card{border:0;border-radius:var(--radius);box-shadow:0 16px 36px #17191c0d}.container{max-width:1320px;position:relative}.page-title h1,.page-title h2{font-size:clamp(1.8rem,3vw,2.65rem);letter-spacing:-.05em;line-height:1}.page-title{align-items:flex-end;margin-bottom:2rem}.page-title>div>.muted{max-width:54ch;margin-top:.75rem}.app-shell{grid-template-columns:238px minmax(0,1fr);background:var(--bg);color:var(--ink)}.sidebar{padding:1.6rem .85rem 1.25rem;border:0;background:var(--white)}.brand{padding:.35rem .65rem 2.75rem;color:var(--ink);font-size:1.25rem;letter-spacing:-.06em}.brand b{color:var(--accent)}.brand small{color:var(--muted);font-size:.61rem;letter-spacing:.14em}.sidebar nav{gap:.22rem}.nav-item{min-height:44px;padding:.55rem .72rem;border-radius:9px;color:#777b83;font-size:.82rem;font-weight:650;box-shadow:none;transition:background .15s ease,color .15s ease,transform .15s ease}.nav-item:hover{background:#f5f5f6;color:var(--ink);box-shadow:none;transform:translate(3px)}.nav-item.active{background:var(--ink);color:#fff;box-shadow:0 9px 18px #17191c24}.nav-item.active:hover{background:var(--ink);color:#fff}.nav-icon{width:20px;height:20px;border-radius:5px}.avatar{width:32px;height:32px;background:#ebedf0;color:var(--ink);font-size:.67rem}.workspace-header{min-height:72px;padding:.75rem clamp(1.25rem,4.4vw,4.6rem);border:0;background:transparent}.workspace-header h1{min-width:0;margin:0;font-size:clamp(1.35rem,2.2vw,1.75rem);font-weight:760;letter-spacing:-.045em;line-height:1.15;overflow-wrap:anywhere}.icon-button{border:0;background:var(--white);box-shadow:0 5px 18px #17191c0d}.icon-button:hover{background:var(--white);color:var(--ink)}.admin-content>.container{padding-top:1rem}.page-content{max-width:1400px;padding:clamp(1rem,2vw,2rem) clamp(1.5rem,4.4vw,4.6rem) 4rem}.welcome{align-items:flex-end;min-height:280px;padding:clamp(2rem,5vw,4.5rem);border-radius:22px;background:var(--ink);color:var(--white);box-shadow:0 22px 45px #17191c21}.welcome:after{content:"";position:absolute;width:38%;height:140%;right:11%;bottom:-72%;border-radius:50%;background:var(--accent);opacity:.9;transform:rotate(-22deg)}.welcome p{color:#ffb5d2;font-size:.75rem;letter-spacing:.09em;text-transform:uppercase}.welcome h2{max-width:620px;font-size:clamp(2.15rem,5vw,5rem);font-weight:720;letter-spacing:-.08em;line-height:.9}.welcome h2 strong{color:#ff83b3;font-weight:520}.welcome button{position:relative;z-index:2;background:var(--white);color:var(--ink);box-shadow:none}.welcome button:hover{background:#f4f4f5;color:var(--ink)}.welcome-art{z-index:1;width:285px}.welcome-art>img{position:absolute;width:88px;height:88px;padding:.7rem;border-radius:22px;object-fit:contain;background:#fff;box-shadow:0 14px 28px #0000002e}.welcome-art>img:first-child{top:16px;right:25px;transform:rotate(12deg)}.welcome-art>img:nth-child(2){top:108px;left:34px;transform:rotate(-14deg)}.book{right:70px;bottom:-32px;display:grid;width:106px;height:125px;border-radius:22px;background:var(--accent);box-shadow:none;transform:rotate(8deg)}.book img{width:63px;height:63px;object-fit:contain}.stats{grid-template-columns:1.22fr .92fr 1.04fr .82fr;gap:2.5rem;margin:2.4rem .4rem 2.75rem}.stat-card{position:relative;gap:.85rem;padding:.3rem 0 .7rem;border:0;border-radius:0;background:transparent}.stat-card+.stat-card:before{content:"";position:absolute;top:.3rem;bottom:.5rem;left:-1.28rem;width:1px;background:#dedfe2}.stat-card>img{flex-basis:38px;width:38px;height:38px;padding:.3rem;border-radius:10px}.stat-card small{color:var(--muted);font-size:.62rem;letter-spacing:.1em}.stat-card b{font-size:clamp(1.25rem,2vw,1.8rem);letter-spacing:-.05em}.stat-card em{font-size:.72rem}.text-button{color:var(--accent);font-weight:700}.text-button:hover{background:transparent;color:var(--accent-dark);box-shadow:none;transform:translate(3px)}.file-icon{border-radius:10px}.dashboard-page{display:grid;gap:clamp(1.75rem,4vw,3.5rem)}.dashboard-copy{display:block;max-width:56ch;margin:0 0 1.5rem;color:#f4dbe5;line-height:1.6}.dashboard-metrics h2,.dashboard-actions h2{margin:0;font-size:1.2rem;letter-spacing:-.04em}.dashboard-actions>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:1rem}.dashboard-actions button{display:flex;min-height:112px;align-items:center;gap:.85rem;padding:1rem;background:var(--white);color:var(--ink);text-align:left;box-shadow:0 8px 22px #17191c0d}.dashboard-actions button:hover:not(:disabled){background:var(--white);color:var(--ink)}.dashboard-actions button>span{display:grid;gap:.25rem}.dashboard-actions button small{color:var(--muted);font-weight:400;line-height:1.4}.dashboard-actions button>.app-icon:last-child{margin-left:auto;color:var(--accent)}.documents-page,.metrics-page{padding-bottom:4rem}.is-refreshing{opacity:.55;transition:opacity .15s ease .15s}.metrics-table{padding:0;background:transparent;box-shadow:none}.document-actions button{box-shadow:none}.document-actions button:hover{transform:translateY(-1px)}.filter-bar{gap:.55rem;margin-bottom:1.8rem}.filter-bar input{border:0;background:var(--white);box-shadow:0 6px 22px #17191c0a}.profile-card{max-width:700px;margin-bottom:1.5rem}.profile-page{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1.5rem}.profile-page .profile-card{width:100%;margin:0}.profile-card fieldset{display:grid;gap:1rem;min-width:0;margin:0;padding:0;border:0}.profile-assignment{display:grid;gap:.5rem;margin:0;padding:.75rem 1rem;border:1px solid var(--line);border-radius:12px;background:var(--surface-muted)}.profile-assignment>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:.25rem .75rem}.profile-assignment dt{flex:0 0 5.5rem;color:var(--muted);font-size:.875rem}.profile-assignment dd{min-width:0;margin:0;overflow-wrap:anywhere}.profile-assignment small{color:var(--muted)}.profile-leader{color:var(--accent-dark)}.profile-leader-line{display:block}.field-error{display:block;margin-top:.35rem;color:var(--danger);font-size:.875rem;font-weight:600}input[aria-invalid=true],select[aria-invalid=true]{box-shadow:0 0 0 2px #b4233c47}.empty-state{background:var(--white)}.status{background:var(--surface-muted);border-radius:7px}.status.active{background:var(--green-soft)}.status.locked{background:var(--accent-soft)}.status.pending{background:var(--sun-soft)}.form-link{color:var(--accent-dark);font-weight:650}@media(max-width:960px){.app-shell{grid-template-columns:76px minmax(0,1fr)}.brand{padding-bottom:2.4rem}.brand>span:last-child,.nav-item>span{display:none}.nav-item{justify-content:center}.stats{gap:1.2rem}.stat-card+.stat-card:before{left:-.62rem}}@media(max-width:720px){.workspace-header{padding:.7rem 1.25rem;min-height:60px}.page-content{padding:1rem 1.25rem 5.75rem}.welcome{min-height:300px;padding:2rem}.welcome-art{opacity:.55;right:-54px;bottom:-12px}.stats{grid-template-columns:1fr 1fr;gap:1rem 1.5rem}.stat-card+.stat-card:before{display:none}}@media(max-width:620px){.sidebar{background:#fffffff0;box-shadow:0 -8px 26px #17191c14;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.sidebar nav{overflow-x:auto;justify-content:flex-start;scrollbar-width:thin}.nav-item{flex:1 0 48px}.nav-item{min-width:43px}.workspace-header{min-height:58px}.workspace-header h1{font-size:1.25rem}.welcome h2{font-size:clamp(2.1rem,11vw,3.3rem)}.stats{margin:1.7rem .1rem 2.25rem}.stat-card{padding-bottom:.4rem}.stat-card b{font-size:1.1rem}.page-title{display:block;margin-bottom:1.5rem}.page-title>button{margin-top:1rem}.document-actions{width:100%;justify-content:flex-start;margin-left:0}.profile-page{grid-template-columns:1fr}.dashboard-actions>div{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.container>.page-title>div:first-child{display:none}.container>.page-title:has(>div:first-child):has(>:is(button,.row-menu)){justify-content:flex-end}.container>.page-title:not(:has(>button)):not(:has(>.row-menu)):not(:has(>.page-title-actions)){display:none}textarea{resize:vertical}.container>.page-title:has(>:is(button,.row-menu)){position:absolute;top:20px;right:24px;z-index:1;margin:0}.container:has(>.filter-bar)>.filter-bar{padding-right:200px}.admin-content>.container.metrics-tabs{padding-bottom:0}.container.metrics-tabs>.view-toggle{flex-wrap:wrap;max-width:100%}.container.metrics-tabs>.view-toggle.scope-toggle button,.container.metrics-tabs>.view-toggle.scope-toggle button:hover:not(:disabled){height:auto;white-space:normal;text-align:center}.admin-content>.container.metrics-tabs+.container{padding-top:.75rem}.data-table.equipment-section{overflow-x:auto;overflow-y:hidden;cursor:grab;margin-bottom:0}.data-table.equipment-section.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none;scroll-behavior:auto}.data-table.equipment-section input{cursor:text}.data-table .equipment-table{width:100%;min-width:1000px;table-layout:auto;border-collapse:separate;border-spacing:0}.data-table .equipment-table :is(th,td){padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;white-space:nowrap;overflow:visible;text-overflow:clip;background:var(--white)}.data-table .equipment-table thead th{position:sticky;top:0;z-index:4;height:2.5rem;background:var(--surface-muted)}.data-table .equipment-table thead tr:nth-child(2) th{top:2.5rem}.data-table .equipment-table.equipment-table-simple{min-width:520px}.data-table .equipment-table .eq-stt{position:sticky;left:0;z-index:3;width:56px;min-width:56px}.data-table .equipment-table .eq-name{position:sticky;left:56px;z-index:3;min-width:200px;text-align:left;box-shadow:6px 0 10px -10px rgb(var(--shadow-rgb) / 35%)}.data-table .equipment-table thead :is(.eq-stt,.eq-name){z-index:5;background:var(--surface-muted)}@media(max-width:640px){.data-table .equipment-table :is(th,td).eq-stt{position:static;width:40px;min-width:40px;padding-inline:6px}.data-table .equipment-table :is(th,td).eq-name{left:0;width:40vw;min-width:8rem;max-width:40vw;white-space:normal;overflow-wrap:break-word}.data-table .equipment-table thead th{white-space:normal}.data-table .equipment-table.equipment-table-simple{min-width:0}}.data-table .equipment-table td input{width:100%;min-width:4.5rem;min-height:34px;padding:0 .4rem;text-align:center}.container.metrics-page>.equipment-title{display:flex;align-items:center;margin:0 0 1rem}.container.metrics-page>.equipment-title>.filter-bar{flex:1 1 auto;min-width:0;margin:0}.equipment-title .filter-bar>.filter-search{flex:1 1 240px;min-width:0}.equipment-title .filter-bar>.filter-combobox{flex:0 1 280px;min-width:0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.5rem}.equipment-title .filter-bar>.filter-combobox .filter-combobox-label{font-size:.8125rem;white-space:nowrap}.equipment-title .filter-bar>.filter-combobox .filter-combobox-trigger{min-height:40px}@media(max-width:640px){.equipment-title .filter-bar>:is(.filter-search,.filter-combobox){flex:1 1 100%}}.container.metrics-page>.page-title{position:static;display:flex;align-items:center;justify-content:space-between;margin:0 0 1rem}.container.metrics-page>.page-title>.filter-bar{flex:1 1 auto;min-width:0;margin-bottom:0}.container.school-years-page>.page-title{position:static;display:flex;justify-content:flex-end;margin:0 0 1rem}.container.tasks-page>.page-title{position:static;display:flex;align-items:center;justify-content:space-between;margin:0}.container.tasks-page>.page-title>.task-filters{flex:1 1 auto;min-width:0;margin:0}.page-title-actions{display:flex;flex:none;align-items:center;gap:.75rem}.page-title-actions>button{white-space:nowrap}.filter-bar button{white-space:nowrap}.filter-search{position:relative;display:flex;min-width:min(100%,420px);gap:.5rem}.filter-search>.app-icon{position:absolute;top:50%;right:.85rem;z-index:1;color:var(--muted);pointer-events:none;transform:translateY(-50%)}.filter-search:has(input:not(:placeholder-shown))>.app-icon{display:none}.filter-search input{min-width:0;flex:1;padding-right:3rem}.filter-search input[type=search]::-webkit-search-cancel-button{margin-right:-2.15rem}.filter-more{position:relative}.filter-more>summary{display:flex;align-items:center;gap:.4rem;min-height:40px;padding:0 .8rem;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--ink);font-size:.8125rem;font-weight:650;cursor:pointer;list-style:none}.filter-more>summary::-webkit-details-marker{display:none}.filter-more>summary>.app-icon{color:var(--muted);transition:transform .15s ease}.filter-more[open]>summary>.app-icon{transform:rotate(180deg)}.filter-more>summary>span:not(.filter-date-label){display:grid;place-items:center;min-width:18px;height:18px;padding:0 .2rem;border-radius:999px;background:var(--accent);color:var(--white);font-size:.65rem}.filter-date-label{overflow:hidden;max-width:220px;white-space:nowrap;text-overflow:ellipsis}.filter-more.filter-date{flex-shrink:0}.filter-more-panel{position:absolute;top:calc(100% + .5rem);right:0;z-index:5;display:grid;width:min(360px,calc(100vw - 2rem));gap:.75rem;padding:1rem;border:1px solid var(--line);border-radius:14px;background:var(--white);box-shadow:0 12px 28px rgb(var(--shadow-rgb) / 12%)}.filter-combobox,.date-picker{position:relative;display:grid;gap:.3rem}.filter-bar .filter-combobox-trigger,.filter-bar .filter-combobox-trigger:hover,.task-filters .filter-combobox-trigger,.task-filters .filter-combobox-trigger:hover,.tasks-page>.card .filter-combobox-trigger,.tasks-page>.card .filter-combobox-trigger:hover,.task-filters .date-picker-trigger,.task-filters .date-picker-trigger:hover,.form-combobox .date-picker-trigger,.form-combobox .date-picker-trigger:hover,.form-combobox .filter-combobox-trigger,.form-combobox .filter-combobox-trigger:hover{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;margin:0;padding:0 .75rem;border:1px solid var(--line-strong);background:var(--white);color:var(--ink);font-weight:500;text-align:left;transform:none}.filter-bar .filter-combobox-popover input,.form-combobox .filter-combobox-popover input{flex:none;width:100%;min-height:36px;margin:0}.form-combobox .filter-combobox-trigger,.form-combobox .date-picker-trigger{min-height:40px}.form-combobox .filter-combobox-trigger:disabled{background:var(--surface-hover);color:var(--muted);cursor:not-allowed}.login-field .filter-combobox-label{color:var(--ink);font-size:.8125rem;font-weight:600}.login-field .filter-combobox-trigger,.login-field .filter-combobox-trigger:hover{min-height:44px;padding:.625rem .875rem;font-size:.9375rem;font-weight:400}.pagination-size .filter-combobox{display:flex;align-items:center;gap:.5rem}.pagination-size .filter-combobox-trigger{width:auto;min-width:5.5rem}.pagination-size .filter-combobox-popover{top:auto;bottom:calc(100% + .25rem);left:auto;min-width:8rem}.filter-combobox-popover li.active{background:var(--pink-tint)}.form-combobox .folder-picker-trigger,.form-combobox .folder-picker-trigger:hover{min-height:40px;padding-block:.35rem}.folder-picker-trigger>span{display:grid;min-width:0;line-height:1.3}.folder-picker-trigger b,.folder-picker-trigger small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-picker-trigger b{font-weight:500}.folder-picker-trigger small,.folder-picker-row small{color:var(--muted);font-size:.75rem;font-weight:400}.folder-picker-popover ul{max-height:min(320px,38dvh);overflow-y:auto;overscroll-behavior:contain}.folder-picker-popover .folder-picker-where{display:flex;align-items:center;gap:.375rem;min-width:0;color:var(--muted)}.folder-picker-where>.app-icon{flex:none;color:var(--sun-ink)}.folder-picker-where>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-picker-where b{color:var(--ink);font-weight:600}.folder-picker-row>.folder-picker-check{position:relative;display:block;flex:0 0 16px;width:16px;height:16px;min-width:0;border:1.5px solid var(--line-strong);border-radius:4px;background:var(--white)}.folder-picker-check.checked{border-color:var(--accent);background:var(--accent)}.folder-picker-check.checked:after{content:"";position:absolute;left:4.5px;top:1.5px;width:4px;height:8px;border:solid var(--white);border-width:0 2px 2px 0;transform:rotate(45deg)}.folder-picker-check.partial{border-color:var(--accent)}.folder-picker-check.partial:after{content:"";position:absolute;inset:5.5px 3px;border-radius:1px;background:var(--accent)}.folder-picker-row>.folder-picker-check.none{border-color:transparent;background:transparent}.folder-picker-row.checked b{font-weight:600}.folder-picker-row{display:flex;align-items:center;gap:.5rem}.folder-picker-row>.app-icon{flex:none;color:var(--sun-ink)}.folder-picker-row>span{display:grid;flex:1;min-width:0;line-height:1.35}.folder-picker-row b{font-weight:500}.folder-picker-enter,.folder-picker-enter:hover:not(:disabled){display:inline-flex;flex:none;align-items:center;gap:2px;min-height:28px;margin:-.25rem -.3rem -.25rem 0;padding:0 .3rem;border-radius:6px;background:transparent;color:var(--muted);box-shadow:none;transform:none}.folder-picker-enter:hover:not(:disabled){background:var(--pink-soft);color:var(--ink)}@keyframes filter-pop-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.filter-more[open]>.filter-more-panel,.filter-combobox-popover{animation:filter-pop-in .16s ease-out}@media(prefers-reduced-motion:reduce){.filter-more[open]>.filter-more-panel,.filter-combobox-popover{animation:none}}.filter-more-actions{display:flex;grid-column:1 / -1;justify-content:flex-end;gap:.5rem;padding-top:.25rem}.team-member-options{max-height:260px;overflow:auto;margin:0;padding:.5rem .75rem;border:1px solid var(--line-strong);border-radius:14px}.team-member-options legend{padding:0 .25rem;font-weight:500}.modal-fields .team-member-options .filter-checkbox{display:flex;gap:.5rem;padding:.4rem 0;font-weight:400}.team-member-options input[type=checkbox]{flex:0 0 16px;width:16px;height:16px;min-height:0;margin:0;accent-color:var(--accent)}.modal-fields .folder-office-access,.modal-fields .modal-checkbox{display:flex;gap:.5rem;font-weight:400}.folder-office-access input[type=checkbox],.modal-checkbox input[type=checkbox]{flex:0 0 16px;width:16px;height:16px;min-height:0;margin:0;accent-color:var(--accent)}.task-folder-options{display:grid;gap:.5rem;min-width:0;margin:0;padding:.5rem .75rem .75rem;border:1px solid var(--line-strong);border-radius:14px}.task-folder-options legend{padding:0 .25rem;font-weight:500}.task-folder-options .muted{margin:0}.task-folder-target{display:flex;align-items:flex-start;gap:.5rem;margin:0;padding:.5rem .75rem;border-radius:10px;background:var(--surface-muted);color:var(--muted);line-height:1.45}.task-folder-target>.app-icon{flex:none;margin-top:.125rem}.task-folder-target.ready{background:var(--green-soft);color:var(--ink)}.task-folder-target.ready>.app-icon{color:var(--green-ink)}.task-folder-target b{font-weight:600;overflow-wrap:anywhere}.task-folder-list{display:grid;gap:.375rem;margin:0;padding:0;list-style:none;max-height:14rem;overflow-y:auto;overscroll-behavior:contain}.task-folder-list .task-folder-target{align-items:center}.task-folder-list .task-folder-target>.app-icon{margin-top:0}.task-folder-list .task-folder-target>span{flex:1;min-width:0}.task-folder-remove{display:grid;flex:none;place-items:center;width:24px;height:24px;min-height:0;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted);box-shadow:none}.task-folder-remove:hover{background:var(--white);color:var(--ink)}.folder-tasks{display:grid;gap:.375rem;margin:0 0 1rem;padding:0;list-style:none}.folder-tasks li{display:flex;align-items:flex-start;gap:.5rem;padding:.625rem .875rem;border:1px solid var(--line-strong);border-radius:14px;background:var(--surface-muted);line-height:1.45}.folder-tasks li>svg{flex:0 0 auto;margin-top:.125rem;color:var(--accent)}.filter-checkbox{display:flex;align-items:center;gap:.5rem;min-height:0;margin:0;color:var(--ink);font-size:.8125rem;line-height:1.3;cursor:pointer}.filter-bar .filter-checkbox input,.tracking-controls .filter-checkbox input{flex:0 0 16px;width:16px;height:16px;min-height:0;margin:0;padding:0;border:0;accent-color:var(--accent);cursor:pointer}.filter-date-status{margin:0;color:var(--muted);font-size:.75rem}.assistant-trigger{position:fixed;top:50%;right:0;z-index:50;display:flex;align-items:center;min-height:0;padding:.7rem .5rem .7rem .6rem;border-radius:12px 0 0 12px;background:color-mix(in srgb,var(--accent) 50%,transparent);color:var(--white);box-shadow:-4px 6px 18px rgb(var(--shadow-accent-rgb) / 22%);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transform:translateY(-50%);transition:background-color .2s ease,opacity .2s ease}.assistant-trigger:hover:not(:disabled){background:var(--accent);color:var(--white);transform:translateY(-50%)}.assistant-trigger.is-hidden{opacity:0;pointer-events:none}.assistant-panel{position:fixed;top:0;right:0;z-index:50;display:flex;flex-direction:column;width:380px;height:100dvh;background:var(--white);color:var(--ink);box-shadow:0 25px 50px -12px rgb(var(--shadow-rgb) / 25%);transform:translate(100%);visibility:hidden;transition:transform .3s ease-in-out,visibility 0s linear .3s}.assistant-panel.is-open{transform:none;visibility:visible;transition:transform .3s ease-in-out,visibility 0s}.assistant-panel-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border-bottom:1px solid var(--line)}.assistant-panel-header b{font-size:.95rem}.assistant-panel-body{display:grid;align-content:start;gap:.75rem;flex:1;min-height:0;overflow-y:auto;padding:1rem}@media(max-width:639px){.assistant-panel{width:85vw}}@media(prefers-reduced-motion:reduce){.assistant-trigger,.assistant-panel,.assistant-panel.is-open{transition:none}}.assistant-close{min-height:unset;width:30px;height:30px;padding:0;background:transparent;color:var(--muted)}.assistant-close:hover{background:var(--pink-tint);color:var(--accent)}.assistant-status{margin:0;padding:.6rem .75rem;border-radius:10px;background:var(--pink-tint);color:var(--ink);font-size:.8rem;line-height:1.5}.assistant-shortcuts{display:grid;gap:.4rem}.assistant-shortcuts button{display:flex;align-items:center;gap:.6rem;min-height:40px;padding:0 .6rem;background:var(--white);border:1px solid var(--line);color:var(--ink);font-size:.8125rem;font-weight:600;text-align:left}.assistant-shortcuts button:hover{background:var(--surface-hover);border-color:var(--line-strong)}.assistant-shortcuts .app-icon{color:var(--tone, var(--accent))}.assistant-expand{justify-content:center;gap:.4rem}.chatbot-page{display:grid;gap:1.25rem}.chatbot-page>.page-title{margin-bottom:0}.chatbot-page>.card,.chatbot-page>.dashboard-actions{margin:0}.chatbot-page .dashboard-actions{display:grid;gap:1rem}.chatbot-page .dashboard-actions>div{gap:1rem}.chatbot-status{display:flex;align-items:flex-start;gap:.85rem;padding:1.1rem 1.2rem}.chatbot-status>.app-icon{flex:0 0 auto;padding:.5rem;border-radius:12px;background:var(--pink-soft);color:var(--accent)}.chatbot-status b{display:block;margin-bottom:.3rem}.chatbot-status p{margin:0;color:var(--muted);font-size:.85rem}@media(max-width:768px){.container>.page-title:has(>:is(button,.row-menu)){position:static;margin-bottom:12px}.container:has(>.filter-bar)>.filter-bar{padding-right:0}.filter-more-actions button{width:auto;margin-top:0}.filter-date-label{max-width:150px}}@media(max-width:1024px){.filter-bar{position:relative}.filter-more{position:static}.filter-more-panel{right:auto;left:0}}@media(max-width:767px){.filter-more-panel{right:0;width:auto}}.welcome button .app-icon{width:20px;height:20px}.dashboard-actions button>.app-icon:last-child{width:20px;height:20px}.tasks-page{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}.task-filters{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:0}.task-filters label,.task-filters>.filter-combobox,.task-filters>.date-picker{flex:1 1 160px;min-width:0}.task-description{white-space:pre-wrap;overflow-wrap:anywhere}.task-files{padding:0;list-style:none}.task-files li{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.5rem 0}.task-files li>span{flex:1 1 180px;overflow-wrap:anywhere}.task-progress-row{border-top:1px solid var(--line);padding:.75rem 0}.task-notifications{position:relative}.task-notifications>summary{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:40px;padding:0 .8rem;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--ink);font-size:.8125rem;font-weight:650;cursor:pointer}.task-notifications>summary:hover,.task-notifications[open]>summary{background:var(--surface-hover, var(--pink-tint))}.task-notifications>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.task-notifications>summary::-webkit-details-marker{display:none}.notification-badge{position:absolute;top:-7px;right:-7px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border:2px solid var(--bg);border-radius:999px;background:#dc2626;color:#fff;font-size:.6875rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.task-notification-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.task-notification-head h2{margin:0}.notification-count{padding:2px 10px;border-radius:999px;background:#fee2e2;color:#991b1b;font-size:.75rem;font-weight:650;white-space:nowrap}.notification-count.none{background:var(--surface-muted);color:var(--muted)}:root[data-theme=dark] .notification-count:not(.none){background:#4a2229;color:#f0929e}@media(max-width:900px){.notification-label{display:none}.task-notifications>summary{width:40px;padding:0}}.task-notification-panel{position:absolute;z-index:60;top:100%;right:0;width:min(420px,calc(100vw - 32px));max-height:75vh;overflow:auto;padding:1rem;border:1px solid var(--line);border-radius:12px;background:var(--white);box-shadow:0 8px 28px rgb(var(--shadow-rgb) / 12%)}@media(max-width:600px){.task-notification-panel{position:fixed;top:64px;right:16px}}.task-links{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.tasks-page:has(.task-links){gap:var(--space-3)}.tasks-page:has(.task-links)>.card{padding:var(--space-4)}.tasks-page:has(.task-links) .task-links{gap:var(--space-2)}.tasks-page:has(.task-links) .card h2{margin:0 0 var(--space-2);font-size:1.0625rem}.tasks-page:has(.task-links) .card h3{margin:var(--space-3) 0 var(--space-1);font-size:.9375rem}.tasks-page:has(.task-links) .card p{margin:var(--space-2) 0}.tasks-page:has(.task-links) .task-progress-row{padding:var(--space-2) 0}.tasks-page:has(.task-links) .task-files li{padding:var(--space-1) 0}.task-progress-filters{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:flex-end;gap:.75rem;margin:var(--space-2) 0}.task-progress-filters>.filter-combobox{flex:0 1 220px;min-width:0}.tasks-page[aria-busy=true]>:not(.task-links){opacity:.55;pointer-events:none;transition:opacity .15s}.task-progress-table{overflow-x:auto;margin:var(--space-1) 0 var(--space-3);border:1px solid var(--line);border-radius:12px}.task-progress-table table{min-width:760px}.task-progress-table td:first-child{min-width:160px}.task-progress-table td small{display:block;margin-top:2px;color:var(--danger);font-size:inherit}.task-progress-table .task-files{margin:0}.task-progress-table .task-files li{min-width:190px}.tasks-page a,.task-notification-panel a{color:var(--accent-dark);text-underline-offset:3px}.folder-picker-select-all{margin:.25rem .5rem;width:calc(100% - 1rem)}.folder-tree-search{position:sticky;top:calc(-1 * var(--space-2));z-index:1;margin:calc(-1 * var(--space-2)) calc(-1 * var(--space-2)) var(--space-2);padding:var(--space-2);background:var(--white);border-bottom:1px solid var(--line);border-radius:12px 12px 0 0}.folder-tree-search input{width:100%}.folder-search-results{display:grid;gap:.125rem;margin:0;padding:0;list-style:none}.folder-search-results .folder-tree-node{align-items:flex-start}.folder-search-results .folder-tree-node span{display:grid;min-width:0}.folder-search-results small{overflow:hidden;color:var(--muted);text-overflow:ellipsis}.task-file-lines{display:grid;margin:0;padding:0;list-style:none}.task-file-lines li{font-size:inherit;line-height:1.4;display:flex;align-items:center;gap:.25rem;height:28px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-progress-table .task-file-lines li:not(:only-child){max-width:260px}.task-progress-table td:has(>.task-file-lines:not(.task-file-actions)){max-width:260px}.task-icon-button,.task-icon-button:hover:not(:disabled){display:inline-grid;flex:none;place-items:center;width:26px;height:26px;min-height:0;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted);box-shadow:none;transform:none;cursor:pointer;text-decoration:none}.task-icon-button:hover:not(:disabled){background:var(--pink-tint, var(--surface-muted));color:var(--ink)}.task-status{display:inline-block;padding:.125rem .5rem;border-radius:999px;font-size:inherit;font-weight:600;white-space:nowrap}.task-status.ok{background:#dcfce7;color:#166534}.task-status.wait{background:#fef3c7;color:#92400e}.task-status.late{background:#fee2e2;color:#991b1b}:root[data-theme=dark] .task-status.ok{background:#1f3a2b;color:#7fd3a0}:root[data-theme=dark] .task-status.wait{background:#3d3118;color:#f2cf7a}:root[data-theme=dark] .task-status.late{background:#4a2229;color:#f0929e}.folder-picker-popover li[aria-disabled=true]{cursor:not-allowed}.folder-picker-row.locked{opacity:.6}.folder-picker-row.locked .folder-picker-enter{opacity:1}.folder-tile{position:relative}.tasks-page>.task-page-hint{max-width:none;margin:calc(-1 * var(--space-3)) 0 0;font-size:.875rem}.task-notification-panel{display:flex;flex-direction:column;width:min(380px,calc(100vw - 32px));max-height:min(calc(100vh - 96px),720px);overflow:hidden;padding:.875rem}.task-notification-panel>*{flex:none}.task-notification-head h2{font-size:1.125rem}.notification-count:not(.none){background:#dc2626;color:#fff}.notice-summary{display:flex;align-items:center;gap:.35rem;margin:0 0 .25rem;color:var(--muted);font-size:.8125rem;text-decoration:none}.notice-summary b{color:var(--ink);font-weight:600}.notice-summary b.late{color:#dc2626}.notice-toolbar{display:flex;justify-content:flex-end;margin:.5rem 0}.notice-read-all,.notice-read-all:hover:not(:disabled){display:inline-flex;align-items:center;gap:.3rem;min-height:32px;padding:0 .6rem;border:1px solid var(--line-strong);border-radius:999px;background:var(--white);color:var(--accent-dark);font-size:.75rem;font-weight:600;box-shadow:none;transform:none}.notice-read-all:disabled{color:var(--muted)}.task-notification-panel>.notice-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:2px}.notice-scroll>.pagination{margin-top:.75rem}@media(max-width:600px){.task-notification-panel{max-height:calc(100vh - 144px)}}.notice-list{display:grid;gap:.5rem}.notice-card{display:grid;gap:.2rem;padding:.625rem .75rem;border:1px solid var(--line);border-left:3px solid var(--line-strong);border-radius:10px;background:var(--white)}.notice-card.unread{border-left-color:#dc2626;background:var(--pink-tint)}.notice-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.25rem .5rem;font-size:.6875rem;color:var(--muted)}.notice-card.unread .notice-state{color:#dc2626;font-weight:700}.notice-card.urgent{border-left-color:var(--danger)}.notice-card.urgent .notice-context{color:var(--danger);font-weight:700}.notice-time{display:inline-flex;align-items:center;gap:.25rem;font-variant-numeric:tabular-nums}.notice-title{font-size:.875rem;font-weight:600;line-height:1.35;overflow-wrap:anywhere}.notice-context{color:var(--muted);font-size:.75rem}.notice-actions{display:flex;flex-wrap:wrap;gap:.25rem .75rem;margin-top:.25rem}.notice-actions button,.notice-actions button:hover:not(:disabled),.notice-actions a{display:inline-flex;align-items:center;gap:.25rem;min-height:28px;padding:0;border:0;background:transparent;color:var(--accent-dark);font-size:.75rem;font-weight:600;text-decoration:none;box-shadow:none;transform:none}.notice-actions button,.notice-actions button:hover:not(:disabled){padding:0 .5rem;border:1px solid var(--line-strong);border-radius:8px;background:var(--white);color:var(--muted)}.notice-actions button:hover:not(:disabled){background:var(--pink-tint);color:var(--ink)}:root[data-theme=dark] .notice-card.unread{background:#2b1d24}.admin-content>.container:has(>.page-nav:first-child){padding-top:var(--space-2)}.catalog-principal{display:grid;gap:.5rem;max-width:520px;margin-bottom:1rem;padding:1rem 1.1rem}.catalog-principal p{margin:0;font-size:.8rem}.topbar-year{display:flex;align-items:center;gap:4px}.topbar-year .filter-combobox{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.5rem}.topbar-year .filter-combobox-label{color:var(--muted);font-size:.875rem;font-weight:600;white-space:nowrap}.topbar-year .filter-combobox-trigger,.topbar-year .filter-combobox-trigger:hover{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:auto;min-width:0;max-width:100%;min-height:36px;margin:0;padding:0 .75rem;border:1px solid var(--line-strong);border-radius:10px;background:var(--white);color:var(--ink);font-size:.875rem;font-weight:400;text-align:left;transform:none}.topbar-year-other .filter-combobox-trigger,.topbar-year-other .filter-combobox-trigger:hover{border-color:var(--sun-ink);color:var(--sun-ink);font-weight:600}.topbar-year .filter-combobox-popover{min-width:100%}.topbar-year .filter-combobox-popover input{flex:none;width:100%;min-height:36px;margin:0}.year-notice{margin:4px 0 0;font-size:.875rem;color:var(--sun-ink)}@media(max-width:640px){.topbar-year .filter-combobox-trigger,.topbar-year .filter-combobox-trigger:hover{max-width:140px}}@media(max-width:620px){.workspace-header-inner:has(.topbar-year) .topbar-logo{margin-right:0}.topbar-year{margin-right:auto}}@media(max-width:480px){.topbar-year .filter-combobox-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/QdVPSTAyLFyeg_IDWvOJmVES_Hw4BXoKZA.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/QdVPSTAyLFyeg_IDWvOJmVES_Hw5BXoKZA.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/QdVPSTAyLFyeg_IDWvOJmVES_Hw3BXo.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/QdVMSTAyLFyeg_IDWvOJmVES_HTEJm86Rb0bcw.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/QdVMSTAyLFyeg_IDWvOJmVES_HTEJm87Rb0bcw.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/QdVMSTAyLFyeg_IDWvOJmVES_HTEJm81Rb0.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/QdVMSTAyLFyeg_IDWvOJmVES_HToIW86Rb0bcw.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/QdVMSTAyLFyeg_IDWvOJmVES_HToIW87Rb0bcw.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/QdVMSTAyLFyeg_IDWvOJmVES_HToIW81Rb0.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/QdVMSTAyLFyeg_IDWvOJmVES_HSMIG86Rb0bcw.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/QdVMSTAyLFyeg_IDWvOJmVES_HSMIG87Rb0bcw.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/QdVMSTAyLFyeg_IDWvOJmVES_HSMIG81Rb0.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink: #3a2e48;--muted: #76698a;--line: #f1e6ee;--bg: #fffaf7;--white: #fff;--accent: #c2306b;--accent-dark: #9f2456;--accent-soft: #ffe6ef;--pink-soft: #ffe6ef;--pink-tint: #fff3f7;--line-strong: #d8cbd5;--surface-hover: #fffafc;--surface-muted: #f0f1f3;--green-ink: #287e4b;--sun-ink: #956019;--sky-ink: #177a92;--success: #258551;--success-solid: #258551;--danger-dark: #941b31;--shadow-rgb: 58 46 72;--shadow-accent-rgb: 194 48 107;--backdrop: rgb(58 46 72 / 38%);--green-soft: #e3f6ea;--sun-soft: #fff2da;--sky-soft: #dcf2f9;--radius: 18px;--workspace-max: 1320px;--workspace-padding-x: 32px;--sidebar-width: 248px;--folder-tree-width: 280px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;font-family:Be Vietnam Pro,system-ui,sans-serif;letter-spacing:0}.app-shell{min-height:100dvh;font-family:inherit}b,strong{font-weight:600}button{border-radius:14px;background:var(--accent);box-shadow:none}button:hover:not(:disabled){background:var(--accent-dark);box-shadow:none;transform:translateY(-1px)}button.secondary{background:var(--pink-tint);color:var(--accent);border:1px solid var(--line)}button.secondary:hover:not(:disabled){background:var(--pink-soft);color:var(--accent-dark)}input,select{border:1px solid var(--line-strong);border-radius:14px;background:var(--white)}input:hover,select:hover{background:var(--surface-hover)}input::placeholder{color:var(--muted);opacity:1}.card{border:1px solid var(--line);box-shadow:0 6px 22px rgb(var(--shadow-rgb) / 4%)}.page-title h1,.page-title h2,.workspace-header h1{letter-spacing:-.035em;line-height:1.25}.workspace-header h1{font-size:1.5rem;font-weight:600}.workspace-page-title h1,.page-title h1,.page-title h2,.dashboard-metrics h2,.dashboard-actions h2{font-weight:500}.sidebar{border-right:1px solid var(--line)}.brand{color:var(--accent);letter-spacing:-.025em;padding-bottom:2rem}.brand b{color:var(--green-ink)}.brand small{letter-spacing:.04em}.nav-item{color:var(--muted);border-radius:14px;min-height:48px;font-weight:400}.nav-icon{width:21px;height:21px;border-radius:0}.nav-item:hover:not(:disabled),.nav-item.active:hover:not(:disabled){background:var(--pink-tint);color:var(--accent-dark);transform:none}.nav-item.active{background:var(--pink-soft);color:var(--accent);box-shadow:none;font-weight:600}.tone-pink{--tone: var(--accent);--tone-soft: var(--pink-soft)}.tone-green{--tone: var(--green-ink);--tone-soft: var(--green-soft)}.tone-sun{--tone: var(--sun-ink);--tone-soft: var(--sun-soft)}.tone-sky{--tone: var(--sky-ink);--tone-soft: var(--sky-soft)}.tone-danger{--tone: var(--danger);--tone-soft: color-mix(in srgb, var(--danger) 12%, var(--white))}.avatar{background:var(--green-soft);color:var(--green-ink)}.icon-button{background:var(--white);color:var(--ink);border:1px solid var(--line);box-shadow:none}.icon-button:hover:not(:disabled){background:var(--pink-soft);color:var(--accent)}.app-toast{position:fixed;top:calc(20px + env(safe-area-inset-top));right:var(--workspace-padding-x);z-index:100;display:flex;align-items:center;gap:var(--space-2);width:min(360px,calc(100vw - (2 * var(--workspace-padding-x))));margin:0;padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--ink);font-size:.875rem;font-weight:600;line-height:1.4;box-shadow:0 12px 32px rgb(var(--shadow-rgb) / 18%)}.app-toast.success{border-color:var(--success-solid);background:var(--success-solid);color:#fff;box-shadow:0 12px 32px color-mix(in srgb,var(--success-solid) 32%,transparent)}.app-toast.error{border-color:color-mix(in srgb,var(--danger) 35%,var(--line));color:var(--danger)}.app-toast .app-icon{flex:none}.welcome{align-items:center;min-height:148px;padding:1rem 1.25rem;border-radius:var(--radius);background:var(--pink-soft);color:var(--ink)}.welcome:after{content:none}.welcome{box-shadow:0 8px 24px rgb(var(--shadow-accent-rgb) / 6%)}.welcome>div:first-child{position:relative;z-index:1}.welcome p{color:var(--accent);font-size:.72rem;letter-spacing:0;text-transform:none}.welcome h2{margin-bottom:.5rem;font-size:1.4rem;line-height:1.15;letter-spacing:-.025em;font-weight:600}.welcome h2 strong{color:var(--accent);font-weight:600}.dashboard-metrics-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.dashboard-metrics .stats{margin:1rem 0 0}.dashboard-metrics .muted{margin:.75rem 0 0}.dashboard-metrics .stat-card>span{min-width:0}.welcome button{background:var(--accent);color:var(--white)}.welcome button:hover:not(:disabled){background:var(--accent-dark);color:var(--white)}.welcome button .app-icon{margin-left:.6rem;width:20px}.welcome-art{position:relative;flex:0 0 104px;height:88px;width:104px}.welcome-art>.app-icon{position:absolute;width:36px;height:36px;padding:8px;border-radius:10px}.welcome-art>.app-icon:first-child{top:0;right:6px;background:var(--sun-soft);color:var(--sun-ink);transform:rotate(10deg)}.welcome-art>.app-icon:nth-child(2){top:42px;left:0;background:var(--sky-soft);color:var(--sky-ink);transform:rotate(-10deg)}.book{right:6px;bottom:0;width:44px;height:44px;border-radius:12px;background:var(--green-soft);color:var(--green-ink);transform:rotate(6deg)}.book .app-icon{width:26px;height:26px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1.5rem 0 2rem}.stat-card{padding:1rem;gap:.7rem;border:1px solid var(--line);border-radius:18px;background:var(--white)}.stat-card+.stat-card:before{content:none}.stat-card>.app-icon{width:40px;height:40px;padding:8px;border-radius:14px}.stat-card>.app-icon{background:var(--tone-soft, var(--pink-soft));color:var(--tone, var(--accent))}.stat-card b{font-size:clamp(1rem,1.5vw,1.5rem);white-space:normal;letter-spacing:-.025em}.stat-card small{letter-spacing:.025em}.quick-icon{width:40px;height:40px;flex-basis:40px;padding:8px;border-radius:14px;background:var(--tone-soft, var(--pink-soft));color:var(--tone, var(--accent))}.text-button,.more{background:transparent;color:var(--accent);box-shadow:none}.text-button{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}.text-button .app-icon{width:16px}.text-button:hover:not(:disabled),.more:hover:not(:disabled){background:var(--pink-soft);color:var(--accent-dark);transform:none}.status{border-radius:999px}@media(max-width:1200px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.welcome{padding:1.25rem;min-height:0}.welcome-art{display:none}.stat-card{gap:.5rem;padding:.75rem}.stat-card>.app-icon{width:32px;height:32px;padding:5px}}@media(max-width:620px){.sidebar{position:fixed;bottom:0;left:0;right:0;padding-bottom:max(.4rem,env(safe-area-inset-bottom));background:var(--white);box-shadow:0 -4px 20px rgb(var(--shadow-rgb) / 5%)}.workspace{padding-bottom:80px}.nav-item{min-width:44px}.workspace-header h1{font-size:1.25rem}.stats{gap:.6rem}.stat-card b{font-size:1rem}}.form-modal .form-actions{justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--line)}@media(max-width:620px){.form-modal .form-actions>button{flex:1}}body{font-size:.875rem}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0,1fr)}.workspace{min-width:0}.workspace-container{width:100%;max-width:var(--workspace-max);margin-inline:auto;padding-left:var(--workspace-padding-x);padding-right:var(--workspace-padding-x)}.workspace-header{min-height:72px;padding:0;border-bottom:1px solid var(--line);background:var(--white)}.workspace-header-inner{display:flex;min-width:0;min-height:72px;align-items:center;justify-content:space-between;gap:var(--space-4)}.workspace-page-title{padding-top:var(--space-5);padding-bottom:0}.workspace-page-title h1{min-width:0;margin:0;overflow-wrap:anywhere;color:var(--ink);font-size:1.5rem;line-height:1.25}.workspace-header h1{overflow-wrap:anywhere}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.topbar-search{position:relative;flex:1 1 400px;width:min(100%,420px);max-width:420px;min-width:0}.topbar-search-launcher{position:relative}.topbar-search-popup{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:25;width:min(480px,calc(100vw - 32px));padding:var(--space-3);border:1px solid var(--line);border-radius:14px;background:var(--white);box-shadow:0 12px 28px rgb(var(--shadow-rgb) / 12%)}.topbar-search-popup .topbar-search{flex:none;width:100%;max-width:none}@media(max-width:620px){.topbar-search-popup{position:fixed;top:64px;right:16px;left:16px;width:auto}}.topbar-search>.app-icon{position:absolute;top:50%;left:var(--space-3);color:var(--muted);transform:translateY(-50%);pointer-events:none}.topbar-search-clear,.topbar-search-clear:hover:not(:disabled),.topbar-search-clear:active:not(:disabled){position:absolute;top:50%;left:4px;z-index:2;display:grid;place-items:center;width:34px;min-height:34px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--muted);box-shadow:none;transform:translateY(-50%)}.topbar-search-clear:hover:not(:disabled){background:var(--pink-tint);color:var(--accent);transform:translateY(-50%)}.topbar-search input{width:100%;margin:0;padding-left:40px;padding-right:180px;border-color:var(--line-strong)}.topbar-search input[type=search]::-webkit-search-cancel-button{display:none;appearance:none}.topbar-search-scope{position:absolute;top:50%;right:var(--space-3);max-width:158px;overflow:hidden;color:var(--muted);font-size:.6875rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap;transform:translateY(-50%);pointer-events:none}.topbar-search-results{position:absolute;top:calc(100% + var(--space-2));left:0;right:0;z-index:20;display:grid;gap:var(--space-1);max-height:min(420px,70dvh);overflow-y:auto;padding:var(--space-2);border:1px solid var(--line);border-radius:14px;background:var(--white);box-shadow:0 12px 28px rgb(var(--shadow-rgb) / 12%)}.topbar-search-results>p{margin:0;padding:var(--space-2) var(--space-3);font-size:.8125rem}.topbar-search-results ul{display:grid;gap:2px;margin:0;padding:0;list-style:none}.topbar-search-results a,.topbar-search-result{display:flex;align-items:center;gap:var(--space-3);min-height:48px;padding:var(--space-2);border-radius:10px;color:var(--ink);text-decoration:none}.topbar-search-results a:hover,.topbar-search-results a:focus-visible{background:var(--pink-tint)}.topbar-search-result{cursor:default}.topbar-search-results .file-icon{flex:0 0 32px;height:36px}.topbar-search-results :is(a,.topbar-search-result)>span:last-child{min-width:0}.topbar-search-results b,.topbar-search-results small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-search-results b{font-size:.8125rem}.topbar-search-results small{color:var(--muted);font-size:.75rem}.topbar-search-results .topbar-search-all{justify-content:center;width:100%;min-height:40px;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;color:var(--accent);font-size:.8125rem;font-weight:600;box-shadow:none;transform:none}.topbar-search-results .topbar-search-all:hover:not(:disabled){background:var(--pink-tint);color:var(--accent-dark);transform:none}.document-detail-page{display:grid;gap:var(--space-4)}.document-detail-head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-3)}.document-detail-head>div:nth-child(2){flex:1;min-width:min(100%,240px)}.document-detail-head h2{margin:0;font-size:1.125rem;line-height:1.3;overflow-wrap:anywhere}.document-detail-head p{margin:2px 0 0;overflow-wrap:anywhere}.document-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4);margin:var(--space-5) 0 0;padding-top:var(--space-5);border-top:1px solid var(--line)}.document-meta dt{color:var(--muted);font-size:.75rem;font-weight:500}.document-meta dd{margin:2px 0 0;overflow-wrap:anywhere}.document-detail-page .preview-card{margin:0}.document-detail-page .preview-card h2{margin:0 0 var(--space-3);font-size:1rem}.document-detail-page .preview-card iframe{width:100%;aspect-ratio:210 / 297;height:auto;min-height:0;border:1px solid var(--line)}.topbar-meta{display:flex;flex-shrink:0;align-items:center;gap:var(--space-3);margin-left:auto}.topbar-greeting{position:relative}.topbar-greeting-trigger{display:grid;margin:0;padding:0;border:0;background:none;box-shadow:none;text-align:right;line-height:1.35;border-radius:8px;min-height:0;transform:none}.topbar-greeting-trigger:hover:not(:disabled){background:none;transform:none}.topbar-greeting-trigger[aria-expanded=true]{outline:2px solid var(--accent);outline-offset:2px}.topbar-greeting-label{display:inline-flex;align-items:center;justify-content:flex-end;gap:.4rem}.vietnam-flag{display:block;width:21px;height:14px;flex:0 0 auto;border-radius:2px;box-shadow:0 0 0 1px #0000001a}.topbar-greeting-trigger b{font-size:.8125rem;color:var(--ink)}.topbar-greeting-trigger time{display:block;color:var(--muted);font-size:.75rem;font-variant-numeric:tabular-nums}.topbar-calendar{position:absolute;top:calc(100% + .5rem);right:0;z-index:20;width:min(280px,calc(100vw - 2rem));padding:.85rem;border:1px solid var(--line);border-radius:14px;background:var(--white);box-shadow:0 12px 28px rgb(var(--shadow-rgb) / 12%);animation:filter-pop-in .16s ease-out}@media(prefers-reduced-motion:reduce){.topbar-calendar{animation:none}}.calendar-grid span.muted{color:var(--muted);opacity:.55}.calendar-grid .today{box-shadow:inset 0 0 0 1px var(--accent);font-weight:650}.calendar-grid .endpoint{background:var(--accent);color:var(--white);font-weight:650}.calendar-grid .endpoint:hover:not(:disabled){background:var(--accent-dark);color:var(--white)}button,input,select{min-height:40px;border-radius:10px;font-size:.875rem}button{padding:.5rem .875rem}.icon-button{width:40px;padding:.5rem}.icon-button .app-icon{width:20px;height:20px}.avatar{width:28px;height:28px;flex-shrink:0;font-size:.625rem}.sidebar{position:sticky;top:0;height:100dvh;padding:1.25rem .75rem}.brand{padding:0 .5rem 1.5rem;font-size:1.125rem}.brand{position:relative;gap:var(--space-3)}.brand:after{content:"";position:absolute;right:.5rem;bottom:.75rem;left:.5rem;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--green-ink),var(--accent));opacity:.4}.brand>span:last-child{font-size:1rem;line-height:1.15;white-space:nowrap}.brand-logo{flex:0 0 44px;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--white);object-fit:cover;box-shadow:0 2px 8px rgb(var(--shadow-accent-rgb) / 16%)}.nav-item{min-height:42px;padding:.5rem .625rem;border-radius:10px;font-size:.8125rem;gap:.625rem}.nav-icon{width:21px;height:21px}.sidebar .sidebar-primary{display:block;flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin}.nav-group{display:grid;gap:.22rem}.sidebar-footer{flex:none;margin-top:auto;padding-top:var(--space-3);border-top:1px solid var(--line)}.sidebar-footer nav{display:block}.sidebar-footer .sidebar-account{border-top:0}.sidebar-account{position:relative;margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--line)}.account-trigger{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);border-radius:10px;background:transparent;color:var(--ink);text-align:left;font-weight:600}.account-trigger:hover:not(:disabled),.account-trigger[aria-expanded=true]{background:var(--pink-soft);color:var(--accent-dark);transform:none}.account-trigger>.app-icon{color:var(--muted)}.account-text,.account-menu-head{display:grid;min-width:0}.account-text{flex:1}.account-text b,.account-text small,.account-menu-head b,.account-menu-head small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-text b,.account-menu-head b{font-size:.8125rem}.account-text small,.account-menu-head small{color:var(--muted);font-size:.6875rem;font-weight:500}.account-menu{position:absolute;bottom:calc(100% + var(--space-2));left:0;z-index:30;display:grid;gap:2px;width:max(100%,220px);padding:var(--space-1);border:1px solid var(--line);border-radius:14px;background:var(--white);box-shadow:0 12px 32px rgb(var(--shadow-rgb) / 14%)}.account-menu-head{display:none;padding:var(--space-2)}.account-menu [role=menuitem]{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:38px;padding:var(--space-2);border-radius:10px;background:transparent;color:var(--ink);font-weight:500;text-align:left}.account-menu [role=menuitem] .app-icon{color:var(--muted)}.account-menu [role=menuitem]:hover:not(:disabled),.account-menu [role=menuitem]:focus-visible{background:var(--pink-soft);color:var(--accent-dark);transform:none}.account-menu .account-menu-danger,.account-menu .account-menu-danger .app-icon{color:var(--danger)}.account-menu .account-menu-danger:hover:not(:disabled),.account-menu .account-menu-danger:focus-visible{background:color-mix(in srgb,var(--danger) 10%,var(--white));color:var(--danger)}.account-menu-separator{height:1px;margin:2px var(--space-1);background:var(--line)}.page-content,.admin-content>.container{width:100%;max-width:var(--workspace-max);margin-inline:auto;padding-top:var(--space-5);padding-right:var(--workspace-padding-x);padding-bottom:32px;padding-left:var(--workspace-padding-x)}.card{padding:var(--space-5)}.page-title{align-items:center;gap:var(--space-3);margin-bottom:var(--space-5)}.page-title h1,.page-title h2{font-size:1.25rem}.page-title p{font-size:.8125rem}.page-title>.row-menu>.icon-button{border-color:var(--line);background:var(--white);color:var(--ink)}.page-title .form-link{margin-bottom:var(--space-2)}.stats{gap:var(--space-4);margin:var(--space-4) 0 var(--space-5)}.stat-card{padding:var(--space-4);border-radius:14px}.stat-card b{font-size:1.25rem}.stat-card>.app-icon,.quick-icon{width:34px;height:34px;padding:7px;border-radius:10px}.quick-icon{flex-basis:34px}.metrics-table{padding:0;background:var(--white)}.document-actions{gap:var(--space-2)}.document-actions button{min-height:36px;padding:0 var(--space-3);font-size:.75rem}.profile-card h1,.profile-card h2{margin:0;font-size:1.125rem;line-height:1.4}.catalog-detail-back{display:inline-block;margin-bottom:var(--space-2);color:var(--muted);font-size:.8125rem;font-weight:600;text-decoration:none}.catalog-detail-back:hover{color:var(--accent);text-decoration:underline}.data-table{overflow:auto;padding:0}.data-table table{min-width:720px;table-layout:fixed}.data-table th,.data-table td{white-space:nowrap}:is(.data-table,.metrics-table,.task-progress-table,.incident-table-wrap,.daily-day-table) table{width:100%;border-collapse:collapse;font-size:.8125rem}:is(.data-table,.metrics-table,.task-progress-table,.incident-table-wrap,.daily-day-table) :is(th,td){padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}:is(.data-table,.metrics-table,.task-progress-table,.incident-table-wrap,.daily-day-table) th{background:var(--surface-muted);border-bottom-color:var(--line-strong);color:var(--muted);font-size:.75rem;font-weight:600;letter-spacing:.03em;white-space:nowrap}:is(.data-table,.metrics-table,.task-progress-table,.incident-table-wrap,.daily-day-table) tbody tr:last-child td{border-bottom:0}:is(.data-table,.metrics-table,.task-progress-table,.incident-table-wrap,.daily-day-table) tbody tr:hover>td{background:var(--surface-hover)}.data-table .col-id{width:64px}.data-table .col-name{width:auto;min-width:200px;white-space:normal;overflow:hidden;text-overflow:ellipsis}.data-table .col-status{width:120px;text-align:center}.data-table .col-date{width:130px}.data-table .col-actions{width:108px;text-align:right}.data-table-action-group{display:inline-flex;align-items:center;justify-content:flex-end;gap:var(--space-1)}.data-table-action-group .icon-button{width:34px;min-height:34px;padding:0;border-radius:8px}.filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-5)}.filter-bar input,.filter-bar select{min-width:0;margin:0}.filter-bar input{flex:1 1 240px;max-width:none;border:1px solid var(--line-strong);box-shadow:none}.filter-bar select{flex:0 1 180px}.filter-bar-group{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);flex:1 1 auto;min-width:0}.filter-bar-group select{flex:0 1 180px;min-width:0;margin:0}.filters select,.filter-bar button{min-height:40px}input,select{margin-top:0}label>input,label>select{margin-top:var(--space-2)}.form-actions{gap:var(--space-2)}.form-modal .form-actions{padding-top:var(--space-4)}.profile-page{gap:var(--space-5)}.profile-card{gap:var(--space-4)}.profile-card p{margin:0}.dashboard-page{gap:var(--space-5)}.welcome p{margin-bottom:var(--space-1)}.welcome h2{margin-bottom:var(--space-2)}.dashboard-copy{margin:0 0 .75rem;color:var(--muted);font-size:.8rem;line-height:1.4}.dashboard-actions{display:grid;gap:var(--space-3)}.dashboard-actions>div{gap:var(--space-4)}.dashboard-actions button{min-height:0;gap:var(--space-3);padding:var(--space-4)}@media(max-width:1024px){:root{--workspace-padding-x: 24px}.app-shell{grid-template-columns:72px minmax(0,1fr)}.brand{justify-content:center;padding-inline:0}.brand-logo{flex-basis:40px;width:40px;height:40px}.brand>span:last-child,.nav-item>span,.account-text,.account-trigger>.app-icon{display:none}.nav-item,.account-trigger{justify-content:center;padding-inline:0}.account-menu{left:calc(100% + var(--space-2));bottom:0;width:220px}.account-menu-head{display:grid}}@media(max-width:768px){.workspace-header,.workspace-header-inner{min-height:64px}.workspace-page-title h1{font-size:1.25rem}.page-content,.admin-content>.container{padding-top:var(--space-4);padding-bottom:var(--space-6)}.welcome h2{font-size:1.5rem}.welcome-art{display:none}.profile-page,.dashboard-page,.dashboard-actions>div{gap:var(--space-4)}.page-title,.filter-bar{margin-bottom:var(--space-4)}button,input,select,.nav-item,.filters select,.filter-bar button,.document-actions button,.more{min-height:44px}.filter-bar{display:grid;grid-template-columns:1fr 1fr}.filter-bar input{max-width:none;grid-column:1 / -1}.filter-bar-group{grid-column:1 / -1}.filter-bar button{margin-top:0}.form-actions,.page-title{flex-wrap:wrap}.metrics-page .page-title .filter-bar{display:flex;width:100%}}@media(max-width:620px){:root{--workspace-padding-x: 16px}input,select,textarea{font-size:1rem}.app-shell{display:block}.sidebar{padding:.375rem .5rem max(.375rem,env(safe-area-inset-bottom))}.workspace{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.workspace-header-inner{gap:.5rem;flex-wrap:wrap}.topbar-greeting{display:none}.sidebar{display:block;height:auto}.sidebar-primary{min-width:0;overflow:visible}.nav-group{display:contents}.sidebar-footer{display:none}.account-trigger{padding-inline:var(--space-2)}.account-menu{left:auto;right:0;bottom:calc(100% + var(--space-3))}.welcome{padding:1.125rem}.welcome h2{font-size:1.375rem}.welcome p{font-size:.75rem}.stats{gap:.625rem}.stat-card{padding:.75rem}.stat-card b{font-size:1.125rem}.card{padding:var(--space-4)}.metrics-table{padding:0}.page-title{display:flex;align-items:flex-start}.page-title>button{margin-top:0}.filter-bar{grid-template-columns:1fr}.metrics-page .page-title{display:block}.metrics-page .page-title>button{margin-top:var(--space-3)}}.metrics-table table{table-layout:auto;min-width:max-content}.metrics-table th:first-child,.metrics-table td:first-child{width:auto}.metrics-table td input{width:84px;min-height:32px;padding:.35rem .5rem}.metrics-table .metric-name{min-width:150px}.metrics-table .metric-actions-cell{white-space:nowrap;text-align:right}.metrics-table .metric-action{width:36px;min-height:36px}.metrics-table .metric-group-row{position:relative;display:flex;align-items:center;min-height:24px;gap:.35rem;padding-left:0;color:var(--ink)}.metrics-table .metric-item>td:first-child{width:72px;background:none}.metrics-table .metric-item>td:nth-child(2){padding-left:.75rem}.metrics-table .metric-tree-toggle{display:inline-grid;place-items:center;width:24px;min-height:24px;margin:0;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted);box-shadow:none}.metrics-table .metric-tree-toggle:hover:not(:disabled){background:var(--accent-soft);color:var(--accent);box-shadow:none;transform:none}.metrics-table .metric-group .metric-tree-toggle[aria-expanded=false] .app-icon{transform:rotate(-90deg)}.metric-edit-values{display:grid;gap:var(--space-3);margin:0;padding:var(--space-3);border:1px solid var(--line);border-radius:10px}.metric-edit-values legend{padding:0 .35rem;color:var(--muted);font-size:.75rem;font-weight:600}.metric-edit-values label{display:grid;grid-template-columns:minmax(0,1fr) 96px;align-items:center;gap:var(--space-3)}.metric-edit-values input{width:96px}.metric-edit-values>p{margin:0;font-size:.8125rem}.metric-edit-reset{width:fit-content;min-height:36px;padding:.45rem .7rem;border:1px solid color-mix(in srgb,var(--danger) 35%,var(--line));border-radius:10px;background:transparent;color:var(--danger);font-size:.8125rem}.metric-edit-reset:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 8%,var(--white));color:var(--danger);box-shadow:none;transform:none}.metric-edit-reset.is-selected{border-color:var(--sun-ink);background:var(--sun-soft);color:var(--sun-ink)}.metric-edit-reset.is-selected:hover:not(:disabled){background:var(--sun-soft);color:var(--sun-ink)}.metric-edit-reset-hint{margin:calc(-1 * var(--space-2)) 0 0;color:var(--sun-ink);font-size:.75rem}.form-modal .metric-edit-values{max-height:min(42vh,360px);overflow:auto}.welcome{isolation:isolate;overflow:hidden;min-height:190px;background:radial-gradient(circle at 82% 18%,rgb(119 205 235 / 25%),transparent 28%),radial-gradient(circle at 62% 100%,rgb(255 186 214 / 24%),transparent 42%),linear-gradient(118deg,#75415f,color-mix(in srgb,var(--accent) 82%,white) 48%,#64809a);color:var(--white);box-shadow:0 18px 38px #17191c1a}.welcome:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.18;background-image:radial-gradient(circle at 12% 22%,rgb(255 255 255 / 70%) 0 1px,transparent 1.5px),radial-gradient(circle at 38% 72%,rgb(255 255 255 / 45%) 0 1px,transparent 1.5px),radial-gradient(circle at 74% 38%,rgb(255 255 255 / 55%) 0 1px,transparent 1.5px),radial-gradient(circle at 92% 76%,rgb(255 255 255 / 45%) 0 1px,transparent 1.5px);background-size:170px 130px,210px 160px,240px 190px,190px 150px;pointer-events:none}.welcome:after{content:"";position:absolute;z-index:-1;width:48%;height:180%;right:-10%;bottom:-92%;border-radius:50%;background:linear-gradient(145deg,#9ae1f42e,#ffbad63d);filter:blur(2px);transform:rotate(-18deg)}.welcome>div:first-child{z-index:1}.welcome p{color:#ffd1e4}.welcome h2{color:var(--white)}.dashboard-copy{color:#f2f0ffc7}.welcome button{background:var(--white);color:#202044}.welcome button:hover:not(:disabled){background:#e9e8ff;color:#202044}.welcome-art{z-index:1}@media(max-width:720px){.welcome{min-height:170px}.welcome:after{right:-28%}}@media(max-width:480px){.workspace-header-inner{padding-block:var(--space-3)}.topbar-search{flex-basis:100%;max-width:none;order:2}.topbar-meta{margin-left:auto}.page-content,.admin-content>.container{padding-top:var(--space-4);padding-right:var(--workspace-padding-x);padding-bottom:calc(var(--space-6) + 48px);padding-left:var(--workspace-padding-x)}.welcome{align-items:flex-start;min-height:0;padding:var(--space-5)}.welcome h2{font-size:1.5rem}.dashboard-copy{max-width:42ch;font-size:.8125rem}.welcome button{width:100%;justify-content:center}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);margin:var(--space-4) 0}.stat-card{min-width:0;padding:var(--space-3)}.stat-card b{font-size:1rem}.dashboard-actions>div{grid-template-columns:1fr}.page-title{align-items:flex-start;flex-wrap:wrap}.page-title>button{width:100%;margin-top:var(--space-2)}.metric-edit-values label{grid-template-columns:minmax(0,1fr) 84px}.metric-edit-values input{width:84px}}@media(max-width:620px){html,body,#root{max-width:100%;overflow-x:hidden}.app-shell,.workspace,.admin-content,.page-content,.workspace-page-title{width:100%;min-width:0}.workspace-page-title h1{min-width:0;overflow-wrap:anywhere}.welcome>div:first-child{min-width:0;max-width:100%}.welcome h2,.dashboard-copy{max-width:100%;overflow-wrap:anywhere}.dashboard-page{min-width:0}}@media(max-width:1024px){.app-shell{grid-template-columns:72px minmax(0,1fr)}.sidebar{min-width:0;padding-inline:.5rem;overflow:visible}.sidebar-primary{overflow-y:auto;scrollbar-width:none}.sidebar-primary::-webkit-scrollbar{display:none}.nav-item{min-width:44px;min-height:44px}.account-menu{max-width:min(220px,calc(100vw - 84px))}}.nav-item.nav-more,.nav-short{display:none}@media(max-width:620px){.app-shell{display:block}.sidebar{position:fixed;inset:auto 0 0;z-index:40;display:block;height:auto;padding:.25rem .25rem max(.25rem,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--white);box-shadow:0 -4px 16px rgb(var(--shadow-rgb) / 6%);-webkit-backdrop-filter:none;backdrop-filter:none}.sidebar .sidebar-primary{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:0;overflow:visible}.nav-group{display:contents}.sidebar .nav-item.nav-secondary,.sidebar .nav-label,.sidebar .sidebar-account{display:none}.sidebar .nav-item,.sidebar .nav-more{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:auto;min-width:0;min-height:56px;padding:.25rem 0;border-radius:12px;background:transparent;color:var(--muted);font-size:.6875rem;font-weight:500;line-height:1.2}.sidebar .nav-item>.nav-short{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar .nav-icon{box-sizing:content-box;width:22px;height:22px;padding:3px 14px;border-radius:999px}.sidebar .nav-item:hover:not(:disabled),.sidebar .nav-item.active:hover:not(:disabled){background:transparent;color:var(--ink)}.sidebar .nav-item.active,.sidebar .nav-item.active:hover:not(:disabled){background:transparent;color:var(--accent);font-weight:600}.sidebar .nav-item.active .nav-icon{background:var(--pink-soft)}.workspace{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.more-sheet{width:100%;max-width:none;max-height:80dvh;margin:auto 0 0;padding:0;overflow-y:auto;border:0;border-radius:18px 18px 0 0;background:var(--white);color:var(--ink);box-shadow:0 -12px 40px rgb(var(--shadow-rgb) / 16%)}.more-sheet-body{padding:var(--space-3) var(--space-3) max(var(--space-3),env(safe-area-inset-bottom))}.more-sheet::backdrop{background:var(--backdrop)}.more-sheet-head{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-3);border-bottom:1px solid var(--line)}.more-sheet-head>div{display:grid;flex:1;min-width:0}.more-sheet-head b{overflow:hidden;font-size:.875rem;text-overflow:ellipsis;white-space:nowrap}.more-sheet-head small{color:var(--muted);font-size:.75rem}.more-sheet-head .avatar{width:36px;height:36px;font-size:.75rem}.more-sheet-head .icon-button{background:transparent;color:var(--muted)}.more-sheet ul{display:grid;gap:2px;margin:0;padding:var(--space-2) 0;list-style:none}.more-sheet ul+ul{border-top:1px solid var(--line)}.more-sheet li button{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:48px;padding:0 var(--space-3);border-radius:12px;background:transparent;color:var(--ink);font-weight:500;text-align:left}.more-sheet li button .app-icon{color:var(--muted)}.more-sheet li button:hover:not(:disabled),.more-sheet li button[aria-current=page]{background:var(--pink-soft);color:var(--accent-dark);transform:none}.more-sheet li button[aria-current=page] .app-icon{color:var(--accent)}.more-sheet li .more-sheet-danger,.more-sheet li .more-sheet-danger .app-icon{color:var(--danger)}}@media(max-width:620px){.workspace-header,.workspace-page-title,.page-content{max-width:100%}.workspace-header{min-width:0}.topbar-search,.topbar-search input,.topbar-meta{min-width:0;max-width:100%}.topbar-search{width:100%}.topbar-search input{padding-right:40px}.topbar-search-scope{display:none}.dashboard-page{width:100%;max-width:100%;overflow:clip}.welcome{display:block;width:100%;max-width:100%;min-width:0;padding:var(--space-4)}.welcome>div:first-child,.dashboard-copy{display:block;min-width:0;max-width:100%}.welcome h2,.welcome p,.dashboard-copy{overflow-wrap:anywhere}.stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));width:100%;max-width:100%}.stat-card{min-width:0;overflow:hidden}.stat-card>span{min-width:0;overflow-wrap:anywhere}}@media(max-width:768px){.metrics-table{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:thin}}.metrics-table .metric-col-name{position:sticky;left:0;z-index:5;background:var(--white);background-clip:padding-box;box-shadow:6px 0 10px -10px rgb(var(--shadow-rgb) / 35%)}.metrics-table{--metric-lead: 72px;--metric-name: 180px}.metrics-table th.metric-col-group>span{display:block;width:calc(var(--metric-lead) - 1.5rem)}.metrics-table .metric-name{width:calc(var(--metric-name) - 1.5rem);min-width:0}.metrics-table .metric-group-row{width:calc(var(--metric-lead) + var(--metric-name) - 1.5rem);min-width:0}.metrics-table .metric-name b,.metrics-table .metric-group-row b{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:768px){.metrics-table{--metric-name: 150px}}@media(max-width:480px){.metrics-table{--metric-name: 132px}}.topbar-logo{display:none}@media(max-width:620px){.topbar-logo{display:block;order:0;flex:0 0 36px;width:36px;height:36px;margin:0 auto 0 0;border:1px solid var(--line);border-radius:50%;background:var(--white);object-fit:cover;box-shadow:0 2px 8px rgb(var(--shadow-accent-rgb) / 14%)}.topbar-meta{order:1}.topbar-search{order:2}}.list-row:has(.row-menu-list){position:relative;z-index:2}.list-row-lead>.avatar{height:37px;font-size:.75rem}.list-row-title .status{margin-left:0}.list-row.has-select{grid-template-columns:20px 37px minmax(0,1fr) auto;grid-template-areas:"select lead title actions" "select lead tags actions"}.list-rows-header+.list-row{border-top:0}.data-table .col-select{width:44px}.metrics-table.can-manage{--metric-lead: 132px}.metrics-table.can-manage .metric-item>td:first-child{width:var(--metric-lead)}.metrics-table .metric-head-group{display:flex;align-items:center;gap:var(--space-2);width:calc(var(--metric-lead) - 1.5rem)}.metrics-table th.metric-col-group .metric-head-group>span{width:auto;white-space:nowrap}.metrics-table td input.select-checkbox{width:16px;min-height:0;padding:0}.bulk-action-bar .danger-button,.bulk-action-bar .secondary{display:inline-flex;align-items:center;gap:var(--space-1);min-height:36px;padding:0 var(--space-3);font-size:.8125rem;white-space:nowrap}@keyframes bulk-bar-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.list-row-actions>button:not(.icon-button){min-height:36px;padding:0 var(--space-3);font-size:.75rem}.list-row-actions .icon-button,.row-menu>.icon-button{width:36px;min-height:36px;padding:0;background:transparent;border-color:transparent;color:var(--muted)}.list-row-actions .icon-button:hover:not(:disabled),.row-menu>.icon-button:hover:not(:disabled),.row-menu>.icon-button[aria-expanded=true]{background:var(--pink-soft);color:var(--accent)}.pagination .icon-button:disabled{opacity:.4;cursor:not-allowed}@media(max-width:768px){.list-row-actions .icon-button,.list-row-actions>button,.row-menu>.icon-button,.pagination .icon-button{min-height:44px}.list-row-actions .icon-button,.row-menu>.icon-button,.pagination .icon-button{width:44px}}@media(max-width:620px){.list-row.has-select{grid-template-areas:"select lead title actions" "select lead tags tags"}.bulk-action-bar .danger-button,.bulk-action-bar .secondary,.bulk-action-bar .bulk-action-close{min-height:44px}}.login{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-height:100dvh;background:var(--white)}.login-brand{position:relative;display:grid;align-content:center;justify-items:start;gap:var(--space-2);overflow:hidden;padding:clamp(2rem,7vw,6rem);background:var(--pink-tint);color:var(--ink)}.login-brand:before{content:"";position:absolute;inset:0;background:url(/brand/decor/sticker-songbird.svg) right 10% top 12% / 132px auto no-repeat,url(/brand/decor/sticker-daisies.svg) right 6% bottom -12px / 150px auto no-repeat,url(/brand/decor/sticker-flower.svg) left 5% bottom -24px / 104px auto no-repeat;opacity:.45;pointer-events:none}.login-brand>*{position:relative;margin:0}.login-logo{width:80px;height:80px;margin-bottom:var(--space-4);border:3px solid var(--white);border-radius:50%;background:var(--white);object-fit:cover;box-shadow:0 10px 24px rgb(var(--shadow-accent-rgb) / 14%)}.login-kicker,.login-heading p{margin:0;color:var(--accent);font-size:.8125rem;font-weight:700}.login-brand h1{font-size:clamp(2rem,3.2vw,2.75rem);letter-spacing:-.02em;line-height:1.25}.login-intro{max-width:36ch;color:var(--muted);font-size:1rem;line-height:1.6}.login-card{display:grid;gap:var(--space-4);align-self:center;justify-self:center;width:min(100% - 48px,400px);padding-block:var(--space-6)}.login-heading{display:grid;gap:var(--space-1);margin-bottom:var(--space-2)}.login-heading h1,.login-heading h2{margin:0;font-size:1.625rem;letter-spacing:-.01em;line-height:1.3}.login-heading span{color:var(--muted);font-size:.875rem;line-height:1.5}.login-field{display:grid;gap:6px;color:var(--ink);font-size:.8125rem;font-weight:600}.login-field input{width:100%;min-height:44px;margin:0;padding:.625rem .875rem;border:1px solid var(--line-strong);border-radius:10px;background:var(--white);color:var(--ink);font-size:.9375rem;font-weight:400;line-height:1.4;box-shadow:none;transition:border-color .15s ease,box-shadow .15s ease}.login-field input:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--line-strong));background:var(--white)}.login-field input:focus,.login-field input:focus-visible{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--pink-soft)}.login-field input:-webkit-autofill{-webkit-text-fill-color:var(--ink);caret-color:var(--ink);box-shadow:0 0 0 1000px var(--white) inset}.login-field input:-webkit-autofill:focus{box-shadow:0 0 0 1000px var(--white) inset,0 0 0 3px var(--pink-soft)}.password-input{position:relative;display:flex;align-items:center}.password-input input{padding-right:48px}label:not(.login-field)>.password-input{margin-top:var(--space-2)}.password-toggle{position:absolute;top:50%;right:4px;display:grid;place-items:center;width:40px;height:40px;min-height:40px;margin:0;padding:0;border:0;border-radius:8px;background:transparent;color:var(--muted);box-shadow:none;transform:translateY(-50%)}.password-toggle:hover:not(:disabled),.password-toggle:active:not(:disabled){background:transparent;color:var(--ink);box-shadow:none;transform:translateY(-50%)}.login-options{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-3);font-size:.8125rem}.login-remember{display:inline-flex;align-items:center;gap:var(--space-2);min-height:32px;color:var(--ink);cursor:pointer}.login-remember input{width:16px;height:16px;min-height:0;margin:0;padding:0;border:0;accent-color:var(--accent);cursor:pointer}.login-options .form-link,.login-card>.form-link{font-size:.8125rem;font-weight:600}.login-card>.form-link{justify-self:center}.login-submit{width:100%;min-height:46px;margin-top:var(--space-1);font-size:.9375rem;font-weight:600;transition:background-color .15s ease,transform .1s ease}.login-submit:hover:not(:disabled){background:var(--accent-dark)}.login-submit:active:not(:disabled){transform:translateY(0) scale(.98)}.login-submit:disabled{opacity:.75;cursor:progress}.login-single{grid-template-columns:minmax(0,400px);justify-content:center;align-content:center;padding:24px;background:var(--pink-tint)}.login-single .login-card{width:100%;padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:0 12px 32px rgb(var(--shadow-rgb) / 8%)}@media(max-width:1023px){.login{grid-template-columns:minmax(0,400px);justify-content:center;align-content:center;gap:var(--space-5);padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));background:var(--pink-tint)}.login-brand{justify-items:center;gap:0;padding:0;overflow:visible;background:none;text-align:center}.login-brand:before,.login-intro{display:none}.login-brand h1{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.login-logo{width:56px;height:56px;margin-bottom:var(--space-2)}.login-kicker{font-size:.9375rem}.login-card{width:100%;padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:0 12px 32px rgb(var(--shadow-rgb) / 8%)}}@media(max-width:480px){.login{align-content:start;padding:max(32px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.login-card{padding:var(--space-5)}.login-remember{min-height:44px}}@media(prefers-reduced-motion:reduce){.login-field input,.login-submit{transition:none}.login-submit:active:not(:disabled){transform:none}}.metrics-table{overflow-x:auto!important;overflow-y:hidden!important}.metrics-table thead th{position:sticky;top:0;z-index:6}.metrics-table thead th.metric-col-name{z-index:7;background:var(--surface-muted)}.metrics-table.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none;scroll-behavior:auto}.metrics-page .filter-more-panel{z-index:8}.topics-layout{display:grid;grid-template-columns:248px minmax(0,1fr);gap:var(--space-5);align-items:start}.topics-parents{position:sticky;top:var(--space-4);padding:var(--space-3)}.topics-parents header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:0 var(--space-1) var(--space-3) var(--space-2)}.topics-parents h2{margin:0;color:var(--muted);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.topics-parents .topics-parents-add{min-height:30px;padding:0 var(--space-3);border-radius:10px;font-size:.8125rem}.topics-parents ul{display:grid;gap:2px;margin:0;padding:0;list-style:none}.topics-parent,.topics-parent:hover:not(:disabled),.topics-parent:active:not(:disabled){transform:none;box-shadow:none}.topics-parent{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;min-height:40px;padding:var(--space-2) var(--space-3);border-radius:10px;background:transparent;color:var(--ink);font-weight:500;text-align:left}.topics-parent:hover:not(:disabled){background:var(--pink-tint);color:var(--ink)}.topics-parent.active,.topics-parent.active:hover:not(:disabled){background:var(--pink-soft);color:var(--accent-dark);font-weight:600}.topics-parent>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topics-count{flex:none;min-width:24px;padding:0 var(--space-2);border-radius:999px;background:var(--surface-muted);color:var(--muted);font-size:.75rem;font-weight:600;line-height:20px;text-align:center}.topics-parent.active .topics-count{background:var(--white);color:var(--accent)}.topics-main{min-width:0}.topics-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.topics-heading h2{margin:0;font-size:1.25rem;letter-spacing:-.02em}.topics-heading p{margin:2px 0 0;font-size:.8125rem}.topics-heading-actions{display:flex;align-items:center;gap:var(--space-2)}.topics-heading-actions>button{white-space:nowrap}.filter-bar.topics-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.topics-status{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--line-strong);border-radius:12px;background:var(--white)}.topics-toolbar .topics-status button{width:auto;min-height:34px;margin:0;padding:0 var(--space-3);border:0;border-radius:9px;background:transparent;color:var(--muted);font-weight:500;box-shadow:none;transform:none}.topics-toolbar .topics-status button:hover:not(:disabled){background:var(--pink-tint);color:var(--ink);transform:none}.topics-toolbar .topics-status button[aria-pressed=true]{background:var(--pink-soft);color:var(--accent-dark);font-weight:600}.topics-page .data-table table{min-width:560px}.topics-page .data-table td.muted{color:var(--muted)}.topics-row-deleted .col-name{color:var(--muted);text-decoration:line-through}@media(max-width:900px){.topics-layout{grid-template-columns:1fr;gap:var(--space-4)}.topics-parents{position:static}.topics-parents ul{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:2px}.topics-parents li{flex:none}.topics-parent{width:auto;min-height:36px;border:1px solid var(--line);border-radius:999px}}@media(max-width:620px){.topics-heading{flex-direction:column;align-items:stretch}.topics-heading-actions{justify-content:space-between}.topics-toolbar .filter-search{flex:1 1 100%}}.folder-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-width:0;margin-bottom:var(--space-4)}.folder-toolbar-left,.folder-toolbar-actions{display:flex;align-items:center;min-width:0}.folder-toolbar-left{flex:1 1 auto;gap:var(--space-2)}.folder-toolbar-actions{flex:none;gap:var(--space-2)}.folder-toolbar-actions .row-menu{z-index:5}.folder-toolbar-actions .row-menu>.icon-button{border-color:var(--line);background:var(--white)}.row-menu>.icon-button.row-menu-text-trigger{display:inline-flex;width:auto;min-width:0;align-items:center;gap:var(--space-1);padding-inline:var(--space-3);white-space:nowrap}.folder-tree-trigger{display:none;align-items:center;justify-content:center;gap:var(--space-2);width:auto;min-height:44px;padding:0 var(--space-3);border:1px solid var(--accent);border-radius:10px;background:var(--pink-soft);color:var(--accent-dark);font-size:.8125rem;font-weight:600;white-space:nowrap;box-shadow:none}.folder-tree-trigger:hover:not(:disabled),.folder-tree-trigger[aria-expanded=true]{background:var(--accent);color:var(--white);box-shadow:none;transform:none}.folder-tree-trigger:active:not(:disabled){background:var(--accent-dark);color:var(--white);transform:scale(.98)}.folder-tree-trigger .app-icon{flex:none}.folder-tree-trigger[aria-expanded=true] .folder-tree-trigger-chevron{transform:rotate(180deg)}.folder-layout{display:grid;grid-template-columns:var(--folder-tree-width) minmax(0,1fr);gap:var(--space-5);align-items:start}.folder-layout.flat{grid-template-columns:minmax(0,1fr)}.folder-tree-panel{min-width:0}.folder-tree-panel-head,.folder-tree-backdrop{display:none}.folder-tree{position:sticky;top:var(--space-4);max-height:calc(100dvh - 120px);overflow:auto;padding:var(--space-2)}.folder-tree ul{margin:0;padding:0;list-style:none}.folder-tree ul ul{margin-left:var(--space-1);padding-left:var(--space-2);border-left:1px solid var(--line)}.folder-tree-row{display:flex;align-items:center}.folder-tree-toggle,.folder-tree-node,.folder-tree-toggle:hover:not(:disabled),.folder-tree-node:hover:not(:disabled),.folder-tree-toggle:active:not(:disabled),.folder-tree-node:active:not(:disabled){box-shadow:none;transform:none}.folder-tree-toggle{display:grid;flex:0 0 20px;place-items:center;width:20px;min-height:24px;padding:0;border-radius:6px;background:transparent;color:var(--muted)}.folder-tree-toggle:hover:not(:disabled){background:var(--pink-tint);color:var(--ink)}.folder-tree-node{display:flex;flex:1 1 auto;align-items:center;gap:var(--space-2);width:100%;min-width:0;min-height:36px;padding:var(--space-1) var(--space-2);border-radius:8px;background:transparent;color:var(--ink);font-size:.875rem;font-weight:500;text-align:left}.folder-tree-node>span{display:-webkit-box;min-width:0;overflow:hidden;line-height:1.3;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.folder-tree ul ul ul ul ul ul{margin-left:0;padding-left:var(--space-1)}.folder-tree-up,.folder-tree-up:hover:not(:disabled),.folder-tree-up:active:not(:disabled){box-shadow:none;transform:none}.folder-tree-up{display:flex;align-items:center;gap:var(--space-1);width:100%;min-height:32px;margin-top:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:8px;background:transparent;color:var(--muted);font-size:.8125rem;font-weight:500;text-align:left}.folder-tree-up>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-tree-up:hover:not(:disabled){background:var(--pink-tint);color:var(--ink)}.folder-tree-panel{position:relative}.folder-tree-resizer{position:absolute;top:0;right:calc(var(--space-5) / -2 - 3px);bottom:0;width:6px;border-radius:3px;cursor:col-resize;touch-action:none}.folder-tree-resizer:hover,.folder-tree-resizer:focus-visible{background:color-mix(in srgb,var(--accent) 35%,var(--line));outline:none}.folder-tree-node .app-icon{flex:none;color:var(--sun-ink)}.folder-tree-node:hover:not(:disabled){background:var(--pink-tint);color:var(--ink)}.folder-tree-node.active,.folder-tree-node.active:hover:not(:disabled){background:var(--pink-soft);color:var(--accent-dark);font-weight:600}.folder-main{min-width:0}.folder-back{margin-bottom:var(--space-3)}.folder-main>.error{margin-bottom:var(--space-3)}.folder-breadcrumb{position:relative;flex:1 1 0%;min-width:0;max-width:100%}.folder-breadcrumb ol{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--space-1);min-width:0;margin:0;padding:0;list-style:none}.folder-breadcrumb li{display:flex;flex:0 1 auto;align-items:center;gap:var(--space-1);min-width:0;color:var(--muted)}.folder-breadcrumb li>.app-icon,.folder-breadcrumb-more{flex:none}.folder-breadcrumb li>button{min-width:0;max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-breadcrumb li.folder-breadcrumb-current{flex:1 0 0%;min-width:min(50%,9rem)}.folder-breadcrumb h2{margin:0;overflow:hidden;color:var(--ink);font-size:1rem;line-height:1.4;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap}.folder-breadcrumb-more{position:static}.folder-breadcrumb-more>button{display:grid;place-items:center;width:32px}.folder-breadcrumb-menu{position:absolute;top:calc(100% + var(--space-1));left:0;z-index:6;display:grid;gap:2px;width:max-content;min-width:min(12rem,100%);max-width:min(24rem,100%);max-height:60dvh;overflow-y:auto;margin:0;padding:var(--space-2);border:1px solid var(--line);border-radius:10px;background:var(--white);box-shadow:0 12px 28px rgb(var(--shadow-rgb) / 14%);list-style:none}.folder-breadcrumb .folder-breadcrumb-menu button,.folder-breadcrumb .folder-breadcrumb-menu button:hover:not(:disabled){display:flex;align-items:center;gap:var(--space-2);width:100%;max-width:none;color:var(--ink);text-align:left;text-decoration:none}.folder-breadcrumb .folder-breadcrumb-menu button:hover:not(:disabled){background:var(--pink-tint)}.folder-breadcrumb-menu .app-icon{flex:none;color:var(--sun-ink)}.folder-breadcrumb-menu span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-breadcrumb button,.folder-breadcrumb button:hover:not(:disabled){min-height:32px;padding:0 var(--space-1);border-radius:8px;background:transparent;color:var(--muted);font-size:.8125rem;font-weight:500;box-shadow:none;transform:none}.folder-breadcrumb button:hover:not(:disabled){color:var(--accent);text-decoration:underline}.folder-page .document-filters{display:flex;flex-wrap:nowrap;gap:var(--space-2);margin:0}.filter-icon-trigger{position:relative;justify-content:center;width:40px;padding:0}.filter-more[open]>.filter-icon-trigger>.app-icon{transform:none}.filter-icon-trigger>span:not(.filter-date-label){position:absolute;top:-7px;right:-7px}.catalog-branches-toolbar{display:flex;flex-wrap:wrap;align-items:center;padding-right:0!important}.catalog-branches-toolbar .filter-search{flex:1 1 320px}.catalog-branches-toolbar .row-menu>.icon-button{border-color:var(--line);background:var(--white);color:var(--ink)}.filter-date-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);min-width:0;margin:0;padding:var(--space-3) 0 0;border:0;border-top:1px solid var(--line)}.filter-date-fields legend{grid-column:1 / -1;padding:0;color:var(--muted);font-size:.75rem;font-weight:600}.filter-date-fields label{min-width:0;color:var(--muted);font-size:.75rem}.filter-date-fields input{width:100%;min-width:0;margin-top:var(--space-1)}.folder-scope{margin:0 0 var(--space-3);font-size:.8125rem}.view-toggle.scope-toggle button,.view-toggle.scope-toggle button:hover:not(:disabled){width:auto;padding-inline:var(--space-3);white-space:nowrap}.upload-button{display:inline-flex;align-items:center;gap:var(--space-2);white-space:nowrap}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:var(--space-4);margin:0 0 var(--space-5);padding:0;list-style:none}.folder-tile,.folder-tile:hover:not(:disabled),.folder-tile:active:not(:disabled){box-shadow:none;transform:none}.folder-tile{display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:var(--space-1) var(--space-3);width:100%;height:100%;min-height:104px;padding:var(--space-4);border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--ink);text-align:left}.folder-tile:hover:not(:disabled),.folder-tile:focus-visible{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));background:var(--pink-tint);color:var(--ink)}.folder-tile .app-icon{grid-row:1 / -1;width:40px;height:40px;color:var(--sun-ink);fill:var(--sun-soft)}.folder-tile b,.doc-tile b{display:-webkit-box;overflow:hidden;font-size:.875rem;font-weight:600;line-height:1.35;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.folder-tile b{align-self:end;text-align:left}.folder-tile small{align-self:start;text-align:left}.folder-tile small,.doc-tile small{color:var(--muted);font-size:.75rem}.doc-tile b{font-size:.8125rem;line-height:1.25}.doc-tile small{font-size:.6875rem;line-height:1.25}.documents-grid-section{margin-bottom:var(--space-4)}.documents-grid-section .tile-grid{margin-bottom:0}.doc-grid-header{margin-bottom:var(--space-2)}.doc-grid-header .list-rows-header{width:fit-content;border-bottom:0}.doc-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-1);height:100%;padding:var(--space-3) var(--space-2);border:1px solid transparent;border-radius:12px;text-align:center}.doc-tile:hover,.doc-tile:focus-within{border-color:var(--line);background:var(--white)}.doc-tile.selected{border-color:var(--accent);background:var(--pink-tint)}.doc-tile:has(.row-menu-list){z-index:2}.doc-tile-open{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);width:100%;color:var(--ink);text-decoration:none}.doc-tile-open:hover b{color:var(--accent)}.doc-tile-icon{position:relative;display:grid;place-items:center;width:42px;height:48px;border-radius:9px}.doc-tile-icon.pink{background:var(--pink-soft);color:var(--accent)}.doc-tile-icon.green{background:var(--green-soft);color:var(--success)}.doc-tile-icon.sky{background:var(--sky-soft);color:var(--sky-ink)}.doc-tile-icon.sun{background:var(--sun-soft);color:var(--sun-ink)}.doc-tile-icon em{position:absolute;bottom:4px;font-size:.5rem;font-style:normal;font-weight:800;letter-spacing:.04em}.doc-tile-icon .app-icon{width:24px;height:24px;margin-bottom:7px}.tile-grid.doc-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-3)}.doc-tile-select{position:absolute;top:var(--space-2);left:var(--space-2);opacity:0}.folder-grid-header{margin-bottom:var(--space-1)}.folder-section{display:grid;gap:var(--space-3)}.folder-main>.folder-section{margin-bottom:var(--space-4)}.folder-section-head{margin:0;font-size:.9375rem;font-weight:600}.folder-section-head span{color:var(--muted);font-weight:500}.folder-section-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2)}.folder-section-toggle,.folder-section-toggle:hover:not(:disabled){display:inline-flex;align-items:center;gap:.35rem;margin-left:auto;min-height:36px;padding:0 var(--space-3);border:1px solid var(--accent);border-radius:999px;background:var(--pink-soft);color:var(--accent-dark);font-size:.875rem;font-weight:700;box-shadow:none;transform:none}.folder-section-toggle:hover:not(:disabled){background:var(--accent);color:var(--white)}.folder-section-toggle[aria-expanded=true] .app-icon{transform:rotate(180deg)}.folder-grid-header .list-rows-header{width:fit-content;padding-top:0;border-bottom:0}.folder-tile-item{position:relative}.folder-tile-item .doc-tile-select{z-index:1;top:50%;left:var(--space-2);display:grid;place-items:center;width:44px;height:44px;margin:0;opacity:1;transform:translateY(-50%);cursor:pointer}.folder-tile-item:has(.doc-tile-select) .folder-tile{padding-left:calc(var(--space-2) + 44px)}.folder-tile-item:hover .doc-tile-select,.folder-tile-item:focus-within .doc-tile-select,.folder-tile-item.selected .doc-tile-select{opacity:1}.folder-tile-item.selected .folder-tile{border-color:var(--accent);background:var(--pink-tint)}.doc-tile-menu{position:absolute;top:var(--space-1);right:var(--space-1);opacity:0}.doc-tile:hover :is(.doc-tile-select,.doc-tile-menu),.doc-tile:focus-within :is(.doc-tile-select,.doc-tile-menu),.doc-tile.selected .doc-tile-select,.doc-tile:has(.row-menu-list) .doc-tile-menu{opacity:1}@media(hover:none){.doc-tile-select,.doc-tile-menu{opacity:1}}@media(max-width:1199px){.folder-toolbar{align-items:flex-start;flex-wrap:wrap}.folder-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;margin-left:auto}.folder-tree-trigger{display:inline-flex;flex:none}.folder-toolbar-left{flex-wrap:wrap;row-gap:var(--space-2)}.folder-toolbar-left .folder-breadcrumb{flex:1 1 160px}.folder-layout{grid-template-columns:minmax(0,1fr)}.folder-tree-resizer{display:none}.folder-page .document-filters .filter-more-panel{right:0;left:auto}.folder-tree-panel{position:fixed;inset:0 auto 0 0;z-index:61;width:min(320px,calc(100vw - 48px));padding:var(--space-3);background:var(--white);box-shadow:16px 0 40px rgb(var(--shadow-rgb) / 18%);transform:translate(-105%);transition:transform .18s ease}.folder-tree-panel.open{transform:translate(0)}.folder-tree-panel-head{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:0 var(--space-2) var(--space-2)}.folder-tree-panel-head .icon-button{background:transparent}.folder-tree-panel .folder-tree{position:static;max-height:calc(100dvh - 68px);border:0;box-shadow:none}.folder-tree-backdrop{position:fixed;inset:0;z-index:60;display:block;width:100%;min-height:100dvh;padding:0;border:0;border-radius:0;background:var(--backdrop);box-shadow:none;transform:none}.folder-tree-backdrop:hover:not(:disabled){background:var(--backdrop);transform:none}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr))}.tile-grid.doc-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}}@media(max-width:767px){.folder-toolbar{align-items:center}.folder-toolbar-left{width:100%}.folder-toolbar-left .folder-breadcrumb{flex:1 1 100%}.folder-breadcrumb-more>button,.folder-breadcrumb .folder-breadcrumb-menu button{min-height:44px}.folder-breadcrumb-more>button{width:44px}.folder-toolbar-actions{width:100%;justify-content:flex-end}.folder-page .document-filters{order:-1}.folder-page .folder-toolbar-actions{position:relative}.folder-page .document-filters{position:static}.folder-page .document-filters .filter-more-panel{right:0;left:0;width:auto}.tile-grid,.doc-grid,.tile-grid.doc-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-2)}.folder-tile{grid-template-columns:40px minmax(0,1fr);min-height:84px;padding:var(--space-3)}.folder-tile .app-icon{width:36px;height:36px}.upload-button{position:fixed;right:var(--workspace-padding-x);bottom:calc(80px + env(safe-area-inset-bottom));z-index:35;display:grid;place-items:center;width:56px;min-height:56px;padding:0;border-radius:50%;box-shadow:0 10px 28px rgb(var(--shadow-accent-rgb) / 28%)}.upload-button span{display:none}}@media(prefers-reduced-motion:reduce){.folder-tree-panel,.page-back-link,.page-back-link .app-icon{transition:none}}.management-page .page-title>button{margin-right:var(--space-5)}@media(max-width:620px){.management-page .page-title>button{margin-right:var(--space-4)}}@media(max-width:480px){.management-page .page-title>button{width:calc(100% - (2 * var(--space-4)));margin-right:var(--space-4);margin-left:var(--space-4)}}.document-detail-page .preview-card{display:grid;gap:var(--space-3);margin:0;overflow:hidden}.document-detail-page .preview-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.document-detail-page .preview-card h2{margin:0 0 var(--space-1);font-size:1rem}.document-detail-page .preview-card .muted{margin:0}.document-detail-page .document-preview-frame{width:100%;aspect-ratio:210 / 297;height:auto;min-height:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.excel-preview-tabs button.active{border-color:var(--accent);background:var(--pink-soft);color:var(--ink)}@media(max-width:767px){.document-detail-page .preview-card{padding:var(--space-3)}}.welcome{min-height:0;padding:.75rem 1.25rem}.welcome .dashboard-copy{margin:0}.welcome p,.welcome h2,.welcome .dashboard-copy{color:var(--white)}.welcome>div:first-child{min-width:0}.welcome .dashboard-copy{max-width:none;white-space:normal}.welcome h2{margin-bottom:.25rem}.welcome-art{height:56px}.welcome-art>.app-icon{width:30px;height:30px;padding:6px}.welcome-art>.app-icon:nth-child(2){top:26px}.task-overview{display:grid;gap:var(--space-3)}.task-overview h2{margin:0;font-size:1.2rem;letter-spacing:-.04em}.task-overview-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,4fr);gap:var(--space-3);align-items:start}.task-overview-grid.single{grid-template-columns:minmax(0,1fr)}.task-overview .card h3{margin:0 0 var(--space-2);font-size:.9375rem}.task-tiles{display:grid;gap:var(--space-2)}.task-tiles.grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}.task-tiles.grid .task-tile{grid-template-columns:auto minmax(0,1fr);align-content:start}.task-tiles.grid .task-tile-progress,.task-tiles.grid .task-tile>.task-status{grid-column:1 / -1;justify-self:start}.task-tile{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(150px,240px);align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--line);border-left:4px solid var(--sky-ink, #3b82a0);border-radius:12px;background:var(--white)}.task-tile.soon{border-left-color:#d97706}.task-tile.late{border-left-color:#dc2626}.task-tile-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--sky-soft);color:var(--sky-ink)}.task-tile.soon .task-tile-icon{background:#fef3c7;color:#92400e}.task-tile.late .task-tile-icon{background:#fee2e2;color:#991b1b}.task-tile-main{display:grid;gap:2px;min-width:0}.task-tile-main a{overflow:hidden;color:var(--ink);font-weight:500;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.task-tile-main a:hover{color:var(--accent)}.task-due{margin-left:var(--space-1);padding:1px 8px;border-radius:999px;background:var(--sky-soft);color:var(--sky-ink);font-weight:600;white-space:nowrap}.task-due.soon{background:#fef3c7;color:#92400e}.task-due.late{background:#fee2e2;color:#991b1b}.task-overview small{color:var(--muted)}.task-tile-progress{display:grid;gap:4px}.task-tile>.task-status{justify-self:end}.task-progress-bar{height:6px;overflow:hidden;border-radius:999px;background:var(--line-strong, #e4e4e7)}.task-progress-bar>span{display:block;height:100%;border-radius:inherit;background:#16a34a}.task-overview-late{color:#b91c1c;font-weight:600}:root[data-theme=dark] .task-tile.soon .task-tile-icon,:root[data-theme=dark] .task-due.soon{background:#3d3118;color:#f2cf7a}:root[data-theme=dark] .task-tile.late .task-tile-icon,:root[data-theme=dark] .task-due.late{background:#4a2229;color:#f0929e}@media(max-width:900px){.task-overview-grid{grid-template-columns:minmax(0,1fr)}.task-tile{grid-template-columns:auto minmax(0,1fr)}.task-tile-progress,.task-tile>.task-status{grid-column:1 / -1}}.tasks-page .task-tiles{margin:var(--space-3) 0}.task-tile.closed{border-left-color:var(--line-strong, #d4d4d8)}.task-tile.closed .task-tile-icon,.task-due.closed{background:var(--line-strong, #e4e4e7);color:var(--muted)}.task-tile-progress b:not(.task-overview-late){font-weight:500}.task-overview h2,.task-overview .card h3,.task-tile-main a,.task-due,.task-tile-progress b:not(.task-overview-late){font-weight:500}.welcome-art{display:flex;flex:none;align-items:center;justify-content:flex-end;gap:var(--space-3);width:auto;height:auto}.welcome-art>.app-icon,.welcome-art>.book{position:static;inset:auto;display:grid;place-items:center;width:32px;height:32px;padding:7px;border-radius:10px;box-shadow:0 4px 10px #0000001a}.welcome-art>.app-icon:first-child{transform:rotate(-6deg)}.welcome-art>.app-icon:nth-child(2){transform:rotate(4deg)}.welcome-art>.book{padding:0;transform:rotate(-3deg)}.welcome-art>.book .app-icon{width:18px;height:18px;padding:0;background:none;box-shadow:none}@media(max-width:620px){.welcome-art{gap:var(--space-2)}.welcome-art>.app-icon,.welcome-art>.book{width:26px;height:26px;padding:5px;border-radius:8px}.welcome-art>.book .app-icon{width:15px;height:15px}}.task-tile-title{display:flex;align-items:center;gap:var(--space-2);min-width:0}.task-tile-title>a{min-width:0}.task-kind{flex:none;padding:1px 8px;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap}.task-kind.task{background:var(--sky-soft);color:var(--sky-ink)}.task-kind.folder{background:#ede9fe;color:#5b21b6}.task-group-title{margin:var(--space-3) 0 0;font-size:1rem;font-weight:500}:root[data-theme=dark] .task-kind.folder{background:#2e2250;color:#c4b5fd}.task-group-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:var(--space-3)}.task-group-head .task-group-title{margin:0}.task-group-head .filter-search{flex:0 1 320px}.task-group-head>.filter-combobox{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-2)}.task-group-head .filter-combobox-label{font-size:.8125rem;white-space:nowrap}.task-group-head .filter-combobox-trigger,.task-group-head .filter-combobox-trigger:hover{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:auto;min-width:11rem;min-height:40px;margin:0;padding:0 .75rem;border:1px solid var(--line-strong);border-radius:10px;background:var(--white);color:var(--ink);font-weight:500;text-align:left;transform:none}.task-group-head .filter-combobox-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.task-group-head .filter-combobox-popover{right:0;left:auto;min-width:13rem}@media(max-width:620px){.task-group-head{flex-direction:column;align-items:stretch}.task-group-head .filter-search{flex:1 1 auto;min-width:0}.task-group-head>.filter-combobox{grid-template-columns:auto minmax(0,1fr)}.task-group-head .filter-combobox-trigger,.task-group-head .filter-combobox-trigger:hover{width:100%;min-width:0}.task-group-head .filter-combobox-popover{left:0;right:0;min-width:0}}.task-group-head .list-view-toggle{margin-left:auto}.notice-page{min-height:100dvh;padding:var(--space-4);background:var(--pink-tint)}.data-notice-card{max-width:760px;margin-inline:auto;padding:clamp(1rem,4vw,2rem);border-radius:var(--radius);background:var(--white);line-height:1.65;overflow-wrap:anywhere}.data-notice-card h1{margin:var(--space-3) 0 var(--space-1);font-size:1.5rem;line-height:1.3}.data-notice-card h2{margin:var(--space-6) 0 var(--space-2);font-size:1.125rem}.data-notice-card p,.data-notice-card ul{margin:0 0 var(--space-3)}.data-notice-card ul{padding-left:1.25rem}.install-app-card{max-width:480px}.install-app-card img{display:block;border-radius:16px}.install-app-card ol{margin:0 0 var(--space-3);padding-left:1.25rem}.install-app-card li+li{margin-top:var(--space-2)}.install-app-button{width:100%;min-height:48px;margin:var(--space-2) 0 var(--space-4);font-size:1rem}.install-app-done{padding:var(--space-3);border-radius:12px;background:var(--green-soft);color:var(--green-ink)}.install-app-steps li{padding-left:.25rem}.install-app-steps li>.app-icon{display:inline-block;margin-right:.5rem;vertical-align:-.25rem;color:var(--accent)}.install-app-action{display:inline-flex;align-items:center;justify-content:center;gap:.5rem}:root[data-theme=dark]{color-scheme:dark;--bg: #1c1822;--white: #262030;--surface-hover: #2d2637;--surface-muted: #302838;--line: #3a3244;--line-strong: #4d4358;--ink: #f3edf5;--muted: #b5a9c2;--accent: #ec79a7;--accent-dark: #f59bbf;--accent-soft: #43243a;--pink-soft: #43243a;--pink-tint: #33242f;--green-soft: #1f3a2b;--sun-soft: #3e3120;--sky-soft: #1c3440;--green-ink: #7fd3a0;--sun-ink: #e8b565;--sky-ink: #7ccbe0;--success: #7fd3a0;--danger: #f0929e;--danger-dark: #f5abb4;--shadow-rgb: 8 5 12;--shadow-accent-rgb: 8 5 12;--backdrop: rgb(10 7 14 / 68%)}:root[data-theme=dark] .welcome{background:radial-gradient(circle at 82% 18%,rgb(124 207 232 / 22%),transparent 28%),radial-gradient(circle at 62% 100%,rgb(236 121 167 / 24%),transparent 42%),linear-gradient(118deg,#39243d,#81425f 48%,#29465d);color:var(--ink);box-shadow:0 18px 38px #08050c59}:root[data-theme=dark] .welcome h2{color:var(--ink)}:root[data-theme=dark] .welcome p{color:#ffc1d9}:root[data-theme=dark] .dashboard-copy{color:#f3edf5c7}:root[data-theme=dark] .welcome button{background:var(--accent);color:#261b2a}:root[data-theme=dark] .welcome button:hover:not(:disabled){background:var(--accent-dark);color:#261b2a}.app-icon{display:inline-block;flex-shrink:0;vertical-align:middle}.filter-combobox-label{color:var(--muted);font-size:.75rem;font-weight:650}.filter-combobox-trigger>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-combobox-trigger[aria-expanded=true]{border-color:var(--accent)}.filter-combobox-popover{position:absolute;top:calc(100% + .25rem);left:0;right:0;z-index:6;display:grid;gap:.35rem;padding:.5rem;border:1px solid var(--line);border-radius:10px;background:var(--white);box-shadow:0 12px 28px rgb(var(--shadow-rgb) / 14%)}.filter-combobox-popover ul{display:grid;gap:2px;margin:0;padding:0;list-style:none}.filter-combobox-popover li{padding:.45rem .6rem;border-radius:8px;color:var(--ink);font-size:.8125rem;overflow-wrap:anywhere;cursor:pointer}.filter-combobox-popover li[aria-selected=true]{color:var(--accent);font-weight:650}.filter-combobox-popover p{margin:0;padding:.2rem .6rem;font-size:.75rem}.filter-combobox-trigger>.app-icon{flex-shrink:0;color:var(--muted);transition:transform .15s ease}.filter-combobox-trigger[aria-expanded=true]>.app-icon{transform:rotate(180deg)}@media(pointer:coarse){.filter-combobox-popover ul{max-height:min(50vh,18rem);overflow-y:auto;overscroll-behavior:contain}.filter-combobox-popover li{display:flex;align-items:center;min-height:40px}}.calendar{display:grid;gap:.5rem;text-align:left}.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.8125rem}.calendar-head b{text-transform:capitalize}.calendar-head button{min-height:28px;min-width:28px;padding:0}.calendar-jump{display:flex;flex:1;justify-content:center;gap:.35rem;min-width:0}.calendar-jump select{width:auto;min-width:0;min-height:32px;padding:.2rem .5rem;font-size:.8125rem}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}.calendar-weekdays span{color:var(--muted);font-size:.7rem;font-weight:650}.calendar-grid span,.calendar-grid button{display:grid;place-items:center;aspect-ratio:1;margin:0;padding:0;min-height:0;border:0;border-radius:8px;background:none;color:var(--ink);font-size:.78125rem;font-weight:400;box-shadow:none;transform:none}.calendar-grid button{cursor:pointer}.calendar-grid button:hover:not(:disabled){background:var(--pink-tint);color:var(--accent)}.calendar-grid button:disabled{color:var(--muted);opacity:.4;cursor:not-allowed}.calendar-grid .in-range{background:var(--pink-tint)}.date-picker-popover{position:absolute;top:calc(100% + .25rem);left:0;z-index:6;width:min(280px,calc(100vw - 2rem));padding:.85rem;border:1px solid var(--line);border-radius:14px;background:var(--white);box-shadow:0 12px 28px rgb(var(--shadow-rgb) / 14%)}.date-picker-popover.upward{top:auto;bottom:calc(100% + .25rem)}.date-picker-popover.floating{position:fixed;max-height:calc(100dvh - 16px);overflow-y:auto}.date-picker-trigger>.app-icon{flex:0 0 auto;color:var(--muted)}.calendar-grid.month-picker-grid{grid-template-columns:repeat(3,1fr);gap:.25rem}.calendar-grid.month-picker-grid button{aspect-ratio:auto;min-height:40px}.pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-4)}.pagination-total{color:var(--muted);font-size:.8125rem}.pagination-size{display:flex;align-items:center;gap:var(--space-2);color:var(--muted);font-size:.8125rem}.pagination-size select{width:auto;margin:0}.pagination-controls{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}.pagination-status{min-width:3.5rem;font-size:.875rem;font-weight:600;font-variant-numeric:tabular-nums;text-align:center}@media(max-width:620px){.pagination-total{display:none}.pagination{flex-wrap:wrap}}.select-checkbox{width:16px;height:16px;min-height:0;margin:0;padding:0;accent-color:var(--accent);cursor:pointer}.select-checkbox:disabled{cursor:not-allowed}.list-rows-header{display:grid;grid-template-columns:20px auto;justify-content:start;align-items:center;column-gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:.75rem;font-weight:600;cursor:pointer}.bulk-action-bar{position:fixed;bottom:max(var(--space-6),env(safe-area-inset-bottom));left:50%;z-index:40;display:flex;align-items:center;gap:var(--space-2);max-width:calc(100vw - 2 * var(--space-4));padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border:1px solid var(--line-strong);border-radius:14px;background:var(--white);color:var(--ink);box-shadow:0 12px 32px rgb(var(--shadow-rgb) / 18%);transform:translate(-50%);animation:bulk-bar-in .18s ease-out}.bulk-action-count{margin-right:var(--space-2);font-size:.875rem;white-space:nowrap}.bulk-action-count b{font-variant-numeric:tabular-nums}.bulk-action-bar .bulk-action-close{display:inline-grid;place-items:center;width:36px;min-height:36px;padding:0;border-color:transparent;background:transparent;color:var(--muted)}.bulk-action-bar .bulk-action-close:hover:not(:disabled){background:var(--surface-muted);color:var(--ink)}.bulk-action-bar button:active:not(:disabled){transform:scale(.98)}main:has(>.bulk-action-bar){padding-bottom:96px}@media(prefers-reduced-motion:reduce){.bulk-action-bar{animation:none}}@media(max-width:620px){.bulk-action-bar{bottom:calc(80px + env(safe-area-inset-bottom))}.bulk-action-bar .bulk-action-close{width:44px}main:has(>.bulk-action-bar){padding-bottom:150px}}.list-rows{padding:0 var(--space-5)}.list-rows>p{margin:0;padding-block:var(--space-5)}.list-row{display:grid;grid-template-columns:37px minmax(0,1fr) auto;grid-template-areas:"lead title actions" "lead tags actions";column-gap:var(--space-3);row-gap:var(--space-1);align-items:center;padding:var(--space-3) 0;border-top:1px solid var(--line)}.list-row:first-child{border-top:0}.list-row-lead{grid-area:lead;align-self:start}.list-row-lead>*{width:37px}.list-row-title{grid-area:title;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2);min-width:0;font-size:.875rem;font-weight:600;line-height:1.35;overflow-wrap:anywhere}.list-row-title a{color:var(--ink);text-decoration:none}.list-row-title a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.list-row-tags{grid-area:tags;display:flex;flex-wrap:wrap;gap:var(--space-1);min-width:0;margin:0;padding:0;list-style:none}.list-row-tags li{max-width:100%;padding:2px var(--space-2);overflow:hidden;border-radius:999px;background:var(--surface-muted);color:var(--muted);font-size:.6875rem;font-weight:500;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.list-row-actions{grid-area:actions;display:flex;flex-wrap:nowrap;align-items:center;gap:var(--space-1)}.list-row-select{grid-area:select;align-self:center;display:flex}@media(max-width:620px){.list-rows{padding:0 var(--space-4)}.list-row{grid-template-areas:"lead title actions" "lead tags tags";align-items:start}.list-row-select{align-self:start;padding-top:10px}.list-row-actions{margin-top:-6px;margin-right:-6px}}.list-row-tags .tag-short{display:none}.list-row-tags .list-row-tag-leader{background:var(--pink-soft);color:var(--accent-dark);font-weight:700}@media(max-width:620px){.list-row-desktop-only,.list-row-tag-extra,.list-row-tags .tag-full{display:none}.list-row-tags .tag-short{display:inline}}.list-row-tags li>a{color:inherit;text-decoration:none}.list-row-tags li>a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.list-row-title .folder-row-open,.list-row-title .folder-row-open:hover:not(:disabled){min-height:0;padding:0;border:0;background:transparent;color:var(--ink);font:inherit;text-align:left;box-shadow:none;transform:none;overflow-wrap:anywhere}.list-row-title .folder-row-open:hover:not(:disabled){color:var(--accent);text-decoration:underline;text-underline-offset:3px}.deadline-badge{display:inline-block;margin-left:var(--space-1);padding:1px 8px;border-radius:999px;background:#dcfce7;color:#166534;font-size:.75rem;font-weight:600;white-space:nowrap}.deadline-badge.late{background:#fee2e2;color:#991b1b}:root[data-theme=dark] .deadline-badge{background:#173824;color:#86d39e}:root[data-theme=dark] .deadline-badge.late{background:#4a2229;color:#f0929e}.folder-deadline-notice{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);margin:0 0 var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:12px;background:var(--sky-soft);color:var(--sky-ink);font-size:.875rem;font-weight:500}.folder-deadline-notice.passed{background:var(--surface-muted);color:var(--ink)}.folder-deadline-fields{display:grid;gap:var(--space-2);margin:0;padding:0;border:0;min-width:0}.folder-deadline-fields legend{padding:0;font-weight:600}.folder-deadline-fields>button{justify-self:start}.class-assign-scope{display:flex;flex-wrap:wrap;gap:.25rem 1rem}.modal-fields .class-assign-scope .filter-checkbox{display:flex;align-items:center;gap:.5rem;font-weight:400}.class-assign-scope input[type=radio]{flex:0 0 16px;width:16px;height:16px;min-height:0;margin:0;accent-color:var(--accent)}.class-assign-preview{display:grid;gap:.5rem}.class-assign-preview[aria-busy=true]{opacity:.6}.class-assign-preview .error{margin:0}.class-assign-list summary{cursor:pointer;color:var(--accent-dark);font-size:.875rem;font-weight:500}.class-assign-list ul{display:grid;gap:.375rem;max-height:220px;margin:.5rem 0 0;padding:0;overflow-y:auto;list-style:none}.class-assign-list li{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;font-size:.875rem}.class-assign-list li>span{display:grid;min-width:0}.class-assign-list small{color:var(--muted);font-size:.75rem;overflow-wrap:anywhere}.class-assign-list .task-folder-remove,.class-assign-list .task-folder-remove:hover:not(:disabled){background:transparent;color:var(--muted);box-shadow:none;transform:none}.class-assign-list .task-folder-remove:hover:not(:disabled){background:var(--pink-soft);color:var(--ink)}.class-assign-dropped{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .5rem;margin:0;color:var(--muted);font-size:.8125rem}.class-assign-dropped button,.class-assign-dropped button:hover:not(:disabled){min-height:28px;padding:0 .625rem;border:1px solid var(--line-strong);border-radius:999px;background:var(--white);color:var(--ink);font-size:.75rem;font-weight:500;box-shadow:none;transform:none}.class-assign-dropped button:hover:not(:disabled){background:var(--pink-tint)}.modal-fields textarea{width:100%;min-height:88px;margin-top:var(--space-2);padding:.5rem .75rem;border:1px solid var(--line-strong);border-radius:14px;background:var(--white);color:var(--ink);font:inherit}.modal-fields textarea:focus{box-shadow:0 0 0 3px #d9327229;outline:0}.form-modal{width:min(540px,calc(100% - 2rem));max-height:calc(100dvh - 2rem);margin:auto;padding:1.5rem;overflow-y:auto;border:1px solid var(--line);border-radius:18px;background:var(--white);color:var(--ink);box-shadow:0 20px 60px rgb(var(--shadow-rgb) / 18%)}.form-modal::backdrop{background:var(--backdrop)}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.modal-heading h2{margin:0;font-size:1.125rem;line-height:1.4}.form-modal form,.modal-fields{display:grid;gap:1rem}.modal-fields{min-width:0;margin:0;padding:0;border:0}.modal-fields label{display:grid;gap:.25rem;font-weight:500}.modal-fields input,.modal-fields select{min-width:0;max-width:100%}.modal-fields p{margin:0;overflow-wrap:anywhere}@media(max-width:620px){.form-modal{padding:1rem}}.modal-fields label{gap:0}@media(max-width:480px){.form-modal{width:calc(100% - 1rem);max-height:calc(100dvh - 1rem);padding:var(--space-4)}}.modal-fields .modal-field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.modal-fields .modal-option{display:flex;align-items:flex-start;gap:.625rem;padding:.75rem .875rem;border:1px solid var(--line-strong);border-radius:14px;font-weight:400;cursor:pointer}.modal-fields .modal-option input[type=checkbox],.modal-fields .modal-option input[type=radio]{flex:0 0 16px;width:16px;height:16px;min-height:0;margin:.1875rem 0 0;padding:0;accent-color:var(--accent);cursor:pointer}.modal-fields .modal-option:has(input:disabled){background:var(--surface-muted);opacity:.65;cursor:not-allowed}.modal-option-text{display:grid;gap:.25rem}.modal-option-text b{font-weight:500}.modal-option-text small{color:var(--muted);font-size:.8125rem;line-height:1.45}.modal-fields textarea.task-description-input{height:64px;min-height:64px;max-height:160px;overflow-y:auto}.form-modal.form-modal-roomy{width:min(640px,calc(100% - 2rem));min-height:min(600px,calc(100dvh - 2rem))}.view-toggle{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--line-strong);border-radius:12px;background:var(--white)}.view-toggle button,.view-toggle button:hover:not(:disabled){display:grid;place-items:center;width:34px;min-height:32px;padding:0;border-radius:9px;background:transparent;color:var(--muted);box-shadow:none;transform:none}.view-toggle button:hover:not(:disabled){background:var(--pink-tint);color:var(--ink)}.view-toggle button[aria-pressed=true]{background:var(--pink-soft);color:var(--accent-dark)}.preview-modal{width:min(1100px,calc(100% - 2rem));max-height:calc(100dvh - 2rem);margin:auto;padding:1.5rem;overflow-y:auto;border:1px solid var(--line);border-radius:18px;background:var(--white);color:var(--ink);box-shadow:0 20px 60px rgb(var(--shadow-rgb) / 18%)}.preview-modal::backdrop{background:var(--backdrop)}.preview-modal .preview-card{margin-bottom:0;padding:0;border:0;box-shadow:none}.preview-modal .preview-card-head h2{display:none}.preview-modal .preview-card iframe{min-height:65vh}@media(max-width:480px){.preview-modal{width:calc(100% - 1rem);max-height:calc(100dvh - 1rem);padding:var(--space-4)}}.preview-card{margin-bottom:1rem}.preview-card iframe{width:100%;min-height:70vh;border:1px solid var(--line)}.pdf-canvas-preview{display:grid;gap:var(--space-3);overflow:auto;max-height:min(78vh,980px);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius);background:#f6f2f7}.pdf-canvas-page{width:100%;background:var(--white);box-shadow:0 1px 4px #0000001f}.pdf-canvas-page canvas{display:block;width:100%;height:100%}.document-preview-loading{display:grid;place-items:center;min-height:220px;color:var(--muted);border:1px dashed var(--line);border-radius:var(--radius);background:var(--surface)}.excel-preview{display:grid;gap:var(--space-2);min-width:0}.excel-preview-tabs{display:flex;gap:var(--space-1);overflow-x:auto;padding-bottom:2px}.excel-preview-tabs button{flex:0 0 auto;min-height:34px;padding:.35rem .7rem;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--muted);font-size:.75rem}.excel-preview-shell{overflow:auto;max-height:min(72vh,820px);border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.excel-preview-table{width:max-content;min-width:100%;table-layout:fixed;border-collapse:collapse;font-size:.8125rem}.excel-preview-table td{height:32px;padding:.4rem .55rem;border:1px solid var(--line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.excel-preview-table tr:first-child td{position:sticky;top:0;z-index:1;background:var(--pink-soft);font-weight:700}.upcoming-deadlines{display:grid;gap:var(--space-3)}.upcoming-deadlines h2{margin:0;font-size:1.2rem;letter-spacing:-.04em;font-weight:500}.upcoming-list{display:grid;margin:0;padding:0;list-style:none}.upcoming-list li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--space-1) var(--space-3);padding:var(--space-2) 0;border-top:1px solid var(--line)}.upcoming-list li:first-child{border-top:0}.upcoming-name{display:grid;min-width:0;color:inherit;text-decoration:none}.upcoming-name b{overflow-wrap:break-word;font-weight:600}.upcoming-name:hover b{text-decoration:underline}.upcoming-name small{color:var(--muted)}.upcoming-due{font-size:.875rem}.upcoming-state{padding:1px 10px;border-radius:999px;background:var(--surface-muted);color:var(--ink);font-size:.8125rem;font-weight:600;white-space:nowrap}.upcoming-status{display:grid;justify-items:end;gap:2px}.upcoming-status small{color:var(--muted);font-size:.75rem;text-align:right}.upcoming-state.is-done{background:#dcfce7;color:#166534}.upcoming-state:is(.is-warn,.is-ok){background:var(--sun-soft);color:var(--sun-ink)}.upcoming-state.is-danger{background:#fee2e2;color:#991b1b}:root[data-theme=dark] .upcoming-state.is-done{background:#173824;color:#86d39e}:root[data-theme=dark] .upcoming-state.is-danger{background:#4a2229;color:#f0929e}.upcoming-head h2,.upcoming-head h3{margin:0}.upcoming-head p{margin:2px 0 0;color:var(--muted);font-size:.8125rem}.upcoming-cards{display:grid;gap:var(--space-3)}.upcoming-card{min-width:0;padding:var(--space-4);border:1px solid var(--line);border-radius:16px;background:var(--white)}.upcoming-card.is-overdue{border-left:4px solid var(--danger)}.upcoming-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.upcoming-card-title{display:grid;gap:2px;min-width:0}.upcoming-card-title :is(h3,h4){margin:0;font-size:1rem;font-weight:650;line-height:1.35}.upcoming-card-title a{color:inherit;text-decoration:none;overflow-wrap:break-word}.upcoming-card-title a:hover{color:var(--accent);text-decoration:underline}.upcoming-card-title span{color:var(--muted);font-size:.8125rem}.upcoming-badge{flex:none;padding:4px 10px;border-radius:8px;background:var(--green-soft);color:var(--green-ink);font-size:.75rem;font-weight:600;white-space:nowrap}.upcoming-badge.is-warn{background:var(--sun-soft);color:var(--sun-ink)}.upcoming-badge.is-danger{background:color-mix(in srgb,var(--danger) 12%,var(--white));color:var(--danger)}.upcoming-progress{margin-top:var(--space-4)}.upcoming-progress-label{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.upcoming-progress-label span{color:var(--muted);font-size:.8125rem}.upcoming-progress-label strong{font-size:1.2rem;font-variant-numeric:tabular-nums}.upcoming-progress-track{height:8px;margin-top:var(--space-2);overflow:hidden;border-radius:999px;background:var(--green-soft)}.upcoming-progress-track>div{height:100%;border-radius:inherit;background:var(--success);transition:width .25s ease}.upcoming-card.is-overdue .upcoming-progress-track{background:color-mix(in srgb,var(--danger) 12%,var(--white))}.upcoming-card.is-overdue .upcoming-progress-track>div{background:var(--danger)}.upcoming-teams{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--line)}.upcoming-teams summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:32px;border-radius:6px;color:var(--accent-dark);font-size:.875rem;font-weight:600;cursor:pointer;list-style:none}.upcoming-teams summary::-webkit-details-marker{display:none}.upcoming-teams summary:after{content:"";width:8px;height:8px;margin-right:4px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .15s}.upcoming-teams[open] summary:after{transform:rotate(-135deg)}.upcoming-teams summary:focus-visible{outline:3px solid var(--accent-soft);outline-offset:4px}.upcoming-teams ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);margin:var(--space-3) 0 0;padding:0;list-style:none}.upcoming-teams li{min-width:0;padding:10px 12px;border-radius:10px;background:var(--surface-muted)}.upcoming-teams li span{display:block;margin-bottom:2px;overflow-wrap:break-word;color:var(--muted);font-size:.8125rem}.upcoming-teams li strong{font-variant-numeric:tabular-nums}.upcoming-teams li small{color:var(--muted)}.upcoming-teams li.is-complete{background:var(--green-soft)}.upcoming-teams li.is-complete strong{color:var(--green-ink)}@media(max-width:520px){.upcoming-card{padding:var(--space-3)}.upcoming-card-head{flex-wrap:wrap}.upcoming-card-title :is(h3,h4){font-size:.9375rem}}@media(max-width:760px){.upcoming-list li{grid-template-columns:minmax(0,1fr) auto}.upcoming-due{grid-column:1 / -1;grid-row:2}}.tracking-page{display:grid;gap:var(--space-4);min-width:0}.tracking-page .page-title{margin-bottom:0}.tracking-filters{display:grid;gap:var(--space-3)}.tracking-filter-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(13rem,100%),1fr));align-items:end;gap:var(--space-3)}.tracking-filter-row>*{min-width:0}.tracking-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.tracking-controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.tracking-controls .filter-checkbox{min-height:40px}.tracking-controls .filter-combobox{min-width:13rem}.tracking-empty{padding:var(--space-6) var(--space-4);text-align:center;border:1px dashed var(--line);border-radius:var(--radius)}.tracking-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.tracking-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.875rem}.tracking-table th,.tracking-table td{padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--line);text-align:center;vertical-align:middle;background:var(--white)}.tracking-table thead th{position:sticky;top:0;z-index:1;font-weight:600;white-space:nowrap}.tracking-table thead th span,.tracking-table thead th small{display:block}.tracking-table thead th small{color:var(--muted);font-weight:500;font-size:.75rem}.tracking-name,.tracking-name-head{position:sticky;left:0;z-index:2;min-width:8.5rem;max-width:12rem;text-align:left!important;font-weight:600;box-shadow:1px 0 0 var(--line)}.tracking-name small{display:block;color:var(--muted);font-weight:500;font-size:.75rem}.tracking-table thead .tracking-name-head{z-index:3}.tracking-table tfoot th,.tracking-table tfoot td{border-bottom:0;border-top:2px solid var(--line)}.tracking-total b{font-weight:600;white-space:nowrap}.tracking-total small{display:flex;flex-wrap:wrap;justify-content:center;gap:2px var(--space-2);font-size:.75rem}.tracking-total .late{color:var(--sun-ink)}.tracking-total .missing{color:var(--danger)}.tracking-attention-head,.tracking-attention{white-space:nowrap}.tracking-attention.has{color:var(--danger);font-weight:700}.tracking-cell,.tracking-cell:hover:not(:disabled){display:flex;align-items:center;justify-content:center;gap:var(--space-1);width:100%;min-width:5.5rem;min-height:40px;padding:0 var(--space-2);border:2px solid transparent;border-radius:10px;background:var(--tone-bg);color:var(--tone-ink);font:inherit;font-weight:600;white-space:nowrap;cursor:pointer}.tracking-cell:hover:not(:disabled){box-shadow:none;transform:none;filter:brightness(.95)}.tracking-cell.is-selected,.tracking-cell.is-selected:hover:not(:disabled){border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}.tracking-cell-text{font-size:.8125rem}.tone-ok{--tone-bg: var(--green-soft);--tone-ink: var(--success);background:var(--tone-bg);color:var(--tone-ink)}.tone-warn{--tone-bg: var(--sun-soft);--tone-ink: var(--sun-ink);background:var(--tone-bg);color:var(--tone-ink)}.tone-danger{--tone-bg: color-mix(in srgb, var(--danger) 14%, var(--white));--tone-ink: var(--danger);background:var(--tone-bg);color:var(--tone-ink)}.tone-muted{--tone-bg: var(--surface-muted);--tone-ink: var(--muted);background:var(--tone-bg);color:var(--tone-ink)}.tone-none{--tone-bg: transparent;--tone-ink: var(--muted);color:var(--tone-ink)}.tracking-overview-section,.tracking-detail-section{display:grid;gap:var(--space-3);min-width:0}.tracking-detail-section h2{margin:0;font-size:1.0625rem}.tracking-layout{display:grid;gap:var(--space-4);align-items:start;min-width:0}.tracking-layout.has-detail{grid-template-columns:minmax(0,1fr) minmax(20rem,26rem)}.tracking-main{display:grid;gap:var(--space-3);min-width:0}.tracking-detail{display:grid;gap:var(--space-3);align-content:start;position:sticky;top:var(--space-3);max-height:calc(100vh - 2 * var(--space-3));overflow-y:auto;padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.tracking-detail:focus-visible{outline:2px solid var(--accent)}.tracking-detail-head{display:flex;justify-content:space-between;align-items:start;gap:var(--space-3)}.tracking-detail-head h2{margin:0;font-size:1.125rem}.tracking-detail-head p{margin:0}.tracking-detail-row{font-weight:600}.tracking-detail-close{flex:none;min-height:40px}.tracking-detail-status{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:0}.tracking-detail-status small{min-width:0;overflow-wrap:anywhere}.tracking-detail-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tracking-btn,.tracking-btn:hover{display:inline-flex;align-items:center;gap:var(--space-1);min-height:40px;padding:0 var(--space-4);border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:var(--white);font-weight:600;text-decoration:none}.tracking-btn:hover{border-color:var(--accent-dark);background:var(--accent-dark)}.tracking-btn.secondary,.tracking-btn.secondary:hover{background:transparent;border-color:var(--line-strong);color:var(--ink)}.tracking-btn.secondary:hover{background:var(--pink-soft);border-color:var(--pink-soft);color:var(--accent-dark)}.tracking-pill{display:inline-block;padding:2px var(--space-2);border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap}.tracking-people,.tracking-files{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none}.tracking-person{display:grid;gap:var(--space-1);padding:var(--space-2) 0;border-top:1px solid var(--line)}.tracking-person-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.tracking-files{padding-left:var(--space-3)}.tracking-files li{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2)}.tracking-file-name,.tracking-file-name:hover:not(:disabled){display:inline-flex;align-items:center;gap:var(--space-1);min-height:40px;max-width:100%;padding:0;background:transparent;color:var(--accent-dark);font-weight:500;text-align:left}.tracking-file-name:hover:not(:disabled){box-shadow:none;transform:none;color:var(--accent);text-decoration:underline}.tracking-file-name span{overflow-wrap:anywhere}.tracking-mode{justify-self:start}.tracking-mode button,.tracking-status-tabs button{min-height:36px}.tracking-weeks-section{display:grid;gap:var(--space-2)}.tracking-week-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(14rem,100%),1fr));gap:var(--space-3)}.tracking-week-card{display:grid;align-content:start;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.tracking-week-card .upcoming-progress{display:block;margin-top:0}.tracking-week-card .upcoming-progress-label,.tracking-week-card .upcoming-card-head{display:flex}.tracking-week-card .upcoming-progress-track{display:block}.tracking-week-card .upcoming-progress-track>span{display:block;height:100%;border-radius:inherit;background:var(--success)}.tracking-week-card .upcoming-badge.is-muted{background:var(--surface-muted);color:var(--muted)}.tracking-week-title{display:grid;gap:2px;min-width:0}.tracking-week-title b{font-size:1rem;font-weight:650}.tracking-week-title small,.tracking-week-due{color:var(--muted);font-size:.8125rem}.tracking-week-due{display:flex;align-items:center;gap:var(--space-2)}.tracking-week-card.is-selectable,.tracking-week-card.is-selectable:hover:not(:disabled){width:100%;min-height:0;margin:0;border:1px solid var(--line);border-radius:16px;background:var(--white);color:var(--ink);font-weight:400;text-align:left;box-shadow:none;transform:none;cursor:pointer}.tracking-week-card.is-selectable:hover:not(:disabled){border-color:var(--accent);background:var(--pink-tint)}.tracking-week-card.is-selected,.tracking-week-card.is-selected:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--white));box-shadow:0 0 0 1px var(--accent)}.tracking-weeks-section h2,.tracking-overview h2,.tracking-class-head h2,.tracking-overview-section h2{margin:0;font-size:1.0625rem}.tracking-overview{display:grid;gap:var(--space-3);padding:var(--space-4)}.tracking-overview p{margin:0}.tracking-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);margin:0;padding:0;list-style:none}.tracking-tiles li{display:grid;gap:2px;justify-items:center;padding:var(--space-3) var(--space-2);border-radius:var(--radius);text-align:center}.tracking-tiles b{font-size:1.25rem}.tracking-tiles span,.tracking-tiles small{font-size:.75rem}.tracking-note{display:flex;align-items:start;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius);font-size:.875rem}.tracking-note .app-icon{flex:none;margin-top:2px}.tracking-class-list{display:grid;gap:var(--space-3);padding:var(--space-4)}.tracking-class-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2)}.tracking-class-list .filter-search{min-width:0}.tracking-class-list .filter-search input{margin-top:0;padding-right:2.5rem}.tracking-status-tabs{flex-wrap:wrap;justify-self:start;max-width:100%}.tracking-class-rows{margin:0;padding:0;list-style:none;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.tracking-class-rows li+li{border-top:1px solid var(--line)}.tracking-class-row,.tracking-class-row:hover:not(:disabled){display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;min-height:56px;padding:var(--space-2) var(--space-3);border-radius:0;background:var(--white);color:var(--ink);font-weight:400;text-align:left}.tracking-class-row:hover:not(:disabled){background:var(--pink-tint);box-shadow:none;transform:none}.tracking-class-row.is-selected,.tracking-class-row.is-selected:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 8%,var(--white));box-shadow:inset 3px 0 0 var(--accent)}.tracking-class-name{display:grid;min-width:0}.tracking-class-name b{font-weight:600;overflow-wrap:anywhere}.tracking-class-name small{color:var(--muted)}.tracking-class-row .tracking-pill{margin-left:auto;max-width:55%;white-space:normal;text-align:center}.tracking-class-row .app-icon{flex:none;color:var(--muted)}.tracking-legend{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:var(--space-2) var(--space-4);margin:0;padding:0;list-style:none;font-size:.8125rem}.tracking-legend li{display:flex;align-items:center;gap:var(--space-2)}.tracking-chip{display:inline-grid;place-items:center;flex:none;width:28px;height:28px;border-radius:8px;font-weight:700}@media(max-width:1023px){.tracking-week-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:359px){.tracking-week-cards{grid-template-columns:minmax(0,1fr)}}@media(max-width:767px){.tracking-layout.has-detail{grid-template-columns:minmax(0,1fr)}.tracking-detail{position:fixed;z-index:20;inset:auto 0 0;max-height:75vh;border-radius:var(--radius) var(--radius) 0 0;box-shadow:0 -8px 24px #0000002e}.tracking-name,.tracking-name-head{min-width:6.5rem;max-width:8rem}}.page-title-row{display:flex;align-items:center;gap:.15rem;min-width:0}.page-info{position:relative;display:inline-flex}.page-info:has(.page-info-tip:empty){display:none}.page-info-trigger,.page-info-trigger:hover:not(:disabled){display:inline-grid;place-items:center;width:22px;height:22px;min-height:0;padding:0;border:0;border-radius:999px;background:transparent;color:var(--muted);line-height:1;box-shadow:none;transform:none;cursor:help}.page-info-trigger:hover:not(:disabled),.page-info-trigger:active:not(:disabled){box-shadow:none;transform:none}.page-info-trigger:hover:not(:disabled),.page-info.open .page-info-trigger{background:var(--pink-tint);color:var(--accent-dark)}.page-info-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.page-info-tip{position:absolute;top:calc(100% + 6px);left:0;z-index:40;display:none;width:max-content;max-width:min(380px,calc(100vw - 32px));padding:.6rem .75rem;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--ink);font-size:.8125rem;font-weight:400;line-height:1.5;box-shadow:0 12px 28px rgb(var(--shadow-rgb) / 14%);white-space:normal}.page-info-tip>p{display:block;margin:0}.page-info-tip>p+p{margin-top:.4rem}.page-info:hover .page-info-tip,.page-info:focus-within .page-info-tip,.page-info.open .page-info-tip{display:block}@media(max-width:620px){.page-info-tip{position:fixed;top:auto;left:16px;right:16px;width:auto;max-width:none;margin-top:6px}}.page-back-link{display:inline-flex;align-items:center;justify-self:start;gap:var(--space-1);min-height:38px;padding:.4rem .7rem .4rem .55rem;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--ink);font-size:.8125rem;font-weight:650;line-height:1;text-decoration:none;box-shadow:0 2px 8px rgb(var(--shadow-rgb) / 5%);transition:color .15s ease,border-color .15s ease,background .15s ease,transform .15s ease}.page-back-link:hover,button.page-back-link:hover:not(:disabled){border-color:var(--accent);background:var(--pink-tint);color:var(--accent-dark);box-shadow:0 2px 8px rgb(var(--shadow-rgb) / 5%);transform:translate(-2px)}.page-back-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.page-nav{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.page-nav .page-nav-end{margin-left:auto}.page-back-link .app-icon{flex:0 0 auto;color:var(--accent);transition:transform .15s ease}.page-back-link:hover .app-icon{transform:translate(-1px)}.tasks-page:has(.task-links) .card.mine-head{display:grid;gap:var(--space-3);padding:var(--space-4);border-radius:12px;box-shadow:0 2px 8px rgb(var(--shadow-rgb) / 8%)}.tasks-page:has(.task-links) .card.mine-head :is(h2,p,ol){margin:0}.mine-head-title{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}.tasks-page:has(.task-links) .card.mine-head h2{min-width:0;font-size:1.25rem;font-weight:700;line-height:1.35;overflow-wrap:anywhere}.mine-pill{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;border-radius:999px;background:var(--pink-soft);color:var(--accent-dark);font-size:.8125rem;font-weight:600;white-space:nowrap}.mine-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2);font-size:.875rem}.mine-crumbs-label{color:var(--muted)}.mine-crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);padding:0;list-style:none}.mine-crumbs li{display:inline-flex;align-items:center;gap:.375rem;min-width:0}.mine-crumbs li>.app-icon:not(.crumb-sep){color:var(--accent)}.mine-crumbs .crumb-sep{margin-right:.125rem;color:var(--muted)}.mine-crumbs li:last-child>span{font-weight:600}.mine-empty,.mine-summary{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:10px;font-size:.875rem}.mine-empty{border:1px dashed var(--line-strong);background:var(--surface-muted);color:var(--muted);font-weight:400}.mine-summary{border:1px solid var(--accent);background:var(--pink-soft);color:var(--ink);font-weight:500}.mine-summary>.app-icon,.mine-summary b{color:var(--accent-dark)}.mine-summary b{font-weight:700}.mine-empty>.app-icon,.mine-summary>.app-icon{flex:none}.mine-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.mine-note{display:flex;flex:1 1 280px;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:10px;background:var(--sky-soft);color:var(--sky-ink);font-size:.875rem;line-height:1.5}.mine-note>.app-icon{flex:none;margin-top:1px}.tasks-page a.mine-open{display:inline-flex;flex:none;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-4);border-radius:10px;background:var(--accent-dark);color:#fff;font-weight:600;text-decoration:none}.tasks-page a.mine-open:hover{filter:brightness(1.08)}.tasks-page a.mine-open:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mine-open-icon{transform:rotate(-45deg)}@media(max-width:620px){.tasks-page a.mine-open{width:100%}}.mine-links{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tasks-page a.mine-upload{background:var(--accent);color:var(--white)}@media(max-width:620px){.mine-links{width:100%}}.task-tile-progress .mine-active{justify-self:start;padding:.125rem .625rem;border-radius:999px;background:var(--pink-soft);color:var(--accent-dark);font-weight:600}.task-tile-progress .mine-active b{font-weight:700}.task-tile-progress .mine-none{color:var(--muted);font-weight:400}.task-tile.my-folder{border-left-color:var(--sky-ink, var(--accent))}.task-tile.my-folder.is-mine{border-left-color:var(--accent)}.mine-kind{display:inline-block;margin-left:var(--space-2);padding:.0625rem .5rem;border-radius:999px;background:var(--green-soft);color:var(--success);font-size:.75rem;font-weight:600;white-space:nowrap}.my-file-list{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none;max-height:none;overflow:visible}.my-file{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--line);border-radius:12px;background:var(--white);box-shadow:0 1px 2px rgb(var(--shadow-rgb) / 6%)}.my-file-body{display:grid;flex:1 1 200px;gap:2px;min-width:0}.my-file-body b{overflow-wrap:anywhere;font-weight:600}.my-file-body small{color:var(--muted)}.my-file-actions{display:flex;align-items:center;gap:var(--space-1)}.my-empty{padding:var(--space-4);border:1px dashed var(--line-strong);border-radius:12px;text-align:center}.my-dropzone{display:grid;justify-items:center;gap:var(--space-1);padding:var(--space-4);border:2px dashed var(--line-strong);border-radius:12px;background:var(--surface-muted);color:var(--muted);text-align:center;cursor:pointer}.my-dropzone:hover,.my-dropzone.dragging{border-color:var(--accent);background:var(--pink-soft);color:var(--accent-dark)}.my-dropzone:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.my-dropzone[aria-disabled=true]{opacity:.6;cursor:not-allowed}.my-dropzone b{color:var(--ink);font-weight:600}.tasks-page:has(.task-links) .card.my-submission :is(h2,h3,p){margin:0}.my-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.my-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2)}.my-steps{display:flex;align-items:center;gap:var(--space-2);margin:0;padding:0;list-style:none;color:var(--muted);font-size:.8125rem}.my-steps li{display:flex;align-items:center;gap:.375rem}.my-steps li+li:before{content:"";width:24px;height:2px;margin-right:.375rem;background:var(--line-strong)}.my-steps .step-dot{display:grid;place-items:center;width:22px;height:22px;border:2px solid var(--line-strong);border-radius:50%;font-size:.6875rem;font-weight:700}.my-steps .active{color:var(--ink);font-weight:600}.my-steps .active .step-dot{border-color:var(--accent-dark);background:var(--accent-dark);color:#fff}.my-steps .done .step-dot{border-color:var(--success);background:var(--green-soft);color:var(--success)}.my-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:var(--space-4);align-items:start}.my-files{display:grid;gap:var(--space-3);min-width:0}.tasks-page:has(.task-links) .card.my-submission h3.my-title{font-size:1rem}.my-side{display:grid;gap:var(--space-3);min-width:0}.my-cta{display:grid;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--line-strong);border-radius:12px;background:var(--white);box-shadow:0 4px 16px rgb(var(--shadow-rgb) / 8%)}.my-cta-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;min-height:48px;background:var(--accent-dark);color:#fff;font-size:1rem;font-weight:600}.my-note{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:10px;background:var(--sun-soft);color:var(--sun-ink);font-size:.875rem;line-height:1.5}.my-note>.app-icon{flex:none;margin-top:2px}.my-later{font-size:.875rem}.my-done{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-4);border-radius:12px;background:var(--green-soft);color:var(--success)}.my-done>div{flex:1 1 220px}.my-done b{color:var(--ink)}@media(max-width:760px){.my-grid{grid-template-columns:minmax(0,1fr)}}.task-folders{display:grid;gap:var(--space-2)}.tasks-page:has(.task-links) .card.task-info .task-folders h3{margin:0;font-size:.9375rem;font-weight:700}.task-folders h3 span{color:var(--muted);font-weight:500}.task-folder-group{border:1px solid var(--line);border-radius:12px;background:var(--white)}.task-folder-group>summary{display:flex;align-items:center;gap:var(--space-2);padding:.625rem .875rem;cursor:pointer;list-style:none}.task-folder-group>summary::-webkit-details-marker{display:none}.task-folder-group>summary b{color:var(--accent-dark)}.task-folder-group>summary span{color:var(--muted);font-size:.8125rem}.task-folder-group .group-chevron{flex:none;color:var(--muted);transition:transform .15s}.task-folder-group[open] .group-chevron{transform:rotate(90deg)}.task-folder-group[open]>summary{border-bottom:1px solid var(--line)}.task-folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:var(--space-2);margin:0;padding:var(--space-2);list-style:none}.task-folder-item{display:flex;align-items:flex-start;gap:.625rem;height:100%;padding:.625rem .75rem;border:1px solid var(--line);border-radius:10px;background:var(--surface-muted);color:var(--ink);text-decoration:none}.task-folder-item:hover{border-color:var(--accent)}.task-folder-item.mine{border-color:var(--accent);background:var(--pink-soft)}.task-folder-item>.app-icon{flex:none;margin-top:2px;color:var(--accent)}.task-folder-text{display:grid;flex:1;gap:.125rem;min-width:0}.task-folder-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .5rem}.task-folder-main b{font-size:.875rem;font-weight:700;overflow-wrap:anywhere}.task-folder-unit{padding:0 .5rem;border-radius:999px;background:var(--white);border:1px solid var(--line);color:var(--ink);font-size:.75rem;font-weight:600}.task-folder-main em{padding:0 .375rem;border-radius:999px;background:var(--pink-soft);color:var(--accent-dark);font-size:.6875rem;font-style:normal;font-weight:600}.task-folder-item.mine .task-folder-main em{background:var(--white)}.task-folder-text small{overflow:hidden;color:var(--muted);font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.task-folder-count{flex:none;padding:0 .5rem;border-radius:999px;background:var(--sun-soft);color:var(--sun-ink);font-size:.6875rem;font-weight:600}.task-folder-more{justify-self:start;margin:0 var(--space-2) var(--space-2)}.tasks-page:has(.task-links) .card.task-info{display:grid;gap:var(--space-3)}.tasks-page:has(.task-links) .card.task-info :is(h2,p,dl,dd){margin:0}.task-info-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-3)}.tasks-page:has(.task-links) .card.task-info h2{min-width:0;font-size:1.25rem;font-weight:700;line-height:1.35;overflow-wrap:anywhere}.task-deadline-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;border-radius:999px;background:var(--sun-soft);color:var(--sun-ink);font-size:.8125rem;font-weight:600;white-space:nowrap}.task-meta{display:grid;gap:var(--space-2)}.task-meta>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-1) var(--space-2)}.task-meta dt{flex:none;color:var(--muted);font-size:.875rem}.task-meta dd{min-width:0}.task-meta-folders{display:flex;flex-wrap:wrap;gap:var(--space-2)}.folder-crumb{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.25rem;max-width:100%;padding:.25rem .625rem;border:1px solid var(--line);border-radius:8px;background:var(--surface-muted);color:var(--ink);font-size:.8125rem;text-decoration:none}.folder-crumb:hover{border-color:var(--accent);color:var(--accent-dark)}.folder-crumb>.app-icon:first-child{color:var(--accent)}.folder-crumb .crumb-sep{color:var(--muted)}.folder-crumb>span:last-of-type{font-weight:600}.folder-crumb em{padding:0 .375rem;border-radius:999px;background:var(--pink-soft);color:var(--accent-dark);font-size:.6875rem;font-style:normal;font-weight:600}.task-callout{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border-radius:10px;background:var(--sky-soft);color:var(--sky-ink);font-size:.875rem;line-height:1.5}.task-callout>.app-icon{flex:none;margin-top:1px}.week-strip{display:flex;align-items:flex-start;gap:var(--space-2);padding:.75rem 1rem;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:12px;background:linear-gradient(90deg,var(--pink-soft),var(--pink-tint));font-size:.875rem}.week-strip-icon{flex:none;margin-top:1px;color:var(--accent)}.week-strip-text{display:grid;gap:2px;min-width:0}.week-strip b{color:var(--accent-dark);font-size:1rem;font-weight:700;overflow-wrap:anywhere}.week-strip-note{font-weight:500;color:var(--muted)}.week-strip-skipped{color:var(--muted)}.week-strip-due{justify-self:start;padding:1px 8px;border-radius:999px;background:var(--sun-soft);color:var(--sun-ink);font-weight:600}.manager-overview{display:grid;gap:var(--space-4);min-width:0}.overview-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:var(--space-3)}.overview-greeting{margin:0 0 .15rem;color:var(--muted);font-size:.9rem}.overview-head h2{margin:0;font-size:1.4rem;letter-spacing:-.04em;font-weight:600}.overview-filter{min-width:min(18rem,100%)}.overview-body{display:grid;gap:var(--space-4);min-width:0}.overview-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);margin:0;padding:0;list-style:none}.overview-card{display:grid;align-content:start;gap:2px;height:100%;padding:var(--space-4);border:1px solid var(--line);border-left-width:4px;border-radius:var(--radius);background:var(--white);color:var(--ink);text-decoration:none;transition:border-color .16s ease,transform .16s ease}.overview-card:hover{transform:translateY(-2px)}.overview-card-label{color:var(--muted);font-size:.8125rem;font-weight:650}.overview-card-value{font-size:1.9rem;line-height:1.15;letter-spacing:-.04em;overflow-wrap:anywhere}.overview-card-detail{color:var(--muted);font-size:.8125rem;overflow-wrap:anywhere}.overview-card.tone-ok{border-left-color:var(--success)}.overview-card.tone-warn{border-left-color:#d9a21b;background:color-mix(in srgb,var(--sun-soft) 55%,var(--white))}.overview-card.tone-danger{border-left-color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,var(--white))}.overview-card.tone-danger .overview-card-value{color:var(--danger)}.overview-card.tone-warn .overview-card-value{color:var(--sun-ink)}.overview-card.tone-neutral{border-left-color:var(--line)}.overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);align-items:start}.overview-block{display:grid;gap:var(--space-3);min-width:0;padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.overview-block>header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.overview-block h3{margin:0;font-size:1.05rem;font-weight:600;letter-spacing:-.03em}.overview-block>header a{font-size:.8125rem}.my-class-meals>header h2{margin:0;font-size:1.2rem;font-weight:600;letter-spacing:-.04em}.overview-deadlines{padding:0;border:0;background:transparent}.overview-deadlines .upcoming-deadlines{gap:var(--space-3)}.overview-meals,.overview-incidents{display:grid;gap:var(--space-3);margin:0;padding:0;list-style:none}.overview-meals>li{display:grid;gap:var(--space-1);padding-top:var(--space-3);border-top:1px solid var(--line)}.overview-meals>li:first-child{padding-top:0;border-top:0}.overview-meal-head{display:flex;justify-content:space-between;gap:var(--space-3)}.overview-meal-rate{font-weight:650}.overview-meal-numbers,.overview-by-branch{margin:0;color:var(--muted);font-size:.8125rem}.overview-chips{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1) var(--space-2);font-size:.8125rem}.overview-chips>span{color:var(--muted)}.overview-chips ul{display:flex;flex-wrap:wrap;gap:var(--space-1);margin:0;padding:0;list-style:none}.overview-chips li{padding:1px 10px;border-radius:999px;background:var(--surface-muted);font-weight:600}.overview-chips li.chip-warn{background:var(--sun-soft);color:var(--sun-ink)}.overview-incidents>li{padding-top:var(--space-3);border-top:1px solid var(--line)}.overview-incidents>li:first-child{padding-top:0;border-top:0}.overview-incidents a{display:grid;gap:2px;color:inherit;text-decoration:none}.overview-incidents a:hover .overview-incident-title b{text-decoration:underline}.overview-incident-title{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.overview-incident-text{overflow-wrap:anywhere;font-size:.875rem}.overview-incidents small{color:var(--muted)}.overview-badge{padding:1px 8px;border-radius:999px;background:var(--surface-muted);font-size:.75rem;font-weight:600}.overview-badge.urgent{background:color-mix(in srgb,var(--danger) 14%,var(--white));color:var(--danger)}.trend-chart{display:grid;gap:var(--space-2);margin:0}.trend-chart figcaption{display:grid;gap:2px}.trend-chart figcaption span{color:var(--muted);font-size:.8125rem}.trend-chart svg{display:block;width:100%;height:auto}.trend-plot{position:relative;width:100%;max-width:720px;touch-action:pan-y}.chart-hits rect{fill:transparent;cursor:crosshair}.chart-guide{stroke:var(--line-strong, var(--line));stroke-width:1;stroke-dasharray:3 3}.chart-dot{transition:r .12s ease}.chart-dot.active{stroke:var(--white);stroke-width:2}.chart-bar{transition:opacity .12s ease}.chart-bar.dim{opacity:.45}.chart-tip{position:absolute;z-index:2;max-width:min(260px,90%);padding:.4rem .6rem;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink);font-size:.75rem;font-weight:600;line-height:1.35;white-space:normal;box-shadow:0 6px 18px rgb(var(--shadow-rgb, 23 25 28) / 14%);pointer-events:none}@media(prefers-reduced-motion:reduce){.chart-dot,.chart-bar{transition:none}}.chart-axes line{stroke:var(--line);stroke-width:1}.chart-axes text{fill:var(--muted);font-size:11px}.chart-line{stroke:var(--accent);stroke-width:2}.chart-dot{fill:var(--accent)}.chart-bar{fill:var(--success)}.chart-bar.low{fill:var(--danger)}.overview-updated{margin:0;font-size:.8125rem}@media(max-width:1024px){.overview-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.overview-grid{grid-template-columns:minmax(0,1fr)}.overview-cards{gap:var(--space-2)}.overview-card{padding:var(--space-3)}.overview-card-value{font-size:1.5rem}}.dashboard-page>.manager-overview+.dashboard-metrics{margin-top:var(--space-2)}.recent-list{display:grid;margin:0;padding:0;list-style:none;max-height:none;overflow:visible}.recent-row{display:grid;gap:.25rem;padding:var(--space-2) 0;border-top:1px solid var(--line)}.recent-row:first-child{padding-top:0;border-top:0}.recent-name{display:flex;align-items:center;gap:var(--space-2);min-width:0;font-weight:500}.recent-name>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-avatar,.recent-avatar-gap{flex:none;width:28px;height:28px}.recent-avatar{display:grid;place-items:center;border-radius:50%;background:#dcfce7;color:#166534;font-size:.8125rem;font-weight:600}:root[data-theme=dark] .recent-avatar{background:#1f3a2b;color:#7fd3a0}.recent-detail{display:flex;align-items:center;gap:var(--space-2);min-width:0;padding-left:36px}.recent-icon{flex:none}.recent-icon.ok,.recent-icon.late{color:var(--success)}.recent-icon.withdrawn{color:var(--danger)}.recent-detail a{flex:1;min-width:0;color:var(--ink);font-size:.8125rem;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-detail a:hover .recent-title{text-decoration:underline}.recent-time{flex:none;color:var(--muted);font-size:.75rem;white-space:nowrap}.recent-dot{flex:none;width:8px;height:8px;border-radius:50%}.recent-dot.ok{background:#22c55e}.recent-dot.late{background:#f59e0b}.recent-dot.withdrawn{background:#ef4444}.page-breadcrumb{min-width:0;font-size:.8125rem}.page-breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;padding:0;list-style:none}.page-breadcrumb li{display:inline-flex;align-items:center;gap:.5rem;min-width:0;overflow-wrap:anywhere}.page-breadcrumb a{display:inline-flex;align-items:center;min-height:40px;color:var(--muted);text-decoration:none}.page-breadcrumb a:hover{color:var(--accent);text-decoration:underline}.page-breadcrumb li[aria-current]{color:var(--ink);font-weight:600}.page-breadcrumb li>span{color:var(--muted)}@media(max-width:768px){.page-breadcrumb a{min-height:44px}}.report-tabs{display:flex;flex-wrap:wrap;gap:.25rem;max-width:var(--workspace-max);margin:0 auto;padding:var(--space-3) var(--workspace-padding-x) 0}.report-tabs a{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.1rem;border-bottom:3px solid var(--line);color:var(--muted);font-weight:700;text-decoration:none;white-space:nowrap}.report-tabs a:hover{color:var(--ink)}.report-tabs a[aria-selected=true]{border-bottom-color:var(--accent-dark);color:var(--accent-dark)}@media(max-width:1100px){.report-tabs a{padding:.5rem .8rem}}.report-tab-badge{min-width:1.35rem;padding:.05rem .4rem;border-radius:999px;background:var(--danger);color:var(--white);font-size:.72rem;text-align:center}.daily-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:.75rem 1rem;margin-bottom:1rem}.daily-toolbar .daily-toolbar-end{margin-left:auto;display:flex;gap:.5rem;align-items:end}.daily-toolbar .date-picker-trigger,.daily-toolbar .date-picker-trigger:hover,.daily-toolbar .filter-combobox-trigger,.daily-toolbar .filter-combobox-trigger:hover,.daily-editor-head .date-picker-trigger,.daily-editor-head .date-picker-trigger:hover{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:40px;margin:0;padding:0 .75rem;border:1px solid var(--line-strong);background:var(--white);color:var(--ink);font-weight:500;text-align:left;transform:none}.daily-toolbar .date-picker-trigger>.app-icon,.daily-editor-head .date-picker-trigger>.app-icon{color:var(--accent-dark)}.daily-toolbar-end button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:40px;white-space:nowrap}.daily-note{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;padding:.65rem .85rem;border-radius:10px;background:var(--sun-soft);color:var(--sun-ink);font-size:.85rem}.daily-note-locked>span{flex:1}.daily-note-locked>button{min-height:40px;margin:0;white-space:nowrap}.daily-note-warn{background:var(--pink-soft);color:var(--accent-dark)}.daily-alert{flex-direction:column;align-items:stretch;gap:.6rem}.daily-alert-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.35rem 1rem}.daily-alert-group{display:grid;gap:.3rem}.daily-alert-group small{font-weight:700}.daily-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none}.daily-chip,.daily-chip:hover:not(:disabled){display:inline-flex;align-items:center;min-height:28px;padding:0 .7rem;border:1px solid var(--accent-dark);border-radius:999px;background:var(--white);color:var(--accent-dark);font-size:.8rem;font-weight:600;box-shadow:none;transform:none}button.daily-chip{cursor:pointer}button.daily-chip:hover:not(:disabled){background:var(--pink-tint);color:var(--accent-dark)}.daily-branch{margin-bottom:1rem;padding:1rem 1.1rem}.daily-branch>header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.35rem 1rem;margin-bottom:.6rem}.daily-branch h3{margin:0;font-size:1rem}.daily-totals{margin:0;color:var(--muted);font-size:.85rem}.daily-totals b{color:var(--ink)}.daily-status-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem;margin-bottom:1rem;padding:.25rem;border:1px solid var(--line);border-radius:12px;background:var(--white)}.daily-status-filters button,.daily-status-filters button:hover:not(:disabled){min-width:0;min-height:44px;padding:.4rem .25rem;border-radius:8px;background:transparent;color:var(--muted);font-size:.8125rem;box-shadow:none;transform:none}.daily-status-filters button[aria-pressed=true],.daily-status-filters button[aria-pressed=true]:hover:not(:disabled){background:var(--pink-soft);color:var(--accent-dark)}.daily-status-filters button:hover:not(:disabled){background:var(--surface-hover);color:var(--ink)}.daily-day .daily-branch{min-width:0;padding:0;border:0;background:transparent;box-shadow:none}.daily-day .daily-branch>header{display:block;margin-bottom:.75rem;padding:1rem;border:1px solid var(--line);border-radius:14px;background:var(--white)}.daily-branch h3{overflow-wrap:anywhere}.daily-branch-title{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.daily-branch-toggle{display:none}@media(max-width:767px){.daily-branch-toggle{display:inline-flex;align-items:center;gap:.3rem;min-height:40px;margin:0;padding:0 .75rem;white-space:nowrap}.daily-branch-toggle .app-icon{transition:transform .15s ease}.daily-branch.is-collapsed .daily-branch-toggle .app-icon{transform:rotate(-90deg)}.daily-branch.is-collapsed .daily-class-cards,.daily-branch.is-collapsed .daily-filter-empty{display:none}.daily-day .daily-branch:not(.is-collapsed)>header{position:sticky;top:0;z-index:3;box-shadow:0 4px 12px -8px rgb(var(--shadow-rgb) / 30%)}}.daily-branch-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin:.85rem 0 0;font-variant-numeric:tabular-nums}.daily-branch-metrics>div{min-width:0}.daily-branch-metrics dt{color:var(--muted);font-size:.75rem}.daily-branch-metrics dd{margin:.2rem 0 0;color:var(--ink);font-size:1.125rem;font-weight:700;overflow-wrap:anywhere}.daily-class-cards{display:grid;gap:.625rem;margin:0;padding:0;list-style:none}.daily-class-cards>li{min-width:0}.daily-class-card{position:relative;display:block;width:100%;min-width:0;margin:0;padding:.875rem;border:1px solid var(--line);border-radius:14px;background:var(--white);color:var(--ink);font-size:.875rem;font-weight:400;text-align:left;box-shadow:none}button.daily-class-card{padding-right:2rem}button.daily-class-card:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-hover);color:var(--ink);box-shadow:none;transform:none}button.daily-class-card:active:not(:disabled){background:var(--pink-tint)}.daily-class-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.4rem .5rem}.daily-class-name{min-width:0;font-weight:700;overflow-wrap:anywhere}.daily-class-name small{color:var(--muted);font-size:.75rem;font-weight:400}.daily-report-status{flex-shrink:0;padding:.2rem .5rem;border-radius:999px;font-size:.6875rem;font-weight:600;line-height:1.5}.daily-report-status-missing{background:var(--pink-soft);color:var(--accent-dark)}.daily-report-status-reported{background:var(--green-soft);color:var(--green-ink)}.daily-report-status-neutral{background:var(--surface-muted);color:var(--muted)}.daily-class-badges{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.35rem}.daily-edited{display:inline-block;margin-left:.4rem;padding:.1rem .5rem;border-radius:999px;background:var(--sun-soft);color:var(--sun-ink);font-size:.6875rem;font-weight:600;line-height:1.5;white-space:nowrap;vertical-align:middle}.daily-late{display:inline-block;margin-left:.4rem;padding:.1rem .5rem;border-radius:999px;background:var(--pink-soft);color:var(--accent-dark);font-size:.6875rem;font-weight:600;line-height:1.5;white-space:nowrap;vertical-align:middle}.daily-class-badges .daily-edited,.daily-edit-cell .daily-edited,.daily-class-badges .daily-late{margin-left:0}.daily-edit-log{margin:.5rem 0 0;padding:0;list-style:none;color:var(--muted);font-size:.75rem;font-weight:400;font-variant-numeric:tabular-nums}.daily-history{border-top:1px solid var(--line);padding-top:.75rem;font-size:.8125rem}.daily-history summary{cursor:pointer;font-weight:600}.daily-history ol{display:grid;gap:.6rem;margin:.6rem 0 0;padding:0;list-style:none}.daily-history ol>li{padding-left:.75rem;border-left:2px solid var(--line)}.daily-history ul{margin:.2rem 0 0;padding-left:1.1rem}.daily-history-meta{font-variant-numeric:tabular-nums}.daily-class-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-top:.75rem;font-variant-numeric:tabular-nums}.daily-class-metrics>span{display:grid;gap:.15rem;min-width:0}.daily-class-metrics>span>span{color:var(--muted);font-size:.75rem}.daily-class-metrics b{color:var(--ink);font-size:1.0625rem;overflow-wrap:anywhere}.daily-class-chevron{position:absolute;top:50%;right:.625rem;color:var(--muted);transform:translateY(-50%)}.daily-day-table{display:none}.daily-filter-empty{margin:0;padding:1rem;border:1px dashed var(--line-strong);border-radius:14px;background:var(--white);font-size:.85rem}@media(min-width:768px){.daily-status-filters{width:max-content;min-width:320px}.daily-day .daily-branch{padding:1rem 1.1rem;border:1px solid var(--line);background:var(--white)}.daily-day .daily-branch>header{display:flex;padding:0;border:0;border-radius:0}.daily-branch-metrics{display:flex;flex-wrap:wrap;gap:1rem;margin:0}.daily-branch-metrics>div{display:flex;align-items:baseline;gap:.3rem}.daily-branch-metrics dt,.daily-branch-metrics dd{margin:0;font-size:.85rem}.daily-class-cards{display:none}.daily-day-table{display:block}}.daily-table-wrap{overflow-x:auto}.daily-table{width:100%;border-collapse:collapse}.daily-table th,.daily-table td{text-align:right;white-space:nowrap;vertical-align:top}.daily-day-table tbody th{background:transparent;border-bottom-color:var(--line);color:var(--ink);font-size:inherit;letter-spacing:0;white-space:normal}.daily-table th:first-child,.daily-table thead th:first-child{text-align:left}.daily-table tbody th{font-weight:600}.daily-table .text-button{font:inherit;font-weight:600;text-align:left}.daily-table td.muted,.daily-day .daily-table th,.daily-day .daily-table td{text-align:left}.daily-table td.daily-names{min-width:12rem;max-width:22rem;text-align:left;white-space:normal}.daily-name-list{margin:0;padding:0;list-style:none}.daily-name-list li+li{margin-top:.15rem}.daily-table .daily-name-more{margin-top:.2rem;font-size:.78rem;font-weight:600}.daily-table .daily-missing th{color:var(--accent-dark)}.daily-grid{font-size:.85rem}.daily-grid th,.daily-grid td{padding:.35rem .3rem;border-bottom:1px solid var(--line);text-align:center;min-width:30px;font-variant-numeric:tabular-nums}.daily-grid .daily-sticky{position:sticky;left:0;z-index:1;min-width:90px;padding-left:.6rem;text-align:left;background:var(--white)}.daily-grid thead th small,.daily-grid thead th span{display:block;line-height:1.15}.daily-grid thead th small{color:var(--muted);font-size:.65rem;font-weight:500}.daily-saturday{--day-tone: var(--sun-ink)}.daily-sunday{--day-tone: var(--sky-ink)}.daily-day-off{--day-tone: var(--accent)}.daily-saturday,.daily-sunday,.daily-day-off{background:color-mix(in srgb,var(--day-tone) 13%,var(--white))}.daily-grid thead th.daily-saturday,.daily-grid thead th.daily-sunday,.daily-grid thead th.daily-day-off{background:color-mix(in srgb,var(--day-tone) 26%,var(--white));color:var(--day-tone);box-shadow:inset 0 3px 0 var(--day-tone),0 1px 0 var(--line)}.daily-grid thead th.daily-saturday small,.daily-grid thead th.daily-sunday small,.daily-grid thead th.daily-day-off small{color:var(--day-tone);font-weight:700}.daily-day-off:not(th){color:var(--muted)}.daily-day-button,.daily-day-button:hover:not(:disabled){min-height:0;padding:0;background:transparent;color:inherit;box-shadow:none;transform:none;font:inherit}.daily-day-button:hover:not(:disabled){background:var(--pink-tint);color:var(--accent-dark)}.daily-total-row th,.daily-total-row td{border-top:2px solid var(--line);font-weight:600}.daily-legend{display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;margin:0 0 .75rem;padding:0;list-style:none;color:var(--muted);font-size:.8rem}.daily-legend li{display:inline-flex;align-items:center;gap:.4rem}.daily-legend-cell{display:inline-grid;place-items:center;min-width:26px;height:22px;border:1px solid var(--line-strong);border-radius:6px;background:var(--white);color:var(--ink);font-size:.75rem;font-weight:600}.daily-legend-cell.daily-saturday,.daily-legend-cell.daily-sunday,.daily-legend-cell.daily-day-off{border-color:var(--day-tone);background:color-mix(in srgb,var(--day-tone) 26%,var(--white))}.daily-table-wrap:has(.daily-grid){max-height:70vh;overflow:auto}.daily-grid thead th{position:sticky;top:0;z-index:2;box-shadow:0 1px 0 var(--line)}.daily-grid thead th{border-bottom-color:var(--line-strong);font-size:.75rem;font-weight:600;letter-spacing:.03em}.daily-grid thead th:not(.daily-saturday):not(.daily-sunday):not(.daily-day-off){background:var(--surface-muted);color:var(--muted)}.daily-grid thead th.daily-sticky{z-index:3}.daily-grid tbody td[title]:hover{background:var(--pink-tint);cursor:help}.daily-cell-edited,.daily-cell-late{position:relative}.daily-cell-late:before{content:"";position:absolute;top:3px;left:3px;width:6px;height:6px;border-radius:50%;background:var(--accent-dark)}.daily-cell-edited:after{content:"";position:absolute;top:3px;right:3px;width:6px;height:6px;border-radius:50%;background:var(--sun-ink)}.daily-editor{display:grid;gap:1.1rem;padding:1.25rem;max-width:760px}.daily-editor-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:.75rem}.daily-editor-head h2{margin:0;font-size:1.5rem;line-height:1.2}.daily-editor-head p{margin:.15rem 0 0;font-size:.875rem}.daily-editor-fields{display:grid;gap:1.25rem;min-width:0;margin:0;padding:0;border:0}.daily-editor h3{display:flex;align-items:baseline;gap:.35rem;margin:0 0 .6rem;font-size:1rem}.daily-count{color:var(--muted);font-weight:600;font-variant-numeric:tabular-nums}.daily-status{display:grid;gap:.75rem}.daily-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin:0}.daily-kpi{display:grid;align-content:space-between;gap:.25rem;min-width:0;padding:.7rem .85rem;border-radius:12px;background:var(--surface-muted);color:var(--ink)}.daily-kpi dt{color:var(--muted);font-size:.75rem;font-weight:600}.daily-kpi dt label{margin:0;color:inherit;font:inherit}.daily-kpi dd{display:flex;flex-wrap:wrap;align-items:baseline;margin:0}.daily-kpi strong{font-size:1.75rem;font-weight:700;line-height:1.15;font-variant-numeric:tabular-nums}.daily-kpi-sub{color:var(--muted);font-size:.8125rem;font-variant-numeric:tabular-nums}.daily-kpi input{width:100%;min-height:44px;margin:0;font-size:1.35rem;font-weight:700}.daily-kpi.is-ok{background:var(--green-soft)}.daily-kpi.is-ok strong{color:var(--green-ink)}.daily-kpi.is-warn{background:var(--sun-soft)}.daily-kpi.is-warn strong{color:var(--sun-ink)}.daily-kpi.is-error{background:color-mix(in srgb,var(--danger) 12%,var(--white))}.daily-kpi.is-error strong,.daily-kpi.is-error dt{color:var(--danger)}.daily-summary{display:flex;flex-wrap:wrap;gap:.35rem .9rem;margin:0;font-size:.875rem;font-weight:600}.daily-issue{display:inline-flex;align-items:center;gap:.3rem}.daily-issue.is-ok{color:var(--green-ink)}.daily-issue.is-warn{color:var(--sun-ink)}.daily-issue.is-error{color:var(--danger)}.daily-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.6rem;align-items:start;margin-bottom:.5rem;padding:.6rem;border-radius:12px;background:var(--surface-muted)}.daily-row input{margin:0}.daily-row-body{display:grid;gap:.45rem;min-width:0}.daily-child-row .daily-row-body>input{font-weight:600}.daily-row-index{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.6rem;margin-top:.55rem;border-radius:999px;background:var(--line);color:var(--muted);font-size:.8rem;font-weight:600;font-variant-numeric:tabular-nums}.daily-row>.icon-button{width:40px;min-height:40px}.daily-row.is-warn{box-shadow:inset 3px 0 0 var(--sun-ink)}.daily-row-flag{display:inline-flex;align-items:center;gap:.3rem;color:var(--sun-ink);font-size:.75rem;font-weight:600}.daily-row-reason,.daily-teacher-row .daily-row-body{display:flex;flex-wrap:wrap;gap:.45rem;min-width:0}.daily-row-reason>.form-combobox{flex:1 1 11rem;min-width:0}.daily-row .daily-reason-other{flex:2 1 14rem;display:flex;align-items:center;gap:.5rem;margin:0;color:var(--muted);font-size:.85rem;white-space:nowrap}.daily-reason-other input{flex:1;min-width:0}.daily-teacher-row .daily-row-body>.form-combobox{flex:1 1 11rem;min-width:0}.daily-teacher-row .daily-row-body>input{flex:2 1 14rem;min-width:0}.daily-row .filter-combobox-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.daily-add{min-height:40px}.daily-editor-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}.daily-editor-foot p{margin:0;font-size:.8rem}.daily-save-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem .75rem}.daily-save-bar>p{margin:0 auto 0 0;font-size:.875rem}.daily-save-bar>button{min-height:44px}@media(max-width:620px){.daily-toolbar{gap:.75rem}.daily-toolbar>.daily-tabs{flex:1 1 auto}.daily-toolbar>.daily-tabs button{flex:1;min-height:44px;padding-inline:.65rem}.daily-toolbar>.date-picker{flex:1 1 135px;min-width:0}.daily-toolbar .date-picker-trigger{width:100%;min-height:44px}.daily-toolbar .date-picker-popover{right:0;left:auto}.daily-alert{padding:.875rem;border:1px solid var(--pink-soft)}.daily-alert-head{align-items:flex-start;flex-direction:column;gap:.35rem}.daily-alert-head>span{font-size:.875rem;line-height:1.6}.daily-alert-head .text-button{min-height:44px;margin:0;text-decoration:underline;text-underline-offset:3px}.daily-alert .daily-chip{min-height:44px;max-width:100%;overflow-wrap:anywhere;text-align:left}.daily-alert .daily-chips>li{min-width:0;max-width:100%}.daily-editor{padding:1rem}.daily-editor-head h2{font-size:1.35rem}.daily-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-kpi-teachers{grid-column:1 / -1}.daily-row-reason,.daily-teacher-row .daily-row-body{flex-direction:column;flex-wrap:nowrap}.daily-row-reason>.form-combobox,.daily-row .daily-reason-other,.daily-teacher-row .daily-row-body>.form-combobox,.daily-teacher-row .daily-row-body>input{flex:none;width:100%}.daily-row input,.daily-row .form-combobox .filter-combobox-trigger{min-height:44px}.daily-row .daily-reason-other{flex-wrap:wrap;white-space:normal}.daily-row .daily-reason-other input{flex:1 1 100%}.daily-row>.icon-button{width:44px;min-height:44px}.daily-add{width:100%;min-height:44px}.daily-save-bar.is-sticky{position:sticky;bottom:calc(68px + env(safe-area-inset-bottom));z-index:3;margin-inline:-1rem;padding:.6rem 1rem;border-top:1px solid var(--line);background:var(--white);box-shadow:0 -6px 16px rgb(var(--shadow-rgb) / 8%)}.daily-save-bar>button{flex:1 1 100%}.daily-toolbar .daily-toolbar-end{margin-left:0}}.admin-content>.report-tabs+.container{padding-top:var(--space-4)}.daily-page>.page-nav{margin-bottom:var(--space-4)}.daily-tick{display:flex;align-items:center;gap:.6rem;min-height:44px;cursor:pointer;font-weight:600}.daily-tick input{width:22px;height:22px;margin:0;flex:none}.daily-tick-flag{margin-left:auto;padding:.15rem .5rem;border-radius:999px;background:var(--pink-soft);color:var(--accent-dark);font-size:.72rem}.daily-editor-wide{max-width:1100px}.daily-tick-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;align-items:start}.daily-roster{display:grid;gap:.5rem;padding:.6rem;border:1px solid var(--line);border-radius:12px}.daily-roster .filter-search{min-width:0}.daily-roster-filters{display:flex;flex-wrap:wrap;gap:.35rem}.daily-roster-filters button,.daily-roster-filters button:hover:not(:disabled){min-height:36px;margin:0;padding:0 .75rem;border:1px solid var(--line-strong);border-radius:999px;background:var(--white);color:var(--ink);font-size:.85rem;font-weight:500;box-shadow:none;transform:none}.daily-roster-filters button[aria-pressed=true]{border-color:transparent;background:var(--pink-soft);color:var(--accent-dark);font-weight:600}.daily-roster-filters button span{margin-left:.2rem;color:var(--muted);font-variant-numeric:tabular-nums}.daily-roster-filters button[aria-pressed=true] span{color:inherit}.daily-roster-list{display:grid;max-height:min(55vh,32rem);overflow-y:auto;overscroll-behavior:contain}.daily-roster-list .daily-tick{padding:0 .35rem;border-bottom:1px solid var(--line);font-weight:500}.daily-roster-list .daily-tick:last-child{border-bottom:0}.daily-roster-list .daily-tick:has(input:checked){background:var(--pink-tint)}.daily-roster-list>p{margin:.5rem .35rem}.daily-tick-flag.is-warn{background:var(--sun-soft);color:var(--sun-ink)}.daily-absent-panel{display:grid;gap:.5rem;padding:.6rem;border:1px solid var(--line);border-radius:12px;background:var(--white)}.daily-absent-toggle,.daily-absent-toggle:hover:not(:disabled){display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;width:100%;min-height:40px;margin:0;padding:0 .25rem;border:0;background:transparent;color:var(--ink);text-align:left;box-shadow:none;transform:none}.daily-absent-toggle>.app-icon:last-child{margin-left:auto;color:var(--muted);transition:transform .15s}.daily-absent-panel.is-collapsed .daily-absent-toggle>.app-icon:last-child{transform:rotate(-90deg)}.daily-absent-body>p{margin:0 .25rem .25rem}.daily-absent-body .daily-row:last-child{margin-bottom:0}.daily-absent-name{min-height:1.6rem;padding-top:.3rem;overflow-wrap:anywhere}@media(max-width:1023px){.daily-absent-panel.is-collapsed .daily-absent-body{display:none}}@media(min-width:1024px){.daily-tick-layout{grid-template-columns:minmax(0,1fr) 340px}.daily-tick-layout{align-items:stretch}.daily-absent-panel{position:sticky;top:1rem;align-self:start}.daily-roster{display:flex;flex-direction:column}.daily-roster-scroll{position:relative;flex:1 1 auto;min-height:min(55vh,32rem)}.daily-roster-scroll>.daily-roster-list{position:absolute;inset:0;max-height:none;align-content:start}.daily-absent-toggle{pointer-events:none}.daily-absent-toggle>.app-icon:last-child{display:none}.daily-absent-panel .daily-row-reason{flex-direction:column;flex-wrap:nowrap}.daily-absent-panel .daily-row-reason>.form-combobox,.daily-absent-panel .daily-reason-other{flex:none;width:100%}.daily-absent-panel .daily-reason-other{flex-wrap:wrap;white-space:normal}.daily-absent-panel .daily-reason-other input{flex:1 1 100%}}.daily-absent-panel.daily-absent-readonly{position:static}.daily-absent-readonly>p{margin:0 .25rem}.daily-absent-readonly .daily-row:last-child{margin-bottom:0}.daily-absent-readonly .daily-row-body>.muted{font-size:.85rem;overflow-wrap:anywhere}.incident-badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700;white-space:nowrap}.incident-urgent{background:var(--danger);color:var(--white)}.incident-status-new{background:var(--sun-soft);color:var(--sun-ink)}.incident-status-acknowledged{background:var(--sky-soft);color:var(--sky-ink)}.incident-status-resolved{background:var(--green-soft);color:var(--success)}.incidents-page{display:grid;gap:var(--space-5);align-content:start}.incidents-page h2{margin:0;font-size:1.125rem;font-weight:600}.incident-summary{display:flex;align-items:stretch;gap:var(--space-4)}.incident-kpis{display:grid;flex:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.incident-kpi,.incident-kpi:hover:not(:disabled){display:flex;align-items:center;gap:var(--space-3);min-height:72px;padding:var(--space-3) var(--space-4);border:1px solid var(--kpi-line);border-radius:16px;background:var(--kpi-bg);color:var(--ink);text-align:left;box-shadow:none;transform:none}.incident-kpi[aria-pressed=true]{box-shadow:0 0 0 2px var(--kpi-ink)}.incident-kpi-pink{--kpi-bg: var(--pink-tint);--kpi-line: var(--pink-soft);--kpi-ink: var(--accent-dark)}.incident-kpi-sky{--kpi-bg: color-mix(in srgb, var(--sky-soft) 45%, var(--white));--kpi-line: var(--sky-soft);--kpi-ink: var(--sky-ink)}.incident-kpi-sun{--kpi-bg: color-mix(in srgb, var(--sun-soft) 45%, var(--white));--kpi-line: var(--sun-soft);--kpi-ink: var(--sun-ink)}.incident-kpi-icon{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:10px;background:var(--white);color:var(--kpi-ink)}.incident-kpi-text{display:grid;line-height:1.15}.incident-kpi-text b{font-size:1.75rem;font-weight:600}.incident-kpi-text small{color:var(--muted);font-size:.875rem}.incident-summary-action{display:flex;align-items:center}.incident-summary-action button{min-height:48px;padding:0 var(--space-5);white-space:nowrap}.incident-filter-card,.incident-list-card{display:grid;gap:var(--space-4);padding:var(--space-5) var(--space-6)}.incident-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);align-items:end}.incident-filter-card .form-combobox .filter-combobox-trigger,.incident-list-card .form-combobox .filter-combobox-trigger{min-height:44px;border-color:var(--line);background:var(--white);color:var(--ink)}.incident-mine{display:flex;align-items:center;gap:var(--space-2);min-height:44px;font-size:.875rem}.incident-mine input[type=checkbox]{flex:0 0 18px;width:18px;height:18px;min-height:0;margin:0;padding:0;border:0;box-shadow:none;accent-color:var(--accent)}.incident-filter-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-3) var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--line)}.incident-filter-actions{display:flex;gap:var(--space-2)}.incident-filter-actions button{min-height:44px;padding:0 var(--space-5)}.incident-list-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.incident-list-meta{display:flex;align-items:center;gap:var(--space-3);color:var(--muted);font-size:.875rem}.incident-list-card>.pagination{justify-content:flex-end;align-items:end;flex-wrap:wrap}.incident-list-card>.pagination .pagination-total{display:none}.incident-list-card>.pagination .pagination-controls{margin-left:0}.incident-list-card>.pagination .filter-combobox-popover{top:auto;bottom:calc(100% + .25rem)}.incident-table-wrap{overflow-x:auto;margin:0 calc(var(--space-6) * -1);padding:0 var(--space-6)}.incident-table{min-width:880px}.incident-table td{vertical-align:top}.incident-nowrap{white-space:nowrap}.incident-content{min-width:16rem;max-width:28rem}.incident-content a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--ink);font-weight:500;overflow-wrap:anywhere;text-decoration:none}.incident-content a:hover{color:var(--accent-dark)}.incident-content small{display:block;margin-top:var(--space-1);color:var(--muted)}.incident-view{color:var(--accent-dark);font-weight:500;text-decoration:none}.incident-view:hover{text-decoration:underline}.incident-empty{display:grid;justify-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);text-align:center}.incident-empty-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--pink-tint);color:var(--accent)}.incident-empty h3{margin:var(--space-2) 0 0;font-size:1.0625rem;font-weight:600}.incident-empty p{margin:0 0 var(--space-2);font-size:.875rem}.incident-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.incident-form-grid .incident-form-wide{grid-column:1 / -1}.incident-images{display:grid;gap:.5rem;margin:0;padding:0;border:0}.incident-images legend{padding:0;font-weight:600;font-size:.9rem}.incident-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.5rem}.incident-image-grid figure{display:grid;gap:.3rem;margin:0}.incident-image-grid img{width:100%;aspect-ratio:1;border-radius:10px;object-fit:cover;background:var(--surface-muted)}.incident-image-grid button{min-height:32px}.incident-detail{display:grid;gap:var(--space-4);align-content:start}.incident-detail-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.incident-detail-head h1{margin:0 var(--space-1) 0 0;font-size:1.375rem;font-weight:600;line-height:1.3}.incident-edit{display:inline-flex;align-items:center;gap:var(--space-2);min-height:36px;margin-left:auto;padding:var(--space-1) var(--space-3)}.incident-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4);margin:0}.incident-facts>div{display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:var(--space-3);align-items:center}.incident-fact-icon{display:grid;grid-row:span 2;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--pink-tint);color:var(--accent-dark)}.incident-facts dt{color:var(--muted);font-size:.75rem;font-weight:500}.incident-facts dd{margin:0;overflow-wrap:anywhere;font-weight:600}.incident-section{display:grid;gap:var(--space-3)}.incident-card-title{display:flex;align-items:center;gap:var(--space-2);margin:0;font-size:1rem;font-weight:600}.incident-card-title .app-icon{color:var(--accent)}.incident-description{margin:0;padding:var(--space-3) var(--space-4);border-radius:12px;background:var(--surface-muted);white-space:pre-wrap;overflow-wrap:anywhere}.incident-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.6rem}.incident-photos button{min-height:0;padding:0;border:0;background:transparent;box-shadow:none;transform:none}.incident-photos img{width:100%;aspect-ratio:4 / 3;border-radius:12px;object-fit:cover}.incident-preview-image{display:block;max-width:100%;max-height:75vh;margin:0 auto}.incident-timeline{display:grid;margin:0;padding:0;list-style:none}.incident-timeline li{position:relative;display:grid;gap:2px;padding:0 0 var(--space-4) var(--space-5)}.incident-timeline li:before{content:"";position:absolute;top:6px;left:0;width:10px;height:10px;border-radius:50%;background:var(--accent)}.incident-timeline li:not(:last-child):after{content:"";position:absolute;top:20px;bottom:2px;left:4px;width:2px;background:var(--line)}.incident-timeline li:last-child{padding-bottom:0}.incident-timeline-text{font-weight:500}.incident-timeline small{color:var(--muted)}.incident-timeline p{margin:var(--space-1) 0 0;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}.incident-handle-note{display:grid;gap:var(--space-2);font-size:.875rem;font-weight:500}.incident-handle-note textarea{width:100%;margin:0;resize:vertical}.incident-handle-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.incident-handle-actions button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px}@media(max-width:900px){.incident-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.incident-summary{flex-wrap:wrap}.incident-kpis{grid-template-columns:repeat(2,minmax(0,1fr));flex-basis:100%}.incident-summary-action{flex-basis:100%}.incident-summary-action button{width:100%}.incident-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.incident-form-grid,.incident-filter-grid{grid-template-columns:1fr}.incident-filter-card,.incident-list-card{padding:var(--space-4)}.incident-table-wrap{overflow:visible;margin:0;padding:0}.incident-table-wrap .incident-table{min-width:0}.incident-table thead{display:none}.incident-table tbody{display:grid;gap:var(--space-3)}.incident-table tbody tr{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2);padding:var(--space-3);border:1px solid var(--line);border-radius:12px}.incident-table tbody tr:after{content:"";flex-basis:100%;order:4}.incident-table-wrap .incident-table td{display:block;padding:0;border:0;background:none}.incident-table-wrap .incident-table tbody tr:hover>td{background:none}.incident-table .incident-content{order:1;flex-basis:100%;min-width:0;max-width:none;font-size:.875rem}.incident-table .incident-col-severity{order:2}.incident-table .incident-col-status{order:3}.incident-table :is(.incident-col-type,.incident-col-branch,.incident-col-reporter,.incident-col-time){color:var(--muted);font-size:.75rem}.incident-table .incident-col-type{order:5}.incident-table .incident-col-branch{order:6}.incident-table .incident-col-reporter{order:7}.incident-table .incident-col-time{order:8}.incident-table :is(.incident-col-branch,.incident-col-reporter,.incident-col-time):before{content:"· "}.incident-table-wrap .incident-table td:is(.incident-col-index,.incident-col-action,.incident-col-normal){display:none}.incident-filter-actions{width:100%}.incident-filter-actions button{flex:1}.incident-facts{grid-template-columns:1fr;gap:var(--space-3)}.incident-handle-actions button{flex:1 1 100%}}.row-menu{position:relative;flex-shrink:0}.row-menu-list{position:absolute;top:calc(100% + var(--space-1));right:0;z-index:30;display:grid;gap:2px;min-width:180px;padding:var(--space-1);border:1px solid var(--line);border-radius:14px;background:var(--white);box-shadow:0 12px 32px rgb(var(--shadow-rgb) / 14%)}.row-menu-list [role=menuitem]{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:38px;padding:var(--space-2);border-radius:10px;background:transparent;color:var(--ink);font-size:.875rem;font-weight:500;text-align:left;white-space:nowrap}.row-menu-list [role=menuitem]:hover:not(:disabled),.row-menu-list [role=menuitem]:focus-visible{background:var(--pink-soft);color:var(--accent-dark);transform:none}@media(max-width:768px){.row-menu-list [role=menuitem]{min-height:44px}}.row-menu-list [role=menuitem] .app-icon{color:var(--muted)}.row-menu-list .row-menu-danger,.row-menu-list .row-menu-danger .app-icon{color:var(--danger)}.periodic-page{min-width:0}.periodic-field{display:grid;gap:.25rem;min-width:0}.periodic-field>span{color:var(--muted);font-size:.75rem;font-weight:650}.periodic-field select{min-height:40px}.periodic-modal-period{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.periodic-category{display:grid;gap:var(--space-2);margin:0;padding:0;border:0}.periodic-category legend{padding:0;color:var(--muted);font-size:.75rem;font-weight:650}.periodic-category label{display:flex;align-items:center;gap:var(--space-2)}.periodic-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);min-width:0;margin-bottom:var(--space-4)}.periodic-toolbar .periodic-filters{flex:1 1 280px;min-width:0;max-width:520px}.periodic-toolbar .filter-search{flex:1 1 auto;min-width:0}.periodic-toolbar .filter-search input{width:100%}.periodic-toolbar .filter-more{flex:none}.periodic-toolbar .upload-button{flex:none;margin-left:auto}.periodic-page .list-row-title{display:block;min-width:0}.periodic-page .list-row-title .folder-row-open{display:-webkit-box;max-width:100%;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.periodic-page .list-rows{min-width:0}@media(max-width:767px){.periodic-page{padding-bottom:calc(160px + env(safe-area-inset-bottom))}.periodic-toolbar{position:relative}.periodic-toolbar .periodic-filters{flex:1 1 100%;max-width:none}.periodic-toolbar .filter-more-panel{right:0;left:0;width:auto}.periodic-toolbar .filter-more{position:static}}@media(max-width:620px){.periodic-page .list-row{grid-template-columns:37px minmax(0,1fr);grid-template-areas:"lead title" "lead tags" "lead actions"}.periodic-page .list-row-actions{margin:0 0 0 calc(-1 * var(--space-2));padding-top:var(--space-1)}}@media(max-width:720px){.periodic-field,.periodic-field select{width:100%}.periodic-modal-period{grid-template-columns:1fr}}.upload-page{display:grid;gap:var(--space-4);max-width:880px;align-content:start}.upload-page .card{display:grid;gap:var(--space-3)}.upload-page .card>h2{margin:0;font-size:1.125rem}.upload-fields{display:grid;gap:var(--space-3)}.upload-page .folder-deadline-notice,.upload-page p{margin:0}.upload-state.done{color:var(--success)}.upload-state.error{color:var(--danger, #991b1b)}.upload-state.uploading{color:var(--accent-dark)}.upload-progress .my-file-actions{flex:1 1 100%;flex-wrap:wrap;align-items:end;gap:var(--space-2)}.upload-title{display:grid;flex:1 1 240px;gap:4px;font-size:.875rem}.upload-submit{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-2)}.upload-path-note b{overflow-wrap:anywhere}.tk-note{margin:0 0 1rem}.tk-group{margin-bottom:1rem;padding:1rem 1.1rem}.tk-group>h3{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin:0 0 .5rem;font-size:1rem}.tk-group>h3 small{color:var(--muted);font-size:.8rem;font-weight:500}.tk-rows{display:grid;margin:0;padding:0;list-style:none}.tk-row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .9rem;padding:.55rem 0;border-top:1px solid var(--line)}.tk-row:first-child{border-top:0}.tk-person{display:flex;align-items:center;gap:.6rem;flex:1 1 15rem;min-width:0;margin:0;font-weight:400;cursor:pointer}.tk-person input[type=checkbox]{flex:none;width:1.15rem;height:1.15rem;margin:0}.tk-person>span{display:grid;min-width:0}.tk-person b{overflow-wrap:anywhere}.tk-person small{color:var(--muted);font-size:.78rem}.tk-row.is-absent .tk-person b{color:var(--accent-dark)}.tk-legend{flex-direction:column;align-items:flex-start;gap:.4rem;margin-bottom:1rem;padding:.65rem .85rem;border:1px solid color-mix(in srgb,var(--sun-ink) 25%,transparent);border-radius:10px;background:var(--sun-soft);color:var(--sun-ink);font-size:.85rem}.tk-legend .muted{color:var(--sun-ink)}.tk-legend li{align-items:center}.tk-legend .tk-sample{min-width:5.5rem}.tk-sample{display:inline-flex;align-items:center;gap:.3rem}.tk-box{display:inline-grid;place-items:center;width:1rem;height:1rem;border:1.5px solid var(--line-strong);border-radius:4px;background:var(--white);font-size:.7rem;font-weight:700;line-height:1}.tk-box.is-checked{border-color:var(--accent);background:var(--accent);color:var(--white)}.tk-legend .tk-state{margin-left:0}.tk-state{flex:none;margin-left:auto;padding:.1rem .55rem;border-radius:999px;background:var(--surface-muted);color:var(--muted);font-size:.75rem;font-weight:600}.tk-state.is-absent{background:var(--pink-tint);color:var(--accent-dark)}.tk-reason{flex:1 1 22rem;min-width:0;margin:0}.tk-reason .daily-reason-other{flex:2 1 12rem;display:flex;align-items:center;gap:.5rem;margin:0;color:var(--muted);font-size:.85rem;white-space:nowrap}.tk-reason .daily-reason-other input{flex:1;min-width:0}.tk-row .tk-reason .filter-combobox-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.tk-reason-text{color:var(--muted);font-size:.85rem}.tk-badges{display:inline-flex;flex-wrap:wrap;gap:.35rem}.tk-badge{padding:.1rem .5rem;border-radius:999px;background:var(--sun-soft);color:var(--sun-ink);font-size:.6875rem;font-weight:600;line-height:1.5;white-space:nowrap}.tk-badge-report{background:var(--surface-muted);color:var(--muted)}.tk-row-error{flex:1 1 100%;margin:0;font-size:.8rem}.tk-grid .tk-group-row th{position:sticky;left:0;padding:.45rem .6rem;background:var(--surface-muted);color:var(--accent-dark);font-size:.8rem;letter-spacing:.02em;text-align:left}.tk-grid .daily-sticky small{display:block;color:var(--muted);font-size:.68rem;font-weight:400}.tk-grid .daily-sticky{min-width:150px;max-width:220px;white-space:normal}.tk-grid td{padding:0}.tk-grid td.tk-total{padding:.35rem .5rem;font-weight:600}.tk-cell,.tk-cell:hover:not(:disabled){display:block;width:100%;min-width:30px;min-height:30px;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--accent-dark);font:inherit;font-weight:700;box-shadow:none;transform:none;cursor:pointer}.tk-cell:hover:not(:disabled){background:var(--pink-tint)}.tk-static{display:block;min-height:30px;padding:.35rem .3rem;color:var(--accent-dark);font-weight:700}.tk-grid td.daily-day-off .tk-static,.tk-grid td.daily-day-off .tk-cell{color:var(--muted)}.tk-grid td[title]:hover{cursor:help}.tk-grid td .tk-cell[title]:hover{cursor:pointer}.tk-modal-person{margin:0 0 .5rem;color:var(--muted)}.push-notice{position:fixed;right:1rem;bottom:calc(5.5rem + env(safe-area-inset-bottom));z-index:60;width:min(380px,calc(100vw - 2rem));max-height:65dvh;overflow-y:auto;padding:1rem;border:1px solid var(--line);border-radius:16px;background:var(--white);color:var(--ink);box-shadow:0 8px 32px rgb(var(--shadow-rgb) / 18%)}.push-notice h2{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1rem}.push-notice p{margin:.75rem 0;font-size:.875rem;line-height:1.6}.push-notice-actions{display:flex;flex-wrap:wrap;gap:.5rem}.push-notice-actions button{min-height:44px}
