:root{--accent-color:#0d6efd;--ink:#1b2738;--muted:#66758a;--paper:#f5f7fb;--panel:#fff;--line:#e3e8ef;--shadow:0 18px 48px rgba(24,43,73,.09);--bs-primary:var(--accent-color);--bs-primary-rgb:13,110,253}
*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body{min-height:100vh;margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.55}
.site-header{position:sticky;top:0;z-index:1030;background:var(--panel);border-bottom:1px solid var(--line);box-shadow:0 2px 10px rgba(20,35,60,.035)}.site-header .navbar{min-height:72px}.navbar-brand{display:flex;align-items:center;gap:12px;color:var(--ink);font-weight:750;font-size:1rem;white-space:normal}.navbar-brand:hover{color:var(--accent-color)}.brand-mark{width:40px;height:40px;display:grid;place-items:center;flex:none;border-radius:12px;background:var(--accent-color);color:#fff;font-weight:800;font-size:1.25rem;box-shadow:0 5px 14px color-mix(in srgb,var(--accent-color) 24%,transparent)}.brand-copy small{display:block;margin-top:2px;color:var(--muted);font-size:.63rem;font-weight:700;letter-spacing:.12em}.navbar-nav .nav-link{padding:.55rem .75rem;color:var(--muted);font-size:.9rem;font-weight:600;border-radius:8px}.navbar-nav .nav-link:hover,.navbar-nav .nav-link:focus{color:var(--accent-color);background:color-mix(in srgb,var(--accent-color) 8%,transparent)}.theme-toggle{width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink);font-size:1.05rem}.theme-toggle:hover{border-color:var(--accent-color);color:var(--accent-color)}
.page-layout{display:grid;grid-template-columns:205px minmax(0,1fr);gap:clamp(18px,2vw,30px);width:min(100%,1320px);margin-inline:auto;max-width:1320px;min-height:calc(100vh - 150px);padding-top:40px;padding-bottom:28px}.page-layout.no-sidebar{display:block;max-width:1320px}.page-layout.no-sidebar .form-shell{width:min(100%,540px);margin:0 auto 28px}.page-layout.no-sidebar .form-shell.wide{width:min(100%,880px)}.page-layout.no-sidebar:has(.form-shell){display:flex;align-items:center;justify-content:center}.page-layout.no-sidebar:has(.form-shell) .page-content{width:100%}.sidebar-nav{position:sticky;top:96px;align-self:start;display:flex;flex-direction:column;gap:5px;padding:18px 12px;background:var(--panel);border:1px solid var(--line);border-radius:14px}.sidebar-label{padding:4px 10px 9px;color:var(--muted);font-size:.67rem;font-weight:800;letter-spacing:.13em}.sidebar-nav a{padding:9px 10px;border-radius:8px;color:var(--muted);text-decoration:none;font-size:.88rem;font-weight:600}.sidebar-nav a:hover{background:color-mix(in srgb,var(--accent-color) 9%,transparent);color:var(--accent-color)}.page-content{min-width:0}.page-kicker,.eyebrow{color:var(--accent-color);font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.page-content>h1{margin:.25rem 0 1.55rem;color:var(--ink);font-size:clamp(1.8rem,4vw,2.5rem);font-weight:750;letter-spacing:-.045em;line-height:1.15}
.hero-panel{position:relative;isolation:isolate;display:flex;align-items:center;min-height:390px;overflow:hidden;padding:clamp(30px,7vw,78px);border-radius:20px;background:linear-gradient(125deg,color-mix(in srgb,var(--accent-color) 80%,#17324d),#17324d 70%);color:#fff;box-shadow:var(--shadow)}.hero-panel:after{position:absolute;z-index:-1;content:"";width:400px;height:400px;right:-120px;top:-35px;border:1px solid #ffffff35;border-radius:50%;box-shadow:0 0 0 35px #ffffff0b,0 0 0 75px #ffffff08}.hero-panel h2{max-width:680px;margin:.5rem 0;font-size:clamp(2.7rem,7vw,5.2rem);font-weight:800;letter-spacing:-.055em;line-height:1.03}.hero-panel p:not(.eyebrow){max-width:480px;color:#d9e4f1}.hero-stamp{position:absolute;right:12%;bottom:14%;display:grid;width:100px;height:100px;place-content:center;border:1px solid #ffffff80;border-radius:50%;text-align:center;font-size:.65rem;font-weight:700;letter-spacing:.15em;transform:rotate(10deg)}.hero-stamp strong{font-size:2.1rem;line-height:1.1}:root{--control-height:44px}.form-control,.form-select{height:var(--control-height);min-height:var(--control-height)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-height);white-space:nowrap;padding:.68rem 1.15rem;font-weight:650;line-height:1.2;text-align:center}.btn-sm{min-height:44px;padding:.45rem .75rem;border-radius:8px;font-weight:650}.table td form.d-inline{display:inline-flex!important;vertical-align:middle}.table td .btn{font-weight:650}.btn-primary{--bs-btn-bg:var(--accent-color);--bs-btn-border-color:var(--accent-color);--bs-btn-hover-bg:color-mix(in srgb,var(--accent-color) 83%,#000);--bs-btn-hover-border-color:color-mix(in srgb,var(--accent-color) 83%,#000);--bs-btn-active-bg:color-mix(in srgb,var(--accent-color) 75%,#000);--bs-btn-active-border-color:color-mix(in srgb,var(--accent-color) 75%,#000);--bs-btn-focus-shadow-rgb:13,110,253}
.form-shell{max-width:540px;margin:0 auto 28px;padding:clamp(22px,4vw,34px);border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:var(--shadow)}.form-shell.wide{max-width:880px}.page-content:has(.form-shell){display:flex;flex-direction:column}.page-content:has(.form-shell)>h1{margin-bottom:1rem}.form-shell h2{margin-bottom:1rem;color:var(--ink);font-size:1.2rem;font-weight:700}.form-label{margin-bottom:.4rem;color:var(--ink);font-size:.85rem;font-weight:650}.form-control,.form-select{min-height:44px;border-color:var(--line);border-radius:9px;background-color:var(--panel);color:var(--ink);font-size:.93rem}.form-control:focus,.form-select:focus{border-color:var(--accent-color);box-shadow:0 0 0 .22rem color-mix(in srgb,var(--accent-color) 20%,transparent)}.color-field{height:46px;padding:4px}.form-check-input:checked{background-color:var(--accent-color);border-color:var(--accent-color)}.active-check{padding-top:2.3rem}.alert{border-radius:10px;font-size:.9rem}.section-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px}.section-head h2{margin:.25rem 0}.section-head>a,.table a{color:var(--accent-color);font-size:.84rem;font-weight:650}.tile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:16px}.admin-tile{position:relative;display:flex;min-height:175px;flex-direction:column;justify-content:flex-start;padding:22px;border:1px solid var(--line);border-radius:15px;background:var(--panel);color:var(--ink);text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.admin-tile:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent-color) 45%,var(--line));box-shadow:var(--shadow);color:var(--ink)}.admin-tile strong{margin-top:0;font-size:1.35rem;font-weight:750}.admin-tile .tile-description{min-height:2.7em;max-width:245px;color:var(--muted);font-size:.88rem}.tile-spacer{height:1.2rem;flex:0 0 1.2rem}.admin-tile i{position:absolute;right:20px;bottom:19px;color:var(--accent-color);font-size:1.2rem;font-style:normal}.lead-copy{margin:-.35rem 0 1.5rem;color:var(--muted);font-size:.96rem}.table-wrap{overflow-x:auto;margin-top:24px;padding:8px 18px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.table{margin:0;color:var(--ink);font-size:.86rem;vertical-align:middle}.table>:not(caption)>*>*{padding:.85rem .65rem;border-bottom-color:var(--line)}.table th{color:var(--muted);font-size:.69rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.table tbody tr:last-child>*{border-bottom:0}.inline-form{display:inline;margin-left:10px}.link-danger{padding:0;border:0;background:none;color:#bd3445;text-decoration:underline;font-size:.82rem;font-weight:650}.permission-set{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:12px;margin-top:22px;padding:16px 12px;border:1px solid var(--line);border-radius:10px}.permission-set legend{float:none;width:auto;padding:0 5px;color:var(--ink);font-size:1rem;font-weight:700}.permission-set label{color:var(--ink);font-size:.86rem}.permission-set input{accent-color:var(--accent-color);margin-right:7px}.muted{color:var(--muted);font-size:.84rem}.footer{margin:56px 0 0;padding:18px 0;border-top:1px solid var(--line);color:var(--muted);font-size:.75rem;letter-spacing:.025em}.footer span{padding:0 6px;color:var(--accent-color)}code{color:var(--accent-color)}
[data-bs-theme="dark"]{color-scheme:dark;--ink:#e8edf5;--muted:#a6b2c3;--paper:#111821;--panel:#19232e;--line:#2d3a49;--shadow:0 18px 48px rgba(0,0,0,.24);--bs-body-bg:var(--paper);--bs-body-color:var(--ink);--bs-border-color:var(--line);--bs-secondary-color:var(--muted)}[data-bs-theme="dark"] .navbar-toggler{filter:invert(1)}[data-bs-theme="dark"] .form-control,[data-bs-theme="dark"] .form-select{background-color:#141e28;color:var(--ink)}[data-bs-theme="dark"] .form-control::placeholder{color:var(--muted)}[data-bs-theme="dark"] .table{--bs-table-bg:var(--panel);--bs-table-color:var(--ink);--bs-table-border-color:var(--line)}
@media(max-width:991.98px){.page-layout{grid-template-columns:1fr;padding-top:28px}.sidebar-nav{position:static;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;padding:9px}.sidebar-label{width:100%;padding:3px 8px}.sidebar-nav a{padding:6px 9px}}@media(max-width:575.98px){.site-header .navbar{min-height:64px}.page-layout{padding-top:22px}.hero-panel{min-height:340px;padding:28px 24px;border-radius:15px}.hero-stamp{right:7%;bottom:8%;width:76px;height:76px;opacity:.75}.hero-stamp strong{font-size:1.6rem}.section-head{align-items:flex-start;flex-direction:column}.table-wrap{padding:6px 10px}.active-check{padding-top:.5rem}.form-shell{border-radius:13px}.navbar-brand{max-width:75%;font-size:.9rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
.category-dot{display:inline-block;width:12px;height:12px;flex:none;border-radius:50%;vertical-align:middle}.article-list{display:flex;flex-direction:column;gap:8px}.article-row{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--ink)}.article-main{display:flex;min-width:0;flex:1;flex-direction:column}.article-main strong{overflow:hidden;text-overflow:ellipsis}.article-main small{color:var(--muted);font-size:.78rem}.article-meta,.article-actions{display:flex;align-items:center;gap:8px}.article-meta{font-size:.88rem}.stand-choice[aria-pressed="true"]{color:#fff}@media(max-width:767.98px){.article-row{flex-wrap:wrap}.article-main{flex-basis:calc(100% - 30px)}.article-meta{margin-left:24px;flex-wrap:wrap}.article-actions{margin-left:auto}}

.stand-list{list-style:none;padding:0;margin:0}.stand-row{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:12px;padding:12px 8px;border-bottom:1px solid var(--line)}.stand-row:last-child{border-bottom:0}.stand-handle{cursor:grab;color:var(--muted);font-size:1.2rem}.stand-identity{display:flex;align-items:center;gap:12px}.stand-logo{width:44px;height:44px;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:#fff}.stand-identity small{display:block;color:var(--muted)}.stand-actions{display:flex;gap:6px;align-items:center}.stand-row.dragging{opacity:.45}.article-pick{display:inline-flex;align-items:center;gap:5px;margin:3px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;cursor:pointer}.article-pick:has(input:checked){background:color-mix(in srgb,var(--accent-color) 12%,var(--panel));border-color:var(--accent-color)}.article-pick[hidden]{display:none!important}

/* Compact admin controls and dashboard cards */
.tile-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:11px}.admin-tile{min-height:128px;padding:16px}.admin-tile strong{font-size:1.12rem}.admin-tile .tile-description{min-height:2.2em;font-size:.81rem}.tile-spacer{height:.45rem;flex-basis:.45rem}.qr-block{text-align:center;margin-top:12px}.qr-block svg{max-width:100%;height:auto;background:#fff;padding:10px;border-radius:8px}.device-actions{min-width:280px}.modal .form-shell{width:auto!important;max-width:none;margin:0;padding:0;border:0;box-shadow:none;background:transparent}.modal .form-shell h2{display:none}
@media(max-width:575.98px){.tile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.admin-tile{min-height:108px;padding:12px}.admin-tile strong{font-size:.98rem}.admin-tile .tile-description{font-size:.73rem;min-height:2em}.admin-tile i{right:11px;bottom:10px}.page-layout{padding-inline:12px}.page-content>h1{min-height:2.3em}}

.unit-entry{align-items:end}.unit-entry .flex-grow-1{min-width:0}.unit-entry .form-label{display:block}.unit-entry .unit-save{min-width:112px;padding-inline:1.25rem}

/* Admin settings uses the complete content column. */
.page-content:has(> .form-shell) .form-shell.wide{width:100%;max-width:none;margin-inline:0}
