@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');
:root{--bg:#f4f7fb;--surface:#fff;--surface-2:#f8fafc;--text:#172033;--muted:#6c7890;--border:#e5eaf1;--blue:#146ce5;--blue-dark:#0753bb;--green:#20ad78;--orange:#ed9a37;--sidebar:#101d35;--sidebar-text:#b8c4d8;--shadow:0 8px 30px rgba(29,47,74,.07);color-scheme:light}:root[data-theme=dark]{--bg:#09111f;--surface:#111c2e;--surface-2:#162338;--text:#eef4ff;--muted:#93a2ba;--border:#26354b;--blue:#4d94f5;--blue-dark:#2779e8;--sidebar:#07101e;--sidebar-text:#aebcd1;--shadow:0 12px 35px rgba(0,0,0,.22);color-scheme:dark}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:'DM Sans',Arial,sans-serif;background:var(--bg);color:var(--text)}body{min-height:100vh}button,input{font:inherit}button,a{transition:.18s ease}button{cursor:pointer}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}a{text-decoration:none;color:inherit}
.sidebar{position:fixed;inset:0 auto 0 0;width:250px;padding:24px 16px 18px;background:var(--sidebar);color:var(--sidebar-text);display:flex;flex-direction:column;z-index:20;transition:width .25s,transform .25s;overflow:hidden}.sidebar-brand{height:48px;display:flex;align-items:center;padding:0 11px;margin-bottom:28px}.brand-full{width:180px;max-height:43px;object-fit:contain;object-position:left}.brand-mini{display:none;width:38px;height:38px;object-fit:contain}.nav{display:flex;flex-direction:column;gap:5px;flex:1}.nav-heading{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#75849e;padding:0 13px 9px;white-space:nowrap}.nav-item{min-height:44px;border-radius:10px;display:flex;align-items:center;gap:12px;padding:0 12px;font-size:14px;font-weight:500;white-space:nowrap}.nav-item:hover{background:#ffffff0f;color:#fff}.nav-item.active{color:#fff;background:linear-gradient(95deg,#176fde,#2f87f2);box-shadow:0 7px 20px #146ce540}.nav-icon{display:grid;place-items:center;min-width:20px}.nav-icon svg{width:19px}.nav-item small{margin-left:auto;font-size:9px;text-transform:uppercase;opacity:.6}.sidebar-footer{border-top:1px solid #ffffff1a;padding:18px 7px 0;display:flex;align-items:center;gap:10px;white-space:nowrap}.user-avatar,.table-user>span{width:36px;height:36px;flex:0 0 36px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,#1a72df,#4da1ff);color:#fff;font-weight:700}.user-copy{display:flex;flex-direction:column;overflow:hidden}.user-copy strong{font-size:13px;color:#fff}.user-copy span{font-size:11px;margin-top:2px;color:#8291aa}
.page{margin-left:250px;min-height:100vh;transition:margin .25s}.topbar{height:76px;padding:0 34px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:20px;position:sticky;top:0;z-index:10}.icon-button{width:40px;height:40px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--muted);display:grid;place-items:center}.icon-button:hover{color:var(--blue);border-color:var(--blue)}.topbar-title{display:flex;flex-direction:column}.topbar-title span{font-size:11px;color:var(--muted)}.topbar-title strong{font:700 15px Manrope}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.topbar-actions form{margin:0}.logout-button{height:40px;padding:0 13px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--muted);display:flex;align-items:center;gap:7px}.logout-button svg{width:17px}.logout-button:hover{color:#e45c60;border-color:#e45c60}.content{padding:34px;max-width:1600px;margin:auto}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:27px}.eyebrow{text-transform:uppercase;color:var(--blue);font-weight:700;font-size:10px;letter-spacing:.13em}.page-heading h1{font:800 29px Manrope;margin:6px 0 5px}.page-heading p{margin:0;color:var(--muted);font-size:14px}.primary-button{border:0;border-radius:10px;background:linear-gradient(120deg,var(--blue),var(--blue-dark));color:#fff;min-height:43px;padding:0 19px;font-weight:700;box-shadow:0 7px 17px #146ce533}.primary-button:hover:not(:disabled){transform:translateY(-1px)}.primary-button:disabled{opacity:.55;cursor:not-allowed}
.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:18px}.metric-card,.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow)}.metric-card{padding:20px}.metric-top{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.metric-top i{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:#146ce51a;color:var(--blue);margin-top:-4px}.metric-top svg{width:17px}.metric-card>strong{display:block;font:800 25px Manrope;margin:9px 0 8px}.metric-card>small{color:var(--green);font-weight:700}.metric-card>small span{color:var(--muted);font-weight:400}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(290px,.7fr);gap:18px}.card{padding:21px}.card-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.card-header h2{font:700 15px Manrope;margin:0 0 5px}.card-header p{color:var(--muted);font-size:11px;margin:0}.period-chip{font-size:10px;border:1px solid var(--border);border-radius:7px;padding:7px 9px;color:var(--muted)}.chart{height:250px;position:relative;margin:18px 2px 0}.chart-lines{position:absolute;inset:10px 0 28px;display:flex;flex-direction:column;justify-content:space-between}.chart-lines i{border-top:1px dashed var(--border)}.chart svg{position:absolute;inset:9px 0 30px;width:100%;height:calc(100% - 39px);overflow:visible}.chart-area{fill:#146ce517;stroke:none}.chart-line{fill:none;stroke:var(--blue);stroke-width:3;vector-effect:non-scaling-stroke}.chart-line.secondary{stroke:var(--green);stroke-width:2}.chart-months{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.legend{display:flex;justify-content:center;gap:20px;font-size:10px;color:var(--muted)}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:7px;height:7px;border-radius:50%}.blue{background:var(--blue)}.green{background:var(--green)}.orange{background:var(--orange)}.activity-list{margin-top:15px}.activity{display:flex;gap:11px;padding:14px 0;border-bottom:1px solid var(--border)}.activity:last-child{border:0}.activity-icon{width:35px;height:35px;flex:0 0 35px;border-radius:9px;display:grid;place-items:center;color:#fff}.activity-icon svg{width:16px}.activity>div{display:flex;flex-direction:column}.activity strong{font-size:12px}.activity span,.activity small{font-size:10px;color:var(--muted);margin-top:3px}.activity small{margin-top:7px}.pipeline{margin-top:18px}.pipeline-items{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:20px}.pipeline-items div{display:grid;grid-template-columns:1fr auto;gap:7px;font-size:11px}.pipeline-items span{color:var(--muted)}.pipeline-items i{height:5px;background:var(--surface-2);border-radius:9px;grid-column:1/-1;overflow:hidden}.pipeline-items b{display:block;height:100%;background:var(--blue);border-radius:9px}
:root[data-sidebar=closed] .sidebar{width:78px}:root[data-sidebar=closed] .page{margin-left:78px}:root[data-sidebar=closed] .brand-full,:root[data-sidebar=closed] .nav-label,:root[data-sidebar=closed] .nav-heading,:root[data-sidebar=closed] .nav-item small,:root[data-sidebar=closed] .user-copy{display:none}:root[data-sidebar=closed] .brand-mini{display:block}:root[data-sidebar=closed] .sidebar-brand{padding:0 4px}:root[data-sidebar=closed] .nav-item{justify-content:center;padding:0}:root[data-sidebar=closed] .sidebar-footer{padding-left:0;justify-content:center}
.table-card{padding:0;overflow:hidden}.table-card .card-header{padding:22px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:650px}th,td{text-align:left;padding:15px 22px;border-top:1px solid var(--border);font-size:13px}th{background:var(--surface-2);color:var(--muted);font-size:10px;text-transform:uppercase}.table-user{display:flex;gap:10px;align-items:center}.table-user div{display:flex;flex-direction:column}.table-user small{color:var(--muted);margin-top:2px}.status{padding:5px 9px;border-radius:99px;font-size:11px}.status.active{background:#20ad781f;color:var(--green)}.status.inactive{background:#e45c601f;color:#e45c60}
.login-page{background:var(--surface)}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr}.login-showcase{position:relative;overflow:hidden;padding:50px 8%;color:#fff;display:flex;flex-direction:column;background:linear-gradient(145deg,#071d3ef0,#0a3c76d4),url('images/logo-focus-group.png') center/cover}.login-showcase:after{content:'';position:absolute;width:470px;height:470px;border:1px solid #ffffff14;border-radius:50%;right:-180px;bottom:-150px;box-shadow:0 0 0 80px #ffffff07,0 0 0 160px #ffffff05}.focus-group-logo{width:185px;max-height:60px;object-fit:contain;object-position:left;filter:brightness(0) invert(1);z-index:1}.showcase-copy{margin:auto 0;z-index:1;max-width:600px}.showcase-copy .eyebrow{color:#69b6ff}.showcase-copy h1{font:800 clamp(38px,4.5vw,66px)/1.08 Manrope;margin:16px 0 24px;letter-spacing:-.04em}.showcase-copy h1 em{font-style:normal;color:#5bb3ff}.showcase-copy p{font-size:17px;line-height:1.65;color:#c3d3e8;max-width:520px}.showcase-stat{display:flex;flex-direction:column;z-index:1}.showcase-stat strong{font:700 13px Manrope}.showcase-stat span{color:#97aac3;font-size:11px;margin-top:4px}.login-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:45px 8%;background:var(--surface)}.login-card{width:100%;max-width:410px}.login-logo{width:220px;max-height:65px;object-fit:contain;object-position:left;margin-bottom:38px}.login-heading h2{font:800 27px Manrope;margin:0 0 7px}.login-heading p{margin:0 0 27px;color:var(--muted);font-size:13px}.login-form{display:flex;flex-direction:column}.login-form label{font-size:12px;font-weight:700;margin:0 0 7px}.login-form input{height:48px;border:1px solid var(--border);background:var(--surface-2);border-radius:10px;padding:0 14px;color:var(--text);outline:none;margin-bottom:17px}.login-form input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #146ce51a}.password-field{position:relative}.password-field input{width:100%;padding-right:67px}.password-field button{position:absolute;right:12px;top:14px;border:0;background:none;color:var(--blue);font-size:11px;font-weight:700}.login-form .primary-button{height:49px;display:flex;justify-content:space-between;align-items:center;margin-top:5px}.login-help{text-align:center;font-size:11px;color:var(--muted);margin-top:20px}.login-panel footer{position:absolute;bottom:24px;color:var(--muted);font-size:10px}.theme-float{position:fixed;right:25px;top:22px;z-index:5}.alert{padding:11px 13px;border-radius:9px;background:#e45c601a;color:#d94d53;font-size:12px;margin-bottom:18px;border:1px solid #e45c6033}.alert.info{background:#146ce51a;color:var(--blue);border-color:#146ce533}
@media(max-width:1050px){.metrics-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.pipeline-items{gap:15px}}@media(max-width:760px){.sidebar{transform:translateX(-100%);width:250px!important}.page{margin-left:0!important}.topbar{padding:0 18px}.content{padding:23px 17px}:root[data-mobile-sidebar=open] .sidebar{transform:translateX(0);box-shadow:12px 0 40px #0005}.metrics-grid{grid-template-columns:1fr}.pipeline-items{grid-template-columns:repeat(2,1fr)}.logout-button span{display:none}.login-shell{grid-template-columns:1fr}.login-showcase{display:none}.login-panel{min-height:100vh;padding:40px 25px}.login-logo{margin-bottom:30px}.theme-float{right:16px;top:16px}.login-panel footer{position:static;margin-top:40px}}@media(max-width:430px){.page-heading{flex-direction:column;align-items:flex-start;gap:20px}.page-heading .primary-button{width:100%}.pipeline-items{grid-template-columns:1fr}.topbar-title{display:none}}

/* Identidade visual da tela de acesso */
.login-page{--login-wine:#8b2948;--login-wine-dark:#681d35}
.login-showcase{background:radial-gradient(circle at 86% 84%,rgba(139,41,72,.28) 0 16%,transparent 16.3%),radial-gradient(circle at 86% 84%,transparent 0 25%,rgba(255,255,255,.045) 25.3% 25.6%,transparent 26%),linear-gradient(145deg,#111d33 0%,#1d3857 58%,#253f5d 100%)}
.login-showcase:before{content:"FOCUS";position:absolute;right:-.08em;top:50%;transform:translateY(-50%);font:800 clamp(120px,20vw,350px)/1 Manrope;color:rgba(4,17,39,.17);letter-spacing:-.08em;pointer-events:none}
.focus-group-logo{width:210px;max-height:72px;filter:none;object-fit:contain;object-position:left center}
.showcase-copy .eyebrow,.showcase-copy h1 em{color:#d88aa4}
.login-form .primary-button{background:linear-gradient(120deg,var(--login-wine),var(--login-wine-dark));box-shadow:0 7px 17px rgba(139,41,72,.28)}
.login-form .primary-button:hover:not(:disabled){box-shadow:0 10px 24px rgba(139,41,72,.36)}
.login-form input:focus{border-color:var(--login-wine);box-shadow:0 0 0 3px rgba(139,41,72,.12)}
.password-field button{color:var(--login-wine)}

/* Cadastros CRM */
.directory-card{padding:0;overflow:hidden}.directory-toolbar{padding:18px 21px;display:flex;gap:12px;justify-content:space-between}.directory-toolbar select,.search-box input{height:41px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2);color:var(--text);padding:0 12px}.search-box{position:relative;flex:1;max-width:440px}.search-box input{width:100%;padding-right:38px}.search-box span{position:absolute;right:14px;top:8px;color:var(--muted);font-size:20px}.empty-state{text-align:center!important;color:var(--muted);padding:34px!important}.empty-state.error{color:#d94d53}.company-name{display:flex;flex-direction:column;gap:3px}.company-name:hover strong{color:var(--blue)}.company-name small{color:var(--muted)}.company-type{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:700}.company-type.prospect{background:#f5b72822;color:#c68600}.company-type.occasional_client{background:#e9822522;color:#d26609}.company-type.fixed_client{background:#20ad7822;color:var(--green)}.row-action{border:1px solid var(--border);background:var(--surface);color:var(--blue);border-radius:7px;padding:6px 10px}.feedback{height:0;overflow:hidden;padding:0 21px}.feedback:not(:empty){height:auto;padding:10px 21px;background:#20ad7818;color:var(--green);border-top:1px solid #20ad7830}.status.inactive{background:#e45c601f;color:#e45c60}
.crm-dialog{border:0;padding:0;border-radius:16px;background:var(--surface);color:var(--text);width:min(720px,calc(100vw - 30px));max-height:92vh;box-shadow:0 28px 90px #0007}.crm-dialog.wide{width:min(840px,calc(100vw - 30px))}.crm-dialog::backdrop{background:#07111f99;backdrop-filter:blur(3px)}.crm-form>header{position:sticky;top:0;background:var(--surface);z-index:2;padding:22px 25px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between}.crm-form h2{font:700 20px Manrope;margin:4px 0 0}.dialog-close{border:0;background:var(--surface-2);color:var(--muted);width:34px;height:34px;border-radius:9px;font-size:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:23px 25px;overflow:auto}.form-grid>label{font-size:11px;font-weight:700;display:flex;flex-direction:column;gap:7px}.form-grid .span-2{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid var(--border);border-radius:9px;background:var(--surface-2);color:var(--text);padding:10px 11px;outline:none}.form-grid input,.form-grid select{min-height:41px}.form-grid select[multiple]{min-height:100px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #146ce517}.form-grid small{font-weight:400;color:var(--muted);line-height:1.35}.input-action{display:flex}.input-action input{border-radius:9px 0 0 9px}.input-action button{border:0;border-radius:0 9px 9px 0;background:var(--blue);color:#fff;font-size:11px;font-weight:700;padding:0 12px}.input-action button:disabled{opacity:.6}.form-errors{color:#d94d53;font-size:12px;padding:0 25px}.form-errors:not(:empty){padding-top:11px}.crm-form>footer{position:sticky;bottom:0;background:var(--surface);padding:17px 25px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px}.secondary-button{min-height:41px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--muted);padding:0 16px}.back-link{display:inline-block;color:var(--muted);font-size:13px;margin-bottom:22px}.detail-loading{padding:50px;text-align:center;color:var(--muted)}.detail-hero{display:flex;justify-content:space-between;align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:25px;margin-bottom:18px}.detail-hero h1{font:800 27px Manrope;margin:12px 0 5px}.detail-hero p{margin:0;color:var(--muted)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.detail-grid h2{font:700 15px Manrope;margin:0 0 14px}.detail-grid .span-2{grid-column:1/-1}.detail-line{display:grid;grid-template-columns:140px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);font-size:12px}.detail-line span{color:var(--muted)}.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.contact-cards>div{display:grid;grid-template-columns:36px 1fr;gap:2px 10px;align-items:center;padding:12px;background:var(--surface-2);border-radius:10px}.contact-cards>div>span{grid-row:1/3;width:36px;height:36px;border-radius:9px;display:grid;place-items:center;background:var(--blue);color:#fff}.contact-cards strong{font-size:12px}.contact-cards small{font-size:10px;color:var(--muted)}
@media(max-width:760px){.directory-toolbar{flex-direction:column}.search-box{max-width:none}.directory-toolbar select{width:100%}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.detail-grid{grid-template-columns:1fr}.detail-grid .span-2{grid-column:auto}.contact-cards{grid-template-columns:1fr}.detail-hero{flex-direction:column;gap:15px}}

.field-invalid{border-color:#dc3947!important;box-shadow:0 0 0 3px rgba(220,57,71,.12)!important}.error-modal{position:fixed;inset:0;z-index:1000;display:none;place-items:center;padding:20px;background:rgba(7,17,31,.66);backdrop-filter:blur(4px)}.error-modal.open{display:grid}.error-modal-card{width:min(440px,100%);display:grid;grid-template-columns:46px 1fr 32px;gap:5px 14px;padding:23px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:16px;box-shadow:0 28px 80px rgba(0,0,0,.38);animation:error-modal-in .18s ease-out}.error-modal-icon{grid-row:1;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:rgba(220,57,71,.12);color:#dc3947;font:800 22px Manrope}.error-modal-copy span{color:#dc3947;text-transform:uppercase;font-size:9px;font-weight:800;letter-spacing:.12em}.error-modal-copy h3{font:700 18px Manrope;margin:4px 0 0}.error-modal-close{width:32px;height:32px;border:0;border-radius:8px;background:var(--surface-2);color:var(--muted);font-size:20px}.error-modal-body{grid-column:1/-1;margin:14px 0 17px;padding:13px 15px;border-radius:10px;background:rgba(220,57,71,.07);font-size:12px}.error-modal-body p{margin:0 0 9px;color:var(--muted)}.error-modal-body ul{margin:0;padding-left:18px;display:grid;gap:6px;color:#dc3947}.error-modal-confirm{grid-column:1/-1;width:100%}@keyframes error-modal-in{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
