:root{--bg:#0e1014;--surface:#161920;--surface-2:#1d212a;--surface-3:#252a35;--border:#272c37;--border-soft:#1f242e;--text:#e9ecf3;--muted:#98a1b3;--faint:#6b7488;--accent:#5b8cff;--danger:#ff6b6b;--ok:#3ecf8e;--radius:12px;--sidebar-w:236px}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%;scrollbar-color:var(--surface-3) transparent;scrollbar-width:thin;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,ui-sans-serif,system-ui,Segoe UI,Roboto,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent}:root{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--tabbar-h:49px;--tabbar-inset:max(env(safe-area-inset-bottom,0px),10px)}.qchip,.side-link,.tab,button{-webkit-user-select:none;-moz-user-select:none;user-select:none}a{color:inherit;text-decoration:none}.layout{overflow:hidden}.layout,.sidebar{display:flex;height:100%}.sidebar{width:var(--sidebar-w);flex:none;background:var(--surface);border-right:1px solid var(--border);flex-direction:column;padding:14px 12px;position:-webkit-sticky;position:sticky;top:0}.brand{display:flex;align-items:center;gap:10px;padding:6px 8px 20px}.brand-mark{width:26px;height:26px;border-radius:8px;flex:none;background:linear-gradient(140deg,var(--accent),#7c5bff)}.brand-name{font-weight:650;font-size:15px;letter-spacing:-.01em}.icon-btn.drawer-close{display:none;margin-left:auto}.side-nav{display:flex;flex-direction:column;gap:2px}.side-link{display:flex;align-items:center;gap:11px;padding:10px 11px;border-radius:9px;color:var(--muted);font-size:14px;font-weight:500;background:none;border:none;width:100%;text-align:left;cursor:pointer;transition:background .12s,color .12s}.side-link:hover{background:var(--surface-2);color:var(--text)}.side-link.active{background:var(--surface-3);color:var(--text)}.side-link.active svg{color:var(--accent)}.side-link.signout{margin-top:auto;color:var(--faint)}.scrim{display:none}.main{flex:1 1;min-width:0;min-height:0;display:flex;flex-direction:column}.page-head{display:flex;align-items:center;gap:12px;padding:22px 28px 16px;border-bottom:1px solid var(--border-soft);flex:none;background:rgba(14,16,20,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:20}.page-head h1{font-size:21px;margin:0;font-weight:620;letter-spacing:-.02em}.page-head .sub{color:var(--muted);font-size:13px;margin-top:2px}.page-body{padding:20px 28px 32px;flex:1 1;min-height:0;overflow-y:auto}.main.wide .page-body{padding:18px 22px 20px}.icon-btn{display:grid;place-items:center;width:34px;height:34px;flex:none;padding:0;border-radius:9px;background:transparent;border:1px solid transparent;color:var(--muted);cursor:pointer}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.menu-btn{display:none}@media (max-width:900px){.sidebar{position:fixed;left:0;top:0;bottom:0;z-index:60;transform:translateX(-100%);transition:transform .18s ease;height:100%}.sidebar.open{transform:none;box-shadow:0 0 40px rgba(0,0,0,.55)}.icon-btn.drawer-close,.menu-btn{display:grid}.scrim{display:block;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:55}.page-head{padding:16px 16px 14px}.main.wide .page-body,.page-body{padding:16px 16px 40px}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:14px}.card h2{margin:0 0 12px;font-size:12px;color:var(--faint);font-weight:600;text-transform:uppercase;letter-spacing:.08em}.row{display:flex;align-items:center;gap:10px}.grow{flex:1 1;min-width:0}.muted{color:var(--muted);font-size:13px}.stack{display:flex;flex-direction:column;gap:8px}button,input,select,textarea{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:9px;padding:10px 12px;width:100%}textarea{min-height:68px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}button{cursor:pointer}button.primary{background:var(--accent);border-color:var(--accent);color:#07101f;font-weight:640;display:inline-flex;align-items:center;justify-content:center;gap:6px}button.danger,button.ghost{background:transparent}button.danger{color:var(--danger);border-color:transparent}button.danger:hover{background:rgba(255,107,107,.1)}button.sm{width:auto;padding:7px 12px;font-size:13px;border-radius:8px}.fields{display:grid;grid-gap:10px;gap:10px}.fields .pair{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}label.field span{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.item{display:flex;align-items:flex-start;gap:11px;padding:10px 0;border-bottom:1px solid var(--border-soft)}.item:last-child{border-bottom:none}.item .title{font-size:14.5px;line-height:1.35}.item .sub{font-size:12.5px;color:var(--muted);margin-top:2px}.item.done .title{text-decoration:line-through;color:var(--faint)}.dot{width:9px;height:9px;border-radius:50%;flex:none;margin-top:6px}.check{width:24px;height:24px;flex:none;padding:0;border-radius:7px;border:1.5px solid var(--border);background:transparent;display:grid;place-items:center;color:transparent;transition:all .12s}.check:hover{border-color:var(--ok);color:var(--faint)}.check.on{background:var(--ok);border-color:var(--ok);color:#06301f}.pill{display:inline-block;font-size:11px;padding:2px 8px;border-radius:999px;background:var(--surface-2);color:var(--muted);border:1px solid var(--border);white-space:nowrap}.pill.late{color:var(--danger);border-color:rgba(255,107,107,.35);background:rgba(255,107,107,.08)}.empty{color:var(--faint);font-size:13.5px;padding:14px 2px;text-align:center}.tabs{display:flex;gap:6px;margin-bottom:14px;overflow-x:auto}.tabs button{width:auto;white-space:nowrap;padding:7px 14px;font-size:13px;border-radius:999px;background:var(--surface)}.tabs button[data-on="1"]{background:var(--accent);border-color:var(--accent);color:#07101f;font-weight:600}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:9px 10px;word-break:break-all}.error{color:var(--danger);font-size:13px;margin-top:10px}.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:200;display:flex;align-items:center;gap:10px;max-width:min(560px,calc(100vw - 32px));padding:11px 10px 11px 15px;border-radius:11px;background:#2a1a1e;border:1px solid rgba(255,107,107,.4);color:#ffd9d9;font-size:13.5px;box-shadow:0 10px 34px rgba(0,0,0,.5)}.toast .icon-btn{color:#ffd9d9;width:28px;height:28px}.toast .icon-btn:hover{background:rgba(255,255,255,.08)}.cal-head{display:flex;align-items:center;gap:8px;margin-bottom:12px}.cal-title{font-size:17px;font-weight:620;letter-spacing:-.01em}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--border-soft);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;grid-gap:1px;gap:1px}.cal-dow{padding:9px 8px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);text-align:center}.cal-cell,.cal-dow{background:var(--surface)}.cal-cell{min-height:108px;padding:7px 7px 8px;display:flex;flex-direction:column;gap:3px}.cal-cell.clickable{cursor:pointer;transition:background .1s}.cal-cell.clickable:hover{background:#1b1f29}.cal-cell.out{background:#12141a}.cal-cell.out.clickable:hover{background:#171a22}.cal-cell.out .cal-num{color:#4a5265}.cal-num{font-size:12.5px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-bottom:2px;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%}.cal-cell.today .cal-num{background:var(--accent);color:#07101f;font-weight:650}.chip{display:flex;align-items:center;gap:5px;font-size:11.5px;line-height:1.25;padding:2.5px 5px;border-radius:5px;background:var(--surface-2);border-left:2.5px solid;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.chip.chip-edit{cursor:pointer}.chip.chip-edit:hover{background:var(--surface-3);filter:brightness(1.25)}.chip .chip-time{color:var(--faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex:none}.chip .chip-text{overflow:hidden;text-overflow:ellipsis}.chip-more{font-size:11px;color:var(--faint);padding-left:5px}@media (max-width:760px){.cal-cell{min-height:74px;padding:4px}.chip{font-size:10px;padding:2px 4px}.chip .chip-time{display:none}.cal-dow{font-size:10px;padding:7px 2px}}.home-split{display:grid;grid-template-columns:minmax(320px,400px) minmax(0,1fr);grid-gap:14px;gap:14px;align-items:stretch;height:100%;min-height:480px}@media (max-width:1000px){.home-split{grid-template-columns:minmax(0,1fr)}}.week{display:flex;flex-direction:column;gap:8px;height:100%;overflow-y:auto;padding-right:6px}@media (max-width:1000px){.week{position:static;max-height:none;overflow:visible}}.wday{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 13px 11px}.wday.bare{padding:6px 13px;background:transparent;border-color:var(--border-soft)}.wday.bare .wday-head{margin-bottom:0}.wday.bare .wday-label{font-size:12.5px;font-weight:500;color:var(--muted)}.wday-free{font-size:11px;color:var(--faint);margin-left:auto}.wday.today{border-color:rgba(91,140,255,.5);background:#171b26}.wday-head{display:flex;align-items:baseline;gap:8px;margin-bottom:8px;width:100%}.wday-label{font-size:13.5px;font-weight:640;letter-spacing:-.01em}.wday.today .wday-label{color:var(--accent)}.wday-date{font-size:11.5px;color:var(--faint)}.wday-empty{font-size:12.5px;color:var(--faint);padding:3px 0}.wrow{display:flex;align-items:baseline;gap:8px;padding:6px 0;border-top:1px solid var(--border-soft);font-size:13.5px}.wrow:first-of-type{border-top:none}.wtime{flex:none;min-width:62px;font-size:12px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.wbar{flex:none;width:3px;align-self:stretch;border-radius:2px}.wtext{flex:1 1;min-width:0;line-height:1.35}.wmeta{color:var(--faint);font-size:12.5px}.blocks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px;height:100%;min-height:0}@media (max-width:820px){.blocks{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-auto-rows:minmax(240px,auto)}.blocks,.home-split,.week{height:auto}.week{max-height:60dvh}}.blocks>.mblock{max-width:none;height:100%;min-height:0}.blocks .mblock-body{overflow-y:auto;scrollbar-width:thin;flex:1 1}.mblock{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;min-width:0}.mblock-head{display:flex;align-items:center;gap:9px;padding:12px 14px;border-bottom:1px solid var(--border-soft);border-top:3px solid}.mblock-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:15px;font-weight:700;color:#0a0d13;flex:none}.mblock-name{font-size:16.5px;font-weight:620}.mblock-meta{font-size:12.5px;color:var(--faint)}.mblock-body{padding:6px 18px 16px}.mblock-section{margin-top:14px}.mblock-section h4{margin:0 0 7px;font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--faint);font-weight:600;gap:6px}.mblock-section h4,.mrow{display:flex;align-items:center}.mrow{gap:9px;padding:7px 0;font-size:15px}.mrow .mtime{font-size:12.5px;color:var(--faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex:none;min-width:54px}.mrow .mtext{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mblock-cols .mrow{align-items:flex-start}.mblock-cols .mrow .mtext{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.3}.mblock-cols .mrow .check{margin-top:1px}.mblock-cols .mrow .pill{align-self:flex-start;margin-top:1px}.mrow.late .mtext{color:#ffb3b3}.mblock-cols .mrow.late{box-shadow:inset 2px 0 0 var(--danger,#ff6b6b);padding-left:8px;border-radius:4px;background:rgba(255,107,107,.06)}.mrow.late .pill{border-color:rgba(255,107,107,.45);color:#ffb3b3}.mblock-empty{font-size:13.5px;color:var(--faint);padding:3px 0 5px}.right{margin-left:auto}.toggle-row{display:flex;align-items:center;gap:10px;margin:4px 0 2px;font-size:14px;cursor:pointer}.toggle-row input[type=checkbox]{width:17px;height:17px;margin:0;flex:none;accent-color:var(--accent,#5b8cff);cursor:pointer}.toggle-row input:disabled{cursor:not-allowed;opacity:.45}.toggle-row input:disabled+span{opacity:.5}.hint{margin:0 0 4px 27px;font-size:12.5px;line-height:1.45;opacity:.6}.login-wrap{min-height:100%;display:grid;place-items:center;padding:calc(24px + var(--safe-top)) calc(24px + var(--safe-right)) calc(24px + var(--safe-bottom)) calc(24px + var(--safe-left))}.login-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:26px 22px}.login-card h1{margin:0 0 6px;font-size:22px}.login-card form{display:grid;grid-gap:10px;gap:10px;margin-top:12px}.login-card .back{margin-bottom:8px}.login-card .err{color:var(--danger,#ff6b6b);font-size:13.5px;margin:12px 0 0}.who-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));grid-gap:10px;gap:10px;margin-top:14px}.who{display:grid;justify-items:center;grid-gap:8px;gap:8px;padding:14px 6px;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;font-size:14px;cursor:pointer}.who:hover:not(:disabled){background:var(--surface-3)}.who:disabled{opacity:.4;cursor:not-allowed}.who .avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:600;color:#fff}.member-row{border-bottom:1px solid var(--border-soft)}.member-row:last-child{border-bottom:none}.member-row .chev{color:var(--faint);font-size:13px;padding:0 4px}.member-body{padding:4px 2px 16px 30px;display:grid;grid-gap:10px;gap:10px}.subhead{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:4px 0 0}.rule{border:none;border-top:1px solid var(--border-soft);margin:6px 0}.pill.admin{margin-left:8px;font-size:10.5px;background:var(--surface-3);color:var(--muted)}.proposals{max-height:380px;overflow-y:auto;border:1px solid var(--border-soft);border-radius:10px;padding:4px}.prow{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:8px;opacity:.45}.prow.on{opacity:1;background:var(--surface-2)}.prow .pdate{width:145px;flex:none}.prow .ptitle{flex:1 1;min-width:80px}.prow select{width:130px;flex:none}.prow input,.prow select{font-size:13px;padding:5px 7px}.prow input[type=checkbox]{width:16px;height:16px;flex:none;padding:0;accent-color:var(--accent,#4f7cff)}.quickadd{display:grid;grid-gap:2px;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px 12px 10px}.quickadd .qdesc,.quickadd .qtitle{background:transparent;border:none;outline:none;width:100%;box-sizing:border-box;padding:2px 2px 4px}.quickadd .qtitle{font-size:15.5px;font-weight:600}.quickadd .qdesc{font-size:13px;color:var(--muted);margin-bottom:8px}.qchips{display:flex;flex-wrap:wrap;gap:6px}.qchip{width:auto;flex:none;display:inline-flex;align-items:center;gap:5px;font-size:12.5px;padding:4px 10px;border-radius:8px;background:transparent;border:1px solid var(--border);color:var(--muted);cursor:pointer;white-space:nowrap}.qchip:hover{background:var(--surface-2)}.qchip.on{color:var(--text)}.qpanel{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px;padding:10px;background:var(--surface-2);border:1px solid var(--border-soft);border-radius:10px}.qpanel.col{display:grid;grid-gap:10px;gap:10px}.qpanel input[type=date],.qpanel input[type=datetime-local],.qpanel input[type=number]{width:auto}.qgroup{display:grid;grid-gap:5px;gap:5px}.qgroup-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--faint)}.qopts{display:flex;flex-wrap:wrap;gap:6px}.qopt{width:auto;flex:none;display:inline-flex;align-items:center;gap:7px;font-size:13px;padding:6px 11px;border-radius:8px;background:var(--surface-3);border:1px solid transparent;cursor:pointer}.qopt.on{border-color:var(--accent,#4f7cff)}.item>.dot,.qopt .dot{width:9px;height:9px;border-radius:50%;flex:none}.qactions{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border-soft)}.qcancel{width:32px;height:32px;flex:none;border-radius:8px;background:transparent;border:none;color:var(--muted);font-size:15px;display:grid;place-items:center}.qcancel:hover{background:var(--surface-2);color:var(--text)}.qsubmit{width:34px;height:34px;flex:none;border-radius:10px;border:none;background:var(--accent,#4f7cff);color:#07101f;font-size:16px;font-weight:700;display:grid;place-items:center}.qsubmit:disabled{opacity:.4;cursor:not-allowed}.hwrow{display:flex;align-items:flex-start;gap:10px;padding:9px 2px;border-bottom:1px solid var(--border-soft);flex-wrap:wrap}.hwrow:last-child{border-bottom:none}.hwrow .title{font-size:14.5px;line-height:1.35}.hwrow .sub{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);margin-top:3px}.hwrow .tag{font-size:11px;padding:2px 8px;border-radius:999px;color:#fff}.hwrow .who-sm{font-size:11.5px;opacity:.8}.hwrow .when.soon{color:var(--accent,#4f7cff)}.hwrow .when.late{color:#e5484d;font-weight:500}.hw-detail{flex-basis:100%;display:grid;grid-gap:8px;gap:8px;padding:10px 0 4px 30px}.hw-detail .notes{margin:0;font-size:13.5px;color:var(--muted);white-space:pre-wrap}.hw-detail .files{display:grid;grid-gap:4px;gap:4px}.hw-detail .file{font-size:13px;color:var(--text);text-decoration:none}.hw-detail .file:hover{text-decoration:underline}.hw-detail .upload{cursor:pointer;justify-self:start}.hw-edit{padding:8px 0}h2 .count{font-size:12px;color:var(--faint);font-weight:400;margin-left:6px}.admin-tabs{position:-webkit-sticky;position:sticky;top:-20px;z-index:5;background:var(--bg);padding:20px 0 10px;margin-top:-20px;margin-bottom:4px}a.mblock-head{text-decoration:none;color:inherit}a.mblock-head:hover{background:var(--surface-2)}.mblock-go{padding-right:2px}.board{padding-bottom:10px}.bcol{min-width:300px;gap:8px}.bcol-head{align-items:center;padding:0 2px}.bdot{width:9px;height:9px;border-radius:50%;flex:none}.bname{font-size:14px;font-weight:640;letter-spacing:-.01em}.bcount{font-size:12px}.bcount,.bteacher{color:var(--faint)}.bteacher{font-size:11.5px;padding:0 2px 2px 19px}.bcards{display:flex;flex-direction:column;gap:7px}.bcard{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 11px}.bcard.done{opacity:.5}.bcard.done .btitle{text-decoration:line-through}.bcard.late{border-color:rgba(255,107,107,.4);background:rgba(255,107,107,.07);box-shadow:inset 3px 0 0 var(--danger,#ff6b6b)}.bcard.late .btitle{color:#ffd9d9}.bcard.done.late{border-color:var(--border);background:var(--surface);box-shadow:none}.bcard.done.late .btitle{color:inherit}.btitle{font-size:14px;line-height:1.35}.bmeta{display:flex;gap:9px;flex-wrap:wrap;font-size:11.5px;color:var(--muted);margin-top:4px}.bmeta .when.soon{color:var(--accent,#4f7cff)}.bmeta .when.late{color:#e5484d;font-weight:500}.bx{background:none;border:none;color:var(--faint);cursor:pointer;padding:2px;opacity:0;transition:opacity .12s}.bcard:hover .bx{opacity:1}.badd{display:flex;align-items:center;gap:7px;background:none;border:1px dashed var(--border);border-radius:10px;color:var(--muted);font-size:13px;padding:9px 11px;cursor:pointer}.badd:hover{color:var(--text)}.badd:hover,.bcard.adding{border-color:var(--accent,#4f7cff)}.binput{width:100%;background:transparent;border:none;font-size:14px;padding:0;box-sizing:border-box}.binput:focus{outline:none}.brow{display:flex;gap:6px;margin-top:8px}.brow.end{justify-content:flex-end}.brow input,.brow select{font-size:12.5px;padding:5px 7px}.chore-strip{display:flex;flex-direction:column;gap:0}.chore-pill{gap:8px;padding:8px 14px 8px 10px;font-size:13.5px}.chore-pill .box{width:16px;height:16px;border-radius:5px;border:1.5px solid var(--border);display:grid;place-items:center;flex:none}.chore-pill.done{opacity:.5;text-decoration:line-through}.chore-pill.done .box{background:var(--ok,#30a46c);border-color:var(--ok,#30a46c)}.mblock-head{text-decoration:none;color:inherit}.mblock-head:hover{background:var(--surface-2)}.mblock-go{color:var(--faint);font-size:20px;line-height:1;flex:none}.mblock-head:hover .mblock-go{color:var(--accent,#5b8cff)}.board{display:flex;gap:14px;align-items:flex-start;overflow-x:auto;padding-bottom:12px}.bcol{flex:0 0 300px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;min-height:130px}.bcol.ghost-col{background:transparent;border-style:dashed;padding:14px;flex:0 0 250px}.bcol-head{display:flex;align-items:baseline;gap:8px;padding:11px 13px;border-top:3px solid;border-bottom:1px solid var(--border-soft);border-radius:var(--radius) var(--radius) 0 0}.bcol-name{font-size:14px;font-weight:640}.bcol-count{font-size:11.5px;color:var(--faint);margin-left:auto}.bcol-body{padding:8px;display:grid;grid-gap:6px;gap:6px}.bcard{display:flex;align-items:flex-start;gap:9px;padding:9px 10px;background:var(--surface-2);border:1px solid var(--border-soft);border-radius:9px}.bcard.editing{display:block;background:var(--surface-3)}.bcard .grow{cursor:pointer}.bcard-title{font-size:13.5px;line-height:1.35}.bcard-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:11.5px;color:var(--faint);margin-top:4px}.bcard-meta .soon{color:var(--accent,#5b8cff)}.bcard-meta .late{color:#e5484d}.bcol-add{background:transparent;border:none;color:var(--muted);font-size:13px;text-align:left;padding:7px 8px;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:6px}.bcol-add:hover{background:var(--surface-2);color:var(--text)}.chore-strip h4{margin:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--faint)}.chore-pill{display:inline-flex;align-items:center;gap:7px;font-size:13px;padding:7px 12px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);cursor:pointer}.chore-pill:hover{border-color:var(--ok,#46a758);color:var(--text)}.side-heading{font-size:10.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--faint);padding:14px 14px 6px}.side-nav.people{margin-top:2px}.side-avatar{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;color:#0a0d13;flex:none}.board-empty{text-align:center;padding:34px 20px}.board-empty h3{margin:0 0 6px;font-size:17px}.board-empty p{max-width:420px;margin:0 auto 14px}.board-empty .primary{display:inline-flex;align-items:center;gap:6px}.mblock-quiet{margin-top:auto;padding-top:12px;font-size:12px;color:var(--faint)}.bcol-rename{width:auto;flex:1 1;min-width:0;font-size:14px;font-weight:640;padding:2px 6px;background:var(--surface-2);border:1px solid var(--accent,#4f7cff);border-radius:6px}.bcol-x{width:22px;height:22px;flex:none;display:grid;place-items:center;border:none;background:transparent;color:var(--faint);border-radius:6px;opacity:0}.bcol-head:hover .bcol-x{opacity:1}.bcol-x:hover{background:var(--surface-3)}.bcol-x:hover,.qdelete{color:var(--danger,#ff6b6b)}.qdelete{width:auto;flex:none;background:transparent;border:none;font-size:13px;padding:6px 8px;border-radius:8px}.qdelete:hover{background:rgba(255,107,107,.1)}.sd-kind{flex:none;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;border-radius:6px;background:var(--surface-3);color:var(--muted)}.sd-kind.k-no_school{background:rgba(229,72,77,.15);color:#ff8a8e}.sd-kind.k-early_dismissal{background:rgba(245,165,36,.15);color:#f5c26b}.sd-kind.k-holiday{background:rgba(62,207,142,.14);color:#6fdcae}.sd-kind.k-term{background:rgba(79,124,255,.16);color:#8fb0ff}.sd-edit{display:grid;grid-gap:10px;gap:10px;padding:8px 0}.sd-edit input[type=date]{width:auto}.ok-msg{color:var(--ok,#3ecf8e);font-size:13.5px;margin:4px 0 8px}.mail-toolbar{justify-content:space-between;padding-bottom:8px;margin-bottom:4px}.mail-row,.mail-toolbar{border-bottom:1px solid var(--border-soft)}.mail-row{display:flex;align-items:center;gap:10px;padding:9px 2px}.mail-row:last-child{border-bottom:none}.mail-row input[type=checkbox]{width:16px;height:16px;flex:none;padding:0;accent-color:var(--accent,#4f7cff)}.mail-top{display:flex;justify-content:space-between;gap:10px}.mail-from{font-size:13.5px;color:var(--muted);display:inline-flex;align-items:center;gap:7px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-row.unread .mail-from{color:var(--text);font-weight:600}.unread-dot{width:7px;height:7px;border-radius:50%;background:var(--accent,#4f7cff);flex:none}.mail-date{font-size:12px;color:var(--faint);flex:none}.mail-subject{font-size:14px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-row.unread .mail-subject{font-weight:550}.mail-size{font-size:11.5px;color:var(--faint);flex:none}.folder-grid{display:flex;flex-wrap:wrap;gap:6px}.conn-status{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.45}.conn-dot{width:8px;height:8px;border-radius:50%;background:var(--ok,#3ecf8e);margin-top:5px;flex:none}.conn-sub{color:var(--faint);font-size:12px;margin-top:2px}.maint-row{flex-wrap:wrap}.maint-disconnect{margin-left:auto}.signout-row{display:flex;justify-content:flex-start;padding:18px 2px 6px}.signout-row button{width:auto}.school-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px;align-items:start}.school-main{min-width:0}@media (max-width:900px){.school-split{grid-template-columns:minmax(0,1fr)}}.mail-split{display:grid;grid-template-columns:minmax(320px,440px) minmax(0,1fr);grid-gap:14px;gap:14px;align-items:stretch;height:calc(100% - 4px);min-height:420px}.mail-split.with-nav{grid-template-columns:190px minmax(280px,400px) minmax(0,1fr)}.mail-nav{display:flex;flex-direction:column;gap:4px;padding:10px 8px;overflow-y:auto;min-height:0}.mail-nav-item{width:100%;display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:9px;background:transparent;border:none;color:var(--muted);font-size:13.5px;text-align:left}.mail-nav-item .grow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-nav-item.active,.mail-nav-item:hover{background:var(--surface-2)}.mail-nav-item.active{color:var(--text);font-weight:600}.mail-list{overflow-y:auto;min-height:0}.mail-row.open{background:var(--surface-2);border-radius:8px}.mail-pane{display:flex;flex-direction:column;min-height:0;overflow:hidden}.mail-pane-head{flex:none;border-bottom:1px solid var(--border-soft);padding-bottom:10px}.mail-pane-head h3{margin:0 0 6px;font-size:16px;line-height:1.35}.mail-pane-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12.5px;color:var(--muted)}.mail-pane-to{font-size:12px;color:var(--faint);margin-top:3px}.mail-pane-att{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.mail-body{flex:1 1;width:100%;border:none;border-radius:8px;background:#fff;margin-top:10px;min-height:0}.mail-body-text{flex:1 1;overflow-y:auto;margin:10px 0 0;font:13.5px/1.5 ui-monospace,monospace;white-space:pre-wrap;color:var(--text)}@media (min-width:821px) and (max-width:1200px){.mail-split,.mail-split.with-nav{grid-template-columns:minmax(220px,260px) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.mail-nav{grid-column:1/-1;flex-direction:row;overflow-x:auto;gap:6px;padding:8px}.mail-nav-item{width:auto;flex:none;padding:7px 12px}.mail-row{font-size:13px}.mail-size{display:none}}.mail-back{display:none}@media (max-width:820px){.mail-split,.mail-split.with-nav{display:block;height:auto}.mail-nav{flex-direction:row;overflow-x:auto;margin-bottom:10px}.mail-nav-item{width:auto;flex:none}.mail-list{max-height:none}.mail-split.reading .mail-list,.mail-split.reading .mail-nav,.mail-split:not(.reading) .mail-pane{display:none}.mail-split.reading .mail-pane{display:flex;min-height:calc(100dvh - 200px)}.mail-back{display:inline-flex;align-items:center;align-self:flex-start;gap:2px;margin:-4px 0 8px -4px;padding:6px 10px 6px 6px;border:none;background:none;color:var(--accent);font-size:15px;font-weight:500;width:auto}.mail-row{padding:11px 2px}.mail-subject{white-space:normal}}.kidmail{margin-top:14px;max-width:720px}.kidmail .mail-row:hover{background:var(--surface-2);border-radius:8px}.mail-badge{gap:3px;margin-left:8px;padding:1.5px 8px;border-radius:999px;font-size:11px;font-weight:650;background:var(--accent,#4f7cff);color:#07101f;vertical-align:2px}.att-link,.mail-badge{display:inline-flex;align-items:center}.att-link{gap:6px;text-decoration:none;color:var(--text);border:1px solid var(--border);transition:background .12s ease}.att-link:hover{background:var(--surface-2)}.att-size{color:var(--faint);font-size:11px}.mblock-cols{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);grid-gap:6px 20px;gap:6px 20px;align-items:start}.mblock-cols .mblock-section{margin-top:12px}.mcol-right{display:flex;flex-direction:column;min-width:0}.mcol-right .mblock-section:first-child{margin-top:12px}.mblock-cols>:only-child{grid-column:1/-1}.mcol-right:empty{display:none}.mblock-cols:has(.mcol-right:empty){grid-template-columns:minmax(0,1fr)}@media (max-width:1200px){.mblock-cols{grid-template-columns:minmax(0,1fr)}}.mail-readby{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}.readby-chip{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;color:var(--faint);background:var(--surface-2);border-radius:999px;padding:1.5px 7px}.readby-dot{width:6px;height:6px;border-radius:50%;flex:none}.tabbar{display:none}@media (max-width:820px){.layout{height:100%;flex-direction:column}.main{min-height:0;flex:1 1}.page-head{padding:10px 16px 10px calc(16px + var(--safe-left));padding-top:calc(10px + var(--safe-top))}.page-head h1{font-size:26px;letter-spacing:-.02em}.page-head .sub{font-size:13px}.menu-btn{display:none}.main.wide .page-body,.page-body{padding:14px 16px 20px;padding-left:calc(16px + var(--safe-left));padding-right:calc(16px + var(--safe-right));padding-bottom:calc(var(--tabbar-h) + var(--tabbar-inset) + 16px);-webkit-overflow-scrolling:touch}.page-body{scroll-padding-bottom:calc(var(--tabbar-h) + var(--tabbar-inset))}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;justify-content:space-around;align-items:stretch;height:calc(var(--tabbar-h) + var(--tabbar-inset));padding-bottom:var(--tabbar-inset);background:rgba(20,24,31,.62);backdrop-filter:saturate(200%) blur(24px);-webkit-backdrop-filter:saturate(200%) blur(24px);border-top:1px solid rgba(255,255,255,.09)}@supports not (((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px))){.tabbar{background:rgba(20,24,31,.97)}}.tab{flex:1 1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:4px 0 0;background:none;border:none;color:var(--faint);font-size:10.5px;font-weight:500;width:auto}.tab.active{color:var(--accent)}.tab span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar{padding-top:calc(12px + var(--safe-top));padding-bottom:calc(12px + var(--safe-bottom))}.mail-nav-item,.qopt,.side-link{min-height:44px}.icon-btn,button.sm{min-height:38px}.check{width:26px;height:26px}input,select,textarea{font-size:16px;min-height:42px}.card{padding:14px;border-radius:14px}.week{display:none}.blocks,.home-split,.mail-split,.mail-split.with-nav,.mblock-cols,.school-split{grid-template-columns:minmax(0,1fr);height:auto}.home-split{min-height:0}.blocks{grid-auto-rows:auto}.mblock-body{overflow:visible}.mail-nav{flex-direction:row;overflow-x:auto;padding:8px;gap:6px}.mail-nav-item{width:auto;flex:none;padding:8px 12px}.mail-list{max-height:none}.mail-pane{min-height:60dvh}.board,.mail-list,.mail-pane{scroll-padding-bottom:var(--tabbar-h)}.board{flex-direction:column;overflow-x:visible;gap:12px;padding-bottom:0}.bcol{flex:none;width:100%;min-width:0}.bcol.ghost-col{flex:none;width:100%;min-height:0;padding:14px}.qchips{gap:6px}.toast{left:12px;right:12px;bottom:calc(var(--tabbar-h) + var(--tabbar-inset) + 12px)}body,html{overflow:hidden}}@media (display-mode:standalone){.page-head{padding-top:calc(12px + var(--safe-top))}}@media (max-height:480px) and (orientation:landscape){.page-head h1{font-size:20px}.page-head{padding-top:calc(6px + var(--safe-top));padding-bottom:6px}}.cal-agenda{display:flex;flex-direction:column;gap:10px}.agenda-day{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden}.agenda-day.today{border-color:var(--accent)}.agenda-day>header{display:flex;align-items:center;gap:8px;padding:9px 13px;border-bottom:1px solid var(--border-soft);color:var(--muted);font-size:12.5px}.agenda-dow{text-transform:uppercase;letter-spacing:.06em;font-size:11px}.agenda-num{font-size:16px;font-weight:650;color:var(--text)}.agenda-today{font-size:10.5px;font-weight:650;color:var(--accent);text-transform:uppercase;letter-spacing:.05em}.agenda-day>header svg{margin-left:auto;color:var(--faint)}.agenda-row{display:flex;gap:10px;align-items:baseline;padding:10px 13px;border-left:3px solid transparent;border-bottom:1px solid var(--border-soft);min-height:44px}.agenda-row:last-child{border-bottom:none}.agenda-time{font-size:12px;color:var(--faint);flex:none;min-width:62px}.agenda-text{font-size:14px;line-height:1.35}.install-hint{display:none;align-items:center;gap:10px;margin-bottom:12px;padding:10px 12px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border);font-size:13px;color:var(--muted);line-height:1.4}.install-hint strong{color:var(--text)}@media (max-width:820px){.install-hint{display:flex}}.build-stamp{font:11px/1.4 ui-monospace,monospace;color:var(--faint);padding:14px 2px 0}.side-nav.links{margin-top:2px}.side-nav.links .side-link{text-decoration:none}.subj-chip{display:inline-block;margin-right:7px;padding:1px 7px;border:1px solid var(--border);border-radius:6px;font-size:10.5px;font-weight:700;letter-spacing:.03em;color:var(--muted);vertical-align:1px;white-space:nowrap}.dk-group,.subj-chip{text-transform:uppercase}.dk-group{margin:20px 0 4px;font-size:13px;letter-spacing:.06em;opacity:.55}.dk-group:first-of-type{margin-top:6px}.dk-opts{margin:6px 0 2px;font-size:13px;color:var(--muted)}.dk-opts summary{cursor:pointer;padding:4px 0}.dk-opts ul{margin:6px 0 0;padding-left:18px;display:grid;grid-gap:5px;gap:5px}.dk-opts code{background:var(--surface-2);padding:1px 5px;border-radius:5px;font-size:12px;word-break:break-all}.dk-rotate{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px;padding-top:14px;border-top:1px solid var(--border-soft)}.dk-rotate .muted{font-size:12px}.reply-box{flex:1 1;min-height:0;display:flex;flex-direction:column;gap:8px;margin-top:10px;overflow-y:auto}.reply-box .field span{display:flex;align-items:center;gap:8px}.reply-text{flex:1 1;min-height:180px;resize:vertical;font:13.5px/1.5 ui-monospace,monospace}.link-btn{width:auto;padding:0;border:none;background:none;color:var(--danger,#ff6b6b);font-size:11.5px;text-decoration:underline;cursor:pointer}.relay-note{margin:-2px 0 0;font-size:12px;line-height:1.45;padding:7px 9px;border-left:2px solid var(--border);background:var(--surface-2);border-radius:0 8px 8px 0}.kbd-hint{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:14px;font-size:11.5px;color:var(--faint)}.kbd-hint kbd{display:inline-block;min-width:17px;margin-right:3px;padding:1px 5px;border:solid var(--border);border-width:1px 1px 2px;border-radius:5px;background:var(--surface-2);font:inherit}.kbd-hint kbd,.rail-badge{font-size:11px;text-align:center}.rail-badge{flex:none;min-width:18px;padding:1px 6px;border-radius:999px;background:var(--accent,#4f7cff);color:#07101f;font-weight:700;line-height:1.5}.mail-nav-item.active .rail-badge,.side-link.active .rail-badge{background:var(--text);color:var(--surface)}.act-list{display:grid;grid-gap:1px;gap:1px;margin-top:4px}.act-row{display:flex;align-items:baseline;gap:10px;padding:8px 2px;border-bottom:1px solid var(--border-soft);font-size:13.5px}.act-row:last-child{border-bottom:none}.act-dot{width:8px;height:8px;border-radius:50%;flex:none;transform:translateY(-1px)}.act-line{line-height:1.4}.act-subject{color:var(--muted)}.act-detail{margin-top:2px}.act-detail,.act-when{font-size:12px;color:var(--faint)}.act-when{flex:none}.act-day{margin:14px 0 4px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.act-list>div:first-child .act-day{margin-top:2px}.act-time{width:64px;font:11.5px/1.6 ui-monospace,monospace}.act-kind,.act-time{flex:none;color:var(--faint)}.act-kind{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:1px 7px;border-radius:5px;background:var(--surface-2)}.act-kind.k-chore{color:#6fdcae}.act-kind.k-school{color:#8fb0ff}.act-kind.k-mail{color:#f5c26b}.act-kind.k-account{color:#c2a6ff}.mail-skeleton{padding:4px 0}.sk-row{display:flex;flex-direction:column;gap:6px;padding:11px 2px;border-bottom:1px solid var(--border-soft)}.sk-line{height:9px;border-radius:5px;background:linear-gradient(90deg,var(--surface-2) 0,var(--surface-3) 50%,var(--surface-2) 100%);background-size:200% 100%;animation:sk-shimmer 1.4s ease-in-out infinite}.sk-from{width:34%}.sk-subject{width:72%;height:11px}@keyframes sk-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.sk-line{animation:none}}.mail-actions{gap:6px;flex-wrap:wrap;justify-content:flex-end}.menu-wrap{position:relative}.menu{position:absolute;right:0;top:calc(100% + 6px);z-index:60;min-width:220px;padding:6px;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.45)}.menu-head{padding:6px 9px 8px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--faint)}.menu-item{width:100%;display:flex;align-items:center;gap:9px;padding:8px 9px;border:none;background:none;border-radius:8px;color:var(--text);font-size:14px;text-align:left;cursor:pointer}.menu-item:hover{background:var(--surface-3)}.menu-path{flex:none;font-size:11.5px;color:var(--faint)}.kid-page{display:grid;grid-template-columns:320px minmax(0,1fr);grid-gap:16px;gap:16px;align-items:start}.kid-rail{display:flex;flex-direction:column;gap:12px;position:-webkit-sticky;position:sticky;top:0}.kid-rail>.card{margin:0;width:100%;min-width:0}.kid-rail .workpie{width:100%;min-width:0;padding:14px 16px;gap:16px}.kid-rail .workpie svg{flex:none}.kid-rail .reminders,.kid-rail .wp-legend,.kid-work{min-width:0}.kid-work{display:flex;flex-direction:column;gap:14px}.kid-work .board{margin:0}.kid-work .documents{margin-top:0}@media (max-width:1100px){.kid-page{grid-template-columns:minmax(0,1fr)}.kid-rail{position:static}}.chore-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:6px;gap:6px;align-content:start}.chore-grid .chore-pill{width:100%;justify-content:flex-start}@media (max-width:1100px){.board-top{grid-template-columns:minmax(0,1fr)}}@media (max-width:700px){.chore-grid{grid-template-columns:minmax(0,1fr)}}.wp-total{font-size:26px;font-weight:700;fill:var(--text)}.wp-caption{font-size:10px;fill:var(--faint);letter-spacing:.06em;text-transform:uppercase}.wp-legend{display:grid;grid-gap:7px;gap:7px;min-width:190px}.wp-row{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--muted)}.wp-row strong{color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.wp-swatch{width:10px;height:10px;border-radius:3px;flex:none}.wp-pct{font-size:11.5px;min-width:34px;text-align:right}.wp-note,.wp-pct{color:var(--faint)}.wp-note{font-size:12px;margin-top:2px}@media (max-width:820px){.workpie{width:auto;gap:16px;padding:14px}.workpie,.wp-legend{min-width:0}}.body-skeleton{display:grid;grid-gap:11px;gap:11px;padding:18px 4px}.body-skeleton .sk-line{height:10px}.reminders{display:flex;flex-direction:column;gap:8px;min-width:260px}.reminders h4{display:flex;align-items:center;gap:8px;margin:0;font-size:11.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--faint)}.rem-count{min-width:18px;padding:1px 6px;border-radius:999px;background:var(--accent,#4f7cff);color:#07101f;font-size:11px;letter-spacing:0;text-align:center}.rem-empty{margin:0;font-size:13px}.rem-list{display:grid;grid-gap:6px;gap:6px}.rem-row{display:flex;align-items:flex-start;gap:9px;padding:8px 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px}.rem-row.late{border-color:rgba(255,107,107,.4);background:rgba(255,107,107,.07);box-shadow:inset 3px 0 0 var(--danger,#ff6b6b)}.rem-row.done{opacity:.45}.rem-row.done .rem-title{text-decoration:line-through}.rem-title{font-size:14px;line-height:1.35}.rem-note{font-size:12px;color:var(--faint);margin-top:2px}.rem-x{opacity:0}.rem-row:hover .rem-x{opacity:1}.rem-form{display:grid;grid-gap:8px;gap:8px}.rem-form input[type=date]{width:auto}.rem-note-input{flex:1 1;min-width:140px}@media (max-width:1100px){.reminders{min-width:0}}.chip.chip-reminder:before{content:"⏰";margin-right:5px;font-size:.85em;opacity:.85}.att-group{display:inline-flex;align-items:stretch;gap:4px}.att-open{display:inline-flex;align-items:center;border:1px solid var(--border);color:var(--muted);text-decoration:none;font-size:11.5px}.att-open:hover{background:var(--surface-2);color:var(--text)}@media print{.install-hint,.mail-actions,.mail-list,.mail-nav,.mail-toolbar,.page-head,.reply-box,.scrim,.sidebar,.tabbar,.toast{display:none!important}.layout,.main,.page-body,body,html{height:auto!important;overflow:visible!important;background:#fff!important;color:#000!important}.mail-split{display:block!important;height:auto!important}.mail-pane{border:none!important;background:#fff!important;padding:0!important;overflow:visible!important}.mail-pane,.mail-pane-head h3{color:#000!important}.mail-pane-meta,.mail-pane-to{color:#333!important}.mail-body-text{color:#000!important;white-space:pre-wrap!important}.mail-pane .row{display:none!important}.att-group{border:1px solid #999}}.documents{display:flex;flex-direction:column;gap:8px;margin-top:14px}.documents h4{display:flex;align-items:center;gap:8px;margin:0;font-size:11.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--faint)}.doc-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:8px;gap:8px}.doc-row{display:flex;align-items:center;gap:10px;padding:9px 11px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;min-width:0}.doc-glyph{font-size:18px;flex:none}.doc-name{display:flex;flex-direction:column;min-width:0;font-size:14px;color:var(--text);text-decoration:none;overflow:hidden}.doc-name:hover{color:var(--accent)}.doc-name,.doc-name>span:first-child{white-space:nowrap;text-overflow:ellipsis}.doc-meta{font-size:11.5px;color:var(--faint)}.doc-row:hover .rem-x{opacity:1}.doc-frame{width:100%;height:calc(100vh - 150px);border:1px solid var(--border);border-radius:12px;background:#fff}.doc-image{display:grid;place-items:center;overflow:auto;background:var(--surface);height:auto;min-height:300px;padding:16px}.doc-image img{max-width:100%;max-height:calc(100vh - 190px);border-radius:8px}.doc-nopreview{text-align:center;padding:40px 20px}.doc-nopreview h3{margin:0 0 6px}.btn-link{display:inline-flex;align-items:center;text-decoration:none;width:auto}@media print{.doc-frame{height:auto;border:none}}.doc-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.doc-head h4{margin:0}.doc-crumbs{display:flex;align-items:center;gap:2px;font-size:13px}.crumb{width:auto;padding:3px 7px;border:none;background:none;border-radius:6px;color:var(--muted);font-size:13px}.crumb:hover{background:var(--surface-2);color:var(--text)}.crumb.on{color:var(--text);font-weight:600}.crumb-sep{color:var(--faint);padding:0 2px}.doc-row.folder .doc-name{font-weight:550;cursor:pointer;text-align:left;background:none;border:none;padding:0}.doc-move{width:auto;font-size:12px;padding:3px 6px;min-height:0}