html { scroll-behavior: smooth; }
.demo-select { appearance: auto; cursor: pointer; display: block; }
.demo-checkbox { appearance: auto; width: 20px; height: 20px; flex-shrink: 0; accent-color: #2563eb; cursor: pointer; margin: 0 !important; }
.demo-note { color: #64748b; font-size: 12px; line-height: 1.6; margin-top: 12px; }
.demo-footer { padding: 30px 24px 100px; text-align: center; color: #64748b; font-size: 12px; background: #f8fafc; }
.demo-footer a { color: #2563eb; margin: 0 8px; text-decoration: underline; }
.demo-modal { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 20px; background: rgba(0,0,0,.8); }
.demo-dialog { position: relative; width: min(600px,100%); max-height: 85vh; overflow: auto; background: white; border-radius: 20px; box-shadow: 0 30px 80px #0005; outline: none; }
.demo-toast { position: fixed; right: 24px; bottom: 24px; z-index: 110; width: min(410px,calc(100vw - 48px)); border: 1px solid #cbd5e1; border-radius: 14px; background: white; box-shadow: 0 12px 32px #0002; padding: 22px; color: #334155; }
.demo-toast strong { display: block; margin-bottom: 8px; color: #0f172a; }
.demo-back { display:block; margin: 20px auto; width:fit-content; font-size:14px; color:#2563eb; }
header.demo-scrolled { background:rgba(255,255,255,.94); backdrop-filter:blur(12px); box-shadow:0 2px 20px #0f172a0b; }
button:focus-visible, a:focus-visible { outline: 2px solid #2563eb; outline-offset: 4px; }
@media (max-width: 600px) { .demo-dialog { max-height: 90vh; } .demo-dialog .p-8 { padding:24px; } input, select { font-size:16px !important; } }
@media (prefers-reduced-motion: reduce) { html {scroll-behavior:auto;} *, *::before, *::after {animation:none !important; transition:none !important;} .reveal {opacity:1 !important;transform:none !important;} }
.admin-demo-banner {position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:16px;padding:10px 20px;background:#eff6ff;border-bottom:1px solid #bfdbfe;color:#475569;font-size:12px;line-height:1.5;}
.admin-demo-banner strong {color:#1d4ed8;white-space:nowrap;}
.admin-demo-banner span {flex:1;}
.admin-demo-banner a {white-space:nowrap;color:#1d4ed8;text-decoration:underline;}
.admin-demo-banner button {white-space:nowrap;border:1px solid #cbd5e1;border-radius:6px;padding:5px 10px;background:white;}
.admin-page main {min-width:0;}
.admin-page main table {min-width:900px;}
.admin-page main .rounded-lg:has(> .p-0 > table) {overflow-x:auto;}
.admin-page aside {flex-shrink:0;}
@media(max-width:767px){.admin-demo-banner{flex-wrap:wrap;gap:8px;padding:10px 12px;}.admin-demo-banner span{order:3;flex-basis:100%;}.admin-page #root > .min-h-screen.flex{display:block;}.admin-page aside{width:100%;border-right:0;}.admin-page aside nav{padding:8px;overflow-x:auto;}.admin-page aside nav ul{display:flex;gap:4px;}.admin-page aside nav li{flex-shrink:0;}.admin-page aside nav button{padding:10px;}.admin-page aside > .p-4{display:none;}.admin-page main > .p-6{padding:16px;}.admin-page main .flex.gap-4.bg-white{flex-wrap:wrap;}.admin-page main .flex.gap-4.bg-white > .flex-1{flex-basis:calc(100% - 180px);}.admin-page [role="dialog"]{max-width:calc(100vw - 24px);}.admin-page main .border-b > nav{gap:16px;overflow:auto;}.admin-page .admin-demo-banner strong{flex:1;}}
.brand-lockup{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}
.brand-lockup img{display:block;flex:none}
.brand-demo-note{margin:0 auto 16px;max-width:740px;padding:10px 16px;border:1px solid #bfdbfe;border-radius:12px;background:#eff6ff;color:#1d4ed8;font-size:12px;line-height:1.6;font-weight:500}
.brand-reference-note{margin:12px auto 20px;padding:14px 18px;max-width:880px;border:1px solid #cbd5e1;border-radius:12px;background:#f8fafc;color:#475569;font-size:13px;line-height:1.7;font-weight:400}
aside [data-brand-logo]{display:block;flex:none;width:32px;height:32px}
.blank-public-space{box-sizing:border-box;height:var(--blank-390);min-height:var(--blank-390)}
@media(min-width:768px){.blank-public-space{height:var(--blank-768);min-height:var(--blank-768)}}
@media(min-width:1024px){.blank-public-space{height:var(--blank-1440);min-height:var(--blank-1440)}}
