:root{--bg: #f1f5f9;--bg-card: #ffffff;--bg-header: #ffffff;--border: #e2e8f0;--text: #0f172a;--text-muted: #64748b;--primary: #10b981;--primary-hover: #059669;--input-bg: #ffffff;--row-hover: #f8fafc;--shadow: 0 1px 3px rgba(0,0,0,.08)}[data-theme=dark]{--bg: #0f172a;--bg-card: #1e293b;--bg-header: #1e293b;--border: #334155;--text: #f1f5f9;--text-muted: #94a3b8;--primary: #10b981;--primary-hover: #34d399;--input-bg: #0f172a;--row-hover: #334155;--shadow: 0 1px 3px rgba(0,0,0,.3)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;background:var(--bg);color:var(--text);min-height:100vh;transition:background .2s,color .2s}.login-screen{display:flex;align-items:center;justify-content:center;min-height:100vh}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:40px 48px;width:100%;max-width:380px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:16px}.login-card h1{font-size:22px;font-weight:700;color:var(--primary)}.login-card p{color:var(--text-muted);font-size:13px}.login-card form{display:flex;flex-direction:column;gap:10px}.app{display:flex;flex-direction:column;min-height:100vh}main{padding:24px;max-width:1200px;margin:0 auto;width:100%}header{background:var(--bg-header);border-bottom:1px solid var(--border);padding:0 24px;height:56px;display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow)}.header-logo{font-size:18px;font-weight:700;color:var(--primary)}.header-actions{display:flex;align-items:center;gap:8px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow)}.filters{display:flex;flex-wrap:wrap;gap:10px;padding:16px;align-items:flex-end;border-bottom:1px solid var(--border)}.filter-group{display:flex;flex-direction:column;gap:4px}.filter-group label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}input,select{background:var(--input-bg);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:6px 10px;font-size:13px;outline:none;transition:border-color .15s}input:focus,select:focus{border-color:var(--primary)}button{border:none;border-radius:6px;padding:7px 14px;font-size:13px;cursor:pointer;transition:background .15s,opacity .15s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn-ghost:hover{color:var(--text);border-color:var(--text-muted)}.btn-icon{background:transparent;color:var(--text-muted);padding:5px 8px;font-size:15px}.btn-icon:hover{color:var(--primary)}button:disabled{opacity:.4;cursor:default}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;padding:10px 14px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap}td{padding:11px 14px;border-bottom:1px solid var(--border);white-space:nowrap}tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--row-hover)}.td-actions{display:flex;gap:4px}.badge{display:inline-block;padding:2px 8px;border-radius:9999px;font-size:11px;font-weight:600}.badge-a{background:#dcfce7;color:#166534}.badge-b{background:#dbeafe;color:#1e40af}.badge-c{background:#f3f4f6;color:#374151}[data-theme=dark] .badge-a{background:#052e16;color:#4ade80}[data-theme=dark] .badge-b{background:#1e3a5f;color:#93c5fd}[data-theme=dark] .badge-c{background:#334155;color:#94a3b8}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border);font-size:13px;color:var(--text-muted)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal{background:var(--bg-card);border-radius:10px;display:flex;flex-direction:column;width:100%;max-width:860px;height:90vh;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border)}.modal-header h3{font-size:15px}.modal-body{flex:1;overflow:hidden}.modal-body iframe{width:100%;height:100%;border:none}.modal-loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted)}.empty{padding:48px;text-align:center;color:var(--text-muted)}
