:root{--blue:#1478e8;--blue-dark:#0755b5;--blue-deep:#06386f;--ink:#10243e;--muted:#65768a;--surface:#fff;--background:#f4f9ff;--line:#dce8f4;--green:#13795b;--red:#bd3040;--amber:#a65e00;--shadow:0 12px 35px #10243e12}*{box-sizing:border-box}html{background:var(--background);min-width:320px}body{min-height:100vh;color:var(--ink);background:var(--background);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}:focus-visible{outline-offset:2px;outline:3px solid #1478e861}.shell{grid-template-columns:272px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:linear-gradient(165deg, var(--blue-deep), var(--blue-dark));color:#fff;flex-direction:column;height:100vh;padding:24px 16px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.025em;padding:4px 10px 26px;font-size:23px;font-weight:900;line-height:1.1}.brand small{letter-spacing:.12em;text-transform:uppercase;opacity:.72;margin-top:8px;font-size:11px;font-weight:800;display:block}.nav{gap:5px;display:grid}.nav a{color:#dcecff;border-radius:12px;align-items:center;gap:11px;min-height:44px;padding:10px 12px;font-size:14px;font-weight:750;display:flex}.nav a:hover,.nav a.active{color:#fff;background:#ffffff21}.logout{margin-top:auto}.main{min-width:0;padding:32px}.topline{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:24px;display:flex}.topline h1{letter-spacing:-.035em;margin:0;font-size:clamp(26px,3vw,34px)}.topline p{color:var(--muted);margin:7px 0 0}.eyebrow{letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:900;color:var(--blue-dark)!important;margin:0 0 7px!important}.grid{gap:18px;display:grid}.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--surface);min-width:0;box-shadow:var(--shadow);border:1px solid #fffffff2;border-radius:20px;padding:20px}.card h2,.card h3{margin-top:0}.metric span{color:var(--muted);font-size:13px;font-weight:750;display:block}.metric strong{color:var(--blue-deep);margin-top:8px;font-size:clamp(28px,4vw,38px);line-height:1;display:block}.metric small{color:var(--muted);margin-top:9px;display:block}.section-space{margin-top:18px}.toolbar{flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:16px;display:flex}.toolbar label{min-width:150px}.toolbar .button{align-self:end}.grow{flex:1;min-width:min(260px,100%)}label{color:var(--ink);gap:6px;font-size:13px;font-weight:800;display:grid}.field{border:1px solid var(--line);width:100%;min-height:43px;color:var(--ink);background:#fff;border-radius:11px;padding:10px 12px}textarea.field{resize:vertical}.field:focus{border-color:var(--blue);outline:3px solid #1478e826}.field:disabled{color:var(--muted);background:#eef4f9}.button{color:#fff;background:var(--blue-dark);border:0;border-radius:11px;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:9px 14px;font-weight:850;display:inline-flex}.button:hover:not(:disabled){filter:brightness(1.06)}.button.secondary{color:var(--blue-deep);background:#e5f0fb}.button.success{color:#fff;background:var(--green)}.button.danger{color:#fff;background:var(--red)}.button.warning{color:#fff;background:var(--amber)}.button:disabled{cursor:not-allowed;opacity:.48}.icon-button{width:42px;height:42px;color:var(--ink);background:#edf4fa;border:0;border-radius:50%;place-items:center;padding:0;display:inline-grid}.table-wrap{border:1px solid var(--line);border-radius:14px;overflow:auto}table{border-collapse:collapse;background:#fff;width:100%}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px 14px}th{color:var(--muted);letter-spacing:.065em;text-transform:uppercase;font-size:11px;font-weight:900}td{font-size:14px}tr:last-child td{border-bottom:0}.cell-title{overflow-wrap:anywhere;max-width:280px;font-weight:850;display:block}.cell-subtitle{color:var(--muted);overflow-wrap:anywhere;margin-top:3px;font-size:12px;display:block}.badge{min-height:25px;color:var(--blue-deep);white-space:nowrap;background:#e5f0fb;border-radius:999px;align-items:center;padding:3px 9px;font-size:12px;font-weight:850;display:inline-flex}.badge.positive{color:#0c684b;background:#dff4ea}.badge.negative{color:#9d2633;background:#fbe4e7}.badge.pending{color:#835000;background:#fff0d4}.actions{flex-wrap:wrap;gap:7px;display:flex}.actions .button{min-height:34px;padding:6px 10px;font-size:12px}.muted{color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.truncate-id{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:170px;display:inline-block;overflow:hidden}.error,.success-note,.info-note{border-radius:12px;margin:14px 0;padding:12px 14px}.error{color:#8f222e;background:#fbe4e7}.success-note{color:#0c684b;background:#dff4ea}.info-note{color:var(--blue-deep);background:#e5f0fb}.empty{color:var(--muted);text-align:center;padding:42px}.loading-card{text-align:center}.pagination{color:var(--muted);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:14px;font-size:13px;display:flex}.photo-preview-placeholder{gap:5px;min-width:145px;display:grid}.signed-photo{align-items:flex-start;gap:7px;min-width:195px;display:flex}.signed-photo img{object-fit:cover;background:#e5f0fb;border-radius:11px;width:144px;height:108px}.signed-photo .icon-button{width:34px;height:34px}.audit-code{white-space:pre-wrap;overflow-wrap:anywhere;background:#f2f6fa;border-radius:9px;max-width:420px;max-height:250px;padding:10px;font:11px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto}details summary{cursor:pointer;color:var(--blue-dark);font-size:12px;font-weight:800}.config-list{gap:13px;padding:0;list-style:none;display:grid}.config-row{align-items:flex-start;gap:10px;display:flex}.config-row span{gap:3px;display:grid}.config-row small{color:var(--muted)}.config-ok{color:var(--green);flex:none}.config-warning{color:var(--amber);flex:none}.permission-list{gap:14px;display:grid}.permission-list>div{border-bottom:1px solid var(--line);padding-bottom:14px}.permission-list>div:last-child{border:0;padding-bottom:0}.permission-list p{color:var(--muted);margin:5px 0 0}.deployment-list{color:var(--muted);gap:9px;padding-left:22px;display:grid}.info-note:has(svg){align-items:flex-start;gap:9px;display:flex}.login{background:radial-gradient(circle at top right, #d9ecff, transparent 42%), var(--background);place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{background:#fff;border:1px solid #fff;border-radius:24px;width:min(440px,100%);padding:32px;box-shadow:0 26px 80px #0755b52b}.login-card h1{letter-spacing:-.035em;margin:0 0 8px}.login-card .form-stack{margin-top:24px}.login-logo{color:#fff;background:linear-gradient(145deg, var(--blue), var(--blue-dark));border-radius:15px;place-items:center;width:48px;height:48px;margin-bottom:22px;font-weight:950;display:grid}.login-actions{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.form-stack{gap:13px;display:grid}.modal-backdrop{z-index:50;background:#06243fad;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:20px;width:min(660px,100%);max-height:92vh;padding:24px;position:relative;overflow:auto;box-shadow:0 30px 90px #00000038}.compact-modal{width:min(540px,100%)}.modal h2{margin:0 0 8px;padding-right:42px}.modal-close{position:absolute;top:16px;right:16px}.dialog-description{color:var(--muted);margin-bottom:18px}.dialog-actions{justify-content:flex-end;gap:9px;margin-top:8px;display:flex}.check-row{align-items:flex-start;gap:10px;font-size:14px;font-weight:700;display:flex}.check-row input{width:18px;height:18px;accent-color:var(--blue);margin-top:1px}.check-row span{gap:2px;display:grid}.check-row small{color:var(--muted);font-weight:500}.fieldset{border:1px solid var(--line);border-radius:12px;gap:10px;margin:0;padding:14px;display:grid}.fieldset legend{padding:0 5px;font-size:13px;font-weight:900}@media (max-width:1100px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:980px){.shell{grid-template-columns:1fr}.sidebar{height:auto;position:relative}.brand{padding-bottom:15px}.nav{grid-template-columns:repeat(4,minmax(0,1fr))}.logout{align-self:flex-start;margin-top:16px}.main{padding:22px}}@media (max-width:700px){.metrics,.two-col{grid-template-columns:1fr}.nav{grid-template-columns:repeat(2,minmax(0,1fr))}.main{padding:16px}.topline{display:block}.topline>.button{margin-top:14px}.card{border-radius:16px;padding:16px}.toolbar{align-items:stretch}.toolbar>*,.toolbar label{width:100%}.pagination{justify-content:center}.hide-mobile{display:none}.modal{padding:20px}.dialog-actions{flex-direction:column-reverse}.dialog-actions .button{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
.analytics-history{border-top:1px solid var(--line);margin-top:24px;padding-top:22px}.analytics-history-head{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:14px;display:flex}.analytics-history h3{margin:0;font-size:20px}.analytics-history p{color:var(--muted);margin:5px 0 0}.analytics-legend{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.analytics-series{border:1px solid var(--line);min-height:34px;color:var(--muted);background:#fff;border-radius:999px;align-items:center;gap:7px;padding:6px 9px;font-size:12px;font-weight:750;display:inline-flex}.analytics-series.active{border-color:var(--blue-dark);color:var(--blue-deep);background:#e8f3ff}.analytics-series i{border-radius:50%;flex:none;width:9px;height:9px;display:block}.analytics-chart-wrap{overflow-x:auto}.analytics-chart{width:100%;min-width:680px;height:auto;display:block}.analytics-grid-line{stroke:#dce8f4;stroke-dasharray:3 4}.analytics-axis-label{fill:#65768a;font-size:11px;font-weight:650}.analytics-source{gap:12px;margin-top:18px;display:grid}.analytics-source+.analytics-source{border-top:1px solid var(--line);padding-top:20px}.analytics-source h3{margin:0}.analytics-source>p{margin:5px 0 0}@media (max-width:700px){.analytics-history-head{display:block}.analytics-legend{justify-content:flex-start;margin-top:14px}.analytics-chart{min-width:620px}}
