/* ════════════════════════════════════════════════════════════════════════════
   playlist-tool.css  —  Playlist Tool page specific styles
   .card overrides shared.css. Defines --fail/--warning/--success locals.
   ════════════════════════════════════════════════════════════════════════════ */

/* Page-specific */
.card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:1.4rem 1.6rem;width:100%;box-shadow:var(--shadow-card);position:relative;overflow:hidden;}
.form-group{margin-bottom:1.25rem;position:relative;}
.form-group label{display:block;margin-bottom:0.5rem;font-size:0.85rem;font-weight:600;color:var(--text-dim);}
input[type="text"]{width:100%;padding:0.75rem 1rem;background:var(--input-bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:0.95rem;box-sizing:border-box;transition:all 0.2s ease;font-family:inherit;}
input[type="text"]:hover{border-color:rgba(88,101,242,0.5);}
input[type="text"]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(88,101,242,0.2);}
input[type="text"]::placeholder{color:#666;}
/* cs-btn / dropdown styles provided by shared.css */
/* Visibility toggle */
.vis-toggle-group{display:flex;gap:0.4rem;margin-top:0.5rem;}
.vis-toggle-btn{padding:0.45rem 1.1rem;border-radius:20px;border:1px solid var(--border);background:rgba(255,255,255,0.04);color:var(--text-dim);font-size:0.82rem;font-weight:600;cursor:pointer;font-family:inherit;transition:all 0.18s;}
.vis-toggle-btn:hover{border-color:var(--border-hi);color:var(--text);}
.vis-toggle-btn.active{background:rgba(124,92,252,0.14);border-color:rgba(124,92,252,0.45);color:var(--accent2);}
/* Import button */
#start-import{width:100%;padding:0.9rem;background:linear-gradient(135deg,rgba(124,92,252,0.22),rgba(124,92,252,0.14));border:1px solid rgba(124,92,252,0.45);border-radius:var(--radius-xs);color:var(--accent2);font-weight:600;font-size:1rem;cursor:pointer;transition:all 0.18s;font-family:inherit;box-shadow:0 2px 12px rgba(124,92,252,0.14);}
#start-import:hover:not(:disabled){background:linear-gradient(135deg,rgba(124,92,252,0.32),rgba(124,92,252,0.2));border-color:rgba(124,92,252,0.65);}
#start-import:disabled{opacity:0.5;cursor:not-allowed;}
.button-content{display:flex;align-items:center;justify-content:center;gap:0.5rem;}
.spinner{border:2px solid rgba(255,255,255,0.2);border-left-color:var(--text);border-radius:50%;width:16px;height:16px;animation:spin 0.7s linear infinite;display:none;}
@keyframes spin{to{transform:rotate(360deg)}}
/* Log terminal */
.log-terminal{margin-top:1.5rem;border-radius:12px;overflow:hidden;border:1px solid var(--glass-border);box-shadow:0 4px 16px rgba(0,0,0,0.3);background:rgba(10,10,20,0.6);}
.log-terminal-header{background:rgba(26,26,37,0.9);padding:10px 15px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--border);}
.terminal-title{font-size:0.7rem;color:#888;text-transform:uppercase;letter-spacing:2px;font-weight:700;}
#import-log{margin:0;padding:1rem;background:rgba(13,13,18,0.9);white-space:pre-wrap;font-family:'Fira Code','Consolas',monospace;font-size:0.8rem;line-height:1.6;color:#d1d1e0;height:280px;overflow-y:auto;}
#import-log::-webkit-scrollbar{width:6px;}
#import-log::-webkit-scrollbar-track{background:#0d0d12;}
#import-log::-webkit-scrollbar-thumb{background:#333;border-radius:3px;}
#import-log::-webkit-scrollbar-thumb:hover{background:var(--accent);}
.log-ts{color:#5c6370;margin-right:8px;}
.log-success{color:var(--success);font-weight:bold;}
.log-warning{color:var(--warning);font-weight:bold;}
.log-error{color:var(--fail);font-weight:bold;}
.log-info{color:var(--accent);}
.log-header{display:block;margin:10px 0;padding:5px 0;border-top:1px solid #2d2d3d;border-bottom:1px solid #2d2d3d;color:var(--text);text-align:center;letter-spacing:2px;}
/* cfg-notice */
.cfg-notice{display:none;position:fixed;inset:0;z-index:800;background:rgba(0,0,0,0.75);backdrop-filter:blur(6px);align-items:center;justify-content:center;}
.cfg-notice.show{display:flex;}
.cfg-notice-card{background:linear-gradient(145deg,#13131f,#0f0f1a);border:1px solid rgba(88,101,242,0.35);border-radius:20px;padding:2rem 2.25rem;max-width:420px;width:90%;text-align:center;animation:cfgNoticeIn 0.3s cubic-bezier(.16,1,.3,1) both;}
@keyframes cfgNoticeIn{from{transform:scale(0.92);opacity:0}to{transform:scale(1);opacity:1}}
.cfg-notice-icon{font-size:2.5rem;margin-bottom:0.75rem;}
.cfg-notice-title{font-size:1.05rem;font-weight:800;color:var(--text);margin-bottom:0.5rem;}
.cfg-notice-body{font-size:0.84rem;color:var(--text-dim);line-height:1.55;margin:0 0 1.25rem;}
.cfg-notice-body a{color:#a8b4ff;text-decoration:none;}
.cfg-notice-body a:hover{text-decoration:underline;}
.cfg-notice-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:0.65rem 1rem;border-radius:10px;border:1px solid rgba(88,101,242,0.4);background:rgba(88,101,242,0.15);color:#a8b4ff;font-size:0.88rem;font-weight:700;cursor:pointer;font-family:inherit;transition:all 0.2s;}
.cfg-notice-btn:hover{background:rgba(88,101,242,0.25);border-color:rgba(88,101,242,0.65);}
@media(max-width:500px){.card{padding:1.5rem;}#import-log{height:220px;font-size:0.75rem;}}
