:root{--bg:#f5f6f1;--panel:#fff;--panel-strong:#fdfcf8;--ink:#17211d;--muted:#67746d;--line:#dfe5de;--green:#176b53;--green-dark:#0f4f3f;--mint:#d9f1e6;--amber:#c27718;--red:#b33a32;--blue:#285a8f;--shadow:0 18px 60px #1b27221f}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--bg);color:var(--ink);letter-spacing:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit;letter-spacing:0}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}.login-page{background:linear-gradient(120deg, #176b5324, transparent 34%), linear-gradient(300deg, #c277181f, transparent 38%), var(--bg);align-items:center;min-height:100vh;padding:32px;display:flex}.login-shell{gap:26px;width:100%;max-width:440px;margin:0 auto;display:grid}.login-brand,.sidebar-brand{align-items:center;gap:12px;display:flex}.login-brand h1,.login-brand p,.sidebar-brand p,.sidebar-brand strong{margin:0}.login-brand h1{font-size:32px;line-height:1}.mark,.lock-ring{background:var(--green);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex}.lock-ring{background:var(--mint);color:var(--green);width:52px;height:52px}.login-panel,.upload-card,.summary-panel,.modal{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px}.login-panel{gap:18px;padding:30px;display:grid}.login-panel h2,.login-panel p{margin:0}.panel-heading-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.login-panel h2{font-size:28px}.login-panel p{color:var(--muted);line-height:1.5}.eyebrow{color:var(--green);letter-spacing:0;text-transform:uppercase;margin:0;font-size:12px;font-weight:800}label{color:var(--muted);gap:8px;font-size:13px;font-weight:700;display:grid}input,select,textarea{border:1px solid var(--line);color:var(--ink);background:#fbfcfa;border-radius:8px;outline:none;width:100%;min-height:42px;padding:10px 12px}textarea{resize:vertical;min-height:88px}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #176b5324}.primary-button,.secondary-button,.nav-stack button,.row-actions button,.row-actions a,.google-button,.ghost-icon-button{cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;font-weight:800;text-decoration:none;transition:background .16s,color .16s,transform .16s;display:inline-flex}.google-button{color:var(--green-dark);background:#eef3ee;padding:0 14px}.google-button.disabled{cursor:not-allowed;opacity:.62;pointer-events:none}.hint-text{color:var(--muted);font-size:12px;font-weight:700}.primary-button{background:var(--green);color:#fff;padding:0 18px}.primary-button:hover,.secondary-button:hover,.row-actions button:hover,.row-actions a:hover,.ghost-icon-button:hover{transform:translateY(-1px)}.primary-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.secondary-button,.row-actions button,.row-actions a{background:var(--mint);color:var(--green-dark);padding:0 14px}.ghost-icon-button{color:var(--muted);background:0 0;width:42px;height:42px}.form-error{color:var(--red);background:#b33a321a;border:1px solid #b33a323d;border-radius:8px;padding:12px;font-size:14px;font-weight:700}.connection-strip{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.connection-strip.compact{justify-content:flex-start}.connection-strip span{border-radius:999px;align-items:center;gap:5px;padding:7px 10px;font-size:12px;font-weight:800;display:inline-flex}.connection-strip .ok{background:var(--mint);color:var(--green-dark)}.connection-strip .missing{color:var(--amber);background:#f5e6d4}.app-shell{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#fff;background:#10231c;flex-direction:column;min-height:100vh;padding:24px;display:flex}.sidebar .mark{color:#10231c;background:#f1c765;width:42px;height:42px}.sidebar-brand p{color:#ffffffad;text-transform:uppercase;font-size:12px;font-weight:800}.sidebar-brand strong{font-size:18px;display:block}.nav-stack{gap:8px;margin-top:34px;display:grid}.nav-stack button{color:#ffffffb8;background:0 0;justify-content:flex-start;padding:0 12px}.nav-stack button.active,.nav-stack button:hover{color:#fff;background:#ffffff1a}.sidebar-footer{align-items:center;gap:10px;margin-top:auto;display:flex}.user-chip{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.user-chip span{background:#ffffff24;border-radius:8px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.user-chip strong,.user-chip p{text-overflow:ellipsis;white-space:nowrap;margin:0;display:block;overflow:hidden}.user-chip p{color:#ffffffa3;font-size:12px}.workspace{gap:22px;padding:26px;display:grid}.topbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.language-toggle{background:var(--panel);border:1px solid var(--line);border-radius:8px;align-items:center;gap:4px;min-height:36px;padding:4px 6px;display:inline-flex}.language-toggle svg{color:var(--green);margin:0 4px}.language-toggle button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;min-height:28px;padding:0 8px;font-size:12px;font-weight:900}.language-toggle button.active{background:var(--green);color:#fff}.topbar h1{margin:4px 0 0;font-size:32px;line-height:1.1}.upload-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:22px;display:grid}.upload-card{gap:22px;padding:22px;display:grid}.dropzone{background:var(--panel-strong);color:var(--green-dark);cursor:pointer;text-align:center;border:2px dashed #aac3b8;border-radius:8px;place-items:center;gap:8px;min-height:190px;padding:24px;display:grid}.dropzone.dragging{background:var(--mint);border-color:var(--green)}.dropzone strong{overflow-wrap:anywhere;max-width:100%;font-size:18px}.dropzone span,.summary-block span,.process-list span{color:var(--muted);font-size:13px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.dna-panel{border:1px solid var(--line);background:#f8faf6;border-radius:8px;gap:16px;padding:18px;display:grid}.section-heading{align-items:center;gap:8px;display:flex}.section-heading h2{margin:0;font-size:18px}.success-card{background:var(--mint);color:var(--green-dark);border:1px solid #176b5333;border-radius:8px;align-items:center;gap:12px;padding:14px;display:flex}.success-card strong,.success-card p{overflow-wrap:anywhere;margin:0;display:block}.success-card p{color:var(--muted);font-size:13px}.summary-panel{gap:18px;padding:20px;display:grid;position:sticky;top:26px}.summary-block{gap:6px;display:grid}.summary-block h2{margin:0;font-size:20px;line-height:1.2}.summary-block code{overflow-wrap:anywhere;background:#eef3ee;border-radius:8px;padding:10px;font-size:12px;display:block}.process-list{border-top:1px solid var(--line);gap:12px;padding-top:16px;display:grid}.process-list div{align-items:center;gap:10px;display:flex}.process-list svg{color:var(--green)}.library-layout,.users-layout{gap:18px;display:grid}.user-form{box-shadow:none}.metrics-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.metric{background:var(--panel);border:1px solid var(--line);border-radius:8px;align-items:center;gap:12px;padding:16px;display:flex}.metric svg{color:var(--green)}.metric strong,.metric span{display:block}.metric strong{font-size:24px;line-height:1}.metric span{color:var(--muted);margin-top:4px;font-size:13px}.library-toolbar{grid-template-columns:minmax(0,1fr) 210px auto;align-items:center;gap:12px;display:grid}.search-box,.filter-select{background:var(--panel);border:1px solid var(--line);border-radius:8px;align-items:center;gap:10px;padding:0 12px;display:flex}.search-box input,.filter-select select{box-shadow:none;background:0 0;border:0}.creative-table{background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden}.table-head,.creative-row{grid-template-columns:minmax(220px,1.6fr) minmax(180px,1fr) 130px minmax(160px,1fr) 160px;gap:14px;padding:14px 16px;display:grid}.user-table-head,.user-row{grid-template-columns:minmax(160px,1fr) minmax(220px,1.4fr) 130px 180px}.user-row svg{color:var(--green);vertical-align:middle;margin-right:8px}.table-head{color:var(--muted);text-transform:uppercase;background:#eef3ee;font-size:12px;font-weight:900}.creative-row{border-top:1px solid var(--line);align-items:center}.creative-row strong,.creative-row p{overflow-wrap:anywhere;margin:0;display:block}.creative-row p{color:var(--muted);margin-top:4px;font-size:13px}.status-pill{color:var(--muted);background:#eef3ee;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;display:inline-flex}.status-pill.winner,.status-pill.scaled{background:var(--mint);color:var(--green-dark)}.status-pill.fail,.status-pill.archived{color:var(--red);background:#b33a321a}.status-pill.testing,.status-pill.admin{color:var(--blue);background:#e4eef8}.status-pill.regular{background:var(--mint);color:var(--green-dark)}.row-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.row-actions button,.row-actions a{min-height:34px}.empty-state{background:var(--panel);border:1px solid var(--line);color:var(--muted);text-align:center;border-radius:8px;justify-content:center;align-items:center;gap:10px;min-height:180px;padding:22px;font-weight:800;display:flex}.error-state{color:var(--red)}.modal-backdrop{z-index:10;background:#10231c80;justify-content:center;align-items:center;padding:22px;display:flex;position:fixed;inset:0}.modal{gap:16px;width:100%;max-width:700px;max-height:calc(100vh - 44px);padding:22px;display:grid;overflow:auto}.modal-header{justify-content:space-between;align-items:center;display:flex}.modal-header h2{margin:4px 0 0}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1060px){.app-shell{grid-template-columns:1fr}.sidebar{min-height:auto}.upload-grid{grid-template-columns:1fr}.summary-panel{position:static}}@media (width<=760px){.login-page,.workspace,.sidebar{padding:18px}.topbar,.library-toolbar{grid-template-columns:1fr;align-items:stretch}.topbar{display:grid}.connection-strip{justify-content:flex-start}.form-grid,.metrics-row{grid-template-columns:1fr}.table-head{display:none}.creative-row{grid-template-columns:1fr}.row-actions{justify-content:flex-start}}
