:root{--navy:#071426;--red:#e3212b;--muted:#637185;--line:#dce3ec;--paper:#f3f6f9}*{box-sizing:border-box}body{margin:0;color:var(--navy);background:var(--paper);font-family:Arial,Helvetica,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);padding:11px 16px;border-radius:6px;background:white;color:var(--navy)}button:hover{border-color:var(--navy)}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #2683df;outline-offset:2px}[hidden]{display:none!important}.login-screen{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:7vw;gap:7vw;background:linear-gradient(115deg,#071426 0 49%,#e7edf4 49%)}.login-brand{color:white}.login-brand img{width:100px;height:100px;object-fit:contain;background:white;border-radius:18px;padding:8px}.login-brand h1{font-size:clamp(32px,4vw,60px);max-width:450px;letter-spacing:-2px}.login-brand p{color:#bfccdf}.card{background:#fff;border:1px solid var(--line);padding:28px;border-radius:10px;min-width:0}.login-screen .card{max-width:470px;border-top:5px solid var(--red);width:100%}h1,h2,h3{margin:0 0 15px}h1{font-size:30px}h2{font-size:22px}p{line-height:1.6}.eyebrow{color:var(--red);font-size:11px;font-weight:bold;letter-spacing:2px;text-transform:uppercase}label{display:grid;gap:7px;font-size:13px;font-weight:600;margin:15px 0}input,textarea,select{padding:12px;border:1px solid #cbd5e1;border-radius:5px;min-width:0;width:100%;background:white}textarea{min-height:110px;resize:vertical}.primary{background:var(--red);color:white;border-color:var(--red);font-weight:700}.login-screen .primary{width:100%;margin-top:12px}.message{color:#b11b23;font-size:14px}.main{margin-left:235px}aside{position:fixed;inset:0 auto 0 0;width:235px;background:var(--navy);color:white;padding:28px 16px;overflow:auto}.brand{width:195px;height:75px;object-fit:contain;background:white;border-radius:5px;margin-bottom:28px}nav{display:grid;gap:7px}nav button{text-align:left;background:transparent;color:#d0daea;border:0}nav button.active{background:var(--red);color:#fff}header{min-height:76px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 30px}header>div{display:flex;gap:8px}main{padding:32px;max-width:1550px;margin:auto}.heading{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-bottom:24px}.heading p{margin:8px 0;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:25px}.metric b{display:block;font-size:32px;margin:12px 0}.muted,small{color:var(--muted)}.table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:8px}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}td,th{padding:15px;border-bottom:1px solid var(--line);vertical-align:top}th{background:#eaf0f6;font-size:12px;text-transform:uppercase;letter-spacing:.4px}td button{padding:6px 10px}.empty{padding:30px;color:var(--muted);text-align:center}.badge{display:inline-block;background:#eef2f7;border-radius:5px;padding:5px 8px;font-size:12px}.actions{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.event{border-left:3px solid #cad5e4;padding:10px 16px;margin:12px 0}.event p{white-space:pre-wrap;overflow-wrap:anywhere}dialog{border:0;border-radius:12px;padding:32px;width:min(720px,calc(100% - 28px));max-height:90vh;box-shadow:0 20px 90px #0005}dialog::backdrop{background:#071426a8}#close-dialog{float:right;border:0;font-size:25px;padding:0 8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.span-all{grid-column:1/-1}#notice{position:fixed;bottom:20px;right:20px;max-width:450px;padding:16px 22px;color:white;background:var(--navy);border-radius:6px;z-index:50}a{color:#075fa9}pre{white-space:pre-wrap;overflow-wrap:anywhere}.line-item{display:grid;grid-template-columns:2fr .7fr 1fr .8fr;gap:8px;padding:12px 0;border-bottom:1px solid var(--line)}@media(max-width:760px){.login-screen{grid-template-columns:1fr;padding:25px 18px;gap:25px;background:linear-gradient(160deg,#071426 0 35%,#e7edf4 35%)}.login-brand{display:flex;align-items:center;gap:18px}.login-brand img{width:68px;height:68px}.login-brand h1{font-size:26px;letter-spacing:-.5px;margin:0}.login-brand p{display:none}.login-screen .card{max-width:none}aside{position:static;width:100%;padding:14px}.brand{width:120px;height:40px;margin:0 0 10px}nav{display:flex;overflow:auto;gap:4px}nav button{white-space:nowrap;font-size:13px;padding:10px}.main{margin-left:0}header{padding:14px;align-items:start;font-size:13px;flex-wrap:wrap}header button{font-size:12px;padding:8px}main{padding:20px 14px}.heading{flex-wrap:wrap}h1{font-size:26px}.grid{grid-template-columns:1fr 1fr;gap:10px}.card{padding:18px}.metric b{font-size:25px}.form-grid{grid-template-columns:1fr}.line-item{grid-template-columns:1fr 1fr}.line-item label:first-child{grid-column:1/-1}dialog{padding:22px}td,th{padding:12px}.mobile-mode .brand{width:45px;height:45px;object-fit:contain}.mobile-mode .grid{grid-template-columns:1fr 1fr}}

.login-brand .welcome-logo{width:min(340px,100%);height:auto;max-height:150px;object-fit:contain;border-radius:8px;padding:16px}.text-button{background:none;border:0;text-decoration:underline;font-size:13px;margin-top:12px}.install-note{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.install-note p{font-size:13px;margin:8px 0 12px;color:var(--muted)}.brand-preview{width:100%;max-width:350px;height:140px;object-fit:contain;background:white}.icon-preview{width:160px;height:160px;object-fit:contain;background:white}@media(max-width:760px){.login-brand{flex-wrap:wrap}.login-brand .welcome-logo{width:260px;max-width:100%;height:auto;padding:10px}.login-brand h1{font-size:22px;width:100%}}

/* Keep the phone app within its viewport; tables and navigation scroll locally. */
@media(max-width:760px){html,body{width:100%;max-width:100%;overflow-x:clip;overscroll-behavior-x:none}body{touch-action:pan-x pan-y;-webkit-text-size-adjust:100%;text-size-adjust:100%}#workspace,.main,main,aside,header,.heading,.form-grid,.table-wrap{min-width:0;max-width:100%}header>div{flex-wrap:wrap}#identity,.heading h1,.metric b{overflow-wrap:anywhere}input,select,textarea{font-size:16px}.table-wrap,nav{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.grid,.mobile-mode .grid{grid-template-columns:repeat(2,minmax(0,1fr))}#notice{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));max-width:calc(100% - 24px);overflow-wrap:anywhere}dialog{max-height:85dvh;overflow:auto}button{touch-action:manipulation}}

/* Mobile navigation: full company logo and an accessible expandable menu. */
#mobile-menu-toggle{display:none}
@media(max-width:760px){
#workspace aside{position:sticky;top:0;z-index:20;overflow:visible;padding:10px 14px}
.mobile-brand-bar{display:flex;align-items:center;justify-content:space-between;gap:16px}
#workspace .brand,.mobile-mode #workspace .brand{width:180px;max-width:calc(100% - 64px);height:64px;object-fit:contain;margin:0;padding:4px;background:white}
#mobile-menu-toggle{display:flex;align-items:center;justify-content:center;width:46px;height:46px;padding:0;font-size:27px;background:transparent;color:white;border:1px solid #647389}
#workspace nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--navy);padding:10px 14px 18px;max-height:calc(100dvh - 90px);overflow-y:auto;overflow-x:hidden;box-shadow:0 12px 18px #07142640}
#workspace aside.menu-open nav{display:grid;gap:4px}
#workspace nav button{width:100%;min-height:44px;white-space:normal;font-size:15px;text-align:left}
}
