.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--bg)}.login-brand{position:relative;background:radial-gradient(circle at 90% 10%,rgba(77,170,156,.2),transparent 55%),radial-gradient(circle at 10% 90%,rgba(0,97,168,.14),transparent 55%),linear-gradient(135deg,#f2f8f6,#eaf2f7);color:var(--text);padding:48px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;border-right:1px solid var(--border)}@media (max-width: 900px){.login-shell{grid-template-columns:1fr;height:100vh;min-height:0;overflow:hidden;background:var(--bg);place-items:center}.login-brand{display:none!important}.login-main{padding:0;width:100%}.login-card{max-width:420px;width:calc(100% - 24px);margin:0 auto}}.login-brand>*{position:relative;z-index:1}.login-brand-top{margin-bottom:24px}.login-brand-body h1{font-size:44px;line-height:1.1;font-weight:800;margin:0 0 16px;letter-spacing:-.5px;color:var(--ansell-blue)}.login-brand-body p{font-size:15px;color:var(--text-2);max-width:420px;margin:0 0 32px}.login-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}.login-features li{display:flex;align-items:center;gap:12px;font-weight:500;color:var(--text)}.login-features svg{flex:none;width:32px;height:32px;padding:8px;background:#ebf6f2;border:1px solid #CDE4DC;border-radius:8px;color:#4daa9c}.login-brand-foot{font-size:12px;color:var(--text-3)}.login-main{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px}@media (max-width: 540px){.login-main{padding:24px 16px;min-height:100vh}}.login-card{width:100%;max-width:420px;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border);padding:40px;display:flex;flex-direction:column;gap:18px}@media (max-width: 540px){.login-card{padding:22px 20px;gap:10px}}@media (max-width: 540px){.login-card-logo{padding:0 0 8px}.login-card-header h2{font-size:20px}.login-card-header p{margin:4px 0 6px;font-size:13px}.login-card .label{margin-bottom:4px}.login-btn{padding:11px 16px}.login-hint{margin-top:4px}}.login-card-logo{display:none;justify-content:center;align-items:center;padding:4px 0 12px;margin-bottom:4px;border-bottom:1px solid var(--border)}@media (max-width: 900px){.login-card-logo{display:flex}.login-card-header{text-align:center}}.login-card-header h2{margin:0;font-size:24px;font-weight:700;letter-spacing:-.3px}.login-card-header p{margin:6px 0 12px;color:var(--text-2)}.form-row{display:flex;flex-direction:column}.input-wrap{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:14px;color:var(--text-3);pointer-events:none}.input-with-icon{padding-left:40px}.login-error{background:var(--status-high-bg);color:var(--status-high);border:1px solid #FECACA;padding:10px 14px;border-radius:var(--radius-sm);font-size:13px}.login-btn{width:100%;padding:13px 18px;font-size:15px;margin-top:4px}.login-hint{font-size:12px;text-align:center;color:var(--text-3);margin-top:8px}.login-hint code{background:var(--bg-2);padding:1px 6px;border-radius:4px;color:var(--text-2)}.login-credit{margin-top:18px;text-align:center;font-size:12px;color:var(--text-3);letter-spacing:.2px}.login-credit a{color:var(--ansell-blue);font-weight:600;text-decoration:none}.login-credit a:hover{color:var(--ansell-blue-700);text-decoration:underline}.gauge-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:320px;gap:10px}.gauge-svg-wrap{position:relative;display:flex;align-items:center;justify-content:center;width:100%}.gauge-svg{max-width:220px;max-height:360px}.gauge-readout{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;text-align:center}.gauge-clock{display:inline-flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums;font-size:12px;font-weight:600;color:var(--text-2);background:var(--bg-2);padding:5px 12px;border-radius:999px;border:1px solid var(--border);white-space:nowrap}.gauge-clock-label{font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--text-3)}.gauge-clock-time{letter-spacing:.3px}@media (max-width: 540px){.gauge-clock{font-size:11px;padding:4px 10px;gap:6px}.gauge-clock-label{font-size:9px}}.gauge-percent{font-size:56px;font-weight:800;letter-spacing:-1px;line-height:1}.gauge-percent span{font-size:24px;font-weight:600;margin-left:2px;opacity:.65}.gauge-volume{font-size:13px;font-weight:600;color:var(--text-2);margin-top:6px;letter-spacing:.4px}.tank-wave path{will-change:transform}.tank-wave-back path{animation:tank-wave-shift 7s linear infinite}.tank-wave-front path{animation:tank-wave-shift 4.5s linear infinite reverse}@keyframes tank-wave-shift{0%{transform:translate(0)}to{transform:translate(-120px)}}.bubble{will-change:transform,opacity}.bubble-1{animation:bubble-rise 4.5s linear 0s infinite}.bubble-2{animation:bubble-rise 6s linear 1.4s infinite}.bubble-3{animation:bubble-rise 5.2s linear 2.6s infinite}.bubble-4{animation:bubble-rise 7s linear .6s infinite}@keyframes bubble-rise{0%{transform:translate(0);opacity:0}10%{opacity:1}50%{transform:translate(3px,-110px)}90%{opacity:.8}to{transform:translate(-2px,-220px);opacity:0}}@media (prefers-reduced-motion: reduce){.tank-wave-back path,.tank-wave-front path,.bubble{animation:none}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:grid;place-items:center;z-index:100;padding:24px;animation:backdrop-in .18s ease-out}@media (max-width: 540px){.modal-backdrop{padding:12px}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--border);width:100%;display:flex;flex-direction:column;max-height:calc(100vh - 48px);animation:modal-in .22s cubic-bezier(.4,0,.2,1)}.modal-sm{max-width:420px}.modal-md{max-width:560px}.modal-lg{max-width:760px}@keyframes modal-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{padding:22px 24px 8px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}@media (max-width: 540px){.modal-header{padding:18px 18px 6px}.modal-body{padding:14px 18px}.modal-footer{padding:14px 18px 18px}}.modal-header h3{margin:0;font-size:18px;font-weight:700;letter-spacing:-.2px}.modal-header p{margin:4px 0 0;font-size:13px;color:var(--text-2)}.modal-close{flex:none;width:32px;height:32px;border-radius:8px;display:grid;place-items:center;color:var(--text-2);transition:background var(--transition),color var(--transition)}.modal-close:hover{background:var(--bg-2);color:var(--text)}.modal-body{padding:18px 24px;overflow-y:auto}.modal-footer{padding:16px 24px 22px;display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--border)}.page-hero{position:relative;background:radial-gradient(circle at 100% 0%,rgba(77,170,156,.18),transparent 50%),linear-gradient(135deg,#0e3d78,#1b5ba6 60%,#2a77c7);color:var(--text-on-blue);overflow:hidden}.page-hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(2px 2px at 20% 30%,rgba(255,255,255,.18) 50%,transparent 60%),radial-gradient(1.5px 1.5px at 70% 60%,rgba(255,255,255,.14) 50%,transparent 60%),radial-gradient(1px 1px at 40% 80%,rgba(255,255,255,.1) 50%,transparent 60%),radial-gradient(1.5px 1.5px at 85% 25%,rgba(255,255,255,.16) 50%,transparent 60%);background-size:240px 240px;pointer-events:none;opacity:.6}.page-hero:after{content:"";position:absolute;right:-120px;top:-60px;width:360px;height:200px;background:radial-gradient(closest-side,rgba(77,170,156,.35),transparent 70%);filter:blur(20px);pointer-events:none}.page-hero-inner{position:relative;max-width:1280px;margin:0 auto;padding:36px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;z-index:1}@media (max-width: 540px){.page-hero-inner{padding:24px 16px}}.page-hero-text{max-width:720px;min-width:0}.page-hero-eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#fffc;margin-bottom:8px}.page-hero-title{margin:0;font-size:32px;font-weight:800;letter-spacing:-.5px;line-height:1.15;color:var(--text-on-blue)}@media (max-width: 540px){.page-hero-title{font-size:22px}}.page-hero-desc{margin:10px 0 0;font-size:14px;color:#ffffffc7;max-width:620px;line-height:1.55}.page-hero-aside{flex:none;display:flex;align-items:center;gap:12px}@media (max-width: 720px){.page-hero-aside{width:100%;justify-content:flex-start}}.dash{background:var(--bg);min-height:calc(100vh - 60px);padding:12px}@media (max-width: 720px){.dash{padding:10px}}@media (max-width: 540px){.dash{padding:8px}}.dash-inner{max-width:1280px;margin:0 auto;display:flex;flex-direction:column;gap:14px}@media (max-width: 720px){.dash-inner{gap:10px}}.dash-loading,.dash-empty{max-width:1280px;margin:60px auto;text-align:center;color:var(--text-2);font-size:14px}.hero{padding:18px 20px;background:radial-gradient(circle at 100% 0%,rgba(0,133,202,.06),transparent 40%),var(--surface)}@media (max-width: 720px){.hero{padding:14px;border-radius:var(--radius)}}@media (max-width: 540px){.hero{padding:12px}}.hero-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}@media (max-width: 540px){.hero-head{margin-bottom:10px;gap:8px;flex-wrap:nowrap;align-items:flex-start}.hero-meta{font-size:11px;margin-bottom:2px}.hero-actions{gap:6px;flex:none}.hero-config-btn{padding:7px 12px;font-size:12px}.hero-last{font-size:11px}.pill{padding:3px 8px;font-size:11px}}.hero-meta{display:flex;align-items:center;gap:6px;color:var(--text-2);font-size:12px;font-weight:500;margin-bottom:6px}.hero-meta .dot{color:var(--text-3)}.hero-title{font-size:26px;font-weight:700;margin:0;letter-spacing:-.4px}.stream-badge{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:3px 9px;border-radius:999px;border:1px solid var(--border);background:var(--bg-2);color:var(--text-2)}.stream-badge .stream-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.stream-live{background:#ecfdf5;border-color:#6ee7b740;color:var(--status-normal)}.stream-live .stream-dot{animation:stream-pulse 1.6s infinite}.stream-error{background:#fef2f2;border-color:#fca5a540;color:var(--status-high)}.stream-connecting{background:#eff6ff;border-color:#93c5fd40;color:var(--ansell-blue-500)}@keyframes stream-pulse{0%{box-shadow:0 0 #10b98180}70%{box-shadow:0 0 0 7px #10b98100}to{box-shadow:0 0 #10b98100}}@media (max-width: 540px){.hero-title{font-size:20px}}.hero-sub{margin-top:4px;color:var(--text-3);font-size:12px}.hero-sub code{background:var(--bg-2);padding:1px 6px;border-radius:4px;color:var(--text-2)}.hero-status,.hero-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.hero-config-btn{padding:9px 16px;font-size:13px}@media (max-width: 720px){.hero-actions{flex-direction:row;align-items:center;gap:8px}}.hero-last{font-size:12px;color:var(--text-3);display:flex;align-items:center;gap:6px}.spin{animation:spin 1.4s linear infinite}.hero-body{display:grid;grid-template-columns:320px 1fr;gap:28px;align-items:stretch}@media (max-width: 880px){.hero-body{grid-template-columns:1fr;gap:14px}.hero-gauge{max-width:320px;margin:0 auto;width:100%}}@media (max-width: 540px){.hero-body{gap:10px}.hero-gauge{padding:8px;max-width:100%}.hero-gauge .gauge-wrap{min-height:200px}.hero-gauge .gauge-svg{max-width:160px;max-height:240px}.hero-gauge .gauge-percent{font-size:38px}.hero-gauge .gauge-percent span{font-size:18px}.hero-gauge .gauge-volume{font-size:11px}}.hero-gauge{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:16px;display:flex;align-items:center;justify-content:center}.hero-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}@media (max-width: 540px){.hero-stats{grid-template-columns:repeat(2,1fr);gap:8px}}.stat-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:12px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);transition:transform var(--transition),box-shadow var(--transition);min-width:0}.stat-card-body{min-width:0;width:100%;text-align:center}.stat-card-value{word-break:break-word}@media (max-width: 540px){.stat-card{padding:12px;gap:8px;border-radius:10px}.stat-card-icon{width:32px;height:32px;border-radius:8px}.stat-card-icon svg{width:16px;height:16px}.stat-card-label{font-size:9px;letter-spacing:.4px}.stat-card-value{font-size:16px;margin-top:2px}.stat-card-sub{font-size:10px}}.stat-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.stat-card-icon{flex:none;width:42px;height:42px;border-radius:10px;display:grid;place-items:center}.stat-card-body{line-height:1.25}.stat-card-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-2)}.stat-card-value{font-size:22px;font-weight:700;margin-top:4px}.stat-card-sub{font-size:12px;color:var(--text-3);margin-top:2px}.card-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}@media (max-width: 540px){.card-header{padding:12px 14px}}.card-header h3{margin:0;font-size:16px;font-weight:700;letter-spacing:-.2px}.card-header p{margin:2px 0 0;font-size:12px;color:var(--text-2)}.chart-card{display:flex;flex-direction:column}.chart-wrap{padding:14px 14px 18px}.chart-card-header{flex-wrap:wrap;gap:12px}.chart-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.chart-float{position:relative;display:inline-flex;align-items:center;background:#ebf6f2;border:1px solid #CDE4DC;border-radius:999px;padding:10px 16px 6px;min-width:130px;transition:border-color var(--transition),box-shadow var(--transition)}.chart-float:focus-within{border-color:#4daa9c;box-shadow:0 0 0 3px #4daa9c2e}.chart-float-label{position:absolute;top:-8px;left:14px;background:var(--surface);padding:0 6px;font-size:10px;font-weight:700;color:#5c8580;letter-spacing:.5px;text-transform:uppercase}.chart-float select{width:100%;border:0;outline:0;background:transparent;font-size:13px;font-weight:600;color:var(--text);-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:18px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%234DAA9C'%3E%3Cpath fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.06l3.71-3.83a.75.75 0 111.08 1.04l-4.25 4.39a.75.75 0 01-1.08 0L5.21 8.27a.75.75 0 01.02-1.06z' clip-rule='evenodd'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0 center;background-size:16px 16px}.chart-live-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font-size:12px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:var(--text-2);transition:all var(--transition)}.chart-live-btn.on{background:#ecfdf5;border-color:#6ee7b780;color:var(--status-normal)}.chart-live-btn.on:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--status-normal);box-shadow:0 0 0 0 var(--status-normal);animation:chart-live-pulse 1.6s infinite}.chart-live-btn.off:hover:not(:disabled){background:var(--bg-2);color:var(--text)}.chart-live-btn:disabled{opacity:.45;cursor:not-allowed}.chart-reset-btn:not(:disabled){background:#fef3c7;border-color:#fcd34d80;color:#92400e}.chart-reset-btn:not(:disabled):hover{background:#fde68a}@media (max-width: 720px){.chart-wheel-btn,.chart-reset-btn{display:none}}@keyframes chart-live-pulse{0%{box-shadow:0 0 #10b9818c}70%{box-shadow:0 0 0 7px #10b98100}to{box-shadow:0 0 #10b98100}}.chart-range{display:flex;gap:4px;background:var(--bg-2);padding:4px;border-radius:999px}.chart-chip{padding:6px 12px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.3px;color:var(--text-2);transition:background var(--transition),color var(--transition)}.chart-chip:hover{color:var(--text)}.chart-chip.active{background:var(--ansell-blue);color:var(--text-on-blue);box-shadow:var(--shadow-sm)}.chart-actions{display:flex;align-items:center;gap:6px}.chart-action{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;font-size:12px;font-weight:600;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);transition:background var(--transition),color var(--transition),border-color var(--transition)}.chart-action:hover{background:var(--bg-2);color:var(--text)}.chart-live.on{background:#ecfdf5;border-color:#6ee7b740;color:var(--status-normal)}.chart-live.on:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--status-normal);box-shadow:0 0 0 0 var(--status-normal);animation:pulse 1.6s infinite}.chart-live.off{background:var(--bg-2);color:var(--text-2)}@keyframes pulse{0%{box-shadow:0 0 #10b98199}70%{box-shadow:0 0 0 8px #10b98100}to{box-shadow:0 0 #10b98100}}@media (max-width: 540px){.chart-toolbar{width:100%;justify-content:space-between}.chart-range{padding:3px}.chart-chip{padding:5px 9px;font-size:11px}.chart-action{padding:6px 10px;font-size:11px}}@media (max-width: 540px){.chart-wrap{padding:12px 6px 18px}}.chart-empty{height:260px;display:grid;place-items:center;color:var(--text-3);font-size:13px}.config-form-modal{padding:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}@media (max-width: 540px){.form-grid{grid-template-columns:1fr}}.volume-preview{margin-top:18px;padding:14px 16px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);display:flex;align-items:center;gap:16px;flex-wrap:wrap}.vp-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-2)}.vp-value{font-size:18px;font-weight:700;margin-top:2px}.vp-bar{flex:1;min-width:200px;height:8px;background:var(--bg-2);border-radius:999px;overflow:hidden}.vp-fill{height:100%;border-radius:999px;transition:width .6s cubic-bezier(.4,0,.2,1)}.logs{background:var(--bg);height:calc(100vh - 60px);padding:0 12px;overflow:hidden}@media (max-width: 720px){.logs{padding:0 10px}}@media (max-width: 540px){.logs{padding:0 8px}}.logs-inner{max-width:1280px;margin:0 auto;display:flex;flex-direction:column;gap:0;height:100%}.logs-table-card{display:flex;flex-direction:column;flex:1;min-height:0}.logs-summary{padding:24px 28px}@media (max-width: 540px){.logs-summary{padding:18px;border-radius:var(--radius)}}.logs-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.logs-eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--ansell-blue-500);margin-bottom:6px}.logs-summary h1{margin:0;font-size:22px;font-weight:700;letter-spacing:-.3px}.logs-summary p{margin:4px 0 0;color:var(--text-2);font-size:13px}.logs-refresh{font-size:12px}.logs-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}@media (max-width: 720px){.logs-stats{grid-template-columns:repeat(2,1fr)}}.logs-stat{display:flex;align-items:center;gap:10px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.logs-stat-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-2)}.logs-stat-value{font-size:22px;font-weight:700;line-height:1}.logs-stat.low{border-color:#fcd34d40;color:var(--status-low);background:#fffbeb}.logs-stat.normal{border-color:#6ee7b740;color:var(--status-normal);background:#ecfdf5}.logs-stat.high{border-color:#fca5a540;color:var(--status-high);background:#fef2f2}.logs-stat.low .logs-stat-label,.logs-stat.normal .logs-stat-label,.logs-stat.high .logs-stat-label{color:inherit;opacity:.7}.logs-table-card{display:flex;flex-direction:column}.logs-filters{display:flex;align-items:flex-end;gap:14px;padding:16px 18px;border-bottom:1px solid var(--border);flex-wrap:wrap}.logs-toolbar{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);flex-wrap:wrap}.logs-export-group{display:inline-flex;align-items:center;gap:10px;margin-right:auto}.logs-export{display:inline-flex;align-items:center;gap:6px;font-weight:700;letter-spacing:.3px;font-size:12px;padding:7px 12px;border-radius:999px;border:1px solid transparent;transition:background var(--transition),box-shadow var(--transition),transform var(--transition)}.logs-export-excel{background:#4daa9c;color:#fff;border-color:#4daa9c;box-shadow:0 2px 6px #4daa9c40}.logs-export-excel:hover:not(:disabled){background:#3f8d81;box-shadow:0 4px 12px #4daa9c59}.logs-export-pdf{background:#dc2626;color:#fff;border-color:#dc2626;box-shadow:0 2px 6px #dc262640}.logs-export-pdf:hover:not(:disabled){background:#b91c1c;box-shadow:0 4px 12px #dc262659}.logs-export:active:not(:disabled){transform:translateY(1px)}.logs-export:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.logs-export .spin{animation:spin 1.2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.logs-floats{display:flex;align-items:center;gap:10px}.logs-float{position:relative;display:inline-flex;align-items:center;background:#ebf6f2;border:1px solid #CDE4DC;border-radius:999px;padding:8px 14px 4px;min-width:100px;transition:border-color var(--transition),box-shadow var(--transition)}.logs-float.logs-float-sm{min-width:72px}.logs-float:focus-within{border-color:#4daa9c;box-shadow:0 0 0 3px #4daa9c2e}.logs-float-label{position:absolute;top:-7px;left:12px;background:var(--surface);padding:0 5px;font-size:10px;font-weight:600;color:#5c8580;letter-spacing:.3px}.logs-float select,.logs-float input{width:100%;border:0;outline:0;background:transparent;font-size:13px;font-weight:600;color:var(--text);-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:16px;cursor:pointer}.logs-float select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%234DAA9C'%3E%3Cpath fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.06l3.71-3.83a.75.75 0 111.08 1.04l-4.25 4.39a.75.75 0 01-1.08 0L5.21 8.27a.75.75 0 01.02-1.06z' clip-rule='evenodd'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0 center;background-size:18px 18px}.logs-custom-range{display:flex;gap:10px;flex-wrap:wrap}@media (max-width: 720px){.logs-toolbar{flex-direction:column;align-items:stretch}.logs-floats{flex-wrap:wrap}.logs-search{width:100%}}.logs-field{display:flex;flex-direction:column;gap:4px;min-width:140px}.logs-field label{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--text-2)}.logs-select{padding:8px 10px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-size:13px;color:var(--text);cursor:pointer;transition:border-color var(--transition),box-shadow var(--transition)}.logs-select:hover{border-color:var(--ansell-blue-300)}.logs-select:focus{outline:0;border-color:var(--ansell-blue-500);box-shadow:0 0 0 3px #0061a81f}.logs-controls,.logs-controls-left,.logs-controls-right{display:none}@media (max-width: 540px){.logs-controls{padding:12px}.logs-controls-right{width:100%;justify-content:flex-end}}.logs-controls-label{font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--text-2)}.logs-chips{display:flex;gap:6px;flex-wrap:wrap}.logs-chip{padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font-size:12px;font-weight:600;letter-spacing:.4px;color:var(--text-2);transition:background var(--transition),color var(--transition),border-color var(--transition)}.logs-chip:hover{background:var(--bg-2);color:var(--text)}.logs-chip.active{background:var(--ansell-blue);color:var(--text-on-blue);border-color:var(--ansell-blue)}.logs-limit-label{font-size:12px;color:var(--text-2)}.logs-limit{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:7px 10px;font-size:13px;color:var(--text);cursor:pointer}.logs-range{padding:12px 18px;border-bottom:1px solid var(--border);background:var(--surface-2);display:flex;align-items:center;gap:10px;flex-wrap:wrap}@media (max-width: 540px){.logs-range{padding:10px 12px}}.logs-range-label{font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--text-2);display:inline-flex;align-items:center;gap:6px}.logs-range-custom{display:inline-flex;align-items:center;gap:8px;margin-left:8px}.logs-range-sep{color:var(--text-3)}.logs-table-wrap{overflow:auto;flex:1;min-height:0}.logs-table{width:100%;border-collapse:collapse}.logs-table thead th{position:sticky;top:0;z-index:2;text-align:left;font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#fff;padding:10px 16px;background:#4daa9c;border-bottom:1px solid #3F8D81;box-shadow:0 1px #3f8d81}.logs-th-sort{display:inline-flex;align-items:center;gap:6px;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;padding:0;background:transparent;border:0;cursor:pointer;transition:opacity var(--transition)}.logs-th-sort:hover{opacity:.85}.logs-th-sort svg{color:#fff}.logs-table tbody td{padding:9px 16px;border-bottom:1px solid var(--border);font-size:13px;vertical-align:middle}@media (max-width: 540px){.logs-table thead th,.logs-table tbody td{padding:10px 12px;font-size:12px}.logs-table thead th:nth-child(4),.logs-table tbody td:nth-child(4){display:none}.logs-bar{min-width:80px}}.logs-table tbody tr:hover{background:var(--bg-2)}.logs-table tbody tr:last-child td{border-bottom:0}.logs-empty{text-align:center;padding:40px 0;color:var(--text-3)}.logs-time{font-weight:500}.logs-sno{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-3);font-weight:500}.logs-level{font-weight:700;font-variant-numeric:tabular-nums}.logs-volume{font-weight:500;color:var(--text-2);text-align:right;font-variant-numeric:tabular-nums}.logs-bar{position:relative;height:8px;background:var(--bg-2);border-radius:999px;overflow:visible;min-width:120px}.logs-bar-fill{height:100%;border-radius:999px}.logs-bar-marker{position:absolute;top:-2px;width:2px;height:12px;border-radius:1px;pointer-events:auto;cursor:help}.logs-bar-marker.low{background:var(--status-low)}.logs-bar-marker.high{background:var(--status-high)}.logs-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border-bottom:1px solid var(--border);background:var(--surface-2);flex-wrap:wrap}.logs-pagination-top{border-top:0}.logs-pagebar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;border-bottom:1px solid var(--border);flex-wrap:wrap}.logs-pagebar-bottom{border-bottom:0;border-top:1px solid var(--border);background:var(--surface-2)}.logs-pagebar-info{font-size:12px;color:var(--text-2)}.logs-pagebar-info strong{color:var(--text);font-weight:600}.logs-pagebar-sub{color:var(--text-3)}.logs-pagebar-pages{display:flex;align-items:center;gap:6px}.logs-page-arrow{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;color:var(--text-2);background:transparent;transition:background var(--transition),color var(--transition)}.logs-page-arrow:hover:not(:disabled){background:#ebf6f2;color:#1b5ba6}.logs-page-arrow:disabled{opacity:.35;cursor:not-allowed}.logs-page-num{min-width:26px;height:26px;padding:0 8px;border-radius:6px;font-size:12px;font-weight:600;color:var(--text-2);background:transparent;transition:background var(--transition),color var(--transition)}.logs-page-num:hover{background:#ebf6f2;color:#1b5ba6}.logs-page-num.active{background:#a8e2d2;color:#0f3d38}.logs-pagination-info{font-size:12px;color:var(--text-2)}.logs-pagination-info strong{color:var(--text);font-weight:600}.logs-pagination-sub{color:var(--text-3)}.logs-pagination-mid{display:flex;align-items:center;gap:8px}.logs-pagination-controls{display:flex;align-items:center;gap:4px}.logs-page-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);transition:background var(--transition),color var(--transition),border-color var(--transition)}.logs-page-btn:hover:not(:disabled){background:var(--ansell-blue);color:var(--text-on-blue);border-color:var(--ansell-blue)}.logs-page-btn:disabled{opacity:.4;cursor:not-allowed}.logs-page-indicator{font-size:12px;color:var(--text-2);padding:0 10px;white-space:nowrap}.logs-page-indicator strong{color:var(--text);font-weight:600}@media (max-width: 540px){.logs-pagination{padding:10px 12px;gap:10px}.logs-pagination-info{font-size:11px}.logs-page-indicator{font-size:11px;padding:0 6px}}.alerts-page{background:var(--bg);height:calc(100vh - 60px);padding:0 12px;overflow:hidden}@media (max-width: 720px){.alerts-page{padding:0 10px}}@media (max-width: 540px){.alerts-page{padding:0 8px}}.alerts-inner{max-width:1280px;margin:0 auto;display:flex;flex-direction:column;gap:0;height:100%}.alerts-table-card{display:flex;flex-direction:column;flex:1;min-height:0}.alerts-summary{padding:24px 28px}@media (max-width: 540px){.alerts-summary{padding:18px}}.alerts-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.alerts-eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--ansell-blue-500);margin-bottom:6px}.alerts-summary h1{margin:0;font-size:22px;font-weight:700;letter-spacing:-.3px}.alerts-summary p{margin:4px 0 0;color:var(--text-2);font-size:13px}.alerts-summary-actions{display:flex;gap:8px;flex-wrap:wrap}.alerts-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}@media (max-width: 720px){.alerts-stats{grid-template-columns:repeat(2,1fr)}}.alerts-stat{display:flex;align-items:center;gap:10px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.alerts-stat-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-2)}.alerts-stat-value{font-size:22px;font-weight:700;line-height:1}.alerts-stat.unread{background:linear-gradient(135deg,var(--ansell-blue) 0%,var(--ansell-blue-700) 100%);border-color:var(--ansell-blue-700);color:var(--text-on-blue)}.alerts-stat.unread .alerts-stat-label{color:#ffffffbf}.alerts-stat.high{border-color:#fca5a540;color:var(--status-high);background:#fef2f2}.alerts-stat.low{border-color:#fcd34d40;color:var(--status-low);background:#fffbeb}.alerts-stat.high .alerts-stat-label,.alerts-stat.low .alerts-stat-label{color:inherit;opacity:.7}.alerts-toolbar{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);flex-wrap:wrap}.alerts-floats{display:flex;align-items:center;gap:10px}.alerts-float{position:relative;display:inline-flex;align-items:center;background:#ebf6f2;border:1px solid #CDE4DC;border-radius:999px;padding:8px 14px 4px;min-width:100px;transition:border-color var(--transition),box-shadow var(--transition)}.alerts-float.alerts-float-sm{min-width:72px}.alerts-float:focus-within{border-color:#4daa9c;box-shadow:0 0 0 3px #4daa9c2e}.alerts-float-label{position:absolute;top:-7px;left:12px;background:var(--surface);padding:0 5px;font-size:10px;font-weight:600;color:#5c8580;letter-spacing:.3px}.alerts-float select{width:100%;border:0;outline:0;background:transparent;font-size:13px;font-weight:600;color:var(--text);-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:16px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%234DAA9C'%3E%3Cpath fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.06l3.71-3.83a.75.75 0 111.08 1.04l-4.25 4.39a.75.75 0 01-1.08 0L5.21 8.27a.75.75 0 01.02-1.06z' clip-rule='evenodd'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0 center;background-size:16px 16px}.alerts-table-wrap{overflow:auto;flex:1;min-height:0}.alerts-table{width:100%;border-collapse:collapse}.alerts-table thead th{position:sticky;top:0;z-index:2;text-align:left;font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#fff;padding:10px 16px;background:#4daa9c;border-bottom:1px solid #3F8D81;box-shadow:0 1px #3f8d81}.alerts-table tbody td{padding:12px 18px;border-bottom:1px solid var(--border);font-size:13px;vertical-align:middle}.alerts-table tbody tr:hover{background:var(--bg-2)}.alerts-table tbody tr:last-child td{border-bottom:0}.alerts-row-ack{opacity:.55}.alerts-empty{text-align:center;padding:40px 0;color:var(--text-3)}.alerts-pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;letter-spacing:.4px;padding:4px 9px;border-radius:999px}.alerts-pill-HIGH{background:#fef2f2;color:var(--status-high)}.alerts-pill-LOW{background:#fffbeb;color:var(--status-low)}.alerts-level{font-weight:700;font-variant-numeric:tabular-nums}.alerts-device{font-weight:600}.alerts-device-sub,.alerts-time-rel{font-size:11px;color:var(--text-3)}.alerts-row-active{background:#fef7e0}.alerts-row-active:hover{background:#fff1c7!important}.alerts-state-active{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--status-high);background:#fef2f2;padding:4px 10px;border-radius:999px;border:1px solid #FCA5A540}.alerts-state-dot{width:6px;height:6px;border-radius:50%;background:var(--status-high);animation:alerts-state-pulse 1.6s infinite}@keyframes alerts-state-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.alerts-state-cleared{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--status-normal);font-weight:600}.alerts-duration{font-variant-numeric:tabular-nums;color:var(--text-2);font-weight:500}@media (max-width: 540px){.alerts-table thead th,.alerts-table tbody td{padding:10px 12px;font-size:12px}.alerts-table thead th:nth-child(5),.alerts-table tbody td:nth-child(5){display:none}}.reports-page{background:var(--bg);min-height:calc(100vh - 60px);padding:0 12px}@media (max-width: 720px){.reports-page{padding:0 10px}}@media (max-width: 540px){.reports-page{padding:0 8px}}.reports-inner{max-width:1280px;margin:0 auto;display:flex;flex-direction:column;gap:0}.rpt-card{display:flex;flex-direction:column;border-top:0}.rpt-toolbar{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);flex-wrap:wrap}.rpt-export-group{display:inline-flex;align-items:center;gap:10px;margin-right:auto}.rpt-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--border);border-bottom:1px solid var(--border)}@media (max-width: 980px){.rpt-stats{grid-template-columns:repeat(3,1fr)}}@media (max-width: 540px){.rpt-stats{grid-template-columns:repeat(2,1fr)}}.rpt-stat{display:flex;align-items:center;gap:10px;padding:14px 16px;background:var(--surface)}.rpt-stat-icon{flex:none;width:36px;height:36px;border-radius:8px;display:grid;place-items:center}.rpt-stat-body{line-height:1.2;min-width:0}.rpt-stat-label{font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--text-2)}.rpt-stat-value{font-size:18px;font-weight:700;margin-top:3px;font-variant-numeric:tabular-nums}.rpt-stat-sub{font-size:11px;color:var(--text-3);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rpt-chart-card{display:flex;flex-direction:column}.rpt-chart-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 4px}.rpt-chart-head h3{margin:0;font-size:14px;font-weight:700;letter-spacing:-.1px}.rpt-loading{font-size:11px;color:var(--text-3)}.rpt-chart{padding:8px 14px 18px}.rpt-empty{padding:40px 16px;text-align:center;color:var(--text-3);font-size:13px}.bell-wrap{position:relative}.bell-btn{position:relative;width:42px;height:42px;border-radius:999px;display:grid;place-items:center;color:var(--ansell-blue);background:#ebf6f2;border:1px solid #CDE4DC;transition:background var(--transition),color var(--transition),box-shadow var(--transition)}.bell-btn:hover{background:#ddf0e9;color:var(--ansell-blue-700);box-shadow:0 2px 8px #4daa9c40}.bell-btn.has-alerts svg{animation:bell-shake 1.4s ease-in-out infinite;transform-origin:top center}@keyframes bell-shake{0%,to{transform:rotate(0)}10%,30%{transform:rotate(-12deg)}20%,40%{transform:rotate(12deg)}50%{transform:rotate(0)}}.bell-badge{position:absolute;top:0;right:0;min-width:16px;height:16px;padding:0 4px;background:var(--status-high);color:#fff;border-radius:999px;font-size:10px;font-weight:700;display:grid;place-items:center;border:2px solid var(--surface);box-shadow:0 0 #ef444499;animation:bell-pulse 2s infinite}@keyframes bell-pulse{0%{box-shadow:0 0 #ef4444b3}70%{box-shadow:0 0 0 8px #ef444400}to{box-shadow:0 0 #ef444400}}.bell-popover{position:absolute;top:calc(100% + 12px);right:-8px;width:320px;max-width:calc(100vw - 24px);background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:60;overflow:hidden;animation:bell-pop-in .18s cubic-bezier(.4,0,.2,1)}@keyframes bell-pop-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.bell-popover:before{content:"";position:absolute;top:-7px;right:16px;width:12px;height:12px;background:var(--surface);border-top:1px solid var(--border);border-left:1px solid var(--border);transform:rotate(45deg)}.bell-popover-summary{display:flex;align-items:center;gap:14px;padding:18px 18px 16px}.bell-summary-icon{flex:none;width:44px;height:44px;border-radius:12px;display:grid;place-items:center}.bell-summary-icon.alert{background:#fef2f2;color:var(--status-high)}.bell-summary-icon.ok{background:#ecfdf5;color:var(--status-normal)}.bell-summary-text{line-height:1.3;min-width:0}.bell-summary-count{font-size:16px;font-weight:700;letter-spacing:-.2px}.bell-summary-sub{font-size:12px;color:var(--text-2);margin-top:2px}.bell-history-btn{display:flex;align-items:center;gap:10px;width:100%;padding:14px 18px;border-top:1px solid var(--border);background:linear-gradient(135deg,var(--ansell-blue) 0%,var(--ansell-blue-700) 100%);color:var(--text-on-blue)!important;font-weight:600;font-size:14px;text-decoration:none!important;transition:filter var(--transition)}.bell-history-btn:hover{filter:brightness(1.08)}.bell-history-btn span{flex:1}.appbar{background:var(--surface);color:var(--text);border-bottom:1px solid var(--border);box-shadow:0 1px #0f172a0a;position:sticky;top:0;z-index:50}.appbar-inner{max-width:100%;margin:0;padding:6px 24px;min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:24px}@media (max-width: 540px){.appbar-inner{padding:6px 12px;gap:8px;min-height:52px}}.appbar-left{display:flex;align-items:center;gap:36px}.appbar-nav{display:flex;align-items:center;gap:36px;flex:1;justify-content:center}.appbar-nav-link{position:relative;padding:8px 0;font-size:13px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--text);text-decoration:none!important;transition:color var(--transition)}.appbar-nav-link:hover,.appbar-nav-link.active{color:var(--ansell-blue)}.appbar-nav-link:after{content:"";position:absolute;left:50%;bottom:-2px;height:2px;width:0;background:#4daa9c;border-radius:2px;transform:translate(-50%);transition:width var(--transition)}.appbar-nav-link:hover:after,.appbar-nav-link.active:after{width:100%}.appbar-divider,.appbar-title{display:none}@media (max-width: 900px){.appbar-nav{gap:22px}.appbar-nav-link{font-size:12px;letter-spacing:1.2px}}@media (max-width: 720px){.appbar-nav{gap:14px}.appbar-nav-link{font-size:11px;letter-spacing:1px;padding:6px 0}}@media (max-width: 540px){.appbar-nav{gap:10px;flex:1;justify-content:flex-start}.appbar-nav-link{font-size:10px;letter-spacing:.8px}}.appbar-right{display:flex;align-items:center;gap:14px}.appbar-right .ansell-logo-wrap{padding-right:14px;margin-right:2px;border-right:1px solid var(--border)}@media (max-width: 720px){.appbar-right .ansell-logo-wrap img{height:30px!important}}@media (max-width: 540px){.appbar-right .ansell-logo-wrap{display:none}}.appbar-profile-wrap{position:relative}.appbar-user{display:flex;align-items:center;gap:10px;padding:6px 12px 6px 6px;background:var(--bg-2);border:1px solid var(--border);border-radius:999px;cursor:pointer;transition:background var(--transition),border-color var(--transition)}.appbar-user:hover{background:#ebf6f2;border-color:#cde4dc}.appbar-profile-chev{color:var(--text-3);transition:transform var(--transition)}.appbar-profile-chev.open{transform:rotate(180deg)}.appbar-profile-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:220px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:6px;z-index:60;animation:profile-pop-in .16s cubic-bezier(.4,0,.2,1)}@keyframes profile-pop-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.appbar-profile-head{padding:10px 12px 8px;border-bottom:1px solid var(--border);margin-bottom:4px}.appbar-profile-name{font-size:13px;font-weight:700;color:var(--text)}.appbar-profile-email{font-size:11px;color:var(--text-3);margin-top:2px}.appbar-profile-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;font-size:13px;font-weight:500;color:var(--text);background:transparent;border-radius:var(--radius-sm);transition:background var(--transition),color var(--transition)}.appbar-profile-item:hover{background:var(--bg-2);color:var(--ansell-blue)}.appbar-profile-item svg{color:var(--text-2)}.appbar-profile-item:hover svg{color:var(--ansell-blue)}.appbar-profile-danger{color:var(--status-high)}.appbar-profile-danger svg{color:var(--status-high)}.appbar-profile-danger:hover{background:#fef2f2;color:var(--status-high)}.appbar-profile-danger:hover svg{color:var(--status-high)}.appbar-user-avatar{width:28px;height:28px;background:var(--ansell-blue);color:var(--text-on-blue);border-radius:999px;display:grid;place-items:center}.appbar-user-meta{line-height:1.2}.appbar-user-name{font-weight:600;font-size:13px;color:var(--text)}.appbar-user-role{font-size:11px;color:var(--text-2);text-transform:capitalize}.appbar-logout{color:var(--text-2)!important}.appbar-logout:hover{background:var(--bg-2)!important;color:var(--text)!important}.appbar-hamburger{display:none;align-items:center;justify-content:center;width:42px;height:42px;border-radius:999px;border:1px solid #CDE4DC;background:#ebf6f2;color:var(--ansell-blue);transition:background var(--transition),color var(--transition)}.appbar-hamburger:hover{background:#ddf0e9}.appbar-drawer-scrim{position:fixed;top:60px;left:0;right:0;bottom:0;background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:40;animation:drawer-scrim-in .18s ease-out}@keyframes drawer-scrim-in{0%{opacity:0}to{opacity:1}}.appbar-drawer{position:fixed;top:60px;left:0;right:0;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:0 12px 32px #0f172a1a;z-index:45;padding:12px;animation:drawer-slide-in .22s cubic-bezier(.4,0,.2,1)}@keyframes drawer-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.appbar-drawer-nav{display:flex;flex-direction:column;gap:2px}.appbar-drawer-link{display:flex;align-items:center;padding:14px 16px;font-size:14px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--text);text-decoration:none!important;border-radius:var(--radius-sm);border-left:3px solid transparent;transition:background var(--transition),color var(--transition)}.appbar-drawer-link:hover{background:var(--bg-2)}.appbar-drawer-link.active{color:var(--ansell-blue);background:#ebf6f2;border-left-color:#4daa9c}.appbar-drawer-user{display:flex;align-items:center;gap:10px;padding:12px 16px;margin-top:8px;border-top:1px solid var(--border)}.appbar-drawer-user-btn{width:100%;background:transparent;text-align:left;cursor:pointer;border-radius:0;transition:background var(--transition)}.appbar-drawer-user-btn:hover{background:var(--bg-2)}.appbar-drawer-user-text{flex:1;min-width:0}.appbar-drawer-profile-actions{display:flex;flex-direction:column;gap:4px;padding:4px 0;border-top:1px solid var(--border);animation:drawer-actions-in .16s ease-out}@keyframes drawer-actions-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.appbar-drawer-logout{display:flex;align-items:center;gap:8px;width:100%;margin-top:4px;padding:12px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;color:var(--status-high);background:transparent;transition:background var(--transition)}.appbar-drawer-logout:hover{background:#fef2f2}@media (max-width: 720px){.appbar-user-meta,.appbar-logout span{display:none}.appbar-user{padding:4px}}@media (max-width: 540px){.appbar-right{gap:6px}.appbar-nav,.appbar-user,.appbar-logout{display:none}.appbar-hamburger{display:inline-grid}}.update-banner{position:fixed;right:20px;bottom:20px;z-index:1000;display:flex;align-items:center;gap:12px;padding:12px 14px 12px 12px;background:var(--surface);border:1px solid #CDE4DC;border-left:3px solid var(--ansell-blue);border-radius:var(--radius);box-shadow:var(--shadow-lg);max-width:360px;animation:update-banner-in .24s cubic-bezier(.4,0,.2,1)}@keyframes update-banner-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.update-banner-icon{width:32px;height:32px;display:grid;place-items:center;background:#ebf6f2;color:var(--ansell-blue);border-radius:999px;flex:none}.update-banner-text{display:flex;flex-direction:column;gap:1px;font-size:13px;color:var(--text);line-height:1.3}.update-banner-text strong{font-weight:700}.update-banner-text span{font-size:12px;color:var(--text-2)}.update-banner-btn{padding:7px 14px;font-size:13px;font-weight:600;color:var(--text-on-blue);background:var(--ansell-blue);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition)}.update-banner-btn:hover{background:var(--ansell-blue-700, #154A88)}.update-banner-close{width:26px;height:26px;display:grid;place-items:center;background:transparent;border:none;border-radius:999px;color:var(--text-3);cursor:pointer;transition:background var(--transition),color var(--transition)}.update-banner-close:hover{background:var(--bg-2);color:var(--text)}@media (max-width: 540px){.update-banner{left:12px;right:12px;bottom:12px;max-width:none}}:root{--ansell-blue: #003C71;--ansell-blue-700: #00305C;--ansell-blue-500: #0061A8;--ansell-blue-300: #0085CA;--ansell-blue-100: #DDEEF8;--ansell-yellow: #FFD100;--bg: #F5F7FA;--bg-2: #EDF1F6;--surface: #FFFFFF;--surface-2: #F8FAFC;--border: #E3E8EF;--border-strong: #CBD5E1;--text: #0F172A;--text-2: #475569;--text-3: #94A3B8;--text-on-blue: #FFFFFF;--status-low: #F59E0B;--status-low-bg: #FEF3C7;--status-normal: #10B981;--status-normal-bg: #D1FAE5;--status-high: #EF4444;--status-high-bg: #FEE2E2;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04), 0 1px 3px rgba(15, 23, 42, .06);--shadow-md: 0 4px 12px rgba(15, 23, 42, .06), 0 2px 4px rgba(15, 23, 42, .04);--shadow-lg: 0 12px 32px rgba(15, 23, 42, .1), 0 4px 8px rgba(15, 23, 42, .04);--radius-sm: 6px;--radius: 8px;--radius-lg: 12px;--radius-xl: 16px;--transition: .18s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-feature-settings:"cv02","cv03","cv04","cv11";background:var(--bg);color:var(--text);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5}button{font-family:inherit;cursor:pointer;border:0;background:transparent;color:inherit;padding:0}input,select,textarea{font-family:inherit;font-size:14px;color:inherit}a{color:var(--ansell-blue);text-decoration:none}a:hover{text-decoration:underline}@media (max-width: 540px){input,select,textarea{font-size:16px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;font-weight:600;font-size:14px;border-radius:var(--radius-sm);transition:background var(--transition),transform var(--transition),box-shadow var(--transition);white-space:nowrap}.btn-primary{background:var(--ansell-blue);color:var(--text-on-blue);box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--ansell-blue-700);box-shadow:var(--shadow-md)}.btn-primary:active{transform:translateY(1px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{color:var(--text-2);padding:8px 12px}.btn-ghost:hover{background:var(--bg-2);color:var(--text)}.input{width:100%;padding:11px 14px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);transition:border-color var(--transition),box-shadow var(--transition)}.input:focus{outline:0;border-color:var(--ansell-blue-500);box-shadow:0 0 0 4px #0061a826}.label{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-2);margin-bottom:6px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;padding:4px 10px;border-radius:999px}.pill-LOW{background:var(--status-low-bg);color:var(--status-low)}.pill-NORMAL{background:var(--status-normal-bg);color:var(--status-normal)}.pill-HIGH{background:var(--status-high-bg);color:var(--status-high)}.pill-UNKNOWN{background:var(--bg-2);color:var(--text-3)}.pill-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.toast{position:fixed;bottom:24px;right:24px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:14px 18px;z-index:1000;display:flex;align-items:center;gap:10px;font-weight:500;animation:slideUp .2s ease-out}.toast-success{border-left:4px solid var(--status-normal)}.toast-error{border-left:4px solid var(--status-high)}.toast-info{border-left:4px solid var(--ansell-blue-300)}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.dots:after{content:"·";animation:blink 1.4s infinite both}@keyframes blink{0%,20%{opacity:.2}50%{opacity:1}80%,to{opacity:.2}}
