*,:before,:after{box-sizing:border-box}:root{--color-bg:#0f0f12;--color-surface:#1a1a20;--color-border:#2a2a33;--color-text:#e2e2e8;--color-text-muted:#8888a0;--color-accent:#7c6af7;--color-accent-hover:#9585fa;--color-success:#4ade80;--color-error:#f87171;--radius:10px;--font:system-ui, -apple-system, "Segoe UI", sans-serif}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.5}#root{flex-direction:column;min-height:100svh;display:flex}h1,h2,h3{margin:0;line-height:1.2}p{margin:0}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-hover)}button{cursor:pointer;border-radius:var(--radius);border:none;padding:10px 20px;font-family:inherit;font-size:14px;transition:background .15s,opacity .15s}button:disabled{opacity:.4;cursor:not-allowed}.page-center{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:40px 20px;display:flex}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover)}.btn-ghost{color:var(--color-text-muted);border:1px solid var(--color-border);background:0 0}.btn-ghost:hover:not(:disabled){border-color:var(--color-text-muted);color:var(--color-text)}.page{flex-direction:column;flex:1;align-items:center;padding:40px 20px 60px;display:flex}.container{flex-direction:column;gap:28px;width:100%;max-width:640px;display:flex}.page-header{flex-direction:column;gap:6px;display:flex;position:relative}.title{font-size:24px;font-weight:700}.subtitle{color:var(--color-text-muted);font-size:14px}.muted{color:var(--color-text-muted)}.history-link{font-size:13px;position:absolute;top:0;right:0}.back-link{color:var(--color-text-muted);font-size:13px}.back-link:hover{color:var(--color-text)}.section{flex-direction:column;gap:10px;display:flex}.section-label{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);font-size:12px;font-weight:600}.service-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.service-card{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:18px 12px;transition:border-color .15s,background .15s;display:flex;position:relative}.service-card:hover:not(:disabled){border-color:var(--color-accent)}.service-card.selected{border-color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 12%, var(--color-surface))}.service-icon{font-size:28px;line-height:1}.service-name{font-size:13px;font-weight:500}.service-badge{font-size:12px;font-weight:600;position:absolute;top:8px;right:10px}.badge-ok{color:var(--color-success)}.badge-no{color:var(--color-text-muted)}.auth-list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;gap:8px;padding:12px 16px;display:flex}.auth-row{justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.auth-ok{color:var(--color-success);font-size:13px;font-weight:500}.btn{justify-content:center;align-items:center;gap:6px;font-weight:500;display:inline-flex}.btn-sm{padding:6px 14px;font-size:13px}.actions{flex-wrap:wrap;gap:10px;display:flex}.alert{border-radius:var(--radius);padding:12px 16px;font-size:14px}.alert-error{background:color-mix(in srgb, var(--color-error) 12%, var(--color-surface));border:1px solid color-mix(in srgb, var(--color-error) 40%, transparent);color:var(--color-error)}.settings-list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;gap:0;display:flex;overflow:hidden}.setting-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.setting-row:last-child{border-bottom:none}.setting-label{flex:1;font-size:14px}.setting-select{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);border-radius:6px;min-width:100px;padding:6px 10px;font-family:inherit;font-size:14px}.setting-checkbox{width:16px;height:16px;accent-color:var(--color-accent);cursor:pointer;flex-shrink:0}.setting-input{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);border-radius:6px;min-width:160px;padding:6px 10px;font-family:inherit;font-size:14px}.setting-file{color:var(--color-text-muted);cursor:pointer;font-size:13px}.setting-checkboxes{gap:16px;display:flex}.setting-checkbox-label{color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:14px;display:flex}.setting-checkbox-label input[type=checkbox]{width:15px;height:15px;accent-color:var(--color-accent);cursor:pointer}.setting-checkbox-label input[type=checkbox]:disabled{cursor:default;opacity:.5}.lang-switcher{z-index:100;gap:2px;display:flex;position:fixed;top:14px;right:16px}.lang-btn{border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;letter-spacing:.05em;background:0 0;border-radius:5px;padding:3px 7px;font-family:inherit;font-size:11px;font-weight:600;transition:color .15s,border-color .15s}.lang-btn:hover{color:var(--color-text);border-color:var(--color-accent)}.lang-btn.active{color:var(--color-accent);border-color:var(--color-accent)}.progress-bar{background:var(--color-surface);border-radius:999px;width:100%;height:10px;overflow:hidden}.progress-fill{background:var(--color-accent);border-radius:999px;height:100%;transition:width .4s}.current-track{color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:10px 14px;font-size:14px}.stat-rows{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;gap:0;display:flex;overflow:hidden}.stat-row{border-bottom:1px solid var(--color-border);justify-content:space-between;padding:10px 16px;font-size:14px;display:flex}.stat-row:last-child{border-bottom:none}.stat-success{color:var(--color-success)}.stat-error{color:var(--color-error)}.stat-muted{color:var(--color-text-muted)}.status-badge{border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.status-running{color:#60a5fa;background:#60a5fa26}.status-pending{background:color-mix(in srgb, var(--color-text-muted) 15%, transparent);color:var(--color-text-muted)}.status-done{background:color-mix(in srgb, var(--color-success) 15%, transparent);color:var(--color-success)}.status-failed{background:color-mix(in srgb, var(--color-error) 15%, transparent);color:var(--color-error)}.status-cancelled{background:color-mix(in srgb, var(--color-text-muted) 15%, transparent);color:var(--color-text-muted)}.migration-list{flex-direction:column;gap:8px;display:flex}.migration-row{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);flex-direction:column;gap:6px;padding:14px 16px;text-decoration:none;transition:border-color .15s;display:flex}.migration-row:hover{border-color:var(--color-accent);color:var(--color-text)}.migration-direction{font-size:15px;font-weight:500}.migration-meta{align-items:center;gap:10px;display:flex}.migration-date{font-size:12px}.migration-stats{font-size:13px}.stat-ok{color:var(--color-success)}.stat-miss{color:var(--color-text-muted)}.playlist-link{margin-left:10px;font-size:13px}.admin-layout{min-height:100svh;display:flex}.admin-sidebar{background:var(--color-surface);border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;width:200px;padding:20px 0;display:flex}.admin-sidebar-header{border-bottom:1px solid var(--color-border);flex-direction:column;gap:12px;margin-bottom:8px;padding:0 16px 20px;display:flex}.admin-back-link{color:var(--color-text-muted);font-size:12px}.admin-back-link:hover{color:var(--color-text)}.admin-title{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);font-size:13px;font-weight:600}.admin-nav{flex-direction:column;gap:2px;padding:0 8px;display:flex}.admin-nav-link{color:var(--color-text-muted);border-radius:var(--radius);padding:8px 12px;font-size:14px;text-decoration:none;transition:background .15s,color .15s;display:block}.admin-nav-link:hover{background:var(--color-bg);color:var(--color-text)}.admin-nav-link.active{background:color-mix(in srgb, var(--color-accent) 12%, var(--color-surface));color:var(--color-accent)}.admin-content{flex:1;overflow:auto}.admin-page{max-width:960px;padding:32px 40px}.admin-cards{flex-wrap:wrap;gap:16px;display:flex}.admin-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);min-width:140px;padding:20px 24px}.admin-card-value{font-size:32px;font-weight:700;line-height:1}.admin-card-label{color:var(--color-text-muted);margin-top:6px;font-size:13px}.admin-filters{flex-wrap:wrap;gap:10px;display:flex}.admin-table-wrap{border:1px solid var(--color-border);border-radius:var(--radius);overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:14px}.admin-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);background:var(--color-surface);padding:10px 14px;font-size:12px;font-weight:600}.admin-table td{border-bottom:1px solid var(--color-border);padding:10px 14px}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:color-mix(in srgb, var(--color-accent) 4%, transparent)}.admin-link{color:var(--color-accent)}.admin-pagination{align-items:center;gap:12px;margin-top:16px;display:flex}.empty-state{flex-direction:column;align-items:center;gap:8px;padding:48px 0;display:flex}
