:root{--ink:#131a20;--ink-2:#1c252d;--paper:#f6f5f2;--card:#fff;--line:#e6e3dc;--text:#1d2228;--muted:#6b7280;--accent:#c96f2e;--accent-ink:#a3551d;--ok:#2f7d5d;--bad:#b3402e;--nav-h:64px}*{box-sizing:border-box;margin:0;padding:0}body,html{-webkit-text-size-adjust:100%;overflow-x:hidden;max-width:100vw}body{font-family:Geist,Geist Sans,-apple-system,Segoe UI,sans-serif;background:var(--ink);color:var(--text);font-size:15px;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none}button,input,select,textarea{font:inherit}.mono{font-family:Geist Mono,ui-monospace,monospace}.app{max-width:600px;margin:0 auto;min-height:100dvh;background:var(--paper);padding-bottom:calc(var(--nav-h) + 24px);position:relative;overflow-x:hidden;width:100%}.app input,.app select,.app textarea{max-width:100%}.modal input,.modal select{width:100%;max-width:100%}.app-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:var(--ink);color:#fff;padding:14px 18px;display:flex;align-items:center;justify-content:space-between}.app-header .brand{font-family:Geist Mono,monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#8a949d}.app-header .brand span{color:var(--accent)}.app-header .who{font-size:17px;font-weight:650;margin-top:2px}.app-header .signout{color:#8a949d;font-size:13px}.app-header .signout:hover{color:#fff}.page{padding:20px 18px}.page h1{font-size:22px;font-weight:700}.page .sub{color:var(--muted);font-size:13.5px;margin:2px 0 18px}.bottomnav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:600px;height:var(--nav-h);background:var(--ink);color:#8a949d;display:grid;grid-auto-flow:column;align-items:center;z-index:30;padding-bottom:env(safe-area-inset-bottom)}.bottomnav a{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10.5px;letter-spacing:.02em;padding:8px 0}.bottomnav a svg{width:22px;height:22px}.bottomnav a.active{color:#fff}.bottomnav a.active .pill-bg{background:#2a3640}.bottomnav .icon-wrap{display:grid;place-items:center;border-radius:99px;padding:3px 16px}.bottomnav a.active .icon-wrap{background:#2a3640}.stats{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-bottom:22px}.stat{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px}.stat .k{font-size:12.5px;color:var(--muted);display:flex;align-items:center;justify-content:space-between;gap:8px}.stat .k .dot{width:30px;height:30px;border-radius:99px;display:grid;place-items:center;font-size:14px}.stat .v{font-size:30px;font-weight:700;margin-top:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.qa{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:22px}.qa h2{font-size:15px;font-weight:650;margin-bottom:14px}.qa .grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px}.qa a,.qa button{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:11.5px;color:var(--text);text-align:center}.qa .circ{width:52px;height:52px;border-radius:99px;border:1px solid var(--line);display:grid;place-items:center;background:#fff}.qa .circ svg{width:22px;height:22px}.rows{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}.row{display:flex;gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line);width:100%;text-align:left}.row:last-child{border-bottom:none}.row:active{background:#faf9f6}.avatar{width:44px;height:44px;border-radius:99px;flex:none;background:var(--ink-2);color:#cfd6dc;display:grid;place-items:center;font-size:14px;font-weight:600}.row .mid{flex:1 1;min-width:0}.row .name{font-weight:600;font-size:15px;display:flex;justify-content:space-between;gap:10px}.row .name time{color:var(--muted);font-weight:400;font-size:12px;flex:none}.row .preview{color:var(--muted);font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.badge{min-width:20px;height:20px;border-radius:99px;background:var(--ok);color:#fff;font-size:11.5px;display:grid;place-items:center;padding:0 6px;flex:none}.empty{padding:36px 16px;text-align:center;color:var(--muted);font-size:14px}.pill{display:inline-block;font-size:11.5px;padding:2px 9px;border-radius:99px;background:#edefec}.thread{display:flex;flex-direction:column;gap:8px;padding-bottom:90px}.bubble{max-width:80%;padding:10px 14px;border-radius:16px;font-size:14.5px}.bubble.in{align-self:flex-start;background:#fff;border:1px solid var(--line);border-bottom-left-radius:6px}.bubble.out{align-self:flex-end;background:var(--ink);color:#fff;border-bottom-right-radius:6px}.bubble .t{display:block;font-size:10.5px;color:var(--muted);margin-top:4px}.bubble.out .t{color:#8a949d}.composer{position:fixed;bottom:var(--nav-h);left:50%;transform:translateX(-50%);width:100%;max-width:600px;background:var(--paper);padding:10px 14px calc(10px + env(safe-area-inset-bottom));display:flex;gap:8px;border-top:1px solid var(--line);z-index:25}.composer input{flex:1 1;padding:11px 14px;border:1px solid var(--line);border-radius:99px;background:#fff;outline:none}.composer button{background:var(--accent);color:#fff;border-radius:99px;padding:0 18px;font-weight:600}.backlink{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:13.5px;margin-bottom:10px}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.cal-head .mon{font-size:17px;font-weight:650}.cal-head button{width:36px;height:36px;border-radius:99px;background:#fff;font-size:16px}.cal-grid,.cal-head button{border:1px solid var(--line)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px;background:var(--card);border-radius:14px;padding:12px 8px}.cal-grid .dow{text-align:center;font-size:11px;color:var(--muted);padding:4px 0}.cal-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:12px;font-size:14px;position:relative;gap:2px}.cal-day.dim{color:#c2bfb8}.cal-day.today{background:#e9e6df;font-weight:700}.cal-day.sel{background:var(--ink);color:#fff;font-weight:700}.cal-day .dots{display:flex;gap:2px;height:5px}.cal-day .dots i{width:5px;height:5px;border-radius:99px;background:var(--accent)}.cal-day.sel .dots i{background:#fff}.fab{position:fixed;right:max(16px,calc(50% - 300px + 16px));bottom:calc(var(--nav-h) + 18px);width:56px;height:56px;border-radius:16px;background:var(--accent);color:#fff;font-size:26px;display:grid;place-items:center;z-index:28;box-shadow:0 6px 18px rgba(201,111,46,.4)}.field{margin-bottom:13px}.field label{display:block;font-size:12.5px;font-weight:550;color:var(--muted);margin-bottom:5px}.field input,.field select{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;outline:none}.field input:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(201,111,46,.13)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border-radius:9px;background:var(--ink);color:#fff;font-weight:600;width:100%}.btn.secondary{background:transparent;border:1px solid var(--line);color:var(--text);width:auto}.btn.accent{background:var(--accent)}.btn:disabled{opacity:.6}.msg{font-size:13px;margin-top:10px}.msg.ok{color:var(--ok)}.error-box,.msg.bad{color:var(--bad)}.error-box{background:var(--card);border:1px solid var(--bad);border-radius:12px;padding:14px 16px;font-size:14px;margin-bottom:16px}.auth-wrap{min-height:100dvh;display:grid;place-items:center;background:var(--ink);padding:24px}.auth-card{width:100%;max-width:380px;background:var(--card);border-radius:12px;padding:36px 30px}.auth-brand{font-family:Geist Mono,monospace;font-size:12px;letter-spacing:.18em;color:var(--accent-ink);text-transform:uppercase}.auth-card h1{font-size:22px;font-weight:650;margin:10px 0 22px}.modal-backdrop{position:fixed;inset:0;background:rgba(19,26,32,.55);display:grid;place-items:end center;z-index:50}.modal{width:100%;max-width:600px;background:var(--card);border-radius:18px 18px 0 0;padding:24px 20px calc(24px + env(safe-area-inset-bottom));max-height:88dvh;overflow:auto}.modal h2{font-size:17px;font-weight:650;margin-bottom:16px}.slots{display:flex;flex-wrap:wrap;gap:8px}.slot{padding:8px 13px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:13.5px}.slot.on{background:var(--ink);color:#fff;border-color:var(--ink)}.panel{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:18px}.panel h2{font-size:15px;font-weight:650;margin-bottom:14px}.checks{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px 14px;gap:6px 14px;margin:6px 0 14px}.checks label{display:flex;gap:8px;align-items:center;font-size:14px}table{width:100%;border-collapse:collapse;font-size:13.5px}th{text-align:left;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}td,th{padding:10px 12px;border-bottom:1px solid var(--line)}tr:last-child td{border-bottom:none}.table-wrap{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:auto}.admin-grid{display:grid;grid-gap:18px;gap:18px}@media (min-width:760px){.admin-grid{grid-template-columns:1fr 1fr;align-items:start}}