/* Adapted from the user's tpl_raedel_v0.1.25 template-v029.css.
   WÆCCAN retains its own artwork and Django forms. Fonts are served locally. */
@font-face{font-family:Poppins;src:url('vendor/fonts/Poppins-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url('vendor/fonts/Poppins-Medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Poppins;src:url('vendor/fonts/Poppins-SemiBold.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Poppins;src:url('vendor/fonts/Poppins-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:Poppins;src:url('vendor/fonts/Poppins-ExtraBold.ttf') format('truetype');font-weight:800;font-display:swap}
:root{--navy:#102d46;--blue:#174f78;--teal:#1a9ab0;--aqua:#60c7cf;--gold:#c99b52;--ink:#1a2834;--muted:#71808c;--line:#dde5e9;--paper:#f4f7f8;--danger:#b53d42;--radius:14px;--shadow:0 24px 60px rgba(24,46,62,.12)}
body,button,input,select,textarea{font-family:Poppins,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
body{color:var(--ink);background:var(--paper)}
.app-page .sidebar{width:250px;padding:28px 20px;background:#fff;border-right:1px solid var(--line);color:var(--ink)}
.app-page .brand-with-logo{display:block;padding:4px 8px 24px;background:none;border-radius:0}
.app-page .brand-logo{width:190px;max-width:100%}
.app-page .site-label{margin:22px 12px 18px;color:var(--muted)}
.app-page nav a{padding:11px 12px;border-radius:9px;color:#50616d;font-weight:600;font-size:13px}
.app-page nav a.active,.app-page nav a:hover{color:var(--blue);background:#edf8f9;text-decoration:none}
.app-page .sidebar-bottom{border-color:var(--line)}
.app-page .sidebar-bottom p,.app-page .sidebar-bottom .small-caps{color:var(--muted)}
.app-page .sidebar-bottom a,.app-page .logout{color:var(--blue)}
.app-page main{margin-left:250px;padding:0 32px;max-width:1750px}
.app-page .topline{min-height:68px;align-items:center;padding:20px 32px;margin:0 -32px;background:#fff;border-bottom:1px solid var(--line)}
.app-page h1{font-family:inherit;color:var(--navy);font-size:32px;font-weight:700;letter-spacing:-.6px}
.app-page h2{font-weight:600;color:var(--navy)}
.app-page .summary strong{font-family:inherit;font-weight:600;font-size:32px}
.app-page .summary strong span{font-family:inherit;font-weight:400}
.app-page .sensor-card,.app-page .history-panel,.app-page .setup-panel,.app-page .empty{border-radius:var(--radius);border:1px solid var(--line);background:#fff;box-shadow:0 4px 18px rgba(24,46,62,.035)}
.app-page .notice{background:#edf8f9;border-color:#c9e8eb;border-radius:12px}
.app-page .notice.warning{background:#fff8e8;border-color:#efdca5;color:#775715}
.app-page .notice div>span{color:var(--muted)}
.app-page .tag{color:var(--blue);border-color:#b9dce1}
.app-page .location-icon{background:#edf8f9;color:var(--blue)}
.app-page .card-history{background:#fbfeff;color:var(--blue)}
.app-page .card-history:hover{background:#edf8f9}
.app-page .status{background:#effaf5;color:#26724d}
.app-page .status.amber{background:#fff8e8;color:#775715}
.app-page .status.muted{background:#f0f3f5;color:var(--muted)}
.primary-button{border:0;border-radius:10px;background:linear-gradient(100deg,var(--blue),var(--teal));box-shadow:0 10px 20px rgba(25,125,153,.18);font-weight:600;color:#fff;min-height:44px}
.primary-button:hover{filter:brightness(.97)}
.primary-button:disabled{cursor:not-allowed;opacity:.45;box-shadow:none}
.secondary-button{border:1px solid #d6e0e4;border-radius:10px;background:#fff;color:#31434f;padding:11px 15px;cursor:pointer;min-height:44px}
.text-link{color:var(--blue)}
.app-page select,.controller-form input{border:1px solid #ccd7dd;border-radius:10px;background:#fff;color:var(--ink);padding:11px 13px;min-height:44px}
.app-page input:focus,.app-page select:focus{outline:0;border-color:var(--teal);box-shadow:0 0 0 4px rgba(26,154,176,.11)}
.controller-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,350px),1fr));gap:20px;margin-bottom:24px}
.controller-grid .setup-panel{margin:0}
.controller-card.selected-controller{border-color:var(--teal)}
.controller-card .console-id{overflow-wrap:anywhere;font-size:11px}
.controller-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:22px}
.controller-form{display:grid;grid-template-columns:1fr 1.6fr auto;align-items:end;gap:16px}
.controller-form label{display:block;color:#41515c;font-size:13px;font-weight:700;margin-bottom:7px}
.controller-form input{width:100%;font:inherit;font-size:13px}
.controller-form p{margin:0}
.controller-form .errorlist{color:var(--danger);font-size:13px;padding-left:20px;grid-column:1/-1}
.app-page footer{font-size:11px;color:var(--muted)}
/* Login proportions, type, fields and depth from the supplied template. */
body.login-page{padding:0;min-height:100vh;overflow-x:hidden}
.login-page .login-stage{min-height:100vh;border:0;border-radius:0;grid-template-columns:minmax(420px,1.03fr) minmax(480px,.97fr);background:#123f69 url('login-background.png?v=2') left center/cover no-repeat}
.login-page .brand-scene{position:relative;display:flex;flex-direction:column;justify-content:center;padding:clamp(48px,7vw,110px);overflow:hidden;background:transparent}
.login-page .brand-lockup{position:relative;width:auto;max-width:620px;margin-left:clamp(105px,10vw,180px);padding:0;transform:none;align-self:auto;background:none}
.login-page .brand-lockup .login-logo{display:block;width:min(560px,92%);max-width:100%;height:auto;margin:0;filter:drop-shadow(0 8px 24px rgba(8,24,37,.18))}
.login-page .brand-lockup p{margin:22px 0 0 -120px;width:min(680px,calc(100% + 240px));max-width:none;font-size:clamp(18px,1.375vw,22px);line-height:1.3;text-wrap:balance;text-align:center;font-weight:500;color:rgba(255,255,255,.96);text-shadow:0 2px 12px rgba(8,24,37,.18)}
.login-page .login-column{min-height:100vh;padding:56px clamp(36px,6vw,96px);display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:none;justify-self:stretch}
.login-page .login-card{width:min(100%,510px);background:#fff;border:1px solid rgba(26,40,52,.08);border-radius:20px;box-shadow:var(--shadow);padding:42px}
.login-page .product-label{color:var(--teal);font-size:12px;font-weight:800;letter-spacing:.17em;margin:0}
.login-page h1{margin:9px 0 8px;font:700 34px/1.15 Poppins,ui-sans-serif,system-ui,sans-serif;color:var(--navy);letter-spacing:normal}
.login-page .intro{margin:0 0 30px;color:var(--muted);line-height:1.6;font-size:14px}
.login-page form{margin-top:0}
.login-page .field{margin:0 0 19px}
.login-page label{margin:0 0 7px;color:#41515c;font-size:13px;font-weight:700}
.login-page input:not([type=hidden]){height:48px;min-height:48px;border:1px solid #ccd7dd;border-radius:10px;background:#fff;color:var(--ink);padding:11px 13px;font:inherit;font-size:14px}
.login-page .password-field input{padding-right:52px}
.login-page input:not([type=hidden]):focus{border-color:var(--teal);box-shadow:0 0 0 4px rgba(26,154,176,.11),0 8px 22px rgba(16,45,70,.055)}
.login-page .password-toggle{top:0;right:0;width:48px;height:48px;border-radius:0 10px 10px 0;color:#667985}
.login-page .password-toggle svg{width:21px;height:21px}
.login-page .login-button{margin-top:24px;min-height:50px;height:auto;padding:12px 16px;border-radius:10px;background:linear-gradient(100deg,var(--blue),var(--teal));box-shadow:0 10px 20px rgba(25,125,153,.18);font-size:15px;font-weight:700}
.login-page footer{margin-top:30px;color:rgba(255,255,255,.72);font-size:12px;text-shadow:0 1px 2px rgba(0,0,0,.18)}
.login-page .form-error{margin:0 0 16px;padding:13px 15px;border-radius:12px;background:#fff4f4;border:1px solid #f0cecf;color:var(--danger);font-size:14px;line-height:1.45;box-shadow:0 8px 24px rgba(181,61,66,.08)}
@media(prefers-reduced-motion:no-preference){.login-page .login-card{animation:waeccan-card-enter .72s cubic-bezier(.2,.78,.25,1) both}.login-page .login-logo{animation:waeccan-logo-float 7.5s ease-in-out 1s infinite}.login-page .login-button{transition:transform .18s ease,box-shadow .18s ease}.login-page .login-button:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(25,125,153,.25)}}
@keyframes waeccan-card-enter{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
@keyframes waeccan-logo-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media(max-width:1100px){.controller-form{grid-template-columns:1fr}.login-page .login-card{padding:30px 25px}.login-page .login-column{padding:45px 30px}}
@media(max-width:900px){.app-page .sidebar{position:static;width:100%;height:auto;padding:20px}.app-page nav{display:flex;flex-wrap:wrap}.app-page .sidebar-bottom,.app-page .site-label{display:none}.app-page .brand-with-logo{padding:0 0 15px;width:190px}.app-page main{margin-left:0;padding:0 22px}.app-page .topline{margin:0 -22px;padding:20px 22px}.app-page .heading{flex-wrap:wrap}.login-page .login-stage{display:grid;grid-template-columns:1fr;padding:0;background-position:20% center}.login-page .brand-scene{min-height:260px;padding:46px 34px}.login-page .brand-lockup{margin-left:0;width:100%;max-width:620px;padding:0}.login-page .brand-lockup .login-logo{width:min(330px,72vw);margin:0}.login-page .brand-lockup p{margin:18px 0 0;width:100%;max-width:100%;font-size:20px;text-align:left}.login-page .login-column{min-height:auto;padding:40px 22px 50px}.login-page .login-card{padding:30px 25px}.login-page h1{font-size:34px}}
@media(max-width:480px){.app-page .summary strong{font-size:28px}.app-page h1{font-size:28px}.app-page .setup-panel{padding:20px}.controller-actions{align-items:stretch}.login-page .brand-scene{padding:28px 24px;min-height:230px}.login-page .brand-lockup p{font-size:18px}.login-page .login-column{padding-top:20px}}

/* Dashboard shell alignment with the shared RÆDEL application language. */
:root{--app-bg:#f6f9fa;--card-bg:#fff;--ui-border:#dbe4e8;--ui-radius:14px;--space-1:6px;--space-2:10px;--space-3:16px;--space-4:24px;--accent:#1495aa;--brand-navy:#102d46;--text-muted:#768794;--warning-bg:#fff9ed;--warning-border:#eed8a4;--control-height:40px}
.app-page{background:var(--app-bg)}
.app-page .sidebar{width:244px;padding:24px 12px 14px}
.app-page .brand-with-logo{padding:2px 12px 24px}
.app-page .brand-logo{width:176px}
.app-page nav{gap:4px}
.app-page nav>a,.app-page .nav-group>a{min-height:44px;padding:10px 13px;border-radius:10px;font-size:13px;gap:12px}
.app-page nav a span{font-size:18px;width:20px;text-align:center;color:#607684}
.app-page nav a.active span,.app-page nav a:hover span{color:var(--accent)}
.app-page .nav-primary{margin-bottom:8px}
.nav-group{margin:0;border:0}
.nav-group summary{display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer;padding:11px 13px 7px;color:#435866;font-size:12px;font-weight:700;letter-spacing:.025em}
.nav-group summary::-webkit-details-marker{display:none}
.nav-group summary b{font-size:13px;font-weight:600;transition:transform .16s ease}
.nav-group:not([open]) summary b{transform:rotate(-90deg)}
.nav-group>a{display:flex;align-items:center;color:#50616d;font-weight:600}
.app-page .sidebar-bottom{padding:14px 0 0;margin-top:auto}
.sidebar-help{display:flex!important;align-items:center;gap:10px;padding:10px 13px!important;margin-bottom:10px;color:#526774!important;font-weight:600}
.sidebar-help span{display:grid;place-items:center;width:18px;height:18px;border:1px solid #80909a;border-radius:50%;font-size:11px}
.account-card{display:grid;grid-template-columns:36px minmax(0,1fr) 24px;gap:10px;align-items:center;padding:10px;border:1px solid var(--ui-border);border-radius:12px;background:#fbfdfe}
.account-initial{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--blue);color:#fff;font-weight:700}
.account-card strong,.account-card small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-card strong{font-size:11px;color:var(--brand-navy)}
.account-card small{margin-top:3px;font-size:9px;color:var(--text-muted)}
.account-card form{margin:0}.account-card .logout{width:24px;height:32px;color:#607684;font-size:14px}
.app-page main{margin-left:244px;padding:0 18px;max-width:none}
.app-page .topline{min-height:62px;margin:0 -18px;padding:8px 18px}
.dashboard-crumb{display:flex;align-items:center;gap:9px;color:var(--brand-navy);font-size:12px!important;font-weight:700;letter-spacing:0!important}
.dashboard-crumb b{color:var(--accent);font-size:17px}
.site-filter{display:flex;align-items:flex-end;gap:8px;margin-left:auto}
.site-filter label{display:grid;gap:3px;color:var(--text-muted);font-size:9px;font-weight:600}
.site-filter select{min-width:190px;height:var(--control-height);min-height:var(--control-height)!important;padding:7px 34px 7px 11px!important;font-size:12px}
.site-filter .secondary-button{height:var(--control-height);min-height:var(--control-height);padding:8px 14px}
.dashboard-hero{display:grid;grid-template-columns:64px minmax(220px,1fr) auto;align-items:center;gap:12px;margin:18px 0 10px;padding:16px;background:var(--card-bg);border:1px solid var(--ui-border);border-radius:var(--ui-radius)}
.dashboard-hero-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:12px;background:#edf7f8;color:var(--accent);font-size:25px}
.dashboard-hero .eyebrow{margin:0 0 4px;font-size:10px;font-weight:700;letter-spacing:.16em}
.dashboard-hero h1{margin:0 0 2px;font-size:22px;letter-spacing:-.35px;line-height:1.25}
.dashboard-hero .subtitle{font-size:11px}
.hero-summary{display:flex;gap:8px}
.hero-summary>div{display:grid;grid-template-columns:36px auto;grid-template-rows:auto auto;align-items:center;column-gap:9px;min-width:160px;padding:9px;border:1px solid var(--ui-border);border-radius:10px;background:#fbfdfe}
.hero-summary i{grid-row:1/3;display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:#edf7f8;color:var(--accent);font-style:normal;font-weight:700}
.hero-summary strong{align-self:end;font-size:15px;line-height:1;color:var(--brand-navy)}
.hero-summary span{align-self:start;margin-top:3px;color:var(--text-muted);font-size:8px;white-space:nowrap}
.dashboard-toolbar{display:flex;justify-content:flex-end;margin:0 0 10px}
.dashboard-toolbar .mode-switch{padding:3px;border-radius:9px}
.dashboard-toolbar .mode-switch a{padding:7px 11px;font-size:10px}
.app-page .notice{min-height:58px;margin:0 0 10px;padding:10px 14px;border-radius:var(--ui-radius)}
.app-page .notice.warning{background:var(--warning-bg);border-color:var(--warning-border)}
.app-page .notice-icon{font-size:20px}.app-page .notice strong{font-size:11px}.app-page .notice div>span{margin-top:2px;font-size:10px}.app-page .notice>a{font-weight:700;color:var(--accent)}
.metric-cards.summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0;margin:0 0 10px;border:0}
.metric-cards.summary>div{min-height:100px;padding:14px 16px;border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--card-bg)}
.metric-cards.summary>div:first-child,.metric-cards.summary>div:nth-child(3){padding-left:16px;border-left:1px solid var(--ui-border)}
.metric-cards.summary .small-caps{font-size:9px;letter-spacing:0;color:#5f7380;font-weight:700}
.metric-cards.summary strong{margin-top:8px;font-size:26px;font-weight:700;color:var(--brand-navy)}
.metric-cards.summary strong span{font-size:9px;margin-left:7px}
.metric-cards.summary p{margin:7px 0 0;font-size:9px;line-height:1.4}
.dashboard-panel{margin:0 0 10px;padding:14px;background:var(--card-bg);border:1px solid var(--ui-border);border-radius:var(--ui-radius)}
.dashboard-panel>.section-heading{margin:0 0 12px}
.dashboard-panel .section-heading .eyebrow{margin:0 0 5px;font-size:9px;font-weight:700}
.dashboard-panel .section-heading h2{font-size:17px;font-weight:700}
.dashboard-panel .section-heading h2>span{font-size:9px;font-weight:400}
.dashboard-panel .dashboard-filter{margin:0 0 12px;grid-template-columns:minmax(180px,300px) auto;gap:8px}
.dashboard-panel .dashboard-filter label{font-size:10px}.dashboard-panel .dashboard-filter select{height:38px;min-height:38px;padding:7px 11px}.dashboard-panel .dashboard-filter .secondary-button{height:38px;min-height:38px;padding:7px 13px}
.dashboard-panel .sensor-grid{gap:10px}
.dashboard-panel .sensor-card{border-radius:11px;padding:16px 16px 0;box-shadow:none}
.dashboard-panel .sensor-card h3{margin:12px 0 3px;font-size:15px;font-weight:700}
.dashboard-panel .location-icon{width:32px;height:32px;font-size:18px}
.dashboard-panel .readings{margin:18px 0 16px}.dashboard-panel .readings strong{font-size:25px;font-weight:600}.dashboard-panel .readings>div{padding-left:14px}
.dashboard-panel .card-history{width:calc(100% + 32px);margin:0 -16px;padding:10px 16px}
.dashboard-panel .empty{padding:28px 20px;border:0;box-shadow:none;background:#fbfdfe}
.dashboard-panel .empty-icon{display:grid;place-items:center;width:38px;height:38px;margin:0 auto;border-radius:10px;background:#edf7f8;font-size:20px}
.dashboard-panel .empty h3{margin:11px 0 4px;font-size:15px;font-weight:700}.dashboard-panel .empty p{margin:4px auto 14px;line-height:1.5;font-size:11px}.dashboard-panel .empty .primary-button{min-height:38px;padding:9px 14px;font-size:11px}
.app-page .history-panel{margin-top:10px;padding:16px;box-shadow:none}.app-page .history-panel .section-heading{margin-bottom:15px}.app-page .history-panel h2{font-size:17px;font-weight:700}
.app-page .primary-button,.app-page .secondary-button{border-radius:9px;min-height:40px;font-size:11px;padding:9px 14px;box-shadow:none}
.app-page .text-link{color:var(--accent);font-weight:700;font-size:10px}
.app-page footer{margin-top:18px;padding:15px 0}
@media(max-width:1180px){.dashboard-hero{grid-template-columns:54px 1fr}.hero-summary{grid-column:1/-1}.hero-summary>div{flex:1}.metric-cards.summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.app-page main{margin-left:0;padding:0 14px}.app-page .topline{margin:0 -14px;padding:8px 14px}.app-page .sidebar{width:100%;padding:15px}.app-page .brand-with-logo{width:170px;padding-bottom:10px}.app-page nav{display:block}.app-page .nav-group{display:none}.site-filter select{min-width:150px}.account-card,.sidebar-help{display:none!important}}
@media(max-width:650px){.dashboard-topbar{align-items:flex-end!important}.dashboard-crumb{display:none}.site-filter{width:100%}.site-filter label{flex:1}.site-filter select{width:100%}.dashboard-hero{grid-template-columns:46px 1fr;padding:13px}.dashboard-hero-icon{width:44px;height:44px}.dashboard-hero h1{font-size:19px}.hero-summary{display:grid;grid-template-columns:1fr}.hero-summary>div{min-width:0}.metric-cards.summary{grid-template-columns:1fr}.metric-cards.summary>div{min-height:90px}.dashboard-toolbar{justify-content:flex-start}.dashboard-panel{padding:12px}.dashboard-panel .section-heading{align-items:flex-start}.dashboard-panel .sensor-card{padding:14px 14px 0}.dashboard-panel .card-history{width:calc(100% + 28px);margin:0 -14px;padding:10px 14px}}

/* Tinytag CSV import */
.wizard-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 12px;padding:0;list-style:none;counter-reset:none}
.wizard-steps li{padding:10px 12px;border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:#fff;color:var(--ui-muted);font-size:12px;font-weight:600}
.wizard-steps li.current{border-color:var(--ui-accent);background:#edf8fa;color:var(--brand-navy)}.wizard-steps li.complete{color:#137b8f}
.import-panel,.import-mapping .setup-panel,.validation-panel{max-width:none;margin-bottom:12px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.compact-chart{height:260px;min-height:260px}
.table-scroll{overflow:auto;margin-top:12px}.preview-table{width:100%;border-collapse:collapse;font-size:11px}.preview-table th,.preview-table td{padding:8px 10px;border-bottom:1px solid var(--ui-border);text-align:left;white-space:nowrap}.preview-table th{background:#f5f8f9;color:#536b78;font-size:9px;text-transform:uppercase}
.import-source-card{margin-bottom:12px}.detail-list{display:grid;grid-template-columns:180px 1fr;gap:9px 18px}.detail-list dt{color:var(--ui-muted);font-size:11px}.detail-list dd{margin:0;font-weight:600}.import-summary{margin-bottom:12px}
@media(max-width:650px){.wizard-steps,.form-grid{grid-template-columns:1fr}.detail-list{grid-template-columns:1fr}.detail-list dd{margin-bottom:8px}}

/* Reporting and evidence */
.reports-table td{vertical-align:top}.report-steps{margin-bottom:12px}.option-grid{display:flex;gap:22px;align-items:flex-start;flex-wrap:wrap;margin:8px 0 16px}.report-sheet{margin:14px 0;padding:28px;border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:#fff;box-shadow:0 8px 30px rgba(11,43,63,.04)}
.report-cover{padding-bottom:22px;border-bottom:2px solid #0c8fa4}.report-cover h2{font-size:28px;margin:5px 0}.report-cover dl{display:grid;grid-template-columns:110px 1fr;gap:5px 14px;margin:18px 0 0;font-size:11px}.report-cover dt{color:var(--ui-muted)}.report-cover dd{margin:0;font-weight:600}.report-section{padding:20px 0;border-bottom:1px solid var(--ui-border)}.report-section h3{font-size:15px;margin:0 0 12px}.report-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.report-stat-grid article{padding:14px;border:1px solid var(--ui-border);border-radius:10px;display:grid;gap:5px}.report-stat-grid span,.report-stat-grid small{font-size:10px;color:var(--ui-muted)}.report-stat-grid strong{font-size:18px;color:var(--brand-navy)}.provenance-card{display:grid;gap:4px;padding:12px 0;border-top:1px solid var(--ui-border);font-size:11px}.report-note{padding-top:18px;font-size:9px;color:var(--ui-muted)}.delete-report-files{display:flex;gap:10px;align-items:center;margin:12px 0}.delete-report-files small{color:var(--ui-muted)}
.report-chart-block{margin:14px 0}.report-chart-block h4{font-size:12px;margin:0 0 5px}.report-chart{height:250px;border:1px solid var(--ui-border);border-radius:10px;background:#fbfcfc}.report-chart-note{font-size:10px;color:var(--ui-muted)}.event-timeline{list-style:none;padding:0}.event-timeline li{display:grid;grid-template-columns:70px 1fr;gap:14px;padding:12px 0;border-top:1px solid var(--ui-border)}.event-timeline time{color:#0c899d;font-weight:700}.event-timeline div{display:grid;gap:3px}.event-timeline small{color:var(--ui-muted)}
@media(max-width:650px){.report-sheet{padding:16px}.report-stat-grid{grid-template-columns:1fr}.report-cover dl{grid-template-columns:1fr}.option-grid{display:grid}}

.dashboard-filter{margin-top:24px;grid-template-columns:minmax(180px,360px) auto;justify-content:start}.dashboard-filter select{width:100%}@media(max-width:480px){.dashboard-filter{grid-template-columns:1fr}}
.custom-range{display:flex;align-items:end;gap:12px;margin:0 0 18px}.custom-range[hidden]{display:none}.custom-range label{display:grid;gap:6px;color:#74817e;font-size:12px}.custom-range input{min-width:220px;padding:12px;border:1px solid #d5dfdf;border-radius:10px;background:#fff;color:#102f4a}.chart-note{flex-wrap:wrap;gap:10px 24px}
