
/* v0.2.1 product GUI refresh */
:root{font-family:'DM Sans',Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#172b4d;background:#f5f7fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}.app-frame{min-height:100vh;display:flex}.sidebar{width:258px;background:#fff;border-right:1px solid #e5eaf2;display:flex;flex-direction:column;padding:22px 16px 16px;position:fixed;inset:0 auto 0 0;z-index:5}.brand{display:flex;align-items:center;gap:11px;color:#153d78;text-decoration:none;font-size:17px;font-weight:800;padding:2px 8px 24px}.brand-mark{width:35px;height:35px;border-radius:11px;background:#1f5fc4;color:white;display:grid;place-items:center;font-size:25px}.brand small{display:block;font-size:9px;letter-spacing:1.35px;color:#8292aa;font-weight:800;margin-top:2px}.workspace{display:flex;align-items:center;gap:10px;padding:12px 10px;border:1px solid #e7edf6;border-radius:11px;background:#fbfcfe;margin-bottom:25px}.workspace-icon,.avatar,.top-avatar{width:32px;height:32px;border-radius:9px;background:#e8f0ff;color:#1f5fc4;display:grid;place-items:center;font-weight:800}.workspace>span:nth-child(2){min-width:0;flex:1}.workspace small,.workspace b{display:block}.workspace small{font-size:9px;letter-spacing:1px;color:#8998ad;font-weight:800}.workspace b{font-size:12px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chevron{color:#8c9ab0}.nav-label{font-size:10px;letter-spacing:1.2px;color:#9aa7b9;font-weight:800;padding:0 10px 9px}.side-nav{display:grid;gap:4px;margin-bottom:25px}.side-nav a{height:42px;border-radius:8px;padding:0 12px;display:flex;align-items:center;gap:12px;text-decoration:none;color:#64758f;font-size:13px;font-weight:650}.side-nav a span{font-size:17px;width:18px;text-align:center}.side-nav a.active{background:#edf4ff;color:#1d59b6;font-weight:800}.side-note{display:flex;gap:10px;align-items:center;border:1px solid #e5edf8;background:#f8fbff;padding:12px 10px;border-radius:10px}.note-icon{width:28px;height:28px;border-radius:8px;background:#e4f7ec;color:#16804a;display:grid;place-items:center}.side-note b,.side-note small{display:block}.side-note b{font-size:11px}.side-note small{font-size:10px;color:#8291a8;margin-top:3px}.sidebar-bottom{margin-top:auto}.sensor-status{display:flex;align-items:center;gap:9px;padding:12px 9px;border-bottom:1px solid #edf0f5;margin-bottom:12px}.sensor-status i,.env-pill i{width:7px;height:7px;border-radius:50%;background:#d99b28;display:inline-block}.sensor-status b,.sensor-status small{display:block}.sensor-status b{font-size:11px}.sensor-status small{font-size:9px;color:#8998ad;margin-top:3px}.user-mini{display:flex;gap:9px;align-items:center;padding:8px}.user-mini span:nth-child(2){min-width:0}.user-mini b,.user-mini small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:155px}.user-mini b{font-size:10px}.user-mini small{font-size:10px;color:#8998ad;margin-top:3px}.signout{margin:8px 8px 0;background:none;border:0;color:#75849b;font-size:11px;cursor:pointer}.main-area{margin-left:258px;width:calc(100% - 258px);min-height:100vh;display:flex;flex-direction:column}.app-topbar{height:62px;background:#fff;border-bottom:1px solid #e8edf4;display:flex;align-items:center;justify-content:space-between;padding:0 38px}.breadcrumbs{font-size:12px;color:#8795aa}.breadcrumbs span{padding:0 9px;color:#c1cad6}.top-actions{display:flex;align-items:center;gap:16px}.env-pill{font-size:10px;color:#657790;background:#f5f7fa;padding:7px 10px;border-radius:20px}.env-pill i{background:#21a366;margin-right:5px}.top-avatar{width:30px;height:30px;border-radius:50%}.content-area{width:100%;max-width:1500px;margin:0 auto;padding:34px 38px 28px;flex:1}.main-area footer{border-top:1px solid #e8edf4;text-align:left;padding:16px 38px;color:#96a2b4;font-size:10px}.main-area footer span{padding:0 5px}.welcome-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.eyebrow,.section-kicker{font-size:10px;letter-spacing:1.25px;font-weight:800;color:#6481a8;margin-bottom:8px}.welcome-row h1{font-size:27px;letter-spacing:-.7px;margin:0 0 7px;color:#172d4f}.lead{font-size:13px;color:#7b8ba3}.primary,.secondary,.ghost{border:0;border-radius:8px;padding:11px 15px;font-weight:750;cursor:pointer;font-size:12px}.primary{background:#1f5fc4;color:white;box-shadow:0 3px 7px #1f5fc425}.primary:hover{background:#174fa9}.secondary{background:#fff;color:#24569d;border:1px solid #d5dfed}.button-link{display:inline-flex;align-items:center;gap:7px;text-decoration:none}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:0 0 18px}.metrics article{background:white;border:1px solid #e4eaf2;border-radius:12px;padding:17px;display:flex;align-items:center;gap:13px;box-shadow:0 2px 7px #183a6506}.metrics article span,.metrics article strong,.metrics article small{display:block}.metrics article span{font-size:11px;color:#7d8ca3;font-weight:600}.metrics article strong{font-size:25px;color:#172d4f;margin:3px 0}.metrics article small{font-size:9px;color:#9aa6b7}.metric-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-size:18px;font-weight:800}.metric-icon.blue{background:#eaf2ff;color:#2563c1}.metric-icon.violet{background:#f1edff;color:#7355c9}.metric-icon.red{background:#fff0ef;color:#d44d46}.metric-icon.green{background:#e9f8ef;color:#21935b}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.panel{background:white;border:1px solid #e4eaf2;border-radius:12px;padding:19px;margin:0 0 16px;box-shadow:0 2px 8px #183a6506}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-head h2{font-size:15px;margin:0;color:#1a3154}.section-kicker{font-size:9px;margin-bottom:5px}.subtle-tag,.count-tag{font-size:10px;color:#7385a0;background:#f4f7fb;padding:6px 9px;border-radius:20px}.coverage-item{display:flex;align-items:center;gap:12px;border-top:1px solid #eff2f7;padding:13px 0}.control-number{font-size:12px;font-weight:800;color:#1f5fc4;background:#edf4ff;border-radius:7px;padding:8px 9px}.coverage-copy{flex:1}.coverage-copy b,.coverage-copy small{display:block}.coverage-copy b{font-size:11px}.coverage-copy small{font-size:10px;color:#8492a8;margin-top:4px}.coverage-state{font-size:9px;color:#1a8251;background:#eaf7ef;padding:5px 8px;border-radius:20px;font-weight:800}.notice{margin-top:7px;background:#f5f8fd;border:1px solid #e8eef7;color:#73849d;padding:10px 12px;border-radius:8px;font-size:10px;line-height:1.5}.notice b{color:#526984}.event{display:flex;gap:10px;align-items:flex-start;padding:11px 0;border-top:1px solid #eff2f7}.event b,.event small{display:block}.event b{font-size:11px}.event small{color:#8997aa;margin-top:4px;font-size:10px}.severity{font-size:9px;text-transform:uppercase;font-weight:800;padding:5px 7px;border-radius:5px;background:#fff0e9;color:#b94c24}.severity.critical{background:#ffe8e8;color:#b42318}.severity.high{background:#fff1e2;color:#a45100}.severity.medium{background:#fff8dc;color:#8b6a00}.empty{padding:25px;text-align:center;color:#8492a8;font-size:12px}.compact-empty{display:grid;justify-items:center;gap:6px}.compact-empty b,.empty-onboard b{color:#425875}.compact-empty small,.empty-onboard small{max-width:340px;line-height:1.5;color:#8b99ad}.empty-icon{width:34px;height:34px;border-radius:50%;background:#eaf7ef;color:#218653;display:grid;place-items:center;font-size:17px;margin-bottom:4px}.pages-panel{margin-top:0}.panel-subtitle{font-size:10px;color:#8b99ad;margin-top:5px}.pages-table-wrap{overflow-x:auto}.pages-table{width:100%;border-collapse:collapse;font-size:11px}.pages-table th{text-align:left;color:#91a0b4;font-size:9px;letter-spacing:.7px;background:#f8fafd;padding:11px}.pages-table td{padding:13px 11px;border-top:1px solid #eff2f7;vertical-align:middle}.page-name{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}.page-icon{width:31px;height:31px;border-radius:8px;background:#edf4ff;color:#2762ba;display:grid;place-items:center}.page-name b,.page-name small{display:block}.page-name b{font-size:11px}.page-name small{font-size:10px;color:#8795a9;margin-top:4px;max-width:430px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.frequency-pill{background:#f2f5fa;color:#61748f;padding:6px 9px;border-radius:20px;font-size:9px;font-weight:700}.date-cell{color:#8492a8}.row-action{color:#245db0;text-decoration:none;font-weight:750;font-size:10px;white-space:nowrap}.row-action span{font-size:14px;padding-left:4px}.empty-onboard{display:grid;justify-items:center;gap:8px;padding:34px 15px}.empty-onboard .primary{margin-top:7px}.flash{padding:11px 14px;border-radius:8px;margin-bottom:14px;background:#eaf7ef;color:#176c40;font-size:12px}.flash.error{background:#fff0ef;color:#ad3028}.auth-shell{max-width:440px;margin:70px auto;padding:0 18px}.auth-card{background:white;border:1px solid #e4eaf2;border-radius:14px;padding:28px;box-shadow:0 8px 30px #193c6910}.auth-card h1{font-size:25px;margin:0 0 20px}.auth-card form,.form-panel form{display:grid;gap:15px}.auth-card label,.form-panel label{display:grid;gap:7px;font-size:12px;font-weight:700}.auth-card input,.form-panel input,.form-panel select{border:1px solid #d5dfed;border-radius:8px;padding:11px;font:inherit}.form-panel{max-width:700px;background:white;border:1px solid #e4eaf2;border-radius:12px;padding:24px}.form-panel h1{font-size:24px}.crumb{font-size:12px;color:#8795aa;margin-bottom:18px}.crumb a{color:#245db0}.metrics:not(.dashboard-metrics){grid-template-columns:repeat(4,1fr)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.control{display:grid;grid-template-columns:70px 1fr auto;align-items:center;padding:14px 0;border-top:1px solid #edf1f7;gap:10px}.control b{color:#1d58ae}.control span{font-size:14px}.control em{font-size:12px;color:#28704c;background:#e9f8ef;padding:6px 9px;border-radius:20px;font-style:normal}.page-row{display:flex;align-items:center;gap:14px;padding:15px 0;border-top:1px solid #edf1f7;color:inherit;text-decoration:none}.page-row div{flex:1;min-width:0}.page-row b,.page-row small{display:block}.page-row small{color:#8391a8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:5px}.pill{display:inline-block;border-radius:30px;background:#eef3fa;color:#526984;padding:5px 9px;font-size:11px;font-weight:700}.pill.good{background:#e8f7ed;color:#187443}.pill.warn{background:#fff2dd;color:#9b5700}.legend{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.legend span,.source{font-size:12px;font-weight:750;padding:7px 10px;border-radius:7px}.first,.source.first_party{background:#e5f8eb;color:#17713b}.third,.source.third_party{background:#fff2d9;color:#a85b00}.unknown,.source.unknown_external{background:#ffe8e8;color:#b42318}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:#657995;background:#f6f8fc;padding:11px}td{padding:13px 11px;border-top:1px solid #edf1f7;vertical-align:top}code{font-size:11px;color:#38577e}.url-cell{max-width:300px;overflow-wrap:anywhere}.table-wrap td small{display:block;color:#8291a8;margin-top:5px}.source{display:inline-block;text-transform:capitalize}.authorize summary{cursor:pointer;color:#1f5fc4;font-weight:700}.authorize form{min-width:250px;display:grid;gap:9px;margin-top:10px;padding:13px;border:1px solid #dce5f2;border-radius:9px}.authorize label{display:grid;gap:7px;font-size:12px;font-weight:700}.authorize input,.authorize textarea{width:100%;border:1px solid #cbd7e8;border-radius:8px;padding:10px;font:inherit}.authorize textarea{min-height:65px}.history-row{display:flex;gap:18px;align-items:center;border-top:1px solid #edf1f7;padding:12px 0;font-size:12px}.history-row small{color:#8b99ae;margin-left:auto}.event-details{white-space:pre-wrap;overflow-wrap:anywhere;background:#f7f9fc;border:1px solid #e5ebf4;border-radius:7px;padding:10px;color:#536783;font-size:11px;max-width:100%;margin:9px 0 0}
@media(max-width:1050px){.sidebar{width:220px}.main-area{margin-left:220px;width:calc(100% - 220px)}.content-area{padding:26px 22px}.app-topbar{padding:0 22px}.dashboard-grid{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.sidebar{position:static;width:100%;height:auto;padding:12px;display:block}.app-frame{display:block}.brand{padding-bottom:12px}.workspace,.nav-label,.side-note,.sidebar-bottom{display:none}.side-nav{display:flex;margin:0}.side-nav a{flex:1}.main-area{margin:0;width:100%}.app-topbar{height:48px;padding:0 16px}.content-area{padding:22px 14px}.welcome-row{align-items:flex-start;flex-direction:column}.metrics{grid-template-columns:1fr 1fr}.metrics article{padding:12px;gap:8px}.metric-icon{width:30px;height:30px}.metrics article strong{font-size:21px}.metrics article small{display:none}.dashboard-grid{grid-template-columns:1fr}.pages-table{min-width:560px}.main-area footer{padding:14px}.grid{grid-template-columns:1fr}}
/* AppComSec unified workspace additions */
.brand{letter-spacing:-.35px}.brand-mark{background:#1f58c0!important;color:#fff!important;border-radius:10px!important;font-weight:800}.sidebar .nav-label{margin-top:24px}.side-nav a{transition:background .15s ease,color .15s ease}.side-nav a:hover{background:#edf4ff;color:#174da8}.app-topbar{backdrop-filter:blur(12px)}
