:root{--bg:#f4f7fb;--panel:#fff;--panel2:#f9fbfd;--ink:#15233b;--muted:#6d7b91;--line:#dfe6ef;--nav:#0b1830;--nav2:#12294d;--primary:#2463eb;--primary2:#1d4ed8;--green:#15803d;--amber:#b45309;--red:#b42318;--purple:#6941c6;--shadow:0 10px 32px rgba(20,37,63,.08);--radius:18px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}.hidden{display:none!important}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr)}.login-hero{padding:52px 7vw;display:flex;flex-direction:column;justify-content:space-between;color:#fff;background:radial-gradient(circle at 30% 10%,#214f89 0,transparent 34%),linear-gradient(145deg,#08162d,#0d2648 60%,#12385e)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#3b82f6,#7c3aed);display:grid;place-items:center;font-weight:900;color:#fff;box-shadow:0 8px 22px rgba(59,130,246,.25)}.brand strong{display:block;font-size:15px}.brand span{display:block;font-size:11px;color:#9fb3cd;margin-top:2px}.hero-brand .brand-mark{width:48px;height:48px}.hero-brand strong{font-size:18px}.hero-copy{max-width:720px}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;color:#b9cae3}.eyebrow.dark{color:#728097}.hero-copy h1{font-size:clamp(38px,5vw,68px);line-height:1.02;letter-spacing:-.04em;margin:14px 0 18px}.hero-copy p{font-size:17px;line-height:1.7;color:#c5d3e6;max-width:650px}.hero-pills{display:flex;gap:9px;flex-wrap:wrap}.hero-pills span{border:1px solid #ffffff22;background:#ffffff0d;border-radius:999px;padding:8px 12px;font-size:12px}.login-side{display:grid;place-items:center;padding:40px;background:#f7f9fc}.login-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:26px;padding:36px;box-shadow:0 28px 70px rgba(20,37,63,.12)}.login-icon{width:54px;height:54px;border-radius:16px;background:#eaf1ff;color:#245bd4;display:grid;place-items:center;font-weight:900;margin-bottom:22px}.login-card h2{font-size:30px;letter-spacing:-.03em;margin:7px 0}.login-card>p{color:var(--muted);margin:0 0 26px}.login-card label,.form-grid label,.field{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700;color:#52627a;margin-bottom:15px}.login-card input,.login-card select,input,select,textarea{border:1px solid #d7e0eb;background:#fff;border-radius:11px;padding:11px 12px;color:var(--ink);outline:none;transition:.15s}input:focus,select:focus,textarea:focus{border-color:#7ba4f6;box-shadow:0 0 0 3px #2463eb12}.login-card small{display:block;color:#8490a3;text-align:center;margin-top:16px}.error{color:var(--red);font-size:12px;margin-top:10px;min-height:18px}.btn{border:0;border-radius:10px;padding:10px 14px;font-weight:750;cursor:pointer;transition:.15s;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary2)}.btn.ghost{background:#ffffff0d;color:inherit;border:1px solid #ffffff18}.btn.soft{background:#edf3ff;color:#245bd4}.btn.danger{background:#fff0f0;color:var(--red)}.btn.success{background:#ecfdf3;color:var(--green)}.btn.wide{width:100%;padding:12px}.app{min-height:100vh;display:grid;grid-template-columns:258px 1fr}.sidebar{height:100vh;position:sticky;top:0;background:linear-gradient(180deg,#0a1830,#0d213d);color:#d6e1ef;padding:21px 16px;overflow-y:auto}.sidebar .brand{padding:0 7px 18px}.portfolio-card{margin:3px 0 13px;padding:11px 12px;border-radius:12px;background:#ffffff0b;border:1px solid #ffffff12;font-size:11px;color:#9fb3cd}.portfolio-card b{font-size:16px;color:#fff}.house-select{display:block;font-size:10px;font-weight:800;letter-spacing:.12em;color:#7890ae;padding:0 6px 14px}.house-select select{width:100%;margin-top:6px;background:#102844;color:#e7eef8;border-color:#234264}.sidebar nav{display:flex;flex-direction:column;gap:3px}.sidebar nav button{border:0;background:transparent;color:#9fb3ca;border-radius:9px;padding:9px 10px;text-align:left;cursor:pointer;font-weight:650;display:flex;gap:9px;align-items:center;font-size:13px}.sidebar nav button:hover,.sidebar nav button.active{color:#fff;background:#ffffff10}.sidebar nav button.active{box-shadow:inset 3px 0 #5a8cff}.nav-sep{font-size:9px!important;letter-spacing:.16em;color:#607c9d!important;margin:10px 9px 3px;text-transform:uppercase}.sidebar-foot{display:grid;gap:7px;margin-top:18px}.workspace{min-width:0}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:20}.topbar h2{margin:2px 0 0;font-size:20px;letter-spacing:-.02em}.top-actions{display:flex;align-items:center;gap:10px}.search-box{position:relative}.search-box input{width:260px;background:#f7f9fc}.search-results{position:absolute;top:44px;right:0;width:390px;max-height:420px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:7px;z-index:60}.search-item{display:block;width:100%;border:0;background:#fff;text-align:left;padding:10px;border-radius:9px;cursor:pointer}.search-item:hover{background:#f3f6fa}.search-item b{display:block}.search-item small{color:var(--muted)}.icon-btn,.avatar{border:1px solid var(--line);background:#fff;border-radius:11px;width:40px;height:40px;cursor:pointer}.avatar{border-radius:50%;font-weight:800;background:#eaf1ff;color:#245bd4}.content{padding:26px;max-width:1600px;margin:auto}.page-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.page-head h1{font-size:28px;letter-spacing:-.035em;margin:5px 0}.page-head p{color:var(--muted);margin:0}.grid{display:grid;gap:16px}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.stat{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:0 4px 16px rgba(20,37,63,.035)}.stat .num{font-size:30px;font-weight:850;letter-spacing:-.04em;margin-top:8px}.stat small{color:var(--muted)}.stat.good{border-top:3px solid #22c55e}.stat.warn{border-top:3px solid #f59e0b}.stat.bad{border-top:3px solid #ef4444}.dashboard-grid{grid-template-columns:1.35fr .9fr;margin-top:16px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:0 4px 16px rgba(20,37,63,.035)}.panel h3{margin:0 0 13px;font-size:15px}.attention-item,.agenda-item,.recommendation{display:flex;gap:11px;align-items:flex-start;padding:10px 0;border-top:1px solid #edf1f5}.attention-item:first-of-type,.agenda-item:first-of-type{border-top:0}.dot{width:9px;height:9px;border-radius:50%;background:#94a3b8;margin-top:5px;flex:0 0 auto}.dot.urgent{background:#ef4444}.dot.high{background:#f59e0b}.dot.success{background:#22c55e}.item-main{min-width:0;flex:1}.item-main b{font-size:13px}.item-main small{display:block;color:var(--muted);margin-top:2px}.score{width:86px;height:86px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#22c55e calc(var(--score)*1%),#e7edf4 0);position:relative}.score:after{content:"";position:absolute;inset:8px;border-radius:50%;background:#fff}.score b{z-index:1;font-size:22px}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:12px 13px;border-bottom:1px solid #edf1f5;text-align:left;vertical-align:top}th{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#728097;background:#f8fafc;position:sticky;top:0}tr:last-child td{border-bottom:0}.tag{display:inline-flex;padding:4px 7px;border-radius:999px;background:#edf2f7;color:#4b5f78;font-size:10px;font-weight:800}.tag.red{background:#fff0f0;color:#b42318}.tag.amber{background:#fff7e8;color:#9a5b00}.tag.green{background:#ecfdf3;color:#15803d}.tag.blue{background:#edf3ff;color:#245bd4}.tag.purple{background:#f3efff;color:#6941c6}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid label{margin:0}.form-grid .span2{grid-column:1/-1}.form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.empty{padding:30px;text-align:center;color:var(--muted)}.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px}.modal-bg{position:absolute;inset:0;background:#0b1629aa;backdrop-filter:blur(3px)}.modal-card{z-index:1;width:min(720px,100%);max-height:88vh;overflow:auto;background:#fff;border-radius:22px;box-shadow:0 30px 90px #08162d55}.modal-card>header{display:flex;justify-content:space-between;align-items:start;padding:20px 22px;border-bottom:1px solid var(--line)}.modal-card h3{margin:4px 0 0}.modal-card>#modalBody{padding:22px}.toast{position:fixed;right:20px;bottom:20px;background:#10213a;color:#fff;padding:12px 15px;border-radius:11px;box-shadow:var(--shadow);transform:translateY(90px);opacity:0;transition:.2s;z-index:200}.toast.show{transform:none;opacity:1}.resident{min-height:100vh;background:#f5f7fb}.resident-head{height:70px;background:#0b1830;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 18px;position:sticky;top:0;z-index:20}.resident-content{padding:18px 18px 90px;max-width:850px;margin:auto}.resident-nav{position:fixed;left:0;right:0;bottom:0;height:72px;background:#fff;border-top:1px solid var(--line);display:flex;justify-content:center;z-index:30;overflow:auto}.resident-nav button{min-width:72px;border:0;background:transparent;color:#718198;font-size:10px;font-weight:700;display:grid;place-items:center;gap:2px;cursor:pointer}.resident-nav button span:first-child{font-size:20px}.resident-nav button.active{color:var(--primary)}.resident-hero{border-radius:24px;background:linear-gradient(135deg,#0d294a,#1f5fa9);color:#fff;padding:24px;margin-bottom:16px}.resident-hero h1{margin:4px 0 8px}.resident-hero p{color:#c5d6eb}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mini-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px}.mini-card b{display:block}.mini-card small{color:var(--muted)}.assistant-box{display:flex;gap:8px}.assistant-box input{flex:1}.chat-reply{white-space:pre-wrap;background:#eef4ff;border-radius:12px;padding:12px;margin-top:10px}.notice{padding:12px;border-radius:12px;background:#f8fafc;border:1px solid var(--line);margin-bottom:8px}.notice.urgent{background:#fff4f4;border-color:#fecaca}.progress{height:8px;background:#e8edf4;border-radius:99px;overflow:hidden}.progress>span{display:block;height:100%;background:#2f6feb;border-radius:inherit}.check-list{display:grid;gap:8px}.check-row{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:11px}.check-row input{width:18px;height:18px}.danger-zone{border:1px solid #fecaca;background:#fffafa}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.muted{color:var(--muted)}@media(max-width:1100px){.stats{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.app{grid-template-columns:220px 1fr}}@media(max-width:760px){.login-shell{grid-template-columns:1fr}.login-hero{display:none}.login-side{padding:18px}.login-card{padding:26px}.app{display:block}.sidebar{position:fixed;z-index:70;left:-270px;width:258px;transition:.2s}.sidebar.open{left:0}.topbar{padding:0 14px}.content{padding:15px}.search-box{display:none}.stats{grid-template-columns:repeat(2,1fr);gap:10px}.stat{padding:14px}.page-head{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}.form-grid .span2{grid-column:auto}.cards{grid-template-columns:1fr}.table-wrap{border-radius:12px}.topbar:before{content:'☰';font-size:22px;cursor:pointer;margin-right:10px}.workspace{min-height:100vh}}

/* v3.0 appearance preference */
html[data-theme="dark"]{--bg:#0c1422;--panel:#111d2e;--panel2:#142235;--ink:#e8eef7;--muted:#9fb0c6;--line:#26384f;--shadow:0 10px 32px rgba(0,0,0,.22);color-scheme:dark}
html[data-theme="dark"] .topbar,html[data-theme="dark"] .panel,html[data-theme="dark"] .stat,html[data-theme="dark"] .table-wrap,html[data-theme="dark"] .modal-card,html[data-theme="dark"] .resident-nav,html[data-theme="dark"] .mini-card,html[data-theme="dark"] .search-results,html[data-theme="dark"] .search-item{background:var(--panel);color:var(--ink)}
html[data-theme="dark"] .login-side,html[data-theme="dark"] .resident{background:var(--bg)}
html[data-theme="dark"] .login-card{background:var(--panel);border-color:var(--line)}
html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{background:#0d1828;border-color:#334861;color:var(--ink)}
html[data-theme="dark"] th{background:#142235;color:#9fb0c6}html[data-theme="dark"] th,html[data-theme="dark"] td,html[data-theme="dark"] .attention-item,html[data-theme="dark"] .agenda-item,html[data-theme="dark"] .recommendation{border-color:var(--line)}
html[data-theme="dark"] .score:after{background:var(--panel)}html[data-theme="dark"] .notice{background:#142235}html[data-theme="dark"] .btn.soft{background:#17325d;color:#a9c8ff}html[data-theme="dark"] .btn.danger{background:#3b1d22}html[data-theme="dark"] .btn.success{background:#163421}html[data-theme="dark"] .chat-reply{background:#142b4f}
@media (prefers-color-scheme:dark){html[data-theme="system"]{--bg:#0c1422;--panel:#111d2e;--panel2:#142235;--ink:#e8eef7;--muted:#9fb0c6;--line:#26384f;--shadow:0 10px 32px rgba(0,0,0,.22);color-scheme:dark}html[data-theme="system"] .topbar,html[data-theme="system"] .panel,html[data-theme="system"] .stat,html[data-theme="system"] .table-wrap,html[data-theme="system"] .modal-card,html[data-theme="system"] .resident-nav,html[data-theme="system"] .mini-card,html[data-theme="system"] .search-results,html[data-theme="system"] .search-item{background:var(--panel);color:var(--ink)}html[data-theme="system"] .login-side,html[data-theme="system"] .resident{background:var(--bg)}html[data-theme="system"] .login-card{background:var(--panel);border-color:var(--line)}html[data-theme="system"] input,html[data-theme="system"] select,html[data-theme="system"] textarea{background:#0d1828;border-color:#334861;color:var(--ink)}html[data-theme="system"] th{background:#142235;color:#9fb0c6}html[data-theme="system"] th,html[data-theme="system"] td,html[data-theme="system"] .attention-item,html[data-theme="system"] .agenda-item,html[data-theme="system"] .recommendation{border-color:var(--line)}html[data-theme="system"] .score:after{background:var(--panel)}html[data-theme="system"] .notice{background:#142235}html[data-theme="system"] .btn.soft{background:#17325d;color:#a9c8ff}html[data-theme="system"] .chat-reply{background:#142b4f}}

/* v3.0.2 — polished dark theme and admin destructive actions */
.notice-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.notice-head>.toolbar{flex:0 0 auto}.btn.danger{border-color:#fecaca;background:#fff1f2;color:#b42318}.btn.danger:hover{background:#ffe4e6}.btn.success{border-color:#bbf7d0;background:#ecfdf3;color:#15803d}.btn{transition:background .16s,border-color .16s,color .16s,transform .08s}.btn:active{transform:translateY(1px)}

html[data-theme="dark"]{
  --bg:#08111e;--panel:#0f1b2b;--panel2:#132238;--ink:#edf4ff;--muted:#98abc4;--line:#25384f;--primary:#6ea8ff;--shadow:0 16px 42px rgba(0,0,0,.34);
  color-scheme:dark;background:var(--bg);color:var(--ink)
}
html[data-theme="dark"] body,html[data-theme="dark"] .workspace,html[data-theme="dark"] .content,html[data-theme="dark"] .resident,html[data-theme="dark"] .login-side{background:var(--bg);color:var(--ink)}
html[data-theme="dark"] .topbar,html[data-theme="dark"] .panel,html[data-theme="dark"] .stat,html[data-theme="dark"] .table-wrap,html[data-theme="dark"] .modal-card,html[data-theme="dark"] .resident-nav,html[data-theme="dark"] .mini-card,html[data-theme="dark"] .login-card,html[data-theme="dark"] .search-results,html[data-theme="dark"] .search-item,html[data-theme="dark"] .check-row{background:var(--panel);color:var(--ink);border-color:var(--line)}
html[data-theme="dark"] .sidebar{background:#081426;border-color:#1d314b}html[data-theme="dark"] .sidebar button{color:#9db0c8}html[data-theme="dark"] .sidebar button:hover{background:#11243b;color:#e9f2ff}html[data-theme="dark"] .sidebar button.active{background:#16345b;color:#a9caff}
html[data-theme="dark"] .page-head h1,html[data-theme="dark"] .panel h3,html[data-theme="dark"] .item-main b,html[data-theme="dark"] table,html[data-theme="dark"] label,html[data-theme="dark"] .field>span{color:var(--ink)}
html[data-theme="dark"] .page-head p,html[data-theme="dark"] .muted,html[data-theme="dark"] small{color:var(--muted)}
html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea,html[data-theme="dark"] .search-box input{background:#0a1626!important;border-color:#30465f!important;color:#edf4ff!important;box-shadow:none}html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#7187a3}html[data-theme="dark"] select option{background:#0f1b2b;color:#edf4ff}
html[data-theme="dark"] th{background:#132238!important;color:#9eb1c9!important;border-color:var(--line)}html[data-theme="dark"] td{color:#dce7f5;border-color:#203149}html[data-theme="dark"] tbody tr:hover{background:#112036}html[data-theme="dark"] .table-wrap{box-shadow:0 8px 24px rgba(0,0,0,.16)}
html[data-theme="dark"] .attention-item,html[data-theme="dark"] .agenda-item,html[data-theme="dark"] .recommendation{border-color:#203149}html[data-theme="dark"] .score{background:conic-gradient(#36c779 calc(var(--score)*1%),#263950 0)}html[data-theme="dark"] .score:after{background:var(--panel)}
html[data-theme="dark"] .notice{background:#132238;border-color:#2a3f58;color:#dce7f5}html[data-theme="dark"] .notice.urgent{background:#32191f;border-color:#69303a;color:#ffd8dc}html[data-theme="dark"] .danger-zone{background:#25151a;border-color:#68303a}html[data-theme="dark"] .chat-reply{background:#102b4a;color:#dcecff}html[data-theme="dark"] .progress{background:#26384e}
html[data-theme="dark"] .btn.soft{background:#183254;border-color:#2f5079;color:#b9d4ff}html[data-theme="dark"] .btn.soft:hover{background:#20436f}html[data-theme="dark"] .btn.primary{background:#2f6feb;border-color:#4a82ef;color:#fff}html[data-theme="dark"] .btn.primary:hover{background:#3c7bf0}html[data-theme="dark"] .btn.danger{background:#3b1c24;border-color:#6b303c;color:#ffb8c0}html[data-theme="dark"] .btn.danger:hover{background:#50232d}html[data-theme="dark"] .btn.success{background:#153824;border-color:#28613d;color:#9ce6b8}html[data-theme="dark"] .icon-btn,html[data-theme="dark"] .avatar{background:#122238;border-color:#30465f;color:#d9e8ff}
html[data-theme="dark"] .tag{background:#1c2d43;color:#b8c8dc}html[data-theme="dark"] .tag.red{background:#3a1d24;color:#ffb6be}html[data-theme="dark"] .tag.amber{background:#392b16;color:#ffd28a}html[data-theme="dark"] .tag.green{background:#143522;color:#91dfad}html[data-theme="dark"] .tag.blue{background:#17345c;color:#a8c9ff}html[data-theme="dark"] .tag.purple{background:#2e2447;color:#cab9ff}
html[data-theme="dark"] .search-item:hover{background:#172941}html[data-theme="dark"] .modal-bg{background:rgba(2,8,18,.78)}html[data-theme="dark"] .modal-card>header{border-color:var(--line)}html[data-theme="dark"] hr{border:0;border-top:1px solid var(--line)}html[data-theme="dark"] a{color:#8ab8ff}html[data-theme="dark"] .eyebrow.dark{color:#8fa6c2}
html[data-theme="dark"] .resident-hero{background:linear-gradient(135deg,#0b2545,#164d86);box-shadow:0 14px 40px rgba(0,0,0,.26)}html[data-theme="dark"] .resident-head{background:#071426;border-bottom:1px solid #1d314b}html[data-theme="dark"] .resident-nav{border-top-color:#25384f}html[data-theme="dark"] .resident-nav button{color:#879bb6}html[data-theme="dark"] .resident-nav button.active{color:#82b3ff}
html[data-theme="dark"] ::-webkit-scrollbar{width:10px;height:10px}html[data-theme="dark"] ::-webkit-scrollbar-track{background:#091422}html[data-theme="dark"] ::-webkit-scrollbar-thumb{background:#2a405b;border-radius:9px;border:2px solid #091422}

@media (prefers-color-scheme:dark){
 html[data-theme="system"]{--bg:#08111e;--panel:#0f1b2b;--panel2:#132238;--ink:#edf4ff;--muted:#98abc4;--line:#25384f;--primary:#6ea8ff;--shadow:0 16px 42px rgba(0,0,0,.34);color-scheme:dark;background:var(--bg);color:var(--ink)}
 html[data-theme="system"] body,html[data-theme="system"] .workspace,html[data-theme="system"] .content,html[data-theme="system"] .resident,html[data-theme="system"] .login-side{background:var(--bg);color:var(--ink)}
 html[data-theme="system"] .topbar,html[data-theme="system"] .panel,html[data-theme="system"] .stat,html[data-theme="system"] .table-wrap,html[data-theme="system"] .modal-card,html[data-theme="system"] .resident-nav,html[data-theme="system"] .mini-card,html[data-theme="system"] .login-card,html[data-theme="system"] .search-results,html[data-theme="system"] .search-item,html[data-theme="system"] .check-row{background:var(--panel);color:var(--ink);border-color:var(--line)}
 html[data-theme="system"] input,html[data-theme="system"] select,html[data-theme="system"] textarea,html[data-theme="system"] .search-box input{background:#0a1626!important;border-color:#30465f!important;color:#edf4ff!important}html[data-theme="system"] th{background:#132238!important;color:#9eb1c9!important}html[data-theme="system"] td{color:#dce7f5;border-color:#203149}html[data-theme="system"] .notice{background:#132238;border-color:#2a3f58;color:#dce7f5}html[data-theme="system"] .notice.urgent{background:#32191f;border-color:#69303a;color:#ffd8dc}html[data-theme="system"] .btn.danger{background:#3b1c24;border-color:#6b303c;color:#ffb8c0}html[data-theme="system"] .btn.soft{background:#183254;border-color:#2f5079;color:#b9d4ff}html[data-theme="system"] .btn.success{background:#153824;border-color:#28613d;color:#9ce6b8}html[data-theme="system"] .score:after{background:var(--panel)}html[data-theme="system"] .search-item:hover{background:#172941}
}

/* v3.0.2 management lists */
.management-subpanel{margin-top:16px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.section-head h3{margin:0 0 4px}.section-head p{margin:0}.management-subpanel>.table-wrap{box-shadow:none;border-radius:13px}.management-subpanel .btn.danger{min-width:74px}
html[data-theme="dark"] pre.mono{background:#091523;color:#c9dbf2;border:1px solid #25384f;border-radius:12px;padding:12px;overflow:auto}html[data-theme="dark"] .management-subpanel{background:#0d1928}html[data-theme="dark"] .management-subpanel>.table-wrap{background:#0c1726;border-color:#2a3d54}html[data-theme="dark"] .portfolio-card{background:#0d2038;border-color:#24405e;color:#9db2cd}html[data-theme="dark"] .house-select select{background:#0b1b30!important;border-color:#2a496a!important}html[data-theme="dark"] .login-icon{background:#17345d;color:#acd0ff}html[data-theme="dark"] .hero-pills span{background:#142944;border-color:#2a4769}html[data-theme="dark"] .empty{color:#879bb5}html[data-theme="dark"] .error{color:#ff9ca7}html[data-theme="dark"] input[type="checkbox"]{accent-color:#4f8cff}
@media (prefers-color-scheme:dark){html[data-theme="system"] .management-subpanel{background:#0d1928}html[data-theme="system"] .management-subpanel>.table-wrap{background:#0c1726;border-color:#2a3d54}html[data-theme="system"] pre.mono{background:#091523;color:#c9dbf2;border:1px solid #25384f;border-radius:12px;padding:12px;overflow:auto}}

/* v4.0 — planning, administrator and QR management */
.duty-overview{margin-bottom:16px}.rotation-strip{display:flex;gap:10px;flex-wrap:wrap}.rotation-chip{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:var(--panel2)}.rotation-chip span,.rotation-number{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#e7eef9;color:#24466e;font-weight:800;font-size:12px}.rotation-editor{display:grid;gap:8px}.rotation-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}.rotation-row>b{flex:1}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:7px}.check-inline{display:flex!important;align-items:center;gap:9px;min-height:38px}.check-inline input[type="checkbox"]{width:auto;min-width:18px;height:18px}.qr-link{display:inline-block;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.field{display:flex;flex-direction:column;gap:6px}.hidden{display:none!important}
html[data-theme="dark"] .rotation-chip,html[data-theme="dark"] .rotation-row{background:#101f32;border-color:#2b4059;color:#eaf3ff}html[data-theme="dark"] .rotation-number,html[data-theme="dark"] .rotation-chip span{background:#1e3b61;color:#bad6ff}html[data-theme="dark"] .choice-grid .check-inline{background:#0b1727;border:1px solid #283c55;border-radius:10px;padding:8px 10px}html[data-theme="dark"] .duty-overview{background:#0f1b2b}html[data-theme="dark"] .qr-link{color:#90bdff}
@media (prefers-color-scheme:dark){html[data-theme="system"] .rotation-chip,html[data-theme="system"] .rotation-row{background:#101f32;border-color:#2b4059;color:#eaf3ff}html[data-theme="system"] .rotation-number,html[data-theme="system"] .rotation-chip span{background:#1e3b61;color:#bad6ff}html[data-theme="system"] .choice-grid .check-inline{background:#0b1727;border:1px solid #283c55;border-radius:10px;padding:8px 10px}}
@media(max-width:760px){.choice-grid{grid-template-columns:1fr}.rotation-row{align-items:flex-start}.rotation-row .toolbar{margin-left:auto}.qr-link{max-width:150px}}

/* ========================================================================== */
/* House Manager 360 v5.0 — Operations Suite                                 */
/* ========================================================================== */
:root{
  --surface-strong:#ffffff;
  --surface-soft:#f7f9fc;
  --surface-tint:#eef4ff;
  --focus:0 0 0 3px rgba(36,99,235,.14);
  --shadow-sm:0 4px 14px rgba(20,37,63,.06);
  --shadow-lg:0 24px 70px rgba(20,37,63,.14);
}
body{overflow-x:hidden}.workspace{background:linear-gradient(180deg,var(--bg) 0,var(--bg) 68%,var(--panel2) 100%)}
.topbar{backdrop-filter:saturate(160%) blur(12px);background:color-mix(in srgb,var(--panel) 92%,transparent);height:78px}.topbar-left{display:flex;align-items:center;gap:12px}.mobile-only{display:none}.quick-create{white-space:nowrap}.content{padding:28px 30px 54px}.page-head{margin-bottom:22px}.page-head h1{font-size:28px}.page-head p{max-width:820px;line-height:1.6}.page-actions{gap:9px;flex-wrap:wrap}
.panel,.stat,.table-wrap{box-shadow:var(--shadow-sm)}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:18px}.panel:hover{border-color:color-mix(in srgb,var(--line) 70%,var(--primary) 30%)}
.stats{grid-template-columns:repeat(5,minmax(0,1fr))}.stat{min-height:120px;position:relative;overflow:hidden}.stat:before{content:"";position:absolute;right:-24px;top:-24px;width:90px;height:90px;border-radius:50%;background:color-mix(in srgb,var(--primary) 7%,transparent)}
.dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr)}.ops-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:16px}.ops-stack{display:grid;gap:16px}.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.quick-card{border:1px solid var(--line);background:var(--panel2);border-radius:14px;padding:13px;text-align:left;cursor:pointer;color:var(--ink);transition:.15s}.quick-card:hover{transform:translateY(-2px);border-color:#8bb1ff;background:var(--surface-tint)}.quick-card strong{display:block;margin-bottom:4px}.quick-card small{color:var(--muted);font-weight:500}
.ops-kicker{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.ops-kicker h3{margin:0}.ops-badge{font-size:11px;font-weight:800;border-radius:999px;padding:5px 9px;background:var(--surface-tint);color:var(--primary)}
.timeline{display:grid;gap:0}.timeline-row{display:grid;grid-template-columns:64px 14px 1fr;gap:10px;min-height:54px}.timeline-time{font-size:11px;color:var(--muted);padding-top:2px}.timeline-line{position:relative}.timeline-line:after{content:"";position:absolute;left:6px;top:14px;bottom:-4px;width:1px;background:var(--line)}.timeline-row:last-child .timeline-line:after{display:none}.timeline-dot{display:block;width:11px;height:11px;border:3px solid var(--panel);box-shadow:0 0 0 1px var(--line);border-radius:50%;background:var(--primary)}.timeline-body{padding-bottom:15px}.timeline-body b{display:block;font-size:13px}.timeline-body small{color:var(--muted)}

/* Advanced calendar */
.calendar-shell{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:16px}.calendar-main{min-width:0}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.calendar-toolbar-left,.calendar-toolbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.calendar-title{font-size:21px;font-weight:850;letter-spacing:-.02em;min-width:180px;text-align:center}.calendar-filter{display:flex;gap:6px;flex-wrap:wrap}.calendar-filter button{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800;cursor:pointer}.calendar-filter button.active{background:var(--primary);border-color:var(--primary);color:#fff}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{border:1px solid var(--line);border-bottom:0;border-radius:14px 14px 0 0;overflow:hidden;background:var(--panel2)}.calendar-weekdays div{text-align:center;padding:9px 4px;font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.calendar-grid{border-left:1px solid var(--line);border-top:1px solid var(--line);border-radius:0 0 14px 14px;overflow:hidden;background:var(--panel)}.calendar-day{min-height:118px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px;position:relative;background:var(--panel);cursor:pointer;transition:.12s}.calendar-day:hover{background:var(--panel2)}.calendar-day.outside{opacity:.44;background:var(--panel2)}.calendar-day.today{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--primary) 58%,transparent)}.calendar-day.selected{background:color-mix(in srgb,var(--primary) 8%,var(--panel))}.calendar-day-number{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:850;margin-bottom:6px}.calendar-today-pill{font-size:8px;border-radius:999px;background:var(--primary);color:#fff;padding:2px 5px}.calendar-events{display:grid;gap:4px}.calendar-event{display:block;width:100%;border:0;border-left:3px solid currentColor;border-radius:7px;padding:4px 6px;background:var(--panel2);color:#40536d;font-size:9.5px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.calendar-event.event-waste{color:#15803d;background:#effaf2}.calendar-event.event-cleaning{color:#6941c6;background:#f4f0ff}.calendar-event.event-task{color:#2463eb;background:#edf3ff}.calendar-event.event-maintenance{color:#b45309;background:#fff7e8}.calendar-event.event-inspection{color:#b42318;background:#fff0f0}.calendar-event.event-event{color:#475569;background:#f1f5f9}.calendar-more{font-size:9px;color:var(--muted);padding-left:3px}.calendar-side{display:grid;align-content:start;gap:16px}.calendar-day-detail h3{margin:0 0 5px}.calendar-day-detail .day-big{font-size:34px;font-weight:900;letter-spacing:-.04em}.calendar-day-items{display:grid;gap:8px;margin-top:12px}.calendar-detail-item{border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--panel2)}.calendar-detail-item b{display:block;font-size:12px}.calendar-detail-item small{display:block;color:var(--muted);margin-top:3px}.waste-legend{display:grid;grid-template-columns:1fr 1fr;gap:8px}.waste-chip{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:750}.waste-dot{width:10px;height:10px;border-radius:50%}.waste-dot.bio{background:#2f9e44}.waste-dot.paper{background:#228be6}.waste-dot.plastic{background:#f59f00}.waste-dot.mixed{background:#5c677d}.calendar-list{margin-top:16px}

/* Command palette / quick create */
.quick-create-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quick-action{display:flex;gap:11px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:13px;background:var(--panel2);cursor:pointer;color:var(--ink);text-align:left}.quick-action:hover{border-color:#8bb1ff;background:var(--surface-tint)}.quick-action-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#eaf1ff;color:#245bd4;font-weight:900}.quick-action b{display:block;font-size:13px}.quick-action small{display:block;color:var(--muted);margin-top:2px}

/* System diagnostics */
.system-health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.system-channel{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--panel2)}.system-channel b{display:flex;justify-content:space-between;gap:8px}.job-error{border:1px solid #f0c9c9;background:#fff7f7;border-radius:13px;padding:12px;margin-top:9px}.job-error-head{display:flex;justify-content:space-between;gap:12px}.job-error pre{white-space:pre-wrap;word-break:break-word;font-size:10px;max-height:100px;overflow:auto}.job-error .toolbar{margin-top:8px}.system-ok{border:1px solid #b7e1c3;background:#f2fbf5;color:#166534;border-radius:12px;padding:12px}

/* Safer forms and delete UI */
.form-grid .form-hint{font-size:11px;color:var(--muted);margin-top:-8px}.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none!important}.danger-confirm{border:1px solid #efc6ca;background:#fff6f7;border-radius:12px;padding:12px;color:#8d202b}.toast{max-width:min(520px,calc(100vw - 30px))}
.sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(3,10,22,.55);z-index:79}

/* Dark mode v5 – exhaustive surfaces */
html[data-theme="dark"]{--surface-strong:#0f1b2b;--surface-soft:#0b1727;--surface-tint:#122a4a;color-scheme:dark}
html[data-theme="dark"] .workspace{background:linear-gradient(180deg,#08111e,#0a1523 70%,#0d1928)}
html[data-theme="dark"] .topbar{background:rgba(15,27,43,.94);border-color:#25384f}
html[data-theme="dark"] .panel:hover{border-color:#395574}
html[data-theme="dark"] .quick-card,html[data-theme="dark"] .quick-action,html[data-theme="dark"] .calendar-day,html[data-theme="dark"] .calendar-detail-item,html[data-theme="dark"] .system-channel{background:#0d1a2b;border-color:#273b52;color:#e9f2ff}
html[data-theme="dark"] .quick-card:hover,html[data-theme="dark"] .quick-action:hover,html[data-theme="dark"] .calendar-day:hover,html[data-theme="dark"] .calendar-day.selected{background:#12243a;border-color:#3a618e}
html[data-theme="dark"] .quick-action-icon{background:#16365f;color:#acd0ff}
html[data-theme="dark"] .calendar-weekdays{background:#102036;border-color:#273b52}html[data-theme="dark"] .calendar-grid{background:#0d1a2b;border-color:#273b52}html[data-theme="dark"] .calendar-day{border-color:#273b52}html[data-theme="dark"] .calendar-day.outside{background:#091523}html[data-theme="dark"] .calendar-event.event-waste{color:#8be2a2;background:#123122}html[data-theme="dark"] .calendar-event.event-cleaning{color:#cab6ff;background:#2a2341}html[data-theme="dark"] .calendar-event.event-task{color:#a8c9ff;background:#17345c}html[data-theme="dark"] .calendar-event.event-maintenance{color:#ffd18b;background:#332817}html[data-theme="dark"] .calendar-event.event-inspection{color:#ffb6be;background:#361d24}html[data-theme="dark"] .calendar-event.event-event{color:#bac9da;background:#1a293c}
html[data-theme="dark"] .calendar-filter button{background:#0d1a2b;border-color:#2b425d;color:#9eb2cc}html[data-theme="dark"] .calendar-filter button.active{background:#3678ed;border-color:#3678ed;color:#fff}
html[data-theme="dark"] .job-error{background:#2b171d;border-color:#62303a;color:#ffdce0}html[data-theme="dark"] .system-ok{background:#122b1d;border-color:#285c3a;color:#9de2b5}html[data-theme="dark"] .danger-confirm{background:#2b171d;border-color:#62303a;color:#ffc8cf}
html[data-theme="dark"] .modal-card{box-shadow:0 30px 90px rgba(0,0,0,.55)}html[data-theme="dark"] .topbar .btn.primary{box-shadow:0 5px 18px rgba(36,99,235,.2)}

@media (prefers-color-scheme:dark){
 html[data-theme="system"] .workspace{background:linear-gradient(180deg,#08111e,#0a1523 70%,#0d1928)}
 html[data-theme="system"] .topbar{background:rgba(15,27,43,.94)}
 html[data-theme="system"] .quick-card,html[data-theme="system"] .quick-action,html[data-theme="system"] .calendar-day,html[data-theme="system"] .calendar-detail-item,html[data-theme="system"] .system-channel{background:#0d1a2b;border-color:#273b52;color:#e9f2ff}
 html[data-theme="system"] .calendar-weekdays{background:#102036;border-color:#273b52}html[data-theme="system"] .calendar-grid{background:#0d1a2b;border-color:#273b52}html[data-theme="system"] .calendar-day{border-color:#273b52}html[data-theme="system"] .calendar-day.outside{background:#091523}
}

@media(max-width:1180px){.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-shell{grid-template-columns:1fr}.calendar-side{grid-template-columns:1fr 1fr}.ops-grid{grid-template-columns:1fr}.dashboard-grid{grid-template-columns:1fr}}
@media(max-width:900px){.app{display:block}.sidebar{position:fixed;left:-280px;top:0;width:268px;z-index:90;transition:left .2s}.sidebar.open{left:0}.sidebar-backdrop:not(.hidden){display:block}.mobile-only{display:grid}.topbar{padding:0 16px}.search-box{display:none}.quick-create span{display:none}.content{padding:20px 15px 92px}.calendar-day{min-height:92px;padding:6px}.calendar-title{min-width:120px;font-size:17px}.calendar-event{font-size:8px;padding:3px 4px}.calendar-side{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.stats{grid-template-columns:1fr 1fr}.stat{min-height:96px}.page-head{align-items:flex-start}.page-head h1{font-size:24px}.quick-grid,.quick-create-grid{grid-template-columns:1fr}.calendar-weekdays div{font-size:8px}.calendar-day{min-height:76px}.calendar-events .calendar-event:nth-child(n+3){display:none}.calendar-more{display:block}.top-actions{gap:6px}.topbar h2{font-size:17px}.quick-create{padding:9px}.content{padding-left:10px;padding-right:10px}.calendar-toolbar{align-items:flex-start}.calendar-toolbar-left,.calendar-toolbar-right{width:100%;justify-content:space-between}}
/* v5.5 — Zakupy, dostęp mieszkańców i połączenie WhatsApp */
.shopping-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 18px;max-width:520px}
.shopping-metric{padding:16px 18px;border-radius:16px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.shopping-metric small{display:block;color:var(--muted);font-weight:700}.shopping-metric strong{display:block;margin-top:4px;font-size:30px;line-height:1.1;color:var(--primary)}
.shopping-history{margin-top:18px}.shopping-history summary{cursor:pointer;font-weight:800;padding:3px 0}.shopping-history .table-wrap,.shopping-history .shopping-card{margin-top:12px}
.shopping-card{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);border-radius:13px;padding:14px;margin:10px 0;background:var(--panel2)}
.shopping-card b,.shopping-card small{display:block}.shopping-card small{margin-top:4px;color:var(--muted)}.shopping-card p{margin:6px 0 0;color:var(--muted)}
.integration-residents{display:grid;gap:8px}.integration-resident{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}
.integration-resident small{display:block;margin-top:3px;color:var(--muted)}.integration-resident .btn{flex-shrink:0}
.invite-result{margin-top:14px}.secret-code{display:block;white-space:normal;overflow-wrap:anywhere;font-size:13px;font-weight:800;padding:12px;background:var(--panel2);border:1px solid var(--line);border-radius:10px}.invite-result input{width:100%;margin:8px 0 12px}
@media(max-width:680px){.shopping-summary{max-width:none}.shopping-card,.integration-resident{align-items:flex-start;flex-direction:column}.shopping-card .btn,.integration-resident .btn{width:100%}}
.group-settings{display:grid;gap:18px}
.group-connection,.group-pick{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px;border-radius:14px;background:var(--surface-2,#f1f5f4)}
.group-connection .btn,.group-pick .btn{margin-left:auto}
.group-pick #groupSelectWrap{flex-basis:100%}
.group-pick select{width:100%;max-width:460px;margin-top:8px}
.group-qr{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:16px;border:1px solid var(--line,#ccd8d4);border-radius:16px}
.group-qr img{width:220px;height:220px;background:white;border-radius:12px}
.group-qr small{max-width:300px}
.group-topics{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.group-settings .toolbar{flex-wrap:wrap}
@media(max-width:620px){.group-connection .btn,.group-pick .btn{margin-left:0}.group-qr img{width:190px;height:190px}}
/* Account sessions and group language controls */
.account-sessions{margin:20px 0}.account-sessions h3{margin:12px 0 4px}.account-sessions>.muted{margin:0 0 12px}.session-card{margin:8px 0;overflow-wrap:anywhere}.session-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:5px}.session-head .btn{flex:0 0 auto}.session-agent{margin:6px 0;line-height:1.35}.group-language{display:flex;flex-direction:column;gap:5px;margin:12px 0}.group-language select{max-width:320px}.group-language small{max-width:650px}
@media(max-width:480px){.session-head{align-items:flex-start;flex-direction:column}.session-head .btn{width:100%}.account-sessions>.toolbar .btn{width:100%}}
.form-error{color:var(--red);font-weight:600;margin:0;min-height:1em}
