*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0d1a1e;--surface:#152028;--surface2:#1c2d35;--border:#2a4550;--primary:#30454c;--primary-hover:#ff2b2b;--accent:#4db8d4;--success:#22c55e;--error:#ef4444;--warning:#f59e0b;--text:#e8f0f2;--text-muted:#7a9ba8;--radius:8px;--radius-lg:24px;font-size:14px}[data-theme=light]{--bg:#eef2f3;--surface:#fff;--surface2:#e2ebee;--border:#b8cdd2;--primary:#30454c;--primary-hover:#ff2b2b;--accent:#1a8fa8;--success:#15803d;--error:#dc2626;--warning:#b45309;--text:#0d1a1e;--text-muted:#4d6b75;--radius:8px;--radius-lg:24px}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:Inter,Segoe UI,system-ui,sans-serif;transition:background .2s,color .2s}.page-wrapper{flex-direction:column;min-height:100vh;display:flex}.page-content{flex-direction:column;flex:1;width:100%;max-width:1400px;margin:0 auto;padding:16px 24px;display:flex}.center-modal-layout{flex:1;justify-content:center;align-items:center;width:100%;display:flex}.navbar{background:var(--primary);border-bottom:1px solid var(--border);align-items:center;gap:20px;height:52px;padding:0 20px;display:flex}.navbar .logo-placeholder{align-items:center;display:flex}button{cursor:pointer;border-radius:var(--radius);letter-spacing:.06em;text-transform:uppercase;border:none;padding:8px 18px;font-size:12px;font-weight:700;transition:background .15s,color .15s,border-color .15s}button:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff;border:1px solid var(--border)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn-secondary{background:var(--surface2);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover);color:#fff}.btn-ghost{color:var(--accent);border:1px solid var(--accent);background:0 0;padding:5px 12px;font-size:11px}.btn-ghost:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover);color:#fff}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:30px;box-shadow:0 10px 30px -10px #00000026}.floating-container{background:0 0;width:100%;padding:20px}.action-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);cursor:pointer;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:24px 16px;transition:all .2s;display:flex}.action-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 20px #00000014}.action-card.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.action-card.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.progress-bar-container{background:var(--surface2);border-radius:4px;width:100%;height:8px;margin-top:20px;overflow:hidden}.progress-bar-fill{background:var(--success);height:100%;transition:width .3s}.tag{letter-spacing:.06em;text-transform:uppercase;border-radius:2px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-block}.tag-success{color:var(--success);background:#22c55e1a;border:1px solid #22c55e4d}input[type=text],input[type=number],input[type=file],select{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);outline:none;width:100%;padding:7px 10px;font-size:13px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 2px #4db8d426}input::placeholder{color:var(--text-muted)}label{letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px;font-size:10px;font-weight:700;display:block}.spinner{border:3px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:24px;height:24px;animation:1s ease-in-out infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.flex-col{flex-direction:column;display:flex}.flex-row{flex-direction:row;display:flex}.gap-sm{gap:10px}.gap-md{gap:20px}.gap-lg{gap:30px}.w-full{width:100%}.text-center{text-align:center}h1{text-transform:uppercase;letter-spacing:.08em;margin-bottom:20px;font-size:14px;font-weight:800}h2{text-transform:uppercase;letter-spacing:.09em;margin-bottom:10px;font-size:12px;font-weight:700}p{color:var(--text-muted);margin-bottom:10px;font-size:13px;font-weight:400}.data-table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.data-table th,.data-table td{border-bottom:1px solid var(--border);padding:10px}.data-table th{background:var(--surface2);font-size:12px;font-weight:600}.drop-zone{border:2px dashed var(--border);border-radius:var(--radius-lg);text-align:center;cursor:pointer;background:var(--surface2);padding:30px 20px;transition:all .2s}.drop-zone:hover,.drop-zone.active{border-color:var(--accent);background:#4db8d40d}.drop-zone-text{color:var(--text-muted);pointer-events:none;margin-top:6px;font-size:12px}.drop-zone-title{color:var(--text);pointer-events:none;font-size:14px;font-weight:700}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.icon-btn{color:var(--text-muted);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:6px;display:flex}.icon-btn:hover{background:var(--surface2);color:var(--accent)}
