@font-face{font-family:Onest;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/onest-latin-variable.woff2) format("woff2")}:root{--color-brand: #021c5b;--color-brand-raised: #0b3278;--color-accent: #fcb806;--color-canvas: #fefbf7;--color-surface: #ffffff;--color-text: #13233f;--color-text-muted: #667085;--color-border: #d8e0ea;--color-app-bg: #f4f7fa;--color-text-secondary: #34435b;--color-surface-hover: #eaf0f5;--status-success-bg: #e8f6ef;--status-success-text: #176b4d;--status-warning-bg: #fff3d6;--status-warning-text: #8a5200;--status-error-bg: #fcebec;--status-error-text: #a82e3c;--status-info-bg: #eaf2fc;--status-info-text: #205a9b;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--space-16: 64px;--shadow-sm: 0 1px 2px rgb(2 28 91 / .06);--shadow-md: 0 10px 30px rgb(2 28 91 / .1);--focus-ring: 0 0 0 3px rgb(252 184 6 / .35)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:Onest,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5;color:var(--color-text);background:var(--color-app-bg)}h1,h2,h3,p,figure{margin:0}img,svg{display:block}a{color:var(--color-brand)}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}.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-muted{color:var(--color-text-muted)}.num{font-variant-numeric:tabular-nums}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:44px;padding:0 var(--space-4);border:1px solid transparent;border-radius:var(--radius-md);font-family:inherit;font-size:14px;font-weight:600;line-height:1;text-decoration:none;cursor:pointer;transition:background-color .12s ease-out,border-color .12s ease-out}.btn-primary{background:var(--color-brand);color:var(--color-surface)}.btn-primary:hover{background:var(--color-brand-raised)}.btn-secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-brand)}.btn-secondary:hover{background:var(--color-app-bg)}.btn:focus-visible{box-shadow:var(--focus-ring)}.btn-sm{height:36px;padding:0 var(--space-3);border-radius:var(--radius-sm)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border)}.card-title{font-size:18px;line-height:26px;font-weight:650}.card-body{padding:var(--space-4) var(--space-6) var(--space-6)}.table{width:100%;border-collapse:collapse;font-size:14px;line-height:20px}.table th{padding:var(--space-3);text-align:left;font-size:12px;font-weight:550;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);white-space:nowrap}.table td{padding:var(--space-3);border-bottom:1px solid var(--color-border);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table th.num,.table td.num{text-align:right;font-variant-numeric:tabular-nums}.badge{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:550;line-height:20px;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge-success{background:var(--status-success-bg);color:var(--status-success-text)}.badge-warning{background:var(--status-warning-bg);color:var(--status-warning-text)}.badge-error{background:var(--status-error-bg);color:var(--status-error-text)}.badge-info{background:var(--status-info-bg);color:var(--status-info-text)}.badge-neutral{background:var(--color-surface-hover);color:var(--color-text-secondary)}.field{display:flex;flex-direction:column;gap:var(--space-1)}.field label{font-size:14px;line-height:20px;font-weight:600}.field input,.field select,.field textarea{height:44px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-family:inherit;font-size:16px;line-height:1.5}.field textarea{height:auto;min-height:96px;padding:var(--space-3);resize:vertical}.field input::placeholder,.field textarea::placeholder{color:var(--color-text-muted)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--color-brand);box-shadow:var(--focus-ring)}.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.app-sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;background:var(--color-brand);color:var(--color-surface)}.app-sidebar-brand{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-bottom:1px solid rgb(255 255 255 / .12)}.app-sidebar-brand img{height:28px;width:auto}.app-nav{flex:1;overflow-y:auto;padding:var(--space-2) var(--space-3) var(--space-6)}.app-nav-section{margin:var(--space-6) var(--space-2) var(--space-2);font-size:11px;font-weight:550;letter-spacing:.08em;text-transform:uppercase;color:#ffffff8c}.app-nav-section:first-child{margin-top:var(--space-3)}.nav-link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:#ffffffc7;font-size:14px;font-weight:500;line-height:24px;text-decoration:none;transition:background-color .12s ease-out,color .12s ease-out}.nav-link svg{flex:none}.nav-link:hover{background:var(--color-brand-raised);color:var(--color-surface)}.nav-link[aria-current=page]{background:var(--color-brand-raised);color:var(--color-surface);font-weight:600;box-shadow:inset 3px 0 0 var(--color-accent)}.nav-link:focus-visible{box-shadow:inset 3px 0 0 var(--color-accent),var(--focus-ring)}.app-main{display:flex;flex-direction:column;min-width:0}.app-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:var(--space-4);height:64px;padding:0 var(--space-6);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.app-topbar-title{font-size:18px;line-height:26px;font-weight:650}.app-topbar-search{flex:1;max-width:360px;margin-left:var(--space-6)}.app-topbar-search input{width:100%;height:40px;padding:0 var(--space-3) 0 36px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-app-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 12px center;font-family:inherit;font-size:14px;color:var(--color-text)}.app-topbar-search input::placeholder{color:var(--color-text-muted)}.app-topbar-search input:focus{outline:none;border-color:var(--color-brand);box-shadow:var(--focus-ring);background-color:var(--color-surface)}.app-user{position:relative;margin-left:auto}.app-user-btn{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-2);border:none;border-radius:var(--radius-sm);background:transparent;font-family:inherit;cursor:pointer}.app-user-btn:hover{background:var(--color-surface-hover)}.app-user-avatar{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--color-brand);color:var(--color-surface);font-size:13px;font-weight:600}.app-user-name{font-size:14px;font-weight:600;text-align:left}.app-user-role{font-size:12px;font-weight:400;color:var(--color-text-muted)}.app-user-menu{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:30;display:none;min-width:230px;padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.app-user-menu.is-open{display:block}.app-user-menu-header{padding:var(--space-2) var(--space-3) var(--space-3);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-2)}.app-user-menu-header strong{display:block;font-size:14px}.app-user-menu-header span{font-size:13px;color:var(--color-text-muted)}.app-user-menu button{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-sm);background:transparent;font-family:inherit;font-size:14px;font-weight:500;color:var(--color-text);text-align:left;cursor:pointer}.app-user-menu button:hover{background:var(--color-surface-hover)}.app-content{flex:1;width:100%;max-width:1440px;padding:var(--space-6);margin:0 auto}.app-hamburger{display:none;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer}.app-overlay{position:fixed;inset:0;z-index:30;background:#021c5b66;border:none;padding:0;opacity:0;pointer-events:none;transition:opacity .18s cubic-bezier(.2,.8,.2,1)}.app-overlay.is-visible{opacity:1;pointer-events:auto}@media(max-width:1023px){.app-shell{grid-template-columns:minmax(0,1fr)}.app-sidebar{position:fixed;inset:0 auto 0 0;z-index:40;width:280px;transform:translate(-100%);transition:transform .18s cubic-bezier(.2,.8,.2,1)}.app-sidebar.is-open{transform:translate(0)}.app-hamburger{display:flex}.app-content{padding:var(--space-4)}}@media(prefers-reduced-motion:reduce){.app-sidebar,.app-overlay,.btn{transition:none}}.demo-context{padding:10px 14px;margin-bottom:24px;border-left:3px solid var(--color-accent);background:#fff7df;color:#6f4800;font-size:12px;line-height:20px}@media print{.demo-context{display:none}}@media(max-width:767px){.app-topbar{padding-inline:16px;gap:12px}.app-topbar-search{display:none}.app-topbar-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-user{margin-left:auto;flex-shrink:0}.app-user-btn>span:last-child{display:none}.app-user-btn{padding:4px;min-width:44px;min-height:44px}.app-user-avatar{flex-shrink:0}}
