*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f5f5f3;--surface: #ffffff;--border: #e4e4e0;--text: #1a1a18;--text-muted: #6b6b67;--accent: #1a1a18;--accent-hover: #333330;--danger: #c0392b;--danger-hover: #a93226;--success: #27ae60;--radius: 6px;--shadow: 0 1px 3px rgba(0,0,0,.08);--font: "Inter", system-ui, sans-serif}html,body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:var(--font);cursor:pointer;border:none;outline:none}input,textarea,select{font-family:var(--font);font-size:14px}.layout{display:flex;min-height:100vh}.sidebar{width:220px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:24px 0;position:fixed;top:0;left:0;height:100vh}.sidebar-brand{padding:0 20px 24px;font-size:15px;font-weight:600;letter-spacing:-.3px;border-bottom:1px solid var(--border);margin-bottom:8px}.sidebar-nav{display:flex;flex-direction:column;gap:2px;padding:0 12px;flex:1}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius);color:var(--text-muted);font-size:13.5px;transition:background .1s,color .1s}.nav-item:hover{background:var(--bg);color:var(--text)}.nav-item.active{background:var(--bg);color:var(--text);font-weight:500}.main{margin-left:220px;flex:1;padding:32px 40px;max-width:1100px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.page-title{font-size:20px;font-weight:600;letter-spacing:-.4px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-bottom:32px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.stat-label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.stat-value{font-size:28px;font-weight:600;letter-spacing:-1px}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}table{width:100%;border-collapse:collapse}thead th{background:var(--bg);padding:10px 16px;text-align:left;font-size:11.5px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:1px solid var(--border)}tbody tr{border-bottom:1px solid var(--border);transition:background .1s}tbody tr:last-child{border-bottom:none}tbody tr:hover{background:var(--bg)}tbody td{padding:12px 16px;font-size:13.5px}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--radius);font-size:13.5px;font-weight:500;transition:background .1s}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:var(--danger-hover)}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}label{font-size:13px;font-weight:500;color:var(--text)}.input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;font-size:14px;color:var(--text);width:100%;transition:border-color .15s}.input:focus{outline:none;border-color:var(--accent)}.badge{display:inline-block;padding:2px 8px;border-radius:100px;font-size:11.5px;font-weight:500}.badge-green{background:#e8f5e9;color:#2e7d32}.badge-red{background:#fdecea;color:var(--danger)}.badge-gray{background:var(--bg);color:var(--text-muted)}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot-green{background:var(--success)}.dot-red{background:var(--danger)}.dot-gray{background:#ccc}.text-muted{color:var(--text-muted)}.text-mono{font-family:SF Mono,Consolas,monospace;font-size:12.5px}.empty-state{padding:48px;text-align:center;color:var(--text-muted)}@media(max-width:768px){.sidebar{width:100%;height:auto;position:static;flex-direction:row;padding:12px 16px;border-right:none;border-bottom:1px solid var(--border)}.sidebar-nav{flex-direction:row;padding:0}.main{margin-left:0;padding:20px 16px}}
