:root{--brand:#8e1519;--brand-hover:#74100f;--brand-soft:#8e151914;--gold:#f0a30a;--gold-soft:#f0a30a29;--bg:#f7f5f2;--surface:#fff;--surface-2:#faf8f6;--text:#2a2422;--text-muted:#7a706b;--border:#e8e2dd;--danger:#b42318;--danger-soft:#fdecea;--shadow:0 1px 2px #2a24220f, 0 4px 16px #2a24220f;--radius:10px;color:var(--text);background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-font-smoothing:antialiased;font:15px/1.5 system-ui,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;margin:0}h1,h2{color:var(--text);margin:0}h1{font-size:1.6rem;font-weight:700}h2{font-size:1.15rem;font-weight:650}p{margin:0}.muted{color:var(--text-muted);font-size:.9rem}.btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:9px 16px;font-weight:600;transition:background .15s,border-color .15s,opacity .15s}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-sm{padding:5px 11px;font-size:.85rem}.btn-block{width:100%}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover:not(:disabled){background:var(--brand-hover)}.btn-secondary{background:var(--gold-soft);color:#8a5a00;border-color:#f0a30a66}.btn-secondary:hover:not(:disabled){background:#f0a30a47}.btn-ghost{background:var(--surface);color:var(--text);border-color:var(--border)}.btn-ghost:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.link-button{font:inherit;color:var(--brand);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:.85rem;font-weight:600}.icon-button{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:0 4px;font-size:1.6rem;line-height:1}.icon-button:hover{color:var(--text)}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.field>span{font-size:.85rem;font-weight:600}input{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;width:100%;padding:9px 12px}input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.input-with-action{position:relative}.input-with-action input{padding-right:80px}.input-with-action .link-button{position:absolute;top:50%;right:8px;transform:translateY(-50%)}.alert{border-radius:8px;margin-bottom:16px;padding:10px 12px;font-size:.9rem}.alert-error{background:var(--danger-soft);color:var(--danger)}.login-page{background:radial-gradient(ellipse at top, var(--gold-soft), transparent 60%), var(--bg);place-items:center;min-height:100vh;padding:24px 16px;display:grid}.login-card{background:var(--surface);width:100%;max-width:400px;box-shadow:var(--shadow);border-top:4px solid var(--brand);border-radius:16px;padding:32px}.login-logo{width:220px;max-width:100%;margin:0 auto 12px;display:block}.login-card h1{text-align:center;font-size:1.3rem}.login-card>.muted{text-align:center;margin:4px 0 24px}.layout{--sidebar-w:248px;min-height:100vh}.layout-main{margin-left:var(--sidebar-w);min-width:0}.sidebar{z-index:40;width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;transition:transform .22s;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-brand{border-bottom:1px solid var(--border);padding:22px 20px 18px}.sidebar-brand img{width:150px;max-width:100%;display:block}.sidebar-brand span{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-top:4px;font-size:.72rem;font-weight:700;display:block}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:18px 12px;display:flex;overflow-y:auto}.sidebar-section{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:0 10px 8px;font-size:.72rem;font-weight:700}.nav-item{color:var(--text);border-radius:8px;align-items:center;gap:10px;padding:9px 12px;font-size:.92rem;font-weight:600;text-decoration:none;display:flex}.nav-item svg{fill:currentColor;opacity:.75;width:18px;height:18px}.nav-item:hover{background:var(--surface-2)}.nav-item.active{background:var(--brand-soft);color:var(--brand);box-shadow:inset 3px 0 0 var(--brand)}.nav-item.active svg{opacity:1}.nav-item.disabled{color:var(--text-muted);opacity:.55;cursor:not-allowed;-webkit-user-select:none;user-select:none}.nav-item.disabled:hover{background:0 0}.nav-badge{text-transform:uppercase;letter-spacing:.04em;background:var(--gold-soft);color:#8a5a00;border-radius:999px;margin-left:auto;padding:1px 7px;font-size:.68rem;font-weight:700}.sidebar-footer{border-top:1px solid var(--border);flex-direction:column;gap:12px;padding:16px;display:flex}.sidebar-user{align-items:center;gap:10px;min-width:0;display:flex}.sidebar-user>div{flex-direction:column;min-width:0;line-height:1.3;display:flex}.sidebar-user strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.sidebar-user .muted{font-size:.78rem}.avatar{background:var(--gold);color:#fff;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.mobile-topbar,.sidebar-backdrop{display:none}.content{max-width:1280px;margin:0 auto;padding:32px 32px 48px}.page-header{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.toolbar{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.search{flex:320px;max-width:520px}.table-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:11px 14px}th{background:var(--surface-2);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.78rem;font-weight:650}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--surface-2)}td{word-break:break-word;font-size:.92rem}td.strong{font-weight:600}.col-id{width:70px;color:var(--text-muted);font-variant-numeric:tabular-nums}.col-actions{white-space:nowrap;text-align:right;width:1%}.col-actions .btn+.btn{margin-left:6px}.empty{text-align:center;color:var(--text-muted);padding:40px 14px}.badge{background:var(--brand-soft);color:var(--brand);font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 8px;font-size:.82rem;font-weight:600;display:inline-block}.dash{color:var(--border)}.pagination{justify-content:space-between;align-items:center;gap:12px;margin-top:16px;display:flex}.modal-backdrop{z-index:50;background:#1e141273;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:14px;width:100%;max-width:440px;box-shadow:0 20px 50px #00000040}.modal-header{justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 22px 4px;display:flex}.modal-header .muted{margin-top:2px}.modal-body{padding:16px 22px 20px}.modal-footer{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.toasts{z-index:100;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toast{background:var(--text);color:#fff;box-shadow:var(--shadow);border-left:4px solid;border-radius:8px;max-width:360px;padding:11px 16px;font-size:.9rem}.toast-success{border-left-color:#4ade80}.toast-error{border-left-color:#f87171}@media (width<=1024px){.layout-main{margin-left:0}.sidebar{box-shadow:none;transform:translate(-100%)}.sidebar.open{transform:translate(0);box-shadow:0 0 40px #0003}.sidebar-backdrop{z-index:30;background:#1e141266;display:block;position:fixed;inset:0}.mobile-topbar{z-index:20;background:var(--surface);border-bottom:1px solid var(--border);color:var(--brand);align-items:center;gap:10px;padding:10px 16px;font-weight:700;display:flex;position:sticky;top:0}.mobile-topbar img{object-fit:contain;width:28px;height:28px}.hamburger{place-items:center;margin-left:-4px;padding:4px;display:grid}.hamburger svg{width:24px;height:24px;fill:var(--text)}.content{padding:24px 20px 40px}.search{max-width:none}}@media (width<=760px){.content{padding:20px 16px 40px}.page-header{align-items:center}thead{display:none}table,tbody,tr,td{width:100%;display:block}tr{border-bottom:1px solid var(--border);padding:10px 0}tbody tr:last-child{border-bottom:none}td{border:none;gap:12px;padding:4px 14px;display:flex}td[data-label]:before{content:attr(data-label);color:var(--text-muted);flex:0 0 110px;font-size:.8rem}.col-id,.col-actions{width:100%}.col-actions{text-align:left;padding-top:8px}.pagination{flex-direction:column}}
