:root{--navy:#0b2340;--navy2:#0e315d;--blue:#1769e0;--cyan:#12a8c6;--green:#14a673;--purple:#7355d9;--red:#dd4054;--bg:#f4f7fb;--text:#13233a;--muted:#6f7d90;--border:#e4eaf2;--shadow:0 12px 35px rgba(26,48,76,.08);--radius:18px}*{box-sizing:border-box}body{margin:0;font:14px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}a{color:var(--blue);text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{width:248px;background:linear-gradient(180deg,var(--navy),#07182c);color:#fff;position:fixed;inset:0 auto 0 0;padding:22px 16px;display:flex;flex-direction:column;z-index:40}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#52c6ff,#2f78ff);font-size:25px;box-shadow:inset 0 0 0 1px #ffffff55}.brand b{display:block;font-size:23px;letter-spacing:.8px}.brand small{display:block;color:#b8c8da;font-size:11px}.sidebar nav{margin-top:28px;display:flex;flex-direction:column;gap:5px}.sidebar nav a{color:#cbd7e4;display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:11px;font-weight:600}.sidebar nav a:hover,.sidebar nav a.active{background:#ffffff14;color:#fff}.sidebar nav a.active{box-shadow:inset 3px 0 #3ca8ff}.sidebar nav em{margin-left:auto;font-size:10px;font-style:normal;background:#ffffff12;border-radius:10px;padding:2px 7px}.sidebar nav .disabled{opacity:.48;pointer-events:none}.nav-section{font-size:10px;letter-spacing:1.4px;color:#7188a1;margin:17px 10px 4px}.sidebar-footer{margin-top:auto;padding:12px;display:flex;justify-content:space-between;color:#8498ae;font-size:11px}.main{margin-left:248px;width:calc(100% - 248px)}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 26px;position:sticky;top:0;z-index:20}.topbar>div:nth-child(2){display:flex;flex-direction:column}.topbar small{color:var(--muted);font-size:11px}.top-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#dceaff;color:#1355aa;font-weight:800}.user-meta{display:flex;flex-direction:column;min-width:110px}.icon-btn{border:0;background:transparent;border-radius:10px;padding:9px;cursor:pointer;font-size:17px}.icon-btn:hover{background:var(--bg)}#menuBtn{display:none}.chip{border:1px solid var(--border);padding:7px 11px;border-radius:999px;color:#42546a;font-size:12px}.content{padding:28px;max-width:1540px;margin:auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px}.page-head h1{font-size:29px;margin:2px 0 4px;letter-spacing:-.7px}.page-head p,.card p{color:var(--muted);margin:0}.eyebrow{font-size:10px;letter-spacing:1.5px;color:var(--blue);font-weight:800}.actions{display:flex;gap:8px}.btn{border:0;padding:10px 15px;border-radius:11px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.btn.primary{background:var(--blue);color:white;box-shadow:0 7px 18px #1769e033}.btn.secondary{background:#eaf2ff;color:#1659ae}.btn.ghost{background:white;color:#42546a;border:1px solid var(--border)}.btn.danger{background:#ffe9ed;color:#b62b40}.btn.small{padding:7px 9px;font-size:12px}.btn.wide{width:100%}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.kpi{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:18px;display:flex;align-items:center;gap:15px;box-shadow:var(--shadow)}.kpi-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;font-size:20px}.kpi-icon.blue{background:#e8f1ff;color:var(--blue)}.kpi-icon.cyan{background:#e4fbff;color:var(--cyan)}.kpi-icon.green{background:#e6f8f1;color:var(--green)}.kpi-icon.purple{background:#f0ecff;color:var(--purple)}.kpi small,.kpi em{display:block;color:var(--muted);font-style:normal;font-size:11px}.kpi strong{display:block;font-size:25px;line-height:1.1;margin:3px 0}.grid{display:grid;gap:18px;margin-bottom:18px}.grid.two{grid-template-columns:1.35fr 1fr}.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.card-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.card-head h3,.card h3{margin:0 0 4px;font-size:17px}.card-head a{font-size:12px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:620px}th{text-align:left;color:#8491a1;font-size:10px;text-transform:uppercase;letter-spacing:.7px;border-bottom:1px solid var(--border);padding:10px}td{padding:13px 10px;border-bottom:1px solid #eef2f6;vertical-align:middle}td small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.status{display:inline-block;background:#e8f8f1;color:#11845c;padding:4px 8px;border-radius:999px;font-size:10px;text-transform:capitalize}.status.gray{background:#eef1f4;color:#667484}.danger-chip{background:#ffe9ed;color:#b62b40}.empty{text-align:center;color:var(--muted);padding:28px}.list-item{display:flex;gap:11px;align-items:center;padding:10px 0;border-bottom:1px solid #eef2f6}.list-item:last-child{border-bottom:0}.grow{flex:1}.grow small{display:block;color:var(--muted);font-size:11px}.avatar.soft{background:#eef4ff;color:var(--blue)}.roadmap{display:flex;align-items:center;justify-content:space-between;gap:22px;background:linear-gradient(120deg,#fff,#f6faff)}.roadmap p{max-width:680px}.roadmap-steps{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.roadmap-steps span{border:1px solid var(--border);background:#fff;padding:7px 10px;border-radius:999px;font-size:11px}.roadmap-steps .done{background:#e8f8f1;color:#11845c;border-color:#c8eadc}.alert{padding:13px 15px;border-radius:12px;margin-bottom:18px}.alert.success{background:#e8f8f1;color:#116748}.alert.danger{background:#fff0f2;color:#9d2637}.alert ul{margin:5px 0 0}.form-card{max-width:1050px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.form-grid label,.login-card label{font-size:12px;font-weight:700;color:#44546a}.form-grid input,.form-grid select,.form-grid textarea,.login-card input,.filter input{display:block;width:100%;margin-top:6px;border:1px solid #d9e2ee;background:#fbfcfe;border-radius:10px;padding:11px 12px;outline:none;color:var(--text)}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.login-card input:focus,.filter input:focus{border-color:#68a4ef;box-shadow:0 0 0 3px #1769e012}.form-grid .full{grid-column:1/-1}.form-actions{margin-top:20px;border-top:1px solid var(--border);padding-top:18px}.filter{display:flex;gap:8px;max-width:480px;margin-bottom:16px}.filter input{margin:0}.version-pill{background:linear-gradient(140deg,var(--navy2),var(--blue));color:#fff;border-radius:15px;padding:11px 17px;min-width:130px}.version-pill small{display:block;color:#bdd7fb;font-size:9px}.version-pill strong{font-size:22px}.update-grid{grid-template-columns:1fr 1fr}.dropzone{border:1.5px dashed #aac4e6;background:#f8fbff;border-radius:16px;padding:26px;text-align:center}.upload-icon{width:54px;height:54px;border-radius:17px;background:#e8f1ff;color:var(--blue);display:grid;place-items:center;margin:auto;font-size:27px}.dropzone h3{margin:12px 0 4px}.dropzone input{display:block;margin:16px auto 8px;max-width:260px}.dropzone small{color:var(--muted)}.checks{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:15px 0;color:#526278;font-size:12px}.timeline{list-style:none;margin:0;padding:0}.timeline li{position:relative;padding:0 0 17px 30px}.timeline li:before{content:"✓";position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:#e8f8f1;color:var(--green);display:grid;place-items:center;font-size:10px}.timeline li:after{content:"";position:absolute;left:9px;top:20px;width:1px;height:calc(100% - 18px);background:#dce5ef}.timeline li:last-child:after{display:none}.timeline span{display:block;color:var(--muted);font-size:11px}.login-body{background:#08192e}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1.25fr .85fr}.login-hero{padding:48px;display:flex;flex-direction:column;background:radial-gradient(circle at 20% 30%,#18487d 0,transparent 45%),linear-gradient(150deg,#0b2747,#08182b);color:#fff}.brand.large .brand-mark{width:52px;height:52px}.brand.large b{font-size:30px}.hero-copy{margin:auto 0}.hero-copy .eyebrow{color:#73c8ff}.hero-copy h1{font-size:48px;line-height:1.05;letter-spacing:-1.5px;margin:13px 0 18px}.hero-copy p{color:#b6c7da;font-size:16px;max-width:600px}.hero-pills{display:flex;gap:8px}.hero-pills span{border:1px solid #ffffff26;background:#ffffff0d;border-radius:999px;padding:7px 11px;font-size:11px;color:#c9d9ea}.login-panel{background:#f7f9fc;display:grid;place-items:center;padding:30px}.login-card{width:min(420px,100%);background:#fff;border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow);padding:34px}.login-card h2{font-size:27px;margin:5px 0}.login-card label{display:block;margin-top:16px}.check{display:flex!important;align-items:center;gap:7px;font-weight:500!important}.check input{width:auto!important;margin:0!important}.mobile-logo{display:none}.muted{color:var(--muted)}.center{text-align:center}.phones{display:flex;gap:28px;align-items:flex-start;justify-content:center;flex-wrap:wrap}.phone{width:300px;min-height:620px;background:#f5f8fc;border:8px solid #101923;border-radius:35px;box-shadow:0 18px 45px #1c344c24;overflow:hidden;position:relative;padding-bottom:68px}.phone-bar{height:32px;background:white;padding:9px 17px;font-size:10px;font-weight:700;display:flex;justify-content:space-between}.mobile-hero{background:linear-gradient(155deg,#0c3768,#1769e0);color:#fff;padding:23px 20px 32px}.mobile-hero h2{font-size:26px;margin:1px 0}.mobile-hero span,.mobile-hero small{color:#cde1fb;font-size:10px}.mobile-card{background:#fff;border:1px solid var(--border);border-radius:15px;margin:12px;padding:14px;box-shadow:0 6px 18px #273c5510}.mobile-card.balance{margin-top:-15px}.mobile-card.balance>div{display:flex;justify-content:space-between;align-items:center}.mobile-card.balance b{font-size:20px}.mobile-card.balance.large>b{display:block;font-size:29px;margin:4px 0 12px}.mobile-card p{font-size:11px}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:2px 12px;gap:7px}.quick-grid button{border:0;background:transparent;font-size:9px;font-weight:700;color:#506177}.quick-grid i{width:39px;height:39px;border-radius:13px;background:#e9f2ff;color:var(--blue);display:grid;place-items:center;margin:0 auto 5px;font-style:normal;font-size:15px}.mobile-nav{height:60px;position:absolute;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-around}.mobile-nav b{font-size:16px;color:#8290a2;text-align:center}.mobile-nav small{display:block;font-size:7px}.mobile-nav .qr{width:45px;height:45px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;margin-top:-24px;box-shadow:0 8px 20px #1769e055}.screen-title{background:#fff;padding:11px 16px;font-weight:800;text-align:center;border-bottom:1px solid var(--border)}.statement,.profile-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid #eef2f6;font-size:10px}.statement span,.profile-row span{flex:1}.statement em{font-style:normal;color:var(--green);font-size:8px}.profile-circle{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;margin:24px auto 8px;background:#dfeaff;color:var(--blue);font-weight:800;font-size:25px}.overlay{display:none}@media(max-width:1000px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.grid.two,.update-grid{grid-template-columns:1fr}.roadmap{align-items:flex-start;flex-direction:column}.roadmap-steps{justify-content:flex-start}.login-wrap{grid-template-columns:1fr}.login-hero{display:none}.login-panel{min-height:100vh}.mobile-logo{display:block;font-size:30px;font-weight:900;color:var(--navy);margin-bottom:20px}}@media(max-width:780px){.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none}.main{margin-left:0;width:100%}.overlay.show{display:block;position:fixed;inset:0;background:#0a162d80;z-index:35}.topbar{padding:0 14px}.topbar .chip,.user-meta{display:none}#menuBtn{display:block}.content{padding:18px 14px}.page-head{align-items:flex-start;flex-direction:column}.page-head .actions{width:100%}.kpi-grid{grid-template-columns:1fr 1fr;gap:10px}.kpi{padding:13px;gap:10px}.kpi-icon{width:40px;height:40px}.kpi strong{font-size:20px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.checks{grid-template-columns:1fr}.card{padding:15px}.hero-copy h1{font-size:36px}}@media(max-width:480px){.kpi-grid{grid-template-columns:1fr}.actions{flex-wrap:wrap}.page-head h1{font-size:25px}.phone{width:min(300px,100%)}}

/* SRMS Complete v1.0.0 additions */
:root{--red:#d84a5b;--amber:#d78b20}html[data-theme="dark"]{--bg:#0b1420;--text:#eaf0f7;--muted:#93a3b6;--border:#253447;--shadow:0 8px 30px #0003}html[data-theme="dark"] body,html[data-theme="dark"] .main{background:#0b1420}html[data-theme="dark"] .topbar,html[data-theme="dark"] .card,html[data-theme="dark"] .kpi,html[data-theme="dark"] .login-card{background:#111d2b;color:#eaf0f7;border-color:#253447}html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{background:#0c1724!important;color:#eaf0f7!important;border-color:#314054!important}html[data-theme="dark"] td,html[data-theme="dark"] th,html[data-theme="dark"] .list-item{border-color:#253447}.kpi-8{grid-template-columns:repeat(3,1fr)}.kpi-icon.red{background:#fff0f2;color:var(--red)}.kpi-icon.amber{background:#fff6e6;color:var(--amber)}.kpi-icon.mini{width:34px;height:34px;border-radius:10px;font-size:12px}.status.warn{background:#fff4df;color:#a86910}.notice{display:flex;gap:10px;padding:13px 0;border-bottom:1px solid var(--border);align-items:flex-start}.notice:last-child{border-bottom:0}.notice-dot{width:9px;height:9px;background:var(--blue);border-radius:50%;margin-top:5px}.notice p{margin:4px 0;color:var(--muted);font-size:12px}.badge{font-size:9px;font-weight:900;background:#eaf2ff;color:var(--blue);border-radius:999px;padding:4px 7px}.compact{padding:14px;margin-bottom:18px}.inline-form,.inline{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.inline-form label{font-size:11px;font-weight:800}.inline-form input,.inline-form select,.stack-form input,.stack-form select,.stack-form textarea,.mini-form input,.mini-form select,.pass-card input,.guard-hero input{display:block;width:100%;box-sizing:border-box;border:1px solid #d9e2ee;background:#fbfcfe;border-radius:10px;padding:10px;margin-top:5px}.inline-form input{width:170px}.mini-form{padding:10px;width:230px}.mini-form>*{margin-bottom:6px}.stack-form{display:grid;gap:10px;margin-top:14px}.panel-details{margin-top:15px}.panel-details summary{list-style:none;cursor:pointer}.facility{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid var(--border)}.facility small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.pass-card{text-align:center}.pass-code{font-size:30px;font-weight:900;letter-spacing:3px;margin:15px 0}.qr-look{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;width:190px;height:190px;background:#fff;border:14px solid #fff;margin:10px auto;box-shadow:0 0 0 1px var(--border)}.qr-look i{background:#fff}.qr-look i.on{background:#0a1728}.pass-meta{display:flex;justify-content:space-around;border-top:1px solid var(--border);padding-top:14px}.pass-meta small{display:block;color:var(--muted)}.bar-row{display:grid;grid-template-columns:40px 1fr 100px;align-items:center;gap:10px;margin:14px 0}.bar{height:10px;background:#edf2f7;border-radius:99px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,#1769e0,#23a6e8);border-radius:99px}.bar-row b{text-align:right;font-size:12px}.metric-list>div{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--border)}.metric-list b{font-size:20px}.guard-hero{background:linear-gradient(135deg,#0c3768,#1769e0);color:white}.guard-hero form{display:flex;gap:12px;align-items:end}.guard-hero label{flex:1;font-weight:800;font-size:12px}.guard-hero input{font-size:20px;font-weight:900;letter-spacing:1px;background:white}.filter select{border:1px solid #d9e2ee;background:white;border-radius:10px;padding:11px}.top-title{display:flex;flex-direction:column;flex:1;margin-left:10px}.top-title small{font-size:10px;color:var(--muted)}.nav-label{font-size:9px;letter-spacing:1px;color:#6e819a;padding:17px 14px 6px;font-weight:800}.sidebar nav{overflow:auto;flex:1}.sidebar{display:flex;flex-direction:column}.sidebar-foot{padding:15px 20px;border-top:1px solid #17314f;color:#9eb2c9;display:flex;justify-content:space-between}.sidebar-foot b{color:white}.pagination{display:flex;gap:4px;list-style:none;padding:14px 0 0}.page-link{display:block;padding:7px 10px;border:1px solid var(--border);border-radius:8px;background:#fff}.active>.page-link{background:var(--blue);color:#fff}.disabled>.page-link{opacity:.4}@media(max-width:1100px){.kpi-8{grid-template-columns:repeat(2,1fr)}}@media(max-width:780px){.kpi-8{grid-template-columns:1fr 1fr}.guard-hero form{flex-direction:column;align-items:stretch}.top-title small{display:none}}@media(max-width:480px){.kpi-8{grid-template-columns:1fr}.pass-code{font-size:23px}.qr-look{width:150px;height:150px}.bar-row{grid-template-columns:35px 1fr 75px}}

.qr-image{display:block;width:220px;height:220px;margin:12px auto;background:#fff;border-radius:12px;border:1px solid var(--border)}

.resident-grid{display:grid;grid-template-columns:330px 1fr;gap:24px;align-items:start}.resident-phone{position:sticky;top:85px}.portal-panels{display:grid;gap:14px}.portal-panels details summary{cursor:pointer;list-style:none}.scan-video{width:min(520px,100%);margin:16px auto 0;border-radius:14px;background:#000;display:block}@media(max-width:900px){.resident-grid{grid-template-columns:1fr}.resident-phone{position:relative;top:0;margin:auto}}

.project-name{display:flex;align-items:center;gap:10px}.project-name img{width:38px;height:38px;object-fit:contain;border-radius:9px;border:1px solid var(--border)}.log-box{max-height:470px;overflow:auto;background:#07111e;color:#bfe0ff;padding:14px;border-radius:12px;font-size:10px;white-space:pre-wrap}
