@layer reset,tokens,base,layout,components,utilities;@layer reset{*,*::before,*::after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;line-height:1.5}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}}@layer tokens{:root{--color-ui-0:#ffffff;--color-ui-50:#f7f8fa;--color-ui-100:#eef0f3;--color-ui-200:#dde1e7;--color-ui-300:#c3c9d3;--color-ui-400:#a3abb9;--color-ui-500:#8f9cb2;--color-ui-600:#6b7688;--color-ui-700:#4d5566;--color-ui-800:#333947;--color-ui-900:#1e222c;--color-ui-950:#121419;--color-ui-1000:#000000;--color-error-500:#c20e33;--color-warning-500:#f6c100;--color-success-500:#55ab55;--text-colour-white:var(--color-ui-0);--text-colour-light:var(--color-ui-600);--text-colour-regular:var(--color-ui-800);--text-colour-dark:var(--color-ui-950);--link-colour:#0093ee;--color-info-500:#3e63dd;--color-error-50:#fdecef;--color-warning-50:#fff8db;--color-warning-700:#8a6a00;--surface-error-colour:var(--color-error-50);--surface-warning-colour:var(--color-warning-50);--text-colour-warning:var(--color-warning-700);--text-colour-error:var(--color-error-500);--text-colour-success:var(--color-success-500);--text-colour-info:var(--color-info-500);--surface-colour:var(--color-ui-0);--border-colour:var(--color-ui-200);--overlay-colour:rgba(18, 20, 25, 0.5);--spacing-s0:0;--spacing-s1:5px;--spacing-s2:10px;--spacing-s3:15px;--spacing-s4:20px;--spacing-s6:30px;--spacing-s8:40px;--gutter-s0:0;--gutter-s2:10px;--gutter-s4:20px;--gutter-s6:30px;--font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-size-xs:12px;--font-size-s:13px;--font-size-r:14px;--font-size-m:16px;--font-size-l:20px;--font-size-xl:24px;--radius-s:4px;--radius-m:6px;--shadow-card:0 3px 6px 0 rgba(14, 30, 62, 0.08)}}@layer base{body{font-family:var(--font-family);font-size:var(--font-size-r);color:var(--text-colour-regular);background-color:var(--color-ui-50)}a{color:var(--link-colour)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);color:var(--text-colour-dark)}}@layer layout{.app-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-s4);padding:var(--spacing-s2) var(--gutter-s4);border-bottom:1px solid var(--border-colour);background:var(--surface-colour)}.app-bar__nav{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-s4)}.app-bar__nav a{color:var(--text-colour-regular);text-decoration:none}.app-bar__nav a[aria-current="page"]{color:var(--link-colour);font-weight:var(--font-weight-semibold)}.app-bar__nav .app-bar__brand{font-weight:var(--font-weight-bold);color:var(--text-colour-dark)}.app-bar__user{display:flex;align-items:center;gap:var(--spacing-s2);font-size:var(--font-size-s);color:var(--text-colour-light)}.app-bar__avatar{width:24px;height:24px;border-radius:50%}.app-bar__user button{padding:var(--spacing-s1) var(--spacing-s2);border:1px solid var(--border-colour);border-radius:var(--radius-s);background:var(--surface-colour);cursor:pointer;font:inherit}.page{max-width:1800px;margin:0 auto;padding:var(--gutter-s4)}.page--narrow{max-width:900px}.page-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--spacing-s4);margin-bottom:var(--spacing-s4)}.page-header h1{margin:0;font-size:var(--font-size-xl)}}@layer components{.card{background-color:var(--surface-colour);border-radius:var(--radius-m);box-shadow:var(--shadow-card);padding:var(--spacing-s4)}.card-heading{font-size:var(--font-size-m);font-weight:var(--font-weight-bold);text-transform:uppercase;color:var(--text-colour-regular);margin-bottom:var(--spacing-s2)}.badge{display:inline-block;padding:1px var(--spacing-s2);border-radius:var(--radius-s);background:var(--color-ui-100);color:var(--text-colour-regular);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-s);border:1px solid #fff0;font-weight:var(--font-weight-semibold);cursor:pointer;text-decoration:none;transition:background-color 0.15s ease,border-color 0.15s ease,color 0.15s ease}.btn.disabled,.btn[disabled]{cursor:not-allowed;opacity:.5}.btn-m{padding:var(--spacing-s2) var(--spacing-s4);font-size:var(--font-size-r)}.btn-s{padding:var(--spacing-s1) var(--spacing-s2);font-size:var(--font-size-s)}.btn-solid{background-color:var(--link-colour);border-color:var(--link-colour);color:var(--text-colour-white)}.btn-solid:hover{background-color:var(--color-ui-900);border-color:var(--color-ui-900);text-decoration:none}.btn-outline{background-color:#fff0;border-color:var(--border-colour);color:var(--text-colour-regular)}.btn-outline:hover{border-color:var(--color-ui-500);text-decoration:none}.btn-danger{background-color:var(--color-error-500);border-color:var(--color-error-500);color:var(--text-colour-white)}.btn-danger:hover{filter:brightness(.85);text-decoration:none}.field{display:block;margin-bottom:var(--spacing-s3)}.field-label{display:block;font-size:var(--font-size-s);font-weight:var(--font-weight-semibold);color:var(--text-colour-light);margin-bottom:var(--spacing-s1)}.field-input{display:block;width:100%;padding:var(--spacing-s2) var(--spacing-s3);font-size:var(--font-size-r);border:1px solid var(--border-colour);border-radius:var(--radius-s);color:var(--text-colour-regular)}.field-input:focus{outline:2px solid var(--link-colour);outline-offset:-1px}.field-error{color:var(--color-error-500);font-size:var(--font-size-s);margin-bottom:var(--spacing-s3)}.field-checkbox{display:flex;align-items:center;gap:var(--spacing-s2);font-size:var(--font-size-r);color:var(--text-colour-regular);margin-bottom:var(--spacing-s3);cursor:pointer}.table-scroll{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:var(--font-size-r)}.data-table th{text-align:left;font-size:var(--font-size-s);font-weight:var(--font-weight-semibold);color:var(--text-colour-light);padding:var(--spacing-s2) var(--spacing-s3);border-bottom:1px solid var(--border-colour);white-space:nowrap}.data-table td{padding:var(--spacing-s2) var(--spacing-s3);border-bottom:1px solid var(--border-colour);color:var(--text-colour-regular);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.alert{padding:var(--spacing-s2) var(--spacing-s3);border-radius:var(--radius-m);margin-bottom:var(--spacing-s4);background:var(--color-ui-100)}.alert--error{background:var(--surface-error-colour);color:var(--text-colour-error)}.alert--warning{background:var(--surface-warning-colour);color:var(--text-colour-warning)}.alert--success{background:var(--color-ui-100);color:var(--text-colour-success)}.log-level{display:inline-block;min-width:4.5em;padding:0 var(--spacing-s1);border-radius:var(--radius-s);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-align:center;text-transform:uppercase;background:var(--color-ui-100);color:var(--text-colour-regular)}.log-level--error{background:var(--surface-error-colour);color:var(--text-colour-error)}.log-level--warning{background:var(--surface-warning-colour);color:var(--text-colour-warning)}.log-level--notice{color:var(--text-colour-info)}.log-level--quiet{color:var(--text-colour-light)}}@layer utilities{[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-light{color:var(--text-colour-light)}.text-error{color:var(--text-colour-error)}.text-warning{color:var(--text-colour-warning)}.text-success{color:var(--text-colour-success)}.mono{font-family:var(--font-family-mono)}}@layer components{.auth{min-height:100vh;display:grid;place-items:center;padding:var(--gutter-s4);background:var(--color-ui-50)}.auth__card{width:min(400px, 100%);padding:var(--spacing-s8);background:var(--surface-colour);border:1px solid var(--border-colour);border-radius:var(--radius-m)}.auth__title{margin:0 0 var(--spacing-s2);font-size:var(--font-size-xl)}.auth__lead{margin:0 0 var(--spacing-s6);color:var(--text-colour-light)}.auth__error{padding:var(--spacing-s2) var(--spacing-s3);border-radius:var(--radius-m);background:var(--surface-error-colour);color:var(--text-colour-error)}.auth__google{display:block;padding:var(--spacing-s3);border-radius:var(--radius-m);background:var(--color-info-500);color:var(--text-colour-white);text-align:center;font-weight:var(--font-weight-semibold);text-decoration:none}.auth__note{color:var(--text-colour-light);font-size:var(--font-size-s)}.auth__dev{margin-top:var(--spacing-s6);padding-top:var(--spacing-s4);border-top:1px dashed var(--border-colour);display:grid;gap:var(--spacing-s2)}.auth__dev label{display:grid;gap:var(--spacing-s1);font-size:var(--font-size-s)}.auth__dev input{padding:var(--spacing-s2);border:1px solid var(--border-colour);border-radius:var(--radius-s);font:inherit}.auth__dev button{padding:var(--spacing-s2);border:1px solid var(--border-colour);border-radius:var(--radius-s);background:var(--surface-colour);cursor:pointer}}@layer components{.logs{display:grid;gap:var(--spacing-s4)}.logs-filter{display:grid;gap:var(--spacing-s2)}.logs-filter__row{display:flex;flex-wrap:wrap;gap:var(--spacing-s2) var(--spacing-s3);align-items:flex-end}.logs-filter__field{flex:1 1 140px;min-width:120px}.logs-filter__field--wide{flex:4 1 320px}.logs-filter__field .field-input{height:calc(var(--font-size-r) * 2.5);padding:var(--spacing-s1) var(--spacing-s2)}.logs-filter__custom{display:flex;flex:2 1 380px;gap:var(--spacing-s3)}.logs-filter__custom[hidden]{display:none}.logs-filter__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-s2)}.logs-live[aria-pressed="true"]{background:var(--surface-error-colour);border-color:var(--text-colour-error);color:var(--text-colour-error)}.logs-live__status{font-size:var(--font-size-s);color:var(--text-colour-light)}.logs-histogram{padding:var(--spacing-s3) var(--spacing-s4)}.logs-histogram__summary{margin:0 0 var(--spacing-s2);font-size:var(--font-size-s);color:var(--text-colour-light)}.logs-histogram__summary strong{color:var(--text-colour-dark)}.logs-histogram__chart{display:block;width:100%;height:80px}.logs-histogram__slot{fill:#fff0}.logs-histogram a:hover .logs-histogram__slot{fill:var(--color-ui-100)}.logs-histogram__bar--other{fill:var(--color-ui-400)}.logs-histogram__bar--warning{fill:var(--color-warning-500)}.logs-histogram__bar--error{fill:var(--color-error-500)}.logs-results{padding:0;overflow:hidden}.logs-results__head{display:flex;justify-content:space-between;gap:var(--spacing-s4);padding:var(--spacing-s2) var(--spacing-s4);font-size:var(--font-size-s);color:var(--text-colour-light);border-bottom:1px solid var(--border-colour)}.logs-pager{display:flex;gap:var(--spacing-s2);padding:var(--spacing-s3) var(--spacing-s4)}.logs-pager:empty{display:none}.log-list{font-size:var(--font-size-s)}.log-list__empty{padding:var(--spacing-s6) var(--spacing-s4);color:var(--text-colour-light)}.log-row{border-bottom:1px solid var(--color-ui-100)}.log-row--error{background:linear-gradient(to right,var(--color-error-500) 0 3px,transparent 3px)}.log-row--warning{background:linear-gradient(to right,var(--color-warning-500) 0 3px,transparent 3px)}.log-row--highlight{box-shadow:inset 0 0 0 2px var(--link-colour)}.log-row--new{animation:log-row-arrive 2s ease-out}@keyframes log-row-arrive{from{background-color:var(--surface-warning-colour)}}.log-row__summary{display:grid;grid-template-columns:11.5em 5.5em minmax(8em,16em) 1fr;gap:var(--spacing-s3);align-items:baseline;padding:3px var(--spacing-s4);cursor:pointer;list-style:none}.log-row__summary::-webkit-details-marker{display:none}.log-row__summary:hover{background:var(--color-ui-50)}.log-row[open]>.log-row__summary{background:var(--color-ui-100)}.log-row__time{font-family:var(--font-family-mono);color:var(--text-colour-light);white-space:nowrap}.log-row__where{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-colour-light)}.log-row__message{font-family:var(--font-family-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-colour-dark)}.log-row__more{color:var(--text-colour-light);font-family:var(--font-family)}.log-row__detail{padding:var(--spacing-s2) var(--spacing-s4) var(--spacing-s3);display:grid;gap:var(--spacing-s2);background:var(--color-ui-50)}.log-row__full{margin:0;padding:var(--spacing-s2);max-height:30em;overflow:auto;white-space:pre-wrap;word-break:break-word;font-family:var(--font-family-mono);background:var(--surface-colour);border:1px solid var(--border-colour);border-radius:var(--radius-s)}.log-row__actions{display:flex;flex-wrap:wrap;gap:var(--spacing-s4);margin:0}.log-meta{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:2px var(--spacing-s4);margin:0}.log-meta div{display:flex;gap:var(--spacing-s2)}.log-meta dt{min-width:5em;color:var(--text-colour-light)}.log-meta dd{margin:0;overflow-wrap:anywhere}.log-attrs{justify-self:start;border-collapse:collapse;font-family:var(--font-family-mono)}.log-attrs th{text-align:left;font-weight:var(--font-weight-regular);color:var(--text-colour-light);padding:1px var(--spacing-s3) 1px 0;vertical-align:top}.log-attrs td{padding:1px var(--spacing-s3) 1px 0;overflow-wrap:anywhere;vertical-align:top}@media (max-width:900px){.log-row__summary{grid-template-columns:9.5em 5em 1fr;gap:var(--spacing-s2);padding-inline:var(--spacing-s2)}.log-row__where{display:none}}}@layer components{.admin-section{margin-bottom:var(--spacing-s4)}.admin-section>*{margin-top:0;margin-bottom:0}.admin-section>*+*{margin-top:var(--spacing-s3)}.admin-section .page-header{margin-bottom:0;align-items:baseline}.admin-heading{margin:0;font-size:var(--font-size-m);font-weight:var(--font-weight-bold);color:var(--text-colour-dark)}.admin-heading .text-light{font-weight:var(--font-weight-regular)}.admin-subheading{margin-bottom:0}.admin-form{max-width:640px}.admin-form fieldset{border:0;padding:0;margin:0 0 var(--spacing-s3)}.admin-checks{display:flex;flex-wrap:wrap;gap:0 var(--spacing-s4)}.admin-inline{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--spacing-s2)}.admin-inline .field{margin-bottom:0}.admin-inline .field-input{padding:var(--spacing-s1) var(--spacing-s2)}.token-issued__value{display:inline-block;padding:var(--spacing-s1) var(--spacing-s2);background:var(--surface-colour);border:1px solid var(--border-colour);border-radius:var(--radius-s);font-size:var(--font-size-m);user-select:all;overflow-wrap:anywhere}.agent-summary{display:flex;flex-wrap:wrap;gap:var(--spacing-s2);margin:0 0 var(--spacing-s3)}.agent-state{display:inline-block;padding:1px var(--spacing-s2);border-radius:var(--radius-s);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap;background:var(--color-ui-100)}.agent-state--ok{color:var(--text-colour-success)}.agent-state--warning{background:var(--surface-warning-colour);color:var(--text-colour-warning)}.agent-state--silent,.agent-state--never{background:var(--surface-error-colour);color:var(--text-colour-error)}.agent-state--revoked{color:var(--text-colour-light)}.agent-row--revoked td{color:var(--text-colour-light)}.agent-table td{vertical-align:top}.agent-issue{margin-top:var(--spacing-s1);font-size:var(--font-size-s);color:var(--text-colour-warning)}.agent-row--silent .agent-issue,.agent-row--never .agent-issue{color:var(--text-colour-error)}.agent-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-s1);justify-content:flex-end}.rule-list{margin:var(--spacing-s1) 0 0;padding:0;list-style:none;display:grid;gap:var(--spacing-s1)}.rule-list li{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-s2)}.audit-detail{font-family:var(--font-family-mono);font-size:var(--font-size-s);color:var(--text-colour-light);overflow-wrap:anywhere}}