:root{--bg:#f4f6f9;--fg:#18212f;--muted:#667085;--card:#fff;--line:#e4e8ee;--accent:#1d4ed8;--accent-soft:#e8efff;--side:#0f1b33;--good:#067647;--good-bg:#e7f6ee;--warn:#b54708;--warn-bg:#fff3e0;--bad:#b42318;--bad-bg:#fdecea;--shadow:0 1px 2px #1018280d,0 1px 3px #1018280f}@media (prefers-color-scheme:dark){:root{--bg:#0b1220;--fg:#e6eaf2;--muted:#93a0b8;--card:#131c2e;--line:#243049;--accent:#6ea0ff;--accent-soft:#1b2a4d;--side:#070d19;--good:#4ade80;--good-bg:#10321f;--warn:#fbbf6a;--warn-bg:#3a2a10;--bad:#f87171;--bad-bg:#3a1616}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;margin:0;font:15px/1.55 Inter,system-ui,-apple-system,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.shell{grid-template-columns:248px 1fr;min-height:100vh;display:grid}.side{background:var(--side);color:#c9d3e6;height:100vh;padding:20px 14px;position:sticky;top:0}.brand{border-bottom:1px solid #ffffff1a;align-items:center;gap:12px;margin-bottom:14px;padding:6px 8px 22px;display:flex}.brand b{color:#fff;font-size:14px;line-height:1.25;display:block}.brand small{color:#8fa0c0;font-size:12px}.logo{color:#fff;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:10px;flex:none;place-items:center;width:38px;height:38px;font-size:18px;font-weight:700;display:grid}.side nav{flex-direction:column;gap:2px;display:flex}.side nav a,.side .soon{color:#c9d3e6;border-radius:8px;align-items:center;gap:12px;padding:9px 12px;font-size:14px;font-weight:500;display:flex}.side nav a:hover{background:#ffffff12;text-decoration:none}.side nav a.on{color:#fff;background:#ffffff1f}.side i{text-align:center;opacity:.85;width:18px;font-style:normal}.side .soon{opacity:.4;cursor:default}.side .soon em{border:1px solid #fff5;border-radius:10px;margin-left:auto;padding:0 6px;font-size:10px;font-style:normal}.main{min-width:0}.banner{background:var(--warn-bg);color:var(--warn);border-bottom:1px solid var(--line);padding:7px 32px;font-size:13px}.content{max-width:1080px;margin:0 auto;padding:30px 32px 60px}.pagehead{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}h1{letter-spacing:-.02em;margin:0;font-size:26px}h2{letter-spacing:-.01em;margin:0 0 12px;font-size:15px}.pagehead p{margin:4px 0 0}.muted{color:var(--muted);font-size:13.5px}.card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;padding:18px 20px}.stack>*+*{margin-top:12px}.grid{gap:16px;display:grid}.g4{grid-template-columns:repeat(4,1fr)}.g2{grid-template-columns:2fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}.stat b{letter-spacing:-.03em;font-size:30px;line-height:1.1;display:block}.stat span{color:var(--muted);font-size:13px}.hero{color:#fff;background:linear-gradient(135deg,#1d4ed8,#0f1b33);border:0;flex-wrap:wrap;align-items:center;gap:22px;display:flex}.hero .dateblock{color:#fff;background:#fff2}.hero .muted{color:#c3d1ee}.hero h2{color:#fff;margin:2px 0 4px;font-size:20px}.hero a.btn{color:#1d4ed8;background:#fff}.hero a.btn.o{color:#fff;background:0 0;border:1px solid #fff7}.dateblock{background:var(--accent-soft);width:58px;height:62px;color:var(--accent);border-radius:12px;flex-direction:column;flex:none;justify-content:center;align-items:center;line-height:1.1;display:flex}.dateblock span{letter-spacing:.06em;font-size:11px;font-weight:600}.dateblock b{font-size:22px}.row{align-items:center;gap:12px;display:flex}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.list>*{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:12px 0;display:flex}.list>:last-child{border:0;padding-bottom:0}.list>:first-child{padding-top:0}.grow{flex:1;min-width:0}.grow b,.grow a.t{color:var(--fg);font-weight:600;display:block}.avatar{border-radius:50%;flex:none;place-items:center;font-weight:600;display:inline-grid}.chip{background:var(--accent-soft);color:var(--accent);white-space:nowrap;border-radius:99px;padding:2px 9px;font-size:12px;font-weight:500;display:inline-block}.chip.good{background:var(--good-bg);color:var(--good)}.chip.warn{background:var(--warn-bg);color:var(--warn)}.chip.bad{background:var(--bad-bg);color:var(--bad)}.chip.gray{background:var(--bg);color:var(--muted);border:1px solid var(--line)}.btn,button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:8px;padding:8px 14px;font-size:14px;font-weight:500;display:inline-block}.btn:hover,button:hover{filter:brightness(1.08);text-decoration:none}.btn.o,button.ghost{color:var(--accent);border-color:var(--line);background:0 0}button.ghost{padding:3px 9px}input,select,textarea{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--fg);border-radius:8px;padding:8px 11px;font-size:14px}input:focus,select:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}form.inline{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.agenda li{border-bottom:1px solid var(--line);align-items:flex-start;gap:14px;padding:14px 0;list-style:none;display:flex}.agenda{margin:0;padding:0}.agenda li:last-child{border:0}.num{background:var(--accent-soft);width:28px;height:28px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:600;display:grid}.agenda .ctl{opacity:.35;gap:2px;display:flex}.agenda li:hover .ctl{opacity:1}.ficon{background:var(--accent-soft);width:36px;height:40px;color:var(--accent);border-radius:6px;flex:none;place-items:center;font-size:10px;font-weight:700;display:grid}.ficon.pdf{background:var(--bad-bg);color:var(--bad)}.ficon.xls{background:var(--good-bg);color:var(--good)}.mgrid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;display:grid}.member{text-align:center}.member .avatar{margin-bottom:10px}.member h3{margin:0;font-size:16px}.member .chips{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:10px;display:flex}.crumb{margin-bottom:14px;font-size:14px}.note{background:var(--accent-soft);color:var(--fg);border-radius:10px;margin-top:20px;padding:12px 16px;font-size:13px}.paper{color:#111;border:1px solid var(--line);max-width:800px;box-shadow:var(--shadow);background:#fff;border-radius:4px;margin:0 auto;padding:56px 64px}.paper h1{font-size:28px}.paper h2{border-bottom:2px solid #111;margin-top:30px;padding-bottom:4px}.paper table{border-collapse:collapse;width:100%}.paper td,.paper th{text-align:left;border-bottom:1px solid #ddd;padding:8px 6px;font-size:14px}.paper .muted{color:#555}.paper a{color:#1d4ed8}.paper pre{white-space:pre-wrap;font:inherit}@media (max-width:900px){.g4,.g2,.g3{grid-template-columns:1fr 1fr}.g2{grid-template-columns:1fr}.content{padding:20px 16px}.paper{padding:28px 20px}}@media (max-width:560px){.g4,.g3{grid-template-columns:1fr}}@media print{.side,.banner,.noprint{display:none!important}.shell{display:block}.content{max-width:none;padding:0}.paper{box-shadow:none;border:0;padding:0}body{background:#fff}}.viewer{background:#ffffff12;border-radius:10px;flex-direction:column;gap:6px;padding:12px;display:flex;position:absolute;bottom:16px;left:14px;right:14px}.viewer small{color:#8fa0c0;text-transform:uppercase;letter-spacing:.06em;font-size:11px}.viewer select{color:#fff;background:#0f1b33;border-color:#fff3;width:100%;font-size:13px}.side nav a.on{background:#ffffff1f}.board{grid-template-columns:repeat(3,1fr);align-items:start;gap:16px;display:grid}.col{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:12px}.col h3{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;margin:0 0 10px;font-size:13px;display:flex}.tcard{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;margin-bottom:10px;padding:12px}.tcard b{margin-bottom:6px;font-size:14px;display:block}.bar{background:var(--line);border-radius:99px;height:10px;display:flex;overflow:hidden}.bar i{height:100%;display:block}.bar .y{background:#16a34a}.bar .n{background:#dc2626}.bar .a{background:#94a3b8}.vote{flex-wrap:wrap;gap:10px;display:flex}.vote button{flex:1;min-width:110px;padding:12px;font-size:15px}.vote .yes{background:#16a34a;border-color:#16a34a}.vote .no{background:#dc2626;border-color:#dc2626}.vote .abs{background:#64748b;border-color:#64748b}.vote button.sel{outline:3px solid var(--accent-soft);outline-offset:2px}.verdict{font-size:18px;font-weight:700}@media (max-width:900px){.board{grid-template-columns:1fr}}.mention{background:var(--accent-soft);color:var(--accent);border-radius:4px;padding:0 4px;font-weight:500}.mention.me{background:var(--warn-bg);color:var(--warn)}.post{border-bottom:1px solid var(--line);gap:14px;padding:16px 0;display:flex}.post:last-child{border:0}.post .body{white-space:pre-wrap;margin-top:4px}.attach{border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;margin-top:10px;padding:6px 10px;font-size:13px;display:inline-flex}textarea{resize:vertical;width:100%;min-height:80px}.tabs{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.progress{background:var(--line);border-radius:99px;min-width:90px;height:6px;overflow:hidden}.progress i{background:var(--accent);height:100%;display:block}.kpi{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px;display:grid}.tl{border-left:2px solid var(--line);margin-left:6px;padding-left:18px}.tl>div{padding:0 0 16px;position:relative}.tl>div:before{content:"";background:var(--accent);border-radius:50%;width:10px;height:10px;position:absolute;top:6px;left:-24px}@media (max-width:900px){.kpi{grid-template-columns:1fr 1fr}}.authwrap{place-items:center;min-height:100vh;padding:24px;display:grid}.authcard{flex-direction:column;gap:14px;width:100%;max-width:400px;display:flex}.authcard h1{font-size:20px}.authcard form{flex-direction:column;gap:12px;display:flex}.authcard label,.stack label{flex-direction:column;gap:4px;font-size:13px;font-weight:500;display:flex}.authcard .check,.stack .check{flex-direction:row;align-items:center;gap:8px;font-weight:400}.brand.dark{color:var(--fg);padding:0}.brand.dark small{color:var(--muted)}.alert{border-radius:8px;padding:9px 12px;font-size:13px}.alert.bad{background:var(--bad-bg);color:var(--bad)}.alert.good{background:var(--good-bg);color:var(--good)}.stack{flex-direction:column;gap:12px;display:flex}.tbl{border-collapse:collapse;width:100%;font-size:14px}.tbl th{text-align:left;color:var(--muted);padding:6px 8px;font-size:12px;font-weight:500}.tbl td{border-top:1px solid var(--line);vertical-align:top;padding:8px}details.edit summary{cursor:pointer;color:var(--accent);font-size:13px}.qr svg{width:180px;height:180px}.cal{background:var(--line);border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.calh{background:var(--bg);color:var(--muted);padding:6px 8px;font-size:12px;font-weight:500}.cald{background:var(--card);flex-direction:column;gap:3px;min-height:92px;padding:4px 6px;font-size:12px;display:flex}.cald>span{color:var(--muted)}.cald.out{background:var(--bg)}.cald.out>span{opacity:.5}.cald.today>span{color:var(--accent);font-weight:700}.cale{background:var(--accent-soft);color:var(--accent);text-overflow:ellipsis;white-space:nowrap;border-radius:4px;padding:2px 5px;display:block;overflow:hidden}.cale.off{background:var(--bad-bg);color:var(--bad);text-decoration:line-through}@media (max-width:700px){.cald{min-height:60px}.cale{font-size:10px}}.rte{border:1px solid var(--line);background:var(--card);border-radius:10px;overflow:hidden}.rte-bar{border-bottom:1px solid var(--line);background:var(--bg);flex-wrap:wrap;gap:4px;padding:6px;display:flex}.rte-bar button{min-width:34px;padding:4px 10px}.rte-area{outline:none;min-height:360px;padding:16px 20px;line-height:1.55}.rte-area h2,.minutes-body h2{border-bottom:1px solid var(--line);margin:18px 0 6px;padding-bottom:3px;font-size:17px}.rte-area h3,.minutes-body h3{margin:14px 0 4px;font-size:15px}.rte-area blockquote,.minutes-body blockquote{border-left:3px solid var(--line);color:var(--muted);margin:8px 0;padding-left:14px}.minutes-body p{margin:6px 0}.minutes-body ul,.minutes-body ol,.rte-area ul,.rte-area ol{padding-left:24px}.badge{color:#fff;background:#ef4444;border-radius:99px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:700;line-height:1.5}.topbar,.tabbar,.scrim,.closer,.only-m,.installbar{display:none}.iconbtn{color:#fff;background:0 0;border:0;border-radius:8px;place-items:center;min-width:44px;min-height:44px;padding:0;font-size:20px;line-height:1;display:inline-grid;position:relative}.side .closer{display:none}.logo.sm{border-radius:8px;width:30px;height:30px;font-size:15px}@media (max-width:900px){.shell{grid-template-columns:1fr}.topbar{z-index:20;background:var(--side);color:#fff;padding:env(safe-area-inset-top) calc(6px + env(safe-area-inset-right)) 0 calc(4px + env(safe-area-inset-left));min-height:calc(52px + env(safe-area-inset-top));align-items:center;gap:10px;display:flex;position:sticky;top:0}.topname{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:15px;overflow:hidden}.bell .badge{margin:0;position:absolute;top:2px;right:0}.scrim{z-index:30;background:#0009;display:block;position:fixed;inset:0}.side{z-index:40;overscroll-behavior:contain;width:min(300px,86vw);height:auto;padding-top:calc(20px + env(safe-area-inset-top));padding-bottom:calc(20px + env(safe-area-inset-bottom));visibility:hidden;flex-direction:column;transition:transform .2s,visibility 0s .2s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.side.open{visibility:visible;transition:transform .2s;transform:none}.side .brand{position:relative}.side .closer{margin-left:auto;margin-right:-8px;display:inline-grid}.side nav a{min-height:44px}.viewer{margin-top:auto;position:static}.tabbar{z-index:20;background:var(--side);padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);border-top:1px solid #ffffff1a;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar a,.tabbar .tab{color:#c9d3e6;background:0 0;border:0;border-radius:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;min-width:0;min-height:56px;padding:6px 2px;font-size:11px;font-weight:500;text-decoration:none;display:flex;position:relative}.tabbar i{font-size:18px;font-style:normal;line-height:1}.tabbar .on{color:#fff;box-shadow:inset 0 2px #6ea0ff}.tabbar .badge{margin:0;position:absolute;top:4px;left:calc(50% + 6px)}.content{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.banner{padding:7px 16px}body.noscroll{overflow:hidden}input:not([type=checkbox]):not([type=radio]),select{min-height:44px;font-size:16px}textarea{font-size:16px}.btn,button{min-height:44px;padding:10px 16px}button.ghost,.rte-bar button,.agenda .ctl button{min-height:40px}.iconbtn,.tabbar .tab{min-height:44px;padding:0}.tabbar .tab{min-height:56px;padding:6px 2px}input[type=checkbox],input[type=radio]{width:22px;height:22px}.authcard .check,.stack .check{min-height:44px}.tbl,.paper table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}.tbl.cards,.tbl.cards tbody,.tbl.cards tr,.tbl.cards td{display:block;overflow:visible}.tbl.cards thead{display:none}.tbl.cards tr{border-top:1px solid var(--line);padding:10px 0}.tbl.cards tr:first-child{border-top:0}.tbl.cards td{border:0;padding:3px 0}.tbl.cards td[data-label]:before{content:attr(data-label);color:var(--muted);font-size:12px;display:block}.pagehead{align-items:flex-start}.grid>*,.board>*,.tcard,.col{min-width:0}details.edit summary{padding:11px 0}.only-m{display:inline-block}.installbar{border:1px solid var(--line);background:var(--accent-soft);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;padding:12px 14px;display:flex}.installbar .grow b,.installbar .grow span{display:block}.tcard{overflow-wrap:anywhere}}.hit{place-items:center;min-width:44px;min-height:44px;margin:-8px 0;display:grid}@media (max-width:560px){.cald{flex-flow:wrap;align-content:flex-start;gap:3px;min-height:48px;padding:3px}.cald>span{flex:0 0 100%}.cale{background:var(--accent);border-radius:50%;width:12px;height:12px;padding:0;font-size:0}.cale.off{background:var(--bad)}.row{flex-wrap:wrap}select,input{max-width:100%}.vote button{flex-basis:100%;min-height:56px;font-size:16px}form.inline>input,form.inline>select{flex:100%}.mgrid{grid-template-columns:1fr}}@media (hover:none){.agenda .ctl{opacity:1}}@media (prefers-reduced-motion:reduce){.side,.side.open{transition:none}*{scroll-behavior:auto!important}}
