:root{--primary: #21963A;--primary-dark: #156B28;--primary-light: #C6E9CD;--primary-surface: #E8F5EC;--secondary: #440099;--secondary-dark: #2D0066;--secondary-light: #E3D5F5;--secondary-surface: #F2EAFA;--warn: #D32F2F;--warn-light: #FDECEC;--amber: #C77700;--amber-light: #FFF3DC;--info-light: #E8F0FE;--g50:#FAFAFA;--g100:#F5F5F5;--g200:#EAEAEA;--g300:#D8D8D8;--g400:#B5B5B5;--g500:#929292;--g600:#6E6E6E;--g700:#4E4E4E;--g800:#2F2F2F;--g900:#1A1A1A;--font-brand: "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-pill: 9999px;--elev-1: 0 1px 3px rgba(0,0,0,.06);--elev-2: 0 2px 8px rgba(0,0,0,.08);--elev-3: 0 4px 16px rgba(0,0,0,.12)}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:var(--font-brand);color:var(--g900);background:var(--g100)}button,input,select,textarea{font-family:inherit}a{color:var(--secondary)}.mi{font-family:Material Symbols Rounded;font-weight:400;font-style:normal;display:inline-block;line-height:1;vertical-align:middle;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";font-variation-settings:"opsz" 24,"wght" 400,"FILL" 0,"GRAD" 0}.mi.filled{font-variation-settings:"opsz" 24,"wght" 400,"FILL" 1,"GRAD" 0}.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border-radius:var(--r-pill);font:600 13px/1 var(--font-brand);border:none;cursor:pointer;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;text-decoration:none}.btn-primary{background:var(--secondary);color:#fff}.btn-primary:hover{background:var(--secondary-dark)}.btn-primary:disabled{background:var(--g400);cursor:not-allowed}.btn-outlined{background:#fff;color:var(--secondary);border:1.5px solid var(--secondary)}.btn-outlined:hover{background:var(--secondary-surface)}.btn-outlined:disabled{color:var(--g400);border-color:var(--g300);cursor:not-allowed;background:#fff}.btn-text{background:transparent;color:var(--g700);padding:6px 10px;font-weight:600}.btn-text:hover{color:var(--secondary)}.btn-warn{background:var(--warn);color:#fff}.btn-warn:hover{background:#b71c1c}.btn-warn:disabled{background:var(--g300);cursor:not-allowed}.btn-sm{padding:8px 14px;font-size:12px}.btn-block{width:100%;justify-content:center}.card{background:#fff;border-radius:var(--r-lg);box-shadow:var(--elev-1);padding:18px}.hairline{height:1px;background:var(--g200)}.chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:var(--r-pill);background:#fff;color:var(--g700);border:1px solid var(--g300);font:500 12px/1 var(--font-brand);cursor:pointer;transition:all .15s}.chip:hover:not(:disabled){background:var(--g50)}.chip.active{background:var(--secondary);color:#fff;border-color:var(--secondary)}.badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:6px;font:600 11px/1.4 var(--font-brand)}.badge.primary,.badge.success{background:var(--primary-surface);color:var(--primary-dark)}.badge.info{background:var(--info-light);color:var(--secondary-dark)}.badge.neutral{background:var(--g100);color:var(--g700)}.status-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:var(--r-pill);font:600 11px/1.4 var(--font-brand)}.status-pill .mi{font-size:13px}.status-pill.pending{background:var(--amber-light);color:var(--amber)}.status-pill.approved{background:var(--primary-surface);color:var(--primary-dark)}.status-pill.denied{background:var(--warn-light);color:var(--warn)}.status-pill.expired{background:var(--g100);color:var(--g700)}.field{display:flex;flex-direction:column;gap:6px}.field label{font:600 11px/1 var(--font-brand);color:var(--g700);text-transform:uppercase;letter-spacing:.04em}.field input,.field select,.field textarea{border:1px solid var(--g300);border-radius:var(--r-sm);padding:11px 12px;font:400 13px/1.3 var(--font-brand);color:var(--g900);background:#fff;outline:none;transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--secondary);box-shadow:0 0 0 3px var(--secondary-surface)}.price{font:800 24px/1 var(--font-brand);color:var(--secondary);letter-spacing:-.01em}.panel-shell{min-height:100vh;background:var(--g100);display:flex;flex-direction:column}.panel-top{background:#fff;border-bottom:1px solid var(--g200);padding:14px 28px;display:flex;align-items:center;gap:14px;position:sticky;top:0;z-index:10}.panel-top .brand{display:flex;align-items:center;gap:10px;cursor:pointer;text-decoration:none}.panel-top .brand-mark{width:38px;height:38px;border-radius:10px;background:var(--secondary);color:#fff;display:grid;place-items:center;font:800 14px/1 var(--font-brand)}.panel-top .brand-text .t1{font:800 14px/1.2 var(--font-brand);color:var(--g900)}.panel-top .brand-text .t2{font:500 11px/1 var(--font-brand);color:var(--g600);margin-top:2px}.panel-top .crumb{display:flex;align-items:center;gap:8px;margin-left:4px;font:500 13px/1 var(--font-brand);color:var(--g600)}.panel-top .crumb .mi{font-size:16px}.panel-top .crumb b{color:var(--g900);font-weight:700}.panel-top .crumb a{color:var(--g700);cursor:pointer;text-decoration:none}.panel-top .crumb a:hover{color:var(--secondary)}.panel-top .search{background:var(--g100);border-radius:var(--r-pill);padding:9px 16px;font:400 13px/1 var(--font-brand);color:var(--g600);flex:1;max-width:420px;display:flex;align-items:center;gap:8px;margin-left:8px}.panel-top .search .mi{font-size:16px}.panel-top .user{margin-left:auto;display:flex;align-items:center;gap:10px}.panel-top .user .who{font:600 13px/1.2 var(--font-brand);color:var(--g900)}.panel-top .user .role{font:500 11px/1 var(--font-brand);color:var(--g600);margin-top:2px}.panel-top .user .av{width:36px;height:36px;border-radius:50%;background:var(--secondary-light);color:var(--secondary);display:grid;place-items:center;font:700 12px/1 var(--font-brand)}.panel-top .user .logout{margin-left:6px;background:transparent;border:none;cursor:pointer;color:var(--g500);display:grid;place-items:center;padding:6px;border-radius:8px}.panel-top .user .logout:hover{color:var(--warn);background:var(--g100)}.panel-body{max-width:1200px;width:100%;margin:0 auto;padding:32px 28px 60px}.panel-body.wide{max-width:1280px}.panel-title{font:800 24px/1.2 var(--font-brand);color:var(--g900);margin:0;letter-spacing:-.01em}.panel-sub{font:400 13px/1.5 var(--font-brand);color:var(--g600);margin:4px 0 22px}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px}.stat{background:#fff;border:1px solid var(--g200);border-radius:12px;padding:16px 18px}.stat .l{font:600 11px/1 var(--font-brand);color:var(--g600);text-transform:uppercase;letter-spacing:.06em}.stat .v{font:800 28px/1.1 var(--font-brand);color:var(--g900);margin-top:8px;letter-spacing:-.02em}.stat .d{font:500 11px/1 var(--font-brand);color:var(--g600);margin-top:6px;display:flex;align-items:center;gap:4px}.stat.alert{border-color:var(--amber);background:linear-gradient(180deg,var(--amber-light) 0%,#fff 100%)}.stat.alert .v,.stat.alert .d{color:var(--amber)}.stat .v.success{color:var(--primary-dark)}.stat .v.warn{color:var(--warn)}.stat .v.muted{color:var(--g600)}.event-list{display:grid;grid-template-columns:1fr;gap:10px}.event-card{background:#fff;border:1px solid var(--g200);border-radius:14px;padding:18px 22px;display:grid;grid-template-columns:6px 1fr 220px;gap:18px;cursor:pointer;transition:box-shadow .15s,transform .15s,border-color .15s;align-items:center;position:relative;overflow:hidden}.event-card:hover{box-shadow:var(--elev-2);transform:translateY(-1px)}.event-card.urgent{border-color:var(--amber)}.event-card .stripe{width:6px;height:64px;border-radius:9999px;background:var(--secondary)}.event-card.urgent .stripe{background:var(--amber)}.event-card .info .name{font:700 16px/1.3 var(--font-brand);color:var(--g900)}.event-card .info .meta{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px;font:400 12px/1 var(--font-brand);color:var(--g600)}.event-card .info .meta .mi{font-size:14px;margin-right:4px;vertical-align:-2px}.event-card .info .meta .mono{font-family:var(--font-mono)}.event-card .pend{text-align:right}.event-card .pend .n{font:800 36px/1 var(--font-brand);color:var(--amber);letter-spacing:-.02em}.event-card .pend .l{font:600 11px/1 var(--font-brand);color:var(--amber);text-transform:uppercase;letter-spacing:.06em;margin-top:4px}.event-card .pend .empty{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--r-pill);background:var(--primary-surface);color:var(--primary-dark);font:600 12px/1 var(--font-brand)}.event-card .pend .empty .mi{font-size:16px}.orders-table{background:#fff;border-radius:14px;overflow:hidden;border:1px solid var(--g200)}.orders-table .toolbar{padding:14px 18px;border-bottom:1px solid var(--g200);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.orders-table .filters{display:flex;gap:6px;flex-wrap:wrap}.filter-chip{background:transparent;border:none;color:var(--g700);padding:7px 14px;border-radius:var(--r-pill);font:600 12px/1 var(--font-brand);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .15s}.filter-chip:hover{background:var(--g100);color:var(--g900)}.filter-chip.active{background:var(--secondary);color:#fff}.filter-chip .cnt{background:var(--g200);color:var(--g700);padding:1px 7px;border-radius:var(--r-pill);font:700 10px/1.5 var(--font-brand)}.filter-chip.active .cnt{background:#ffffff40;color:#fff}.orders-table .search-box{display:flex;align-items:center;gap:8px;padding:7px 12px;border-radius:var(--r-pill);background:var(--g50);border:1px solid var(--g200);font:400 12px/1 var(--font-brand);color:var(--g700);min-width:220px}.orders-table .search-box .mi{font-size:16px;color:var(--g500)}.orders-table .search-box input{border:none;background:transparent;outline:none;flex:1;font:400 12px/1 var(--font-brand);color:var(--g900)}.orders-table table{width:100%;border-collapse:collapse}.orders-table th{text-align:left;padding:12px 18px;font:600 11px/1 var(--font-brand);color:var(--g600);text-transform:uppercase;letter-spacing:.06em;background:var(--g50);border-bottom:1px solid var(--g200)}.orders-table td{padding:14px 18px;font:400 13px/1.4 var(--font-brand);color:var(--g800);border-bottom:1px solid var(--g100);vertical-align:top}.orders-table tr.row{cursor:pointer;transition:background .15s}.orders-table tr.row:hover{background:var(--g50)}.orders-table tr.row.pending{background:linear-gradient(90deg,var(--amber-light) 0%,transparent 8px)}.orders-table tr.row.pending:hover{background:var(--amber-light)}.orders-table .id{font:600 12px/1 var(--font-mono);color:var(--g900)}.orders-table .sub{color:var(--g600);font-size:11px;margin-top:3px}.orders-table .who{font:600 13px/1 var(--font-brand);color:var(--g900)}.orders-table .price-cell{font:700 13px/1 var(--font-brand);color:var(--g900);white-space:nowrap}.empty-state{padding:60px 24px;text-align:center}.empty-state .mi{font-size:48px;color:var(--g300)}.empty-state .title{font:700 14px/1 var(--font-brand);color:var(--g700);margin-top:12px}.empty-state .sub{font:400 12px/1.5 var(--font-brand);color:var(--g600);margin-top:4px}.detail-card{background:#fff;border-radius:var(--r-lg);box-shadow:var(--elev-1);padding:18px}.detail-card.subdued{background:var(--g50);box-shadow:none;border:1px solid var(--g200)}.detail-card .head{display:flex;align-items:center;gap:10px;margin-bottom:14px}.detail-card .head .icon{width:28px;height:28px;border-radius:var(--r-sm);background:var(--secondary-surface);color:var(--secondary);display:grid;place-items:center}.detail-card .head .icon .mi{font-size:16px}.detail-card .head h3{margin:0;font:700 14px/1 var(--font-brand);color:var(--g900)}.kv-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.kv .k{font:500 11px/1 var(--font-brand);color:var(--g600);text-transform:uppercase;letter-spacing:.06em}.kv .v{font:400 13px/1.4 var(--font-brand);color:var(--g800);margin-top:4px;word-break:break-word}.kv .v.warn{color:var(--warn)}.kv .v.mono{font-family:var(--font-mono);font-size:12px}.decision-banner{border-radius:12px;padding:14px 18px;display:flex;gap:12px;align-items:flex-start;border:1px solid var(--g200);background:var(--g100)}.decision-banner .mi{font-size:22px;color:var(--g600)}.decision-banner.approved{background:var(--primary-surface);border-color:var(--primary-light)}.decision-banner.approved .mi{color:var(--primary)}.decision-banner.denied{background:var(--warn-light);border-color:#d32f2f33}.decision-banner.denied .mi{color:var(--warn)}.decision-banner .title{font:700 14px/1.3 var(--font-brand);color:var(--g900)}.decision-banner .sub{font:400 12px/1.5 var(--font-brand);color:var(--g700);margin-top:2px}.decision-banner .justif{margin-top:10px;padding:12px;background:#fff;border-radius:var(--r-sm);border:1px solid var(--g200);font:400 12px/1.5 var(--font-brand);color:var(--g800)}.decision-banner .justif .label{font:700 11px/1 var(--font-brand);color:var(--g600);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.audit-log{display:flex;flex-direction:column}.audit-log .row{display:flex;gap:12px;padding:10px 0;align-items:center;border-top:1px solid var(--g200)}.audit-log .row:first-child{border-top:none}.audit-log .icon-dot{width:24px;height:24px;border-radius:50%;background:#fff;border:1px solid var(--g200);color:var(--g600);display:grid;place-items:center}.audit-log .icon-dot.approved{color:var(--primary)}.audit-log .icon-dot.denied{color:var(--warn)}.audit-log .icon-dot .mi{font-size:14px}.audit-log .what{font:500 12px/1.2 var(--font-brand);color:var(--g900);flex:1}.audit-log .who{font:400 11px/1 var(--font-brand);color:var(--g600)}.audit-log .when{font:400 11px/1 var(--font-brand);color:var(--g500);font-family:var(--font-mono)}.decision-aside{position:sticky;top:96px;align-self:start;display:flex;flex-direction:column;gap:12px}.decision-aside .label-section{font:700 12px/1 var(--font-brand);color:var(--g600);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}.decision-aside .hint{margin-top:14px;padding:10px 12px;background:var(--g50);border-radius:var(--r-sm);font:400 11px/1.5 var(--font-brand);color:var(--g600);display:flex;gap:8px}.decision-aside .hint .mi{font-size:14px}kbd{background:#fff;border:1px solid var(--g300);border-radius:4px;padding:1px 5px;font-family:var(--font-mono);font-size:11px;color:var(--g800)}.modal-backdrop{position:fixed;inset:0;background:#140a2873;display:grid;place-items:center;z-index:100;padding:24px;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:#fff;border-radius:var(--r-lg);box-shadow:var(--elev-3);width:100%;max-width:520px;overflow:hidden;animation:pop .15s ease}@keyframes pop{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.modal-head{padding:18px 22px;border-bottom:1px solid var(--g200);display:flex;align-items:center;gap:12px}.modal-head .icon-box{width:36px;height:36px;border-radius:var(--r-sm);background:var(--warn-light);color:var(--warn);display:grid;place-items:center}.modal-head .icon-box .mi{font-size:22px}.modal-head h3{margin:0;font:700 16px/1.3 var(--font-brand);color:var(--g900)}.modal-body{padding:18px 22px;font:400 13px/1.6 var(--font-brand);color:var(--g700)}.modal-body textarea{width:100%;min-height:100px;padding:12px;border:1px solid var(--g300);border-radius:var(--r-sm);font:400 13px/1.5 var(--font-brand);color:var(--g900);resize:vertical;outline:none}.modal-body textarea:focus{border-color:var(--secondary);box-shadow:0 0 0 3px var(--secondary-surface)}.modal-body .helper{display:flex;justify-content:space-between;margin-top:6px;font:400 11px/1 var(--font-brand);color:var(--g600)}.modal-body .helper .ok{color:var(--primary)}.modal-actions{padding:14px 22px;border-top:1px solid var(--g200);display:flex;justify-content:flex-end;gap:10px;background:var(--g50)}.toast-stack{position:fixed;bottom:24px;right:24px;z-index:300;display:flex;flex-direction:column;gap:10px}.toast{background:var(--g900);color:#fff;padding:12px 18px;border-radius:var(--r-md);font:500 13px/1.4 var(--font-brand);box-shadow:var(--elev-3);display:flex;align-items:center;gap:10px;animation:slideUp .2s ease;min-width:280px;max-width:420px}.toast.success{background:var(--primary-dark)}.toast.warn{background:var(--amber)}.toast.error{background:var(--warn)}@keyframes slideUp{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.login-shell{min-height:100vh;background:linear-gradient(135deg,#2a1654,#409 60%,#5b16c0);display:grid;place-items:center;padding:28px;position:relative;overflow:hidden}.login-shell .deco{position:absolute;color:#ffffff0d;font-variation-settings:"wght" 200;pointer-events:none}.login-shell .deco.right{right:-60px;top:-60px;font-size:360px}.login-shell .deco.left{left:-80px;bottom:-100px;font-size:280px}.login-card{background:#fff;border-radius:20px;padding:36px;width:100%;max-width:420px;box-shadow:0 24px 60px #0000004d;position:relative;z-index:2;text-align:center}.login-card .mark{width:64px;height:64px;border-radius:16px;margin:0 auto;background:var(--secondary);color:#fff;display:grid;place-items:center;font:800 24px/1 var(--font-brand)}.login-card .eyebrow{font:600 11px/1 var(--font-brand);color:var(--g600);text-transform:uppercase;letter-spacing:.1em;margin-top:18px}.login-card h1{font:800 22px/1.3 var(--font-brand);color:var(--g900);margin:8px 0 4px}.login-card .sub{font:400 13px/1.5 var(--font-brand);color:var(--g700);margin:0 0 22px}.login-card .btn{padding:14px 24px;font-size:14px}.login-card .info-box{margin-top:18px;padding:10px 12px;background:var(--g50);border-radius:var(--r-sm);font:400 11px/1.5 var(--font-brand);color:var(--g600);display:flex;gap:8px;align-items:flex-start;text-align:left}.login-card .info-box .mi{font-size:14px;color:var(--g500);flex-shrink:0}.login-card .error{margin-top:14px;padding:10px 12px;background:var(--warn-light);border-radius:var(--r-sm);font:500 12px/1.4 var(--font-brand);color:var(--warn);text-align:left;display:flex;gap:8px;align-items:flex-start}.login-card .error .mi{font-size:16px;flex-shrink:0}@media(max-width:980px){.stat-row{grid-template-columns:repeat(2,1fr)}.event-card{grid-template-columns:6px 1fr}.event-card .pend{grid-column:2;text-align:left}.panel-top .search{display:none}}
