*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--brand-navy-dark:#2c3e50;--brand-navy:#34495e;--brand-red:#e74c3c;--brand-red-dark:#c0392b;--brand-light:#ecf0f1;--bg-page:#ecf0f1;--bg-card:#fff;--bg-surface:#34495e;--bg-surface-light:#fff;--border:#d5d8dc;--border-strong:#bdc3c7;--ink:#2c3e50;--ink-secondary:#34495e;--ink-muted:#fff;--ink-faint:#ffffff80;--ink-subtle:#7f8c8d;--blue:#e74c3c;--blue-tint:#fdedec;--blue-border:#f5b7b1;--green:#16a34a;--green-tint:#f0fdf4;--green-border:#bbf7d0;--red:#c0392b;--red-tint:#fdedec;--red-border:#f5b7b1;--amber:#d97706;--amber-tint:#fffbeb;--amber-border:#fde68a;--purple:#7c3aed;--purple-tint:#fdf4ff;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--shadow-sm:0 1px 3px #2c3e5014;--shadow-md:0 4px 12px #2c3e501a}html,body{color:var(--ink);background:var(--bg-page);-webkit-font-smoothing:antialiased;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit}.page-wrapper{background:var(--bg-page);z-index:1;min-height:100vh;position:relative}.page-main-narrow,.page-main{z-index:1;position:relative}.page-main{max-width:1100px;margin:0 auto;padding:32px 24px}.page-main-narrow{max-width:800px;margin:0 auto;padding:32px 24px}.page-title{color:var(--ink);letter-spacing:-.02em;margin:0 0 4px;font-size:22px;font-weight:700}.page-subtitle{color:var(--ink-subtle);margin:0 0 28px;font-size:13px}.section-title{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-subtle);margin-bottom:14px;font-size:11px;font-weight:600}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px 24px}.metric-card{background:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--border);border-top:3px solid var(--border-strong);padding:16px;transition:box-shadow .2s,transform .2s}.metric-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.metric-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-subtle);margin-bottom:6px;font-size:11px;font-weight:600}.metric-value{color:var(--ink-muted);letter-spacing:-.02em;font-size:24px;font-weight:700}.btn{border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:6px;padding:9px 16px;font-size:13px;font-weight:500;transition:opacity .15s,transform .1s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:active:not(:disabled){transform:scale(.98)}.btn-primary{background:var(--brand-navy-dark);color:#fff}.btn-primary:hover:not(:disabled){background:var(--brand-navy)}.btn-blue{background:var(--brand-red);color:#fff}.btn-blue:hover:not(:disabled){background:var(--brand-red-dark)}.btn-green{background:var(--green);color:#fff}.btn-green:hover:not(:disabled){opacity:.9}.btn-ghost{background:var(--bg-card);color:var(--ink-secondary);border:1px solid var(--border-strong)}.btn-ghost:hover:not(:disabled){background:var(--bg-surface-light)}.btn-danger{background:var(--red-tint);color:var(--red);border:1px solid var(--red-border)}.badge{border-radius:20px;padding:3px 9px;font-size:11px;font-weight:500;display:inline-block}.badge-green{background:var(--green-tint);color:#166534}.badge-amber{background:var(--amber-tint);color:#92400e}.badge-blue{background:var(--blue-tint);color:var(--brand-red-dark)}.badge-red{background:var(--red-tint);color:var(--brand-red-dark)}.badge-purple{background:var(--purple-tint);color:var(--purple)}.badge-gray{background:var(--bg-surface);color:var(--ink-muted)}.form-label{color:var(--ink-secondary);margin-bottom:5px;font-size:12px;font-weight:500;display:block}.form-input{background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--radius-md);width:100%;color:var(--ink);outline:none;padding:9px 12px;font-size:13px;transition:border-color .15s,box-shadow .15s}.form-input:focus{border-color:var(--brand-red);box-shadow:0 0 0 3px #e74c3c1f}.form-input::placeholder{color:var(--ink-subtle);opacity:.7}.table-wrapper{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.data-table{border-collapse:collapse;background:#fff;width:100%;font-size:13px}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:#ffffffbf;background:var(--brand-navy);border-bottom:1px solid #ffffff1a;padding:11px 16px;font-size:11px;font-weight:600}.data-table td{color:var(--ink-secondary);border-bottom:1px solid var(--border);padding:13px 16px}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:#f4f6f7}.alert-warning{background:var(--amber-tint);border:1px solid var(--amber-border);border-radius:var(--radius-md);color:#92400e;padding:12px 16px;font-size:13px}.alert-error{background:var(--red-tint);border:1px solid var(--red-border);border-radius:var(--radius-md);color:var(--brand-red-dark);padding:12px 16px;font-size:13px}.alert-success{background:var(--green-tint);border:1px solid var(--green-border);border-radius:var(--radius-md);color:#166534;padding:12px 16px;font-size:13px}.date-filter-bar{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:20px;display:flex}.date-filter-btn{border:1px solid var(--border-strong);background:var(--bg-card);color:var(--ink-secondary);cursor:pointer;border-radius:20px;padding:6px 12px;font-size:12px;font-weight:500;transition:all .15s}.date-filter-btn:hover{border-color:var(--brand-red);color:var(--brand-red)}.date-filter-btn.active{background:var(--brand-navy-dark);color:#fff;border-color:var(--brand-navy-dark)}.empty-state{text-align:center;color:var(--ink-subtle);padding:48px 24px}.empty-state p:first-child{color:var(--ink-secondary);margin-bottom:6px;font-size:15px;font-weight:500}.empty-state p:last-child{font-size:13px}.divider{background:var(--border);height:1px;margin:20px 0}.nav-link-active{font-weight:600;color:var(--brand-red)!important}@media (max-width:640px){.page-main,.page-main-narrow{padding:20px 16px}.card{padding:16px}.data-table th,.data-table td{padding:10px 12px}.form-input{min-height:48px;padding:12px 14px;font-size:16px}select.form-input{min-height:48px}.btn{min-height:44px;padding:10px 18px}}
