:root{--bg:#f5f1ea;--panel:#fffaf3;--ink:#201a16;--muted:#756a61;--line:#e3d7ca;--accent:#7f4f3b;--accent-dark:#4a2f27;--soft:#eadccd;--card:#fff;--shadow:0 16px 40px rgba(48,34,25,.12)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:linear-gradient(135deg,#f5f1ea,#eee3d7);color:var(--ink)}button,input,textarea,select{font:inherit}button{cursor:pointer}h1,h2,h3{margin:0 0 10px}.hidden{display:none!important}.muted{color:var(--muted)}.small-note{font-size:12px;color:var(--muted)}label{display:block;margin:14px 0 6px;color:var(--muted);font-size:13px}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:#fff;color:var(--ink);outline:none}textarea{min-height:86px;resize:vertical}.primary-btn,.secondary-btn,.google-btn,.danger-btn{border:0;border-radius:14px;padding:12px 18px;cursor:pointer;font-weight:800}.primary-btn{background:var(--accent-dark);color:#fff}.secondary-btn{background:var(--soft);color:var(--accent-dark)}.danger-btn{background:#6d201b;color:#fff}.google-btn{width:100%;background:#fff;border:1px solid var(--line);margin:12px 0}.full{width:100%;margin-top:12px}.compact{width:auto;white-space:nowrap}.brand-mark{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:var(--accent-dark);color:#fff;font-size:29px;font-weight:800}.toast{position:fixed;right:20px;bottom:20px;background:var(--accent-dark);color:white;padding:12px 16px;border-radius:14px;box-shadow:var(--shadow);z-index:80}.viewer-card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);padding:22px}.viewer-card{background:#fff;border-radius:24px;box-shadow:0 10px 24px rgba(48,34,25,.06)}.panel-head,.viewer-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:16px}.viewer-actions{display:flex;gap:8px;flex-wrap:wrap}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}.candidate-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;position:relative}.candidate-img{height:180px;background:linear-gradient(135deg,#fff,#eadccd);display:grid;place-items:center;color:var(--muted)}.candidate-body{padding:12px}.result-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.modal{position:fixed;inset:0;background:rgba(32,26,22,.45);display:grid;place-items:center;z-index:50;padding:20px}.modal-card{background:var(--panel);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);padding:32px;max-width:480px;width:100%}.wide-modal{max-width:760px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}


/* v49 professional button polish */
.primary-btn,.secondary-btn,.google-btn,.danger-btn,.tab-btn,.pose-preset-btn,.picker-card,.icon-btn{transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease, background .14s ease, color .14s ease;}
.primary-btn{background:linear-gradient(135deg,#2f241f,#6e4b3c);box-shadow:0 10px 20px rgba(68,45,35,.18);letter-spacing:.01em;}
.primary-btn:hover{transform:translateY(-1px);box-shadow:0 14px 26px rgba(68,45,35,.24);}
.secondary-btn{background:#f7f3ef;border:1px solid #d8c8ba;color:#4a3229;box-shadow:0 7px 16px rgba(68,45,35,.08);}
.secondary-btn:hover{transform:translateY(-1px);background:#fff;border-color:#bfae9e;}
.google-btn{box-shadow:0 8px 18px rgba(68,45,35,.08);font-weight:850;}
.google-btn:hover{transform:translateY(-1px);border-color:#bfae9e;box-shadow:0 12px 24px rgba(68,45,35,.12);}
.link-btn{font-weight:900;color:#5b3c31;}
.upload-inline-btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:6px;}
.upload-inline-btn input{position:absolute;inset:0;opacity:0;cursor:pointer;}
.auth-error{background:#fff3f1;border:1px solid #e1aaa1;color:#7a2f26;border-radius:12px;padding:10px 12px;font-size:13px;margin:12px 0 0;}


/* v50 premium compact theme system */
:root{
  --bg:#f7f5f1;--bg2:#ebe5dc;--panel:#fffdf9;--card:#ffffff;--ink:#1f1a17;--muted:#6f6760;--line:#ded6cc;--accent:#6b4739;--accent-dark:#2f241f;--soft:#efe7de;--shadow:0 12px 30px rgba(42,31,25,.10);--model-bg:#fafafa;--button-text:#ffffff;--field-bg:#ffffff;
}
body[data-theme="dark"]{
  --bg:#080808;--bg2:#151311;--panel:#121110;--card:#181614;--ink:#f5f1ea;--muted:#b2a9a1;--line:#332f2a;--accent:#c7a58f;--accent-dark:#e8d6c8;--soft:#27221e;--shadow:0 16px 42px rgba(0,0,0,.45);--model-bg:#101010;--button-text:#17110e;--field-bg:#1c1916;
}
body{background:linear-gradient(135deg,var(--bg),var(--bg2));color:var(--ink);transition:background .18s ease,color .18s ease;}
body[data-theme="dark"] .brand-mark{background:#f1e4d9;color:#17110e;}
body[data-theme="dark"] .modal{background:rgba(0,0,0,.66)}
button,input,textarea,select{font-size:12px;}
label{font-size:12px;margin:8px 0 5px;color:var(--muted)}
input,textarea,select{background:var(--field-bg);color:var(--ink);border-color:var(--line);padding:9px 11px;border-radius:12px;}
input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--muted) 75%,transparent)}
input[type="file"]{padding:7px;background:var(--field-bg);font-size:12px;}
input[type="file"]::file-selector-button{border:1px solid var(--line);background:var(--soft);color:var(--ink);border-radius:9px;padding:6px 10px;margin-right:8px;font-weight:800;font-size:12px;cursor:pointer;}
.primary-btn,.secondary-btn,.google-btn,.danger-btn{border-radius:12px;padding:9px 13px;font-size:12px;line-height:1;font-weight:850;}
.primary-btn{background:linear-gradient(135deg,var(--accent-dark),color-mix(in srgb,var(--accent-dark) 70%,var(--accent)));color:var(--button-text);box-shadow:0 8px 18px rgba(40,28,22,.14);}
body[data-theme="dark"] .primary-btn{background:linear-gradient(135deg,#f0ded0,#b9896d);color:#17110e;box-shadow:0 8px 20px rgba(0,0,0,.35)}
.secondary-btn{background:var(--soft);border:1px solid var(--line);color:var(--ink);box-shadow:none;}
.google-btn{background:var(--card);color:var(--ink);border-color:var(--line);}
.link-btn{color:var(--accent-dark);background:transparent;border:0;padding:0;font-size:12px;}
body[data-theme="dark"] .link-btn{color:#f2d6c3;}
.viewer-card,.panel{background:var(--panel);border-color:var(--line);box-shadow:var(--shadow);padding:16px;border-radius:22px;}
.viewer-card{background:var(--card);border-radius:20px;}
.panel-head,.viewer-head{gap:10px;margin-bottom:10px;}
.panel-head h2,.viewer-head h3{margin-bottom:4px;}
.muted,.small-note{color:var(--muted)}
.cards-grid{gap:10px;}
.candidate-card{background:var(--card);border-color:var(--line);border-radius:18px;}
.candidate-img{background:linear-gradient(135deg,var(--card),var(--soft));color:var(--muted);}
.toolbar{gap:7px;margin-bottom:10px;}
.modal-card{background:var(--panel);color:var(--ink);border-color:var(--line);padding:22px;}
.toast{background:var(--accent-dark);color:var(--button-text);}
body[data-theme="dark"] .toast{background:#f0ded0;color:#17110e;}
