:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#18332d;background:#f5f7f6;font-size:14px;--green:#16775e;--muted:#78867f;--border:#e3e9e5}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--border);border-radius:8px;padding:10px 15px;background:white;color:#34534a}button:hover{background:#eef5f1}button:disabled{opacity:.5;cursor:wait}a{text-decoration:none;color:inherit}[hidden]{display:none!important}.primary{background:var(--green);color:white;border-color:var(--green);font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:25px}.primary:hover{background:#0f614b}.quiet{background:transparent;border:0;padding:7px 10px}.danger{color:#b64141}.brand-icon{width:43px;height:43px;display:grid;place-items:center;background:#16775e;border-radius:13px;color:white;font-size:32px;font-weight:600}.brand{display:flex;align-items:center;gap:12px;font-weight:750;font-size:23px;letter-spacing:-1px}.brand span:not(.brand-icon){display:block;font-size:11px;font-weight:400;letter-spacing:.1px;margin-top:3px;color:var(--muted)}aside{position:fixed;inset:0 auto 0 0;width:242px;background:white;border-right:1px solid var(--border);padding:30px 22px;display:flex;flex-direction:column}.nav-label{font-size:10px;letter-spacing:1.4px;color:#8a9992;margin:43px 13px 13px}nav a{display:flex;align-items:center;gap:13px;margin:5px 0;border-radius:8px;padding:13px 14px;color:#6b7a73;font-weight:500}nav a.active{background:#e9f4ee;color:var(--green);font-weight:650}nav a:hover{background:#f2f6f3}.nav-icon{font-size:19px;width:21px;text-align:center}.sidebar-bottom{margin-top:auto;font-size:12px;color:#537064;padding:14px 9px;border-top:1px solid var(--border)}.sidebar-bottom small{display:block;color:var(--muted);font-size:10px;margin-top:10px}.pulse{display:inline-block;width:7px;height:7px;border-radius:50%;background:#2ba279;margin-right:6px}.main{margin-left:242px}header{height:77px;display:flex;align-items:center;justify-content:space-between;padding:0 42px;background:white;border-bottom:1px solid var(--border);color:#7a8981;font-size:12px}.header-right{display:flex;align-items:center;gap:15px}.avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#e6eee7;color:#47624f;font-weight:600}main{padding:36px 42px;min-height:calc(100vh - 127px);max-width:1600px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:29px;gap:16px}.eyebrow{font-size:10px;letter-spacing:1.7px;color:var(--green);font-weight:700}h1{font-size:29px;letter-spacing:-.9px;margin:9px 0 8px;font-weight:650}h2{font-size:17px;letter-spacing:-.3px;margin:0 0 10px}p{color:var(--muted);line-height:1.7;margin:0}.hero{background:#133f33;color:white;padding:30px 34px;border-radius:13px;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;position:relative;overflow:hidden}.hero h2{font-size:24px;font-weight:500}.hero p{color:#b4cfc1;font-size:13px;max-width:500px}.hero .primary{background:#e9f4cb;border-color:#e9f4cb;color:#234737;white-space:nowrap}.hero .eyebrow{color:#8bb79d;display:block;margin-bottom:16px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:25px}.stat{background:white;border:1px solid var(--border);border-radius:11px;padding:23px}.stat-top{display:flex;justify-content:space-between;color:#6d7d74;font-size:12px}.stat-icon{background:#eef5ef;color:#55836d;padding:6px 9px;border-radius:7px}.stat strong{display:block;font-size:32px;font-weight:600;letter-spacing:-1px;margin:12px 0 10px}.stat small{font-size:11px;color:#849188}.panel{background:white;border:1px solid var(--border);border-radius:11px;padding:24px;margin-bottom:22px;min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:21px}.panel-head h2{margin:0}.panel-head small{color:var(--muted)}.grid-two{display:grid;grid-template-columns:1.65fr 1fr;gap:22px}.chart{height:173px;display:flex;gap:16px;align-items:end;padding:15px 8px 0;border-bottom:1px solid var(--border);margin-bottom:14px}.chart-column{height:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px}.bar{width:70%;min-height:3px;background:#81b49a;border-radius:5px 5px 0 0}.chart-column small{font-size:10px;color:#89958c;margin-bottom:8px}.help-step{display:flex;gap:14px;margin-top:19px}.step-num{height:27px;width:27px;flex-shrink:0;background:#eff5ec;border-radius:50%;display:grid;place-items:center;color:#668463;font-size:11px}.help-step b{display:block;font-size:12px;margin:2px 0 4px}.help-step p{font-size:11px;line-height:1.5}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:10px;letter-spacing:.6px;text-transform:uppercase;color:#93a097;font-weight:500;background:#f8faf8}th,td{padding:14px 13px;border-bottom:1px solid #edf0ed}td{font-size:12px;color:#5f7268}td.message{max-width:270px;overflow:hidden;text-overflow:ellipsis}tbody tr:last-child td{border-bottom:0}.badge{display:inline-block;padding:5px 9px;border-radius:5px;background:#eff2ee;color:#7c887d;font-size:10px}.badge.connected,.badge.sent,.badge.received{background:#e8f4ec;color:#287851}.badge.queued,.badge.qr,.badge.connecting,.badge.sending{background:#fff4db;color:#9a772b}.badge.failed,.badge.unknown{background:#fbeceb;color:#b25b54}.empty{text-align:center;padding:40px 20px;white-space:normal}.empty .empty-icon{display:block;font-size:30px;color:#96ad9d;margin-bottom:14px}.empty b{display:block;color:#60776a;margin-bottom:8px;font-weight:500}.empty p{font-size:12px}.device-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.device-card .device-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.device-card .phone-icon{background:#ecf4ee;border-radius:10px;padding:13px;font-size:25px;color:#4d8768}.device-card p{font-size:12px}.device-card .actions{display:flex;gap:8px;margin-top:23px;flex-wrap:wrap}.device-card .qr-code{width:200px;max-width:100%;display:block;margin:15px auto}.device-card .error{color:#a25b43;font-size:11px;margin-top:8px}label{display:block;font-size:12px;color:#4f675c;margin-bottom:17px}input,select,textarea{display:block;width:100%;border:1px solid #dce5de;border-radius:7px;padding:11px 13px;color:#324d40;background:white;margin-top:8px;outline:0}input:focus,select:focus,textarea:focus{border-color:#449671;box-shadow:0 0 0 3px #edf5ee}textarea{min-height:135px;resize:vertical}label small{display:block;color:#8a998f;font-size:11px;margin-top:7px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}dialog{border:1px solid var(--border);border-radius:13px;padding:26px;width:480px;max-width:calc(100% - 30px);box-shadow:0 24px 80px #123c3326}dialog::backdrop{background:#123c334d}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}dialog .primary{width:100%}.toolbar{display:flex;gap:12px;margin-bottom:20px;align-items:center}.toolbar input{margin:0;max-width:320px}.toolbar select{margin:0;max-width:200px}.rule-content{white-space:pre-wrap;font-size:13px;color:#5a7465;background:#f7faf7;padding:17px;border-radius:7px}.rule-meta{font-size:11px;color:#88998e}.code{background:#122d24;color:#c4dece;padding:20px;border-radius:9px;white-space:pre-wrap;overflow-wrap:anywhere;font-family:Consolas,monospace;font-size:12px;line-height:1.8}.api-key{display:flex;gap:10px;align-items:center}.api-key input{margin:0;font-family:Consolas,monospace}.notice{padding:15px 18px;background:#f0f5e8;border-radius:8px;font-size:12px;color:#71805e;margin-top:20px;line-height:1.6}footer{padding:17px 42px;border-top:1px solid var(--border);display:flex;justify-content:space-between;font-size:10px;color:#90a096}#toast{position:fixed;bottom:25px;right:25px;max-width:450px;padding:16px 23px;background:#183f32;color:white;border-radius:10px;box-shadow:0 6px 25px #133f3320;z-index:10;line-height:1.5}.login{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;background:white}.login-brand{background:#143f33;color:#f0f5de;padding:12vh 10%;display:flex;flex-direction:column;justify-content:center}.login-brand h1{font-size:43px;line-height:1.25;margin:40px 0 20px;font-weight:500}.login-brand p{color:#aecab9}.login-brand>span{margin-top:80px;letter-spacing:2px;font-size:10px;color:#94b89d}.login-form{align-self:center;padding:40px 15%;max-width:650px}.login-form h2{font-size:27px;margin:15px 0}.login-form>p{margin-bottom:30px;font-size:13px}.login-form button{width:100%;margin-top:8px;justify-content:space-between}.login-form #login-error{color:#b45043;margin:15px 0}.selection{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;max-height:160px;overflow:auto}.selection label{display:flex;gap:7px;align-items:center;background:#f4f7f3;padding:8px;border-radius:6px;margin:0}.selection input{width:auto;margin:0}.tip{font-size:12px;margin-bottom:18px}@media(min-width:1500px){main{padding-top:45px}}@media(max-width:1100px){aside{width:200px}.main{margin-left:200px}main,header{padding-left:25px;padding-right:25px}.stats{gap:10px}.stat{padding:17px}.device-grid{grid-template-columns:repeat(2,1fr)}.grid-two{grid-template-columns:1fr}.login-brand h1{font-size:34px}}@media(max-width:760px){aside{position:static;width:100%;padding:16px;border-right:0;border-bottom:1px solid var(--border)}.brand{font-size:20px}.nav-label,.sidebar-bottom{display:none}nav{display:flex;overflow:auto;margin-top:12px;gap:4px}nav a{white-space:nowrap;padding:10px;font-size:12px}nav .nav-icon{display:none}.main{margin:0}header{height:58px;padding:0 18px}main{padding:24px 18px}.stats{grid-template-columns:repeat(2,1fr)}.hero{padding:24px;align-items:start;flex-direction:column}.hero h2{font-size:21px}.page-heading{align-items:start}h1{font-size:25px}.device-grid,.form-grid{grid-template-columns:1fr}.panel{padding:18px}.login{grid-template-columns:1fr}.login-brand{padding:35px}.login-brand h1{font-size:29px;margin:20px 0 12px}.login-brand>span{display:none}.login-form{padding:35px;width:100%}.header-right{gap:7px}footer{padding:15px 18px}.api-key{flex-wrap:wrap}.toolbar{flex-wrap:wrap}}

