*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--navy: #161B22;--navy2: #1F2733;--dark: #0D1117;--gold: #C5A45A;--white: #FFFFFF;--bg: #F4F5F7;--bg2: #ECEEF1;--surface: #FFFFFF;--border: #E2E4E8;--border2: #D0D4DA;--text1: #161B22;--text2: #4A5260;--text3: #8B919B;--green: #16A34A;--green-bg:#F0FDF4;--amber: #D97706;--amber-bg:#FFFBEB;--red: #DC2626;--red-bg: #FEF2F2;--blue: #2563EB;--blue-bg: #EFF6FF;--r: 5px;--r-lg: 8px;--r-xl: 12px;--sidebar-w: 220px;--header-h: 56px;--shadow-sm: 0 1px 3px rgba(22,27,34,.06);--shadow-md: 0 4px 12px rgba(22,27,34,.08)}html{font-size:14px}body{font-family:DM Sans,system-ui,sans-serif;font-weight:400;color:var(--text1);background:var(--bg);min-height:100vh;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:99px}.layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);background:var(--navy);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:50;overflow-y:auto}.sidebar-logo{padding:20px 20px 16px;border-bottom:1px solid rgba(255,255,255,.06)}.sidebar-logo-mark{font-family:Playfair Display,Georgia,serif;font-size:22px;color:#fff;letter-spacing:.04em;display:block}.sidebar-logo-sub{font-family:DM Mono,monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#ffffff59;margin-top:4px;display:block}.sidebar-section{padding:16px 12px 8px}.sidebar-section-label{font-family:DM Mono,monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#ffffff4d;padding:0 8px;margin-bottom:6px;display:block}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--r);color:#fff9;font-size:13px;font-weight:400;cursor:pointer;transition:all .15s;margin-bottom:2px;border:none;background:none;width:100%;text-align:left}.nav-item:hover{background:#ffffff0f;color:#ffffffe6}.nav-item.active{background:#c5a45a26;color:var(--gold)}.nav-item.active .nav-icon{opacity:1}.nav-icon{font-size:15px;width:18px;text-align:center;opacity:.6;flex-shrink:0}.nav-badge{margin-left:auto;background:var(--gold);color:var(--navy);font-size:10px;font-weight:600;padding:1px 7px;border-radius:99px;min-width:20px;text-align:center}.sidebar-footer{margin-top:auto;padding:12px;border-top:1px solid rgba(255,255,255,.06)}.sidebar-user{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r)}.sidebar-avatar{width:30px;height:30px;border-radius:50%;background:#c5a45a33;border:1px solid rgba(197,164,90,.3);display:flex;align-items:center;justify-content:center;font-family:Playfair Display,serif;font-size:13px;color:var(--gold);flex-shrink:0}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{font-size:12px;color:#fffc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:10px;color:#ffffff4d}.sidebar-signout{background:none;border:none;color:#ffffff4d;cursor:pointer;font-size:16px;padding:4px;transition:color .15s;flex-shrink:0}.sidebar-signout:hover{color:#ffffffb3}.main{margin-left:var(--sidebar-w);flex:1;display:flex;flex-direction:column;min-height:100vh}.topbar{height:var(--header-h);background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:40}.topbar-title{font-size:15px;font-weight:500;color:var(--text1)}.topbar-right{display:flex;align-items:center;gap:10px}.page-content{padding:28px;flex:1}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--r);font-size:13px;font-weight:500;border:none;cursor:pointer;transition:all .15s;white-space:nowrap}.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--navy2);transform:translateY(-.5px)}.btn-secondary{background:var(--surface);color:var(--text1);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg)}.btn-danger{background:var(--red-bg);color:var(--red);border:1px solid #fecaca}.btn-danger:hover{background:#fee2e2}.btn-success{background:var(--green-bg);color:var(--green);border:1px solid #bbf7d0}.btn-sm{padding:5px 12px;font-size:12px}.btn-icon{padding:7px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.card-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.card-header-title{font-size:13.5px;font-weight:500}.card-body{padding:20px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:20px;box-shadow:var(--shadow-sm)}.stat-card-label{font-size:11px;color:var(--text3);margin-bottom:8px;display:flex;align-items:center;gap:6px}.stat-card-num{font-family:Playfair Display,Georgia,serif;font-size:28px;color:var(--text1);line-height:1}.stat-card-sub{font-size:11px;color:var(--text3);margin-top:6px}.stat-card-delta{display:inline-flex;align-items:center;gap:3px;font-size:11px;padding:2px 7px;border-radius:99px;margin-top:6px}.delta-up{background:var(--green-bg);color:var(--green)}.delta-neutral{background:var(--amber-bg);color:var(--amber)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}thead th{padding:10px 14px;text-align:left;font-family:DM Mono,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text3);font-weight:400;background:var(--bg);border-bottom:1px solid var(--border);white-space:nowrap}tbody td{padding:12px 14px;border-bottom:1px solid var(--border);font-size:13px;color:var(--text1);vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--bg)}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:4px;font-size:11px;font-weight:500}.badge-green{background:var(--green-bg);color:var(--green)}.badge-amber{background:var(--amber-bg);color:var(--amber)}.badge-red{background:var(--red-bg);color:var(--red)}.badge-blue{background:var(--blue-bg);color:var(--blue)}.badge-gray{background:var(--bg2);color:var(--text2)}.form-group{display:flex;flex-direction:column;gap:5px;margin-bottom:16px}.form-label{font-size:12px;color:var(--text2);font-weight:500}.form-input,.form-select,.form-textarea{padding:9px 12px;border:1px solid var(--border);border-radius:var(--r);font-size:13px;color:var(--text1);background:var(--surface);outline:none;transition:border-color .15s,box-shadow .15s;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--navy);box-shadow:0 0 0 3px #161b2212}.form-textarea{resize:vertical;min-height:120px;line-height:1.6}.form-hint{font-size:11px;color:var(--text3)}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.form-section{margin-bottom:28px}.form-section-title{font-size:12px;font-weight:500;color:var(--text2);padding-bottom:10px;border-bottom:1px solid var(--border);margin-bottom:16px}.search-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);font-size:13px;color:var(--text3);width:240px}.search-bar input{border:none;outline:none;background:transparent;color:var(--text1);font-size:13px;flex:1}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:var(--text3)}.empty-icon{font-size:40px;margin-bottom:12px;opacity:.5}.empty-title{font-size:14px;font-weight:500;color:var(--text2);margin-bottom:6px}.empty-sub{font-size:12px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border-radius:var(--r-xl);box-shadow:0 20px 60px #00000040;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;animation:slideUp .2s ease}.modal-lg{max-width:780px}@keyframes slideUp{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--border)}.modal-title{font-size:15px;font-weight:500}.modal-close{background:none;border:none;font-size:20px;color:var(--text3);cursor:pointer;padding:2px 6px;border-radius:4px}.modal-close:hover{background:var(--bg);color:var(--text1)}.modal-body{padding:24px}.modal-footer{padding:16px 24px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px}.toast{position:fixed;bottom:24px;right:24px;z-index:200;display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:var(--r-lg);font-size:13px;font-weight:500;box-shadow:var(--shadow-md);animation:toastIn .2s ease}@keyframes toastIn{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.toast-success{background:var(--navy);color:#fff}.toast-error{background:var(--red);color:#fff}.divider{height:1px;background:var(--border);margin:20px 0}.text-muted{color:var(--text3)}.text-sm{font-size:12px}.mono-text{font-family:DM Mono,monospace;font-size:11px}.actions-row{display:flex;align-items:center;gap:8px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-header-left h1{font-family:Playfair Display,Georgia,serif;font-size:22px;font-weight:400;margin-bottom:4px}.page-header-left p{font-size:12px;color:var(--text3)}.toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:10px}.filter-pills{display:flex;gap:6px;flex-wrap:wrap}.filter-pill{padding:5px 13px;border-radius:99px;font-size:11.5px;border:1px solid var(--border);cursor:pointer;color:var(--text2);background:var(--surface);transition:all .15s}.filter-pill:hover{border-color:var(--navy);color:var(--navy)}.filter-pill.on{background:var(--navy);color:#fff;border-color:var(--navy)}
