:root{--accent:#0080ff;--ink:#17233b;--muted:#7d8a9c;--border:#e7ebf1;--bg:#f5f7fb;--nav:#101d35;--danger:#de4459;font-family:Arial,Thonburi,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}a,button,input,select{touch-action:manipulation}a,button{transition:background .15s,color .15s}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:var(--accent);text-decoration:none}input,select{border:1px solid #dce2ec;border-radius:8px;padding:11px 13px;min-width:0;background:#fff;color:var(--ink);font-size:16px;max-width:100%}input:focus,select:focus{outline:3px solid #0080ff18;border-color:var(--accent)}a:focus-visible,button:focus-visible{outline:3px solid #72b9ff;outline-offset:3px}label{display:grid;gap:8px;font-size:14px;font-weight:600;margin:18px 0}h1,h2,h3,h4,p{margin-top:0}h1{font-size:30px;letter-spacing:-.6px;margin-bottom:8px}h2{font-size:19px;margin-bottom:10px}h3{font-size:16px}p{color:#788599}p,small{line-height:1.6}hr{border:0;border-top:1px solid var(--border);margin:30px 0}.wordmark{font-size:27px;letter-spacing:-1.3px;font-weight:800;color:var(--ink);white-space:nowrap}.wordmark span{color:var(--accent)}.inverse{color:#fff}.eyebrow{font-size:11px;letter-spacing:1.4px;font-weight:700;color:var(--muted);margin-bottom:10px}.button{border:0;border-radius:8px;background:var(--accent);color:white;display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:12px 20px;font-weight:600;font-size:14px;white-space:nowrap}.button:hover{background:#0067d7}.button.secondary{background:white;border:1px solid var(--border);color:#5e6c80}.button.line{background:#06c755;width:100%;padding:16px}.text-button{padding:4px 0;border:0;background:none;color:var(--accent);font-size:13px}.text-button:hover{text-decoration:underline}.danger{color:var(--danger)}.muted{color:var(--muted);font-size:13px;font-weight:400}.block{display:block}.badge{font-size:11px;font-weight:600;border-radius:6px;padding:6px 9px;display:inline-flex;white-space:nowrap}.blue{background:#e9f3ff;color:#0877e0}.gray{background:#f0f2f6;color:#8490a1}.purple{background:#f0edff;color:#7760c1}.alert,.notice,.success-note{padding:13px 16px;border-radius:8px;font-size:13px;line-height:1.7;margin:12px 0 20px}.alert{background:#fff0f1;color:#b22e44;border:1px solid #ffd3d8}.notice{background:#fff8e7;color:#967137}.success-note{background:#eaf8f1;color:#20835b}.success-text{color:#20835b;display:block;margin-top:10px}.workspace{display:flex;min-height:100vh}.sidebar{width:246px;position:fixed;inset:0 auto 0 0;background:var(--nav);color:#9cacc3;padding:34px 22px;display:flex;flex-direction:column}.cms-caption{font-size:10px;letter-spacing:2.8px;color:#6c7e99;margin:10px 0 35px}.village-select{border:1px solid #2a3950;border-radius:8px;padding:12px;margin-bottom:35px}.village-select small{font-size:10px;color:#8798b3}.village-select select{background:transparent;border:0;color:white;padding:6px 0 0;width:100%;font-size:14px}.village-select option{color:var(--ink)}.nav-caption{font-size:11px;margin:0 12px 12px;color:#627590}.sidebar nav{display:grid;gap:7px}.sidebar nav button{border:0;background:none;color:#9dabc0;text-align:left;display:flex;align-items:center;gap:12px;font-size:13px;padding:14px 12px;border-radius:7px}.sidebar nav button.active{color:white;background:var(--accent)}.sidebar nav button:hover:not(.active){background:#1b2d47}.nav-count{margin-left:auto;background:#ffffff25;padding:2px 6px;border-radius:4px;font-size:10px}.sidebar-bottom{margin-top:auto;padding-top:30px}.connection{font-size:11px;display:flex;align-items:center;gap:8px;color:#c9d2df}.connection i{height:6px;width:6px;background:#40cf9a;border-radius:50%}.sidebar-bottom small{font-size:10px;color:#627590;display:block;margin:8px 0 20px}.sidebar-bottom a{font-size:12px;color:#9baec9}.main-area{margin-left:246px;flex:1 1;min-width:0}.topbar{height:84px;border-bottom:1px solid var(--border);background:white;display:flex;align-items:center;justify-content:space-between;padding:0 40px}.breadcrumb{font-size:12px;color:#8090a5}.breadcrumb span{margin:0 14px;color:#c1c9d5}.account{display:flex;gap:10px;align-items:center}.account img,.avatar{border-radius:50%;object-fit:cover}.avatar{height:34px;width:34px;background:#e9f3ff;color:var(--accent);display:grid;place-items:center}.account b{font-size:12px;display:block}.account small{font-size:10px;color:#8d99ab;display:block}.logout{border:0;background:none;color:#8d99ab;font-size:11px;margin-left:20px}.content{padding:38px 40px 20px;max-width:1680px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.page-heading p{font-size:13px;margin-bottom:0}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:26px}.stat{background:white;border:1px solid var(--border);border-radius:12px;padding:23px 20px;display:flex;justify-content:space-between;box-shadow:0 3px 6px #17233b02}.stat span{font-size:12px;color:#79869a}.stat-value{font-size:35px;font-weight:700;line-height:1.3;margin:12px 0 3px}.stat small{font-size:10px;color:#9ca7b5}.stat-icon{color:var(--accent);background:#eff6ff;border-radius:9px;width:36px;height:36px;display:grid;place-items:center}.overview-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:24px}.panel{background:white;border-radius:12px;border:1px solid var(--border);overflow:hidden}.panel-heading{padding:23px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.panel-heading h2{font-size:15px;margin:0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}thead{background:#fafbfd}th{font-size:11px;font-weight:500;color:#8d98a9;padding:14px 24px;border-top:1px solid #f0f3f7;border-bottom:1px solid #edf0f5}td{font-size:13px;padding:20px 24px;border-bottom:1px solid #f0f3f7}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfdff}.panel-foot{font-size:11px;color:#8b96a8;border-top:1px solid var(--border);padding:16px 24px}.getting-started{padding:24px}.getting-started h2{margin:18px 0 22px}.getting-started ol{padding-left:22px;color:#b4c0d0}.getting-started li{padding-left:8px;margin-bottom:19px}.getting-started li b{font-size:13px;color:#516079}.getting-started li p{font-size:11px;margin:5px 0}.getting-started .button{width:100%;margin-top:5px}.roadmap{display:flex;align-items:center;justify-content:space-between;margin-top:24px;padding:22px 24px;border:1px dashed #d6dfeb;border-radius:10px}.roadmap b{font-size:13px;color:#697a90}.roadmap p{font-size:11px;margin:7px 0 0}.content-footer{color:#a6afbd;font-size:10px;margin-top:38px;display:flex;justify-content:space-between}.search{width:280px;padding:9px 12px;font-size:13px}.house-cell{display:flex;align-items:center;gap:14px}.mini-icon{background:#f1f6ff;color:var(--accent);border-radius:7px;padding:8px;display:flex}.status{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#3ba77d}.status:before{content:"";height:5px;width:5px;background:currentColor;border-radius:50%}.status.off{color:#9ba6b7}.row-actions{display:flex;gap:16px}.empty{padding:40px;text-align:center;color:#9aa5b4;font-size:13px}.compact{padding:22px}.loading{font-size:12px;color:#8291a5;margin-bottom:20px}.drawer-backdrop,.modal-backdrop{position:fixed;inset:0;background:#07142d55;z-index:20;display:flex}.modal-backdrop{align-items:center;justify-content:center}.modal{position:relative;background:#fff;border-radius:16px;width:min(460px,92vw);padding:32px}.modal .button{width:100%;margin-top:10px}.modal p{font-size:13px}.close{border:0;background:#f4f6fa;color:#6d7d91;font-size:23px;height:34px;width:34px;border-radius:8px;display:grid;place-items:center}.modal>.close{position:absolute;right:20px;top:20px}.drawer-backdrop{justify-content:flex-end}.drawer{width:540px;max-width:95vw;background:#fff;padding:30px;overflow:auto;height:100%}.drawer-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:32px}.drawer-head h2{font-size:27px}.invite-row,.member-card{display:flex;justify-content:space-between;align-items:center;padding:17px 0;border-bottom:1px solid var(--border);font-size:13px}.invite-row small,.member-card small{display:block;color:#8b97a9;font-size:11px;margin-top:4px}.invite-form{display:flex;align-items:end;gap:12px;margin-bottom:25px}.invite-form label{flex:1 1;margin-bottom:0}.invite-form .button{height:44px}.copy-link{background:#f2f8ff;padding:16px;border:1px solid #cfe5ff;border-radius:8px;margin:20px 0}.copy-link p{font-size:11px}.copy-link input{width:100%;font-size:12px;margin-bottom:10px}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:white}.login-brand{background:var(--nav);padding:80px 16%;color:white;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.login-brand .wordmark{color:white;margin-bottom:60px;font-size:35px}.login-brand .eyebrow{color:#7c98bf}.login-brand h1{font-size:54px;line-height:1.35;letter-spacing:-1px;margin:18px 0 20px}.login-brand p{color:#8fa4c2;line-height:1.9;font-size:15px}.brand-grid{display:grid;grid-template-columns:90px 90px;gap:13px;transform:rotate(-20deg);position:absolute;bottom:45px;right:-30px;opacity:.15}.brand-grid i{height:90px;border:1px solid #7cb8ff;border-radius:15px}.login-card{width:390px;max-width:90vw;margin:auto;text-align:center}.login-card img{border-radius:20px;margin-bottom:15px}.login-card h2{font-size:27px}.login-card p{font-size:14px}.login-card small{display:block;color:#9da8b7;font-size:12px;margin-top:22px}.login-card form{text-align:left}.login-card form>.button{width:100%}.join-page{min-height:100vh;padding:60px 20px;display:flex;background:var(--bg)}.join-page .login-card{background:white;border:1px solid var(--border);border-radius:16px;padding:35px;width:460px}.join-page h1{font-size:45px;color:var(--accent)}.join-page .wordmark{margin-bottom:30px}.join-page .notice{font-size:12px}.waiting{padding:90px 30px;text-align:center}.waiting h1{margin-top:40px}.waiting code{display:block;margin:30px}.waiting button{padding:12px;border:1px solid var(--border);border-radius:6px}.success{margin:30px 0}.success h2{font-size:22px;color:#20835b}@media(min-width:1700px){.content{padding-top:48px}}@media(max-width:1150px){.sidebar{width:210px;padding:30px 16px}.main-area{margin-left:210px}.content{padding:30px 24px}.topbar{padding:0 24px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-grid{grid-template-columns:1fr}.stat{padding:20px}.getting-started ol{display:flex;gap:35px}.getting-started .button{width:auto}.login-brand h1{font-size:42px}.login-brand{padding:60px 10%}}@media(max-width:760px){.sidebar{position:static;width:100%;padding:20px}.nav-caption,.sidebar .cms-caption,.sidebar .village-select,.sidebar-bottom{display:none}.sidebar nav{display:flex;overflow:auto;margin-top:20px;gap:4px}.sidebar nav button{white-space:nowrap;padding:10px;font-size:12px}.sidebar nav svg{display:none}.workspace{display:block}.main-area{margin:0}.topbar{height:auto;padding:18px 20px}.breadcrumb{display:none}.account{width:100%}.account form{margin-left:auto}.content{padding:24px 16px}.page-heading{align-items:start;gap:10px}h1{font-size:23px}.eyebrow{font-size:9px}.page-heading p{font-size:11px}.stats{gap:10px}.stat{padding:16px}.stat-icon{display:none}.stat-value{font-size:29px}.stat span{font-size:11px}.panel-heading{padding:18px;flex-wrap:wrap}.search{width:100%}td,th{padding:16px}.getting-started ol,.roadmap{display:block}.roadmap .badge{margin-top:14px}.content-footer span{display:none}.login-page{grid-template-columns:1fr}.login-brand{display:none}.login-card{padding:50px 0}.drawer,.join-page .login-card{padding:24px}.button{padding:12px}.button,.content table{font-size:12px}}