@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url("./manrope-400.ttf") format("truetype")}
@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url("./manrope-500.ttf") format("truetype")}
@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url("./manrope-600.ttf") format("truetype")}
*{box-sizing:border-box}
.admin-shell [hidden]{display:none!important}
body.admin-shell{margin:0;max-width:none;padding:0 0 0 240px;background:var(--surface);color:var(--ink);font:400 14px/22px var(--admin-font)}
.admin-sidebar{position:fixed;inset:0 auto 0 0;width:240px;padding:var(--space-12) var(--space-6);background:var(--charcoal);color:var(--on-charcoal);display:flex;flex-direction:column;gap:var(--space-8);z-index:10;overflow-y:auto}
.admin-brand{display:flex;align-items:center;gap:var(--space-3);font-size:18px;line-height:26px;font-weight:600}
.admin-sidebar svg{width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;color:var(--on-charcoal-muted)}
.admin-sidebar nav{display:flex;flex-direction:column;gap:var(--space-2)}
.admin-sidebar a{display:flex;align-items:center;gap:var(--space-3);min-height:48px;padding:var(--space-3);color:var(--on-charcoal);text-decoration:none;border-radius:var(--radius-md)}
.admin-nav-group{display:grid;gap:var(--space-2)}
.admin-nav-group h2{margin:0;padding:var(--space-2) var(--space-3) 0;font:600 12px/20px var(--admin-font);color:var(--on-charcoal-muted)}
.admin-nav-group a{margin-left:var(--space-3)}
.admin-sidebar a:hover,.admin-sidebar a[aria-current=page]{background:var(--charcoal-raised)}
.admin-content{margin-left:0;min-width:0;padding:var(--space-12) var(--space-8);width:100%}
.admin-content>header{padding:0;margin-bottom:var(--space-12)}
.admin-content h1{font:500 28px/36px var(--admin-font);letter-spacing:-.01em;margin:0 0 16px}
.admin-content h2:not(.chart-title){font:600 18px/26px var(--admin-font);margin:0 0 24px}
body:not(.admin-gallery) .admin-content h3{font:600 14px/22px var(--admin-font)}
.admin-content>section,.admin-signin{min-width:0;padding:24px;margin:0 0 var(--space-12);background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
body:not(.admin-gallery) .admin-content label:not(.sr-only){display:flex;align-items:baseline;gap:var(--space-2);color:var(--ink-muted);margin:0}
body:not(.admin-gallery) .admin-content input,body:not(.admin-gallery) .admin-content select,body:not(.admin-gallery) .admin-content button{font:inherit;color:var(--ink);background:var(--surface-raised);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);max-width:100%;min-width:0;min-height:40px}
body:not(.admin-gallery) .admin-content select{field-sizing:content;width:auto;max-width:min(100%,32rem)}
body:not(.admin-gallery) .admin-content input[type=checkbox],body:not(.admin-gallery) .admin-content input[type=radio]{min-height:0}
body:not(.admin-gallery) .admin-content button{border-radius:var(--radius-md);margin:0;cursor:pointer;white-space:normal}
.admin-control-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}
.admin-field{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-2);min-width:0;max-width:100%}
body.admin-shell .admin-content button:enabled:hover{background-color:var(--admin-button-hover,var(--surface-sunken))!important;border-color:var(--line-strong)!important}
body:not(.admin-gallery) .admin-content button:disabled{color:var(--ink-muted);background:var(--surface-sunken);opacity:.62;cursor:not-allowed}
body.admin-shell .admin-content button:enabled:active{background-color:var(--admin-button-pressed,var(--greige))!important;border-color:var(--charcoal)!important}
.admin-content #upload,.admin-styling #publish,.admin-styling .style-segmented button[aria-pressed=true],.admin-styling .style-switch[aria-checked=true],.chart-creator .creator-device button[aria-pressed=true],.chart-creator .creator-page-tab[aria-selected=true],.chart-creator .creator-chart-tabs button[aria-pressed=true]{--admin-button-hover:var(--charcoal-raised);--admin-button-pressed:var(--charcoal-raised)}
.admin-shell button{transition:background-color .15s ease,border-color .15s ease}
.admin-content #upload{background:var(--charcoal);color:var(--on-charcoal);border-color:var(--charcoal)}
.admin-content a{color:var(--info)}
.admin-content :is(a,button,input,select,summary):focus-visible,.admin-sidebar a:focus-visible{outline:2px solid var(--info);outline-offset:3px}
.admin-content pre{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;background:var(--surface-sunken);padding:16px;border-radius:var(--radius-sm)}
.admin-content [role=status]{color:var(--ink-muted);white-space:pre-wrap;overflow-wrap:anywhere}
.admin-table-scroll{max-width:100%;overflow:auto}
.admin-table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}
.admin-table th,.admin-table td{height:48px;padding:12px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap}
.admin-table th{background:var(--surface-sunken);color:var(--ink-muted);font-size:11px;line-height:16px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.admin-table tbody tr:hover{background:var(--surface-sunken)}
.admin-table td pre{margin:0;padding:0;background:transparent}
.admin-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:var(--radius-pill);background:var(--greige);color:var(--ink-muted);font-size:13px;line-height:20px;white-space:nowrap}
.admin-badge:before{content:"";width:5px;height:5px;background:currentColor;border-radius:50%}
.admin-badge[data-tone=success]{background:var(--success-soft);color:var(--success)}
.admin-badge[data-tone=warning]{background:var(--warning-soft);color:var(--warning)}
.admin-badge[data-tone=danger]{background:var(--danger-soft);color:var(--danger)}
.admin-badge[data-tone=info]{background:var(--info-soft);color:var(--info)}
.admin-login .admin-content{display:grid;min-height:100vh;align-content:center}
.admin-login .admin-signin{width:100%;max-width:480px;justify-self:center;box-shadow:var(--shadow-md);border-radius:var(--radius-xl);padding:32px}
.admin-gallery .admin-content{padding-top:48px}
.admin-gallery #chart-gallery{padding:0;width:100%;min-width:0}
.admin-gallery .chart-card{box-shadow:var(--shadow-sm)}
.admin-gallery .report-page{gap:48px}
.admin-gallery .chart-card,.admin-gallery .report-navigation,.admin-gallery .report-area{font-family:var(--chart-font)}
.admin-gallery .admin-content .chart-card :is(h2,h3,button,select){font-family:var(--chart-font)}
.admin-gallery .chart-table th,.admin-gallery .chart-table td{height:48px}
.admin-gallery .chart-table th:first-child{background:var(--surface-sunken)}
body.admin-home .admin-content>section{position:relative;margin-bottom:var(--space-12)}
body.admin-home .admin-content>section:nth-of-type(2){z-index:1;padding-bottom:var(--space-6)}
body.admin-home #version{position:relative;z-index:3;max-width:100%}
body.admin-home #version-status,body.admin-home #build-status,body.admin-home #import-status{margin:var(--space-2) 0;color:var(--ink-muted)}
body.admin-home #operation-status:empty{display:none}
body.admin-home #version-status:empty{display:none}
body.admin-home #build-status:empty,body.admin-home #import-status:empty{display:none}
.admin-load-error{color:var(--danger)!important}
.admin-load-empty{color:var(--ink-muted)}
body.admin-styling .style-section{margin-bottom:var(--space-12)}
@media(max-width:1023px){
  .admin-sidebar{width:64px;padding:var(--space-12) var(--space-2)}
  .admin-sidebar .admin-nav-text{display:none}
  .admin-sidebar a{justify-content:center;padding:var(--space-3) 0}
  .admin-nav-group a{margin-left:0}
  .admin-nav-group h2{padding:var(--space-2) 0 0;text-align:center;font-size:11px}
  .admin-brand{justify-content:center}
  body.admin-shell{padding-left:64px}
}
@media(prefers-reduced-motion:reduce){.admin-shell *{scroll-behavior:auto}}
