:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{color:#1a1a2e;background:#f5f6f8;margin:0}button{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:4px;padding:.4rem .8rem;font-size:.9rem}button:disabled{cursor:not-allowed;opacity:.5}input,select{border:1px solid #ccc;border-radius:4px;padding:.4rem;font-size:.9rem}label{color:#333;flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{color:#fff;background:#1a1a2e;align-items:center;gap:1.5rem;padding:.75rem 1.5rem;display:flex}.app-title{font-size:1.1rem;font-weight:700}.app-header nav{flex:1;gap:1rem;display:flex}.nav-link{color:#cfcfe6;font-size:.9rem;text-decoration:none}.nav-link.active,.nav-link:hover{color:#fff;text-decoration:underline}.app-user{align-items:center;gap:.75rem;font-size:.85rem;display:flex}.role-badge{background:#4a4a7a;border-radius:3px;padding:.1rem .4rem;font-size:.75rem}.app-content{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:1.5rem}.page h1{margin-top:0}.data-table{border-collapse:collapse;background:#fff;width:100%;margin:1rem 0}.data-table th,.data-table td{text-align:left;border-bottom:1px solid #e5e5ec;padding:.5rem .75rem;font-size:.9rem}.data-table th{background:#eceef4}.pager{align-items:center;gap:1rem;display:flex}.filter-row{align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.filter-label{min-width:200px}.form-error{color:#b3261e;font-size:.85rem}.detail-grid{background:#fff;border-radius:6px;grid-template-columns:max-content 1fr;gap:.25rem 1rem;max-width:500px;padding:1rem;display:grid}.detail-grid dt{color:#555;font-weight:600}.detail-grid dd{margin:0}.inline-form{background:#f9f9fb;align-items:flex-end;gap:1rem;padding:.75rem;display:flex}.login-page{--ink:#0f2a22;--ink-2:#173a2f;--paper:#f7f1e5;--paper-2:#efe6d3;--saffron:#e9a21b;--clay:#b5441f;--leaf:#2f7d5b;--serif:"Fraunces", "Iowan Old Style", Georgia, serif;--sans:"Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;min-height:100vh;font-family:var(--sans);color:var(--ink);background:var(--paper);grid-template-columns:1fr;display:grid}.login-art{color:var(--paper);background:radial-gradient(40rem 28rem at 110% -10%, #e9a21b38, transparent 60%), var(--ink);flex-direction:column;justify-content:space-between;gap:2rem;padding:1.5rem 1.5rem 2.5rem;display:flex;position:relative;overflow:hidden}.login-weave{background-color:var(--ink);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='18' viewBox='0 0 36 18'%3E%3Cpath d='M18 2 27 9 18 16 9 9Z' fill='%23e9a21b'/%3E%3Cpath d='M18 5.5 22.5 9 18 12.5 13.5 9Z' fill='%23b5441f'/%3E%3Cpath d='M0 0 6 0 3 5Z M30 0 36 0 33 5Z M0 18 6 18 3 13Z M30 18 36 18 33 13Z' fill='%232f7d5b'/%3E%3Ccircle cx='18' cy='9' r='1.2' fill='%23f7f1e5'/%3E%3C/svg%3E");background-repeat:repeat-x;background-size:36px 18px;height:18px;position:absolute;left:0;right:0}.login-weave.top{top:0}.login-weave.bottom{bottom:0}.login-brand{align-items:center;gap:.7rem;margin-top:.75rem;display:inline-flex}.login-brand svg{width:2.5rem;height:2.5rem}.login-brand-name{font-family:var(--serif);font-size:1.5rem;font-weight:600;line-height:1}.login-brand-name small{font-family:var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--saffron);margin-left:.4rem;font-size:.62rem;font-weight:800}.login-tagline,.login-areas{display:none}.login-panel{background:repeating-linear-gradient(to bottom, transparent 0, transparent 39px, #0f2a220d 39px, #0f2a220d 40px), var(--paper);justify-content:center;align-items:center;padding:2.5rem 1.25rem 3rem;display:flex}.login-form{flex-direction:column;gap:1.15rem;width:100%;max-width:24rem;display:flex}.login-eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--clay);align-items:center;gap:.7rem;margin:0;font-size:.7rem;font-weight:800;display:inline-flex}.login-eyebrow:before{content:"";background:var(--clay);width:2rem;height:2px}.login-form h1{font-family:var(--serif);font-optical-sizing:auto;font-variation-settings:"opsz" 144;letter-spacing:-.02em;text-align:left;margin:0;font-size:clamp(2.2rem,6vw,2.9rem);font-weight:600;line-height:1.04}.login-form h1 em{color:#24493c;font-weight:500}.login-lede{color:#0f2a22ad;margin:-.35rem 0 .4rem;font-size:.95rem;line-height:1.5}.login-form label{letter-spacing:.04em;color:var(--ink);gap:.45rem;font-size:.78rem;font-weight:800}.login-field{display:flex;position:relative}.login-form input{width:100%;font:inherit;color:var(--ink);background:#fffdf8;border:2px solid #0f2a222e;border-radius:.85rem;padding:.85rem 1rem;font-size:1rem;font-weight:500;transition:border-color .15s,box-shadow .15s}.login-form input::placeholder{color:#0f2a2259}.login-form input:hover{border-color:#0f2a2259}.login-form input:focus{border-color:var(--ink);outline:none;box-shadow:0 0 0 4px #e9a21b73}.login-field input[type=password],.login-field input.has-toggle{padding-right:4.4rem}.login-toggle{font:inherit;letter-spacing:.06em;text-transform:uppercase;color:#0f2a22b3;background:0 0;border:none;border-radius:.5rem;padding:.35rem .6rem;font-size:.72rem;font-weight:800;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.login-toggle:hover{color:var(--ink);background:#0f2a2212}.login-toggle:focus-visible{outline:3px solid var(--saffron)}.login-form .form-error{color:#8f2c14;border-left:4px solid var(--clay);background:#fbe6dc;border-radius:.5rem;margin:0;padding:.7rem .9rem;font-size:.88rem;font-weight:600}.login-submit{font:inherit;color:var(--paper);background:var(--ink);box-shadow:0 4px 0 0 var(--saffron);border:none;border-radius:999px;justify-content:center;align-items:center;gap:.6rem;margin-top:.4rem;padding:.95rem 1.5rem;font-size:1rem;font-weight:800;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex}.login-submit:hover:not(:disabled){background:var(--ink-2);box-shadow:0 6px 0 0 var(--saffron);transform:translateY(-2px)}.login-submit:active:not(:disabled){box-shadow:0 1px 0 0 var(--saffron);transform:translateY(2px)}.login-submit:focus-visible{outline:3px solid var(--saffron);outline-offset:3px}.login-submit:disabled{opacity:.65}.login-foot{color:#0f2a228c;border-top:2px dotted #0f2a2238;margin:.6rem 0 0;padding-top:1rem;font-size:.78rem}@media (width>=900px){.login-page{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}.login-art{padding:3rem 3.5rem 4rem}.login-brand{margin-top:1rem}.login-tagline{display:block}.login-tagline h2{font-family:var(--serif);font-optical-sizing:auto;font-variation-settings:"opsz" 144;letter-spacing:-.022em;margin:0;font-size:clamp(2.6rem,4.2vw,3.9rem);font-weight:600;line-height:1.02}.login-tagline h2 em{color:var(--saffron);font-weight:500}.login-tagline p{color:#f7f1e5b3;max-width:26rem;margin:1.4rem 0 0;font-size:1.02rem;line-height:1.6}.login-areas{max-width:28rem;margin:0;padding:0;list-style:none;display:block}.login-areas li{align-items:baseline;gap:.6rem;padding:.55rem 0;font-size:.92rem;font-weight:600;display:flex}.login-areas li:after{content:"";border-bottom:2px dotted #f7f1e540;flex:1;order:1;transform:translateY(-.2em)}.login-areas li span:first-child{order:0}.login-areas li span:last-child{color:var(--saffron);order:2;font-family:ui-monospace,Menlo,monospace;font-size:.78rem}.login-panel{padding:3rem}}
