:root {
  --bg:#07101f; --surface:#0d192b; --surface2:#122239; --surface3:#172a45;
  --line:#213653; --text:#eef5ff; --muted:#8fa4c0; --muted2:#607795;
  --blue:#2388ff; --cyan:#21d4fd; --gold:#ffbf2f; --green:#25d366; --danger:#ff6577;
  --radius:16px; --shadow:0 18px 60px rgba(0,0,0,.32);
}
*{box-sizing:border-box} html{color-scheme:dark;-webkit-text-size-adjust:100%} body{margin:0;background:radial-gradient(circle at 8% -10%,#123363 0,transparent 29%),var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh} button,input,select,textarea{font:inherit}.hidden{display:none!important}
.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;position:relative;overflow:hidden}.login-glow{position:absolute;width:540px;height:540px;background:radial-gradient(circle,rgba(35,136,255,.24),transparent 68%);filter:blur(8px)}.login-card{position:relative;width:min(410px,100%);background:rgba(13,25,43,.88);border:1px solid rgba(89,157,255,.25);backdrop-filter:blur(18px);border-radius:24px;padding:38px;box-shadow:var(--shadow)}.login-card>p{text-align:center;color:var(--muted);margin:4px 0 30px}.login-card label{font-size:13px;color:var(--muted);display:block;margin-bottom:7px}.login-card input{margin-bottom:14px}.form-error{color:#ff9aa6;font-size:13px;text-align:center;margin-top:12px}
.brand{display:flex;align-items:center;letter-spacing:-1px;font-size:24px;white-space:nowrap}.brand span{font-weight:300}.brand b{font-size:34px;margin-left:3px;font-style:italic;background:linear-gradient(145deg,#fff 12%,#58a6ff 38%,#7c3aed 58%,#ffb62e 82%);background-clip:text;color:transparent;text-shadow:0 0 20px rgba(39,138,255,.35)}.brand small{font-size:10px;letter-spacing:2px;color:var(--gold);margin:6px 0 0 9px}.brand-login{justify-content:center;font-size:34px}.brand-login b{font-size:48px}
.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--line);background:rgba(7,16,31,.86);backdrop-filter:blur(18px);position:sticky;top:0;z-index:50}.top-actions{display:flex;align-items:center;gap:9px}.icon-button{border:1px solid var(--line);background:var(--surface);color:var(--text);width:40px;height:40px;border-radius:12px;font-size:20px;cursor:pointer}.btn{border:0;border-radius:12px;padding:11px 16px;color:white;font-weight:700;cursor:pointer;transition:.18s transform,.18s filter}.btn:hover{filter:brightness(1.1)}.btn:active{transform:scale(.98)}.btn.primary{background:linear-gradient(135deg,#1177f2,#4457ee);box-shadow:0 8px 24px rgba(35,136,255,.22)}.btn.secondary{background:var(--surface2);border:1px solid var(--line)}.btn.success{background:#168d4e}.btn.full{width:100%}.btn.small{padding:8px 11px;font-size:13px}
.tabs{display:flex;gap:8px;padding:12px 24px;border-bottom:1px solid var(--line);background:rgba(7,16,31,.72);position:sticky;top:72px;z-index:40;overflow:auto}.tab{border:0;background:transparent;color:var(--muted);padding:9px 14px;border-radius:10px;white-space:nowrap;cursor:pointer;font-weight:650}.tab.active{background:var(--surface2);color:var(--text)}.badge{background:var(--danger);border-radius:20px;padding:2px 7px;font-size:11px;margin-left:4px}
main{padding:22px 24px 60px}.summary-grid{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:12px;margin-bottom:25px}.summary-card{border:1px solid var(--line);background:linear-gradient(145deg,rgba(18,34,57,.95),rgba(12,24,42,.9));border-radius:var(--radius);padding:16px;min-height:100px;position:relative;overflow:hidden}.summary-card:after{content:"";position:absolute;width:80px;height:80px;border-radius:50%;right:-25px;top:-30px;background:var(--accent,#2388ff);opacity:.1}.summary-label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.summary-value{font-size:27px;font-weight:800;margin-top:8px}.summary-detail{font-size:12px;color:var(--muted2);margin-top:2px}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:15px}.section-head h1{font-size:21px;margin:0 0 3px}.section-head p{color:var(--muted);font-size:13px;margin:0}.search-wrap{position:relative;width:min(330px,100%)}input,select,textarea{width:100%;background:#091525;border:1px solid var(--line);color:var(--text);border-radius:11px;padding:11px 12px;outline:none}input:focus,select:focus,textarea:focus{border-color:#328df3;box-shadow:0 0 0 3px rgba(50,141,243,.12)}textarea{resize:vertical;min-height:92px}.search-wrap button{position:absolute;right:7px;top:6px;border:0;background:none;color:var(--muted);font-size:20px;cursor:pointer}
.kanban{display:flex;gap:13px;overflow-x:auto;align-items:flex-start;padding:3px 2px 22px;scrollbar-color:#34506f transparent}.column{width:295px;min-width:295px;background:rgba(9,21,37,.82);border:1px solid var(--line);border-radius:16px;min-height:230px}.column.drag-over{border-color:#4aa0ff;background:rgba(23,56,95,.72)}.column-head{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;border-bottom:1px solid var(--line);position:sticky;top:0}.column-title{display:flex;align-items:center;gap:8px;font-weight:750;font-size:13px}.stage-dot{width:9px;height:9px;border-radius:50%;box-shadow:0 0 12px currentColor}.count{font-size:11px;color:var(--muted);background:var(--surface2);padding:3px 7px;border-radius:20px}.cards{padding:9px;display:grid;gap:9px;min-height:170px}.lead-card{background:linear-gradient(145deg,var(--surface2),#0e1c31);border:1px solid #263d5c;border-radius:13px;padding:13px;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.12);transition:.15s}.lead-card:hover{border-color:#3a5d86;transform:translateY(-1px)}.lead-card.dragging{opacity:.45}.lead-top{display:flex;justify-content:space-between;gap:8px}.lead-name{font-weight:750;font-size:14px}.priority{width:8px;height:8px;border-radius:50%;margin-top:5px;background:#64748b}.priority.alta{background:#ff596d;box-shadow:0 0 10px #ff596d}.priority.baixa{background:#5d7898}.lead-company,.lead-service{font-size:12px;color:var(--muted);margin-top:3px}.lead-service{color:#b8c9dd}.lead-footer{border-top:1px solid rgba(70,96,128,.35);margin-top:10px;padding-top:9px;display:flex;justify-content:space-between;color:var(--muted2);font-size:11px}.due{color:#ff9b69}.due.overdue{color:#ff6577;font-weight:700}.empty-column{color:var(--muted2);font-size:12px;text-align:center;padding:32px 12px}
.list-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.followup-row{display:grid;grid-template-columns:90px 1.4fr 2fr auto;align-items:center;gap:14px;padding:14px 16px;border-bottom:1px solid var(--line)}.followup-row:last-child{border:0}.followup-date{font-size:12px;color:var(--muted)}.followup-date.overdue{color:var(--danger);font-weight:750}.followup-name{font-weight:750}.followup-company{font-size:12px;color:var(--muted)}.followup-reason{font-size:13px;color:#c3d1e3}
.finance-actions{display:flex;align-items:center;gap:8px}.finance-actions strong{min-width:130px;text-align:center;text-transform:capitalize}.finance-summary{margin:0 0 16px}.transaction-row{display:grid;grid-template-columns:90px minmax(180px,1.5fr) 130px 120px auto;align-items:center;gap:13px;padding:13px 16px;border-bottom:1px solid var(--line)}.transaction-row:last-child{border:0}.transaction-kind{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.transaction-kind.receita{color:#56df92}.transaction-kind.despesa{color:#ff8292}.transaction-amount{font-weight:800;text-align:right}.transaction-status{font-size:11px;padding:4px 8px;border-radius:20px;background:var(--surface3);text-align:center}.transaction-status.pago{background:rgba(37,211,102,.12);color:#58e194}.transaction-status.pendente{background:rgba(245,158,11,.12);color:#ffc65d}.transaction-meta{font-size:11px;color:var(--muted)}
.forecast-panel{margin-top:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:17px}.forecast-panel h2{font-size:16px;margin:0 0 3px}.forecast-panel>p{font-size:12px;color:var(--muted);margin:0 0 14px}.forecast-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:9px}.forecast-card{background:var(--surface2);border:1px solid var(--line);border-radius:12px;padding:12px}.forecast-month{text-transform:capitalize;color:var(--muted);font-size:11px}.forecast-net{font-size:17px;font-weight:800;margin:6px 0}.forecast-net.negative{color:#ff8292}.forecast-detail{font-size:10px;color:var(--muted2);line-height:1.5}
.templates-grid{display:grid;gap:18px}.template-group{background:linear-gradient(145deg,rgba(13,25,43,.96),rgba(8,19,34,.96));border:1px solid var(--line);border-radius:20px;overflow:hidden}.template-group-head{display:flex;align-items:center;gap:14px;padding:17px 19px;border-bottom:1px solid var(--line);background:rgba(18,34,57,.58)}.template-group-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:rgba(35,136,255,.12);font-size:21px}.template-group-title h2{font-size:16px;margin:0 0 3px}.template-group-title p{font-size:12px;color:var(--muted);margin:0}.template-group-count{margin-left:auto;background:var(--surface3);color:var(--muted);padding:4px 9px;border-radius:20px;font-size:11px}.template-group-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:12px;padding:13px}.template-card{background:var(--surface2);border:1px solid #263d5c;border-radius:14px;padding:15px;display:flex;flex-direction:column;min-height:230px}.template-step{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--cyan);text-transform:uppercase;letter-spacing:.1em}.step-number{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;background:#173d68;color:#8fc8ff;font-weight:800}.template-card h3{font-size:15px;margin:9px 0 10px}.template-body{white-space:pre-wrap;color:#c5d4e7;font-size:13px;line-height:1.55;flex:1}.template-actions{display:flex;gap:7px;margin-top:14px}.template-actions .btn{flex:1}.btn.danger{background:rgba(255,101,119,.1);color:#ff98a5;border:1px solid rgba(255,101,119,.4)}
.modal-backdrop{position:fixed;inset:0;background:rgba(1,7,16,.78);backdrop-filter:blur(5px);z-index:100;display:flex;align-items:center;justify-content:center;padding:18px}.modal{width:min(800px,100%);max-height:92vh;overflow:auto;background:#0c192b;border:1px solid #2b4568;border-radius:20px;box-shadow:var(--shadow)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#0c192b;z-index:2}.modal-head h2{margin:0;font-size:20px}.modal-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.close{border:0;background:var(--surface2);color:var(--text);width:34px;height:34px;border-radius:10px;cursor:pointer;font-size:19px}.modal-body{padding:20px 22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-group label{display:block;color:var(--muted);font-size:12px;margin:0 0 6px}.form-group.span-2{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.detail-tabs{display:flex;gap:6px;margin-bottom:16px;overflow:auto}.detail-tab{background:transparent;border:1px solid var(--line);color:var(--muted);padding:8px 11px;border-radius:9px;cursor:pointer;white-space:nowrap}.detail-tab.active{background:var(--surface2);color:var(--text)}.timeline{display:grid;gap:10px}.timeline-item{border-left:2px solid #2b7ee8;padding:9px 11px;background:rgba(17,34,57,.5);border-radius:0 10px 10px 0}.timeline-item small{color:var(--muted2)}.timeline-item p{margin:4px 0 0;white-space:pre-wrap;font-size:13px}.timeline-actions{display:flex;gap:6px;float:right}.text-button{border:0;background:none;color:#72adf2;font-size:11px;cursor:pointer}.text-button.danger{color:#ff8292}.inline-form{display:grid;grid-template-columns:150px 1fr auto;gap:8px;margin-bottom:15px}.record-actions{display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.archived-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}.archived-row:last-child{border:0}.toast{position:fixed;right:20px;bottom:20px;background:#152944;border:1px solid #315274;color:#fff;padding:12px 16px;border-radius:12px;box-shadow:var(--shadow);z-index:200;font-size:13px}.toast.success{border-color:#238b5b}.toast.error{border-color:#ae3c4b}
@media(max-width:950px){.summary-grid{grid-template-columns:repeat(3,1fr)}.forecast-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.topbar{padding:0 13px;height:64px}.brand{font-size:19px}.brand b{font-size:28px}.brand small{display:none}.top-actions .icon-button:first-child{display:none}.top-actions .btn{font-size:0;padding:10px 13px}.top-actions .btn:after{content:"＋ Novo";font-size:13px}.tabs{top:64px;padding:9px 12px}main{padding:16px 12px 45px}.summary-grid{display:flex;overflow:auto;gap:9px;margin-right:-12px;padding-right:12px}.summary-card{min-width:145px;min-height:88px}.summary-value{font-size:23px}.section-head{align-items:stretch;flex-direction:column}.kanban{margin-right:-12px}.column{width:280px;min-width:280px}.modal-backdrop{padding:0;align-items:flex-end}.modal{border-radius:20px 20px 0 0;max-height:94vh}.modal-head,.modal-body{padding:16px}.form-grid{grid-template-columns:1fr}.form-group.span-2{grid-column:auto}.followup-row{grid-template-columns:74px 1fr auto}.followup-reason{grid-column:2/-1}.inline-form{grid-template-columns:1fr}.template-group-cards{grid-template-columns:1fr}.finance-actions{flex-wrap:wrap}.transaction-row{grid-template-columns:70px 1fr auto}.transaction-status{grid-column:2}.transaction-row>div:last-child{grid-column:3;grid-row:1/3}.forecast-grid{display:flex;overflow:auto}.forecast-card{min-width:150px}}
