*{margin:0;padding:0;box-sizing:border-box}
:root{--bg:#08090a;--bg-elevated:#0f1011;--surface:rgba(15,16,17,0.82);--surface-strong:#131416;--card:rgba(255,255,255,0.025);--card-hover:rgba(255,255,255,0.045);--border:rgba(255,255,255,0.08);--border-strong:rgba(255,255,255,0.14);--border-hover:rgba(113,112,255,0.32);--gold:#7170ff;--gold-light:#828fff;--gold-dim:#5e6ad2;--gold-bg:rgba(113,112,255,0.14);--text:#f7f8f8;--text-secondary:#d0d6e0;--muted:#8a8f98;--green:#27a644;--green-bg:rgba(39,166,68,0.16);--blue:#4f8cff;--blue-bg:rgba(79,140,255,0.14);--red:#ef5f6b;--red-bg:rgba(239,95,107,0.14);--purple:#8b7dff;--purple-bg:rgba(139,125,255,0.18);--shadow-soft:0 24px 80px rgba(0,0,0,0.42);--shadow-card:0 10px 30px rgba(0,0,0,0.28);--radius:16px;--radius-sm:10px;
/* Phase-1 redesign tokens (additive, 2026-04-19) */
--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;
--text-xs:0.75rem;--text-sm:0.8125rem;--text-base:0.9375rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;
--motion-fast:120ms;--motion-base:200ms;--motion-slow:320ms;--ease-standard:cubic-bezier(0.2,0,0,1);--ease-emphasized:cubic-bezier(0.3,0,0,1);
--focus-ring:0 0 0 2px var(--bg),0 0 0 4px var(--gold);--focus-ring-offset:2px;
--bp-phone:600px;--bp-tablet:1024px;--bp-desktop:1440px}

/* Phase-1 a11y baseline (additive) */
.skip-link{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;background:var(--gold);color:#000;padding:12px 18px;border-radius:10px;font-weight:700;z-index:100000;text-decoration:none}
.skip-link:focus{left:16px;top:16px;width:auto;height:auto;outline:3px solid #fff;box-shadow:0 12px 30px rgba(0,0,0,0.5)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
:where(button,a,select,input,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--gold);outline-offset:var(--focus-ring-offset);border-radius:8px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}}

/* Phase-2 reserve space to prevent CLS while stats hydrate (LH found 0.26 shift) */
.stats{min-height:140px}
@media (max-width:900px){.stats{min-height:280px}}
@media (max-width:600px){.stats{min-height:520px}}
.stat-card{min-height:110px}
#projects-grid{min-height:60vh}
#page-fixer,#page-radar,#page-kwr{min-height:60vh}
/* ── Keyword Research tab ─────────────────────────────────────────── */
.kwr-page{padding:0 0 60px;max-width:960px;margin:0 auto;}
.kwr-hero{margin-bottom:28px}
.kwr-title{font-size:24px;font-weight:700;letter-spacing:-0.04em;display:flex;align-items:center;gap:12px;color:var(--text)}
.kwr-title svg{width:26px;height:26px;color:#7c3aed;flex-shrink:0}
.kwr-desc{font-size:13px;color:var(--muted);margin-top:6px;line-height:1.5;max-width:64ch}
.kwr-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
@media(max-width:768px){.kwr-grid{grid-template-columns:1fr}}
.kwr-field{display:flex;flex-direction:column;gap:6px}
.kwr-field.full{grid-column:1/-1}
.kwr-label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:0.08em}
.kwr-label span.req{color:#f87171;margin-left:2px}
.kwr-input,.kwr-textarea,.kwr-select{width:100%;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);border-radius:8px;color:var(--text);font-size:13px;padding:9px 12px;font-family:inherit;transition:border-color 0.15s;box-sizing:border-box}
.kwr-input:focus,.kwr-textarea:focus,.kwr-select:focus{outline:none;border-color:rgba(124,58,237,0.6)}
.kwr-textarea{resize:vertical;min-height:70px}
.kwr-select option{background:#1a1a2e}
.kwr-section-title{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:0.1em;margin:20px 0 12px;border-top:1px solid rgba(255,255,255,0.06);padding-top:16px}
.kwr-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,0.06)}
.kwr-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:9px;border:none;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;transition:all 0.15s;white-space:nowrap}
.kwr-btn:disabled{opacity:0.45;cursor:not-allowed}
.kwr-btn-primary{background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff}
.kwr-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#8b5cf6,#7c3aed)}
.kwr-btn-success{background:linear-gradient(135deg,#059669,#047857);color:#fff}
.kwr-btn-success:hover:not(:disabled){background:linear-gradient(135deg,#10b981,#059669)}
.kwr-btn-danger{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff}
.kwr-btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#ef4444,#dc2626)}
.kwr-btn-ghost{background:rgba(255,255,255,0.06);color:var(--text);border:1px solid rgba(255,255,255,0.1)}
.kwr-btn-ghost:hover:not(:disabled){background:rgba(255,255,255,0.1)}
.kwr-stage-list{display:flex;flex-direction:column;gap:6px;margin:16px 0}
.kwr-stage{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.06);font-size:13px;color:var(--muted);transition:all 0.2s}
.kwr-stage.active{border-color:rgba(124,58,237,0.4);background:rgba(124,58,237,0.07);color:var(--text)}
.kwr-stage.done{border-color:rgba(5,150,105,0.3);background:rgba(5,150,105,0.05);color:#6ee7b7}
.kwr-stage.error{border-color:rgba(239,68,68,0.4);background:rgba(239,68,68,0.06);color:#fca5a5}
.kwr-stage-icon{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:11px}
.kwr-stage.active .kwr-stage-icon{background:rgba(124,58,237,0.3);animation:kwr-pulse 1.2s ease-in-out infinite}
.kwr-stage.done .kwr-stage-icon{background:rgba(5,150,105,0.3)}
.kwr-stage.error .kwr-stage-icon{background:rgba(239,68,68,0.3)}
@keyframes kwr-pulse{0%,100%{opacity:1}50%{opacity:0.4}}
.kwr-progress-bar{height:4px;border-radius:2px;background:rgba(255,255,255,0.07);margin:12px 0;overflow:hidden}
.kwr-progress-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,#7c3aed,#8b5cf6);transition:width 0.4s ease}
.kwr-log-box{background:rgba(0,0,0,0.25);border:1px solid rgba(255,255,255,0.07);border-radius:8px;padding:10px 14px;font-size:11px;font-family:monospace;color:#a0a0b8;max-height:140px;overflow-y:auto;margin-top:10px;white-space:pre-wrap;word-break:break-all}
.kwr-preview-wrap{margin-top:20px}
.kwr-preview-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:10px;flex-wrap:wrap}
.kwr-preview-title{font-size:14px;font-weight:700;color:var(--text)}
.kwr-preview-meta{font-size:12px;color:var(--muted)}
.kwr-table-wrap{overflow-x:auto;border:1px solid rgba(255,255,255,0.08);border-radius:10px}
.kwr-table{width:100%;border-collapse:collapse;font-size:12px}
.kwr-table th{background:rgba(255,255,255,0.05);color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:0.07em;padding:8px 12px;text-align:left;white-space:nowrap;position:sticky;top:0}
.kwr-table td{padding:7px 12px;border-top:1px solid rgba(255,255,255,0.05);color:var(--text-secondary);vertical-align:top;max-width:200px}
.kwr-table td[contenteditable="true"]:focus{outline:none;background:rgba(124,58,237,0.08);color:var(--text)}
.kwr-table tr:hover td{background:rgba(255,255,255,0.02)}
.kwr-table tr.pillar-row td{color:#c4b5fd;font-weight:600;background:rgba(124,58,237,0.06)}
.kwr-intent-badge{display:inline-block;padding:2px 7px;border-radius:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em}
.kwr-intent-info{background:rgba(59,130,246,0.15);color:#93c5fd}
.kwr-intent-trans{background:rgba(16,185,129,0.15);color:#6ee7b7}
.kwr-intent-comm{background:rgba(245,158,11,0.15);color:#fcd34d}
.kwr-intent-nav{background:rgba(156,163,175,0.15);color:#d1d5db}
.kwr-intent-pillar{background:rgba(124,58,237,0.2);color:#c4b5fd}
.kwr-status-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:8px;border:1px solid rgba(255,255,255,0.07);background:rgba(255,255,255,0.02);font-size:12px;color:var(--muted);margin-top:12px;flex-wrap:wrap}
.kwr-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.kwr-dot-idle{background:#6b7280}
.kwr-dot-running{background:#7c3aed;animation:kwr-pulse 1s ease-in-out infinite}
.kwr-dot-ready{background:#10b981}
.kwr-dot-error{background:#ef4444}
.kwr-dot-complete{background:#6ee7b7}
.kwr-note-box{padding:10px 14px;border-radius:8px;border:1px solid rgba(245,158,11,0.3);background:rgba(245,158,11,0.06);font-size:12px;color:#fcd34d;margin-top:10px;line-height:1.5;white-space:pre-line}
.kwr-score-stack{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.difficulty-badge,.kwr-quality-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:999px;font-size:10.5px;font-weight:700;border:1px solid rgba(255,255,255,0.12)}
.difficulty-easy{background:rgba(34,197,94,0.12);color:#86efac;border-color:rgba(34,197,94,0.28)}
.difficulty-med{background:rgba(250,204,21,0.12);color:#fde68a;border-color:rgba(250,204,21,0.28)}
.difficulty-hard{background:rgba(248,113,113,0.12);color:#fca5a5;border-color:rgba(248,113,113,0.28)}
.kwr-quality-high{background:rgba(59,130,246,0.14);color:#bfdbfe;border-color:rgba(59,130,246,0.28)}
.kwr-quality-medium{background:rgba(168,85,247,0.14);color:#e9d5ff;border-color:rgba(168,85,247,0.28)}
.kwr-quality-low{background:rgba(244,114,182,0.12);color:#fbcfe8;border-color:rgba(244,114,182,0.24)}





/* Phase-1.5 reusable page primitives (additive — opt-in by class) */
.page-header{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-6)}
.page-header__breadcrumb{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--muted);text-transform:uppercase;letter-spacing:0.08em;font-weight:600}
.page-header__breadcrumb a{color:var(--muted)}
.page-header__breadcrumb a:hover{color:var(--text-secondary)}
.page-header__title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}
.page-header__title{font-size:var(--text-2xl);font-weight:600;letter-spacing:-0.03em;color:var(--text);line-height:1.2}
.page-header__subtitle{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-1);max-width:62ch}
.page-header__actions{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}

.metadata-strip{display:flex;flex-wrap:wrap;gap:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);margin-bottom:var(--space-4);container-type:inline-size}
.metadata-strip__item{display:flex;flex-direction:column;gap:2px;min-width:0}
.metadata-strip__label{font-size:var(--text-xs);color:var(--muted);text-transform:uppercase;letter-spacing:0.08em;font-weight:600}
.metadata-strip__value{font-size:var(--text-sm);color:var(--text);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@container (max-width:42rem){.metadata-strip{flex-direction:column;gap:var(--space-2)}}

.action-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);border-top:1px solid var(--border);background:var(--surface);flex-wrap:wrap}
.action-bar__group{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}

/* Container-query responsive enabling for project-card (component-level) */
.project-card{container-type:inline-size}
@container (max-width:24rem){.card-header{padding:var(--space-4);flex-direction:column;align-items:stretch}}
body{font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:radial-gradient(circle at top center,rgba(113,112,255,0.12),transparent 28%),linear-gradient(180deg,#0a0b0d 0%,#08090a 100%);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased;font-feature-settings:"cv01","ss03";letter-spacing:-0.01em}
body.scroll-locked{overflow:hidden !important;}
a{color:var(--gold);text-decoration:none;transition:color 0.15s}
a:hover{color:var(--gold-light)}
::selection{background:var(--gold);color:#000}

/* Header */
.header{background:rgba(8,9,10,0.92);border-bottom:1px solid rgba(255,255,255,0.08);position:fixed;top:0;left:0;right:0;width:100%;z-index:9999;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.header-inner{max-width:1320px;margin:0 auto;padding:18px 28px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px}
/* Desktop: slightly more padding for professional look */
@media (min-width:1025px){.header-inner{padding:22px 28px 20px}}
.logo{display:flex;align-items:center;gap:12px}
.logo-link{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none}
.logo-link:hover{color:var(--text)}
.logo-link:focus-visible{outline:2px solid rgba(113,112,255,0.55);outline-offset:4px;border-radius:14px}
.logo-icon{width:38px;height:38px;background:linear-gradient(135deg,var(--gold),var(--gold-dim));border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(94,106,210,0.35)}
.logo-icon svg{width:20px;height:20px;color:#fff}
.logo h1{font-size:18px;font-weight:600;letter-spacing:-0.03em}
.logo h1 span{color:var(--gold-light)}
.header-actions{display:flex;align-items:center;gap:10px}
.header-menu-btn{min-height:38px;padding:9px 14px;border-radius:12px;border:1px solid rgba(255,255,255,0.08);background:rgba(255,255,255,0.03);color:var(--text-secondary);font-size:12px;font-weight:700;cursor:pointer;transition:all 0.15s;white-space:nowrap}
.header-menu-btn:hover{border-color:rgba(255,255,255,0.14);background:rgba(255,255,255,0.06);color:#fff}
.header-menu-btn.accent{border-color:rgba(255,255,255,0.08);color:var(--text-secondary);background:rgba(255,255,255,0.03)}
.header-menu-btn.accent:hover{border-color:rgba(255,255,255,0.14);background:rgba(255,255,255,0.06);color:#fff}
.search-box{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-radius:12px;padding:9px 14px 9px 38px;font-size:13px;color:var(--text);width:268px;outline:none;transition:all 0.2s;position:relative}
.search-box:focus{border-color:rgba(113,112,255,0.26);box-shadow:0 0 0 3px rgba(113,112,255,0.1)}
.search-wrap{position:relative}
.search-wrap svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--muted);pointer-events:none}
.status-stack{display:flex;align-items:center;gap:10px;padding:0 0 0 2px}
.status-pill{display:flex;align-items:center;gap:6px;padding:8px 12px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-radius:999px;font-size:12px;font-weight:700;color:var(--text-secondary)}
.status-dot{width:7px;height:7px;border-radius:50%;background:#27a644;box-shadow:0 0 12px rgba(39,166,68,0.35)}
.last-sync-meta{font-size:12px;color:var(--muted);padding:8px 12px;background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.06);border-radius:999px}

/* Container */
.container{max-width:1320px;margin:0 auto;padding:32px 28px 120px}

/* Stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:36px}
.stat-card{background:linear-gradient(180deg,rgba(255,255,255,0.035),rgba(255,255,255,0.02));border:1px solid rgba(255,255,255,0.08);border-radius:18px;padding:24px 22px;position:relative;overflow:hidden;transition:all 0.25s;box-shadow:var(--shadow-card)}
.stat-card:hover{border-color:rgba(113,112,255,0.22);transform:translateY(-3px);box-shadow:0 18px 46px rgba(0,0,0,0.34)}
.stat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent)}
.stat-card::after{content:'';position:absolute;inset:auto -20% -55% auto;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(113,112,255,0.16),transparent 70%);pointer-events:none}
.stat-number{font-size:42px;font-weight:600;line-height:1;margin-bottom:8px;letter-spacing:-0.05em;color:var(--text);font-variant-numeric:tabular-nums}
.stat-card:nth-child(1) .stat-number{color:#a7afff}
.stat-card:nth-child(2) .stat-number{color:#91b8ff}
.stat-card:nth-child(3) .stat-number{color:#7ee19d}
.stat-card:nth-child(4) .stat-number{color:#b8a8ff}
.stat-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:0.14em;font-weight:600}
.stat-icon{position:absolute;right:16px;top:18px;opacity:0.18;font-size:26px;font-weight:800}

/* Section */
.section-head{display:flex;align-items:center;justify-content:space-between;margin:34px 0 20px;flex-wrap:wrap;gap:12px}
.section-title{font-size:18px;font-weight:600;display:flex;align-items:center;gap:10px;letter-spacing:-0.03em}
.section-title svg{width:20px;height:20px;color:var(--gold-light)}
.section-count{font-size:11px;color:var(--muted);font-weight:600;background:rgba(255,255,255,0.03);padding:4px 10px;border-radius:999px;border:1px solid rgba(255,255,255,0.07);margin-left:6px}
.view-toggle{display:flex;gap:4px;background:rgba(255,255,255,0.03);border-radius:12px;padding:4px;border:1px solid rgba(255,255,255,0.07);box-shadow:inset 0 1px 0 rgba(255,255,255,0.04)}
.view-btn{padding:8px 16px;border-radius:8px;border:none;background:transparent;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer;transition:all 0.15s}
.view-btn.active{background:rgba(255,255,255,0.06);color:var(--text);box-shadow:0 6px 18px rgba(0,0,0,0.22)}

/* Project Grid */
.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:18px;margin-bottom:36px}
.projects-grid.list-view{grid-template-columns:1fr}

/* Project Card */
.project-card{background:linear-gradient(180deg,rgba(255,255,255,0.035),rgba(255,255,255,0.02));border:1px solid rgba(255,255,255,0.08);border-radius:18px;overflow:hidden;transition:all 0.25s ease;position:relative;box-shadow:var(--shadow-card)}
.project-card:hover{border-color:rgba(113,112,255,0.22);box-shadow:0 18px 48px rgba(0,0,0,0.32);transform:translateY(-2px)}
.project-card.expanded{grid-column:1/-1;border-color:rgba(113,112,255,0.3);box-shadow:0 22px 56px rgba(0,0,0,0.36)}
.project-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);opacity:0;transition:opacity 0.3s}
.project-card:hover::before{opacity:1}
.card-header{padding:22px 22px;display:flex;align-items:flex-start;gap:16px;cursor:pointer;transition:background 0.15s;flex-wrap:wrap}
.card-header:hover{background:rgba(255,255,255,0.02)}
.card-header[role="button"]:focus-visible{outline:2px solid rgba(113,112,255,0.75);outline-offset:3px;background:rgba(113,112,255,0.06)}
.card-icon{width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;color:#fff;flex-shrink:0;position:relative;background:linear-gradient(135deg,rgba(113,112,255,0.88),rgba(94,106,210,0.55));box-shadow:0 12px 30px rgba(94,106,210,0.28);overflow:hidden}
.card-icon img.favicon{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:14px;opacity:0;transition:opacity 0.3s ease}
.card-icon img.favicon.loaded{opacity:1}
.card-icon .icon-initials{position:relative;z-index:1;transition:opacity 0.3s ease}
.card-icon.has-logo .icon-initials{opacity:0}
.card-icon::after{content:'';position:absolute;inset:0;border-radius:14px;border:1px solid rgba(255,255,255,0.12)}
.card-info{flex:1 1 320px;min-width:260px;padding-top:2px}
.card-info h3{font-size:16px;font-weight:700;margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-0.03em}
.card-meta{display:flex;gap:8px;flex-wrap:wrap}
.card-right{width:100%;margin-left:66px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-start;padding-top:6px}
.card-cta-group{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex:1 1 auto;padding:0;background:transparent;border:none;box-shadow:none}
.card-status-group{display:flex;align-items:center;gap:8px;flex:0 0 auto;margin-left:auto;padding:0;background:transparent;border:none}
.meta-tag{font-size:11px;padding:5px 10px;border-radius:999px;font-weight:600;background:rgba(255,255,255,0.03);color:var(--text-secondary);border:1px solid rgba(255,255,255,0.07)}
.badge{font-size:10px;padding:7px 12px;border-radius:999px;font-weight:800;text-transform:uppercase;letter-spacing:0.08em}
.badge-live{background:rgba(39,166,68,0.14);color:#7ee19d;border:1px solid rgba(39,166,68,0.22)}
.badge-archive{background:rgba(255,255,255,0.04);color:var(--muted);border:1px solid rgba(255,255,255,0.07)}
.toggle-icon{width:32px;height:32px;border-radius:10px;border:1px solid rgba(255,255,255,0.08);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:11px;font-weight:800;transition:all 0.25s;background:rgba(255,255,255,0.03)}
.project-card.expanded .toggle-icon{transform:rotate(180deg);color:var(--gold-light);border-color:rgba(113,112,255,0.24);background:rgba(113,112,255,0.1)}
.preview-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 16px;background:rgba(255,255,255,0.02);color:var(--text-secondary);border:1px solid rgba(255,255,255,0.08);border-radius:12px;font-size:12px;font-weight:800;cursor:pointer;transition:all 0.2s;white-space:nowrap;box-shadow:none}
.preview-cta:hover{background:rgba(113,112,255,0.1);border-color:rgba(113,112,255,0.2);color:#fff;transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,0,0,0.18)}
.preview-cta.primary-accent{background:linear-gradient(135deg,rgba(113,112,255,0.18),rgba(94,106,210,0.14));color:#eef0ff;border-color:rgba(113,112,255,0.24);box-shadow:0 8px 18px rgba(33,37,42,0.16)}
.preview-cta.primary-accent:hover{background:linear-gradient(135deg,rgba(130,143,255,0.24),rgba(113,112,255,0.2));box-shadow:0 12px 24px rgba(94,106,210,0.18)}
.preview-cta svg{width:14px;height:14px;flex-shrink:0}
.preview-cta.ps-cta{background:rgba(139,125,255,0.12);border-color:rgba(139,125,255,0.22);color:#d4d0ff}
.preview-cta.ps-cta:hover{background:rgba(139,125,255,0.2);border-color:rgba(139,125,255,0.35);color:#fff}

/* Card Body */
.card-body{max-height:0;overflow:hidden;transition:max-height 0.4s cubic-bezier(0.4,0,0.2,1)}
.project-card.expanded .card-body{max-height:20000px;overflow:visible}
.card-body-inner{padding:4px 22px 22px;border-top:1px solid var(--border);overflow:visible}
.card-tools-row{display:flex;flex-wrap:wrap;gap:10px;padding:14px 0 12px;border-bottom:1px solid rgba(255,255,255,0.06);margin-bottom:14px}
.project-card.expanded .card-tools-row{position:sticky;top:76px;z-index:20;background:linear-gradient(180deg,rgba(16,18,24,.96),rgba(16,18,24,.9));backdrop-filter:blur(10px);border-radius:12px;padding:12px;margin:0 0 14px;border:1px solid rgba(255,255,255,.08);box-shadow:0 10px 24px rgba(0,0,0,.22)}
@media(max-width:820px){.project-card.expanded .card-tools-row{position:static;backdrop-filter:none;margin:0 0 12px}}

/* Version */
.agent-group{margin-top:18px;padding:16px;border:1px solid rgba(255,255,255,0.06);border-radius:16px;background:rgba(255,255,255,0.02)}
.agent-group + .agent-group{margin-top:18px}
.agent-group-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,0.06)}
.agent-group-header strong{font-size:14px;font-weight:700;letter-spacing:-0.02em;color:var(--text)}
.agent-group-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:rgba(113,112,255,0.12);border:1px solid rgba(113,112,255,0.18);font-size:11px;font-weight:700;color:#d7dbff;white-space:nowrap}
.agent-group-controls{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
.agent-hide-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);font-size:11px;font-weight:600;color:var(--muted);cursor:pointer;transition:all 0.18s ease;white-space:nowrap}
.agent-hide-btn:hover{background:rgba(255,255,255,0.08);color:var(--text);border-color:rgba(255,255,255,0.18)}
.agent-hide-btn svg{width:12px;height:12px}
.agent-group.collapsed{opacity:0.72}
.agent-group.collapsed .agent-group-body{display:none}
.agent-group.collapsed .agent-group-header{margin-bottom:0;padding-bottom:0;border-bottom:0}
.agent-group.collapsed .agent-group-badge{background:rgba(255,255,255,0.04);border-color:rgba(255,255,255,0.08);color:var(--muted)}
.agent-group-hidden-note{font-size:11px;color:var(--muted);font-style:italic}
.agents-bulk-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;padding:10px 14px;border-radius:12px;background:rgba(255,255,255,0.025);border:1px dashed rgba(255,255,255,0.1);font-size:12px;color:var(--muted);flex-wrap:wrap}
.agents-bulk-bar button{background:rgba(113,112,255,0.14);border:1px solid rgba(113,112,255,0.28);color:#d7dbff;font-size:11px;font-weight:700;padding:6px 12px;border-radius:999px;cursor:pointer;transition:all 0.18s ease}
.agents-bulk-bar button:hover{background:rgba(113,112,255,0.22);border-color:rgba(113,112,255,0.4)}
.version-section{margin-top:14px}
.version-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}
.version-dot{width:10px;height:10px;border-radius:50%;border:2px solid var(--bg)}
.version-dot.latest{background:var(--green);box-shadow:0 0 8px rgba(34,197,94,0.4)}
.version-dot.old{background:var(--muted)}
.version-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.8px;color:var(--text-secondary)}
.version-title .v-badge{color:var(--green);margin-left:6px;font-size:14px}

/* File Row */
.file-row{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:12px;transition:all 0.15s;text-decoration:none;color:var(--text);margin-bottom:8px;border:1px solid rgba(255,255,255,0.05);background:rgba(255,255,255,0.02)}
.file-row:hover{background:rgba(113,112,255,0.08);color:var(--text);border-color:rgba(113,112,255,0.18)}
.file-badge{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;letter-spacing:0.08em;flex-shrink:0}
.file-badge.html{background:rgba(239,95,107,0.14);color:#ff9eaa;border:1px solid rgba(239,95,107,0.16)}
.file-badge.txt{background:rgba(79,140,255,0.14);color:#9dc0ff;border:1px solid rgba(79,140,255,0.16)}
.file-badge.json{background:rgba(39,166,68,0.14);color:#8be0a0;border:1px solid rgba(39,166,68,0.16)}
.file-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:3px;letter-spacing:-0.01em}
.file-size{font-size:11px;color:var(--muted)}
.file-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding-top:4px}
.action-btn{padding:9px 15px;border-radius:12px;font-size:11px;font-weight:800;border:1px solid rgba(255,255,255,0.08);background:rgba(255,255,255,0.03);color:var(--text-secondary);cursor:pointer;text-decoration:none;transition:all 0.15s;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;white-space:nowrap}
.action-btn:hover{border-color:rgba(113,112,255,0.24);color:#fff;background:rgba(113,112,255,0.1)}
.action-btn.primary{background:linear-gradient(135deg,var(--gold),var(--gold-dim));border-color:transparent;color:#fff;padding:9px 18px;box-shadow:0 10px 22px rgba(94,106,210,0.18)}
.action-btn.primary:hover{background:linear-gradient(135deg,var(--gold-light),var(--gold));transform:translateY(-1px);box-shadow:0 14px 28px rgba(94,106,210,0.22)}
.action-btn.success{border-color:rgba(39,166,68,0.2);color:#7ee19d;background:rgba(39,166,68,0.1)}
.action-btn.success:hover{border-color:rgba(39,166,68,0.32);background:rgba(39,166,68,0.16);color:#c8f5d2}

/* Sync Bar */


/* Loading */
.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;gap:16px}
.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--gold);border-radius:50%;animation:spin 0.8s linear infinite}
/* R5 — Respect users with reduced-motion preference */
@media (prefers-reduced-motion: reduce){
  .spinner,.deploy-spinner,.btn-spinner,.skel-bar{animation-duration:2.4s !important}
  .toast{animation:none !important}
}
@keyframes spin{to{transform:rotate(360deg)}}
.loading-text{font-size:13px;color:var(--muted)}

/* Empty */
.empty-state{text-align:center;padding:60px 20px;color:var(--muted)}
.empty-state svg{width:48px;height:48px;margin-bottom:12px;opacity:0.3}

/* Preview Modal */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.85);z-index:1000;display:none;align-items:center;justify-content:center;backdrop-filter:blur(4px)}
.modal-overlay.open{display:flex}
.modal{background:var(--surface);border:1px solid var(--border);border-radius:16px;width:95vw;max-width:1400px;height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,0.6)}
.modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border);flex-shrink:0}
.modal-title{font-size:14px;font-weight:700;display:flex;align-items:center;gap:8px}
.modal-title span{color:var(--gold)}
.device-tabs{display:flex;gap:4px;background:var(--bg);border-radius:var(--radius-sm);padding:3px;border:1px solid var(--border)}
.device-tab{padding:7px 16px;border-radius:6px;border:none;background:transparent;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer;transition:all 0.15s;display:flex;align-items:center;gap:6px}
.device-tab.active{background:var(--card);color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,0.3)}
.device-tab svg{width:16px;height:16px}
.modal-close{width:40px;height:40px;border-radius:10px;border:2px solid var(--border);background:var(--card);color:var(--text);font-size:24px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.15s;line-height:1}
.modal-close:hover{background:var(--red);color:#fff;border-color:var(--red);transform:scale(1.05)}
.preview-container{flex:1;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg);overflow:auto}
.device-frame{background:#fff;border-radius:8px;box-shadow:0 4px 24px rgba(0,0,0,0.4);overflow:hidden;transition:all 0.3s ease;position:relative}
.device-frame.mobile{width:375px;height:calc(90vh - 120px);max-height:812px;border-radius:24px;border:3px solid #333}
.device-frame.tablet{width:768px;height:calc(90vh - 120px);max-height:1024px;border-radius:16px;border:3px solid #333}
.device-frame.desktop{width:100%;max-width:1280px;height:calc(90vh - 120px);border-radius:8px;border:2px solid #333}
.device-frame iframe{width:100%;height:100%;border:none;background:#fff}
.device-label{position:absolute;top:-28px;left:50%;transform:translateX(-50%);font-size:11px;color:var(--muted);white-space:nowrap;font-weight:600}
.compare-modal{max-width:96vw;width:96vw;height:92vh}
.compare-container{flex:1;display:flex;flex-direction:column;padding:16px;background:var(--bg);overflow:hidden}
.compare-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;flex:1;overflow:auto;padding:8px}
.compare-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;min-height:320px}
.compare-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--card)}
.compare-panel-title{font-size:12px;font-weight:700;color:var(--text);display:flex;flex-direction:column;gap:2px}
.compare-panel-title small{font-size:10px;color:var(--muted);font-weight:600}
.compare-frame-wrap{flex:1;padding:12px;overflow:auto;display:flex;align-items:flex-start;justify-content:center}
.compare-device-frame{background:#fff;border:2px solid #333;border-radius:8px;overflow:hidden;position:relative;transition:all .25s ease;width:100%;height:100%}
.compare-device-frame.desktop{max-width:1280px;height:100%}
.compare-device-frame.tablet{width:768px;max-width:100%;height:100%;border-radius:16px}
.compare-device-frame.mobile{width:375px;max-width:100%;height:100%;border-radius:24px}
.compare-device-frame iframe{width:100%;height:100%;border:none;background:#fff}
.compare-empty{padding:40px 24px;text-align:center;color:var(--muted);font-size:13px}
.compare-deploy-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--border-hair);background:rgba(255,255,255,0.015);flex-wrap:wrap;min-height:44px}
.compare-deploy-status{font-size:11px;color:var(--muted);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.compare-deploy-badge{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:0.06em;padding:3px 9px;border-radius:999px;border:1px solid transparent;flex-shrink:0}
.compare-deploy-badge.idle{background:rgba(255,255,255,0.04);color:var(--muted);border-color:var(--border-hair)}
.compare-deploy-badge.running{background:rgba(201,149,42,0.14);color:#d4a84a;border-color:rgba(201,149,42,0.30);animation:pulse-badge 1.2s ease-in-out infinite}
.compare-deploy-badge.success{background:rgba(34,197,94,0.12);color:#4ade80;border-color:rgba(34,197,94,0.26)}
.compare-deploy-badge.error{background:rgba(239,68,68,0.12);color:var(--red);border-color:rgba(239,68,68,0.26)}
@keyframes pulse-badge{0%,100%{opacity:1}50%{opacity:0.6}}
.compare-deploy-dot{width:6px;height:6px;border-radius:50%;background:currentColor}
.focus-modal{max-width:98vw;width:98vw;height:96vh}
.focus-container{flex:1;display:flex;align-items:center;justify-content:center;padding:18px;background:var(--bg);overflow:auto}
.focus-device-frame{background:#fff;border:2px solid #333;border-radius:8px;overflow:hidden;position:relative;transition:all .25s ease;width:100%;height:100%}
.focus-device-frame.desktop{max-width:1600px;height:100%}
.focus-device-frame.tablet{width:900px;max-width:100%;height:100%;border-radius:18px}
.focus-device-frame.mobile{width:420px;max-width:100%;height:100%;border-radius:28px}
.focus-device-frame iframe{width:100%;height:100%;border:none;background:#fff}
.focus-subtitle{font-size:10px;color:var(--muted);font-weight:600;margin-left:8px}
.prompt-modal{max-width:1880px;width:99vw;height:96vh}
.prompt-container{flex:1;display:grid;grid-template-columns:minmax(260px,0.78fr) minmax(260px,0.78fr) minmax(720px,1.9fr);gap:16px;padding:16px;background:var(--bg);overflow:hidden}
.prompt-panel{display:flex;flex-direction:column;gap:10px;min-height:0}
.prompt-label{font-size:11px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:0.7px}
.prompt-textarea{flex:1;min-height:240px;width:100%;resize:none;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);padding:14px;font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;outline:none}
.prompt-textarea:focus{border-color:var(--gold-dim)}
.prompt-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.prompt-status{font-size:12px;color:var(--muted)}
.model-select-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.model-select-label{font-size:11px;font-weight:700;color:var(--text-secondary);white-space:nowrap}
.model-select{height:32px;padding:0 10px;border:1px solid var(--border-hair);border-radius:var(--r-sm);background:rgba(255,255,255,0.03);color:var(--text);font-size:12px;font-weight:600;cursor:pointer;outline:none;transition:border-color 0.14s;min-width:200px}
.model-select:focus{border-color:rgba(113,112,255,0.35)}
.model-select option{background:#0f1011;color:#f0f1f3}
.prompt-preview-wrap{flex:1;min-height:0;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#fff}
.prompt-preview-frame{width:100%;height:100%;border:none;background:#fff}
/* Pre-Improve Checklist (Additional Improvement Rules) */
#prompt-modal .prompt-panel:first-child .prompt-textarea{min-height:180px}
.checklist-wrap{border:1px solid var(--border);border-radius:12px;background:var(--surface);display:flex;flex-direction:column;flex:0 0 auto;max-height:42px;overflow:hidden;transition:max-height .25s ease}
.checklist-wrap.expanded{max-height:48vh}
.checklist-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;background:rgba(255,255,255,0.02);cursor:pointer;user-select:none;border-bottom:1px solid transparent}
.checklist-wrap.expanded .checklist-header{border-bottom-color:var(--border)}
.checklist-header-left{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
.checklist-title{font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--text-secondary);white-space:nowrap}
.checklist-count-badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:10px;font-weight:800;background:rgba(201,149,42,0.14);color:#d4a84a;border:1px solid rgba(201,149,42,0.35);white-space:nowrap}
.checklist-count-badge.zero{background:rgba(255,255,255,0.04);color:var(--muted);border-color:var(--border)}
.checklist-header-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
.checklist-header-btn{border:1px solid var(--border);background:var(--bg);color:var(--text-secondary);border-radius:8px;padding:5px 9px;font-size:10px;font-weight:700;cursor:pointer;letter-spacing:.3px;text-transform:uppercase;transition:color .12s,border-color .12s}
.checklist-header-btn:hover{color:var(--text);border-color:rgba(201,149,42,0.5)}
.checklist-chevron{width:14px;height:14px;color:var(--muted);transition:transform .2s;flex-shrink:0}
.checklist-wrap.expanded .checklist-chevron{transform:rotate(180deg)}
.checklist-body{display:none;flex-direction:column;gap:10px;padding:10px 12px 12px;overflow:auto;min-height:0}
.checklist-wrap.expanded .checklist-body{display:flex}
.checklist-filter{position:relative}
.checklist-filter input{width:100%;padding:7px 10px 7px 30px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:12px;outline:none}
.checklist-filter input:focus{border-color:rgba(201,149,42,0.5)}
.checklist-filter::before{content:'⌕';position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:13px;pointer-events:none}
.checklist-groups{display:flex;flex-direction:column;gap:10px}
.checklist-group{border:1px solid var(--border);border-radius:10px;padding:10px 12px 8px;background:rgba(255,255,255,0.015)}
.checklist-group[data-empty="true"]{display:none}
.checklist-group-title{font-size:10px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;color:#d4a84a;margin-bottom:8px}
.checklist-items{display:flex;flex-direction:column;gap:2px}
.checklist-item{display:flex;align-items:flex-start;gap:9px;padding:6px 8px;border-radius:7px;cursor:pointer;transition:background .12s}
.checklist-item:hover{background:rgba(255,255,255,0.04)}
.checklist-item[hidden]{display:none}
.checklist-item input[type=checkbox]{appearance:none;-webkit-appearance:none;width:15px;height:15px;flex-shrink:0;margin:1px 0 0;border:1.5px solid var(--border);border-radius:4px;background:var(--bg);cursor:pointer;position:relative;transition:border-color .15s,background .15s}
.checklist-item input[type=checkbox]:hover{border-color:rgba(201,149,42,0.6)}
.checklist-item input[type=checkbox]:checked{background:#C9952A;border-color:#C9952A}
.checklist-item input[type=checkbox]:checked::after{content:'';position:absolute;left:3px;top:0;width:5px;height:9px;border:solid #111;border-width:0 2px 2px 0;transform:rotate(45deg)}
.checklist-item span{font-size:12px;line-height:1.4;color:var(--text-secondary)}
.checklist-item input[type=checkbox]:checked ~ span{color:var(--text)}
.mandatory-group .checklist-group-title{color:#e05252;letter-spacing:.8px}
.mandatory-group{border-color:rgba(224,82,82,0.25);background:rgba(224,82,82,0.04)}
.mandatory-item{cursor:default;background:rgba(224,82,82,0.05);border-radius:7px}
.mandatory-item input[type=checkbox]:disabled{cursor:not-allowed;opacity:.7;background:#e05252;border-color:#e05252}
.mandatory-item input[type=checkbox]:disabled::after{content:'';position:absolute;left:3px;top:0;width:5px;height:9px;border:solid #111;border-width:0 2px 2px 0;transform:rotate(45deg)}
.mandatory-item > span:first-of-type{color:var(--text);font-weight:500}
.mandatory-badge{display:inline-flex;align-items:center;margin-left:8px;padding:2px 7px;border-radius:999px;font-size:9px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;background:rgba(224,82,82,0.18);color:#ff9898;border:1px solid rgba(224,82,82,0.35);white-space:nowrap;flex-shrink:0}
@media(max-width:900px){.checklist-wrap.expanded{max-height:55vh}.checklist-header{padding:10px 12px}.checklist-title{font-size:10px}.checklist-item span{font-size:11.5px}}
.deploy-status-panel{position:fixed;right:12px;bottom:12px;z-index:900;width:min(280px,calc(100vw - 24px));background:rgba(18,19,22,0.92);border:1px solid rgba(255,255,255,0.07);border-radius:12px;box-shadow:0 14px 36px rgba(0,0,0,0.34);backdrop-filter:blur(10px);overflow:hidden}
.deploy-status-panel.page-hidden{display:none !important}
#preview-modal.open ~ #deploy-status-panel,
#compare-modal.open ~ #deploy-status-panel,
#focus-modal.open ~ #deploy-status-panel,
#prompt-modal.open ~ #deploy-status-panel{display:none}
.deploy-status-header{display:flex;align-items:center;justify-content:space-between;padding:9px 10px;border-bottom:1px solid rgba(255,255,255,0.05);background:rgba(255,255,255,0.02)}
.deploy-status-title{font-size:11px;font-weight:700;letter-spacing:.15px;text-transform:none;color:var(--text-secondary)}
.deploy-status-toggle{border:1px solid rgba(255,255,255,0.08);background:rgba(255,255,255,0.03);color:var(--text-secondary);border-radius:8px;padding:5px 9px;font-size:11px;font-weight:700;cursor:pointer}
.deploy-status-body{padding:12px 14px;display:flex;flex-direction:column;gap:12px;max-height:42vh;overflow:auto}
.deploy-status-panel.collapsed .deploy-status-body{display:none}
.deploy-status-empty{font-size:12px;color:var(--muted)}
.deploy-job{border:1px solid var(--border);border-radius:12px;padding:12px;background:rgba(255,255,255,0.02);display:flex;flex-direction:column;gap:8px}
.deploy-job.running{border-color:rgba(201,149,42,0.4);box-shadow:0 0 0 1px rgba(201,149,42,0.08) inset}
.deploy-job.success{border-color:rgba(34,197,94,0.35)}
.deploy-job.error{border-color:rgba(239,68,68,0.35)}
.deploy-job-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.deploy-job-name{font-size:12px;font-weight:700;color:var(--text)}
.deploy-job-meta{font-size:11px;color:var(--muted)}
.deploy-job-badge{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;padding:4px 8px;border-radius:999px;border:1px solid var(--border)}
.deploy-job.running .deploy-job-badge{color:var(--gold);border-color:rgba(201,149,42,0.35);background:var(--gold-bg);display:inline-flex;align-items:center;gap:5px}
.deploy-spinner{width:9px;height:9px;border:1.5px solid rgba(201,149,42,0.3);border-top-color:#C9952A;border-radius:50%;animation:deploy-spin .7s linear infinite;flex-shrink:0}
@keyframes deploy-spin{to{transform:rotate(360deg)}}
.deploy-job.success .deploy-job-badge{color:var(--green);border-color:rgba(34,197,94,0.35);background:var(--green-bg)}
.deploy-job.error .deploy-job-badge{color:var(--red);border-color:rgba(239,68,68,0.35);background:var(--red-bg)}
.deploy-job-step{font-size:12px;color:var(--text-secondary)}
.deploy-progress{height:7px;border-radius:999px;background:rgba(255,255,255,0.06);overflow:hidden}
.deploy-progress-bar{height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--gold-light));transition:width .25s ease}
.deploy-job.success .deploy-progress-bar{background:linear-gradient(90deg,var(--green),#4ade80)}
.deploy-job.error .deploy-progress-bar{background:linear-gradient(90deg,var(--red),#f87171)}
.deploy-job-details{font-size:11px;color:var(--muted);white-space:pre-wrap;word-break:break-word}

/* Footer */
.footer{text-align:center;padding:32px 24px;font-size:11px;color:var(--muted);border-top:1px solid var(--border);margin-top:40px}
.footer a{color:var(--text-secondary)}

/* Responsive */
@media(max-width:1600px){.prompt-container{grid-template-columns:minmax(240px,0.9fr) minmax(240px,0.9fr) minmax(520px,1.5fr)}}
@media(max-width:1280px){
  .projects-grid{grid-template-columns:1fr}
  .prompt-container{grid-template-columns:1fr 1fr}
  .compare-grid{grid-template-columns:1fr}
}
@media(max-width:900px){
  .header-inner{padding:14px 16px;align-items:flex-start}
  .header-actions{width:100%;flex-wrap:wrap;justify-content:space-between}
  .status-stack{width:100%;justify-content:space-between;flex-wrap:wrap}
  .search-wrap{flex:1 1 100%}
  .search-box{width:100%}
  .stats{grid-template-columns:repeat(2,1fr);gap:10px}
  .section-head{align-items:flex-start}
  .view-toggle{width:100%;justify-content:space-between}
  .view-btn{flex:1}
  .projects-grid{grid-template-columns:1fr}
  .project-card.expanded{grid-column:auto}
  .card-header{flex-wrap:wrap;align-items:flex-start}
  .card-info{min-width:220px}
  .card-right{width:100%;margin-left:0;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:10px}
  .card-cta-group{flex:1 1 100%}
  .card-status-group{margin-left:0}
  .file-row{flex-wrap:wrap;align-items:flex-start}
  .file-actions{width:100%;flex-wrap:wrap}
  .compare-modal,.focus-modal,.prompt-modal{width:100vw;max-width:100vw;height:100vh;border-radius:0}
  .compare-container,.focus-container,.prompt-container{padding:12px}
  .compare-panel-header{flex-direction:column;align-items:flex-start}
  .compare-grid{grid-template-columns:1fr;padding:0}
  .prompt-container{grid-template-columns:1fr}
  .deploy-status-panel{right:10px;bottom:10px;width:min(260px,calc(100vw - 20px))}
}
@media(max-width:640px){
  .container{padding:16px}
  .stats{grid-template-columns:1fr 1fr;gap:10px}
  .stat-card{padding:16px}
  .stat-number{font-size:28px}
  .card-meta{display:none}
  .card-icon{width:42px;height:42px;overflow:hidden}
  .preview-cta,.action-btn,.sync-btn{min-height:40px}
  .device-tabs{width:100%;overflow:auto}
  .modal-header{padding:12px;gap:10px;align-items:flex-start;flex-wrap:wrap}
  .modal-title{font-size:13px;line-height:1.3}
  .modal-close{width:36px;height:36px}
}

.shortcuts-modal{position:fixed;inset:0;background:rgba(0,0,0,0.72);z-index:2000;display:none;align-items:center;justify-content:center;backdrop-filter:blur(6px)}
.shortcuts-modal.open{display:flex}
.shortcuts-box{background:rgba(12,13,16,0.98);border:1px solid rgba(255,255,255,0.10);border-radius:20px;padding:24px;min-width:300px;box-shadow:0 24px 64px rgba(0,0,0,0.44)}
.shortcuts-box h3{font-size:14px;font-weight:700;margin-bottom:16px;letter-spacing:-0.02em}
.shortcut-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(255,255,255,0.06)}
.shortcut-row:last-of-type{border-bottom:none}
.shortcut-key{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;font-weight:700;background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.10);border-radius:5px;padding:3px 8px;color:var(--text)}
.shortcut-desc{font-size:12px;color:var(--text-secondary)}
.shortcuts-close{margin-top:16px;width:100%;height:34px;border-radius:12px;border:1px solid rgba(255,255,255,0.10);background:rgba(255,255,255,0.04);color:var(--text-secondary);font-size:12px;font-weight:600;cursor:pointer;transition:all 0.14s}
.shortcuts-close:hover{background:rgba(255,255,255,0.08);color:var(--text)}

@media(prefers-reduced-motion:reduce){*{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}}

/* Light-mode auto-switch intentionally disabled — dashboard is designed dark-only */

/* Action toast notifications */
.action-toast{
  position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(14px);
  font-size:13px;font-weight:700;
  padding:10px 20px;border-radius:999px;
  box-shadow:0 8px 28px rgba(0,0,0,0.32);
  opacity:0;pointer-events:none;
  transition:opacity 0.17s ease,transform 0.17s ease;
  z-index:9999;white-space:nowrap;
  display:flex;align-items:center;gap:8px;
  background:rgba(34,197,94,0.95);color:#fff;
}
.action-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.action-toast.error{background:rgba(239,68,68,0.95)}
.action-toast.warn{background:rgba(201,149,42,0.96)}
.action-toast.info{background:rgba(79,140,255,0.95)}
.action-toast svg{width:14px;height:14px;flex-shrink:0}

/* Prompt Studio expand/fullscreen */
.prompt-modal.ps-fullscreen{width:100vw !important;max-width:100vw !important;height:100vh !important;border-radius:0 !important}
/* Preview modal expand/fullscreen */
.modal-overlay.preview-fullscreen{padding:0}
.modal-overlay.preview-fullscreen .modal{width:100vw !important;max-width:100vw !important;height:100vh !important;border-radius:0 !important;border:0 !important}
.modal-overlay.preview-fullscreen .preview-container{padding:8px}
.modal-overlay.preview-fullscreen .device-frame.desktop{max-width:100%;width:100%;height:calc(100vh - 70px);border-radius:4px}
.modal-overlay.preview-fullscreen .device-frame.tablet{height:calc(100vh - 70px);max-height:calc(100vh - 70px)}
.modal-overlay.preview-fullscreen .device-frame.mobile{height:calc(100vh - 70px);max-height:calc(100vh - 70px)}

/* Header sync button */
.hdr-sync-btn{
  height:34px;padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(113,112,255,0.28);
  background:linear-gradient(135deg,rgba(113,112,255,0.14),rgba(94,89,200,0.10));
  color:#c8c5ff;
  font-size:12px;font-weight:700;
  cursor:pointer;
  transition:all 0.18s ease;
  white-space:nowrap;
  display:inline-flex;align-items:center;gap:6px;
  font-family:inherit;
  box-shadow:0 2px 8px rgba(113,112,255,0.12),inset 0 1px 0 rgba(255,255,255,0.06);
  letter-spacing:0.02em;
}
.hdr-sync-btn:hover{
  border-color:rgba(113,112,255,0.55);
  background:linear-gradient(135deg,rgba(113,112,255,0.26),rgba(94,89,200,0.20));
  color:#fff;
  box-shadow:0 4px 16px rgba(113,112,255,0.22),inset 0 1px 0 rgba(255,255,255,0.10);
  transform:translateY(-1px);
}
.hdr-sync-btn:active{transform:translateY(0);box-shadow:0 2px 6px rgba(113,112,255,0.16)}
.hdr-sync-btn.syncing{
  border-color:rgba(113,112,255,0.45);
  background:linear-gradient(135deg,rgba(113,112,255,0.20),rgba(94,89,200,0.16));
  color:#d4d1ff;
  cursor:default;
}
.hdr-sync-btn.syncing #hdr-sync-icon{animation:spin-icon 0.7s linear infinite}
.hdr-sync-btn.done{
  border-color:rgba(34,197,94,0.45);
  background:linear-gradient(135deg,rgba(34,197,94,0.16),rgba(34,197,94,0.10));
  color:#4ade80;
  box-shadow:0 2px 10px rgba(34,197,94,0.14);
}
@keyframes spin-icon{to{transform:rotate(360deg)}}


/* ==== Responsive polish — all devices (added 2026-04-16) ==== */
html{overflow:visible;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{overflow:visible}
*{min-width:0}
img,svg,video,canvas{max-width:100%;height:auto}

/* Safe-area padding so content never sits under iOS notches / Android nav bars */
.container{
  padding-left:max(clamp(14px,3vw,28px), env(safe-area-inset-left));
  padding-right:max(clamp(14px,3vw,28px), env(safe-area-inset-right));
}
.header-inner{
  padding-left:max(clamp(14px,3vw,28px), env(safe-area-inset-left));
  padding-right:max(clamp(14px,3vw,28px), env(safe-area-inset-right));
}

/* Fluid container max-width — use the space on big monitors without getting awkward */
@media (min-width:1600px){
  .container,.header-inner{max-width:1480px}
  .projects-grid{grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:20px}
}
@media (min-width:1920px){
  .container,.header-inner{max-width:1600px}
  .projects-grid{grid-template-columns:repeat(auto-fill,minmax(440px,1fr))}
}

/* Projects grid — never overflow on narrow screens, never crowd on mid */
.projects-grid{grid-template-columns:repeat(auto-fill,minmax(min(380px,100%),1fr))}
.compare-grid{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr))}

/* Laptop (<=1280) — already handled a bit, tighten card min */
@media (max-width:1280px){
  .projects-grid{grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:16px}
  .container{padding-top:24px;padding-bottom:96px}
}

/* Tablet landscape / small laptops (<=1100) */
@media (max-width:1100px){
  .header-inner{gap:10px}
  .projects-grid{grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr))}
  .search-wrap{flex:1 1 220px;min-width:180px}
  .search-wrap input{width:100%}
  .header-meta{order:10;flex-basis:100%;justify-content:flex-start}
}

/* Tablet portrait (<=900) */
@media (max-width:900px){
  .container{padding-top:20px;padding-bottom:80px}
  .projects-grid{grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:14px}
  .compare-grid{grid-template-columns:1fr;gap:12px}
  .header-inner{padding-top:12px;padding-bottom:12px}
  .header-actions{flex-wrap:wrap;gap:8px}
  .header-actions .search-wrap{order:-1;flex-basis:100%}
  /* Modal: use dynamic viewport units so iOS Safari doesn't cut off the bottom */
  .modal{width:96vw;height:92vh;height:92svh;max-height:92dvh;border-radius:14px}
}

/* Phone (<=640) */
@media (max-width:640px){
  body{font-size:15px}
  .container{padding-top:16px;padding-bottom:72px}
  .projects-grid{grid-template-columns:1fr;gap:12px}
  .project-card{border-radius:14px}
  .header h1{font-size:clamp(18px,4.6vw,22px)}
  /* Button rows wrap cleanly */
  .file-actions,.card-actions,.project-card .actions{flex-wrap:wrap;gap:6px}
  .action-btn,button.action-btn,a.action-btn{min-height:40px;padding:8px 12px;font-size:13px}
  /* Modal fills the screen, safer on iOS */
  .modal-overlay{padding:0}
  .modal{width:100vw;max-width:100vw;height:100vh;height:100svh;max-height:100dvh;border-radius:0;border:0}
  .modal-header,.modal-footer{padding:12px 14px}
  .preview-container,.modal-body{padding:10px}
  /* Prompt Studio textarea etc. */
  textarea,input[type="text"],select{font-size:16px} /* prevents iOS zoom */
  /* Header buttons: make them tappable */
  .header-menu-btn,.hdr-sync-btn,.header button{min-height:40px}
  /* Stats pills — let them wrap and stretch */
  .summary-pill,.stat-pill,.stats-summary>*{flex:1 1 140px}
  /* Toast positioning clear of safe area */
  .action-toast{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));transform:translateY(20px) !important;width:auto;max-width:none}
  .action-toast.open{transform:translateY(0) !important}
  /* Typography: prevent orphans, improve readability */
  h1,h2,h3,h4{text-wrap:pretty}
  p,li{line-height:1.65}
}

/* Tiny phones (<=380) — iPhone SE 1st gen, older Androids */
@media (max-width:380px){
  .container{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}
  .header-inner{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right));gap:6px}
  .header h1{font-size:17px}
  .logo-icon{width:28px;height:28px}
  .action-btn,button.action-btn,a.action-btn{padding:7px 10px;font-size:12.5px}
  .project-card .card-header,.project-card .card-body{padding:12px}
}

/* Minimum touch targets (WCAG 2.5.8) on touch devices */
@media (hover:none) and (pointer:coarse){
  button,.action-btn,a.action-btn,.header-menu-btn,.hdr-sync-btn,input[type="button"],input[type="submit"],.bottom-nav-item,.bn-fab-btn{min-height:44px;min-width:44px}
  /* Haptic-style active feedback */
  button:active,.action-btn:active,.bottom-nav-item:active{transform:scale(0.96);transition:transform 60ms}
  .bottom-nav-item:active{background:rgba(113,112,255,0.22)}
}

/* iOS momentum scrolling + safe area */
html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}
body{overscroll-behavior-y:auto}

/* iOS input zoom prevention + overscroll containment */
input,select,textarea{ font-size:16px !important }
.modal,.drawer,.mobile-drawer{ overscroll-behavior-y:contain }
.scrollable{ -webkit-overflow-scrolling:touch }

/* iOS safe-area + dynamic viewport */
@supports (height:100svh){
  .modal,.fullscreen{ height:100svh; max-height:100dvh }
}

/* Touch-friendly card actions on mobile */
@media(max-width:640px){
  .card-actions{ display:grid !important; grid-template-columns:repeat(3,1fr) !important; gap:8px !important; padding:0 16px 14px !important }
  .card-actions .action-btn{ justify-content:center !important; min-height:44px !important; font-size:13px !important }
  .project-card{ border-radius:16px !important; margin-bottom:12px !important }
  .card-header{ padding:14px 16px !important }
}

/* Make horizontally scrollable rows actually safe (tabs, long chips) */
.tabs,.chips-row,.file-list-header,.agent-switcher{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.tabs::-webkit-scrollbar,.chips-row::-webkit-scrollbar{height:6px}
.tabs::-webkit-scrollbar-thumb,.chips-row::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.1);border-radius:3px}

/* Long filenames / URLs should break instead of pushing layout */
.file-name,.file-path,.version-name,.project-card h3,.project-card a,.file-list a{word-break:break-word;overflow-wrap:anywhere}

/* Modal on large desktop — don't let it fly open full-width on 4K */
@media (min-width:1600px){
  .modal{max-width:1500px}
}

/* Reduced motion: tighten transitions further */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:0.01ms !important;animation-duration:0.01ms !important;scroll-behavior:auto !important}
}

/* Print — keep the basics usable if someone prints a project list */
@media print{
  .header,.action-toast,.modal-overlay,#bulk-toggle-projects,.hdr-sync-btn,.header-menu-btn{display:none !important}
  body{background:#fff;color:#000}
  .project-card{break-inside:avoid;border:1px solid #ccc;box-shadow:none}
}

/* Prompt studio — brainstorm + sync */
.action-btn.brainstorm{background:linear-gradient(135deg,rgba(113,112,255,0.22),rgba(198,141,255,0.18));border-color:rgba(180,140,255,0.45);color:#e5dcff}
.action-btn.brainstorm:hover:not(:disabled){background:linear-gradient(135deg,rgba(113,112,255,0.34),rgba(198,141,255,0.28));border-color:rgba(200,160,255,0.7)}
.action-btn.brainstorm:disabled{opacity:0.65;cursor:not-allowed}
.brainstorm-progress{display:none;margin-top:12px;padding:12px 14px;border-radius:12px;background:rgba(113,112,255,0.06);border:1px solid rgba(113,112,255,0.18);font-size:12px;color:var(--text-secondary)}
.brainstorm-progress.active{display:block}
.brainstorm-progress-title{font-weight:700;color:#d7dbff;margin-bottom:8px;display:flex;align-items:center;gap:8px}
.brainstorm-dot{width:8px;height:8px;border-radius:50%;background:var(--gold);animation:bs-pulse 1s ease-in-out infinite}
@keyframes bs-pulse{0%,100%{opacity:0.3;transform:scale(0.8)}50%{opacity:1;transform:scale(1.1)}}
.brainstorm-models-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.brainstorm-model-chip{font-size:11px;padding:4px 9px;border-radius:999px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);color:var(--muted);display:inline-flex;align-items:center;gap:5px}
.brainstorm-model-chip.ok{background:rgba(39,166,68,0.14);color:#7ee19d;border-color:rgba(39,166,68,0.28)}
.brainstorm-model-chip.err{background:rgba(220,38,38,0.12);color:#ff9aa0;border-color:rgba(220,38,38,0.3)}
.prompt-sync-panel{display:none;margin-top:12px;padding:14px;border-radius:12px;background:rgba(255,255,255,0.025);border:1px solid rgba(255,255,255,0.08)}
.prompt-sync-panel.visible{display:block}
.prompt-sync-title{font-weight:700;font-size:13px;color:var(--text);margin-bottom:10px;display:flex;align-items:center;gap:8px}
.prompt-sync-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.prompt-sync-row .sync-label{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:0.06em;min-width:80px}
.prompt-sync-path{font-family:'SF Mono','Monaco',monospace;font-size:11px;color:#c9d0ff;background:rgba(255,255,255,0.04);padding:6px 10px;border-radius:8px;border:1px solid rgba(255,255,255,0.08);word-break:break-all;flex:1 1 220px}
.prompt-sync-note{font-size:11px;color:var(--muted);margin-top:6px;line-height:1.5}
.prompt-sync-note code{font-family:'SF Mono','Monaco',monospace;background:rgba(255,255,255,0.05);padding:1px 6px;border-radius:4px;color:#d7dbff}
.brainstorm-meta{font-size:11px;color:var(--muted);margin-top:6px}
/* Prompt studio — palette extractor */
.palette-extractor{margin-top:12px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,0.025);border:1px solid rgba(255,255,255,0.08)}
.palette-extractor-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.palette-extractor-row label{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:0.06em}
.palette-extractor-row input[type=url]{flex:1 1 220px;min-width:180px;padding:8px 12px;border-radius:8px;background:rgba(0,0,0,0.2);border:1px solid rgba(255,255,255,0.08);color:var(--text);font-size:13px}
.palette-extractor-row input[type=url]:focus{outline:2px solid var(--purple);outline-offset:0}
.palette-extractor-status{font-size:11px;color:var(--muted);margin-top:6px}
.palette-swatches{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.palette-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);font-family:'SF Mono','Monaco',monospace;font-size:11px;color:var(--text);cursor:pointer;transition:all .18s ease}
.palette-chip:hover{border-color:rgba(255,255,255,0.2);background:rgba(255,255,255,0.08)}
.palette-chip .swatch{width:14px;height:14px;border-radius:4px;border:1px solid rgba(255,255,255,0.15);flex-shrink:0}
.palette-neutrals{opacity:0.7;margin-top:6px}
.palette-snippet{margin-top:10px;padding:10px 12px;border-radius:8px;background:#0b0b12;border:1px solid rgba(255,255,255,0.06);font-family:'SF Mono','Monaco',monospace;font-size:11px;color:#d7dbff;white-space:pre-wrap;word-break:break-word;max-height:180px;overflow:auto}
.palette-actions{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
/* Prompt Studio — scroll + sticky action bar fix (2026-04-17) */
.prompt-container{overflow:hidden !important}
.prompt-panel{min-height:0;overflow-y:auto;overflow-x:hidden;padding-bottom:76px;position:relative;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.2) transparent}
.prompt-panel::-webkit-scrollbar{width:8px}
.prompt-panel::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.14);border-radius:999px}
.prompt-panel::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,0.24)}
/* Sticky primary action bar inside the draft panel — always keeps Improve + Brainstorm visible */
.prompt-panel > .prompt-actions{position:sticky;bottom:0;margin:0 -12px -10px;padding:10px 12px;background:linear-gradient(0deg,rgba(16,15,24,0.96) 60%,rgba(16,15,24,0.78));backdrop-filter:blur(8px);border-top:1px solid rgba(255,255,255,0.06);z-index:3;gap:8px;flex-wrap:wrap;align-items:center}
.prompt-panel > .prompt-actions .prompt-status{flex:1 1 200px;min-width:0}
/* Palette extractor — tighter on narrow panels */
.palette-extractor{margin-top:10px}
.palette-extractor-row{gap:8px}
.palette-swatches{max-height:220px;overflow-y:auto;overflow-x:hidden;padding-right:4px}
.palette-snippet{max-height:140px}
/* Make the draft textarea itself not consume the whole panel when palette is showing */
#prompt-draft{min-height:140px;max-height:320px;resize:vertical}
/* Output panel on the right — same scroll treatment for consistency */
.prompt-panel + .prompt-panel{padding-bottom:76px}
.prompt-panel + .prompt-panel > .prompt-actions{position:sticky;bottom:0;margin:0 -12px -10px;padding:10px 12px;background:linear-gradient(0deg,rgba(16,15,24,0.96) 60%,rgba(16,15,24,0.78));backdrop-filter:blur(8px);border-top:1px solid rgba(255,255,255,0.06);z-index:3;gap:8px;flex-wrap:wrap;align-items:center}
#prompt-output{min-height:180px}

/* Tablet */
@media (max-width:1100px){
  .prompt-container{grid-template-columns:1fr 1fr !important;grid-template-rows:minmax(300px,1fr) minmax(260px,1fr) !important;gap:12px}
  .prompt-container > .prompt-panel:nth-child(3){grid-column:1 / -1}
  .palette-swatches{max-height:160px}
}
/* Mobile — single column with full-height modal and internal scroll */
@media (max-width:780px){
  .modal.prompt-modal{width:100vw !important;height:100vh !important;height:100svh !important;max-height:100dvh !important;border-radius:0 !important;border:0 !important}
  .prompt-container{grid-template-columns:1fr !important;grid-template-rows:none !important;grid-auto-rows:minmax(260px,auto) !important;gap:12px !important;padding:12px !important;overflow-y:auto !important;overflow-x:hidden !important}
  .prompt-panel{overflow:visible !important;padding-bottom:12px !important}
  .prompt-panel > .prompt-actions,.prompt-panel + .prompt-panel > .prompt-actions{position:static !important;margin:0 !important;padding:10px 0 !important;background:transparent !important;backdrop-filter:none !important;border-top:0 !important}
  .prompt-panel > .prompt-actions{border-top:1px dashed rgba(255,255,255,0.08) !important;padding-top:12px !important;margin-top:6px !important}
  .palette-swatches{max-height:200px}
  .palette-snippet{max-height:160px;font-size:10.5px}
  #prompt-draft{max-height:none;min-height:120px}
  #prompt-output{min-height:140px}
  .palette-extractor-row{flex-direction:column;align-items:stretch}
  .palette-extractor-row input[type=url]{min-width:0;width:100%}
  .palette-extractor-row button.action-btn{width:100%;justify-content:center}
  .palette-extractor-row label{margin-bottom:2px}
  .prompt-actions .action-btn{min-height:44px}
}
/* Small phones */
@media (max-width:380px){
  .palette-extractor{padding:10px 12px}
  .palette-chip{font-size:10.5px;padding:5px 8px}
  .palette-snippet{font-size:10px}
}

/* Respect reduced motion on the new sticky bar */
@media (prefers-reduced-motion:reduce){
  .prompt-panel > .prompt-actions,.prompt-panel + .prompt-panel > .prompt-actions{backdrop-filter:none !important}
}
/* ====== Prompt Studio — professional polish pass (2026-04-17) ====== */
/* Goal: cleaner header, softer panels, consistent radii (14px everywhere),
   one primary color, consistent label style (sentence case, spacious),
   proportional monospace only where it matters, WCAG-friendly contrasts. */

/* --- Typography unification --- */
.prompt-modal .prompt-label{font-size:12px;font-weight:600;color:rgba(255,255,255,0.62);text-transform:none;letter-spacing:0.01em;margin-bottom:2px}
.prompt-modal .prompt-label::before{content:'';display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--purple,#7170ff);margin-right:8px;vertical-align:middle;opacity:.9}
.prompt-modal .modal-title{font-weight:700;letter-spacing:-0.01em}
.prompt-modal .focus-subtitle{color:rgba(255,255,255,0.5);font-weight:500;margin-left:10px;font-size:13px}

/* --- Modal frame softening --- */
.modal.prompt-modal{border-radius:18px;box-shadow:0 24px 64px rgba(0,0,0,0.55),0 0 0 1px rgba(255,255,255,0.04)}
.prompt-modal .modal-header{border-bottom:1px solid rgba(255,255,255,0.06);padding:16px 22px;gap:14px}
.prompt-modal .modal-header .modal-title{font-size:15px;display:flex;align-items:center;gap:10px}
.prompt-modal .modal-header .modal-title svg{width:16px;height:16px;color:var(--purple,#7170ff);flex-shrink:0}
.prompt-modal .modal-header #prompt-expand-btn{margin-left:auto}
.prompt-modal .modal-close{width:32px;height:32px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;transition:background .18s ease,color .18s ease}
.prompt-modal .modal-close:hover{background:rgba(255,255,255,0.08);color:#fff}

/* --- Panel frames: consistent 14px radius, breathing room --- */
.prompt-container{gap:18px !important;padding:20px !important;background:transparent !important}
.prompt-panel{gap:12px}
.prompt-panel > *{border-radius:14px}
.prompt-panel .prompt-label{border-radius:0}

/* --- Textareas: still monospace for the code-ish body but softer --- */
.prompt-modal .prompt-textarea{border-radius:14px;border:1px solid rgba(255,255,255,0.08);background:rgba(255,255,255,0.025);padding:16px 18px;font:13.5px/1.65 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:rgba(255,255,255,0.92);transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}
.prompt-modal .prompt-textarea:focus-visible,.prompt-modal .prompt-textarea:focus{border-color:rgba(113,112,255,0.55);background:rgba(255,255,255,0.04);outline:none;box-shadow:0 0 0 3px rgba(113,112,255,0.14)}
.prompt-modal .prompt-textarea::placeholder{color:rgba(255,255,255,0.3)}
#prompt-output{background:rgba(255,255,255,0.02) !important}
#prompt-output::placeholder{color:rgba(255,255,255,0.26)}

/* --- Checklist: cleaner header, softer surface --- */
.prompt-modal .checklist-wrap{border-radius:14px;border:1px solid rgba(255,255,255,0.08);background:rgba(255,255,255,0.02);box-shadow:none}
.prompt-modal .checklist-header{padding:12px 16px;background:transparent;border-radius:14px 14px 0 0}
.prompt-modal .checklist-wrap:not(.expanded) .checklist-header{border-radius:14px}
.prompt-modal .checklist-header:hover{background:rgba(255,255,255,0.04)}
.prompt-modal .checklist-title{font-weight:600;font-size:13.5px;color:rgba(255,255,255,0.88)}
.prompt-modal .checklist-count-badge{font-weight:700;font-size:11px}
.prompt-modal .checklist-header-btn{font-size:11px;padding:6px 10px;border-radius:8px;font-weight:600;letter-spacing:0.01em;text-transform:none}

/* --- Palette extractor — refined container --- */
.palette-extractor{border-radius:14px !important;padding:14px 16px !important;background:linear-gradient(180deg,rgba(113,112,255,0.055),rgba(113,112,255,0.02)) !important;border:1px solid rgba(113,112,255,0.18) !important}
.palette-extractor-row{gap:10px !important;align-items:center !important}
.palette-extractor-row label{font-size:11.5px !important;font-weight:600 !important;color:rgba(255,255,255,0.7) !important;text-transform:none !important;letter-spacing:0.01em !important;display:inline-flex;align-items:center;gap:8px}
.palette-extractor-row label::before{content:'';display:inline-block;width:6px;height:6px;border-radius:2px;background:linear-gradient(135deg,var(--purple,#7170ff),#bc55ff);box-shadow:0 0 0 2px rgba(113,112,255,0.18)}
.palette-extractor-row input[type=url]{height:38px !important;padding:0 14px !important;border-radius:10px !important;background:rgba(0,0,0,0.22) !important;border:1px solid rgba(255,255,255,0.09) !important;color:rgba(255,255,255,0.92) !important;font:13px/1 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace !important;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease !important}
.palette-extractor-row input[type=url]:focus{border-color:rgba(113,112,255,0.55) !important;background:rgba(0,0,0,0.3) !important;box-shadow:0 0 0 3px rgba(113,112,255,0.14) !important;outline:none !important}
.palette-extractor-row input[type=url]::placeholder{color:rgba(255,255,255,0.28) !important}
.palette-extractor-row button.action-btn{height:38px !important;padding:0 14px !important;border-radius:10px !important;font-size:12.5px !important;font-weight:600 !important;display:inline-flex !important;align-items:center !important;gap:6px}
.palette-extractor-status{font-size:11.5px !important;color:rgba(255,255,255,0.55) !important;line-height:1.55 !important;margin-top:8px !important}
.palette-extractor-status code{font-size:11px;padding:1px 6px;border-radius:4px;background:rgba(255,255,255,0.06);color:#d7dbff}
.palette-swatches{gap:6px !important;margin-top:12px !important;padding:2px}
.palette-chip{border-radius:10px !important;padding:6px 10px 6px 8px !important;background:rgba(255,255,255,0.05) !important;border:1px solid rgba(255,255,255,0.08) !important;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace !important;font-size:11.5px !important;font-weight:500 !important;transition:all .16s ease !important;cursor:pointer}
.palette-chip:hover{border-color:rgba(113,112,255,0.4) !important;background:rgba(113,112,255,0.1) !important;transform:translateY(-1px)}
.palette-chip .swatch{width:16px !important;height:16px !important;border-radius:5px !important;border:1px solid rgba(0,0,0,0.3) !important;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.08) !important}
.palette-snippet{border-radius:12px !important;padding:12px 14px !important;background:rgba(0,0,0,0.38) !important;border:1px solid rgba(255,255,255,0.06) !important;font:11.5px/1.55 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace !important;color:#d7dbff !important;max-height:180px !important;scrollbar-width:thin}
.palette-snippet::-webkit-scrollbar{width:6px}
.palette-snippet::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.15);border-radius:999px}
.palette-actions{gap:8px !important;margin-top:10px !important;padding-top:10px !important;border-top:1px dashed rgba(255,255,255,0.08) !important}
.palette-actions button.action-btn{height:34px !important;padding:0 12px !important;border-radius:8px !important;font-size:12px !important;font-weight:600 !important}

/* --- Model selector block --- */
.model-select-wrap{gap:10px !important;margin-top:2px}
.model-select-wrap .model-select-label{font-size:11.5px;font-weight:600;color:rgba(255,255,255,0.62);text-transform:none;letter-spacing:0.01em}
.prompt-modal .model-select{height:36px !important;padding:0 12px !important;border-radius:10px !important;background:rgba(0,0,0,0.2) !important;border:1px solid rgba(255,255,255,0.09) !important;font-size:12.5px !important;font-weight:500 !important;transition:border-color .18s ease,box-shadow .18s ease}
.prompt-modal .model-select:hover{border-color:rgba(113,112,255,0.35) !important}
.prompt-modal .model-select:focus{border-color:rgba(113,112,255,0.55) !important;box-shadow:0 0 0 3px rgba(113,112,255,0.14) !important;outline:none !important}

/* --- Unified primary action bar --- */
.prompt-modal .prompt-actions{gap:10px !important;align-items:center}
.prompt-panel > .prompt-actions{padding:12px 14px !important;margin:0 -14px -12px !important;background:linear-gradient(0deg,rgba(14,14,22,0.96) 60%,rgba(14,14,22,0.72)) !important;border-top:1px solid rgba(255,255,255,0.06) !important;border-radius:0 0 14px 14px !important}
.prompt-panel + .prompt-panel > .prompt-actions{background:linear-gradient(0deg,rgba(14,14,22,0.96) 60%,rgba(14,14,22,0.72)) !important;border-radius:0 0 14px 14px !important}

/* --- Primary/secondary/tertiary button language --- */
.prompt-modal .action-btn{height:40px;padding:0 16px;border-radius:10px;font-size:13px;font-weight:600;letter-spacing:-0.005em;line-height:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:background .18s ease,border-color .18s ease,transform .12s ease,color .18s ease;white-space:nowrap}
.prompt-modal .action-btn svg{flex-shrink:0}
.prompt-modal .action-btn:hover{transform:translateY(-1px)}
.prompt-modal .action-btn:active{transform:translateY(0)}
.prompt-modal #prompt-improve-btn{background:linear-gradient(180deg,#7170ff,#5d5cff) !important;color:#fff !important;border:1px solid rgba(255,255,255,0.12) !important;box-shadow:0 6px 18px rgba(113,112,255,0.28)}
.prompt-modal #prompt-improve-btn:hover{background:linear-gradient(180deg,#8584ff,#6968ff) !important;box-shadow:0 8px 22px rgba(113,112,255,0.36)}
.prompt-modal #prompt-improve-btn:disabled{opacity:.55}
.prompt-modal #prompt-brainstorm-btn{background:linear-gradient(180deg,rgba(255,255,255,0.06),rgba(255,255,255,0.02)) !important;border:1px solid rgba(180,140,255,0.45) !important;color:#e5dcff !important}
.prompt-modal #prompt-brainstorm-btn:hover{border-color:rgba(200,160,255,0.85) !important;background:linear-gradient(180deg,rgba(113,112,255,0.16),rgba(198,141,255,0.1)) !important}
.prompt-modal #prompt-sync-gh-btn,.prompt-modal #prompt-apply-html-btn{background:linear-gradient(180deg,#19a974,#148f62) !important;color:#fff !important;border:1px solid rgba(255,255,255,0.12) !important}
.prompt-modal #prompt-tweak-btn{background:rgba(104,101,255,0.12) !important;border:1px solid rgba(104,101,255,0.35) !important;color:#e7e6ff !important}
.prompt-modal #prompt-tweak-btn:hover{background:rgba(104,101,255,0.18) !important;border-color:rgba(134,131,255,0.55) !important}
.prompt-tweak-panel{margin-top:14px;padding:14px;border:1px solid rgba(255,255,255,0.08);border-radius:14px;background:rgba(255,255,255,0.025)}
#prompt-tweak-output{min-height:220px;max-height:420px;resize:vertical;background:rgba(0,0,0,0.16) !important}
.prompt-modal #prompt-sync-gh-btn:hover,.prompt-modal #prompt-apply-html-btn:hover{background:linear-gradient(180deg,#21ba82,#17a16e) !important}
/* Ghost / tertiary */
.prompt-modal .prompt-actions .action-btn:not(#prompt-improve-btn):not(#prompt-brainstorm-btn):not(#prompt-sync-gh-btn):not(#prompt-apply-html-btn){background:rgba(255,255,255,0.045) !important;border:1px solid rgba(255,255,255,0.09) !important;color:rgba(255,255,255,0.88) !important}
.prompt-modal .prompt-actions .action-btn:not(#prompt-improve-btn):not(#prompt-brainstorm-btn):not(#prompt-sync-gh-btn):not(#prompt-apply-html-btn):hover{background:rgba(255,255,255,0.075) !important;border-color:rgba(255,255,255,0.18) !important;color:#fff !important}

/* --- Status text density --- */
.prompt-modal .prompt-status{font-size:12px;color:rgba(255,255,255,0.55);line-height:1.5;flex:1 1 200px;min-width:0}

/* --- Brainstorm progress card refinement --- */
.brainstorm-progress{border-radius:14px !important;padding:14px 16px !important;background:linear-gradient(180deg,rgba(113,112,255,0.08),rgba(113,112,255,0.02)) !important;border:1px solid rgba(113,112,255,0.22) !important}
.brainstorm-progress-title{font-size:13px !important;font-weight:700 !important;color:#e5dcff !important}
.brainstorm-model-chip{border-radius:999px !important;padding:5px 11px !important;font-weight:600 !important}

/* --- Preview panel — remove the weird white gap, add branded device frame --- */
.prompt-modal .prompt-preview-wrap{border-radius:14px;border:1px solid rgba(255,255,255,0.08);background:#f9fafc;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.02)}
.prompt-modal .prompt-preview-frame{border-radius:12px}

/* --- Sync panel refinement --- */
.prompt-sync-panel{border-radius:14px !important;padding:16px !important;background:linear-gradient(180deg,rgba(255,255,255,0.025),rgba(255,255,255,0.01)) !important;border:1px solid rgba(255,255,255,0.08) !important}
.prompt-sync-title{font-size:13.5px !important;font-weight:700 !important;color:rgba(255,255,255,0.92) !important}
.prompt-sync-row .sync-label{font-weight:700;font-size:10.5px;color:rgba(255,255,255,0.5)}
.prompt-sync-path{font-size:11.5px !important;padding:8px 12px !important;border-radius:10px !important;background:rgba(0,0,0,0.25) !important;border:1px solid rgba(255,255,255,0.07) !important;color:#d7dbff !important}
.prompt-sync-note{font-size:11.5px !important;color:rgba(255,255,255,0.55) !important;line-height:1.6 !important}

/* --- Empty state on the output textarea — subtle lift --- */
#prompt-output:empty::before,#prompt-output[placeholder]:placeholder-shown{font-style:normal}

/* --- Reduced motion respect --- */
@media (prefers-reduced-motion:reduce){
  .prompt-modal .action-btn,.palette-chip,.prompt-modal .prompt-textarea,.prompt-modal .model-select,.palette-extractor-row input[type=url]{transition:none !important}
  .prompt-modal .action-btn:hover,.palette-chip:hover{transform:none !important}
}

/* --- Smaller screens: tighten spacing, stack palette row cleanly --- */
@media (max-width:1100px){
  .prompt-modal .prompt-label{font-size:11.5px}
}
@media (max-width:780px){
  .prompt-modal .modal-header{padding:12px 14px;flex-wrap:wrap}
  .prompt-modal .modal-title{font-size:14px}
  .prompt-modal .focus-subtitle{font-size:12px;margin-left:0;width:100%;margin-top:2px}
  .prompt-modal .prompt-textarea{padding:14px;font-size:13px;line-height:1.6}
  .palette-extractor-row{gap:8px !important}
  .palette-extractor-row input[type=url],.palette-extractor-row button.action-btn{height:42px !important}
  .prompt-modal .action-btn{height:44px;padding:0 18px;font-size:13.5px}
  .prompt-modal #prompt-improve-btn,.prompt-modal #prompt-brainstorm-btn{flex:1 1 140px;justify-content:center}
}
/* Prompt Studio — v2 final polish 2026-04-17 */
/* 1. One clear primary action — demote Brainstorm to ghost */
.prompt-modal #prompt-brainstorm-btn{background:transparent !important;border:1px solid rgba(255,255,255,0.14) !important;color:rgba(255,255,255,0.82) !important;box-shadow:none !important}
.prompt-modal #prompt-brainstorm-btn:hover{background:rgba(113,112,255,0.08) !important;border-color:rgba(180,140,255,0.45) !important;color:#e5dcff !important}
.prompt-modal #prompt-brainstorm-btn svg{opacity:.78}
.prompt-modal #prompt-brainstorm-btn:hover svg{opacity:1}

/* 2. Remove the heavy gradient action-bar strip; use a clean seam instead */
.prompt-panel > .prompt-actions,.prompt-panel + .prompt-panel > .prompt-actions{
  background:transparent !important;
  backdrop-filter:none !important;
  border-top:1px solid rgba(255,255,255,0.07) !important;
  padding:14px 0 4px !important;
  margin:8px 0 0 !important;
  border-radius:0 !important;
}
/* keep it sticky with a proper translucent pane only when scrolling actually exists */
.prompt-panel > .prompt-actions{position:sticky;bottom:0;background:linear-gradient(180deg,transparent 0%,rgba(18,18,26,0.92) 28%,rgba(18,18,26,0.96) 100%) !important;padding:14px 2px 10px !important;margin-top:10px !important}

/* 3. Tighten label styling — clearer hierarchy, slightly brighter */
.prompt-modal .prompt-label{font-size:12.5px !important;font-weight:700 !important;color:rgba(255,255,255,0.78) !important;letter-spacing:0 !important;margin-bottom:6px !important}
.prompt-modal .prompt-label::before{width:5px;height:5px}

/* 4. Give the palette extractor a soft divider above it (breathing room) */
.palette-extractor{margin-top:16px !important}

/* 5. Modal header: even spacing + integrated close button */
.prompt-modal .modal-header{padding:14px 20px !important}
.prompt-modal .modal-close{border:0 !important;background:transparent !important;width:34px !important;height:34px !important;border-radius:10px !important;color:rgba(255,255,255,0.7) !important;font-size:20px !important;line-height:1 !important}
.prompt-modal .modal-close:hover{background:rgba(255,255,255,0.08) !important;color:#fff !important}

/* 6. Checklist — tighter header, softer expanded state */
.prompt-modal .checklist-header-btn{background:rgba(255,255,255,0.04) !important;border:1px solid rgba(255,255,255,0.08) !important;color:rgba(255,255,255,0.8) !important}
.prompt-modal .checklist-header-btn:hover{background:rgba(255,255,255,0.08) !important;border-color:rgba(255,255,255,0.16) !important;color:#fff !important}
.prompt-modal .checklist-count-badge{background:rgba(113,112,255,0.18) !important;color:#d7dbff !important;border:1px solid rgba(113,112,255,0.32) !important;padding:3px 9px !important;border-radius:999px !important}
.prompt-modal .checklist-count-badge.zero{background:rgba(255,255,255,0.04) !important;color:rgba(255,255,255,0.5) !important;border-color:rgba(255,255,255,0.09) !important}

/* 7. Space between checklist + palette — premium apps use 20-24px */
.prompt-panel > .checklist-wrap + .palette-extractor{margin-top:18px !important}
.prompt-panel > .palette-extractor + .model-select-wrap{margin-top:18px !important}
.prompt-panel > .prompt-draft + *{margin-top:18px !important}

/* 8. Remove the dot prefix on labels — cleaner, more Linear-like */
.prompt-modal .prompt-label::before{display:none !important}

/* 9. Input focus ring polish — thinner, cleaner */
.prompt-modal .prompt-textarea:focus-visible,.prompt-modal .prompt-textarea:focus,
.palette-extractor-row input[type=url]:focus,.prompt-modal .model-select:focus{
  box-shadow:0 0 0 2px rgba(113,112,255,0.4) !important;
}

/* 10. Primary Improve button — subtle glow instead of heavy shadow */
.prompt-modal #prompt-improve-btn{
  background:#6865ff !important;
  box-shadow:0 2px 0 rgba(0,0,0,0.18),inset 0 1px 0 rgba(255,255,255,0.12) !important;
  border:1px solid rgba(104,101,255,0.8) !important;
}
.prompt-modal #prompt-improve-btn:hover{
  background:#7a77ff !important;
  box-shadow:0 4px 14px rgba(104,101,255,0.35),inset 0 1px 0 rgba(255,255,255,0.15) !important;
}
.prompt-modal #prompt-improve-btn:active{
  box-shadow:0 1px 0 rgba(0,0,0,0.2),inset 0 1px 0 rgba(255,255,255,0.08) !important;
}

/* 11. Secondary ghost buttons in palette-actions — match language */
.palette-actions button.action-btn,
.prompt-modal .prompt-actions button.action-btn:not(#prompt-improve-btn):not(#prompt-brainstorm-btn):not(#prompt-sync-gh-btn){
  background:rgba(255,255,255,0.05) !important;
  border:1px solid rgba(255,255,255,0.09) !important;
  color:rgba(255,255,255,0.82) !important;
  box-shadow:none !important;
}
.palette-actions button.action-btn:hover{background:rgba(255,255,255,0.09) !important;border-color:rgba(255,255,255,0.18) !important;color:#fff !important}

/* 12. "Extract palette" button — treat as primary within its card */
.palette-extractor-row button.action-btn{
  background:linear-gradient(180deg,rgba(113,112,255,0.2),rgba(113,112,255,0.08)) !important;
  border:1px solid rgba(113,112,255,0.4) !important;
  color:#e5dcff !important;
}
.palette-extractor-row button.action-btn:hover{
  background:linear-gradient(180deg,rgba(113,112,255,0.3),rgba(113,112,255,0.16)) !important;
  border-color:rgba(180,140,255,0.6) !important;
  color:#fff !important;
}

/* 13. Status + sync status text — slightly brighter for scannability */
.prompt-modal .prompt-status{color:rgba(255,255,255,0.66) !important}

/* 14. Tighter card edges — consistency pass */
.prompt-modal .checklist-wrap,.palette-extractor,.brainstorm-progress,.prompt-sync-panel{
  box-shadow:0 1px 0 rgba(255,255,255,0.03),inset 0 0 0 1px rgba(255,255,255,0.01) !important;
}

/* 15. Hide the sticky gradient on the Output panel's copy bar since there's no scroll issue there */
.prompt-panel:has(#prompt-output) > .prompt-actions{position:static !important;background:transparent !important;border-top:1px solid rgba(255,255,255,0.07) !important;padding:14px 0 4px !important;margin:8px 0 0 !important}
/* Prompt Studio — v3 polish 2026-04-17 */
/* 1. Kill the gradient seam entirely — use a proper flat top border only when sticky */
.prompt-panel > .prompt-actions{
  background:rgba(18,18,26,0.85) !important;
  backdrop-filter:blur(14px) saturate(1.1) !important;
  -webkit-backdrop-filter:blur(14px) saturate(1.1) !important;
  border-top:1px solid rgba(255,255,255,0.08) !important;
  padding:12px 14px !important;
  margin:8px -14px -12px !important;
  border-radius:0 0 14px 14px !important;
  position:sticky !important;
}

/* 2. Brighter section labels — now clearly readable */
.prompt-modal .prompt-label{color:rgba(255,255,255,0.92) !important;font-weight:600 !important;font-size:13px !important;letter-spacing:-0.003em !important}

/* 3. Preview panel — soften the white card so it doesn't clash with the dark theme */
.prompt-modal .prompt-preview-wrap{background:#ffffff !important;border:1px solid rgba(255,255,255,0.12) !important;box-shadow:inset 0 0 0 1px rgba(113,112,255,0.08),0 12px 32px rgba(0,0,0,0.35) !important}

/* 4. Empty-state for the output textarea — add subtle icon hint */
.prompt-modal #prompt-output{background:rgba(0,0,0,0.2) !important;color:rgba(255,255,255,0.92) !important}
.prompt-modal #prompt-output::placeholder{color:rgba(255,255,255,0.36) !important;font-style:normal !important}

/* 5. Checklist title — consistent weight + brighter */
.prompt-modal .checklist-title{color:rgba(255,255,255,0.92) !important;font-weight:600 !important;font-size:13.5px !important}

/* 6. Model select block — slightly stronger label */
.model-select-wrap .model-select-label{color:rgba(255,255,255,0.78) !important;font-weight:600 !important;font-size:12px !important}

/* 7. Palette extractor label — brighter */
.palette-extractor-row label{color:rgba(255,255,255,0.88) !important;font-weight:600 !important;font-size:12px !important}

/* 8. Remove the extra margin-top 16px since we now have cleaner label vertical rhythm */
.palette-extractor{margin-top:14px !important}

/* 9. Sync panel title brighter */
.prompt-sync-title{color:rgba(255,255,255,0.95) !important}

/* 10. The small status text — keep muted but bump slightly */
.prompt-modal .prompt-status{color:rgba(255,255,255,0.6) !important;font-size:12px !important}

/* 11. Tighter scroll bar on the left panel */
.prompt-panel::-webkit-scrollbar{width:6px}
.prompt-panel::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.12);border-radius:999px}
.prompt-panel::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,0.22)}

/* 12. Fix button icon + text gap in palette action row */
.palette-actions button.action-btn{display:inline-flex !important;align-items:center !important;justify-content:center !important}

/* 13. The Improve button now pops even on hover without overdoing it */
.prompt-modal #prompt-improve-btn{background:#6865ff !important;border-color:#6865ff !important}
.prompt-modal #prompt-improve-btn:focus-visible{outline:2px solid rgba(134,131,255,0.7);outline-offset:2px}
/* Prompt Studio — Stop/Cancel UX */
.btn-spinner{display:inline-block;width:12px;height:12px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:btn-spin 0.6s linear infinite;vertical-align:-2px;margin-right:4px;opacity:.9}
@keyframes btn-spin{to{transform:rotate(360deg)}}
.prompt-modal .action-btn.is-running{background:linear-gradient(180deg,#d92b2b,#b82323) !important;color:#fff !important;border-color:#b82323 !important;box-shadow:0 2px 10px rgba(217,43,43,0.3),inset 0 1px 0 rgba(255,255,255,0.1) !important;animation:stop-pulse 1.6s ease-in-out infinite}
.prompt-modal .action-btn.is-running:hover{background:linear-gradient(180deg,#ee3737,#cb2727) !important;box-shadow:0 4px 16px rgba(217,43,43,0.45),inset 0 1px 0 rgba(255,255,255,0.12) !important}
@keyframes stop-pulse{0%,100%{box-shadow:0 2px 10px rgba(217,43,43,0.3),inset 0 1px 0 rgba(255,255,255,0.1)}50%{box-shadow:0 2px 18px rgba(217,43,43,0.55),inset 0 1px 0 rgba(255,255,255,0.12)}}
/* Make palette-extractor Extract button also pulse red when running */
.palette-extractor-row button.action-btn.is-running{background:linear-gradient(180deg,#d92b2b,#b82323) !important;border-color:#b82323 !important;color:#fff !important}
/* Escape-key hint badge when any action is running */
.prompt-modal .prompt-actions .esc-hint{display:none;font-size:11px;color:rgba(255,255,255,0.55);background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);padding:3px 8px;border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;margin-left:4px}
#prompt-modal.any-running .prompt-actions .esc-hint,.prompt-modal.any-running .prompt-actions .esc-hint{display:inline-flex;align-items:center;gap:4px}
/* Global stop-all button */
.prompt-modal #prompt-stop-all-btn{display:none}
#prompt-modal.any-running #prompt-stop-all-btn,.prompt-modal.any-running #prompt-stop-all-btn{display:inline-flex}

/* ==== 2026-04-18 polish + comments layer ==== */
:root{
  --border-hair:rgba(255,255,255,0.08);
  --r-sm:10px;
  color-scheme:dark;
}
.header-actions{gap:12px;align-items:center;flex:1 1 760px;justify-content:flex-end}
.search-box{
  width:300px;
  background:rgba(255,255,255,0.045);
  border-color:rgba(255,255,255,0.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.03);
}
.search-box::placeholder{color:rgba(208,214,224,0.72)}
.status-stack{
  gap:8px;
  align-items:center;
  padding:6px 10px;
  background:rgba(255,255,255,0.025);
  border:1px solid rgba(255,255,255,0.06);
  border-radius:999px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);
}
.status-pill{background:rgba(113,112,255,0.10);border-color:rgba(113,112,255,0.16);color:#edf0ff}
.last-sync-meta{font-size:12.5px;color:rgba(208,214,224,0.84);background:rgba(255,255,255,0.035);border-color:rgba(255,255,255,0.08)}
.card-info h3{
  color:var(--text);
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  line-height:1.24;
  max-width:100%;
}
.card-meta{gap:9px}
.meta-tag{
  color:#e3e8f1;
  background:rgba(255,255,255,0.04);
  border-color:rgba(255,255,255,0.09);
}
.card-right{margin-left:0;padding-top:8px}
.card-cta-group{gap:8px}
.view-toggle{margin-right:2px}
.section-count{font-size:11.5px}
.prompt-comments-btn,.preview-comments-btn,.project-comments-btn{border-color:rgba(91,214,183,0.22);color:#b8fff2;background:rgba(91,214,183,0.08)}
.prompt-comments-btn:hover,.preview-comments-btn:hover,.project-comments-btn:hover{border-color:rgba(91,214,183,0.38);background:rgba(91,214,183,0.14);color:#effffc}
.comments-modal{max-width:860px;width:min(860px,94vw);height:min(82vh,860px)}
.comments-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,0.9fr);gap:16px;flex:1;min-height:0;padding:16px;background:var(--bg)}
.comments-panel,.comments-compose{display:flex;flex-direction:column;gap:12px;min-height:0;background:rgba(255,255,255,0.025);border:1px solid rgba(255,255,255,0.08);border-radius:16px;padding:14px}
.comments-panel-title{font-size:12px;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-secondary)}
.comments-context-label{font-size:13px;color:var(--text);font-weight:700}
.comments-list{display:flex;flex-direction:column;gap:10px;overflow:auto;padding-right:4px;min-height:160px}
.comments-item{padding:12px 13px;border-radius:14px;background:rgba(255,255,255,0.035);border:1px solid rgba(255,255,255,0.07)}
.comments-item-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;flex-wrap:wrap}
.comments-author{font-size:12px;font-weight:700;color:var(--text)}
.comments-time{font-size:11px;color:var(--muted)}
.comments-body{font-size:13px;line-height:1.6;color:var(--text-secondary);white-space:pre-wrap;word-break:break-word}
.comments-empty{padding:18px;border-radius:14px;border:1px dashed rgba(255,255,255,0.10);color:var(--muted);font-size:12.5px;text-align:center}
.comments-input,.comments-author-input{width:100%;border:1px solid rgba(255,255,255,0.10);border-radius:12px;background:rgba(255,255,255,0.03);color:var(--text);padding:12px 13px;outline:none}
.comments-input{min-height:180px;resize:vertical;font:13px/1.6 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}
.comments-input:focus,.comments-author-input:focus{border-color:rgba(113,112,255,0.35);box-shadow:0 0 0 3px rgba(113,112,255,0.12)}
.comments-meta{font-size:12px;color:var(--muted);line-height:1.6}
.comments-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.comments-status{font-size:12px;color:var(--muted)}
@media (max-width:900px){
  .comments-modal{width:100vw;max-width:100vw;height:100vh;max-height:100dvh;border-radius:0;border:0}
  .comments-layout{grid-template-columns:1fr;grid-auto-rows:minmax(240px,auto);overflow:auto}
}
/* Light-mode overrides via prefers-color-scheme (additive a11y enhancement) */
@media (prefers-color-scheme: light){
  :root{
    --bg:#f5f5f7;
    --bg-elevated:#ffffff;
    --surface:rgba(255,255,255,0.92);
    --surface-strong:#ffffff;
    --card:rgba(0,0,0,0.03);
    --card-hover:rgba(0,0,0,0.06);
    --border:rgba(0,0,0,0.08);
    --border-strong:rgba(0,0,0,0.14);
    --border-hover:rgba(113,112,255,0.32);
    --text:#1a1a1a;
    --text-secondary:#4a4a5a;
    --muted:#6e7180;
    --shadow-soft:0 24px 80px rgba(0,0,0,0.08);
    --shadow-card:0 10px 30px rgba(0,0,0,0.06);
    --ps-bg:#f5f5f7;
    --ps-surface:#ffffff;
    --ps-surface-2:#f0f0f4;
    --ps-border:rgba(0,0,0,0.08);
    --ps-text:rgba(0,0,0,0.87);
    --ps-text-2:rgba(0,0,0,0.6);
    --ps-text-3:rgba(0,0,0,0.38);
  }
  body{background:#f5f5f7;color:#1a1a1a}
  .hdr-search-btn{border-color:rgba(0,0,0,0.12);color:#6e7180}
}

/* ================================================================
   PROMPT STUDIO — Full Premium Redesign (2026-04)
   Design language: clean dark, Inter, 16px radius system,
   one primary action, generous whitespace, step-based clarity
   ================================================================ */

/* ── Variables ── */
:root {
  --ps-bg: #0d0d14;
  --ps-surface: #13131f;
  --ps-surface-2: #1a1a2a;
  --ps-border: rgba(255,255,255,0.08);
  --ps-border-focus: rgba(108,99,255,0.7);
  --ps-indigo: #6c63ff;
  --ps-indigo-hover: #7d75ff;
  --ps-indigo-soft: rgba(108,99,255,0.12);
  --ps-indigo-glow: rgba(108,99,255,0.25);
  --ps-text: rgba(255,255,255,0.93);
  --ps-text-2: rgba(255,255,255,0.62);
  --ps-text-3: rgba(255,255,255,0.38);
  --ps-green: #22c55e;
  --ps-green-soft: rgba(34,197,94,0.12);
  --ps-red: #f87171;
  --ps-red-soft: rgba(248,113,113,0.14);
  --ps-radius: 16px;
  --ps-radius-sm: 10px;
  --ps-radius-xs: 7px;
}

/* ── Modal shell ── */
#prompt-modal .modal {
  background: var(--ps-bg) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 20px !important;
  box-shadow: 0 32px 80px rgba(0,0,0,0.7), 0 0 0 1px rgba(108,99,255,0.08) !important;
  overflow: hidden !important;
}

/* ── Fixer responsive ── */
@media (max-width: 768px) {
  .fixer-section-cols{flex-direction:column}
  .fixer-meta-grid{grid-template-columns:1fr 1fr}
  .fixer-model-cards{grid-template-columns:1fr 1fr}
  .fixer-preservation-grid{grid-template-columns:1fr 1fr}
  .fixer-tab{flex-direction:column;align-items:flex-start;gap:6px}
  .fixer-tab-badge{margin-left:0}
  .fixer-diff-panels{flex-direction:column}
  .fixer-diff-panel{min-width:auto}
  .fixer-history-grid{grid-template-columns:1fr}
}
@media (max-width: 480px) {
  .fixer-meta-grid{grid-template-columns:1fr}
  .fixer-model-cards{grid-template-columns:1fr}
  .fixer-preservation-grid{grid-template-columns:1fr}
  .fixer-action-buttons{flex-direction:column}
  .fixer-action-buttons .action-btn{width:100%;justify-content:center}
  .fixer-json-actions{flex-direction:column}
  .fixer-json-actions .action-btn{width:100%;justify-content:center}
}


/* ── Diff Viewer (N8N Fixer only) ── */
.diff-viewer-wrap {
  display: none !important;
}
.diff-viewer-wrap.active {
  display: block !important;
  margin-top: 24px;
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 12px;
  overflow: hidden;
  background: var(--surface, #fff);
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}
.diff-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid var(--border, #e2e8f0);
  background: var(--surface-2, #f8fafc);
}
.diff-toolbar h4 {
  font-size: 13px;
  font-weight: 600;
  color: var(--text, #1e293b);
  margin: 0;
  letter-spacing: -0.01em;
}
.diff-toggle {
  display: flex;
  gap: 4px;
}
.diff-toggle-btn {
  font-size: 11px;
  font-weight: 500;
  padding: 4px 10px;
  border-radius: 6px;
  border: 1px solid var(--border, #e2e8f0);
  background: transparent;
  color: var(--text-2, #64748b);
  cursor: pointer;
  transition: all 0.15s;
}
.diff-toggle-btn.active,
.diff-toggle-btn:hover {
  background: var(--indigo, #6366f1);
  border-color: var(--indigo, #6366f1);
  color: #fff;
}
.diff-panes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}
.diff-pane {
  padding: 16px;
  overflow: auto;
  max-height: 400px;
}
.diff-pane:first-child {
  border-right: 1px solid var(--border, #e2e8f0);
}
.diff-pane h5 {
  font-size: 11px;
  font-weight: 600;
  color: var(--text-2, #64748b);
  margin: 0 0 10px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.diff-pane pre {
  font-size: 11px;
  font-family: 'SF Mono', 'Fira Code', monospace;
  margin: 0;
  white-space: pre-wrap;
  word-break: break-all;
  color: var(--text, #1e293b);
}
.diff-line { padding: 1px 4px; border-radius: 3px; }
.diff-add  { background: rgba(34,197,94,0.12); color: #16a34a; }
.diff-rem  { background: rgba(239,68,68,0.10); color: #dc2626; }
.diff-mod  { background: rgba(234,179,8,0.12); color: #ca8a04; }
@media (max-width: 768px) {
  .diff-panes { grid-template-columns: 1fr; }
  .diff-pane:first-child { border-right: none; border-bottom: 1px solid var(--border, #e2e8f0); }
}

/* ── Fixer ── */
.fixer
  background: var(--ps-surface) !important;
  border-bottom: 1px solid var(--ps-border) !important;
  padding: 0 24px !important;
  height: 56px !important;
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  flex-shrink: 0 !important;
}
#prompt-modal .modal-title {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--ps-text) !important;
  letter-spacing: -0.01em !important;
  gap: 10px !important;
  flex: 1 1 auto !important;
}
#prompt-modal .modal-title svg {
  width: 16px !important; height: 16px !important;
  color: var(--ps-indigo) !important;
  flex-shrink: 0 !important;
}
#prompt-modal .focus-subtitle {
  color: var(--ps-text-3) !important;
  font-weight: 400 !important;
  font-size: 13px !important;
  margin-left: 6px !important;
}
#prompt-modal .modal-close {
  width: 32px !important; height: 32px !important;
  border-radius: var(--ps-radius-xs) !important;
  border: none !important;
  background: transparent !important;
  color: var(--ps-text-2) !important;
  font-size: 18px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 0.15s, color 0.15s !important;
  margin-left: 4px !important;
}
#prompt-modal .modal-close:hover {
  background: rgba(248,113,113,0.12) !important;
  color: var(--ps-red) !important;
}
#prompt-modal #prompt-expand-btn {
  height: 32px !important;
  padding: 0 10px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--ps-text-2) !important;
  background: transparent !important;
  border: 1px solid var(--ps-border) !important;
  border-radius: var(--ps-radius-xs) !important;
  gap: 5px !important;
}
#prompt-modal #prompt-expand-btn:hover {
  background: var(--ps-surface-2) !important;
  color: var(--ps-text) !important;
}

/* ── Container grid ── */
#prompt-modal .prompt-container {
  background: var(--ps-bg) !important;
  padding: 0 !important;
  gap: 0 !important;
  grid-template-columns: 340px 340px 1fr !important;
  overflow: hidden !important;
}

/* ── Panels — each is a full-height column ── */
#prompt-modal .prompt-panel {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border-right: 1px solid var(--ps-border) !important;
  background: var(--ps-surface) !important;
  padding: 0 !important;
}
#prompt-modal .prompt-panel:last-child {
  border-right: none !important;
}

/* ── Step header bar inside each panel ── */
#prompt-modal .prompt-label {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: var(--ps-text-3) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  padding: 14px 20px 10px !important;
  flex-shrink: 0 !important;
  border-bottom: 1px solid var(--ps-border) !important;
  background: var(--ps-surface) !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
#prompt-modal .prompt-label::before {
  display: none !important;
}

/* ── Textareas ── */
#prompt-modal .prompt-textarea {
  flex: 1 !important;
  width: 100% !important;
  resize: none !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ps-text) !important;
  padding: 20px !important;
  font: 13.5px/1.75 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  outline: none !important;
  transition: background 0.15s !important;
  min-height: 0 !important;
}
#prompt-modal .prompt-textarea:focus {
  background: rgba(108,99,255,0.03) !important;
  border-color: transparent !important;
}
#prompt-modal .prompt-textarea::placeholder {
  color: var(--ps-text-3) !important;
  font-style: normal !important;
}
#prompt-modal #prompt-draft {
  max-height: none !important;
  min-height: 0 !important;
}
#prompt-modal #prompt-output {
  min-height: 0 !important;
  background: rgba(108,99,255,0.015) !important;
}

/* ── Sticky action bar inside draft panel ── */
#prompt-modal .prompt-panel > .prompt-actions {
  flex-shrink: 0 !important;
  position: sticky !important;
  bottom: 0 !important;
  padding: 12px 20px !important;
  margin: 0 !important;
  background: var(--ps-surface) !important;
  border-top: 1px solid var(--ps-border) !important;
  border-radius: 0 !important;
  backdrop-filter: none !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}
/* Output panel action bar */
#prompt-modal .prompt-panel + .prompt-panel > .prompt-actions {
  background: var(--ps-surface) !important;
  border-top: 1px solid var(--ps-border) !important;
  border-radius: 0 !important;
}

/* ── Checklist ── */
#prompt-modal .checklist-wrap {
  flex-shrink: 0 !important;
  border: none !important;
  border-top: 1px solid var(--ps-border) !important;
  border-bottom: 1px solid var(--ps-border) !important;
  border-radius: 0 !important;
  background: var(--ps-surface) !important;
  max-height: 40px !important;
  overflow: hidden !important;
  transition: max-height 0.25s ease !important;
}
#prompt-modal .checklist-wrap.expanded {
  max-height: 260px !important;
}
#prompt-modal .checklist-header {
  padding: 0 20px !important;
  height: 40px !important;
  background: transparent !important;
  border-bottom: 1px solid transparent !important;
  border-radius: 0 !important;
}
#prompt-modal .checklist-header:hover {
  background: var(--ps-indigo-soft) !important;
}
#prompt-modal .checklist-title {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--ps-text-2) !important;
}
#prompt-modal .checklist-count-badge {
  font-size: 11px !important;
  font-weight: 600 !important;
  background: var(--ps-indigo-soft) !important;
  color: #a5a0ff !important;
  border: 1px solid rgba(108,99,255,0.22) !important;
  padding: 2px 8px !important;
  border-radius: 999px !important;
}
#prompt-modal .checklist-count-badge.zero {
  background: rgba(255,255,255,0.04) !important;
  color: var(--ps-text-3) !important;
  border-color: var(--ps-border) !important;
}
#prompt-modal .checklist-body {
  overflow-y: auto !important;
  max-height: 200px !important;
  padding: 8px 16px 12px !important;
}
#prompt-modal .checklist-header-btn {
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--ps-text-3) !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  border-radius: var(--ps-radius-xs) !important;
  padding: 3px 8px !important;
  cursor: pointer !important;
}
#prompt-modal .checklist-header-btn:hover {
  color: var(--ps-text-2) !important;
  background: var(--ps-surface-2) !important;
  border-color: var(--ps-border) !important;
}

/* ── Palette extractor ── */
#prompt-modal .palette-extractor {
  flex-shrink: 0 !important;
  border: none !important;
  border-top: 1px solid var(--ps-border) !important;
  border-radius: 0 !important;
  background: var(--ps-surface) !important;
  padding: 14px 20px !important;
  margin: 0 !important;
}
#prompt-modal .palette-extractor-row label {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: var(--ps-text-3) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  width: 100% !important;
  margin-bottom: 8px !important;
}
#prompt-modal .palette-extractor-row label::before {
  display: none !important;
}
#prompt-modal .palette-extractor-row {
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 6px !important;
}
#prompt-modal .palette-extractor-row > div {
  display: flex !important;
  gap: 8px !important;
}
#prompt-modal .palette-extractor-row input[type=url] {
  flex: 1 !important;
  height: 36px !important;
  background: var(--ps-bg) !important;
  border: 1px solid var(--ps-border) !important;
  border-radius: var(--ps-radius-sm) !important;
  color: var(--ps-text) !important;
  font-size: 12.5px !important;
  padding: 0 12px !important;
}
#prompt-modal .palette-extractor-row input[type=url]:focus {
  border-color: var(--ps-border-focus) !important;
  box-shadow: 0 0 0 3px var(--ps-indigo-glow) !important;
  outline: none !important;
}
#prompt-modal .palette-extractor-row button.action-btn {
  height: 36px !important;
  padding: 0 12px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  background: var(--ps-indigo-soft) !important;
  border: 1px solid rgba(108,99,255,0.3) !important;
  color: #a5a0ff !important;
  border-radius: var(--ps-radius-sm) !important;
  white-space: nowrap !important;
}
#prompt-modal .palette-extractor-row button.action-btn:hover {
  background: rgba(108,99,255,0.22) !important;
  color: #fff !important;
}
#prompt-modal .palette-extractor-status {
  font-size: 11.5px !important;
  color: var(--ps-text-3) !important;
  margin-top: 8px !important;
  line-height: 1.5 !important;
}
#prompt-modal .palette-swatches {
  max-height: 130px !important;
  overflow-y: auto !important;
  gap: 6px !important;
  margin-top: 10px !important;
}
#prompt-modal .palette-chip {
  background: var(--ps-bg) !important;
  border: 1px solid var(--ps-border) !important;
  border-radius: var(--ps-radius-xs) !important;
  font-size: 11px !important;
  padding: 4px 8px !important;
  color: var(--ps-text-2) !important;
}
#prompt-modal .palette-chip:hover {
  border-color: rgba(108,99,255,0.4) !important;
  background: var(--ps-indigo-soft) !important;
  color: var(--ps-text) !important;
}
#prompt-modal .palette-chip .swatch {
  width: 14px !important;
  height: 14px !important;
  border-radius: 4px !important;
}
#prompt-modal .palette-snippet {
  background: var(--ps-bg) !important;
  border: 1px solid var(--ps-border) !important;
  border-radius: var(--ps-radius-sm) !important;
  font-size: 11px !important;
  max-height: 120px !important;
  padding: 10px 12px !important;
  color: rgba(165,160,255,0.85) !important;
  margin-top: 10px !important;
}
#prompt-modal .palette-actions {
  margin-top: 10px !important;
  padding-top: 10px !important;
  border-top: 1px solid var(--ps-border) !important;
  gap: 6px !important;
}
#prompt-modal .palette-actions button.action-btn {
  height: 30px !important;
  padding: 0 10px !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  background: var(--ps-surface-2) !important;
  border: 1px solid var(--ps-border) !important;
  color: var(--ps-text-2) !important;
  border-radius: var(--ps-radius-xs) !important;
}
#prompt-modal .palette-actions button.action-btn:hover {
  color: var(--ps-text) !important;
  border-color: rgba(255,255,255,0.15) !important;
  background: rgba(255,255,255,0.06) !important;
}

/* ── Model selector ── */
#prompt-modal .model-select-wrap {
  flex-shrink: 0 !important;
  padding: 10px 20px !important;
  border-top: 1px solid var(--ps-border) !important;
  background: var(--ps-surface) !important;
  gap: 10px !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
}
#prompt-modal .model-select-label {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: var(--ps-text-3) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
#prompt-modal .model-select {
  height: 34px !important;
  background: var(--ps-bg) !important;
  border: 1px solid var(--ps-border) !important;
  color: var(--ps-text) !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  border-radius: var(--ps-radius-sm) !important;
  padding: 0 10px !important;
  flex: 1 !important;
  min-width: 0 !important;
  cursor: pointer !important;
}
#prompt-modal .model-select:focus {
  border-color: var(--ps-border-focus) !important;
  box-shadow: 0 0 0 3px var(--ps-indigo-glow) !important;
  outline: none !important;
}

/* ── Buttons — unified language ── */
#prompt-modal .action-btn {
  height: 34px !important;
  padding: 0 14px !important;
  border-radius: var(--ps-radius-xs) !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  letter-spacing: -0.005em !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  transition: all 0.15s ease !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}
/* Primary — Improve */
#prompt-modal #prompt-improve-btn {
  background: var(--ps-indigo) !important;
  color: #fff !important;
  border: 1px solid var(--ps-indigo) !important;
  box-shadow: 0 2px 8px rgba(108,99,255,0.35) !important;
}
#prompt-modal #prompt-improve-btn:hover:not(:disabled) {
  background: var(--ps-indigo-hover) !important;
  border-color: var(--ps-indigo-hover) !important;
  box-shadow: 0 4px 16px rgba(108,99,255,0.45) !important;
  transform: translateY(-1px) !important;
}
#prompt-modal #prompt-improve-btn:active { transform: none !important; }
#prompt-modal #prompt-improve-btn:disabled { opacity: 0.45 !important; }
/* Secondary — Brainstorm */
#prompt-modal #prompt-brainstorm-btn {
  background: transparent !important;
  color: var(--ps-text-2) !important;
  border: 1px solid var(--ps-border) !important;
  box-shadow: none !important;
}
#prompt-modal #prompt-brainstorm-btn:hover:not(:disabled) {
  background: var(--ps-indigo-soft) !important;
  border-color: rgba(108,99,255,0.4) !important;
  color: #a5a0ff !important;
}
/* Stop running state */
#prompt-modal .action-btn.is-running {
  background: rgba(248,113,113,0.14) !important;
  border-color: rgba(248,113,113,0.4) !important;
  color: var(--ps-red) !important;
  box-shadow: none !important;
  animation: ps-stop-pulse 2s ease-in-out infinite !important;
}
@keyframes ps-stop-pulse {
  0%,100% { box-shadow: 0 0 0 0 rgba(248,113,113,0); }
  50%      { box-shadow: 0 0 0 4px rgba(248,113,113,0.15); }
}
/* Stop-all */
#prompt-modal #prompt-stop-all-btn {
  background: rgba(248,113,113,0.08) !important;
  border-color: rgba(248,113,113,0.28) !important;
  color: rgba(248,113,113,0.8) !important;
}
/* Green — GitHub sync */
#prompt-modal #prompt-sync-gh-btn {
  background: var(--ps-green-soft) !important;
  border: 1px solid rgba(34,197,94,0.28) !important;
  color: #4ade80 !important;
}
#prompt-modal #prompt-sync-gh-btn:hover {
  background: rgba(34,197,94,0.2) !important;
  color: #86efac !important;
}
/* Ghost / tertiary */
#prompt-modal .prompt-actions .action-btn:not(#prompt-improve-btn):not(#prompt-brainstorm-btn):not(#prompt-sync-gh-btn):not(#prompt-stop-all-btn):not(.is-running) {
  background: transparent !important;
  border: 1px solid var(--ps-border) !important;
  color: var(--ps-text-2) !important;
}
#prompt-modal .prompt-actions .action-btn:not(#prompt-improve-btn):not(#prompt-brainstorm-btn):not(#prompt-sync-gh-btn):not(#prompt-stop-all-btn):not(.is-running):hover {
  background: rgba(255,255,255,0.05) !important;
  color: var(--ps-text) !important;
  border-color: rgba(255,255,255,0.14) !important;
}

/* ── Status text ── */
#prompt-modal .prompt-status {
  font-size: 12px !important;
  color: var(--ps-text-3) !important;
  flex: 1 !important;
  line-height: 1.5 !important;
}

/* ── Brainstorm progress ── */
#prompt-modal .brainstorm-progress {
  flex-shrink: 0 !important;
  border-radius: 0 !important;
  border: none !important;
  border-top: 1px solid var(--ps-border) !important;
  padding: 12px 20px !important;
  background: var(--ps-indigo-soft) !important;
}
#prompt-modal .brainstorm-progress.active { display: block !important; }
#prompt-modal .brainstorm-progress-title {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #a5a0ff !important;
  margin-bottom: 8px !important;
}
#prompt-modal .brainstorm-model-chip {
  font-size: 11px !important;
  padding: 3px 9px !important;
  border-radius: 999px !important;
  font-weight: 500 !important;
}
#prompt-modal .brainstorm-meta {
  font-size: 11px !important;
  color: var(--ps-text-3) !important;
  margin-top: 6px !important;
}

/* ── Sync panel ── */
#prompt-modal .prompt-sync-panel {
  flex-shrink: 0 !important;
  border-radius: 0 !important;
  border: none !important;
  border-top: 1px solid var(--ps-border) !important;
  padding: 14px 20px !important;
  background: var(--ps-surface) !important;
}
#prompt-modal .prompt-sync-title {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--ps-text-3) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.07em !important;
  margin-bottom: 10px !important;
}
#prompt-modal .prompt-sync-row {
  gap: 10px !important;
  align-items: flex-start !important;
  margin-bottom: 8px !important;
}
#prompt-modal .sync-label {
  font-size: 10.5px !important;
  font-weight: 700 !important;
  color: var(--ps-text-3) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  padding-top: 6px !important;
  min-width: 70px !important;
}
#prompt-modal .prompt-sync-path {
  font-size: 11.5px !important;
  background: var(--ps-bg) !important;
  border: 1px solid var(--ps-border) !important;
  border-radius: var(--ps-radius-xs) !important;
  color: rgba(165,160,255,0.85) !important;
  padding: 6px 10px !important;
}
#prompt-modal .prompt-sync-note {
  font-size: 11px !important;
  color: var(--ps-text-3) !important;
  line-height: 1.6 !important;
  margin-top: 8px !important;
}
#prompt-modal #prompt-sync-status {
  font-size: 12px !important;
  color: var(--ps-text-2) !important;
}

/* ── Preview panel (col 3) ── */
#prompt-modal .prompt-preview-wrap {
  border: none !important;
  border-radius: 0 !important;
  background: #f5f6fa !important;
  flex: 1 !important;
}

/* ── Esc hint + Stop All badge ── */
#prompt-modal .esc-hint {
  font-size: 11px !important;
  color: var(--ps-text-3) !important;
  background: rgba(248,113,113,0.08) !important;
  border: 1px solid rgba(248,113,113,0.2) !important;
  border-radius: var(--ps-radius-xs) !important;
  padding: 3px 8px !important;
}

/* ── Scrollbar inside panels ── */
#prompt-modal .prompt-panel::-webkit-scrollbar { width: 5px; }
#prompt-modal .prompt-panel::-webkit-scrollbar-track { background: transparent; }
#prompt-modal .prompt-panel::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,0.1);
  border-radius: 999px;
}
#prompt-modal .prompt-panel::-webkit-scrollbar-thumb:hover {
  background: rgba(255,255,255,0.2);
}

/* ── Responsive ── */
@media (max-width:1400px) {
  #prompt-modal .prompt-container {
    grid-template-columns: 300px 300px 1fr !important;
  }
}
@media (max-width:1100px) {
  #prompt-modal .prompt-container {
    grid-template-columns: 1fr 1fr !important;
  }
  #prompt-modal .prompt-panel:nth-child(3) {
    display: none !important;
  }
}
@media (max-width:720px) {
  #prompt-modal .modal { border-radius: 0 !important; }
  #prompt-modal .prompt-container {
    grid-template-columns: 1fr !important;
    overflow-y: auto !important;
  }
  #prompt-modal .prompt-panel {
    overflow: visible !important;
    border-right: none !important;
    border-bottom: 1px solid var(--ps-border) !important;
  }
}

/* =========================================================
   PROMPT STUDIO — UX REDESIGN v2 (2026-04)
   Progressive disclosure · dominant primary action · balanced columns
   ========================================================= */

/* ── Column proportions: give draft panel dominance ── */
#prompt-modal .prompt-container {
  grid-template-columns: minmax(380px, 1fr) minmax(360px, 0.9fr) minmax(400px, 1.1fr) !important;
  gap: 0 !important;
}

/* ── Panel = clean column, no hard borders ── */
#prompt-modal .prompt-panel {
  background: var(--ps-bg, #0d0d14) !important;
  border-right: 1px solid rgba(255,255,255,0.06) !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
}
#prompt-modal .prompt-panel:last-child {
  border-right: none !important;
}

/* ── Step headers: simpler, friendlier ── */
#prompt-modal .prompt-label {
  padding: 18px 24px 4px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: rgba(255,255,255,0.4) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  background: transparent !important;
  border-bottom: none !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}

/* ── Helper text under each label ── */
#prompt-modal .prompt-panel > .prompt-status:first-of-type {
  padding: 0 24px 14px !important;
  font-size: 12.5px !important;
  color: rgba(255,255,255,0.55) !important;
  line-height: 1.55 !important;
  border-bottom: 1px solid rgba(255,255,255,0.04) !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}

/* ── Draft textarea: hero input, no noise ── */
#prompt-modal #prompt-draft {
  flex: 1 !important;
  padding: 18px 24px !important;
  font: 14px/1.7 'Inter', -apple-system, sans-serif !important;
  background: transparent !important;
  border: none !important;
  color: rgba(255,255,255,0.95) !important;
  min-height: 180px !important;
  resize: none !important;
  outline: none !important;
}
#prompt-modal #prompt-draft::placeholder {
  color: rgba(255,255,255,0.3) !important;
}
#prompt-modal #prompt-draft:focus {
  background: rgba(108,99,255,0.025) !important;
}

/* ── Output textarea: cleaner empty state ── */
#prompt-modal #prompt-output {
  flex: 1 !important;
  padding: 18px 24px !important;
  font: 13px/1.7 'Inter', -apple-system, sans-serif !important;
  background: transparent !important;
  border: none !important;
  color: rgba(255,255,255,0.9) !important;
  min-height: 180px !important;
  resize: none !important;
  outline: none !important;
}
#prompt-modal #prompt-output::placeholder {
  color: rgba(255,255,255,0.25) !important;
  font-style: normal !important;
}

/* ── CONVERT CHECKLIST + PALETTE INTO COLLAPSIBLE "ADVANCED" ROW ── */
#prompt-modal .checklist-wrap,
#prompt-modal .palette-extractor {
  margin: 0 !important;
  border: none !important;
  border-top: 1px solid rgba(255,255,255,0.06) !important;
  background: rgba(255,255,255,0.015) !important;
  border-radius: 0 !important;
  max-height: 48px !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
  transition: max-height 0.32s cubic-bezier(0.4,0,0.2,1) !important;
}
#prompt-modal .checklist-wrap.expanded {
  max-height: 320px !important;
}
#prompt-modal .palette-extractor.ps-expanded {
  max-height: 520px !important;
}

/* Header row for palette (mimic checklist header behavior) */
#prompt-modal .palette-extractor {
  padding: 0 !important;
  cursor: pointer !important;
}
#prompt-modal .palette-extractor > * {
  cursor: auto !important;
}
#prompt-modal .palette-extractor::before {
  content: "Brand palette from URL";
  display: flex;
  align-items: center;
  padding: 0 24px;
  height: 48px;
  font-size: 12.5px;
  font-weight: 600;
  color: rgba(255,255,255,0.7);
  cursor: pointer;
  transition: background 0.15s;
  border-bottom: 1px solid transparent;
}
#prompt-modal .palette-extractor:hover::before {
  background: rgba(255,255,255,0.03);
}
#prompt-modal .palette-extractor.ps-expanded::before {
  border-bottom-color: rgba(255,255,255,0.06);
  background: rgba(255,255,255,0.02);
}
#prompt-modal .palette-extractor > .palette-extractor-row,
#prompt-modal .palette-extractor > .palette-extractor-status,
#prompt-modal .palette-extractor > .palette-swatches,
#prompt-modal .palette-extractor > .palette-snippet,
#prompt-modal .palette-extractor > .palette-actions {
  padding-left: 24px !important;
  padding-right: 24px !important;
  padding-top: 14px !important;
  padding-bottom: 0 !important;
}
#prompt-modal .palette-extractor > .palette-actions {
  padding-bottom: 14px !important;
}
/* Chevron indicator for palette */
#prompt-modal .palette-extractor::after {
  content: "";
  position: absolute;
  right: 24px;
  top: 19px;
  width: 10px;
  height: 10px;
  border-right: 2px solid rgba(255,255,255,0.4);
  border-bottom: 2px solid rgba(255,255,255,0.4);
  transform: rotate(45deg);
  transition: transform 0.25s ease;
}
#prompt-modal .palette-extractor.ps-expanded::after {
  transform: rotate(225deg);
  top: 22px;
}
/* Hide the original label (palette-extractor-row > label) since we use ::before */
#prompt-modal .palette-extractor > .palette-extractor-row > label {
  display: none !important;
}

/* ── Checklist header: match the palette accordion pattern ── */
#prompt-modal .checklist-header {
  padding: 0 24px !important;
  height: 48px !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  transition: background 0.15s !important;
}
#prompt-modal .checklist-header:hover {
  background: rgba(255,255,255,0.03) !important;
}
#prompt-modal .checklist-wrap.expanded .checklist-header {
  background: rgba(255,255,255,0.02) !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
}
#prompt-modal .checklist-title {
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,0.7) !important;
}
#prompt-modal .checklist-count-badge {
  font-size: 11px !important;
  font-weight: 600 !important;
  margin-left: 10px !important;
  padding: 2px 9px !important;
  border-radius: 999px !important;
  background: rgba(108,99,255,0.15) !important;
  color: #9d98ff !important;
  border: none !important;
}
#prompt-modal .checklist-count-badge.zero {
  background: rgba(255,255,255,0.05) !important;
  color: rgba(255,255,255,0.35) !important;
}
#prompt-modal .checklist-header-btn {
  font-size: 11px !important;
  font-weight: 500 !important;
  color: rgba(255,255,255,0.4) !important;
  background: transparent !important;
  border: none !important;
  padding: 4px 8px !important;
  border-radius: 6px !important;
  cursor: pointer !important;
  transition: color 0.15s, background 0.15s !important;
}
#prompt-modal .checklist-header-btn:hover {
  color: rgba(255,255,255,0.8) !important;
  background: rgba(255,255,255,0.04) !important;
}
#prompt-modal .checklist-body {
  padding: 16px 20px !important;
  max-height: 260px !important;
  overflow-y: auto !important;
}

/* ── MODEL SELECTOR: inline, not a whole section ── */
#prompt-modal .model-select-wrap {
  padding: 0 24px !important;
  height: 48px !important;
  border-top: 1px solid rgba(255,255,255,0.06) !important;
  background: rgba(255,255,255,0.015) !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}
#prompt-modal .model-select-label {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,0.5) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  flex-shrink: 0 !important;
}
#prompt-modal .model-select {
  flex: 1 !important;
  height: 32px !important;
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 6px !important;
  color: rgba(255,255,255,0.9) !important;
  font-size: 12.5px !important;
  padding: 0 10px !important;
}
#prompt-modal .model-select:focus {
  border-color: rgba(108,99,255,0.6) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(108,99,255,0.18) !important;
}

/* ── PRIMARY ACTION BAR: hero placement, large Improve button ── */
#prompt-modal .prompt-panel > .prompt-actions {
  padding: 16px 20px 20px !important;
  background: var(--ps-bg, #0d0d14) !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  flex-shrink: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  gap: 10px !important;
  align-items: center !important;
}
#prompt-modal .prompt-panel > .prompt-actions::after {
  content: none !important;
}

/* Improve = dominant, fills primary space */
#prompt-modal #prompt-improve-btn {
  grid-column: 1 / 2 !important;
  height: 48px !important;
  padding: 0 24px !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  letter-spacing: -0.005em !important;
  background: #6c63ff !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  box-shadow: 0 4px 16px rgba(108,99,255,0.35), inset 0 1px 0 rgba(255,255,255,0.15) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  transition: all 0.18s ease !important;
  cursor: pointer !important;
}
#prompt-modal #prompt-improve-btn::before {
  content: "";
  width: 18px; height: 18px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12l5 5L20 7'/></svg>");
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  opacity: 0.95;
}
#prompt-modal #prompt-improve-btn:hover:not(:disabled) {
  background: #7b73ff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 24px rgba(108,99,255,0.45), inset 0 1px 0 rgba(255,255,255,0.2) !important;
}
#prompt-modal #prompt-improve-btn:active {
  transform: translateY(0) !important;
}
#prompt-modal #prompt-improve-btn:disabled {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
}

/* Brainstorm: secondary, compact */
#prompt-modal #prompt-brainstorm-btn {
  grid-column: 2 / 3 !important;
  height: 48px !important;
  padding: 0 16px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  background: transparent !important;
  color: rgba(255,255,255,0.7) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  transition: all 0.18s ease !important;
}
#prompt-modal #prompt-brainstorm-btn:hover:not(:disabled) {
  color: #a5a0ff !important;
  border-color: rgba(108,99,255,0.4) !important;
  background: rgba(108,99,255,0.08) !important;
}

/* Hide the status + stop-all + esc-hint under the primary actions in their own row */
#prompt-modal .prompt-actions #prompt-status {
  grid-column: 1 / -1 !important;
  order: 3 !important;
  font-size: 11.5px !important;
  color: rgba(255,255,255,0.45) !important;
  margin-top: 2px !important;
  line-height: 1.5 !important;
}
#prompt-modal .prompt-actions #prompt-stop-all-btn {
  grid-column: 1 / -1 !important;
  order: 4 !important;
  justify-self: start !important;
  height: 30px !important;
  padding: 0 10px !important;
  font-size: 11.5px !important;
  margin-top: 2px !important;
}
#prompt-modal .prompt-actions .esc-hint {
  grid-column: 2 / 3 !important;
  order: 4 !important;
  justify-self: end !important;
  margin-top: 2px !important;
}

/* Running (stop) state on improve — preserve checkmark swap */
#prompt-modal #prompt-improve-btn.is-running {
  background: rgba(248,113,113,0.15) !important;
  color: #ff8a8a !important;
  box-shadow: 0 0 0 1px rgba(248,113,113,0.35), 0 4px 16px rgba(248,113,113,0.2) !important;
}
#prompt-modal #prompt-improve-btn.is-running::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ff8a8a'><rect x='5' y='5' width='14' height='14' rx='2'/></svg>") !important;
}
#prompt-modal #prompt-improve-btn.is-running:hover {
  background: rgba(248,113,113,0.22) !important;
}

/* ── OUTPUT PANEL ACTIONS: cleaner layout ── */
#prompt-modal .prompt-panel + .prompt-panel > .prompt-actions {
  padding: 14px 20px !important;
  background: var(--ps-bg, #0d0d14) !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
  flex-shrink: 0 !important;
}
#prompt-modal #prompt-sync-gh-btn {
  order: 1 !important;
  height: 38px !important;
  padding: 0 14px !important;
  background: rgba(34,197,94,0.12) !important;
  border: 1px solid rgba(34,197,94,0.35) !important;
  color: #4ade80 !important;
  font-weight: 500 !important;
  border-radius: 8px !important;
  font-size: 12.5px !important;
}
#prompt-modal #prompt-sync-gh-btn:hover {
  background: rgba(34,197,94,0.22) !important;
  color: #86efac !important;
}

/* ── SYNC PANEL: compact, not a wall of text ── */
#prompt-modal .prompt-sync-panel {
  border: none !important;
  border-top: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 0 !important;
  padding: 14px 20px 16px !important;
  background: rgba(255,255,255,0.015) !important;
  flex-shrink: 0 !important;
}
#prompt-modal .prompt-sync-title {
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: rgba(255,255,255,0.4) !important;
  margin-bottom: 10px !important;
}
#prompt-modal .prompt-sync-row {
  gap: 8px !important;
  margin-bottom: 6px !important;
  flex-wrap: wrap !important;
}
#prompt-modal .sync-label {
  font-size: 10.5px !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,0.4) !important;
  min-width: 56px !important;
  padding-top: 7px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
#prompt-modal .prompt-sync-path {
  font-size: 11.5px !important;
  padding: 5px 10px !important;
  background: rgba(0,0,0,0.3) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 6px !important;
  color: rgba(165,160,255,0.8) !important;
  flex: 1 !important;
}
#prompt-modal .prompt-sync-note {
  font-size: 11px !important;
  color: rgba(255,255,255,0.4) !important;
  line-height: 1.55 !important;
  margin-top: 10px !important;
}

/* ── BRAINSTORM PROGRESS: cleaner card ── */
#prompt-modal .brainstorm-progress {
  margin: 0 !important;
  border-top: 1px solid rgba(255,255,255,0.06) !important;
  border: none !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 0 !important;
  padding: 14px 20px !important;
  background: rgba(108,99,255,0.06) !important;
  flex-shrink: 0 !important;
}
#prompt-modal .brainstorm-progress-title {
  font-size: 12px !important;
  color: #c3bdff !important;
  font-weight: 600 !important;
}
#prompt-modal .brainstorm-dot {
  background: #9d98ff !important;
}

/* ── PREVIEW PANEL: clean frame ── */
#prompt-modal .prompt-preview-wrap {
  border: none !important;
  border-radius: 0 !important;
  background: #e8eaf0 !important;
  flex: 1 !important;
}

/* ── PALETTE DETAIL REFINEMENTS ── */
#prompt-modal .palette-extractor-row {
  display: flex !important;
  gap: 8px !important;
  align-items: stretch !important;
}
#prompt-modal #palette-url {
  flex: 1 !important;
  height: 34px !important;
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 6px !important;
  color: rgba(255,255,255,0.9) !important;
  font-size: 12.5px !important;
  padding: 0 10px !important;
}
#prompt-modal #palette-url:focus {
  border-color: rgba(108,99,255,0.55) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(108,99,255,0.15) !important;
}
#prompt-modal .palette-extractor-row button {
  height: 34px !important;
  padding: 0 14px !important;
  font-size: 12.5px !important;
  background: rgba(108,99,255,0.15) !important;
  color: #a5a0ff !important;
  border: 1px solid rgba(108,99,255,0.35) !important;
  border-radius: 6px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  transition: all 0.15s !important;
  white-space: nowrap !important;
}
#prompt-modal .palette-extractor-row button:hover {
  background: rgba(108,99,255,0.25) !important;
  color: #fff !important;
}

/* ── HEADER REFINEMENTS ── */
#prompt-modal .modal-header {
  background: var(--ps-bg, #0d0d14) !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  padding: 0 24px !important;
  height: 56px !important;
}
#prompt-modal .modal-title {
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,0.92) !important;
  gap: 10px !important;
  letter-spacing: -0.005em !important;
}
#prompt-modal .modal-title svg {
  color: #6c63ff !important;
  width: 15px !important;
  height: 15px !important;
}
#prompt-modal #prompt-filename {
  color: rgba(255,255,255,0.92) !important;
  font-weight: 600 !important;
}
#prompt-modal .focus-subtitle {
  color: rgba(255,255,255,0.35) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  margin-left: 4px !important;
}
#prompt-modal .modal-close {
  width: 32px !important;
  height: 32px !important;
  border-radius: 6px !important;
  background: transparent !important;
  border: none !important;
  color: rgba(255,255,255,0.5) !important;
  font-size: 20px !important;
  margin-left: 6px !important;
  transition: all 0.15s !important;
}
#prompt-modal .modal-close:hover {
  background: rgba(248,113,113,0.15) !important;
  color: #f87171 !important;
  transform: none !important;
}

/* ── Responsive adjustments ── */
@media (max-width: 1200px) {
  #prompt-modal .prompt-container {
    grid-template-columns: minmax(340px, 1fr) minmax(320px, 0.9fr) minmax(360px, 0.9fr) !important;
  }
}
@media (max-width: 1000px) {
  #prompt-modal .prompt-container {
    grid-template-columns: 1fr 1fr !important;
  }
  #prompt-modal .prompt-panel:nth-child(3) {
    display: none !important;
  }
}
@media (max-width: 720px) {
  #prompt-modal .prompt-container {
    grid-template-columns: 1fr !important;
    grid-auto-rows: min-content !important;
    overflow-y: auto !important;
  }
  #prompt-modal .prompt-panel {
    border-right: none !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  }
  #prompt-modal #prompt-improve-btn {
    height: 52px !important;
    font-size: 15px !important;
  }
}

/* ── Scrollbar styling ── */
#prompt-modal .prompt-panel textarea::-webkit-scrollbar,
#prompt-modal .checklist-body::-webkit-scrollbar,
#prompt-modal .palette-swatches::-webkit-scrollbar,
#prompt-modal .palette-snippet::-webkit-scrollbar {
  width: 6px;
}
#prompt-modal .prompt-panel textarea::-webkit-scrollbar-thumb,
#prompt-modal .checklist-body::-webkit-scrollbar-thumb,
#prompt-modal .palette-swatches::-webkit-scrollbar-thumb,
#prompt-modal .palette-snippet::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,0.12);
  border-radius: 999px;
}




/* =========================================================
   v2.2 CORRECTED — right IDs, clean grid, real polish
   ========================================================= */

/* 1) Modal = full-viewport work surface */
#prompt-modal .modal.prompt-modal {
  max-width: min(1600px, 96vw) !important;
  width: 96vw !important;
  height: 92vh !important;
  max-height: 92vh !important;
  display: flex !important;
  flex-direction: column !important;
  margin: 0 auto !important;
}
#prompt-modal .prompt-container {
  flex: 1 !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

/* 2) Fix checklist header: stack actions cleanly in narrow column */
#prompt-modal .checklist-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  min-width: 0 !important;
  padding: 0 20px !important;
  height: 48px !important;
}
#prompt-modal .checklist-header-left {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  overflow: hidden !important;
}
#prompt-modal .checklist-title {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  min-width: 0 !important;
}
#prompt-modal .checklist-count-badge {
  flex-shrink: 0 !important;
}
#prompt-modal .checklist-header-actions {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  flex-shrink: 0 !important;
}
/* Hide Select all/Clear buttons when collapsed to avoid crowding */
#prompt-modal .checklist-wrap:not(.expanded) .checklist-header-btn {
  display: none !important;
}
#prompt-modal .checklist-chevron {
  width: 14px !important;
  height: 14px !important;
  color: rgba(255,255,255,0.45) !important;
  transition: transform 0.2s !important;
  flex-shrink: 0 !important;
  margin-left: 4px !important;
}
#prompt-modal .checklist-wrap.expanded .checklist-chevron {
  transform: rotate(180deg) !important;
}

/* 3) Keep the pipeline launcher visible in the primary action row */
#prompt-modal #prompt-tweak-btn.ps-pipeline-launcher {
  display: inline-flex !important;
}
/* Compare ideas (brainstorm) = #prompt-brainstorm-btn → keep but reshape */

/* 4) Clean primary action grid */
#prompt-modal .prompt-panel > .prompt-actions:first-of-type,
#prompt-modal .prompt-panel:first-child .prompt-actions {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto auto !important;
  grid-auto-rows: auto !important;
  gap: 10px !important;
  padding: 14px 20px 16px !important;
  align-items: center !important;
}
#prompt-modal #prompt-improve-btn {
  grid-column: 1 / 2 !important;
  grid-row: 1 !important;
  height: 48px !important;
  padding: 0 20px !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  background: #6c63ff !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  box-shadow: 0 1px 2px rgba(0,0,0,0.15), inset 0 1px 0 rgba(255,255,255,0.12) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  transition: all 0.18s ease !important;
}
#prompt-modal #prompt-improve-btn:hover:not(:disabled) {
  background: #7b73ff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 14px rgba(108,99,255,0.35), inset 0 1px 0 rgba(255,255,255,0.18) !important;
}
#prompt-modal #prompt-tweak-btn.ps-pipeline-launcher {
  grid-column: 2 / 3 !important;
  grid-row: 1 !important;
  height: 48px !important;
  padding: 0 16px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  background: rgba(25,169,116,0.14) !important;
  color: #baf7dc !important;
  border: 1px solid rgba(25,169,116,0.38) !important;
  border-radius: 10px !important;
  white-space: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}
#prompt-modal #prompt-tweak-btn.ps-pipeline-launcher:hover:not(:disabled) {
  color: #e4fff3 !important;
  border-color: rgba(39,201,136,0.7) !important;
  background: rgba(25,169,116,0.22) !important;
}
#prompt-modal #prompt-brainstorm-btn {
  grid-column: 3 / 4 !important;
  grid-row: 1 !important;
  height: 48px !important;
  padding: 0 16px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  background: transparent !important;
  color: rgba(255,255,255,0.72) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 10px !important;
  white-space: nowrap !important;
}
#prompt-modal #prompt-brainstorm-btn:hover:not(:disabled) {
  color: #c3bdff !important;
  border-color: rgba(108,99,255,0.4) !important;
  background: rgba(108,99,255,0.08) !important;
}
/* Status + Stop All: second row, small */
#prompt-modal .prompt-panel:first-child #prompt-status {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  font-size: 11.5px !important;
  color: rgba(255,255,255,0.45) !important;
  margin: 0 !important;
  line-height: 1.5 !important;
  min-height: 0 !important;
}
#prompt-modal .prompt-panel:first-child #prompt-status:empty {
  display: none !important;
}
#prompt-modal .prompt-panel:first-child #prompt-stop-all-btn {
  grid-column: 1 / 2 !important;
  grid-row: 3 !important;
  justify-self: start !important;
  height: 28px !important;
  padding: 0 10px !important;
  font-size: 11px !important;
  opacity: 0.7 !important;
  background: transparent !important;
  border: 1px solid rgba(248,113,113,0.22) !important;
  color: rgba(248,113,113,0.85) !important;
  border-radius: 6px !important;
}
#prompt-modal .prompt-panel:first-child #prompt-stop-all-btn:hover {
  opacity: 1 !important;
  background: rgba(248,113,113,0.1) !important;
}
#prompt-modal .prompt-panel:first-child .esc-hint {
  grid-column: 2 / 3 !important;
  grid-row: 3 !important;
  justify-self: end !important;
  font-size: 11px !important;
  color: rgba(255,255,255,0.32) !important;
}

/* 5) Middle column action grid: unified, compact */
#prompt-modal .prompt-panel:nth-child(2) .prompt-actions {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
  padding: 12px 20px !important;
  align-items: center !important;
}
#prompt-modal .prompt-panel:nth-child(2) .prompt-actions button {
  height: 36px !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  border-radius: 8px !important;
  padding: 0 12px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
#prompt-modal #prompt-sync-gh-btn {
  grid-column: 1 / -1 !important;
  background: rgba(34,197,94,0.12) !important;
  border: 1px solid rgba(34,197,94,0.35) !important;
  color: #4ade80 !important;
}
#prompt-modal #prompt-sync-gh-btn:hover {
  background: rgba(34,197,94,0.22) !important;
  color: #86efac !important;
}
#prompt-modal #prompt-sync-status {
  grid-column: 1 / -1 !important;
  font-size: 11.5px !important;
  color: rgba(255,255,255,0.45) !important;
}
#prompt-modal #prompt-sync-status:empty {
  display: none !important;
}

/* 6) Hide the "Review the pre-filled context..." helper since placeholder already conveys it */
/* NOTE: #prompt-status only holds dynamic status text, so empty it when only placeholder content */

/* 7) Softer Improve shadow (less 2021-era glow) */
#prompt-modal #prompt-improve-btn {
  box-shadow: 0 1px 2px rgba(0,0,0,0.15), inset 0 1px 0 rgba(255,255,255,0.12) !important;
}

/* 8) Brainstorm progress hidden when inactive */
#prompt-modal .brainstorm-progress:not(.active) {
  display: none !important;
}


/* =========================================================
   v2.3 FINAL POLISH — button widths, spacing, centering
   ========================================================= */

/* Middle column: unify all buttons to full-width stack = cleaner vertical flow */
#prompt-modal .prompt-panel:nth-child(2) .prompt-actions {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  padding: 12px 20px !important;
}
#prompt-modal .prompt-panel:nth-child(2) .prompt-actions > button {
  width: 100% !important;
  height: 38px !important;
  justify-content: center !important;
}

/* Tweak panel actions: same treatment */
#prompt-modal .prompt-tweak-panel .prompt-actions {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
  padding: 12px 20px !important;
}
#prompt-modal .prompt-tweak-panel .prompt-actions > button {
  height: 38px !important;
  font-size: 12.5px !important;
}
#prompt-modal #prompt-copy-html-obs-btn {
  grid-column: 1 / -1 !important;
}

/* Extra breathing room between accordion header and palette section below */
#prompt-modal .checklist-wrap + .palette-extractor {
  margin-top: 0 !important;
}
#prompt-modal .palette-extractor::before {
  padding-top: 2px !important;
}

/* Preview panel: center the frame vertically with small equal margins */
#prompt-modal .prompt-preview-wrap {
  margin: 0 !important;
  border-radius: 0 !important;
}
#prompt-modal .prompt-panel:last-child {
  padding: 0 !important;
}
#prompt-modal .prompt-panel:last-child > .prompt-label {
  padding: 18px 24px 12px !important;
}

/* Empty state: give output panel a friendly placeholder when empty */
#prompt-modal #prompt-output:placeholder-shown {
  background: rgba(255,255,255,0.01) !important;
}

/* Polish: badge alignment in checklist header */
#prompt-modal .checklist-count-badge {
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  height: 20px !important;
}

/* Consistency: modal-close subtle, not jarring red on hover */
#prompt-modal .modal-close:hover {
  background: rgba(255,255,255,0.08) !important;
  color: rgba(255,255,255,0.9) !important;
}

/* "Esc to cancel" hint: only show when something is running */
#prompt-modal .prompt-panel:first-child .esc-hint {
  display: none !important;
}
#prompt-modal.is-running .prompt-panel:first-child .esc-hint {
  display: inline-block !important;
}

/* Stop all: hidden until something is running (cleaner idle state) */
#prompt-modal .prompt-panel:first-child #prompt-stop-all-btn {
  display: none !important;
}
#prompt-modal.is-running .prompt-panel:first-child #prompt-stop-all-btn {
  display: inline-flex !important;
}



/* Rule: html and body must be overflow:visible so the VIEWPORT is the  */
/* scroll container. position:sticky is relative to scroll container.   */
/* If html or body intercepts scroll, sticky breaks. Keep them visible. */
html, body {
  overflow-x: hidden;
  overflow-y: visible;
}
header.header,
.header {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 9000 !important;
  width: 100%;
}
@media print {
  header.header, .header { position: static !important; }
}
/* ===================================================================== */



/* ── Auto-Import Modal ── */
.auto-import-chip{padding:5px 12px;border-radius:999px;border:1px solid rgba(255,255,255,0.1);background:rgba(255,255,255,0.03);color:var(--muted);font-size:11px;font-weight:700;cursor:pointer;transition:all 0.15s}
.auto-import-chip:hover{border-color:rgba(113,112,255,0.35);color:var(--text)}
.auto-import-chip.active{background:rgba(113,112,255,0.14);border-color:rgba(113,112,255,0.4);color:var(--gold-light)}
.auto-import-wf-card{padding:12px 14px;border:1px solid rgba(255,255,255,0.07);border-radius:12px;background:rgba(255,255,255,0.02);cursor:pointer;transition:all 0.15s;display:flex;align-items:center;justify-content:space-between;gap:12px}
.auto-import-wf-card:hover{border-color:rgba(113,112,255,0.4);background:rgba(113,112,255,0.07);transform:translateX(-2px)}
.auto-import-wf-name{font-size:13px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.auto-import-wf-meta{font-size:11px;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.auto-import-wf-badge{font-size:10px;font-weight:800;padding:3px 8px;border-radius:999px;white-space:nowrap;flex-shrink:0}
.auto-import-wf-badge.active{background:rgba(39,166,68,0.14);color:#4ade80;border:1px solid rgba(39,166,68,0.3)}
.auto-import-wf-badge.inactive{background:rgba(255,255,255,0.06);color:var(--muted);border:1px solid rgba(255,255,255,0.08)}
/* ── Improved analyze btn label ── */
.fixer-analyze-btn .analyze-icon{transition:transform 0.2s}
.fixer-analyze-btn:not(:disabled):hover .analyze-icon{transform:rotate(-15deg)}

/* ===== FIXED HEADER — position:fixed, works on ALL browsers/devices ===== */
header.header,
.header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 9999 !important;
  box-sizing: border-box;
}
/* Push page content below the fixed header — fallbacks tuned to actual rendered heights to avoid CLS */
body {
  padding-top: var(--header-h, 80px);
}
@media (max-width: 900px) {
  body { padding-top: var(--header-h, 56px); }
}
@media (max-width: 480px) {
  body { padding-top: var(--header-h, 50px); }
}
@media print {
  header.header, .header { position: static !important; }
  body { padding-top: 0 !important; }
}
/* ====================================================================== */

/* ====== N8N WORKFLOW FIXER — CSS (2026) ====== */
.fixer-tab-nav{display:flex;align-items:center;gap:4px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);border-radius:12px;padding:3px}
.fixer-tab-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:9px;border:none;background:transparent;color:var(--muted);font-size:12px;font-weight:700;cursor:pointer;transition:all 0.15s;white-space:nowrap;font-family:inherit}
.fixer-tab-btn:hover{color:var(--text);background:rgba(255,255,255,0.05)}
.fixer-tab-btn.active{background:rgba(113,112,255,0.18);color:#e0deff;box-shadow:0 2px 8px rgba(113,112,255,0.15)}
.fixer-tab-btn svg{width:14px;height:14px;flex-shrink:0}
@media(max-width:768px){.fixer-tab-btn span.tab-label{display:none}.fixer-tab-btn{padding:7px 10px}}

.fixer-page{max-width:1320px;margin:0 auto;padding:32px 28px 120px;display:none}
.fixer-page.active{display:block}

.fixer-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:28px;flex-wrap:wrap}
.fixer-page-title{font-size:24px;font-weight:700;letter-spacing:-0.04em;display:flex;align-items:center;gap:12px}
.fixer-page-title svg{width:26px;height:26px;color:var(--gold)}
.fixer-page-desc{font-size:13px;color:var(--muted);margin-top:6px;line-height:1.5}
.fixer-page-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;flex-shrink:0}

.fixer-section{background:linear-gradient(180deg,rgba(255,255,255,0.035),rgba(255,255,255,0.02));border:1px solid rgba(255,255,255,0.08);border-radius:18px;padding:22px;margin-bottom:18px;position:relative}
.fixer-section::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.18),transparent)}
.fixer-section-title{font-size:13px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:16px;display:flex;align-items:center;gap:8px}
.fixer-section-title svg{width:15px;height:15px;color:var(--gold-light)}

.stuck-panel{margin-bottom:18px}
.stuck-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0.015));border:1px solid rgba(255,255,255,0.08);border-radius:14px;cursor:pointer;user-select:none;transition:background 0.15s}
.stuck-panel-header:hover{background:rgba(255,255,255,0.05)}
.stuck-panel-header.open{border-radius:14px 14px 0 0;border-bottom-color:transparent}
.stuck-panel-title{font-size:13px;font-weight:700;display:flex;align-items:center;gap:8px;color:var(--text)}
.stuck-panel-title svg{width:15px;height:15px}
.stuck-badge{font-size:10px;font-weight:800;padding:3px 8px;border-radius:999px;background:rgba(239,95,107,0.14);color:var(--red);border:1px solid rgba(239,95,107,0.22)}
.stuck-chevron{width:16px;height:16px;color:var(--muted);transition:transform 0.2s;flex-shrink:0}
.stuck-panel-header.open .stuck-chevron{transform:rotate(180deg)}
.stuck-panel-body{border:1px solid rgba(255,255,255,0.08);border-top:0;border-radius:0 0 14px 14px;padding:14px;display:none;flex-direction:column;gap:8px;background:rgba(255,255,255,0.01)}
.stuck-panel-body.open{display:flex}
.stuck-workflow-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-radius:12px;background:rgba(255,255,255,0.025);border:1px solid rgba(255,255,255,0.06);transition:border-color 0.15s;flex-wrap:wrap}
.stuck-workflow-card:hover{border-color:rgba(113,112,255,0.2)}
.stuck-workflow-card.stuck{border-color:rgba(239,95,107,0.22);background:rgba(239,95,107,0.04)}
.stuck-workflow-card.error{border-color:rgba(239,95,107,0.18);background:rgba(239,95,107,0.03)}
.stuck-workflow-card.waiting{border-color:rgba(201,149,42,0.2);background:rgba(201,149,42,0.03)}
.stuck-wf-name{font-size:13px;font-weight:600;color:var(--text)}
.stuck-wf-meta{font-size:11px;color:var(--muted);margin-top:2px}
.stuck-status-badge{font-size:10px;font-weight:800;padding:4px 9px;border-radius:999px;text-transform:uppercase;letter-spacing:0.06em;border:1px solid;flex-shrink:0}
.stuck-status-badge.running{background:rgba(79,140,255,0.12);color:#9dc0ff;border-color:rgba(79,140,255,0.22)}
.stuck-status-badge.stuck{background:rgba(239,95,107,0.14);color:var(--red);border-color:rgba(239,95,107,0.25)}
.stuck-status-badge.error{background:rgba(239,95,107,0.14);color:var(--red);border-color:rgba(239,95,107,0.25)}
.stuck-status-badge.waiting{background:rgba(201,149,42,0.12);color:#d4a84a;border-color:rgba(201,149,42,0.25)}
.stuck-load-btn{font-size:11px;font-weight:700;padding:5px 11px;border-radius:8px;background:rgba(113,112,255,0.12);border:1px solid rgba(113,112,255,0.22);color:#d4d0ff;cursor:pointer;transition:all 0.15s;white-space:nowrap}
.stuck-load-btn:hover{background:rgba(113,112,255,0.22);border-color:rgba(113,112,255,0.4);color:#fff}
.stuck-empty{font-size:12px;color:var(--muted);text-align:center;padding:14px 0}

.fixer-meta-strip{display:flex;gap:10px;flex-wrap:wrap;padding:14px 18px;background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.06);border-radius:12px;margin-bottom:18px;align-items:center}
.fixer-meta-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.fixer-meta-item strong{color:var(--text-secondary);font-weight:700}
.fixer-meta-sep{width:1px;height:14px;background:rgba(255,255,255,0.08);flex-shrink:0}

.fixer-drop-zone{border:2px dashed rgba(113,112,255,0.3);border-radius:16px;padding:32px 24px;text-align:center;cursor:pointer;transition:all 0.2s;position:relative;background:rgba(113,112,255,0.04)}
.fixer-drop-zone:hover,.fixer-drop-zone.drag-over{border-color:rgba(113,112,255,0.6);background:rgba(113,112,255,0.1)}
.fixer-drop-zone.has-file{border-color:rgba(39,166,68,0.4);background:rgba(39,166,68,0.05)}
.fixer-drop-icon{font-size:28px;margin-bottom:10px;opacity:0.6}
.fixer-drop-title{font-size:14px;font-weight:700;color:var(--text);margin-bottom:4px}
.fixer-drop-sub{font-size:12px;color:var(--muted)}
.fixer-drop-zone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.fixer-file-info{display:flex;align-items:center;gap:12px;padding:12px 16px;background:rgba(39,166,68,0.08);border:1px solid rgba(39,166,68,0.2);border-radius:12px;margin-top:12px}
.fixer-file-icon{font-size:20px;flex-shrink:0}
.fixer-file-name{font-size:13px;font-weight:600;color:var(--text)}
.fixer-file-size{font-size:11px;color:var(--muted)}
.fixer-file-valid{font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;flex-shrink:0}
.fixer-file-valid.ok{background:rgba(39,166,68,0.14);color:#7ee19d;border:1px solid rgba(39,166,68,0.22)}
.fixer-file-valid.err{background:rgba(239,95,107,0.14);color:var(--red);border:1px solid rgba(239,95,107,0.22)}

.fixer-screenshots-zone{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:14px;border:1px dashed rgba(255,255,255,0.1);border-radius:12px;min-height:56px;position:relative;cursor:pointer;transition:border-color 0.15s}
.fixer-screenshots-zone:hover{border-color:rgba(255,255,255,0.22)}
.fixer-screenshots-zone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.fixer-screenshot-thumb{width:54px;height:54px;border-radius:8px;object-fit:cover;border:1px solid rgba(255,255,255,0.12)}
.fixer-screenshots-empty{font-size:12px;color:var(--muted);pointer-events:none}

.fixer-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:768px){.fixer-form-grid{grid-template-columns:1fr}}
.fixer-field{display:flex;flex-direction:column;gap:6px}
.fixer-label{font-size:11px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:0.07em}
.fixer-textarea{width:100%;border:1px solid rgba(255,255,255,0.1);border-radius:12px;background:rgba(255,255,255,0.03);color:var(--text);padding:12px 14px;font:13px/1.6 'Inter',system-ui,sans-serif;outline:none;resize:vertical;transition:border-color 0.15s,box-shadow 0.15s}
.fixer-textarea:focus{border-color:rgba(113,112,255,0.4);box-shadow:0 0 0 3px rgba(113,112,255,0.12)}
.fixer-textarea::placeholder{color:rgba(255,255,255,0.22)}
/* ── Model selector block ── */
/* 6. Model select block — slightly stronger label */

/* ── Model cards ── */
.fixer-model-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-top:10px}
.fixer-model-card{padding:14px;border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,0.04),rgba(255,255,255,0.015));border:2px solid rgba(255,255,255,0.06);cursor:pointer;transition:all 0.2s;position:relative;overflow:hidden}
.fixer-model-card:hover{border-color:rgba(113,112,255,0.25);background:linear-gradient(180deg,rgba(113,112,255,0.06),rgba(255,255,255,0.02))}
.fixer-model-card.selected{border-color:rgba(113,112,255,0.7);background:linear-gradient(180deg,rgba(113,112,255,0.1),rgba(113,112,255,0.03));box-shadow:0 0 0 3px rgba(113,112,255,0.1)}
.fixer-model-card .card-name{font-size:13px;font-weight:700;color:var(--text);margin-bottom:4px;display:flex;align-items:center;gap:6px}
.fixer-model-card .card-provider{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:0.03em}
.fixer-model-card .card-badge{position:absolute;top:8px;right:8px;font-size:10px;font-weight:700;padding:2px 8px;border-radius:999px;background:rgba(17,217,124,0.12);color:#11d97c;border:1px solid rgba(17,217,124,0.2)}
.fixer-model-card .card-star{font-size:12px;color:#ffd700}
.fixer-model-card .card-check{position:absolute;bottom:10px;right:10px;width:20px;height:20px;border-radius:50%;background:rgba(113,112,255,0.9);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;opacity:0;transform:scale(0.5);transition:all 0.2s}
.fixer-model-card.selected .card-check{opacity:1;transform:scale(1)}
@media (max-width:600px){.fixer-model-grid{grid-template-columns:1fr}}

.fixer-select{width:100%;border:1px solid rgba(255,255,255,0.1);border-radius:10px;background:rgba(255,255,255,0.03);color:var(--text);padding:9px 12px;font-size:13px;font-family:inherit;outline:none;cursor:pointer;transition:border-color 0.15s}
.fixer-select:focus{border-color:rgba(113,112,255,0.4)}
.fixer-select option{background:#0f1011;color:#f0f1f3}

.fixer-analyze-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:16px 24px;border-radius:14px;border:none;background:linear-gradient(135deg,var(--gold),var(--gold-dim));color:#fff;font-size:15px;font-weight:800;cursor:pointer;transition:all 0.2s;box-shadow:0 12px 30px rgba(94,106,210,0.25);letter-spacing:-0.01em;font-family:inherit}
.fixer-analyze-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 18px 40px rgba(94,106,210,0.32)}
.fixer-analyze-btn:disabled{opacity:0.55;cursor:not-allowed;transform:none}
.fixer-triple-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 24px;border-radius:14px;border:2px solid rgba(255,215,0,0.3);background:linear-gradient(135deg,rgba(255,215,0,0.08),rgba(255,165,0,0.05));color:var(--gold);font-size:15px;font-weight:700;cursor:pointer;transition:all 0.2s;box-shadow:0 4px 15px rgba(255,215,0,0.08);letter-spacing:-0.01em;font-family:inherit;flex-wrap:wrap}
.fixer-triple-btn:hover:not(:disabled){transform:translateY(-2px);border-color:rgba(255,215,0,0.6);box-shadow:0 8px 25px rgba(255,215,0,0.15)}
.fixer-triple-btn:disabled{opacity:0.45;cursor:not-allowed;transform:none}
.fixer-triple-btn svg{flex-shrink:0}

.fixer-progress{margin-top:18px;display:none}
.fixer-progress.active{display:block}
.fixer-progress-bar-wrap{height:6px;border-radius:999px;background:rgba(255,255,255,0.06);overflow:hidden;margin-bottom:16px}
.fixer-progress-bar{height:100%;width:0%;background:linear-gradient(90deg,var(--gold),var(--gold-light));transition:width 0.4s ease;border-radius:999px}
.fixer-stages{display:flex;gap:6px;flex-wrap:wrap}
.fixer-stage{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:8px;font-size:11px;font-weight:700;border:1px solid rgba(255,255,255,0.07);background:rgba(255,255,255,0.02);color:var(--muted);transition:all 0.25s}
.fixer-stage.active{background:rgba(113,112,255,0.12);border-color:rgba(113,112,255,0.25);color:#d4d0ff}
.fixer-stage.done{background:rgba(39,166,68,0.1);border-color:rgba(39,166,68,0.22);color:#7ee19d}
.fixer-stage.error{background:rgba(239,95,107,0.1);border-color:rgba(239,95,107,0.22);color:var(--red)}
.fixer-stage-dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0}
.fixer-stage.active .fixer-stage-dot{animation:bs-pulse 1s ease-in-out infinite}

.fixer-result{display:none;margin-top:20px}
.fixer-result.active{display:block}
.fixer-result-card{background:linear-gradient(180deg,rgba(255,255,255,0.035),rgba(255,255,255,0.02));border:1px solid rgba(255,255,255,0.08);border-radius:16px;padding:18px 20px;margin-bottom:14px;position:relative}
.fixer-result-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.15),transparent)}
.fixer-result-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:0.1em;color:var(--muted);margin-bottom:8px}
.fixer-result-text{font-size:13px;line-height:1.65;color:var(--text-secondary)}
.fixer-changes-list{list-style:none;display:flex;flex-direction:column;gap:6px;margin-top:4px}
.fixer-changes-list li{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--text-secondary);line-height:1.5}
.fixer-changes-list li::before{content:'✓';color:var(--green);font-weight:800;flex-shrink:0;margin-top:1px}
.fixer-warnings-list{list-style:none;display:flex;flex-direction:column;gap:6px;margin-top:4px}
.fixer-warnings-list li{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:#d4a84a;line-height:1.5}
.fixer-warnings-list li::before{content:'⚠';flex-shrink:0;margin-top:1px}

.fixer-confidence-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;font-size:13px;font-weight:800;border:1px solid}
.fixer-confidence-badge.high{background:rgba(39,166,68,0.12);color:#7ee19d;border-color:rgba(39,166,68,0.25)}
.fixer-confidence-badge.med{background:rgba(201,149,42,0.12);color:#d4a84a;border-color:rgba(201,149,42,0.25)}
.fixer-confidence-badge.low{background:rgba(239,95,107,0.12);color:var(--red);border-color:rgba(239,95,107,0.25)}

.fixer-json-viewer{border:1px solid rgba(255,255,255,0.08);border-radius:12px;background:#0a0a12;overflow:auto;max-height:400px;padding:16px;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:#d7e0ff;white-space:pre;word-break:normal}
.fixer-json-viewer::-webkit-scrollbar{width:8px;height:8px}
.fixer-json-viewer::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.12);border-radius:999px}
.fixer-json-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap;align-items:center}

.fixer-deploy-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:12px;border:none;background:linear-gradient(135deg,rgba(39,166,68,0.85),rgba(28,130,54,0.7));color:#fff;font-size:13px;font-weight:800;cursor:pointer;transition:all 0.2s;box-shadow:0 8px 20px rgba(39,166,68,0.2);font-family:inherit}
.fixer-deploy-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 28px rgba(39,166,68,0.28)}
.fixer-deploy-btn:disabled{opacity:0.45;cursor:not-allowed;transform:none}
.fixer-deploy-btn svg{width:15px;height:15px;flex-shrink:0}

.fixer-deploy-result{display:none;padding:14px 18px;border-radius:14px;background:rgba(39,166,68,0.08);border:1px solid rgba(39,166,68,0.2);margin-top:14px}
.fixer-deploy-result.active{display:block}
.fixer-deploy-result.error{background:rgba(239,95,107,0.08);border-color:rgba(239,95,107,0.2)}
.fixer-deploy-result-title{font-size:13px;font-weight:700;color:#7ee19d;margin-bottom:4px;display:flex;align-items:center;gap:8px}
.fixer-deploy-result.error .fixer-deploy-result-title{color:var(--red)}
.fixer-deploy-result-meta{font-size:12px;color:var(--muted)}

.fixer-history{margin-top:28px}
.fixer-history-title{font-size:16px;font-weight:700;display:flex;align-items:center;gap:10px;margin-bottom:16px;letter-spacing:-0.02em}
.fixer-history-title svg{width:18px;height:18px;color:var(--gold-light)}
.fixer-history-grid{display:flex;flex-direction:column;gap:8px}
.fixer-history-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:13px;background:linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0.015));border:1px solid rgba(255,255,255,0.07);transition:border-color 0.15s;flex-wrap:wrap}
.fixer-history-item:hover{border-color:rgba(113,112,255,0.2)}
.fixer-history-name{font-size:13px;font-weight:700;color:var(--text)}
.fixer-history-summary{font-size:11px;color:var(--muted);margin-top:2px;max-width:500px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fixer-history-meta{display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:wrap}
.fixer-history-conf{font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;background:rgba(113,112,255,0.1);color:#d4d0ff;border:1px solid rgba(113,112,255,0.18)}
.fixer-history-date{font-size:11px;color:var(--muted)}
.fixer-history-empty{text-align:center;padding:28px;color:var(--muted);font-size:13px;border:1px dashed rgba(255,255,255,0.08);border-radius:14px}

.fixer-section-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:768px){.fixer-section-cols{grid-template-columns:1fr}}

/* ====================================================================== */

/* ===== DAILY SKILLS RADAR ===== */
.radar-page{max-width:1400px;margin:0 auto;padding:28px 24px 60px}
.radar-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:28px;flex-wrap:wrap}
.radar-title{display:flex;align-items:center;gap:12px}
.radar-title-icon{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#a78bfa,#7c3aed);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.radar-title-icon svg{width:20px;height:20px;stroke:white}
.radar-title h1{font-size:22px;font-weight:800;color:var(--text);margin:0}
.radar-title p{font-size:13px;color:var(--muted);margin:4px 0 0}
.radar-header-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.radar-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:28px}
.radar-stat{background:var(--bg-elevated);border:1px solid rgba(255,255,255,0.07);border-radius:14px;padding:16px 18px}
.radar-stat-label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}
.radar-stat-value{font-size:26px;font-weight:800;color:var(--text)}
.radar-stat-value.accent{color:#a78bfa}
.radar-stat-value.green{color:#4ade80}
.radar-stat-value.amber{color:#fbbf24}
.radar-stat-value.red{color:#f87171}
.radar-stat-sub{font-size:11px;color:var(--muted);margin-top:2px}
.radar-status-bar{display:flex;align-items:center;gap:12px;background:var(--bg-elevated);border:1px solid rgba(255,255,255,0.07);border-radius:12px;padding:14px 18px;margin-bottom:24px;flex-wrap:wrap}
.radar-status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.radar-status-dot.idle{background:#6b7280}
.radar-status-dot.running{background:#fbbf24;box-shadow:0 0 8px #fbbf2480;animation:radar-pulse 1.2s ease infinite}
.radar-status-dot.done{background:#4ade80}
.radar-status-dot.error{background:#f87171}
@keyframes radar-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.3)}}
.radar-status-text{font-size:13px;color:var(--text);font-weight:600}
.radar-status-stage{font-size:12px;color:var(--muted)}
.radar-progress-bar{flex:1;min-width:120px;height:6px;background:rgba(255,255,255,0.07);border-radius:3px;overflow:hidden}
.radar-progress-fill{height:100%;background:linear-gradient(90deg,#7c3aed,#a78bfa);border-radius:3px;transition:width .4s ease}
.radar-x-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:700;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);color:var(--muted);margin-left:auto}
.radar-x-badge.connected{background:rgba(29,161,242,0.1);border-color:rgba(29,161,242,0.3);color:#60a5fa}
.radar-section{margin-bottom:28px}
.radar-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:12px}
.radar-section-title{font-size:15px;font-weight:800;color:var(--text);display:flex;align-items:center;gap:8px}
.radar-section-title svg{width:15px;height:15px;color:var(--muted)}
.radar-controls{display:flex;gap:10px;flex-wrap:wrap;align-items:center;background:var(--bg-elevated);border:1px solid rgba(255,255,255,0.07);border-radius:14px;padding:16px 18px;margin-bottom:24px}
.radar-filter-group{display:flex;flex-direction:column;gap:5px;min-width:140px}
.radar-filter-label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.radar-filter-select{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:8px;padding:7px 10px;color:var(--text);font-size:13px;font-family:inherit;cursor:pointer;outline:none}
.radar-filter-select:focus{border-color:#7c3aed}
.radar-filter-input{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:8px;padding:7px 10px;color:var(--text);font-size:13px;font-family:inherit;outline:none;width:100%}
.radar-filter-input:focus{border-color:#7c3aed}
.radar-tabs{display:flex;gap:4px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.07);border-radius:10px;padding:3px;margin-bottom:18px}
.radar-tab{padding:6px 14px;border-radius:7px;border:none;background:transparent;color:var(--muted);font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .15s}
.radar-tab:hover{color:var(--text)}
.radar-tab.active{background:rgba(124,58,237,0.2);color:#c4b5fd}
.radar-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:9px;background:rgba(124,58,237,0.3);color:#c4b5fd;font-size:10px;font-weight:800;padding:0 5px;margin-left:5px}
.skill-card{background:var(--bg-elevated);border:1px solid rgba(255,255,255,0.07);border-radius:14px;padding:18px 20px;margin-bottom:12px;transition:border-color .15s}
.skill-card:hover{border-color:rgba(124,58,237,0.35)}
.skill-card.approved{border-left:3px solid #4ade80}
.skill-card.rejected{border-left:3px solid #f87171;opacity:.7}
.skill-card.saved_later{border-left:3px solid #fbbf24}
.skill-card.high_priority{border-left:3px solid #a78bfa}
.skill-card-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px}
.skill-card-icon{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,rgba(124,58,237,.3),rgba(167,139,250,.2));display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px}
.skill-card-meta{flex:1;min-width:0}
.skill-card-title{font-size:14px;font-weight:800;color:var(--text);margin-bottom:3px}
.skill-card-source{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.skill-card-source a{color:#a78bfa;text-decoration:none}
.skill-card-source a:hover{text-decoration:underline}
.skill-source-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:10px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);font-size:10px;font-weight:700;color:var(--muted)}
.skill-source-badge.github{background:rgba(30,215,96,.07);border-color:rgba(30,215,96,.2);color:#4ade80}
.skill-source-badge.awesome{background:rgba(251,191,36,.07);border-color:rgba(251,191,36,.2);color:#fbbf24}
.skill-source-badge.x_bookmark{background:rgba(29,161,242,.1);border-color:rgba(29,161,242,.25);color:#60a5fa}
.skill-source-badge.x_timeline{background:rgba(29,161,242,.07);border-color:rgba(29,161,242,.15);color:#93c5fd}
.skill-source-badge.x_like{background:rgba(249,24,128,.07);border-color:rgba(249,24,128,.2);color:#f9a8d4}
.skill-card-summary{font-size:13px;color:var(--muted);line-height:1.55;margin-bottom:12px}
.skill-card-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.skill-tag{padding:2px 8px;border-radius:6px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);font-size:11px;color:var(--muted)}
.skill-tag.agent{background:rgba(124,58,237,.1);border-color:rgba(124,58,237,.2);color:#c4b5fd}
.skill-score{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;color:var(--muted)}
.skill-score-bar{width:40px;height:4px;border-radius:2px;background:rgba(255,255,255,0.08);overflow:hidden}
.skill-score-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,#7c3aed,#a78bfa)}
.skill-card-actions{display:flex;gap:6px;flex-wrap:wrap;padding-top:12px;border-top:1px solid rgba(255,255,255,0.05)}
.skill-action-btn{padding:5px 11px;border-radius:7px;border:1px solid rgba(255,255,255,0.1);background:rgba(255,255,255,0.04);color:var(--muted);font-size:11px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .15s;display:inline-flex;align-items:center;gap:4px}
.skill-action-btn:hover{background:rgba(255,255,255,0.08);color:var(--text)}
.skill-action-btn.approve{border-color:rgba(74,222,128,.3);color:#4ade80}
.skill-action-btn.approve:hover{background:rgba(74,222,128,.1)}
.skill-action-btn.reject{border-color:rgba(248,113,113,.3);color:#f87171}
.skill-action-btn.reject:hover{background:rgba(248,113,113,.1)}
.skill-action-btn.save{border-color:rgba(251,191,36,.3);color:#fbbf24}
.skill-action-btn.save:hover{background:rgba(251,191,36,.1)}
.skill-action-btn.prompt{border-color:rgba(124,58,237,.3);color:#a78bfa}
.skill-action-btn.prompt:hover{background:rgba(124,58,237,.1)}
.skill-action-btn.active{background:rgba(74,222,128,.15);border-color:rgba(74,222,128,.4);color:#4ade80}
.radar-empty{text-align:center;padding:48px 20px;color:var(--muted)}
.radar-empty svg{width:48px;height:48px;margin:0 auto 16px;display:block;opacity:.3}
.radar-empty h3{font-size:16px;font-weight:700;color:var(--text);margin-bottom:6px}
.radar-empty p{font-size:13px}
.radar-history-row{display:grid;grid-template-columns:160px 80px 80px 80px 1fr;gap:12px;align-items:center;padding:12px 16px;border-radius:10px;background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.05);margin-bottom:8px;font-size:12px}
.radar-history-row:hover{background:rgba(255,255,255,0.04)}
.radar-history-date{color:var(--muted);font-size:11px}
.prompt-textarea{width:100%;box-sizing:border-box;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.1);border-radius:10px;padding:14px;color:var(--text);font-size:12px;font-family:'Courier New',monospace;line-height:1.6;resize:vertical;min-height:220px;outline:none}
.prompt-textarea:focus{border-color:#7c3aed}
.radar-drawer{position:fixed;top:0;right:0;width:480px;max-width:95vw;height:100vh;background:var(--bg-elevated);border-left:1px solid rgba(255,255,255,0.1);z-index:1000;overflow-y:auto;padding:28px;transform:translateX(100%);transition:transform .25s ease;display:flex;flex-direction:column;gap:16px}
.radar-drawer.open{transform:translateX(0)}
.radar-drawer-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:8px;border:1px solid rgba(255,255,255,0.1);background:transparent;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px}
.radar-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:999;display:none}
.radar-overlay.show{display:block}
.topic-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px 4px 12px;border-radius:20px;background:rgba(124,58,237,0.15);border:1px solid rgba(124,58,237,0.35);color:#c4b5fd;font-size:12px;font-weight:700;cursor:default}
.topic-chip.preset{background:rgba(124,58,237,0.1);border-color:rgba(124,58,237,0.25);color:#a78bfa}
.topic-chip.custom{background:rgba(59,130,246,0.12);border-color:rgba(59,130,246,0.3);color:#93c5fd}
.topic-chip-remove{width:16px;height:16px;border-radius:50%;border:none;background:rgba(255,255,255,0.15);color:rgba(255,255,255,0.6);cursor:pointer!important;display:inline-flex;align-items:center;justify-content:center;font-size:11px;line-height:1;padding:0;font-family:inherit;flex-shrink:0;pointer-events:all!important;z-index:10;position:relative}
.topic-chip-remove:hover{background:rgba(248,113,113,0.3);color:#f87171}
@media(max-width:768px){.radar-page{padding:16px 14px 40px}.radar-stat-grid{grid-template-columns:repeat(2,1fr)}.skill-card-actions{gap:4px}.radar-history-row{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}}


/* ===== DESIGN SYSTEM IMPROVEMENTS ===== */

/* Expand/collapse using grid trick (smooth, no clipping) */
.card-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease}
.project-card.expanded .card-body{grid-template-rows:1fr}
.card-body-inner{min-height:0;overflow:visible}

/* If old max-height approach still used, upgrade it */
.project-card .card-body[style*="max-height:0"]{max-height:none!important}

/* ===== RADAR IMPROVEMENTS ===== */

/* Run Now button — active/running state */
#radar-run-btn{height:38px;border-radius:9px;font-size:13px;font-weight:600}
#radar-run-btn.running{background:linear-gradient(135deg,#f59e0b,#d97706)!important;cursor:default}
#radar-run-btn.running::before{content:'';display:inline-block;width:10px;height:10px;border-radius:50%;border:2px solid rgba(255,255,255,0.4);border-top-color:#fff;animation:spin .7s linear infinite;margin-right:6px}
@keyframes spin{to{transform:rotate(360deg)}}

/* Radar background spinner badge in header */
#radar-bg-badge{display:none;align-items:center;gap:6px;background:rgba(251,191,36,0.12);border:1px solid rgba(251,191,36,0.3);border-radius:20px;padding:4px 12px;font-size:11px;font-weight:700;color:#fbbf24;white-space:nowrap}
#radar-bg-badge.active{display:inline-flex}
#radar-bg-badge .bg-spin{width:10px;height:10px;border-radius:50%;border:2px solid rgba(251,191,36,0.3);border-top-color:#fbbf24;animation:spin .7s linear infinite}

/* Radar limits panel */
.radar-limits-row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;padding:10px 0 0;border-top:1px solid rgba(255,255,255,0.06);margin-top:8px;width:100%}
.radar-limits-row .radar-filter-group{min-width:120px}

/* Topic chip cursor fix */
.topic-chip{cursor:default}
.topic-chip .topic-chip-remove{cursor:pointer!important}

/* Export button */
.radar-export-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:8px;border:1px solid rgba(74,222,128,0.25);background:rgba(74,222,128,0.07);color:#4ade80;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .15s}
.radar-export-btn:hover{background:rgba(74,222,128,0.13);border-color:rgba(74,222,128,0.4)}

/* Radar run history table */
.radar-history-table{width:100%;border-collapse:collapse;font-size:12px}
.radar-history-table th{text-align:left;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding:6px 10px;border-bottom:1px solid rgba(255,255,255,0.07)}
.radar-history-table td{padding:8px 10px;border-bottom:1px solid rgba(255,255,255,0.04);color:var(--text-secondary);vertical-align:middle}
.radar-history-table tr:hover td{background:rgba(255,255,255,0.02)}
.radar-history-table .run-status{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:20px;font-size:10px;font-weight:700}
.radar-history-table .run-status.completed{background:rgba(74,222,128,0.1);color:#4ade80;border:1px solid rgba(74,222,128,0.2)}
.radar-history-table .run-status.running{background:rgba(251,191,36,0.1);color:#fbbf24;border:1px solid rgba(251,191,36,0.2)}
.radar-history-table .run-status.failed{background:rgba(248,113,113,0.1);color:#f87171;border:1px solid rgba(248,113,113,0.2)}
.radar-history-table .run-status.idle,.radar-history-table .run-status.pending{background:rgba(255,255,255,0.05);color:var(--muted);border:1px solid rgba(255,255,255,0.1)}

/* Dedup badge */
.radar-dedup-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--muted);padding:3px 8px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:6px}
.radar-dedup-badge.active{color:#a78bfa;border-color:rgba(124,58,237,0.25);background:rgba(124,58,237,0.07)}

/* ===== KWR MODEL PICKER ===== */
.kwr-model-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}
.kwr-model-label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.kwr-model-select{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);border-radius:8px;padding:7px 10px;color:var(--text);font-size:12px;font-family:inherit;cursor:pointer;outline:none;min-width:180px}
.kwr-model-select:focus{border-color:rgba(113,112,255,0.4)}
.kwr-model-select option{background:#0f1011;color:#f0f1f3}
.kwr-btn-swarm{background:linear-gradient(135deg,rgba(124,58,237,0.8),rgba(167,139,250,0.6))!important;border-color:rgba(124,58,237,0.4)!important}
.kwr-btn-swarm:hover:not(:disabled){background:linear-gradient(135deg,rgba(124,58,237,0.95),rgba(167,139,250,0.8))!important}

/* ===== PROMPT STUDIO MODAL IMPROVEMENTS ===== */
.prompt-modal{max-width:1100px!important;width:96vw!important;max-height:90vh!important;height:90vh!important;display:flex;flex-direction:column!important}
.prompt-modal .modal-header{flex-shrink:0}
.prompt-modal .modal-body{flex:1;overflow-y:auto;min-height:0}
.prompt-modal .prompt-actions{flex-shrink:0;position:sticky;bottom:0;background:var(--bg-modal,#161820);border-top:1px solid rgba(255,255,255,0.08);padding:12px 20px;z-index:5;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.prompt-panel{height:100%;display:flex;flex-direction:column}
.prompt-panel .prompt-actions{margin-top:auto}

/* Panel scroll improvements */
.prompt-section-body{overflow-y:auto;flex:1;min-height:0}

/* ===== GENERAL POLISH ===== */

/* Better button hover contrast */
.header-menu-btn:focus-visible,.kwr-btn:focus-visible,.skill-action-btn:focus-visible{outline:2px solid rgba(113,112,255,0.6);outline-offset:2px}

/* Better empty state */
.radar-empty p{max-width:360px;margin:0 auto;line-height:1.6}

/* Better textarea min-height on smaller screens */
@media(max-height:700px){
  .prompt-modal{max-height:96vh!important;height:96vh!important}
  .prompt-textarea,.fixer-textarea{min-height:100px!important}
}
@media(max-width:768px){
  .radar-header{flex-direction:column;gap:12px}
  .radar-header-actions{width:100%;justify-content:flex-start}
  #radar-run-btn{flex:1}
  .radar-limits-row{gap:8px}
  .radar-limits-row .radar-filter-group{min-width:100px;flex:1}
}

/* Scrollbar styling */
.modal-body::-webkit-scrollbar,.prompt-panel::-webkit-scrollbar,.radar-page::-webkit-scrollbar{width:6px}
.modal-body::-webkit-scrollbar-thumb,.prompt-panel::-webkit-scrollbar-thumb,.radar-page::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.1);border-radius:3px}
.modal-body::-webkit-scrollbar-thumb:hover,.prompt-panel::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,0.18)}

/* ══════════════════════════════════════════════════════════════════
   COMPREHENSIVE UI/UX OVERHAUL — 2026-04-20
   ══════════════════════════════════════════════════════════════════ */

/* 1. Design tokens */
:root {
  --radius-xs:6px; --radius-sm:8px; --radius-md:12px; --radius-lg:18px; --radius-xl:24px;
  --shadow-xs:0 1px 3px rgba(0,0,0,.28);
  --shadow-sm:0 4px 14px rgba(0,0,0,.32);
  --shadow-md:0 10px 30px rgba(0,0,0,.38);
  --shadow-lg:0 24px 64px rgba(0,0,0,.52);
  --t-fast:120ms cubic-bezier(.2,0,0,1);
  --t-base:200ms cubic-bezier(.2,0,0,1);
  --t-slow:320ms cubic-bezier(.2,0,0,1);
  --surf2:rgba(255,255,255,.035);
  --surf3:rgba(255,255,255,.055);
  --fg-hi:rgba(255,255,255,.92);
  --fg-md:rgba(255,255,255,.68);
  --fg-lo:rgba(255,255,255,.42);
}

/* 2. Project cards */
.project-card{border-radius:var(--radius-lg)!important;border:1px solid rgba(255,255,255,.07)!important;background:rgba(255,255,255,.022)!important;overflow:visible!important;transition:border-color var(--t-base),box-shadow var(--t-base)!important}
.project-card:hover{border-color:rgba(255,255,255,.11)!important;box-shadow:0 8px 28px rgba(0,0,0,.22)!important}
.project-card.expanded{border-color:rgba(113,112,255,.22)!important;box-shadow:0 10px 36px rgba(0,0,0,.3),0 0 0 1px rgba(113,112,255,.12)!important}

/* 3. Card header */
.card-header{padding:18px 20px!important;gap:14px!important;border-radius:var(--radius-lg)!important;user-select:none}
.project-card.expanded .card-header{border-radius:var(--radius-lg) var(--radius-lg) 0 0!important;border-bottom:1px solid rgba(255,255,255,.06)!important}
.card-header:hover{background:rgba(255,255,255,.025)!important}
.card-header h3{font-size:14.5px!important;font-weight:600!important;letter-spacing:-.01em!important}
.meta-tag{font-size:11px!important;font-weight:600!important;padding:3px 8px!important;border-radius:6px!important;background:rgba(255,255,255,.05)!important;border:1px solid rgba(255,255,255,.07)!important;color:rgba(255,255,255,.62)!important}

/* 4. Card body smooth expand — grid trick */
.card-body{display:grid!important;grid-template-rows:0fr!important;transition:grid-template-rows var(--t-slow)!important;overflow:visible!important}
.project-card.expanded .card-body{grid-template-rows:1fr!important}
.card-body-inner{min-height:0!important;overflow:visible!important;padding:0 20px 20px!important}

/* 5. Toggle icon */
.toggle-icon{width:28px!important;height:28px!important;border-radius:8px!important;font-size:10px!important;transition:transform var(--t-base),background var(--t-base),color var(--t-base)!important}
.project-card.expanded .toggle-icon{transform:rotate(180deg)!important;background:rgba(113,112,255,.14)!important;border-color:rgba(113,112,255,.28)!important;color:#a8a6ff!important}

/* 6. Stats bar */
.stat-card{border-radius:var(--radius-md)!important;padding:18px 20px!important;border:1px solid rgba(255,255,255,.07)!important;background:rgba(255,255,255,.025)!important}
.stat-value{font-size:26px!important;font-weight:700!important;letter-spacing:-.03em!important}
.stat-label{font-size:11.5px!important;font-weight:600!important;color:var(--fg-lo)!important;letter-spacing:.02em!important}

/* 7. Header */
.header-inner{padding:14px 28px!important;gap:16px!important}
.logo h1{font-size:16px!important;font-weight:700!important;letter-spacing:-.02em!important}

/* 8. Nav tabs */
.fixer-tab-btn{border-radius:9px!important;font-size:12.5px!important;font-weight:600!important;padding:7px 14px!important;transition:background var(--t-fast),color var(--t-fast)!important}
.fixer-tab-btn.active{background:rgba(113,112,255,.18)!important;color:#c4c2ff!important;border-color:rgba(113,112,255,.3)!important}

/* 9. Action buttons — unified sizing */
.action-btn{height:36px!important;padding:0 14px!important;border-radius:9px!important;font-size:12.5px!important;font-weight:600!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;transition:background var(--t-fast),border-color var(--t-fast),transform var(--t-fast),color var(--t-fast)!important;white-space:nowrap!important;cursor:pointer!important}
.action-btn:hover{transform:translateY(-1px)!important}
.action-btn:active{transform:translateY(0)!important}
.action-btn.success{background:linear-gradient(180deg,#20b875,#17a066)!important;border-color:rgba(255,255,255,.12)!important;color:#fff!important;box-shadow:0 2px 0 rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.14)!important}
.action-btn.success:hover{background:linear-gradient(180deg,#26cc84,#1ab472)!important;box-shadow:0 4px 16px rgba(32,184,117,.32),inset 0 1px 0 rgba(255,255,255,.16)!important}
.hdr-sync-btn{height:36px!important;border-radius:9px!important;font-size:12.5px!important;font-weight:600!important}

/* 10. Search box */
.search-box{height:36px!important;border-radius:9px!important;font-size:13px!important}

/* 11. Main content spacing */
.main-content{padding:82px 28px 40px!important;max-width:1340px!important;margin:0 auto!important}

/* 12. Section headings */
.section-title{font-size:17px!important;font-weight:700!important;letter-spacing:-.02em!important;color:var(--fg-hi)!important}
.section-sub{font-size:12.5px!important;color:var(--fg-lo)!important;margin-top:3px!important}

/* 13. Status pills */
.status-pill{border-radius:999px!important;font-size:11px!important;font-weight:700!important;padding:4px 10px!important;letter-spacing:.01em!important}

/* 14. Toast */
.toast{border-radius:var(--radius-md)!important;padding:12px 18px!important;font-size:13px!important;font-weight:500!important;box-shadow:var(--shadow-lg)!important}

/* ═══════════════════════════════════════════════════
   15. PROMPT STUDIO MODAL — full structural redesign
   ═══════════════════════════════════════════════════ */
#prompt-modal .modal.prompt-modal{display:flex!important;flex-direction:column!important;height:96vh!important;max-height:96vh!important;border-radius:var(--radius-xl)!important;box-shadow:0 32px 80px rgba(0,0,0,.65),0 0 0 1px rgba(255,255,255,.05)!important;overflow:hidden!important}

/* Modal header — sticky, always visible */
#prompt-modal .modal-header{flex-shrink:0!important;padding:15px 22px!important;border-bottom:1px solid rgba(255,255,255,.07)!important;display:flex!important;align-items:center!important;gap:12px!important;background:rgba(12,12,18,.98)!important;z-index:10!important}
#prompt-modal .modal-title{font-size:14.5px!important;font-weight:700!important;color:var(--fg-hi)!important;display:flex!important;align-items:center!important;gap:10px!important;flex:1!important;min-width:0!important}
#prompt-modal .modal-title svg{flex-shrink:0!important}
#prompt-modal .focus-subtitle{font-size:12px!important;color:var(--fg-lo)!important;font-weight:400!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;max-width:32ch!important}
#prompt-modal #prompt-expand-btn{flex-shrink:0!important;height:28px!important;padding:0 10px!important;font-size:11px!important;border-radius:7px!important;background:rgba(255,255,255,.04)!important;border:1px solid rgba(255,255,255,.1)!important;color:var(--fg-md)!important}
#prompt-modal #prompt-expand-btn:hover{background:rgba(255,255,255,.08)!important;color:#fff!important}
#prompt-modal .modal-close{flex-shrink:0!important;width:32px!important;height:32px!important;border-radius:9px!important;border:0!important;background:transparent!important;color:var(--fg-md)!important;font-size:20px!important;display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;transition:background var(--t-fast),color var(--t-fast)!important}
#prompt-modal .modal-close:hover{background:rgba(255,255,255,.08)!important;color:#fff!important}

/* Panel container: 3-column grid, fills height */
#prompt-modal .prompt-container{flex:1 1 0!important;min-height:0!important;overflow:hidden!important;display:grid!important;grid-template-columns:minmax(260px,.85fr) minmax(260px,.85fr) minmax(420px,1.6fr)!important;gap:0!important;padding:0!important;background:rgba(10,10,16,.98)!important}

/* Each panel is an independent scroll zone with sticky action bar */
#prompt-modal .prompt-panel{display:flex!important;flex-direction:column!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;padding:20px 18px 72px!important;gap:14px!important;border-right:1px solid rgba(255,255,255,.06)!important;scrollbar-width:thin!important;scrollbar-color:rgba(255,255,255,.12) transparent!important;position:relative!important;background:transparent!important}
#prompt-modal .prompt-panel:last-child{border-right:0!important;padding-bottom:20px!important}
#prompt-modal .prompt-panel::-webkit-scrollbar{width:4px!important}
#prompt-modal .prompt-panel::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12)!important;border-radius:999px!important}
#prompt-modal .prompt-panel::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.22)!important}

/* Panel labels */
#prompt-modal .prompt-label{font-size:10.5px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.07em!important;color:var(--fg-lo)!important;margin-bottom:0!important;padding-bottom:10px!important;border-bottom:1px solid rgba(255,255,255,.06)!important;flex-shrink:0!important}
#prompt-modal .prompt-label::before{display:none!important}

/* Textareas */
#prompt-modal .prompt-textarea{border-radius:12px!important;border:1px solid rgba(255,255,255,.08)!important;background:rgba(255,255,255,.025)!important;padding:14px 16px!important;font:13px/1.65 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important;color:rgba(255,255,255,.92)!important;resize:vertical!important;transition:border-color var(--t-fast),background var(--t-fast)!important;width:100%!important}
#prompt-modal .prompt-textarea:focus{border-color:rgba(113,112,255,.5)!important;background:rgba(255,255,255,.04)!important;outline:none!important;box-shadow:0 0 0 2px rgba(113,112,255,.18)!important}
#prompt-draft{min-height:160px!important;max-height:320px!important}
#prompt-output{min-height:180px!important;flex:1 1 auto!important}
#prompt-tweak-output{min-height:180px!important;max-height:380px!important}

/* Sticky action bar at bottom of each panel */
#prompt-modal .prompt-panel>.prompt-actions,
#prompt-modal .prompt-panel+.prompt-panel>.prompt-actions{position:sticky!important;bottom:0!important;margin:0 -18px -72px!important;padding:10px 18px!important;background:rgba(10,10,16,.97)!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;border-top:1px solid rgba(255,255,255,.07)!important;z-index:4!important;display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:center!important;border-radius:0!important}

/* Primary improve btn */
#prompt-modal #prompt-improve-btn{background:#6865ff!important;border:1px solid rgba(104,101,255,.8)!important;color:#fff!important;box-shadow:0 2px 0 rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.12)!important}
#prompt-modal #prompt-improve-btn:hover{background:#7a77ff!important;box-shadow:0 4px 14px rgba(104,101,255,.38),inset 0 1px 0 rgba(255,255,255,.15)!important}
/* Sync/apply btn */
#prompt-modal #prompt-sync-gh-btn,#prompt-modal #prompt-apply-html-btn{background:linear-gradient(180deg,#20b875,#17a066)!important;border-color:rgba(255,255,255,.12)!important;color:#fff!important}
#prompt-modal #prompt-sync-gh-btn:hover,#prompt-modal #prompt-apply-html-btn:hover{background:linear-gradient(180deg,#26cc84,#1ab472)!important}
/* Tweak btn */
#prompt-modal #prompt-tweak-btn{background:rgba(104,101,255,.1)!important;border:1px solid rgba(104,101,255,.32)!important;color:#d8d6ff!important}
#prompt-modal #prompt-tweak-btn:hover{background:rgba(104,101,255,.18)!important;border-color:rgba(134,131,255,.5)!important}
/* Status text */
#prompt-modal .prompt-status{font-size:11.5px!important;color:rgba(255,255,255,.55)!important;line-height:1.5!important;flex:1 1 160px!important;min-width:0!important}

/* Sub-panels */
#prompt-modal .prompt-tweak-panel{border:1px solid rgba(255,255,255,.07)!important;border-radius:14px!important;background:rgba(255,255,255,.02)!important;padding:16px!important;display:flex!important;flex-direction:column!important;gap:12px!important}
#prompt-modal .prompt-sync-panel{border:1px solid rgba(255,255,255,.07)!important;border-radius:14px!important;background:rgba(255,255,255,.02)!important;padding:16px!important}

/* Preview panel (panel 3) */
#prompt-modal .prompt-panel:last-child .prompt-preview-wrap{flex:1 1 auto!important;min-height:280px!important;border-radius:12px!important;border:1px solid rgba(255,255,255,.1)!important;background:#f9fafc!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}
#prompt-modal .prompt-preview-frame{flex:1 1 auto!important;width:100%!important;height:100%!important;border:0!important;min-height:260px!important}

/* ═══════════════════
   16. Comments modal
   ═══════════════════ */
.modal.comments-modal{max-width:740px!important;border-radius:var(--radius-xl)!important}
.comments-layout{padding:18px 22px!important;gap:20px!important}
.comments-panel-title{font-size:11.5px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.07em!important;color:var(--fg-lo)!important;margin-bottom:10px!important}
.comments-input,.comments-author-input{border-radius:10px!important;border:1px solid rgba(255,255,255,.09)!important;background:rgba(255,255,255,.03)!important;padding:10px 14px!important;font-size:13px!important;color:rgba(255,255,255,.92)!important;transition:border-color var(--t-fast)!important}
.comments-input:focus,.comments-author-input:focus{border-color:rgba(113,112,255,.5)!important;outline:none!important;box-shadow:0 0 0 2px rgba(113,112,255,.15)!important}
.comments-actions{margin-top:10px!important;gap:8px!important}

/* ═══════════════════════
   17. Deploy status panel
   ═══════════════════════ */
.deploy-status-panel{border-radius:var(--radius-md)!important;border:1px solid rgba(255,255,255,.08)!important;background:rgba(255,255,255,.02)!important;margin:12px 0!important}
.deploy-status-header{padding:12px 16px!important;border-radius:var(--radius-md)!important}
.deploy-status-title{font-size:12.5px!important;font-weight:700!important;color:rgba(255,255,255,.88)!important}

/* ═══════════════════════════════
   18. RESPONSIVENESS — short laptop
   ═══════════════════════════════ */
@media(max-height:720px){
  #prompt-modal .modal.prompt-modal{height:100vh!important;max-height:100vh!important;border-radius:0!important}
  .main-content{padding-top:70px!important}
}

/* ═══════════════════════════════
   19. RESPONSIVENESS — tablet
   ═══════════════════════════════ */
@media(max-width:1200px){
  #prompt-modal .prompt-container{grid-template-columns:1fr 1fr!important;grid-template-rows:auto auto!important;overflow-y:auto!important}
  #prompt-modal .prompt-panel:last-child{grid-column:1/-1!important;overflow:visible!important;padding-bottom:20px!important}
  #prompt-modal .prompt-panel{padding-bottom:72px!important}
}

/* ═══════════════════════════
   20. RESPONSIVENESS — mobile
   ═══════════════════════════ */
@media(max-width:768px){
  .main-content{padding:72px 14px 40px!important}
  #prompt-modal .modal.prompt-modal{width:100vw!important;max-width:100vw!important;height:100svh!important;max-height:100svh!important;border-radius:0!important;border:0!important}
  #prompt-modal .prompt-container{grid-template-columns:1fr!important;grid-auto-rows:auto!important;overflow-y:auto!important;overflow-x:hidden!important}
  #prompt-modal .prompt-panel{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.06)!important;padding:16px 14px 72px!important;overflow:visible!important}
  #prompt-modal .prompt-panel>.prompt-actions,
  #prompt-modal .prompt-panel+.prompt-panel>.prompt-actions{margin:0 -14px -72px!important;padding:10px 14px!important}
  #prompt-modal .modal-header{padding:12px 14px!important}
  #prompt-modal .focus-subtitle{display:none!important}
  .card-header{padding:14px!important;gap:10px!important}
  .card-body-inner{padding:0 14px 16px!important}
  .stat-value{font-size:22px!important}
  .project-card{border-radius:14px!important}
}

/* ══════════════════════
   21. Global scrollbars
   ══════════════════════ */
:root{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:999px}
::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.2)}
::-webkit-scrollbar-track{background:transparent}

/* ══════════════════════
   22. Focus ring unification
   ══════════════════════ */
:where(button,a,select,input,textarea,[tabindex]):focus-visible{outline:2px solid rgba(113,112,255,.65)!important;outline-offset:2px!important}

/* ═════════════════════════
   23. Card CTA button group
   ═════════════════════════ */
.card-cta-group{gap:6px!important}
.card-cta-group .action-btn{height:30px!important;padding:0 10px!important;font-size:11.5px!important;border-radius:8px!important}

/* ═════════════════════════════════
   24. Keyboard shortcut modal
   ═════════════════════════════════ */
.shortcuts-box{border-radius:var(--radius-xl)!important;padding:26px 30px!important;max-width:400px!important}
.shortcut-key{border-radius:7px!important;font-size:11.5px!important;padding:4px 9px!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.14)!important;color:rgba(255,255,255,.88)!important}

/* ═══════════════════
   25. View toggle
   ═══════════════════ */
.view-btn{border-radius:7px!important;padding:5px 9px!important}
.view-btn.active{background:rgba(113,112,255,.18)!important}

/* END OVERHAUL 2026-04-20 */


/* ================================================================
   FINAL POLISH PASS (2026-04-20) — dark-only, solid surfaces,
   sticky modal footer, safe expand/collapse, better responsive
   ================================================================ */
:root{
  --bg:#08090a !important;
  --bg-elevated:#111217 !important;
  --surface:#13141a !important;
  --surface-strong:#1a1c24 !important;
  --card:#161821 !important;
  --card-hover:#1c1e28 !important;
  --border:rgba(255,255,255,0.09) !important;
  --border-strong:rgba(255,255,255,0.16) !important;
  --text:#f4f5f8 !important;
  --text-secondary:#c4cad4 !important;
  --muted:#8e95a3 !important;
}
html,body{background:#08090a !important;color:#f4f5f8 !important}
body{background:radial-gradient(circle at 50% -10%,rgba(113,112,255,0.14),transparent 40%),linear-gradient(180deg,#0b0c10 0%,#08090a 100%) !important;color:#f4f5f8 !important}

/* Solid card surfaces (no more invisible 0.024 overlays) */
.project-card,.stat-card,.agent-group,.file-row,.compare-panel,
.comments-panel,.comments-compose,.shortcuts-box,.radar-stat,
.radar-status-bar,.radar-controls,.skill-card{
  background:linear-gradient(180deg,#191b24,#14161d) !important;
  border:1px solid rgba(255,255,255,0.08) !important;
  color:#f4f5f8 !important;
}
.project-card:hover{border-color:rgba(113,112,255,0.32) !important;background:linear-gradient(180deg,#1d1f29,#181a22) !important}

/* Header readability */
header,.header{
  background:rgba(11,12,16,0.86) !important;
  border-bottom:1px solid rgba(255,255,255,0.07) !important;
  color:#f4f5f8 !important;
  backdrop-filter:blur(16px) saturate(140%);
}
header *,.header *{color:inherit}
.header h1,.section-title,.modal-title,.card-info h3,
.compare-panel-title,.agent-group-header strong,.version-title,
.file-name,.comments-author,.comments-context-label{color:#f4f5f8 !important}
.meta-tag,.prompt-status,.shortcut-desc,.loading-text,.empty-state,
.compare-empty,.focus-subtitle,.agent-group-hidden-note,.comments-meta,
.comments-status,.muted,.text-muted{color:#9aa1af !important}

/* Inputs / selects / search */
.search-box,.header-menu-btn,.status-pill,.last-sync-meta,.view-toggle,
.toggle-icon,.device-tabs,.prompt-textarea,.comments-input,
.comments-author-input,input[type=text],input[type=url],input[type=search],textarea,select{
  background:rgba(255,255,255,0.04) !important;
  border:1px solid rgba(255,255,255,0.1) !important;
  color:#f4f5f8 !important;
}
input::placeholder,textarea::placeholder{color:rgba(255,255,255,0.35) !important}

/* PROMPT STUDIO MODAL — proper structure with sticky footer */
.prompt-modal{
  background:#10111a !important;
  border:1px solid rgba(255,255,255,0.08) !important;
  display:flex !important;
  flex-direction:column !important;
  max-width:min(1600px,97vw) !important;
  max-height:min(920px,94vh) !important;
}
.prompt-modal .modal-header{
  position:sticky !important; top:0; z-index:10;
  background:rgba(16,17,26,0.96) !important;
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,0.07) !important;
  flex-shrink:0;
}
.prompt-modal .prompt-container{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:hidden !important;
  background:#0c0d14 !important;
}
.prompt-modal .prompt-panel{
  background:#141621 !important;
  border:1px solid rgba(255,255,255,0.06) !important;
  border-radius:14px !important;
  padding:14px !important;
  min-height:0 !important;
  overflow-y:auto !important;
  padding-bottom:80px !important;
}

/* Sticky action bar — always visible at bottom of each panel */
.prompt-panel > .prompt-actions,
.prompt-panel + .prompt-panel > .prompt-actions{
  position:sticky !important;
  bottom:0 !important;
  left:0; right:0;
  margin:0 -14px -14px !important;
  padding:12px 14px !important;
  background:linear-gradient(180deg,rgba(20,22,33,0.75) 0%,rgba(20,22,33,0.98) 40%) !important;
  backdrop-filter:blur(12px);
  border-top:1px solid rgba(255,255,255,0.08) !important;
  border-radius:0 0 14px 14px !important;
  z-index:4;
  display:flex; gap:10px; flex-wrap:wrap; align-items:center;
}

/* Preview pane containment */
.prompt-modal .prompt-preview-wrap{
  background:#0e0f17 !important;
  border:1px solid rgba(255,255,255,0.08) !important;
  border-radius:14px;
  overflow:hidden;
}

/* Buttons — consistent, readable */
.action-btn,button.action-btn{color:#e9ecf2}
.action-btn:not(.primary):not(.success){
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.1);
  color:#e9ecf2;
}
.action-btn:not(.primary):not(.success):hover{
  background:rgba(255,255,255,0.09);
  border-color:rgba(255,255,255,0.2);
}

/* EXPAND / COLLAPSE — prevent clipping of bottom controls */
.project-card.expanded{overflow:visible !important}
.project-card.expanded .card-body,
.project-card.expanded .expanded-content,
.project-card.expanded .card-actions-row{overflow:visible !important}
.card-actions-row,.project-actions-row{
  position:sticky; bottom:0;
  background:linear-gradient(180deg,rgba(20,22,33,0) 0%,rgba(20,22,33,0.96) 35%);
  padding-top:10px; padding-bottom:10px;
  z-index:2;
}

/* Scroll polish */
*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-track{background:transparent}
*::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.12);border-radius:999px;border:2px solid transparent;background-clip:padding-box}
*::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,0.2);background-clip:padding-box}

/* Responsive safeguards */
@media (max-width:1100px){
  .prompt-modal .prompt-container{grid-template-columns:1fr !important;overflow:auto !important}
  .prompt-modal .prompt-panel{overflow:visible !important;padding-bottom:18px !important}
  .prompt-panel > .prompt-actions{position:static !important;margin:10px 0 0 !important;border-radius:10px !important}
}
@media (max-width:768px){
  header,.header{flex-wrap:wrap;padding:10px 14px !important;height:auto !important}
  .header-actions{flex:1 1 100%;justify-content:flex-start;gap:8px}
  .search-box{width:100% !important}
  .stat-card{padding:14px !important}
  .project-card{border-radius:14px !important}
  .action-btn{min-height:40px;padding:0 14px}
  .prompt-modal{width:100vw !important;max-width:100vw !important;height:100dvh !important;max-height:100dvh !important;border-radius:0 !important}
}
@media (max-width:480px){
  .prompt-modal .modal-header{padding:10px 12px !important;flex-wrap:wrap;gap:8px !important}
  .prompt-modal .modal-title{font-size:14px !important}
  .action-btn{flex:1 1 auto;min-width:0}
}

/* Status chips — consistent */
.status-pill,.status-badge,.status-chip{
  border-radius:999px;
  padding:3px 10px;
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.01em;
}
/* Typography rhythm */
h1{font-size:clamp(18px,1.4vw + 10px,22px);letter-spacing:-0.015em}
h2{font-size:clamp(15px,1vw + 9px,17px);letter-spacing:-0.01em}
h3{font-size:14px;letter-spacing:-0.005em}

/* ================================================================
   POLISH PASS v2 (2026-04-20) — visible premium upgrade:
   stats, card titles, meta chips, file rows, latest badge,
   deploy popover, expand-all, quiet comments button
   ================================================================ */

/* ---- STAT CARDS: gradient border + colored accent + roomier ---- */
.stats{gap:14px !important}
.stat-card{
  position:relative;
  min-height:96px;
  padding:16px 18px !important;
  background:
    radial-gradient(120% 80% at 0% 0%, rgba(113,112,255,0.09), transparent 60%),
    linear-gradient(180deg,#1a1c26,#15161e) !important;
  border:1px solid rgba(255,255,255,0.07) !important;
  border-radius:14px !important;
  box-shadow:0 1px 0 rgba(255,255,255,0.04) inset, 0 8px 22px -14px rgba(0,0,0,0.55) !important;
  overflow:hidden;
}
.stat-card::before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(135deg,rgba(113,112,255,0.35),transparent 40%);
  mask:linear-gradient(#000,#000) content-box, linear-gradient(#000,#000);
  -webkit-mask:linear-gradient(#000,#000) content-box, linear-gradient(#000,#000);
  -webkit-mask-composite:xor; mask-composite:exclude;
  padding:1px;opacity:.55;
}
.stat-card:nth-child(2)::before{background:linear-gradient(135deg,rgba(52,211,153,0.45),transparent 42%)}
.stat-card:nth-child(3)::before{background:linear-gradient(135deg,rgba(251,191,36,0.45),transparent 42%)}
.stat-card:nth-child(4)::before{background:linear-gradient(135deg,rgba(244,114,182,0.45),transparent 42%)}
.stat-number{
  font-size:30px !important;
  font-weight:700 !important;
  line-height:1.05 !important;
  letter-spacing:-0.025em !important;
  background:linear-gradient(180deg,#ffffff,#b9bec9);
  -webkit-background-clip:text;background-clip:text;color:transparent !important;
  margin-bottom:4px !important;
}
.stat-card:nth-child(2) .stat-number{background:linear-gradient(180deg,#9effcf,#34d399);-webkit-background-clip:text;background-clip:text}
.stat-card:nth-child(3) .stat-number{background:linear-gradient(180deg,#ffe29a,#fbbf24);-webkit-background-clip:text;background-clip:text}
.stat-card:nth-child(4) .stat-number{background:linear-gradient(180deg,#ffc1e0,#f472b6);-webkit-background-clip:text;background-clip:text}
.stat-label{
  font-size:11.5px !important;
  font-weight:600 !important;
  color:#8b93a3 !important;
  text-transform:uppercase !important;
  letter-spacing:0.08em !important;
}
.stat-icon{
  position:absolute !important;top:14px !important;right:14px !important;
  font-size:18px !important;opacity:.35 !important;
  color:#7170ff;
}
.stat-card:nth-child(2) .stat-icon{color:#34d399}
.stat-card:nth-child(3) .stat-icon{color:#fbbf24}
.stat-card:nth-child(4) .stat-icon{color:#f472b6}

/* ---- PROJECT CARD: stronger title, breathing room ---- */
.project-card{
  border-radius:16px !important;
  background:linear-gradient(180deg,#181a23,#131520) !important;
  border:1px solid rgba(255,255,255,0.07) !important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}
.project-card:hover{
  border-color:rgba(113,112,255,0.28) !important;
  box-shadow:0 14px 40px -20px rgba(113,112,255,0.35), 0 2px 0 rgba(255,255,255,0.03) inset !important;
}
.project-card .card-header{padding:16px 18px !important;gap:14px !important}
.project-card .card-info h3{
  font-size:16px !important;
  font-weight:650 !important;
  letter-spacing:-0.012em !important;
  color:#f4f5f8 !important;
  margin:0 0 6px 0 !important;
  line-height:1.25 !important;
}
.project-card .card-icon{
  width:40px !important;height:40px !important;border-radius:10px !important;
  box-shadow:0 4px 12px -6px rgba(0,0,0,0.5), 0 0 0 1px rgba(255,255,255,0.06) inset !important;
}
.project-card .card-icon .icon-initials{font-size:14px !important;font-weight:700 !important;letter-spacing:0.02em !important}

/* ---- META TAGS: role-based visual differentiation ---- */
.project-card .card-meta{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.meta-tag{
  font-size:10.5px !important;
  font-weight:600 !important;
  letter-spacing:0.03em !important;
  text-transform:uppercase;
  padding:3px 8px !important;
  border-radius:6px !important;
  line-height:1.5 !important;
}
/* Language/direction tag (first) — subtle purple */
.card-meta .meta-tag:nth-child(1){
  background:rgba(113,112,255,0.12) !important;
  border:1px solid rgba(113,112,255,0.22) !important;
  color:#b5b4ff !important;
}
/* Count tag (second) — neutral */
.card-meta .meta-tag:nth-child(2){
  background:rgba(255,255,255,0.04) !important;
  border:1px solid rgba(255,255,255,0.08) !important;
  color:#9aa1af !important;
  text-transform:none !important;
}
/* Updated tag (third) — muted, smaller weight */
.card-meta .meta-tag:nth-child(3){
  background:transparent !important;
  border:1px solid rgba(255,255,255,0.07) !important;
  color:#7d8593 !important;
  text-transform:none !important;
  font-weight:500 !important;
}

/* ---- CTA GROUP: primary Preview bolder, Comments ghosted ---- */
.card-cta-group{gap:6px !important;align-items:center}
.preview-cta.primary-accent{
  background:linear-gradient(180deg,#7170ff,#5856e6) !important;
  border:1px solid rgba(113,112,255,0.65) !important;
  color:#fff !important;
  font-weight:600 !important;
  padding:7px 13px !important;
  border-radius:9px !important;
  box-shadow:0 4px 14px -4px rgba(113,112,255,0.55), 0 1px 0 rgba(255,255,255,0.15) inset !important;
}
.preview-cta.primary-accent:hover{
  background:linear-gradient(180deg,#8584ff,#6967ed) !important;
  transform:translateY(-1px);
}
.preview-cta.primary-accent svg{width:12px !important;height:12px !important}
.project-comments-btn{
  background:transparent !important;
  border:1px solid rgba(255,255,255,0.09) !important;
  color:#a8adb8 !important;
  padding:7px 11px !important;
  border-radius:9px !important;
  font-weight:500 !important;
}
.project-comments-btn:hover{
  background:rgba(255,255,255,0.04) !important;
  color:#e4e6ec !important;
  border-color:rgba(255,255,255,0.14) !important;
}

/* ---- CARD BODY TOOLS ROW — quieter ---- */
.card-tools-row{
  padding:10px 18px !important;
  gap:8px !important;
  border-top:1px solid rgba(255,255,255,0.05);
  background:rgba(255,255,255,0.015);
}
.card-tools-row .action-btn{
  font-size:12px !important;
  padding:6px 11px !important;
  border-radius:8px !important;
  background:transparent !important;
  border:1px solid rgba(255,255,255,0.08) !important;
  color:#c1c6d0 !important;
  font-weight:500 !important;
}
.card-tools-row .action-btn:hover{
  background:rgba(113,112,255,0.08) !important;
  border-color:rgba(113,112,255,0.3) !important;
  color:#fff !important;
}

/* ---- VERSION / LATEST badges — proper green pill ---- */
.version-section{padding:12px 18px !important}
.version-header{gap:8px !important;margin-bottom:10px !important;display:flex;align-items:center}
.version-title{
  font-size:12.5px !important;
  font-weight:600 !important;
  color:#e4e6ec !important;
  letter-spacing:0.01em !important;
  text-transform:none !important;
  display:inline-flex;align-items:center;gap:8px;
}
.version-dot.latest{
  width:7px !important;height:7px !important;border-radius:50% !important;
  background:#34d399 !important;
  box-shadow:0 0 0 3px rgba(52,211,153,0.15), 0 0 10px rgba(52,211,153,0.5) !important;
}
.v-badge{
  background:linear-gradient(180deg,rgba(52,211,153,0.2),rgba(52,211,153,0.08)) !important;
  border:1px solid rgba(52,211,153,0.35) !important;
  color:#6ee7b7 !important;
  font-size:10px !important;
  font-weight:700 !important;
  padding:2px 7px !important;
  border-radius:5px !important;
  text-transform:uppercase !important;
  letter-spacing:0.06em !important;
}

/* ---- FILE ROWS: cleaner, less cheap-blue ---- */
.file-row{
  padding:10px 12px !important;
  background:rgba(255,255,255,0.02) !important;
  border:1px solid rgba(255,255,255,0.06) !important;
  border-radius:10px !important;
  gap:10px !important;
  margin-bottom:6px !important;
}
.file-row:hover{background:rgba(255,255,255,0.035) !important;border-color:rgba(255,255,255,0.1) !important}
.file-badge{
  font-size:10px !important;
  font-weight:700 !important;
  padding:3px 7px !important;
  border-radius:5px !important;
  letter-spacing:0.05em !important;
  text-transform:uppercase !important;
}
.file-badge.html{background:rgba(251,146,60,0.15) !important;border:1px solid rgba(251,146,60,0.3) !important;color:#fdba74 !important}
.file-badge.txt,.file-badge.prompt{background:rgba(96,165,250,0.15) !important;border:1px solid rgba(96,165,250,0.3) !important;color:#93c5fd !important}
.file-badge.json{background:rgba(168,85,247,0.15) !important;border:1px solid rgba(168,85,247,0.3) !important;color:#c4b5fd !important}
.file-row .file-name,.file-row .file-details{font-size:12px !important;color:#c1c6d0 !important}
.file-row .file-size{color:#8b93a3 !important;font-size:11px !important;font-variant-numeric:tabular-nums}
.file-row .action-btn{
  font-size:11.5px !important;
  padding:5px 10px !important;
  border-radius:7px !important;
  font-weight:500 !important;
  background:transparent !important;
  border:1px solid rgba(255,255,255,0.1) !important;
  color:#c1c6d0 !important;
}
.file-row .action-btn:hover{background:rgba(113,112,255,0.1) !important;border-color:rgba(113,112,255,0.35) !important;color:#fff !important}
.file-row .action-btn.success{
  background:linear-gradient(180deg,rgba(52,211,153,0.18),rgba(52,211,153,0.08)) !important;
  border-color:rgba(52,211,153,0.35) !important;
  color:#6ee7b7 !important;
}
.file-row .action-btn.success:hover{
  background:linear-gradient(180deg,rgba(52,211,153,0.25),rgba(52,211,153,0.12)) !important;
  color:#a7f3d0 !important;
}
.agent-hide-btn{
  background:transparent !important;border:1px solid rgba(255,255,255,0.08) !important;
  color:#8b93a3 !important;font-size:11.5px !important;padding:4px 9px !important;border-radius:7px !important;
}
.agent-hide-btn:hover{color:#e4e6ec !important;border-color:rgba(255,255,255,0.15) !important}

/* ---- HEADER: Expand-all pill, Sync refined ---- */
#bulk-expand-toggle,button[onclick*="bulkExpand"]{
  background:rgba(255,255,255,0.04) !important;
  border:1px solid rgba(255,255,255,0.09) !important;
  color:#c1c6d0 !important;
  font-size:12px !important;font-weight:500 !important;
  padding:7px 12px !important;border-radius:9px !important;
}
#bulk-expand-toggle:hover{background:rgba(113,112,255,0.12) !important;border-color:rgba(113,112,255,0.35) !important;color:#fff !important}

/* ---- DEPLOYMENT STATUS CORNER POPOVER — quieter ---- */
#fixer-deploy-panel,.deploy-status-panel,[class*="deployment-status"]{
  background:linear-gradient(180deg,#1a1c26,#15161e) !important;
  border:1px solid rgba(255,255,255,0.08) !important;
  border-radius:12px !important;
  box-shadow:0 10px 30px -10px rgba(0,0,0,0.6), 0 1px 0 rgba(255,255,255,0.04) inset !important;
  backdrop-filter:blur(12px);
}

/* ---- SECTION SPACING ---- */
.projects-section,#projects-container{padding-top:8px}
#projects-grid{gap:18px !important}
.view-modes{gap:6px !important;margin-bottom:14px}
.view-btn{
  background:transparent !important;
  border:1px solid rgba(255,255,255,0.09) !important;
  color:#9aa1af !important;
  font-size:12px !important;padding:6px 12px !important;border-radius:8px !important;font-weight:500 !important;
}
.view-btn.active{background:rgba(113,112,255,0.18) !important;border-color:rgba(113,112,255,0.4) !important;color:#fff !important}

/* ---- RESPONSIVE TIGHTENING ---- */
@media (max-width:1200px){
  .stats{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media (max-width:680px){
  .stats{grid-template-columns:1fr !important}
  .stat-card{min-height:72px}
  .stat-number{font-size:26px !important}
  .project-card .card-info h3{font-size:15px !important}
}

/* ================================================================
   POLISH PASS v2.1 (2026-04-20) — quick wins after visual audit:
   kill card-stretch dead space, bump title hierarchy, tighter grid
   ================================================================ */
.projects-grid{
  align-items:start !important;
  grid-auto-rows:min-content !important;
  gap:18px !important;
}
/* Stronger title hierarchy on project cards */
.project-card h3,
.project-card .project-title,
.project-card [class*="project-name"]{
  font-size:17px !important;
  font-weight:700 !important;
  letter-spacing:-0.015em !important;
  line-height:1.25 !important;
}
/* Subtle card hover for grid polish */
.project-card{
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}
.project-card:hover{
  transform:translateY(-1px);
  border-color:rgba(113,112,255,0.35) !important;
  box-shadow:0 8px 24px -12px rgba(0,0,0,0.5), 0 0 0 1px rgba(113,112,255,0.12) !important;
}
/* Tighten main container max-width and add breathing room at bottom */
main, main.container{
  padding-bottom:48px !important;
}
/* Ensure the radar/drawer/modal layer doesn't create a phantom full-viewport box when empty */
.radar-drawer:not(.open):empty,
.radar-drawer[aria-hidden="true"]:not(.open){
  min-height:0 !important;
  height:0 !important;
  pointer-events:none;
}
/* END POLISH PASS v2.1 */

/* ================================================================
   POLISH PASS v2.2 (2026-04-20) — Fix broken layout issues:
   1. radar-drawer phantom space → visibility hidden when closed
   2. #projects-grid min-height:60vh blank gap → 200px
   3. preview-modal header overflow on smaller screens → flex-wrap
   4. K8 card heading overflow → word-break
   ================================================================ */

/* 1. Radar drawer — use visibility:hidden so it truly has no viewport effect when closed */
.radar-drawer:not(.open){
  visibility:hidden !important;
  pointer-events:none !important;
  overflow:hidden !important;
}
.radar-drawer.open{
  visibility:visible !important;
}

/* 2. Projects grid min-height — remove the 60vh blank gap */
#projects-grid{
  min-height:200px !important;
}

/* 3. Preview modal header — prevent wrapping chaos, allow orderly flex */
#preview-modal .modal-header,
#compare-modal .modal-header,
#focus-modal .modal-header,
#prompt-modal .modal-header {
  flex-wrap:wrap !important;
  gap:8px !important;
  row-gap:6px !important;
  padding:10px 16px !important;
  align-items:center !important;
}
#preview-modal .modal-header .modal-title{
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#preview-modal .modal-header .device-tabs{
  flex-shrink:0;
}
#preview-modal .modal-header .modal-close{
  flex-shrink:0;
  margin-left:auto;
}

/* 4. Card headings — prevent title text overflow on narrow cards */
.project-card h3,
.project-card .project-title,
.project-card [class*="project-name"]{
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:normal !important;
  word-break:break-word !important;
}

/* END POLISH PASS v2.2 */

/*
 ╔══════════════════════════════════════════════════════════════════════╗
 ║  POLISH PASS v2.3 (2026-04-20) — COMPREHENSIVE STRUCTURAL FIX       ║
 ║  Fixes: accordion overflow leak, phantom scrollHeight,               ║
 ║  header height, last-sync-meta wrapping, tab nav compression,        ║
 ║  stat-card scrollWidth inflation, conflicting card CSS rules         ║
 ╚══════════════════════════════════════════════════════════════════════╝
*/

/* ── 1. ACCORDION: Fix the core conflict ────────────────────────────────
   Prior rules set overflow:visible!important on .card-body which breaks
   the CSS grid row animation (grid-template-rows:0fr needs overflow:hidden
   so collapsed content doesn't bleed into layout).
   Solution: collapsed = overflow:hidden + height:0, expanded = overflow:visible
   ──────────────────────────────────────────────────────────────────── */
.card-body {
  display: grid !important;
  grid-template-rows: 0fr !important;
  overflow: hidden !important;         /* MUST be hidden when collapsed */
  transition: grid-template-rows 0.3s ease !important;
  max-height: none !important;         /* Neutralize old max-height accordion */
}
.project-card.expanded .card-body {
  grid-template-rows: 1fr !important;
  overflow: visible !important;        /* Allow sticky footers to work when open */
}
.card-body-inner {
  min-height: 0 !important;           /* Required for 0fr to work */
  overflow: hidden !important;        /* Clip sticky children in collapsed state */
}
.project-card.expanded .card-body-inner {
  overflow: visible !important;       /* Allow sticky footer when expanded */
}
/* Force padding=0 on inner when collapsed so 0fr gives true 0px height */
.project-card:not(.expanded) .card-body-inner {
  padding: 0 !important;
  border-top-width: 0 !important;
}

/* ── 2. PROJECT CARD: Only expanded cards get overflow:visible ──────────
   Collapsed cards MUST clip their content (overflow:hidden).
   All prior rules set overflow:visible universally — this fixes that.
   ──────────────────────────────────────────────────────────────────── */
.project-card {
  overflow: hidden !important;
}
.project-card.expanded {
  overflow: visible !important;
}

/* ── 3. HEADER HEIGHT: Fix last-sync-meta causing 106px tall header ─────
   The two .last-sync-meta blocks inside .status-stack were each 63px
   because their text was wrapping in a constrained width. Force nowrap.
   ────────────���─────────────────────────────────────────────────────── */
.last-sync-meta {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  min-width: 0 !important;
  max-width: 260px !important;
  padding: 4px 10px !important;
  line-height: 1.4 !important;
}
.status-stack {
  flex-wrap: nowrap !important;
  min-width: 0 !important;
}

/* ── 4. HEADER ACTIONS: Prevent search bar shrink ───────────────────────
   .search-wrap was shrinking to 178px instead of staying ~280px
   ──────────────────────────────────────────────────────────────────── */
.search-wrap {
  flex-shrink: 0 !important;
  min-width: 200px !important;
}
@media (max-width: 900px) {
  .search-wrap {
    min-width: 140px !important;
    flex-shrink: 1 !important;
  }
}

/* ── 5. TAB NAV: Prevent tabs from being crushed ────────────────────────
   .fixer-tab-nav was squeezing to 308px, hiding tab labels (16px wide)
   ──────────────────────────────────────────────────────────────────── */
.fixer-tab-nav {
  flex-shrink: 0 !important;
}
.fixer-tab-btn .tab-label {
  display: inline !important;         /* Force labels visible at desktop */
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
@media (max-width: 860px) {
  .fixer-tab-btn .tab-label {
    display: none !important;
  }
}

/* ── 6. STAT CARD: Fix ::after pseudo-element scrollWidth inflation ──────
   inset: auto -20% -55% auto placed the glow orb outside card bounds,
   inflating scrollWidth by ~58px per card and causing horizontal scroll.
   ──────────────────────────────────────────────────────────────────── */
.stat-card {
  overflow: hidden !important;        /* Clip the ::after orb to card bounds */
}
.stats-grid {
  overflow: hidden !important;
}

/* ── 7. STAT NUMBER: Resolve font-size conflict ─────────────────────────
   Line 186 sets 42px, line 3203 sets 26px (stat-value not stat-number),
   line 484 sets 28px at tablet. Normalize to single definition.
   ──────────────────────────────────────────────────────────────────── */
.stat-number {
  font-size: 36px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: -0.04em !important;
}
@media (max-width: 900px) {
  .stat-number { font-size: 28px !important; }
}
@media (max-width: 600px) {
  .stat-number { font-size: 24px !important; }
}

/* ── 8. MAIN CONTENT: Clip phantom scroll height ────────────────────────
   The main element was 5107px scrollHeight due to collapsed card overflow.
   Clip the projects-grid and let normal content drive height.
   ──────────────────────────────────────────────────────────────────── */
#projects-grid {
  overflow: hidden !important;        /* Clip phantom card overflow */
  min-height: 120px !important;       /* Reduce from 200px — less dead space */
}

/* ── 9. HEADER INNER: Tighten vertical alignment ────────────────────────
   Header was 106px due to sync meta height; with fix #3 it should
   normalize. Ensure max-height cap prevents future regression.
   ──────────────────────────────────────────────────────────────────── */
.header-inner {
  align-items: center !important;
  flex-wrap: nowrap !important;
}
@media (max-width: 860px) {
  .header-inner {
    flex-wrap: wrap !important;
  }
}

/* END POLISH PASS v2.3 */

/* ╔══════════════════════════════════════════════════════════════════╗
   ║  POLISH PASS v3.0 (2026-04-20) — PROFESSIONAL REDESIGN          ║
   ║  Full visual overhaul: typography, grid, cards, header,          ║
   ║  stat-cards, spacing, mobile/tablet responsive fixes             ║
   ╚══════════════════════════════════════════════════════════════════╝ */

/* ── 1. ROOT TOKENS — richer palette & tighter scale ────────────── */
:root {
  --brand:        #7170ff;
  --brand-dim:    rgba(113,112,255,0.18);
  --brand-glow:   rgba(113,112,255,0.10);
  --accent-green: #5de3a8;
  --accent-gold:  #e0b84a;
  --text-hi:      #f0f2ff;
  --text-mid:     #c4c9e2;
  --text-lo:      #7b82a6;
  --card-bg:      rgba(20,21,35,0.92);
  --card-border:  rgba(255,255,255,0.065);
  --card-hover:   rgba(113,112,255,0.06);
  --r-card:       18px;
  --r-btn:        10px;
  --shadow-card:  0 4px 24px rgba(0,0,0,0.36), 0 1px 3px rgba(0,0,0,0.20);
  --shadow-hover: 0 8px 40px rgba(0,0,0,0.48), 0 0 0 1px rgba(113,112,255,0.16);
}

/* ── 2. BODY — safe scroll anchor below fixed header ────────────── */
body {
  padding-top: 80px !important;
}
.container {
  padding: 28px 32px 80px !important;
  max-width: 1400px !important;
}

/* ── 3. HEADER — refined, tighter, more professional ────────────── */
.header {
  height: 62px !important;
  backdrop-filter: blur(20px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
  background: rgba(8,9,14,0.88) !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  box-shadow: 0 1px 0 rgba(113,112,255,0.08) !important;
}
.header-inner {
  height: 62px !important;
  padding: 0 28px !important;
  gap: 14px !important;
}
.logo h1 {
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: -0.04em !important;
  color: var(--text-hi) !important;
}
.header-actions {
  gap: 8px !important;
}
.header-actions .action-btn,
.header-actions button {
  height: 34px !important;
  padding: 0 12px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  border-radius: var(--r-btn) !important;
  white-space: nowrap !important;
}

/* ── 4. STAT CARDS — clean, semantic, proportional ──────────────── */
.stats {
  gap: 14px !important;
  margin-bottom: 32px !important;
}
.stat-card {
  padding: 18px 22px !important;
  border-radius: var(--r-card) !important;
  background: var(--card-bg) !important;
  border: 1px solid var(--card-border) !important;
  box-shadow: var(--shadow-card) !important;
  transition: box-shadow 0.18s ease, transform 0.18s ease !important;
  position: relative !important;
  overflow: hidden !important;
}
.stat-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--brand-glow);
  opacity: 0;
  transition: opacity 0.2s ease;
  pointer-events: none;
}
.stat-card:hover::before { opacity: 1; }
.stat-card:hover {
  box-shadow: var(--shadow-hover) !important;
  transform: translateY(-2px) !important;
}
/* Semantic stat colors — consistent, not rainbow */
.stat-card .stat-number {
  font-size: 28px !important;
  font-weight: 800 !important;
  letter-spacing: -0.04em !important;
  line-height: 1 !important;
  color: var(--text-hi) !important;
}
.stat-card:nth-child(1) .stat-number { color: #a0a8ff !important; }
.stat-card:nth-child(2) .stat-number { color: #a0a8ff !important; }
.stat-card:nth-child(3) .stat-number { color: var(--accent-green) !important; }
.stat-card:nth-child(4) .stat-number { color: var(--accent-gold) !important; }
.stat-label {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--text-lo) !important;
  margin-top: 5px !important;
  display: block !important;
}

/* ── 5. SECTION TITLE — stronger, cleaner hierarchy ─────────────── */
.section-title {
  font-size: 20px !important;
  font-weight: 800 !important;
  letter-spacing: -0.045em !important;
  color: var(--text-hi) !important;
  margin-bottom: 20px !important;
  gap: 10px !important;
}

/* ── 6. PROJECT CARDS GRID — fluid, works 320px→2560px ──────────── */
.projects-grid {
  grid-template-columns: repeat(auto-fill, minmax(min(360px, 100%), 1fr)) !important;
  gap: 16px !important;
  min-height: 200px !important;
}
.project-card {
  background: var(--card-bg) !important;
  border: 1px solid var(--card-border) !important;
  border-radius: var(--r-card) !important;
  box-shadow: var(--shadow-card) !important;
  transition: box-shadow 0.2s ease, border-color 0.2s ease !important;
  overflow: hidden !important;
}
.project-card:hover {
  border-color: rgba(113,112,255,0.22) !important;
  box-shadow: var(--shadow-hover) !important;
}
.project-card.expanded {
  border-color: rgba(113,112,255,0.28) !important;
}

/* ── 7. CARD HEADER — no hacks, proper grid layout ──────────────── */
.card-header {
  display: grid !important;
  grid-template-columns: 48px 1fr !important;
  grid-template-rows: auto auto !important;
  align-items: start !important;
  gap: 0 14px !important;
  padding: 20px !important;
  flex-direction: unset !important;
}
.card-icon {
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
  width: 48px !important;
  height: 48px !important;
  border-radius: 14px !important;
  flex-shrink: 0 !important;
  align-self: start !important;
  margin-top: 2px !important;
}
.card-info {
  grid-column: 2 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
}
.card-right {
  grid-column: 2 !important;
  grid-row: 2 !important;
  width: 100% !important;
  margin-left: 0 !important;
  padding-top: 10px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

/* ── 8. CARD TYPOGRAPHY — proper scale, scannable ───────────────── */
.card-info h3 {
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  color: var(--text-hi) !important;
  line-height: 1.25 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  margin-bottom: 7px !important;
  word-break: break-word !important;
}
.meta-tag {
  font-size: 11.5px !important;
  font-weight: 600 !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  color: var(--text-mid) !important;
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  line-height: 1.4 !important;
}
.card-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}

/* ── 9. CARD ACTION BUTTONS — clear hierarchy, pill style ───────── */
.card-right .action-btn,
.card-cta-group .action-btn {
  height: 32px !important;
  padding: 0 12px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  border-radius: var(--r-btn) !important;
  white-space: nowrap !important;
  transition: all 0.16s ease !important;
}
.card-right .action-btn.primary,
.card-cta-group .action-btn.primary {
  background: linear-gradient(135deg, rgba(113,112,255,0.72), rgba(80,92,220,0.72)) !important;
  border-color: rgba(113,112,255,0.48) !important;
  color: #fff !important;
}
.card-right .action-btn.primary:hover,
.card-cta-group .action-btn.primary:hover {
  background: linear-gradient(135deg, rgba(130,128,255,0.88), rgba(98,108,235,0.88)) !important;
}

/* ── 10. RESPONSIVE — TABLET (max 900px) ────────────────────────── */
@media (max-width: 900px) {
  body { padding-top: 62px !important; }
  .container { padding: 20px 18px 70px !important; }
  .header-inner { padding: 0 18px !important; }
  .stats {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
  .stat-card { padding: 16px 18px !important; }
  .stat-card .stat-number { font-size: 24px !important; }
  .projects-grid {
    grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr)) !important;
    gap: 12px !important;
  }
  .section-title { font-size: 17px !important; }
}

/* ── 11. RESPONSIVE — MOBILE (max 600px) ────────────────────────── */
@media (max-width: 600px) {
  body { padding-top: 58px !important; }
  .container { padding: 14px 12px 64px !important; }
  .header { height: 56px !important; }
  .header-inner { height: 56px !important; padding: 0 14px !important; }
  .logo h1 { font-size: 14px !important; }
  .header-actions .action-btn,
  .header-actions button { height: 30px !important; padding: 0 9px !important; font-size: 11px !important; }
  .stats {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
    margin-bottom: 22px !important;
  }
  .stat-card { padding: 14px 14px !important; }
  .stat-card .stat-number { font-size: 22px !important; }
  .stat-label { font-size: 10px !important; }
  .projects-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .section-title { font-size: 16px !important; margin-bottom: 14px !important; }
  .card-header { padding: 16px 14px !important; gap: 0 12px !important; }
  .card-icon { width: 42px !important; height: 42px !important; }
  .card-info h3 { font-size: 14px !important; }
  .meta-tag { font-size: 11px !important; }
  .card-right { padding-top: 8px !important; gap: 6px !important; }
  .card-right .action-btn,
  .card-cta-group .action-btn { height: 30px !important; padding: 0 10px !important; font-size: 11px !important; }
}

/* ── 12. CARD BODY (EXPANDED) — tighter, cleaner ────────────────── */
.card-body-inner {
  padding: 0 20px 20px !important;
}
.project-card.expanded .card-body-inner {
  padding: 0 20px 20px !important;
}
.project-card:not(.expanded) .card-body-inner {
  padding: 0 !important;
  border-top-width: 0 !important;
}

/* ── 13. SUBTLE PAGE BACKGROUND — depth without noise ───────────── */
html {
  background: #070810 !important;
}
body {
  background:
    radial-gradient(ellipse 80% 40% at 50% -5%, rgba(113,112,255,0.12), transparent),
    radial-gradient(ellipse 60% 30% at 80% 90%, rgba(80,160,255,0.05), transparent),
    #070810 !important;
}

/* ── 14. SCROLLBAR — minimal, dark ──────────────────────────────── */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.12); border-radius: 99px; }
::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.22); }

/* ── 15. VIEW TOGGLE BAR — refined ──────────────────────────────── */
.view-toggle {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.07) !important;
  border-radius: 10px !important;
  padding: 3px !important;
}
.view-toggle button {
  border-radius: 8px !important;
  font-size: 12px !important;
  padding: 5px 10px !important;
}

/* END POLISH PASS v3.0 */

/* ╔══════════════════════════════════════════════════════════════════╗
   ║  POLISH PASS v3.1 (2026-04-20) — MOBILE HEADER OVERHAUL         ║
   ║  2-row sticky header on mobile: row1=logo+actions, row2=tabs     ║
   ║  Smooth tab underline, swipeable scroll, no text truncation      ║
   ╚══════════════════════════════════════════════════════════════════╝ */

/* ── MOBILE HEADER: two-row layout ≤768px ───────────────────────── */
/*
   DOM: .header-inner > .logo + .header-actions > [fixer-tab-nav, btns, search, status]
   Strategy: .header fixed at 52px, tab-nav gets its own position:fixed at top:52px
   → cleanest approach since tab-nav is nested inside header-actions
*/
@media (max-width: 768px) {

  /* ── Row 1: Main header bar — 52px ──────────────────────────── */
  .header {
    height: 52px !important;
    padding: 0 !important;
    overflow: visible !important;
  }
  .header-inner {
    height: 52px !important;
    max-width: 100% !important;
    padding: 0 12px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
  }

  /* Logo — left side */
  .logo {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
    order: 1 !important;
  }
  .logo-link {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    text-decoration: none !important;
    min-width: 0 !important;
  }
  .logo-icon {
    width: 28px !important;
    height: 28px !important;
    border-radius: 8px !important;
    flex-shrink: 0 !important;
  }
  .logo-icon svg {
    width: 14px !important;
    height: 14px !important;
  }
  .logo h1 {
    font-size: 14.5px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 130px !important;
  }

  /* Actions — right side (hide noise, show only ? and Sync) */
  .header-actions {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    height: 100% !important;
    padding: 0 !important;
    flex-wrap: nowrap !important;
    order: 2 !important;
  }
  .status-stack,
  .last-sync-meta,
  .search-wrap,
  #bulk-toggle-projects {
    display: none !important;
  }
  .header-menu-btn,
  .hdr-sync-btn {
    height: 32px !important;
    min-height: 32px !important;
    padding: 0 10px !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    border-radius: 9px !important;
    white-space: nowrap !important;
  }

  /* ── Row 2: Tab nav — FIXED below header bar at top:52px ─────── */
  .fixer-tab-nav {
    position: fixed !important;
    top: 52px !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9998 !important;
    height: 40px !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    gap: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    padding: 0 4px !important;
    background: #0b0d10 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border-bottom: 1px solid rgba(255,255,255,0.12) !important;
    box-shadow: 0 8px 18px rgba(0,0,0,0.22) !important;
    scroll-snap-type: x proximity !important;
  }
  .fixer-tab-nav::-webkit-scrollbar {
    display: none !important;
  }

  /* Tab buttons */
  .fixer-tab-btn {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 15px !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: rgba(255,255,255,0.48) !important;
    position: relative !important;
    scroll-snap-align: start !important;
    transition: color 0.15s ease, background 0.15s ease !important;
    letter-spacing: 0.01em !important;
  }
  .fixer-tab-btn svg {
    width: 13px !important;
    height: 13px !important;
    flex-shrink: 0 !important;
    opacity: 0.7 !important;
  }
  /* Always show tab label text on mobile */
  .fixer-tab-btn .tab-label {
    display: inline !important;
  }

  /* Active tab: full-color text + underline accent */
  .fixer-tab-btn.active {
    color: #fff !important;
    background: transparent !important;
  }
  .fixer-tab-btn.active svg {
    opacity: 1 !important;
  }
  .fixer-tab-btn.active::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 12px !important;
    right: 12px !important;
    height: 2px !important;
    background: linear-gradient(90deg, #7170ff, #a79fff) !important;
    border-radius: 2px 2px 0 0 !important;
  }
  .fixer-tab-btn:not(.active):hover {
    color: rgba(255,255,255,0.80) !important;
    background: rgba(255,255,255,0.04) !important;
  }

  /* Body offset: 52px header + 40px tab bar = 92px */
  body {
    padding-top: 92px !important;
  }
  .container {
    padding-top: 16px !important;
  }
}

/* ── VERY SMALL MOBILE (≤400px) ─────────────────────────────────── */
@media (max-width: 400px) {
  .logo h1 {
    font-size: 13px !important;
    max-width: 100px !important;
  }
  .fixer-tab-btn {
    padding: 0 11px !important;
    font-size: 12px !important;
    gap: 4px !important;
  }
  .fixer-tab-btn svg {
    width: 12px !important;
    height: 12px !important;
  }
  .header-menu-btn,
  .hdr-sync-btn {
    padding: 0 8px !important;
    font-size: 11px !important;
  }
}

/* END POLISH PASS v3.1 */

/* ================================================================
   POLISH PASS v3.2 (2026-04-20) — HEADER FULL SYMMETRY & RESPONSIVE
   Goal: All header elements exactly 36px tall on every screen size.
   - status-stack: single inline row (pill + sync-time only)
   - fixer-tab-nav: 36px height, compact tabs
   - all header-menu-btn / hdr-sync-btn: 36px unified
   - search-box: 36px height
   - Full responsive: desktop 1280+, laptop 1024, tablet 768, mobile 480
   ================================================================ */

/* ── 1. RESET: unified 36px row-height token for all header controls ── */
.header-actions {
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
  height: auto !important;
}

/* ── 2. status-stack → single inline row, 36px ── */
.status-stack {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 6px !important;
  height: 36px !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
}
.status-pill {
  display: inline-flex !important;
  align-items: center !important;
  height: 36px !important;
  padding: 0 12px !important;
  font-size: 12px !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
}
/* hide the 3rd "Source:" meta item — too verbose for header */
#data-source-detail {
  display: none !important;
}
.last-sync-meta {
  display: inline-flex !important;
  align-items: center !important;
  height: 36px !important;
  padding: 0 10px !important;
  font-size: 11px !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
}

/* ── 3. fixer-tab-nav → 36px container, tabs 30px inner ── */
.fixer-tab-nav {
  height: 36px !important;
  padding: 3px !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
}
.fixer-tab-btn {
  height: 30px !important;
  padding: 0 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  white-space: nowrap !important;
  font-size: 12px !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
}

/* ── 4. header-menu-btn → 36px ── */
.header-menu-btn {
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 13px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  font-size: 12px !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
}

/* ── 5. hdr-sync-btn → 36px ── */
.hdr-sync-btn {
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 13px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  white-space: nowrap !important;
  font-size: 12px !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
}

/* ── 6. search-box → 36px ── */
.search-wrap {
  height: 36px !important;
  box-sizing: border-box !important;
}
.search-box {
  height: 36px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: 36px !important;
  box-sizing: border-box !important;
}

/* ── 7. header-inner vertical centering ── */
.header-inner {
  align-items: center !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  height: 62px !important;
  box-sizing: border-box !important;
}
.logo {
  display: inline-flex !important;
  align-items: center !important;
  height: 36px !important;
  flex-shrink: 0 !important;
}

/* ═══════════════════════════════════════════════════════
   RESPONSIVE BREAKPOINTS
   ═══════════════════════════════════════════════════════ */

/* ── Laptop 1024–1279px: hide last-sync-meta text, shrink search ── */
@media (max-width: 1279px) and (min-width: 1024px) {
  .last-sync-meta { display: none !important; }
  .search-box { width: 180px !important; }
  .fixer-tab-btn { padding: 0 9px !important; font-size: 11px !important; }
}

/* ── Tablet 768–1023px: hide sync-time, shrink tabs further ── */
@media (max-width: 1023px) and (min-width: 769px) {
  .last-sync-meta { display: none !important; }
  .header .search-wrap { display: none !important; }
  .fixer-tab-btn .tab-label { display: none !important; }
  .fixer-tab-btn { padding: 0 8px !important; }
  .header-menu-btn { padding: 0 10px !important; font-size: 11px !important; }
  .hdr-sync-btn { padding: 0 10px !important; font-size: 11px !important; }
}

/* Desktop ≥1024px: inline search is visible, hide the Search button to avoid double-search */
@media (min-width: 1024px) {
  .hdr-search-btn { display: none !important; }
}

/* ── Mobile ≤768px: 2-row layout — keep existing v3.1 logic ── */
@media (max-width: 768px) {
  /* Override v3.2 heights for mobile — allow natural sizing */
  .header-actions {
    flex-wrap: wrap !important;
    height: auto !important;
  }
  .status-stack,
  .status-pill,
  .last-sync-meta,
  .fixer-tab-nav,
  .fixer-tab-btn,
  .header-menu-btn,
  .hdr-sync-btn,
  .search-wrap,
  .search-box {
    height: auto !important;
    min-height: 32px !important;
  }
}

/* END POLISH PASS v3.2 */

/* ================================================================
   DASHBOARD REBUILD v1.0 — 7 targeted improvements
   Pure CSS/HTML, zero JS changes — 2026-04-20
   ================================================================ */

/* ── 1. SLIM HEADER ──────────────────────────────────────────────── */
.header-inner {
  padding: 10px 28px !important;
  min-height: 54px !important;
}

/* ── 2. OVERFLOW MENU (⋯ dropdown) ──────────────────────────────── */
.hdr-overflow-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.hdr-overflow-btn {
  min-height: 34px !important;
  width: 36px;
  padding: 0 !important;
  border-radius: 10px !important;
  border: 1px solid rgba(255,255,255,0.09) !important;
  background: rgba(255,255,255,0.03) !important;
  color: var(--text-secondary) !important;
  font-size: 18px !important;
  font-weight: 400;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s;
  letter-spacing: 0.08em;
  flex-shrink: 0;
  line-height: 1;
}
.hdr-overflow-btn:hover {
  border-color: rgba(255,255,255,0.2) !important;
  background: rgba(255,255,255,0.08) !important;
  color: #fff !important;
}
.hdr-overflow-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 175px;
  background: #181a23;
  border: 1px solid rgba(255,255,255,0.13);
  border-radius: 12px;
  box-shadow: 0 18px 48px rgba(0,0,0,0.6);
  z-index: 10001;
  padding: 5px;
  flex-direction: column;
  gap: 1px;
}
.hdr-overflow-wrap.open .hdr-overflow-dropdown { display: flex; }
.hdr-overflow-item {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 9px 13px;
  border-radius: 8px;
  border: none;
  background: transparent;
  color: var(--text-secondary);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  text-align: left;
  width: 100%;
  transition: background 0.12s, color 0.12s;
  white-space: nowrap;
  font-family: inherit;
}
.hdr-overflow-item:hover {
  background: rgba(113,112,255,0.12);
  color: #e8e6ff;
}
.hdr-overflow-item svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  opacity: 0.72;
}
.hdr-overflow-divider {
  height: 1px;
  background: rgba(255,255,255,0.07);
  margin: 3px 5px;
}

/* ── 3. TAB LABELS — more breathing room ────────────────────────── */
.fixer-tab-btn {
  padding: 8px 17px !important;
  gap: 7px !important;
  font-size: 12.5px !important;
  letter-spacing: -0.01em !important;
}
.fixer-tab-btn.active {
  background: rgba(113,112,255,0.2) !important;
  color: #e4e2ff !important;
  box-shadow: 0 2px 10px rgba(113,112,255,0.2) !important;
}

/* ── 4. STAT CARDS — accent top border + trend label ────────────── */
.stat-card {
  border-top: 3px solid transparent !important;
  border-top-left-radius: 14px !important;
  border-top-right-radius: 14px !important;
}
.stat-card:nth-child(1) { border-top-color: var(--gold) !important; }
.stat-card:nth-child(2) { border-top-color: #4f8cff !important; }
.stat-card:nth-child(3) { border-top-color: #27a644 !important; }
.stat-card:nth-child(4) { border-top-color: #8b7dff !important; }
.stat-trend {
  display: block;
  font-size: 11px;
  color: var(--muted);
  margin-top: 4px;
  font-weight: 500;
  letter-spacing: 0.02em;
  min-height: 14px;
}
.stat-trend.up   { color: #7ee19d; }
.stat-trend.down { color: var(--red); }

/* ── 5. PROJECT CARDS — uniform icons, clean left-border accent ─── */
.card-icon {
  background: rgba(113,112,255,0.15) !important;
  border: 1px solid rgba(113,112,255,0.2) !important;
  box-shadow: none !important;
}
.project-card {
  border-left: 3px solid rgba(113,112,255,0.28) !important;
  border-top-left-radius: 3px !important;
  border-bottom-left-radius: 3px !important;
}
.project-card:hover {
  border-left-color: rgba(113,112,255,0.55) !important;
}
.project-card.expanded {
  border-left-color: var(--gold) !important;
}

/* ── 6. BUTTON HIERARCHY — Preview=solid purple, Comments=ghost ─── */
.preview-cta.primary-accent {
  background: linear-gradient(135deg, #7170ff, #5b5fc7) !important;
  border-color: transparent !important;
  color: #fff !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 14px rgba(113,112,255,0.35) !important;
}
.preview-cta.primary-accent:hover {
  background: linear-gradient(135deg, #8280ff, #6a6ed6) !important;
  box-shadow: 0 6px 20px rgba(113,112,255,0.45) !important;
  transform: translateY(-1px) !important;
}
.action-btn.project-comments-btn {
  background: transparent !important;
  border-color: rgba(255,255,255,0.13) !important;
  color: var(--muted) !important;
  box-shadow: none !important;
}
.action-btn.project-comments-btn:hover {
  background: rgba(255,255,255,0.04) !important;
  border-color: rgba(255,255,255,0.22) !important;
  color: var(--text-secondary) !important;
}

/* ── 7. RECENT ACTIVITY SECTION ─────────────────────────────────── */
.activity-section {
  margin-top: 44px;
  margin-bottom: 20px;
}
.activity-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
  gap: 10px;
}
.activity-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--text-secondary);
  letter-spacing: -0.025em;
  display: flex;
  align-items: center;
  gap: 8px;
}
.activity-title svg {
  width: 16px;
  height: 16px;
  color: var(--gold);
  opacity: 0.8;
}
.activity-feed {
  background: rgba(255,255,255,0.016);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 14px;
  overflow: hidden;
}
.activity-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 16px;
  border-bottom: 1px solid rgba(255,255,255,0.04);
  transition: background 0.13s;
}
.activity-item:last-child { border-bottom: none; }
.activity-item:hover { background: rgba(255,255,255,0.022); }
.activity-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
  background: var(--gold);
  opacity: 0.75;
}
.activity-dot.green  { background: #27a644; }
.activity-dot.blue   { background: #4f8cff; }
.activity-dot.purple { background: #8b7dff; }
.activity-dot.muted  { background: var(--muted); opacity: 0.5; }
.activity-msg {
  flex: 1;
  font-size: 12.5px;
  color: var(--text-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.4;
}
.activity-msg strong { color: var(--text); font-weight: 600; }
.activity-time {
  font-size: 11px;
  color: var(--muted);
  flex-shrink: 0;
  white-space: nowrap;
}
.activity-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 16px 0;
  font-size: 11.5px;
  color: var(--muted);
  flex-wrap: wrap;
  gap: 6px;
}

/* ── 8. FOOTER ───────────────────────────────────────────────────── */
.dashboard-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 0 36px;
  border-top: 1px solid rgba(255,255,255,0.05);
  margin-top: 28px;
  flex-wrap: wrap;
}
.dashboard-footer-info {
  font-size: 11.5px;
  color: var(--muted);
  display: flex;
  align-items: center;
  gap: 10px;
}
.dashboard-footer-dot {
  display: inline-block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: var(--muted);
  opacity: 0.4;
}
.dashboard-footer-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* END DASHBOARD REBUILD v1.0 */

/* ================================================================
   POLISH PASS v3.4 — Fix active tab highlight visibility
   Root cause: kwrLoadHistory was not on window scope → JS error
   in showPage() stopped tab class updates. Fixed + stronger CSS.
   ================================================================ */
/* Strong active tab: bold underline accent + brighter text */
.fixer-tab-btn.active {
  color: #fff !important;
  font-weight: 700 !important;
  background: rgba(113,112,255,0.14) !important;
  box-shadow: inset 0 -2px 0 0 #7170ff !important;
  border-radius: 6px 6px 0 0 !important;
}
.fixer-tab-btn.active svg {
  opacity: 1 !important;
  color: #a79fff !important;
}
.fixer-tab-btn.active::after {
  display: none !important;
}
/* END POLISH PASS v3.4 */

/* ================================================================
   POLISH PASS v3.5 — Expand All button — consistent header style
   Matches hdr-sync-btn pill style. Hidden on mobile (≤768px) and
   on non-projects pages. Responsive at all breakpoints.
   ================================================================ */
.hdr-expand-all-btn {
  height: 34px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  background: rgba(255,255,255,0.05) !important;
  color: rgba(255,255,255,0.65) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.18s ease !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-family: inherit !important;
  box-shadow: none !important;
  letter-spacing: 0.01em !important;
  flex-shrink: 0 !important;
  outline: none !important;
  vertical-align: middle !important;
}
.hdr-expand-all-btn:hover {
  border-color: rgba(255,255,255,0.25) !important;
  background: rgba(255,255,255,0.10) !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}
.hdr-expand-all-btn:active {
  transform: translateY(0) !important;
}
.hdr-expand-all-btn svg {
  width: 13px !important;
  height: 13px !important;
  flex-shrink: 0 !important;
  opacity: 0.75 !important;
}

/* Hide on mobile — shown in ⋯ overflow menu instead */
@media (max-width: 768px) {
  .hdr-expand-all-btn {
    display: none !important;
  }
}

/* Compact at mid-width — shrink padding but keep visible */
@media (max-width: 1100px) {
  .hdr-expand-all-btn {
    padding: 0 9px !important;
    font-size: 11.5px !important;
  }
}

/* Fix: v3.2 media block also hides #bulk-toggle-projects — undo that */
@media (max-width: 1024px) and (min-width: 769px) {
  #bulk-toggle-projects {
    display: inline-flex !important;
  }
}
/* END POLISH PASS v3.5 */

/* ─────────────────────────────────────────────────────────────
   POLISH PASS v3.6 — KWR Auto-Fill card styling
───────────────────────────────────────────────────────────── */
.kwr-autofill-card {
  background: linear-gradient(135deg, rgba(124,58,237,0.07) 0%, rgba(124,58,237,0.02) 100%);
  border: 1.5px solid rgba(124,58,237,0.25) !important;
  padding: 14px 16px 12px !important;
}
.kwr-autofill-card .kwr-section-title {
  color: #7c3aed !important;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 700;
  margin-bottom: 10px !important;
}
#kwr-domain-quick {
  background: var(--surface, #1e1e2e);
  border: 1.5px solid rgba(124,58,237,0.35);
  border-radius: 8px;
  padding: 7px 12px;
  color: var(--text);
  font-size: 13px;
  transition: border-color 0.2s;
}
#kwr-domain-quick:focus {
  outline: none;
  border-color: #7c3aed;
  box-shadow: 0 0 0 3px rgba(124,58,237,0.18);
}
#kwr-autofill-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 34px;
  padding: 0 18px;
  background: #7c3aed;
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.15s, opacity 0.15s;
}
#kwr-autofill-btn:hover { background: #6d28d9; }
#kwr-autofill-btn:disabled { opacity: 0.55; cursor: default; }
/* END POLISH PASS v3.6 */

/* ── POLISH PASS v3.7 — Domain result box + Supabase btn + Ensemble CSS ── */
.kwr-domain-result-box{display:flex;align-items:center;justify-content:space-between;
  background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);
  border-radius:12px;padding:12px 16px;margin-bottom:14px;gap:12px;flex-wrap:wrap}
.kwr-domain-result-label{display:flex;align-items:center;gap:7px;
  font-size:14px;font-weight:700;color:var(--text);letter-spacing:.01em}
.kwr-domain-result-label svg{opacity:.7;flex-shrink:0}
.kwr-download-big-btn{font-size:13px !important;padding:9px 20px !important;font-weight:700 !important}
.kwr-supabase-btn{border-color:rgba(80,200,120,0.35) !important;color:#4ade80 !important}
.kwr-supabase-btn:hover{background:rgba(74,222,128,0.1) !important}
.kwr-ensemble-check{display:flex;align-items:center;gap:6px;font-size:12px;
  color:var(--text);cursor:pointer;padding:4px 10px;border-radius:8px;
  background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.09)}
.kwr-ensemble-check:hover{background:rgba(139,92,246,0.12);border-color:rgba(139,92,246,0.3)}
.kwr-ensemble-check input[type=checkbox]{accent-color:#8b5cf6;cursor:pointer}
/* END POLISH PASS v3.7 */

/* === DARK/LIGHT MODE TOGGLE === */
body.light{--bg:#f0f2f5;--bg-elevated:#fff;--surface:rgba(255,255,255,0.95);--surface-strong:#fff;--card:rgba(0,0,0,0.04);--card-hover:rgba(0,0,0,0.07);--border:rgba(0,0,0,0.1);--border-strong:rgba(0,0,0,0.18);--text:#1a1a2e;--text-secondary:#3a3a5c;--muted:#666;--shadow-soft:0 24px 80px rgba(0,0,0,0.12);--shadow-card:0 10px 30px rgba(0,0,0,0.08)}
body.light .header{background:rgba(240,242,245,0.95)}
body.light .stat-card{background:rgba(0,0,0,0.03)}
.theme-toggle-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:transparent;cursor:pointer;color:var(--muted);font-size:16px;transition:all 0.15s;flex-shrink:0}
.theme-toggle-btn:hover{border-color:var(--border-strong);color:var(--text);background:rgba(255,255,255,0.05)}

/* === MOBILE DRAWER === */
.mobile-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:9998;opacity:0;pointer-events:none;transition:opacity 0.2s}
.mobile-overlay.active{opacity:1;pointer-events:all}
.mobile-drawer{position:fixed;top:0;right:-300px;width:270px;height:100vh;background:var(--surface-strong,#131416);border-left:1px solid var(--border-strong,rgba(255,255,255,0.14));z-index:9999;transition:right 0.25s cubic-bezier(0.2,0,0,1);padding:20px;overflow-y:auto}
.mobile-drawer.open{right:0}
.mobile-drawer-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border,rgba(255,255,255,0.08))}
.mobile-drawer-title{font-size:14px;font-weight:700;color:var(--text)}
.mobile-drawer-x{background:none;border:none;color:var(--muted);cursor:pointer;font-size:22px;padding:0;line-height:1}
.mobile-nav-item{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:10px;border:none;background:transparent;color:var(--text-secondary,#d0d6e0);font-size:13px;font-weight:600;cursor:pointer;width:100%;text-align:left;transition:background 0.15s,color 0.15s}
.mobile-nav-item:hover{background:var(--card-hover,rgba(255,255,255,0.045));color:var(--text)}
.mobile-nav-item--danger{color:#fda4af}
.mobile-nav-item--danger:hover{background:rgba(244,63,94,0.12);color:#ffe4e6}
.hamburger-btn{display:none;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;border:1px solid var(--border,rgba(255,255,255,0.08));background:transparent;cursor:pointer;color:var(--text-secondary);flex-shrink:0}
@media(max-width:768px){.hamburger-btn{display:inline-flex}}

/* === BOTTOM NAVIGATION BAR === */
.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:64px;padding-bottom:env(safe-area-inset-bottom);background:rgba(11,12,16,0.92);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border-top:1px solid rgba(255,255,255,0.07);z-index:900}
.bottom-nav-inner{display:flex;align-items:stretch;height:64px;max-width:480px;margin:0 auto}
.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:48px;color:var(--muted,#8e95a3);background:transparent;border:none;font-size:10px;font-weight:600;cursor:pointer;position:relative;transition:color 0.15s}
.bottom-nav-item.active{color:#7170ff}
.bottom-nav-item svg{width:22px;height:22px;stroke-width:2}
.bottom-nav-item .bn-label{font-size:10px;font-weight:600;letter-spacing:0.2px}
.bottom-nav-fab{position:relative;flex:0 0 64px;display:flex;align-items:center;justify-content:center}
.bn-fab-btn{width:52px;height:52px;border-radius:50%;border:none;background:linear-gradient(135deg,#7170ff,#5b5aee);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(113,112,255,0.35);cursor:pointer;transition:transform 0.15s,box-shadow 0.15s;position:relative;top:-10px}
.bn-fab-btn:active{transform:scale(0.9)}
.bn-fab-btn svg{width:22px;height:22px}
@media(max-width:768px){
  .bottom-nav{display:block}
  .footer{padding-bottom:calc(80px + env(safe-area-inset-bottom))}
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
}

/* === SKELETON LOADING === */
@keyframes skeleton-shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
.sk{background:linear-gradient(90deg,rgba(255,255,255,0.03) 25%,rgba(255,255,255,0.07) 50%,rgba(255,255,255,0.03) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.6s infinite;border-radius:8px}
.sk-card{height:156px;border-radius:var(--radius,16px);border:1px solid var(--border,rgba(255,255,255,0.08));padding:20px;display:flex;flex-direction:column;gap:12px}
.sk-line{height:11px;border-radius:6px}
.sk-w50{width:50%}.sk-w70{width:70%}.sk-w35{width:35%}
/* ============= TASK MANAGER ============= */

/* TASK_MANAGER_REDESIGN_PROMPT_2026_04_26 */
.tasks-redesign-prompt{margin:18px 0 22px;padding:18px;border:1px solid rgba(113,112,255,0.18);border-radius:16px;background:linear-gradient(180deg,rgba(113,112,255,0.10),rgba(255,255,255,0.025));box-shadow:0 16px 40px rgba(0,0,0,0.22)}
.tasks-redesign-prompt-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px;flex-wrap:wrap}
.tasks-redesign-kicker{font-size:11px;font-weight:800;color:var(--gold-light);text-transform:uppercase;letter-spacing:.09em;margin-bottom:5px}
.tasks-redesign-title{font-size:16px;font-weight:750;color:var(--text);letter-spacing:-.02em;margin:0 0 5px}
.tasks-redesign-desc{font-size:12px;color:var(--muted);line-height:1.5;max-width:78ch;margin:0}
.tasks-redesign-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.task-redesign-textarea{width:100%;min-height:320px;max-height:46vh;resize:vertical;background:rgba(0,0,0,0.26);border:1px solid rgba(255,255,255,0.10);border-radius:12px;color:var(--text-secondary);font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;padding:14px;outline:none;white-space:pre;box-sizing:border-box}
.task-redesign-textarea:focus{border-color:rgba(113,112,255,.45);box-shadow:0 0 0 3px rgba(113,112,255,.12)}
@media(max-width:768px){.tasks-redesign-prompt{padding:14px}.tasks-redesign-actions{width:100%}.tasks-redesign-actions .task-btn-ghost,.tasks-redesign-actions .task-btn-primary{flex:1 1 100%;min-height:44px}.task-redesign-textarea{min-height:260px;font-size:11px}}

.tasks-page{padding:0 0 80px}
.tasks-header{margin-bottom:24px}
.tasks-title-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:16px}
.tasks-title{font-size:22px;font-weight:700;letter-spacing:-0.03em}
.tasks-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tasks-view-toggle{display:flex;background:var(--card);border:1px solid var(--border);border-radius:10px;overflow:hidden}
.tasks-view-btn{padding:7px 14px;border:none;background:transparent;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer;transition:all 0.15s}
.tasks-view-btn.active{background:var(--gold-bg);color:var(--gold)}
.tasks-add-btn{padding:8px 18px;background:linear-gradient(135deg,#7170ff,#5b5fc7);color:#fff;border:none;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer;transition:all 0.15s}
.tasks-add-btn:hover{background:linear-gradient(135deg,#828fff,#7170ff);transform:translateY(-1px)}
.tasks-filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.tasks-search{flex:1;min-width:180px;background:rgba(255,255,255,0.04);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:13px;padding:8px 12px;font-family:inherit}
.tasks-search:focus{outline:none;border-color:rgba(113,112,255,0.5)}
.tasks-filter-sel{background:rgba(255,255,255,0.04);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:12px;padding:7px 10px;font-family:inherit;cursor:pointer}
.tasks-filter-sel option{background:var(--surface-strong,#131416)}
.task-group{margin-bottom:20px}
.task-group-header{display:flex;align-items:center;gap:8px;padding:6px 0;margin-bottom:8px;border-bottom:1px solid var(--border)}
.task-group-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.task-group-label{font-size:12px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:0.07em}
.task-group-count{font-size:11px;background:var(--card);border:1px solid var(--border);border-radius:20px;padding:1px 7px;color:var(--muted)}
.task-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:10px;background:var(--card);border:1px solid var(--border);margin-bottom:6px;gap:10px;transition:all 0.15s}
.task-row:hover{border-color:rgba(113,112,255,0.32);background:var(--card-hover)}
.task-row-left{display:flex;align-items:flex-start;gap:10px;flex:1;min-width:0}
.task-done-btn{background:none;border:2px solid var(--border);border-radius:50%;width:22px;height:22px;cursor:pointer;font-size:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all 0.15s;padding:0}
.task-done-btn:hover{border-color:#27a644;color:#27a644}
.task-row-content{flex:1;min-width:0}
.task-row-title{font-size:14px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.task-done-text{text-decoration:line-through;color:var(--muted)}
.task-row-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:3px}
.task-meta-item{font-size:11px;color:var(--muted)}
.task-proj-tag{background:var(--gold-bg);color:var(--gold-light,#f6d860);border-radius:4px;padding:1px 6px;font-size:11px;font-weight:600}
.task-row-right{display:flex;align-items:center;gap:6px;flex-shrink:0}
.task-priority-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.task-icon-btn{background:none;border:none;cursor:pointer;font-size:13px;opacity:0.5;padding:3px;border-radius:5px;transition:opacity 0.15s}
.task-icon-btn:hover{opacity:1;background:var(--card-hover)}
.tasks-empty{display:flex;flex-direction:column;align-items:center;gap:14px;padding:60px 20px;text-align:center}
.tasks-empty-icon{font-size:40px}
.tasks-empty-text{font-size:15px;color:var(--muted)}
.tasks-board{display:flex;gap:14px;overflow-x:auto;padding-bottom:20px;align-items:flex-start}
.board-col{min-width:240px;max-width:260px;flex-shrink:0;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px}
.board-col-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.board-col-title{font-size:12px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:0.07em}
.board-col-count{background:var(--bg-elevated,#1a1c1f);border:1px solid var(--border);border-radius:20px;padding:1px 7px;font-size:11px;color:var(--muted)}
.board-col-body{display:flex;flex-direction:column;gap:8px;min-height:40px}
.board-card{background:var(--bg-elevated,#1a1c1f);border:1px solid var(--border);border-radius:9px;padding:12px;cursor:pointer;transition:all 0.15s}
.board-card:hover{border-color:rgba(113,112,255,0.32);transform:translateY(-1px)}
.board-card-title{font-size:13px;font-weight:500;color:var(--text);margin-bottom:8px;line-height:1.4}
.board-card-meta{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.task-due-sm{font-size:10px;color:var(--muted)}
.board-add-btn{width:100%;margin-top:8px;padding:7px;background:transparent;border:1px dashed var(--border);border-radius:8px;color:var(--muted);font-size:12px;cursor:pointer;transition:all 0.15s}
.board-add-btn:hover{border-color:var(--gold,#f6c90e);color:var(--gold,#f6c90e);background:var(--gold-bg)}
.task-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:10001;backdrop-filter:blur(4px)}
.task-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(560px,95vw);max-height:90vh;background:var(--surface-strong,#131416);border:1px solid rgba(255,255,255,0.14);border-radius:16px;box-shadow:0 32px 80px rgba(0,0,0,0.6);z-index:10002;display:flex;flex-direction:column;overflow:hidden}
.task-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border)}
.task-modal-title{font-size:15px;font-weight:700}
.task-modal-close{background:none;border:none;color:var(--muted);cursor:pointer;font-size:22px;padding:0;line-height:1;border-radius:6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center}
.task-modal-close:hover{background:var(--card);color:var(--text)}
.task-modal-body{padding:20px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:14px}
.task-modal-footer{padding:14px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px}
.task-field{display:flex;flex-direction:column;gap:5px}
.task-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.task-label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:0.07em}
.task-input,.task-textarea,.task-select{width:100%;background:rgba(255,255,255,0.04);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:13px;padding:8px 12px;font-family:inherit;transition:border-color 0.15s;box-sizing:border-box}
.task-input:focus,.task-textarea:focus,.task-select:focus{outline:none;border-color:rgba(113,112,255,0.5)}
.task-textarea{resize:vertical;min-height:80px}
.task-select option{background:var(--surface-strong,#131416)}
.subtask-field-row{display:flex;align-items:center;gap:6px;margin-bottom:6px}
.subtask-check{width:16px;height:16px;flex-shrink:0;accent-color:var(--gold,#f6c90e)}
.subtask-input{flex:1}
.subtask-remove-btn{background:none;border:none;color:var(--muted);cursor:pointer;font-size:18px;padding:0;flex-shrink:0}
.task-add-subtask-btn{background:none;border:1px dashed var(--border);border-radius:7px;color:var(--muted);font-size:12px;padding:6px 12px;cursor:pointer;transition:all 0.15s;text-align:left}
.task-add-subtask-btn:hover{border-color:var(--gold,#f6c90e);color:var(--gold,#f6c90e)}
.task-btn-primary{padding:9px 22px;background:linear-gradient(135deg,#7170ff,#5b5fc7);color:#fff;border:none;border-radius:9px;font-size:13px;font-weight:700;cursor:pointer;transition:all 0.15s}
.task-btn-primary:hover{background:linear-gradient(135deg,#828fff,#7170ff)}
.task-btn-ghost{padding:9px 16px;background:transparent;border:1px solid var(--border);color:var(--text-secondary);border-radius:9px;font-size:13px;font-weight:600;cursor:pointer;transition:all 0.15s}
.task-btn-ghost:hover{background:var(--card);border-color:rgba(255,255,255,0.2)}
.scroll-locked{overflow:hidden}
@media(max-width:768px){
  .tasks-board{gap:10px}
  .board-col{min-width:200px}
  .task-field-row{grid-template-columns:1fr}
  .task-modal{top:auto;bottom:0;left:0;right:0;transform:none;width:100%;max-height:92vh;border-radius:16px 16px 0 0}
  .tasks-filters{flex-direction:column}
  .tasks-search{min-width:unset;width:100%}
}
.kwr-section-card{background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.07);border-radius:14px;padding:20px 20px 8px;margin-bottom:16px}
.kwr-model-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 0 4px;margin-top:8px;border-top:1px solid rgba(255,255,255,0.06)}
.kwr-model-label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}
.kwr-model-select{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);border-radius:8px;color:var(--text);font-size:12px;padding:6px 10px;font-family:inherit}
.kwr-history-panel{margin-top:28px;border-top:1px solid rgba(255,255,255,0.06);padding-top:20px}
.kwr-history-title{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px}
.kwr-history-list{display:flex;flex-direction:column;gap:6px}

/* KW_RESEARCH_REDESIGN_PROMPT_2026_04_26 */
.kwr-redesign-prompt{margin:18px 0 22px;padding:18px;border:1px solid rgba(124,58,237,0.22);border-radius:16px;background:linear-gradient(180deg,rgba(124,58,237,0.11),rgba(255,255,255,0.025));box-shadow:0 16px 40px rgba(0,0,0,0.22)}
.kwr-redesign-prompt-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px;flex-wrap:wrap}
.kwr-redesign-kicker{font-size:11px;font-weight:800;color:#c4b5fd;text-transform:uppercase;letter-spacing:.09em;margin-bottom:5px}
.kwr-redesign-title{font-size:16px;font-weight:750;color:var(--text);letter-spacing:-.02em;margin:0 0 5px}
.kwr-redesign-desc{font-size:12px;color:var(--muted);line-height:1.5;max-width:78ch;margin:0}
.kwr-redesign-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.kwr-redesign-textarea{width:100%;min-height:320px;max-height:46vh;resize:vertical;background:rgba(0,0,0,0.26);border:1px solid rgba(255,255,255,0.10);border-radius:12px;color:var(--text-secondary);font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;padding:14px;outline:none;white-space:pre;box-sizing:border-box}
.kwr-redesign-textarea:focus{border-color:rgba(124,58,237,.48);box-shadow:0 0 0 3px rgba(124,58,237,.12)}
@media(max-width:768px){.kwr-redesign-prompt{padding:14px}.kwr-redesign-actions{width:100%}.kwr-redesign-actions .kwr-btn{flex:1 1 100%;min-height:44px}.kwr-redesign-textarea{min-height:260px;font-size:11px}}
.kwr-history-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:9px;background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.06);font-size:12px;cursor:pointer;transition:all .15s}
.kwr-history-item:hover{background:rgba(255,255,255,0.05);border-color:rgba(124,58,237,.3)}
.kwr-history-badge{font-size:10px;padding:2px 7px;border-radius:4px;font-weight:700}
.kwr-history-badge.done{background:rgba(74,222,128,.15);color:#4ade80}
.kwr-history-badge.error{background:rgba(248,113,113,.15);color:#f87171}
.kwr-history-badge.running{background:rgba(251,191,36,.15);color:#fbbf24}
.kwr-swarm-hint{font-size:11px;color:var(--muted);margin-left:4px}

/* Feature D: Prompt Studio enhancements */
.ps-section{margin-bottom:16px}
.ps-section-label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}
.ps-agent-pills{display:flex;gap:6px;flex-wrap:wrap}
.ps-pill{padding:5px 12px;border-radius:20px;border:1px solid rgba(255,255,255,0.12);background:transparent;color:var(--muted);font-size:11px;font-weight:600;cursor:pointer;transition:all .15s}
.ps-pill.active{background:rgba(124,58,237,.2);border-color:rgba(124,58,237,.5);color:#a78bfa}
.ps-template-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.ps-template-btn{padding:7px 6px;border-radius:8px;border:1px solid rgba(255,255,255,0.08);background:rgba(255,255,255,0.03);color:var(--text-secondary);font-size:11px;font-weight:600;cursor:pointer;transition:all .15s;text-align:center}
.ps-template-btn:hover{background:rgba(124,58,237,.15);border-color:rgba(124,58,237,.3);color:#a78bfa}
.ps-template-btn.active{background:rgba(124,58,237,.22);border-color:rgba(167,139,250,.6);color:#f3edff;box-shadow:0 0 0 1px rgba(167,139,250,.14) inset}
.ps-template-toolbar,.ps-inline-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:10px}
.ps-selection-note,.ps-mini-note{font-size:11px;color:var(--muted)}
.ps-mini-actions{display:flex;gap:6px;flex-wrap:wrap}
.ps-mini-btn{padding:5px 10px;border-radius:999px;border:1px solid rgba(255,255,255,0.09);background:rgba(255,255,255,0.03);color:var(--text-secondary);font-size:11px;font-weight:600;cursor:pointer;transition:all .15s}
.ps-mini-btn:hover{background:rgba(124,58,237,.14);border-color:rgba(124,58,237,.36);color:#ddd2ff}
.ps-constraints{display:flex;flex-direction:column;gap:8px}
.ps-constraint-row{display:flex;align-items:center;gap:10px}
.ps-constraint-label{font-size:11px;color:var(--muted);min-width:100px;flex-shrink:0}
.ps-select,.ps-input{flex:1;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,.1);border-radius:7px;color:var(--text);font-size:12px;padding:6px 10px;font-family:inherit}
.ps-history-list{display:flex;flex-direction:column;gap:4px}
.ps-history-item{font-size:11px;padding:5px 10px;border-radius:6px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);color:var(--muted);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ps-history-item:hover{background:rgba(255,255,255,.05);color:var(--text)}
/* POLISH PASS — Prompt Studio multi-select + live preview controls */
.ps-model-pills{display:flex;gap:6px;flex-wrap:wrap}
.ps-model-pill{padding:6px 11px;border-radius:999px;border:1px solid rgba(255,255,255,0.1);background:rgba(255,255,255,0.03);color:var(--text-secondary);font-size:11px;font-weight:600;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:6px}
.ps-model-pill:hover{background:rgba(113,112,255,0.12);border-color:rgba(113,112,255,0.38);color:#e7e6ff}
.ps-model-pill.active{background:rgba(104,101,255,0.22);border-color:rgba(134,131,255,0.62);color:#fff;box-shadow:0 0 0 1px rgba(134,131,255,0.18) inset}
.ps-model-pill .ps-pill-dot{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.8}
.prompt-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.prompt-preview-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.08);font-size:11px;font-weight:700;color:#ecebff}
.prompt-preview-badge::before{content:'';width:8px;height:8px;border-radius:50%;background:#21ba82;box-shadow:0 0 0 4px rgba(33,186,130,0.12)}
.prompt-preview-badge.is-original::before{background:#7f8aa3;box-shadow:0 0 0 4px rgba(127,138,163,0.12)}
.prompt-preview-tools{display:flex;gap:6px;flex-wrap:wrap}
.prompt-preview-device-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:0 0 10px}
.prompt-preview-device-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.prompt-preview-device-label{font-size:11px;color:var(--muted);font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.prompt-preview-frame-wrap{display:flex;align-items:center;justify-content:center;flex:1 1 auto;min-height:0;padding:14px;background:linear-gradient(180deg,rgba(8,10,14,.96),rgba(13,16,22,.92));overflow:auto}
.prompt-preview-device-frame{width:100%;height:100%;min-height:260px;background:#fff;border:1px solid rgba(255,255,255,.08);border-radius:16px;box-shadow:0 18px 40px rgba(0,0,0,.28);overflow:hidden;transition:width .18s ease,border-radius .18s ease,box-shadow .18s ease}
.prompt-preview-device-frame.mobile{width:min(375px,100%);max-width:100%;border-radius:24px;border:3px solid rgba(255,255,255,.14)}
.prompt-preview-device-frame.tablet{width:min(768px,100%);max-width:100%;border-radius:18px;border:3px solid rgba(255,255,255,.12)}
.prompt-preview-device-frame.desktop{width:100%;max-width:1280px;border-radius:16px}
.prompt-preview-device-frame .prompt-preview-frame{display:block;width:100%;height:100%;min-height:260px;border:0;background:#fff}
.prompt-preview-note{margin-top:8px;font-size:11px;color:var(--muted)}

/* Prompt Studio hidden-controls fix — 2026-04-21 */
#prompt-modal #prompt-apply-html-btn[style*="display:none"],
#prompt-modal #prompt-copy-html-obs-btn[style*="display:none"],
#prompt-modal #prompt-sync-gh-btn[style*="display:none"]{display:none!important}
#prompt-modal #prompt-tweak-status:empty,
#prompt-modal #prompt-sync-status:empty{display:none!important;flex:0 0 auto!important;padding-top:0!important;margin:0!important;min-height:0!important}
#prompt-modal #prompt-tweak-status:not(:empty),
#prompt-modal #prompt-sync-status:not(:empty){display:block!important;flex:1 1 100%!important;min-width:0!important;order:99!important;padding-top:4px!important}

/* Prompt Studio overlap fix — 2026-04-21 */
#prompt-modal .prompt-panel:nth-child(2){display:flex!important;flex-direction:column!important;overflow-y:auto!important;overflow-x:hidden!important;min-height:0!important}
#prompt-modal .prompt-panel:nth-child(2) > .prompt-textarea{flex:0 0 auto!important;min-height:180px!important;max-height:220px!important}
#prompt-modal .prompt-panel:nth-child(2) > .prompt-actions{position:static!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:8px!important;padding:14px 18px!important;margin:0!important;background:rgba(18,18,26,0.92)!important;border-top:1px solid rgba(255,255,255,0.07)!important}
#prompt-modal .prompt-panel:nth-child(2) > .prompt-actions .prompt-status{flex:1 1 220px!important;min-width:0!important}
#prompt-modal .prompt-tweak-panel{display:flex!important;flex-direction:column!important;flex:0 0 auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;margin-top:14px!important}
#prompt-modal #prompt-tweak-output{flex:0 0 auto!important;min-height:180px!important;max-height:260px!important;height:220px!important;resize:vertical!important;overflow:auto!important}
#prompt-modal .prompt-tweak-panel .prompt-actions{position:static!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:8px!important;padding:12px 0 0!important;margin:0!important;background:transparent!important;border-top:1px solid rgba(255,255,255,0.07)!important}
#prompt-modal .prompt-tweak-panel .prompt-actions > button{flex:0 0 auto!important;height:38px!important}
#prompt-modal #prompt-tweak-status{display:block!important;flex:1 1 100%!important;min-width:0!important;order:99!important;padding-top:4px!important}
#prompt-modal #prompt-copy-html-obs-btn{grid-column:auto!important}
#prompt-modal .prompt-sync-panel{flex:0 0 auto!important;margin-top:14px!important}

@media (max-width:1100px){
  #prompt-modal .prompt-panel:nth-child(2) > .prompt-textarea{max-height:none!important}
  #prompt-modal #prompt-tweak-output{height:200px!important;max-height:240px!important}
}

@media (max-width:780px){
  #prompt-modal .prompt-panel:nth-child(2) > .prompt-actions,
  #prompt-modal .prompt-tweak-panel .prompt-actions{position:static!important;padding:10px 0!important}
  #prompt-modal #prompt-tweak-output{height:auto!important;max-height:none!important;min-height:180px!important}
}

/* Prompt Studio sidebar scroll FINAL FIX v4 — 2026-04-21 */
#prompt-modal .prompt-container > .prompt-panel:first-child{
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding-bottom:16px !important;
  scroll-padding-bottom:80px !important;
}
/* Compact sticky action bar — pinned to bottom, solid bg, no overlap */
#prompt-modal .prompt-container > .prompt-panel:first-child > .prompt-actions{
  position:sticky !important;
  bottom:-1px !important;
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  gap:8px !important;
  margin:14px -12px -10px !important;
  padding:10px 12px !important;
  background:#0a0913 !important;
  background-image:none !important;
  border-top:1px solid rgba(255,255,255,0.10) !important;
  box-shadow:0 -8px 22px rgba(0,0,0,0.55) !important;
  z-index:20 !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scrollbar-width:thin !important;
}
/* CRITICAL: high-specificity ID overrides — earlier rules use #prompt-modal #prompt-improve-btn */
#prompt-modal #prompt-improve-btn,
#prompt-modal #prompt-tweak-btn,
#prompt-modal #prompt-brainstorm-btn,
#prompt-modal #prompt-stop-all-btn{
  flex:0 0 auto !important;
  min-height:0 !important;
  height:34px !important;
  padding:0 14px !important;
  font-size:12px !important;
  line-height:1 !important;
  white-space:nowrap !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:8px !important;
}
#prompt-modal .prompt-container > .prompt-panel:first-child > .prompt-actions > button svg{
  width:13px !important;
  height:13px !important;
  margin-right:4px !important;
  flex:0 0 auto !important;
}
/* Hide noisy elements from the sticky bar */
#prompt-modal .prompt-container > .prompt-panel:first-child > .prompt-actions #prompt-status,
#prompt-modal .prompt-container > .prompt-panel:first-child > .prompt-actions .esc-hint{
  display:none !important;
}
#prompt-modal #brainstorm-progress{margin-bottom:14px !important}
#prompt-modal #brainstorm-progress:not(.is-active){display:none !important}
#prompt-modal #ps-brainstorm-models.ps-model-pills{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:6px !important;
}

/* Prompt Studio bugfixes — 2026-04-21 */
.ps-select{appearance:auto;-webkit-appearance:menulist;-moz-appearance:menulist;background-color:rgba(255,255,255,0.06)!important;color:#f4f5f8!important;border:1px solid rgba(255,255,255,0.12)!important}
.ps-select:hover,.ps-select:focus{color:#ffffff!important;background-color:rgba(255,255,255,0.09)!important;border-color:rgba(124,58,237,0.55)!important;outline:none!important;box-shadow:0 0 0 3px rgba(124,58,237,0.14)!important}
.ps-select option,.ps-select optgroup{background:#171923!important;color:#f4f5f8!important}
#prompt-modal .prompt-panel:last-child{overflow:hidden!important}
#prompt-modal .prompt-panel:last-child .prompt-preview-wrap{overflow:hidden!important;overscroll-behavior:contain!important}
#prompt-modal .prompt-preview-frame{pointer-events:none!important}

@media (max-width:1100px){
  #prompt-modal .prompt-panel:last-child .prompt-preview-frame{pointer-events:auto!important}
}

@media (max-width: 900px){
  .ps-template-grid{grid-template-columns:repeat(2,1fr)}
  .prompt-preview-toolbar{align-items:flex-start}
}

/* PROMPT STUDIO RESPONSIVE PASS v4.0 — 2026-04-21 */
#prompt-modal .modal.prompt-modal{
  width:min(96vw,1680px)!important;
  height:min(94vh,980px)!important;
  max-height:min(94vh,980px)!important;
}
#prompt-modal .prompt-container{
  align-items:stretch!important;
}
#prompt-modal .prompt-panel{
  min-width:0!important;
}
#prompt-modal .prompt-panel:first-child > .prompt-actions,
#prompt-modal .prompt-panel:nth-child(2) > .prompt-actions{
  left:auto!important; right:auto!important; width:auto!important;
}
#prompt-modal .prompt-panel:first-child > .prompt-actions{
  margin:0!important;
  padding:14px 18px!important;
  border-top:1px solid rgba(255,255,255,0.08)!important;
}
#prompt-modal #ps-agent-pills,
#prompt-modal .ps-template-grid,
#prompt-modal .ps-mini-actions,
#prompt-modal .prompt-preview-tools,
#prompt-modal .prompt-actions{
  min-width:0!important;
}
#prompt-modal .ps-agent-pills{gap:8px!important;align-content:flex-start!important}
#prompt-modal .ps-pill{max-width:100%!important;white-space:normal!important;line-height:1.25!important;text-align:center!important}
#prompt-modal .ps-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
#prompt-modal .ps-constraint-row{align-items:flex-start!important;flex-wrap:wrap!important}
#prompt-modal .ps-constraint-label{min-width:92px!important;padding-top:8px!important}
#prompt-modal .ps-select,
#prompt-modal .ps-input,
#prompt-modal .model-select{min-width:0!important;width:100%!important}
#prompt-modal .prompt-preview-toolbar{padding:0 18px 10px!important;margin:0!important}
#prompt-modal .prompt-preview-note{padding:10px 18px 16px!important;margin:0!important}
#prompt-modal .prompt-panel:nth-child(3) .prompt-preview-wrap{min-height:280px!important}
#prompt-modal .prompt-tweak-panel{padding:16px!important}
#prompt-modal .prompt-tweak-panel .prompt-actions{padding:12px 0 0!important}
#prompt-modal .prompt-sync-note{word-break:break-word!important}

@media (max-width: 1440px){
  #prompt-modal .modal.prompt-modal{
    width:min(98vw,1400px)!important;
    height:min(95vh,920px)!important;
    max-height:min(95vh,920px)!important;
  }
  #prompt-modal .prompt-container{
    grid-template-columns:minmax(320px,0.95fr) minmax(340px,1.05fr)!important;
    grid-template-rows:minmax(0,1fr) minmax(320px,42vh)!important;
    overflow:auto!important;
  }
  #prompt-modal .prompt-panel:nth-child(3){
    grid-column:1 / -1!important;
    grid-row:2!important;
    border-top:1px solid rgba(255,255,255,0.06)!important;
  }
  #prompt-modal .prompt-panel:nth-child(3) .prompt-preview-wrap{min-height:320px!important}
}

@media (max-width: 1180px){
  #prompt-modal .modal.prompt-modal{
    width:100vw!important;
    max-width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    border-radius:0!important;
    border:0!important;
  }
  #prompt-modal .prompt-container{
    grid-template-columns:1fr 1fr!important;
    grid-template-rows:minmax(0,1fr) minmax(280px,38vh)!important;
    gap:0!important;
    padding:0!important;
  }
  #prompt-modal .prompt-panel{
    border-right:1px solid rgba(255,255,255,0.06)!important;
  }
  #prompt-modal .prompt-panel:nth-child(2){border-right:none!important}
  #prompt-modal .prompt-panel:nth-child(3){
    grid-column:1 / -1!important;
    border-top:1px solid rgba(255,255,255,0.06)!important;
    border-right:none!important;
  }
  #prompt-modal .prompt-panel:first-child > .prompt-actions,
  #prompt-modal .prompt-panel:nth-child(2) > .prompt-actions{
    position:static!important;
  }
  #prompt-modal .prompt-panel:first-child,
  #prompt-modal .prompt-panel:nth-child(2){
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
}

@media (max-width: 820px){
  #prompt-modal .prompt-container{
    display:flex!important;
    flex-direction:column!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:0!important;
  }
  #prompt-modal .prompt-panel{
    border-right:none!important;
    border-bottom:1px solid rgba(255,255,255,0.06)!important;
    overflow:visible!important;
    min-height:auto!important;
  }
  #prompt-modal .prompt-panel:last-child{border-bottom:none!important}
  #prompt-modal .prompt-panel:first-child > .prompt-actions,
  #prompt-modal .prompt-panel:nth-child(2) > .prompt-actions,
  #prompt-modal .prompt-tweak-panel .prompt-actions{
    position:static!important;
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    margin:0!important;
    padding:12px 15px!important;
    background:transparent!important;
    backdrop-filter:none!important;
    border-top:1px solid rgba(255,255,255,0.07)!important;
    border-radius:0!important;
    width:auto!important;
  }
  #prompt-modal .prompt-label,
  #prompt-modal .prompt-panel > .prompt-status:first-of-type,
  #prompt-modal #prompt-draft,
  #prompt-modal .checklist-wrap,
  #prompt-modal .palette-extractor,
  #prompt-modal .ps-section,
  #prompt-modal .model-select-wrap,
  #prompt-modal .brainstorm-progress,
  #prompt-modal #prompt-output,
  #prompt-modal .prompt-tweak-panel,
  #prompt-modal .prompt-sync-panel,
  #prompt-modal .prompt-preview-toolbar,
  #prompt-modal .prompt-preview-note{
    margin-left:0!important;
    margin-right:0!important;
  }
  #prompt-modal .prompt-label{padding:16px 15px 10px!important}
  #prompt-modal .prompt-panel > .prompt-status:first-of-type{padding:0 15px 12px!important}
  #prompt-modal #prompt-draft,
  #prompt-modal #prompt-output{padding:16px 15px!important}
  #prompt-modal .checklist-header,
  #prompt-modal .palette-extractor::before,
  #prompt-modal .model-select-wrap{padding-left:15px!important;padding-right:15px!important}
  #prompt-modal .checklist-body,
  #prompt-modal .palette-extractor > .palette-extractor-row,
  #prompt-modal .palette-extractor > .palette-extractor-status,
  #prompt-modal .palette-extractor > .palette-swatches,
  #prompt-modal .palette-extractor > .palette-snippet,
  #prompt-modal .palette-extractor > .palette-actions,
  #prompt-modal .ps-section,
  #prompt-modal .brainstorm-progress,
  #prompt-modal .prompt-tweak-panel,
  #prompt-modal .prompt-sync-panel,
  #prompt-modal .prompt-preview-toolbar,
  #prompt-modal .prompt-preview-note{padding-left:15px!important;padding-right:15px!important}
  #prompt-modal .ps-agent-pills{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #prompt-modal .ps-pill{width:100%!important;padding:8px 10px!important;font-size:11.5px!important}
  #prompt-modal .ps-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  #prompt-modal .ps-template-btn{min-height:40px!important;display:flex!important;align-items:center!important;justify-content:center!important}
  #prompt-modal .ps-mini-actions,
  #prompt-modal .prompt-preview-tools{display:flex!important;flex-wrap:wrap!important}
  #prompt-modal .ps-mini-actions > *,
  #prompt-modal .prompt-preview-tools > *{flex:1 1 160px!important}
  #prompt-modal .ps-constraint-label{min-width:100%!important;padding-top:0!important}
  #prompt-modal .ps-constraint-row{gap:6px!important}
  #prompt-modal .prompt-panel:first-child > .prompt-actions .action-btn,
  #prompt-modal .prompt-panel:nth-child(2) > .prompt-actions .action-btn,
  #prompt-modal .prompt-tweak-panel .prompt-actions .action-btn{flex:1 1 160px!important;min-width:0!important}
  #prompt-modal #prompt-status,
  #prompt-modal #prompt-tweak-status,
  #prompt-modal #prompt-sync-status{flex:1 1 100%!important;order:100!important}
  #prompt-modal .prompt-panel:nth-child(3) .prompt-preview-wrap{min-height:360px!important}
}

@media (max-width: 480px){
  #prompt-modal .modal-header{padding:0 12px!important}
  #prompt-modal .modal-title{font-size:13px!important;min-width:0!important}
  #prompt-modal .prompt-panel:first-child > .prompt-actions,
  #prompt-modal .prompt-panel:nth-child(2) > .prompt-actions,
  #prompt-modal .prompt-tweak-panel .prompt-actions{padding:10px 12px!important}
  #prompt-modal .prompt-label{padding:14px 12px 8px!important}
  #prompt-modal .prompt-panel > .prompt-status:first-of-type{padding:0 12px 10px!important}
  #prompt-modal #prompt-draft,
  #prompt-modal #prompt-output{padding:14px 12px!important}
  #prompt-modal .checklist-header,
  #prompt-modal .palette-extractor::before,
  #prompt-modal .model-select-wrap{padding-left:12px!important;padding-right:12px!important}
  #prompt-modal .checklist-body,
  #prompt-modal .palette-extractor > .palette-extractor-row,
  #prompt-modal .palette-extractor > .palette-extractor-status,
  #prompt-modal .palette-extractor > .palette-swatches,
  #prompt-modal .palette-extractor > .palette-snippet,
  #prompt-modal .palette-extractor > .palette-actions,
  #prompt-modal .ps-section,
  #prompt-modal .brainstorm-progress,
  #prompt-modal .prompt-tweak-panel,
  #prompt-modal .prompt-sync-panel,
  #prompt-modal .prompt-preview-toolbar,
  #prompt-modal .prompt-preview-note{padding-left:12px!important;padding-right:12px!important}
  #prompt-modal .ps-agent-pills{grid-template-columns:1fr!important}
  #prompt-modal .ps-template-grid{grid-template-columns:1fr!important}
  #prompt-modal .ps-mini-actions > *,
  #prompt-modal .prompt-preview-tools > *,
  #prompt-modal .prompt-panel:first-child > .prompt-actions .action-btn,
  #prompt-modal .prompt-panel:nth-child(2) > .prompt-actions .action-btn,
  #prompt-modal .prompt-tweak-panel .prompt-actions .action-btn{flex:1 1 100%!important}
  #prompt-modal .prompt-panel:nth-child(3) .prompt-preview-wrap{min-height:300px!important}
}
/* END PROMPT STUDIO RESPONSIVE PASS v4.0 */


/* PROMPT STUDIO OVERLAP HOTFIX v4.1 — 2026-04-21 */
#prompt-modal .prompt-panel:nth-child(2){
  padding-bottom:18px!important;
}
#prompt-modal .prompt-panel:nth-child(2) > .prompt-actions{
  position:static!important;
  inset:auto!important;
  margin:12px 0 0!important;
  padding:12px 0 0!important;
  background:transparent!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  border-top:1px solid rgba(255,255,255,0.07)!important;
  border-radius:0!important;
  box-shadow:none!important;
  z-index:auto!important;
}
#prompt-modal .prompt-panel:nth-child(2) > .prompt-actions .action-btn,
#prompt-modal .prompt-tweak-panel .prompt-actions .action-btn{
  min-width:0!important;
}
#prompt-modal .prompt-tweak-panel{
  margin-top:16px!important;
  padding:16px!important;
  overflow:visible!important;
}
#prompt-modal .prompt-tweak-panel .prompt-actions{
  position:static!important;
  inset:auto!important;
  margin:12px 0 0!important;
  padding:12px 0 0!important;
  background:transparent!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  border-top:1px solid rgba(255,255,255,0.07)!important;
  border-radius:0!important;
  box-shadow:none!important;
  z-index:auto!important;
}
#prompt-modal #prompt-output,
#prompt-modal #prompt-tweak-output{
  scroll-margin-bottom:16px!important;
}
#prompt-modal .prompt-sync-panel{
  margin-top:16px!important;
}

@media (max-width: 820px){
  #prompt-modal .prompt-panel{
    padding-bottom:0!important;
  }
  #prompt-modal .prompt-panel:first-child > .prompt-actions,
  #prompt-modal .prompt-panel:nth-child(2) > .prompt-actions,
  #prompt-modal .prompt-tweak-panel .prompt-actions{
    position:static!important;
    inset:auto!important;
    margin:12px 0 0!important;
    padding:12px 15px 0!important;
    background:transparent!important;
    border-top:1px solid rgba(255,255,255,0.07)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    box-shadow:none!important;
    z-index:auto!important;
  }
  #prompt-modal .prompt-panel:nth-child(2){
    overflow:visible!important;
  }
}

@media (max-width: 480px){
  #prompt-modal .prompt-panel:first-child > .prompt-actions,
  #prompt-modal .prompt-panel:nth-child(2) > .prompt-actions,
  #prompt-modal .prompt-tweak-panel .prompt-actions{
    padding:10px 12px 0!important;
  }
}
/* END PROMPT STUDIO OVERLAP HOTFIX v4.1 */

/* ============================================================ */
/* HEADER LAYOUT HOTFIX v1 — 2026-04-21                         */
/* supersedes all prior .header / .header-inner / .header-actions */
/* / .logo / .fixer-tab-nav rules (~22 conflicting declarations) */
/* ============================================================ */
.header{
  display:block !important;
  width:100% !important;
  box-sizing:border-box !important;
}
.header .header-inner,
header.header > .header-inner,
.header-inner{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:space-between !important;
  flex-wrap:nowrap !important;
  gap:20px !important;
  width:100% !important;
  max-width:1600px !important;
  margin:0 auto !important;
  padding:10px 20px !important;
  box-sizing:border-box !important;
  min-height:60px !important;
}
.header-inner > .logo,
.header .logo{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:10px !important;
  flex-shrink:0 !important;
  flex-grow:0 !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  float:none !important;
  position:static !important;
}
.header .logo .logo-link{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:10px !important;
  text-decoration:none !important;
}
.header .logo .logo-icon{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-shrink:0 !important;
  width:36px !important;
  height:36px !important;
}
.header .logo .logo-icon svg{
  width:22px !important;
  height:22px !important;
  display:block !important;
}
.header .logo h1{
  margin:0 !important;
  padding:0 !important;
  font-size:18px !important;
  line-height:1.1 !important;
  white-space:nowrap !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:4px !important;
}
.header .logo h1 span{
  display:inline !important;
  white-space:nowrap !important;
}
.header-inner > .header-actions,
.header .header-actions{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-end !important;
  flex-wrap:wrap !important;
  gap:12px !important;
  flex:1 1 auto !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
}
.header .fixer-tab-nav{
  display:inline-flex !important;
  flex-direction:row !important;
  align-items:center !important;
  flex-wrap:nowrap !important;
  flex-shrink:0 !important;
  gap:4px !important;
  margin:0 !important;
  padding:4px !important;
  vertical-align:middle !important;
}
.header .fixer-tab-nav .fixer-tab-btn{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  vertical-align:middle !important;
}
.header .search-wrap{
  display:inline-flex !important;
  align-items:center !important;
  flex-shrink:1 !important;
  min-width:180px !important;
  vertical-align:middle !important;
}
.header .status-stack{
  display:inline-flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  gap:2px !important;
  flex-shrink:0 !important;
  vertical-align:middle !important;
}
.header .status-stack .status-pill{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
}
.header .hdr-expand-all-btn,
.header .hdr-sync-btn,
.header .hamburger-btn,
.header .theme-toggle-btn,
.header .hdr-overflow-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  flex-shrink:0 !important;
  vertical-align:middle !important;
  white-space:nowrap !important;
}
.header .hdr-overflow-wrap{
  display:inline-flex !important;
  align-items:center !important;
  position:relative !important;
  flex-shrink:0 !important;
}
/* Tablet / medium screens — allow actions row to wrap below logo */
@media (max-width:1180px){
  .header-inner,
  .header .header-inner{
    flex-wrap:wrap !important;
    row-gap:10px !important;
  }
  .header .header-actions{
    flex:1 1 100% !important;
    justify-content:flex-start !important;
  }
}
/* Small screens — hide full tab nav, rely on hamburger + mobile drawer */
@media (max-width:820px){
  .header .fixer-tab-nav{ display:none !important; }
  .header .search-wrap{ display:none !important; }
}
/* Tablet 769px–1023px — hide inline search since Search button is shown */
@media (max-width: 1023px) and (min-width: 769px) {
  .header .search-wrap{ display:none !important; }
}
@media (max-width:640px){
  .header .status-stack{ display:none !important; }
  .header .hdr-expand-all-btn,
  .header .hdr-overflow-wrap{ display:none !important; }
  .header .logo h1{ font-size:16px !important; }
}
/* END HEADER LAYOUT HOTFIX v1 */

/* FINAL MOBILE HEADER STABILIZATION — 2026-04-25
   Goal: make the mobile header fully opaque, reduce icon clutter,
   and move secondary actions into the drawer so scroll states stay clean. */
@media (max-width:768px){
  .header,
  .header .header-inner{
    overflow:visible !important;
  }
  .header .hdr-sync-btn,
  .header .theme-toggle-btn,
  .header .hdr-overflow-wrap,
  .header .hdr-logout-btn,
  .header .hdr-expand-all-btn,
  .header #hdr-role-badge{
    display:none !important;
  }
  .header .search-wrap{
    display:none !important;
  }
  .header .header-actions{
    flex:0 0 auto !important;
    width:auto !important;
    justify-content:flex-end !important;
    gap:0 !important;
  }
  .header .hamburger-btn{
    display:inline-flex !important;
    width:40px !important;
    min-width:40px !important;
    height:40px !important;
    min-height:40px !important;
    border-radius:12px !important;
    border:1px solid rgba(255,255,255,0.14) !important;
    background:#161a20 !important;
    color:#f3f4f6 !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.04),0 4px 12px rgba(0,0,0,0.22) !important;
    padding:0 !important;
  }
  .header .hamburger-btn svg{
    width:17px !important;
    height:17px !important;
    opacity:1 !important;
    transition:transform .18s ease, opacity .18s ease !important;
  }
  .header .hamburger-btn[aria-expanded="true"]{
    background:#1d2230 !important;
    border-color:rgba(113,112,255,0.34) !important;
    color:#a8a6ff !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.05),0 6px 16px rgba(71,74,255,0.18) !important;
  }
  .header .logo{
    flex:1 1 auto !important;
    min-width:0 !important;
  }
  .header .logo-icon{
    background:#151922 !important;
    border:1px solid rgba(255,255,255,0.12) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.04) !important;
  }
  .mobile-drawer{
    width:min(320px,88vw) !important;
    background:#101318 !important;
    box-shadow:0 22px 48px rgba(0,0,0,0.42) !important;
    padding:20px 16px calc(24px + env(safe-area-inset-bottom)) !important;
  }
  .mobile-nav-item{
    background:rgba(255,255,255,0.03) !important;
    border:1px solid rgba(255,255,255,0.08) !important;
    margin-bottom:8px !important;
  }
}

/* ============================================================
   PROMPT STUDIO ACTION BAR — v6 FINAL POLISH (2026-04-21)
   Enforce uniform pill height, padding, icon size, label truncation.
   Highest-specificity ID rules so no earlier !important wins.
   ============================================================ */
#prompt-modal .prompt-actions{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  padding:10px 14px !important;
  min-height:56px !important;
}
#prompt-modal .prompt-actions > #prompt-improve-btn,
#prompt-modal .prompt-actions > #prompt-tweak-btn,
#prompt-modal .prompt-actions > #prompt-brainstorm-btn,
#prompt-modal .prompt-actions > #prompt-stop-all-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  height:34px !important;
  min-height:34px !important;
  max-height:34px !important;
  padding:0 14px !important;
  margin:0 !important;
  font-size:12.5px !important;
  font-weight:600 !important;
  line-height:1 !important;
  letter-spacing:.1px !important;
  border-radius:8px !important;
  white-space:nowrap !important;
  flex:0 0 auto !important;
  box-sizing:border-box !important;
  vertical-align:middle !important;
}
#prompt-modal .prompt-actions > #prompt-improve-btn > svg,
#prompt-modal .prompt-actions > #prompt-tweak-btn > svg,
#prompt-modal .prompt-actions > #prompt-brainstorm-btn > svg,
#prompt-modal .prompt-actions > #prompt-stop-all-btn > svg{
  width:13px !important;
  height:13px !important;
  margin:0 !important;
  flex:0 0 13px !important;
  vertical-align:middle !important;
  display:inline-block !important;
}
#prompt-modal .prompt-actions .ps-btn-label{
  display:inline-block !important;
  line-height:1 !important;
  vertical-align:middle !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  max-width:18ch !important;
}
/* Push status text + Esc hint to right side, smaller */
#prompt-modal .prompt-actions > #prompt-status{
  flex:1 1 auto !important;
  font-size:11px !important;
  color:rgba(255,255,255,0.55) !important;
  text-align:right !important;
  margin-left:4px !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
#prompt-modal .prompt-actions > .esc-hint{
  font-size:10.5px !important;
  color:rgba(255,255,255,0.4) !important;
  margin-left:auto !important;
}
/* Stop-all sits at far right, slightly smaller */
#prompt-modal .prompt-actions > #prompt-stop-all-btn{
  height:30px !important;
  min-height:30px !important;
  max-height:30px !important;
  padding:0 10px !important;
  font-size:11.5px !important;
}
#prompt-modal .prompt-actions > #prompt-stop-all-btn > svg{
  width:11px !important;
  height:11px !important;
  flex:0 0 11px !important;
}
/* Subtle dividers / consistent backgrounds in dark mode */
#prompt-modal #prompt-improve-btn{
  background:linear-gradient(180deg,#7a78ff,#5d5cff) !important;
  border:1px solid rgba(255,255,255,0.14) !important;
  color:#fff !important;
  box-shadow:0 2px 8px rgba(104,101,255,0.28) !important;
}
#prompt-modal #prompt-improve-btn:hover:not(:disabled){
  background:linear-gradient(180deg,#8987ff,#6968ff) !important;
}
#prompt-modal #prompt-tweak-btn{
  background:rgba(104,101,255,0.10) !important;
  border:1px solid rgba(104,101,255,0.32) !important;
  color:#dcdaff !important;
}
#prompt-modal #prompt-tweak-btn:hover:not(:disabled){
  background:rgba(104,101,255,0.18) !important;
  border-color:rgba(134,131,255,0.55) !important;
}
#prompt-modal #prompt-brainstorm-btn{
  background:rgba(255,255,255,0.045) !important;
  border:1px solid rgba(180,140,255,0.35) !important;
  color:#e7dcff !important;
}
#prompt-modal #prompt-brainstorm-btn:hover:not(:disabled){
  background:rgba(113,112,255,0.12) !important;
  border-color:rgba(200,160,255,0.7) !important;
}
/* Mobile: keep everything readable */
@media (max-width:640px){
  #prompt-modal .prompt-actions{padding:8px 10px !important;gap:6px !important}
  #prompt-modal .prompt-actions > #prompt-improve-btn,
  #prompt-modal .prompt-actions > #prompt-tweak-btn,
  #prompt-modal .prompt-actions > #prompt-brainstorm-btn{
    flex:1 1 0 !important;
    min-width:0 !important;
    padding:0 10px !important;
    font-size:12px !important;
  }
  #prompt-modal .prompt-actions > #prompt-status,
  #prompt-modal .prompt-actions > .esc-hint{display:none !important}
}
/* #12 Skeleton rows for table loading states */
.skel-row td{padding:10px 12px}
.skel-bar{display:block;height:12px;border-radius:4px;background:linear-gradient(90deg,rgba(255,255,255,0.05) 0%,rgba(255,255,255,0.13) 50%,rgba(255,255,255,0.05) 100%);background-size:200% 100%;animation:skel-shimmer 1.4s ease-in-out infinite}
@keyframes skel-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
[data-theme="light"] .skel-bar{background:linear-gradient(90deg,rgba(0,0,0,0.05) 0%,rgba(0,0,0,0.10) 50%,rgba(0,0,0,0.05) 100%);background-size:200% 100%}
/* #15 Keyboard nav focus state for data table rows */
table tbody tr[tabindex]:focus{outline:2px solid #3b82f6;outline-offset:-2px;background:rgba(59,130,246,0.08)}
table tbody tr[tabindex]:focus-visible{outline:2px solid #3b82f6;outline-offset:-2px}
/* R10 Sticky table headers — applies to scrollable wrappers (kwr-table-wrap, .table-wrap, .scrollable-table) */
.kwr-table-wrap thead th, .table-wrap thead th, .scrollable-table thead th{position:sticky;top:0;z-index:5;background:var(--bg-elevated,#0f1220);box-shadow:0 1px 0 rgba(255,255,255,0.06)}
[data-theme="light"] .kwr-table-wrap thead th, [data-theme="light"] .table-wrap thead th, [data-theme="light"] .scrollable-table thead th{background:var(--bg-elevated,#fff);box-shadow:0 1px 0 rgba(0,0,0,0.08)}
/* R2 Toast/Snackbar system — global feedback */
#toast-container{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:9999;display:flex;flex-direction:column;gap:10px;pointer-events:none;max-width:90vw}
.toast{pointer-events:auto;min-width:260px;max-width:480px;padding:12px 16px;border-radius:12px;background:rgba(20,22,38,0.96);color:#fff;font-size:14px;font-weight:500;box-shadow:0 8px 32px rgba(0,0,0,0.3),0 0 0 1px rgba(255,255,255,0.08);display:flex;align-items:center;gap:12px;animation:toast-in .25s cubic-bezier(.2,.9,.3,1.2);backdrop-filter:blur(8px)}
.toast.toast-out{animation:toast-out .25s ease forwards}
.toast-icon{flex-shrink:0;font-size:18px;line-height:1}
.toast-msg{flex:1;line-height:1.4}
.toast-action{background:transparent;border:1px solid rgba(255,255,255,0.2);color:inherit;padding:4px 12px;border-radius:6px;font-size:13px;cursor:pointer;font-weight:600}
.toast-action:hover{background:rgba(255,255,255,0.1)}
.toast-close{background:transparent;border:0;color:rgba(255,255,255,0.5);font-size:18px;cursor:pointer;padding:0 4px;line-height:1}
.toast-close:hover{color:#fff}
.toast-success{border-left:3px solid #10b981}.toast-success .toast-icon{color:#10b981}
.toast-error{border-left:3px solid #ef4444}.toast-error .toast-icon{color:#ef4444}
.toast-warning{border-left:3px solid #f59e0b}.toast-warning .toast-icon{color:#f59e0b}
.toast-info{border-left:3px solid #3b82f6}.toast-info .toast-icon{color:#3b82f6}
[data-theme="light"] .toast{background:rgba(255,255,255,0.98);color:#111;box-shadow:0 8px 32px rgba(0,0,0,0.15),0 0 0 1px rgba(0,0,0,0.06)}
[data-theme="light"] .toast-action{border-color:rgba(0,0,0,0.15)}
[data-theme="light"] .toast-close{color:rgba(0,0,0,0.4)}
@keyframes toast-in{from{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes toast-out{to{opacity:0;transform:translateY(20px) scale(.95)}}
@media(prefers-reduced-motion:reduce){.toast{animation:none}.toast.toast-out{animation:none;opacity:0}}

/* === Phase 3: Quick Actions, Progress, Stars, Theme === */
.card-actions{position:absolute;top:8px;right:8px;opacity:0;transition:opacity .2s}
.project-card:hover .card-actions{opacity:1}
.action-btn{background:none;border:none;color:#94a3b8;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s}
.action-btn:hover{color:#f8fafc;background:#1e1e2e}
.action-menu{position:absolute;top:28px;right:0;background:#1a1a24;border:1px solid #2d2d3d;border-radius:8px;padding:4px 0;min-width:140px;box-shadow:0 8px 24px rgba(0,0,0,.5);display:none;z-index:10}
.action-menu.show{display:block}
.action-menu-item{padding:8px 12px;font-size:.82rem;color:#e2e8f0;cursor:pointer;transition:background .15s}
.action-menu-item:hover{background:#252530}
.action-menu-item.danger{color:#f87171}
.action-menu-item.danger:hover{color:#fca5a5}
.star-btn{position:absolute;top:8px;left:8px;background:none;border:none;font-size:1.1rem;cursor:pointer;opacity:0;transition:opacity .2s;color:#475569}
.project-card:hover .star-btn{opacity:1}
.star-btn.starred{opacity:1;color:#fbbf24}
.progress-wrap{width:100%;height:4px;background:#1e1e2e;border-radius:2px;margin-top:8px;overflow:hidden}
.progress-bar{height:100%;border-radius:2px;transition:width .4s ease}
.progress-bar.green{background:#22c55e}
.progress-bar.yellow{background:#eab308}
.progress-bar.blue{background:#3b82f6}
/* Theme color picker */
.theme-picker{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.theme-swatch{width:32px;height:32px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:transform .15s, border-color .15s}
.theme-swatch:hover{transform:scale(1.1)}
.theme-swatch.active{border-color:#f8fafc;box-shadow:0 0 0 2px #0a0a0f, 0 0 0 4px #f8fafc}
.theme-purple{background:#7c3aed}
.theme-blue{background:#2563eb}
.theme-green{background:#16a34a}
.theme-red{background:#dc2626}
.theme-orange{background:#ea580c}
.theme-pink{background:#db2777}

/* 2026-04-24 focused design polish: denser operator UI, calmer surfaces, clearer actions */
/* Prompt Studio — explicit pipeline launcher marker 2026-04-26 */
:root{
  --radius:12px;
  --radius-sm:8px;
  --surface:rgba(14,17,22,0.86);
  --surface-strong:#11151b;
  --card:rgba(255,255,255,0.034);
  --card-hover:rgba(255,255,255,0.058);
  --border:rgba(218,230,255,0.1);
  --border-strong:rgba(218,230,255,0.18);
  --gold:#7aa2ff;
  --gold-light:#9fc0ff;
  --gold-dim:#4f7ee8;
  --green:#22c55e;
  --shadow-card:0 10px 28px rgba(0,0,0,0.26);
}
body{
  background:
    radial-gradient(circle at 12% 0%,rgba(122,162,255,0.14),transparent 28%),
    radial-gradient(circle at 86% 12%,rgba(34,197,94,0.08),transparent 24%),
    linear-gradient(180deg,#090b0f 0%,#08090a 100%);
  letter-spacing:0;
}
.header{background:rgba(8,10,13,0.88);border-bottom:1px solid rgba(218,230,255,0.1);box-shadow:0 12px 40px rgba(0,0,0,0.22)}
.header-inner{max-width:1440px}
.container{max-width:1440px}
.status-pill,.last-sync-meta,.search-box,.header-menu-btn,.hdr-sync-btn,.fixer-tab-btn{
  border-radius:9px;
  border-color:rgba(218,230,255,0.1);
  background:rgba(255,255,255,0.045);
}
.search-box{width:min(320px,28vw)}
.stat-card,.project-card,.kwr-table-wrap,.kwr-status-bar,.metadata-strip,.task-row,.task-modal{
  border-radius:12px;
  border-color:rgba(218,230,255,0.1);
  background:linear-gradient(180deg,rgba(255,255,255,0.048),rgba(255,255,255,0.026));
}
.project-card:hover,.stat-card:hover{
  transform:translateY(-1px);
  border-color:rgba(122,162,255,0.34);
  box-shadow:0 18px 44px rgba(0,0,0,0.32);
}
.projects-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr));gap:16px}
.card-header{padding:20px;gap:14px}
.card-right{margin-left:0}
.card-info{min-width:220px}
.card-meta{gap:6px}
.action-btn,.kwr-btn,.task-btn-primary,.task-btn-ghost,.view-btn{
  border-radius:8px;
  min-height:34px;
}
.action-menu{border-radius:10px;border-color:rgba(218,230,255,0.12);background:#121720}
.section-head{margin-top:28px}
.section-title{font-size:17px}
.stat-number{font-size:38px}
.stat-label{letter-spacing:0.08em}
@media(max-width:768px){
  .container{padding-left:14px;padding-right:14px}
  .projects-grid{grid-template-columns:1fr}
  .stat-number{font-size:34px}
  .card-header{padding:16px}
}

/* ╔══════════════════════════════════════════════════════════════════╗
   ║  REDESIGN QUICK WIN #1 — Nav Cut-Off Fix (2026-04-26)           ║
   ║  Consolidated override for scattered polish-pass conflicts       ║
   ║  Principle: min-height instead of fixed height, wrap gracefully  ║
   ╚══════════════════════════════════════════════════════════════════╝ */

/* Core header: allow natural height expansion */
.header {
  min-height: 62px !important;
  height: auto !important;
  overflow: visible !important;
}

/* Header inner: wrap content gracefully instead of cutting off */
.header-inner {
  min-height: 62px !important;
  height: auto !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

/* Header actions: wrap sub-elements (tabs, buttons, search, status) */
.header-actions {
  flex-wrap: wrap !important;
  gap: 10px !important;
  min-width: 0 !important;
}

/* Tab nav: stay horizontal, scroll if needed instead of wrapping or cutting off */
.fixer-tab-nav {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  min-width: 0 !important;
  max-width: 100% !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important;           /* Firefox */
}
.fixer-tab-nav::-webkit-scrollbar {
  display: none !important;                   /* Chrome/Safari */
}

/* Ensure tab buttons don't shrink too much */
.fixer-tab-btn {
  flex-shrink: 0 !important;
}

/* Tablet: keep wrapping, allow slightly more compact sizing */
@media (max-width: 1024px) {
  .header-inner {
    gap: 10px !important;
  }
  .header-actions {
    gap: 8px !important;
  }
}

/* Mobile: keep horizontal tab scroll, compact header */
@media (max-width: 768px) {
  .header {
    min-height: 52px !important;
    height: auto !important;
  }
  .header-inner {
    min-height: 52px !important;
    height: auto !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    padding: 8px 12px !important;
  }
  /* Logo stays on left, hamburger + search on right */
  .logo {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
  /* Tab nav gets its own full-width row so it never squishes buttons */
  .fixer-tab-nav {
    order: 10 !important;
    flex-basis: 100% !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    gap: 3px !important;
    padding: 2px !important;
    min-width: 0 !important;
  }
  .fixer-tab-btn {
    flex-shrink: 0 !important;
    min-height: 32px !important;
    padding: 6px 8px !important;
  }
  /* Hide tab labels on mobile AND tablet (icon-only saves space) */
  .fixer-tab-btn .tab-label {
    display: none !important;
  }
  /* Utility buttons: compact, stay on top row with logo */
  .header-actions {
    flex-wrap: nowrap !important;
    gap: 6px !important;
    flex: 0 0 auto !important;
    min-width: 0 !important;
    justify-content: flex-end !important;
  }
  .header-menu-btn,
  .hdr-sync-btn,
  .hdr-search-btn {
    min-height: 32px !important;
    padding: 6px 10px !important;
    font-size: 11px !important;
  }
}

/* Very small mobile: extra compact */
@media (max-width: 480px) {
  .header-inner {
    gap: 6px !important;
    padding: 7px 10px !important;
  }
  .fixer-tab-btn {
    padding: 6px 7px !important;
  }
  .logo h1 {
    font-size: 15px !important;
  }
}

/* END REDESIGN QUICK WIN #1 */

