/* Izuree customer suite — shared product UI */
:root { --customer-dark:#07100d; --customer-soft:#e9ede9; --customer-warn:#f7e9bd; --customer-error:#ffe1da; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
html { background:var(--v2-bg); }
body.customer-page { min-height:100vh; }
.customer-main { padding-top:var(--v2-header); }
.customer-header .v2-nav span { color:var(--v2-muted); font-size:.72rem; font-weight:620; }
.customer-secure { align-items:center; display:flex; font-family:ui-monospace,Menlo,monospace; font-size:.58rem; gap:8px; letter-spacing:.05em; text-transform:uppercase; }
.customer-secure i { background:var(--v2-lime); border-radius:50%; box-shadow:0 0 0 4px rgba(200,240,74,.18); height:6px; width:6px; }
.customer-form { display:grid; gap:14px; margin-top:36px; }
.customer-form label,.config-panel label { color:var(--v2-muted); display:grid; font-size:.59rem; font-weight:600; gap:8px; letter-spacing:.01em; }
.customer-form input,.config-panel input,.config-panel textarea,.config-panel select { background:rgba(255,255,255,.78); border:1px solid var(--v2-line); border-radius:12px; color:var(--v2-ink); font:inherit; font-size:.82rem; min-height:52px; padding:13px 15px; transition:border-color 160ms ease,box-shadow 160ms ease,background 160ms ease; width:100%; }
.customer-form input:focus,.config-panel input:focus,.config-panel textarea:focus,.config-panel select:focus { background:white; border-color:var(--v2-aqua-deep); box-shadow:0 0 0 4px rgba(0,140,120,.1); outline:0; }
.config-panel textarea { min-height:105px; resize:vertical; }
.config-panel label small { color:var(--v2-muted); font-size:.58rem; font-weight:450; line-height:1.45; }
.suite-button { text-decoration:none; }
button.suite-button { font-family:inherit; }
.suite-button span { font-size:.9rem; }
.customer-notice { background:#dff5e9; border:1px solid rgba(0,140,120,.18); border-radius:14px; color:#155b4e; font-size:.72rem; line-height:1.45; margin-bottom:24px; padding:13px 15px; }
.customer-notice.error { background:var(--customer-error); border-color:rgba(183,66,44,.18); color:#862d1f; }
.privacy-note,.micro-copy { color:var(--v2-muted); font-family:ui-monospace,Menlo,monospace; font-size:.52rem; letter-spacing:.02em; line-height:1.5; }
code { background:#e4e8e4; border-radius:5px; font-size:.8em; padding:2px 5px; }

/* Login */
.login-shell { min-height:100svh; }
.login-scene { isolation:isolate; }
.login-scene::before { z-index:-1; }
.login-network { animation:networkEnter 700ms cubic-bezier(.2,.7,.2,1) both; }
.login-network::before,.login-network::after { animation:networkPulse 5s ease-in-out infinite; }
.login-network::after { animation-delay:-2.5s; }
.login-network img { filter:drop-shadow(0 18px 22px rgba(0,0,0,.25)); }
.login-network img:nth-child(1) { background:#20170f; }
.login-network img:nth-child(2) { background:#10241e; }
.login-network img:nth-child(3) { background:#1f1730; }
.login-core { line-height:1.35; text-align:center; }
.scene-caption { bottom:38px; color:rgba(255,255,255,.5); display:flex; font-family:ui-monospace,Menlo,monospace; font-size:.55rem; gap:14px; left:50px; margin:0; position:absolute; }
.scene-caption span { color:var(--v2-aqua); }
.login-card h1 em { color:var(--v2-aqua-deep); font-style:normal; font-weight:420; }
.login-card .suite-button { justify-content:space-between; margin-top:5px; width:100%; }
.login-state { margin:20px 0 0; }
@keyframes networkPulse { 50% { opacity:.45; transform:scale(.96); } }
@keyframes networkEnter { from { opacity:0; transform:scale(.93); } }

/* Configurator */
.config-page { background:var(--v2-paper); }
.config-shell { min-height:calc(100svh - var(--v2-header)); }
.config-aside { min-height:calc(100svh - var(--v2-header)); position:sticky; top:var(--v2-header); }
.config-aside .suite-kicker { color:var(--v2-aqua); position:relative; z-index:2; }
.config-agent { display:grid; grid-template-columns:minmax(130px,.68fr) minmax(175px,1fr); margin:20px -1.5vw 28px; min-height:330px; position:relative; z-index:1; }
.config-agent::before { border:1px solid color-mix(in srgb,var(--agent-accent) 38%,transparent); border-radius:50%; content:""; height:300px; left:-25px; position:absolute; top:10px; width:300px; z-index:-1; }
.config-agent > img { align-self:end; filter:drop-shadow(0 24px 24px rgba(0,0,0,.3)); height:330px; margin-left:-25px; object-fit:contain; object-position:center bottom; width:100%; }
.config-agent-copy { align-self:center; padding-right:20px; }
.config-agent h1 { font-size:clamp(2.7rem,4.5vw,5.3rem); margin:8px 0 12px; }
.config-agent-copy > p { font-size:.69rem; }
.worker-role { color:var(--v2-aqua)!important; font-family:ui-monospace,Menlo,monospace; letter-spacing:.05em; margin:0; text-transform:uppercase; }
.worker-promise { color:white!important; font-size:.75rem!important; font-weight:600; line-height:1.45; margin:16px 0 0; }
.worker-personality { display:flex; flex-wrap:wrap; gap:5px; list-style:none; margin:13px 0; padding:0; }
.worker-personality li { border:1px solid rgba(255,255,255,.16); border-radius:999px; color:rgba(255,255,255,.65); font-size:.5rem; padding:5px 8px; text-transform:capitalize; }
.worker-reassurance { border-top:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.45)!important; font-size:.55rem!important; line-height:1.45; margin:0; padding-top:10px; }
.config-progress { margin:0; padding:0; }
.config-progress li.active,.config-progress li.is-active { color:white; }
.config-progress li.active::after,.config-progress li.is-active::after { background:var(--v2-lime); border-radius:50%; content:""; height:6px; width:6px; }
#mobile-progress { display:none; }
.config-panel { align-items:flex-start; overflow:auto; padding-bottom:100px; padding-top:clamp(65px,8vh,100px); position:relative; }
.config-step.step { display:none; }
.config-step.step.active,.config-step.step.is-active { animation:configEnter 280ms ease-out both; display:block; }
.config-step h2 em { color:var(--v2-aqua-deep); font-style:normal; font-weight:420; }
.config-grid.one-column { grid-template-columns:1fr; }
.config-grid label.wide { grid-column:1/-1; }
.config-actions.end { justify-content:flex-end; }
.config-actions > span:first-child { align-self:center; margin-right:auto; }
.choice-fieldset { border:0; margin:34px 0 0; padding:0; }
.choice-fieldset legend { color:var(--v2-muted); font-size:.58rem; margin-bottom:10px; }
#channel-options label { align-items:center; background:rgba(255,255,255,.7); border:1px solid var(--v2-line); border-radius:16px; color:var(--v2-ink); cursor:pointer; display:flex; font-size:.75rem; min-height:76px; padding:16px; }
#channel-options input { accent-color:var(--v2-aqua-deep); min-height:auto; width:auto; }
#channel-options label:has(input:checked) { border-color:var(--v2-aqua-deep); box-shadow:inset 0 0 0 1px var(--v2-aqua-deep); }
.gateway-note,.known-context,.complete { background:#edf5e9; border-left:3px solid var(--v2-lime); border-radius:0 12px 12px 0; color:var(--v2-muted); font-size:.67rem; line-height:1.5; margin-top:26px; padding:13px 15px; }
.known-context { display:grid; gap:4px; }
.known-context strong { color:var(--v2-ink); }
.compact-list { color:#394640; font-size:.74rem; line-height:1.65; padding-left:20px; }
.compact-list a { border-bottom:1px solid currentColor; color:var(--v2-aqua-deep); }
.mission-fields { display:grid; gap:2px; margin-top:30px; }
.mission-fields > label { border-top:1px solid var(--v2-line); padding-top:15px; }
.mission-fields fieldset { border:0; border-top:1px solid var(--v2-line); margin:0; padding:16px 0 8px; }
.mission-fields legend { color:var(--v2-muted); font-size:.59rem; margin-bottom:9px; }
.mission-fields fieldset label { align-items:center; color:var(--v2-ink); display:inline-flex; font-size:.66rem; margin:0 15px 8px 0; }
.mission-fields fieldset input { accent-color:var(--v2-aqua-deep); min-height:auto; width:auto; }
.configuration-summary { border-top:1px solid var(--v2-line); margin-top:34px; }
.configuration-summary dl { margin:0; }
.configuration-summary dt,.configuration-summary dd { border-bottom:1px solid var(--v2-line); margin:0; padding:14px 0; }
.configuration-summary dt { color:var(--v2-muted); float:left; font-size:.57rem; width:125px; }
.configuration-summary dd { font-size:.71rem; min-height:47px; padding-left:145px; }
@keyframes configEnter { from { opacity:0; transform:translateY(8px); } }

/* Dashboard */
.account-email { color:var(--v2-muted); font-size:.62rem; max-width:210px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.organization-switcher { display:flex; align-items:center; gap:.55rem; margin-top:.7rem; color:var(--v2-muted); font-size:.72rem; font-weight:700; }
.organization-switcher select { max-width:260px; border:1px solid rgba(255,255,255,.22); border-radius:999px; background:rgba(255,255,255,.08); color:inherit; padding:.45rem 2rem .45rem .75rem; font:inherit; }
.account-logout { background:none; border:0; cursor:pointer; padding:0; }
.dashboard-hero { padding-top:100px; }
.dashboard-grid { margin-bottom:110px; }
.worker-card { grid-template-columns:210px 1fr; }
.worker-card-visual img.portrait { height:100%; object-fit:contain; object-position:center bottom; width:100%; }
.worker-card-title .status { background:#e8ece8; border-radius:999px; font-size:.52rem; padding:7px 9px; }
.worker-card-title .status[data-status="ready"] { background:#e7f4cd; color:#315b20; }
.worker-card-title .status[data-status="setup_pending"] { background:#fff0c9; color:#735313; }
.worker-card-title .status[data-status="paused"] { background:#e7e7e7; }
.worker-card-title .status[data-status="error"] { background:var(--customer-error); color:#862d1f; }
.channel-heading { align-items:center; display:flex; margin-top:20px; }
.channel-heading span { color:var(--v2-muted); font-family:ui-monospace,Menlo,monospace; font-size:.5rem; text-transform:uppercase; }
.channel-heading i { background:var(--v2-line); height:1px; margin-left:12px; width:100%; }
.channel-list { list-style:none; padding:0; }
.channel-list li { align-items:center; display:flex; gap:8px; }
.channel-list li > span { font-size:.61rem; }
.channel-list strong { color:var(--v2-muted); font-size:.54rem; font-weight:600; margin-left:auto; }
.channel-list strong[data-status="connected"],.channel-list strong[data-status="ready"] { color:var(--v2-aqua-deep); }
.channel-list strong[data-status^="pending"] { color:#9a6700; }
.channel-action { background:none; border:0; border-bottom:1px solid currentColor; color:var(--v2-aqua-deep); cursor:pointer; font:inherit; font-size:.53rem; padding:0 0 2px; text-decoration:none; }
.worker-card .actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.empty-state { padding-bottom:120px; }
.empty-state > div { background:var(--v2-paper); border-radius:24px; padding:clamp(35px,7vw,85px); }
.empty-state h2,.add-worker-heading h2 { font-size:clamp(3.4rem,6vw,6.5rem); font-weight:520; letter-spacing:-.07em; line-height:.9; margin:25px 0; }
.empty-state h2 em,.add-worker-heading h2 em { color:var(--v2-aqua-deep); font-style:normal; font-weight:420; }
.empty-state p { color:var(--v2-muted); max-width:520px; }
.empty-state .suite-button { margin-top:25px; }
.add-worker-section { background:var(--customer-dark); color:white; padding:110px 0 130px; }
.add-worker-heading { align-items:end; display:grid; gap:80px; grid-template-columns:1fr 360px; }
.add-worker-heading h2 em { color:var(--v2-aqua); }
.add-worker-heading p { color:rgba(255,255,255,.48); font-size:.82rem; line-height:1.6; }
.worker-picker { border-top:1px solid rgba(255,255,255,.14); display:grid; grid-template-columns:repeat(3,1fr); margin-top:70px; }
.worker-picker button { align-items:center; background:none; border:0; border-bottom:1px solid rgba(255,255,255,.14); color:white; cursor:pointer; display:grid; gap:15px; grid-template-columns:60px 1fr auto; min-height:92px; padding:12px 22px 12px 0; text-align:left; }
.worker-picker button:nth-child(3n+2),.worker-picker button:nth-child(3n+3) { border-left:1px solid rgba(255,255,255,.14); padding-left:22px; }
.worker-picker img { background:#15231e; border-radius:50%; height:58px; object-fit:contain; width:58px; }
.worker-picker span { display:grid; gap:3px; }
.worker-picker strong { font-size:.88rem; }
.worker-picker small { color:rgba(255,255,255,.42); font-size:.56rem; }
.worker-picker b { color:var(--v2-aqua); font-size:1.1rem; transition:transform 160ms ease; }
.worker-picker button:hover b { transform:rotate(90deg); }
dialog { background:var(--v2-paper); border:1px solid var(--v2-line); border-radius:24px; box-shadow:0 40px 100px rgba(0,0,0,.35); color:var(--v2-ink); max-width:min(540px,calc(100vw - 30px)); padding:32px; }
dialog::backdrop { backdrop-filter:blur(8px); background:rgba(7,13,11,.62); }
dialog h2 { font-size:2.7rem; font-weight:520; letter-spacing:-.06em; margin:15px 0 20px; }
dialog p,dialog li { color:var(--v2-muted); font-size:.72rem; line-height:1.6; }
.dialog-close { background:none; border:0; cursor:pointer; float:right; font-size:1.5rem; }
.pairing-state { color:var(--v2-aqua-deep); font-size:.68rem; margin-top:15px; }
#whatsapp-qr { margin:20px auto 0; max-width:320px; width:100%; }

@media (max-width:1100px) {
  .config-shell { grid-template-columns:400px 1fr; }
  .config-agent { display:block; margin:10px 0 20px; }
  .config-agent::before { left:25px; }
  .config-agent > img { height:240px; margin:0; }
  .config-agent-copy { padding:0; }
  .config-agent h1 { font-size:3.4rem; }
  .worker-card { grid-template-columns:180px 1fr; }
}
@media (max-width:760px) {
  .customer-header .v2-nav,.customer-header .customer-secure,.account-email { display:none; }
  .customer-header .v2-header-actions { gap:12px; }
  .login-scene { min-height:370px; }
  .login-network { height:290px; width:290px; }
  .login-network img { height:65px; width:65px; }
  .login-core { font-size:.52rem; height:90px; left:calc(50% - 45px); top:calc(50% - 45px); width:90px; }
  .scene-caption { bottom:22px; left:22px; }
  .login-panel { padding:60px 20px; }
  .login-card h1 { font-size:4.4rem; }
  .config-shell { display:block; }
  .config-aside { min-height:460px; padding:35px 20px 22px; position:relative; top:auto; }
  .config-agent { display:grid; grid-template-columns:145px 1fr; min-height:270px; }
  .config-agent::before { height:210px; left:-15px; top:25px; width:210px; }
  .config-agent > img { height:260px; margin-left:-20px; }
  .config-agent h1 { font-size:2.8rem; }
  .worker-promise,.worker-personality,.worker-reassurance { display:none; }
  .config-progress { display:none; }
  #mobile-progress { align-items:center; display:grid; gap:8px; grid-template-columns:1fr auto; }
  #mobile-progress::before { background:rgba(255,255,255,.14); border-radius:99px; content:""; grid-column:1/-1; height:4px; }
  #mobile-progress span { background:var(--v2-lime); border-radius:99px; grid-column:1/-1; grid-row:1; height:4px; transition:width 180ms ease; width:var(--progress,16.67%); }
  #mobile-progress strong { color:rgba(255,255,255,.5); font-size:.52rem; grid-column:2; }
  .config-panel { min-height:650px; padding:65px 20px 90px; }
  .config-step h2 { font-size:3.5rem; }
  .config-grid { grid-template-columns:1fr; }
  .config-grid label.wide { grid-column:auto; }
  .config-actions { align-items:stretch; flex-direction:column-reverse; }
  .config-actions .suite-button { width:100%; }
  .configuration-summary dt { float:none; padding-bottom:4px; width:auto; }
  .configuration-summary dd { min-height:0; padding-left:0; padding-top:0; }
  .dashboard-hero { padding-top:72px; }
  .dashboard-hero h1 { font-size:clamp(3.2rem,17vw,4.3rem); max-width:100%; overflow-wrap:anywhere; }
  .dashboard-summary { grid-template-columns:1fr 1fr; }
  .worker-card { display:block; }
  .worker-card-visual { height:250px; }
  .worker-card-body { padding:24px 20px 28px; }
  .add-worker-heading { display:block; }
  .worker-picker { grid-template-columns:1fr; }
  .worker-picker button:nth-child(n) { border-left:0; padding-left:0; }
  .add-worker-section { padding:85px 0 100px; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; } }
