:root{--hunter-green: #016f50;--hunter-green-dark: #015a41;--nav-green: #014f38;--nav-gradient-dark: #011c14;--golden-brown: #a69b6f;--golden-brown-dark: #8c8158;--bg: #f4f1e9;--surface: #ffffff;--ink: #1e2a25;--muted: #5f6f68;--border: #e2ddd0;--danger: #b3261e;--success: #1e7d4f;--radius: 10px;--nav-w: 280px;--header-h: 60px;--font-scale: 1}:root[data-textsize=sm]{--font-scale: .9}:root[data-textsize=lg]{--font-scale: 1.12}:root[data-textsize=xl]{--font-scale: 1.25}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}.gate-page{height:100%;overflow-y:auto;overscroll-behavior:contain;background:var(--bg);display:flex;flex-direction:column}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:calc(15px * var(--font-scale));color:var(--ink);background:var(--bg)}a{color:var(--hunter-green)}h1,h2,h3{font-weight:600;color:var(--hunter-green-dark);line-height:1.25}h1{font-size:1.8rem;font-family:Playfair Display,Georgia,serif}h2{font-size:1.35rem}h3{font-size:1.1rem}.btn{display:inline-flex;align-items:center;gap:8px;justify-content:center;font-size:1rem;font-weight:600;line-height:1;padding:12px 18px;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;text-decoration:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--golden-brown);color:#fff}.btn-primary:hover:not(:disabled){background:var(--golden-brown-dark)}.btn-secondary{background:#fff;color:var(--hunter-green);border-color:var(--hunter-green)}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--border)}.btn-danger{background:var(--danger);color:#fff}.btn-sm{padding:7px 12px;font-size:.9rem}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field>label{font-weight:600;font-size:.9rem;color:var(--muted)}.input,.select{font-size:1rem;padding:11px 12px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:var(--ink);width:100%}.input:focus,.select:focus{outline:2px solid var(--hunter-green);border-color:var(--hunter-green)}.select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:38px;cursor:pointer;background-repeat:no-repeat;background-position:right 12px center;background-size:15px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%235f6f68' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");transition:border-color .15s ease,box-shadow .15s ease}.select:hover{border-color:var(--hunter-green)}.select:focus{outline:none;box-shadow:0 0 0 3px #016f5026}.select:disabled{cursor:not-allowed;opacity:.6}.select-trigger{font-family:inherit;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-header{height:var(--header-h);min-height:var(--header-h);display:flex;align-items:center;justify-content:space-between;padding:0 24px;gap:24px;background:var(--surface);position:relative;z-index:5;filter:drop-shadow(0 3px 5px rgba(0,0,0,.12)) drop-shadow(0 1px 2px rgba(0,0,0,.08))}.app-header:before{content:"";position:absolute;top:100%;left:0;width:100px;height:44px;background:var(--surface);clip-path:path("M0,0 L0,44 C50,44 50,0 100,0 Z");pointer-events:none}.avatar-trigger{border:none;background:transparent;padding:0;cursor:pointer;border-radius:50%;line-height:0;transition:box-shadow .15s ease}.search-pill{font-size:1rem;padding:10px 38px;border:1.5px solid var(--hunter-green);border-radius:999px;background:var(--bg);color:var(--ink);width:100%;box-shadow:0 2px 6px #00000026;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.search-pill:hover{box-shadow:0 3px 10px #0000002e}.search-pill:focus{outline:none;border-color:var(--hunter-green);background:#fff;box-shadow:0 0 0 3px #016f5026,0 2px 6px #00000026}.search-pill-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);border:none;background:transparent;padding:4px;cursor:pointer;color:var(--muted);border-radius:50%;line-height:0}.search-pill-clear:hover{background:var(--border)}.search-results{position:absolute;top:100%;left:0;right:0;z-index:30;margin-top:6px;padding:10px;max-height:70vh;overflow:auto}.search-group+.search-group{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.search-group-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;font-weight:600;color:var(--muted);padding:4px 6px}.search-row{padding:8px 6px;border-radius:6px;cursor:pointer}.search-row:hover{background:#faf8f2}.search-see-all{color:var(--hunter-green);font-weight:600;font-size:.9rem}.search-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.search-chip{display:inline-block;font-size:.78rem;padding:3px 10px;border-radius:999px;background:#e3f2ea;color:var(--hunter-green);cursor:pointer}.search-chip:hover{background:#d3ebe0}.avatar-trigger:hover,.avatar-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px #016f5026}.avatar-circle{display:flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;background:var(--hunter-green);color:#fff;border:1.5px solid var(--hunter-green);box-shadow:0 2px 6px #00000026}.avatar-circle--white{border-color:#fff}.login-split{display:flex;min-height:100vh;overflow:hidden}.login-photo{flex:1 1 auto;position:relative;background-image:url(/login-photo.jpg);background-size:cover;background-position:center;min-height:100vh}.login-photo:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,#0000 45%,#00000073),linear-gradient(to top,#000000ad,#0000 50%);pointer-events:none}.login-panel{flex:0 0 25%;min-width:320px;display:grid;place-items:center;background:var(--bg);padding:32px;position:relative;box-shadow:-12px 0 24px #0000001f}.login-card{width:min(320px,100%);animation:login-card-in .35s ease-out}@keyframes login-card-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.login-heading{text-align:center;font-family:Georgia,Times New Roman,serif;font-weight:400}.login-password-row{position:relative}.login-password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;border:none;background:transparent;padding:4px;cursor:pointer;color:var(--muted);line-height:0}.login-password-toggle:hover{color:var(--hunter-green)}.login-link{border:none;background:transparent;padding:0;cursor:pointer;color:var(--hunter-green);font-size:.85rem;font-weight:600;text-decoration:underline}.login-link:hover{color:var(--hunter-green-dark)}.login-card .input{box-shadow:0 2px 6px #00000026;transition:border-color .15s ease,box-shadow .15s ease}.login-card .input:hover{box-shadow:0 3px 10px #0000002e}.login-card .input:focus{box-shadow:0 0 0 3px #016f5026,0 2px 6px #00000026}@media (max-width: 760px){.login-split{flex-direction:column}.login-photo{flex:none;height:34vh;min-height:220px}.login-panel{flex-basis:auto;min-width:0;box-shadow:0 -12px 24px #0000001f}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px}.table{width:100%;border-collapse:collapse;background:var(--surface)}.table th,.table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--border)}.table th{font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table th.sortable:hover{color:var(--ink)}.th-sort{display:inline-flex;align-items:center;gap:4px}.th-sort-icon{opacity:.35}.th-sort-icon.active{opacity:1}.table tbody tr:hover{background:#faf8f2}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:.8rem;font-weight:600}.badge-green{background:#e3f2ea;color:var(--success)}.badge-gold{background:#f3efe1;color:#7a6f43}.badge-gray{background:#eee;color:var(--muted)}.badge-red{background:#fbeae9;color:var(--danger)}.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#ff3b30;color:#fff;font-size:.72rem;font-weight:700;line-height:1}.health-alert{border:2px solid #b26a00;background:#fdf3e2;color:#7a4d00;border-radius:10px;padding:10px 14px;line-height:1.35;margin-bottom:12px}.health-alert strong{display:block;margin-bottom:2px;font-size:1rem}.row{display:flex;gap:12px;align-items:center}.spread{display:flex;justify-content:space-between;align-items:center}.muted{color:var(--muted)}.stack{display:flex;flex-direction:column;gap:16px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#141e192e;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.detail-panel-blur{filter:blur(3px);pointer-events:none;-webkit-user-select:none;user-select:none}.detail-panel{position:fixed;top:0;right:0;bottom:0;z-index:50;width:min(70vw,100vw);background:linear-gradient(to bottom,var(--hunter-green),var(--nav-gradient-dark));color:#fff;box-shadow:-8px 0 24px #00000040;padding:56px 26px 24px;overflow-y:auto;animation:detail-panel-in .18s ease-out}@keyframes detail-panel-in{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}.detail-panel .card{color:var(--ink)}.detail-panel h1,.detail-panel h2,.detail-panel h3{color:#fff}.detail-panel a{color:#fff;text-decoration:underline}.detail-panel .muted{color:#ffffffb8}.detail-panel .field>label{color:#ffffffb8}.detail-panel hr{border:none;border-top:1px solid rgba(255,255,255,.22);margin:18px 0}.detail-panel .btn-ghost{color:#fff;border-color:#fff6}.detail-panel .btn-ghost:hover{background:#ffffff1f}.detail-panel .table{background:transparent}.detail-panel .table th,.detail-panel .table td{border-bottom-color:#ffffff2e}.detail-panel .table th{color:#fff9}.detail-panel .table tbody tr:hover{background:#ffffff14}.detail-panel details{background:#ffffff0f;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius);padding:10px 14px}.detail-panel details+details{margin-top:10px}.detail-panel summary{cursor:pointer;font-weight:600}.detail-panel summary a{color:#fff;text-decoration:underline}.detail-panel-close{position:absolute;top:16px;right:18px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;color:#fff;padding:6px;border-radius:50%;cursor:pointer}.detail-panel-close:hover{background:#ffffff1f}.detail-panel .linklike{background:none;border:none;padding:0;margin:0;font:inherit;color:#fff;text-decoration:underline;cursor:pointer}.report-chart{--chart-surface: #fcfcfb;--chart-text-primary: #0b0b0b;--chart-text-secondary: #52514e;--chart-muted: #898781;--chart-grid: #e1e0d9;--chart-baseline: #c3c2b7;--status-good: #0ca30c;--status-warning: #fab219;--status-critical: #d03b3b;--series-1: #2a78d6;--ordinal-1: #86b6ef;--ordinal-2: #2a78d6;--ordinal-3: #104281;background:var(--chart-surface)}.report-chart .chart-muted-text{fill:var(--chart-muted);font-size:11px}.report-chart .chart-baseline{stroke:var(--chart-baseline);stroke-width:1}.report-chart .chart-grid{stroke:var(--chart-grid);stroke-width:1}.report-stat-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.report-stat-tile .label{font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:600}.report-stat-tile .value{font-size:1.9rem;font-weight:700;line-height:1.25;margin-top:4px}.report-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:.85rem}.report-legend .swatch{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px}.date-range-picker{display:inline-flex;gap:4px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:4px}.date-range-picker button{border:none;background:transparent;padding:6px 12px;border-radius:calc(var(--radius) - 4px);font-size:.85rem;font-weight:600;color:var(--muted);cursor:pointer}.date-range-picker button.active{background:var(--hunter-green);color:#fff}.date-range-picker button:not(.active):hover{background:#faf8f2}#ambir-vms-panel{border-color:var(--hunter-green)!important}#ambir-vms-panel>b{color:var(--hunter-green-dark)}