a.primary{padding:11px 17px;border-radius:8px;font-size:13px}.actions{margin-top:16px}

/* Nahitu: navy identity, readable operational surfaces. */
:root{color:#203449;background:#f3f6f7;--green:#08756b;--muted:#516474;--border:#dbe2e8;font-size:15px}
button,input,select{min-height:44px}button:focus-visible,a:focus-visible{outline:3px solid #4187bf;outline-offset:3px}
aside{background:#142c39;color:#edf2f7;border-color:#304957;padding:28px 18px}
.brand{flex-direction:column;align-items:start;gap:8px}.workspace-logo{width:155px;height:auto}.brand .brand-subtitle{color:#b7cad8!important;font-size:12px!important;letter-spacing:.1px}
nav a{color:#c2d3de;font-size:14px}nav a.active{background:#294958;color:#fff}nav a:hover{background:#203d4b}.nav-label,.sidebar-bottom,.sidebar-bottom small{color:#b7cad8}.sidebar-bottom{border-color:#405667}
header{color:#516474}h1{font-weight:700;font-size:32px}h2{font-size:20px}.page-heading p{max-width:65ch}.eyebrow{font-size:11px;letter-spacing:.5px}
.hero{background:#142c39}.hero .eyebrow,.hero p{color:#c2d3de}.hero .primary{background:#8bbce5;border-color:#8bbce5;color:#142c39}.hero h2{font-weight:650}
.stat-top,.stat small,.panel-head small,.chart-column small,label small,.rule-meta{color:#516474}.stat-top{font-size:13px}.stat small{font-size:12px}.stat strong{font-weight:700}
th{font-size:12px;color:#516474;background:#f3f6f7;letter-spacing:.2px}td{font-size:14px;color:#203449;padding:16px 13px}tbody tr:hover{background:#f7f9fa}.badge{font-size:12px;font-weight:600}.badge.queued,.badge.qr,.badge.connecting,.badge.sending{color:#765212}.badge.failed,.badge.unknown{color:#9a3434}
label{font-size:14px;color:#203449}.help-step b{font-size:14px}.help-step p,.empty p,.notice{font-size:13px}.empty b{color:#203449}.notice{color:#46563b}input:focus,textarea:focus,select:focus{box-shadow:0 0 0 3px #d5eee9}
footer{font-size:12px;color:#516474;gap:14px;flex-wrap:wrap}
.login{background:#f3f6f7}.login-brand{background:#142c39;color:#edf2f7}.login-logo{width:210px;max-width:100%;height:auto}.login-brand h1{font-weight:700;font-size:44px;letter-spacing:-1.5px}.login-brand p,.login-brand>span{color:#c2d3de}.login-brand>span{letter-spacing:.2px;font-size:14px;margin-top:48px}.login-form{max-width:620px;padding:48px 12%;width:100%}.login-form h2{font-size:30px}.login-form>p{font-size:15px}.login-form label{margin-bottom:22px}.login-form #login-error{color:#a32f2f}
@media(max-width:760px){.brand{gap:5px}.workspace-logo{width:140px}aside{padding:18px}nav a{min-height:44px}header{height:auto;min-height:64px;gap:12px;flex-wrap:wrap;padding:12px 18px}.page-heading{flex-wrap:wrap}.login-brand{padding:32px 24px}.login-brand h1{font-size:32px;letter-spacing:-.8px}.login-logo{width:174px}.login-form{padding:32px 24px}.toolbar input,.toolbar select{max-width:none;flex:1 1 180px}.stat{padding:16px}.stat-top{gap:8px}.panel-head{flex-wrap:wrap}.header-right{flex-wrap:wrap}.chart{gap:8px}footer{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* Brand surfaces stay neutral; message status badges retain their meaning. */
:root{color:#252522;background:#f3f2ee;--green:#45453f;--muted:#5b5b55;--border:#dddcd6}
button{color:#45453f}button:hover{background:#eeede8}
.primary{background:#45453f;color:#fff;border-color:#45453f}.primary:hover{background:#33332e}
aside{background:#141416;color:#f5f4f0;border-color:#38383f}
aside nav a{color:#c0bfc6}aside nav a:hover{background:#2b2b31}
aside nav a.active{background:#eae7e0;color:#202023}
.nav-label,.sidebar-bottom,.sidebar-bottom small{color:#c0bfc6}.sidebar-bottom{border-color:#38383f}
header{color:#5b5b55}.avatar{background:#eae9e3;color:#45453f}
.hero{background:#202023;color:#f5f4f0}.hero p,.hero .eyebrow{color:#c0bfc6}
.hero .primary{background:#eae7e0;color:#202023;border-color:#eae7e0}
.stat-top,.stat small,.panel-head small,.chart-column small,label small,.rule-meta,footer{color:#5b5b55}
.stat-icon,.device-card .phone-icon,.step-num{background:#eeede8;color:#45453f}
.bar{background:#74746b}th{background:#eeede8;color:#5b5b55}td{color:#252522}
tbody tr:hover{background:#f3f2ee}td,th{border-color:#dddcd6}
label,.empty b{color:#252522}input,select,textarea{color:#252522;border-color:#a7a79d}
input:focus,select:focus,textarea:focus{border-color:#45453f;box-shadow:0 0 0 3px #dddcd6}
.login{background:#f3f2ee}
.login-brand{background:linear-gradient(#141416b8,#141416e8),url('/charcoal-hero.webp') center/cover;color:#f5f4f0}
.login-brand p,.login-brand>span{color:#c0bfc6}
.login-form .eyebrow{color:#5b5b55}.login-form h2{color:#252522}
dialog{color:#252522;background:#fff}dialog::backdrop{background:#14141699}
:is(button,a,input,textarea,select):focus-visible{outline:2px solid currentColor;outline-offset:3px}
button,input,select{min-height:44px}
@media(max-width:760px){
  aside nav a{min-height:44px}
  .login-brand{padding:32px 24px}
  .login-brand h1{font-size:32px;line-height:1.18}
  .login-brand>span{margin-top:24px}
  .login-form{padding:32px 24px}
  .hero{padding:24px}
}

.divider{display:flex;align-items:center;gap:12px;margin:22px 0 16px;color:#78867f;font-size:13px}.divider:before,.divider:after{content:'';flex:1;height:1px;background:var(--border)}
.google-btn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:11px 17px;border:1px solid var(--border);border-radius:8px;background:#fff;color:#252522;font-weight:600}.google-btn:hover{background:#f3f6f7}.google-btn:focus-visible{outline:2px solid var(--green);outline-offset:2px}
