@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Sora:wght@400;500;600&display=swap";:root{--bg-bottom: #0b1f2a;--ink: #f4f7f8;--muted: #a7bcc6;--accent: #2f9e9e;--card: rgba(255, 255, 255, .06);--line: rgba(255, 255, 255, .12);--danger: #ff8f8f;--font-display: "Fraunces", "Iowan Old Style", Georgia, serif;--font-body: "Sora", "Avenir Next", "Segoe UI", sans-serif;color:var(--ink);font-family:var(--font-body);background:radial-gradient(circle at 12% 18%,rgba(47,158,158,.28),transparent 42%),radial-gradient(circle at 88% 0%,rgba(255,196,120,.16),transparent 36%),linear-gradient(160deg,#102531 0%,var(--bg-bottom) 58%,#07141c 100%);min-height:100%}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{min-height:100vh}.dashboard{width:min(1200px,calc(100% - 2rem));margin:0 auto;padding:2rem 0 3rem}.hero{margin-bottom:1.75rem;animation:rise .7s ease both}.brand{margin:0 0 .35rem;font-size:clamp(2rem,5vw,3.4rem);font-family:var(--font-display);letter-spacing:-.03em;color:#dff7f4}.hero h1{margin:0;font-size:clamp(1.15rem,2.4vw,1.5rem);font-weight:500}.subtitle{margin:.55rem 0 0;color:var(--muted);max-width:38rem}.whatsapp-connect{margin:0 0 1.5rem;padding:1rem 0 .25rem;border-top:1px solid var(--line);animation:fade .8s ease both}.whatsapp-connect-header h2{margin:0 0 .35rem;font-family:var(--font-display);font-size:1.35rem}.waha-status,.gate-hint,.connected-badge{margin:.35rem 0 .85rem;color:var(--muted)}.qr-panel{margin:1rem 0;max-width:16rem}.qr-image{display:block;width:100%;border-radius:.75rem;background:#fff;padding:.5rem}.board-toolbar{display:flex;gap:.75rem;margin:0 0 1rem}.primary-button,.secondary-button,.ghost-button{font:inherit;cursor:pointer;border-radius:.65rem;padding:.55rem .95rem;border:1px solid var(--line);color:var(--ink);background:transparent}.primary-button{background:#2f9e9e47;border-color:#2f9e9e8c}.secondary-button{background:#ffffff0f}.ghost-button{background:transparent}.primary-button:disabled,.secondary-button:disabled{opacity:.55;cursor:not-allowed}.pipeline h2,.panel h2{margin:0 0 .85rem;font-family:var(--font-display);font-size:1.35rem}.pipeline-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;overflow-x:auto;padding-bottom:.35rem}.pipeline-column{min-width:11rem;border-top:2px solid var(--accent);padding-top:.65rem}.pipeline-column h3{margin:0 0 .65rem;font-size:.95rem;font-weight:600}.pipeline-cards,.card-list{display:grid;gap:.65rem}.card{background:var(--card);border:1px solid var(--line);border-radius:.85rem;padding:.85rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:rise .55s ease both}.card h3,.card h4{margin:0 0 .35rem;font-size:1rem}.card p{margin:.2rem 0;font-size:.9rem}.move-label{display:grid;gap:.35rem;margin-top:.65rem;font-size:.8rem;color:var(--muted)}.move-label select,.person-form input,.person-form select,.person-form textarea{width:100%;font:inherit;color:var(--ink);background:#00000040;border:1px solid var(--line);border-radius:.55rem;padding:.45rem .55rem}.muted,.empty{color:var(--muted)}.badge{display:inline-block;color:#d7fffb;font-size:.8rem}.panels{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:1.75rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#040c12b8;display:grid;place-items:center;padding:1rem;z-index:20}.modal{width:min(32rem,100%);background:linear-gradient(180deg,#143040,#0d2230);border:1px solid var(--line);border-radius:1rem;padding:1rem 1.1rem 1.2rem;animation:rise .35s ease both}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem}.modal-header h2{margin:0;font-family:var(--font-display);font-size:1.35rem}.person-form{display:grid;gap:.85rem}.person-form label{display:grid;gap:.35rem;font-size:.9rem}.phone-row{display:grid;grid-template-columns:1fr auto;gap:.5rem}.modal-actions{display:flex;justify-content:flex-end;gap:.65rem}.error{color:var(--danger);font-weight:600}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@media (max-width: 900px){.pipeline-columns{grid-auto-flow:column;grid-template-columns:repeat(4,minmax(12rem,1fr))}.panels,.phone-row{grid-template-columns:1fr}}
