/* FR Representações CRM | Interface v3.0 | HTML5 + CSS3 responsivo, sem CDN */
:root{
  color-scheme:light;
  --ink:#1a2940;--ink-2:#344860;--subtle:#8291a5;--muted:#66758b;
  --bg:#f5f7fb;--surface:#fff;--line:#e5eaf2;--line-soft:#eff2f7;
  --primary:#087e77;--primary-dark:#08645f;--primary-soft:#eaf7f3;
  --navy:#111d30;--navy-muted:#9daec5;--danger:#b63d4b;
  --radius:16px;--shadow:0 6px 24px rgba(16,35,58,.035);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font:14px/1.6 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);margin:0;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
a{color:var(--primary);text-decoration:none}a:hover{text-decoration:none;color:var(--primary-dark)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #78cfc4;outline-offset:3px}
h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{line-height:1.3;letter-spacing:-.035em}h1{font-size:32px;font-weight:780}h2{font-size:18px;font-weight:760}h3{font-size:15px}small{font-size:12px}
svg{flex-shrink:0}.muted{color:var(--muted)}.subtle{color:var(--subtle);font-size:12px}.eyebrow{display:block;font-size:10px;letter-spacing:.16em;font-weight:850;color:var(--primary);text-transform:uppercase;margin-bottom:11px}
/* Application shell */
.app-layout{min-height:100vh;display:grid;grid-template-columns:258px minmax(0,1fr)}
.sidebar{position:sticky;top:0;align-self:start;height:100vh;display:flex;flex-direction:column;background:var(--navy);color:#e4eaf3;padding:29px 15px 18px;z-index:40;box-shadow:10px 0 24px #0d1c3020}
.logo{display:flex;align-items:center;gap:12px;padding:4px 13px 31px;color:#fff}.logo:hover{color:#fff}
.mark{position:relative;display:inline-grid;place-items:center;width:42px;height:42px;flex-shrink:0;border-radius:13px;background:linear-gradient(143deg,#37beb0,#0b7e79);color:#fff;font-size:25px;font-weight:900;letter-spacing:-.07em;box-shadow:0 7px 18px #0a8e822e}
.mark-dot{position:absolute;width:7px;height:7px;background:#e7c177;border:2px solid var(--navy);border-radius:50%;right:4px;bottom:4px}
.logo-identity strong,.logo-identity small,.auth-brand strong,.auth-brand small{display:block;line-height:1.25}.logo strong,.auth-brand strong{font-size:15px;font-weight:800;letter-spacing:-.03em}.logo small,.auth-brand small{color:#8fa2b9;margin-top:4px;font-size:11px;letter-spacing:.02em}
.sidebar-inner{flex:1;overflow:auto;scrollbar-width:thin;scrollbar-color:#34455c transparent}
.nav-group{margin:0 0 27px}.nav-heading{padding:0 15px;margin-bottom:10px;color:#667b96;font-size:10px;letter-spacing:.15em;font-weight:850}.nav{display:grid;gap:4px}
.nav-link{position:relative;display:flex;align-items:center;gap:13px;min-height:44px;padding:10px 14px;border-radius:10px;color:#adbed1;font-size:13px;font-weight:550;transition:background .15s,color .15s}
.nav-link:hover{color:#fff;background:#25364b}.nav-link.selected{background:#193e49;color:#fff;font-weight:720}.nav-link.selected .nav-symbol{color:#63d8c8}.nav-symbol{display:grid;place-items:center;width:22px;color:#839bb5}.nav-active{margin-left:auto;width:5px;height:5px;border-radius:50%;background:#6ee2ce}
.sidebar-bottom{border-top:1px solid #26344a;padding-top:18px}.sidebar-assurance{display:flex;align-items:center;gap:9px;margin:0 4px 18px;color:#91a8be;font-size:11px}.sidebar-assurance svg{color:#58bfb2}
.user-panel{display:flex;align-items:center;gap:10px;padding:12px 7px;background:#1b2a3e;border-radius:12px}.avatar{display:grid;place-items:center;width:37px;height:37px;flex-shrink:0;background:#335368;border:1px solid #567384;border-radius:11px;color:#e6fff7;font-weight:800}
.user-identity{flex:1;min-width:0}.user-identity strong,.user-identity small{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.user-identity strong{font-size:12px;color:#fff;font-weight:730}.user-identity small{font-size:10px;color:#93a6bc;margin-top:2px}
.logout{display:flex}.icon-button{display:grid;place-items:center;background:transparent;color:#a1b4cc;border:0;padding:9px;border-radius:9px;cursor:pointer}.icon-button:hover{background:#2a3f56;color:#fff}
.sidebar-overlay,.mobile-menu{display:none}.main{min-width:0;display:flex;flex-direction:column;min-height:100vh}
.topbar{position:sticky;top:0;z-index:30;height:76px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 clamp(22px,3.2vw,48px);background:#fff;border-bottom:1px solid var(--line)}
.topbar-left,.topbar-controls,.breadcrumb{display:flex;align-items:center;gap:12px}.breadcrumb{gap:10px;color:#8c99aa;font-size:12px;white-space:nowrap}.breadcrumb strong{color:#2a3c53;font-weight:750}.breadcrumb svg{opacity:.45}
.topbar-controls{gap:16px}.header-search{height:39px;width:min(270px,22vw);display:flex;align-items:center;gap:8px;padding:0 12px;border-radius:9px;background:#f5f7fa;border:1px solid #e9edf2;transition:border-color .2s}.header-search:focus-within{border-color:#77c9be}
.header-search-icon{color:#9babbc;display:flex}.header-search input{background:transparent;border:0;box-shadow:none!important;outline:0;padding:0;width:100%;font-size:12px}.header-search input:focus{outline:none;border:0}.header-search kbd{white-space:nowrap;font:10px/1.3 system-ui;color:#98a4b3;border:1px solid #dfe5ed;border-radius:4px;padding:3px 5px}
.topbar-separator{height:25px;width:1px;background:var(--line)}.secure-indicator{white-space:nowrap;display:flex;align-items:center;gap:6px;color:#378275;font-size:11px;font-weight:720}
.topbar-add{display:inline-flex;align-items:center;justify-content:center;gap:7px;color:#fff;background:var(--primary);border-radius:9px;min-height:39px;padding:0 15px;font-size:12px;font-weight:720;box-shadow:0 3px 8px #087e7726}.topbar-add:hover{background:var(--primary-dark);color:#fff}
.page-content{width:100%;max-width:1680px;flex:1;margin:0 auto;padding:33px clamp(20px,3.2vw,48px) 60px}.main-footer{display:flex;justify-content:space-between;gap:14px;font-size:11px;color:#9aa6b4;padding:20px clamp(20px,3.2vw,48px);border-top:1px solid var(--line)}
/* Typography, headings, navigation controls */
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:25px}.section-heading h1{margin:0 0 6px}.section-heading p{margin:0;font-size:13px}.heading-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.button,.button:visited{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:9px;background:var(--primary);color:#fff;padding:11px 17px;line-height:1.25;min-height:41px;white-space:nowrap;font-size:12px;font-weight:760;cursor:pointer;transition:all .15s}
.button:hover{background:var(--primary-dark);color:#fff;transform:translateY(-1px);box-shadow:0 5px 13px #087e7717}.button:active{transform:translateY(0)}.button.secondary{background:#fff;color:#345166;border-color:#dfe6ef;box-shadow:none}.button.secondary:hover{color:#0a716d;background:#f5fbf9;border-color:#b7ded9}.button.ghost{background:transparent;border:0;color:#60758a}.button.danger{background:#fff2f1;color:#ab3946;border-color:#f4cece}.button.danger:hover{background:#ffe4e3}.button.small{min-height:33px;padding:7px 12px;font-size:11px}
.card,.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card{padding:24px;margin-bottom:20px;min-width:0}.card h2{margin:0 0 16px}.card p{line-height:1.7}.card-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.card-title h2{margin:0}.card-title a{font-size:12px;font-weight:740}.pill-count{font-size:11px;font-weight:750;color:#137e76;background:#eaf8f4;padding:5px 10px;border-radius:99px}
.two-col{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(290px,.75fr);gap:20px}.stack{display:grid;gap:14px}
/* Dashboard */
.dashboard-welcome{position:relative;overflow:hidden;padding:31px 34px;margin:0 0 22px;border-radius:19px;background:linear-gradient(112deg,#152941 1%,#123647 58%,#0c706b 130%);color:#fff;min-height:185px;box-shadow:0 10px 26px #182f4930}
.dashboard-welcome:before{content:"";pointer-events:none;position:absolute;width:330px;height:330px;right:6%;top:-250px;border:60px solid rgba(255,255,255,.04);border-radius:50%}.dashboard-welcome:after{content:"";pointer-events:none;position:absolute;right:-75px;bottom:-195px;width:350px;height:350px;border:1px solid rgba(109,231,214,.16);border-radius:50%}
.dashboard-welcome .eyebrow{color:#7ce3d1}.dashboard-welcome h1{font-size:31px;margin:0 0 9px;color:#fff}.dashboard-welcome p{color:#c1d4df;margin:0;max-width:590px;font-size:13px}.dashboard-welcome .dashboard-hero-content{position:relative;z-index:1}
.dashboard-hero-row{display:flex;justify-content:space-between;align-items:center;gap:18px}.dashboard-hero-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.dashboard-hero-actions a{display:inline-flex;align-items:center;gap:7px;background:#ffffff18;border:1px solid #ffffff2a;color:#fff;padding:10px 15px;border-radius:9px;font-weight:720;font-size:12px}.dashboard-hero-actions a:hover{background:#ffffff2c}.dashboard-hero-actions a.primary-light{color:#064844;background:#e2fcf4;border-color:#e2fcf4}
.monthly-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:24px}.monthly-toolbar label{font-size:11px;font-weight:750;color:#738499}.monthly-toolbar select,.monthly-toolbar input{width:auto;min-height:37px;padding:7px 12px;font-size:12px}.monthly-toolbar input{width:98px}.monthly-toolbar .button{min-height:37px}
.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.stat{position:relative;overflow:hidden;min-height:160px;padding:21px 22px}.stat:before{content:"";position:absolute;left:0;top:20px;bottom:20px;border-left:3px solid transparent}.stat:nth-child(4):before{border-color:#24a99e}
.stat small{display:block;max-width:calc(100% - 38px);color:#697b90;font-size:12px;font-weight:680}.stat strong{display:block;margin:13px 0 8px;font-size:clamp(22px,2vw,31px);line-height:1.15;letter-spacing:-.055em;font-weight:850;color:#1e3045;white-space:normal;overflow-wrap:break-word}.stat em{display:block;font-style:normal;color:#598479;font-size:11px;font-weight:690}.stat-icon{position:absolute;right:20px;top:18px;display:grid;place-items:center;width:37px;height:37px;background:#eef7fa;color:#4487aa;border-radius:11px}.stat:nth-child(2) .stat-icon{background:#f0f3ff;color:#7374ce}.stat:nth-child(3) .stat-icon{background:#fff5e6;color:#ce9350}.stat:nth-child(4) .stat-icon{background:#eaf8f3;color:#168d78}
.stat-meta{display:flex;gap:7px;align-items:center}.stat-bullet{width:6px;height:6px;border-radius:50%;background:#37ae8f}
/* Chart */
.chart-wrap{position:relative;padding:24px 8px 0 40px}.chart-grid{position:absolute;top:24px;left:40px;right:8px;bottom:28px;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.chart-grid-line{border-top:1px dashed #e7edf4;position:relative}.chart-grid-line span{position:absolute;right:calc(100% + 12px);top:-10px;font-size:10px;color:#9eacbb}
.chart-bars{position:relative;z-index:1;height:205px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px;align-items:end}.chart-column{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;min-width:0}.chart-bar-track{display:flex;align-items:end;width:100%;max-width:30px;height:178px;background:#f5f8fb;border-radius:7px 7px 3px 3px;overflow:hidden}.chart-bar{width:100%;min-height:0;background:linear-gradient(180deg,#33b7a8,#0c817b);border-radius:6px 6px 3px 3px;transition:height .5s ease;position:relative}.chart-column.current .chart-bar{background:linear-gradient(180deg,#5a93df,#1e66ba)}.chart-month{font-size:10px;color:#8191a3;font-weight:670}.chart-column:hover .chart-bar{filter:brightness(1.13)}
.chart-legend{display:flex;gap:12px;align-items:center;margin-top:19px;color:#8190a1;font-size:11px}.chart-legend:before{content:"";display:inline-block;width:8px;height:8px;border-radius:3px;background:#19a69b}.chart-month-total{font-weight:730;color:#2f435b;font-size:11px}
.progress-list{display:grid;gap:15px}.progress-row{display:grid;grid-template-columns:78px 1fr 34px;gap:12px;align-items:center;font-size:12px;color:#53697e;font-weight:700}
progress{appearance:none;-webkit-appearance:none;width:100%;height:9px;display:block;overflow:hidden;border-radius:99px;border:0;background:#eaf1f3}progress::-webkit-progress-bar{background:#eaf1f3;border-radius:99px}progress::-webkit-progress-value{background:linear-gradient(90deg,#0f948a,#36bfac);border-radius:99px}progress::-moz-progress-bar{background:#12988b;border-radius:99px}
.separator{height:1px;background:var(--line);margin:22px 0}.muted-note{color:#8795a4;font-size:11px;line-height:1.7;margin:16px 0 0}
/* Tables, filters, pagination */
.filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:22px}.filters input{max-width:500px;min-width:200px;flex:1}.table-wrap{width:100%;overflow:auto;scrollbar-width:thin;scrollbar-color:#c4cfdc transparent}.data-table{width:100%;border-collapse:separate;border-spacing:0;text-align:left;white-space:nowrap}.data-table th{padding:13px 14px;background:#f8fafc;color:#7c8ba0;letter-spacing:.055em;font-size:10px;font-weight:850;text-transform:uppercase;border-bottom:1px solid var(--line)}.data-table th:first-child{border-radius:7px 0 0 0}.data-table th:last-child{border-radius:0 7px 0 0}
.data-table td{padding:15px 14px;font-size:12px;vertical-align:middle;border-bottom:1px solid var(--line-soft);color:#465970}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr{transition:background .15s}.data-table tbody tr:hover{background:#f9fbfd}.data-table td.strong,.data-table .strong{font-weight:760;color:#293f57}.data-table td.wrap{white-space:normal;min-width:190px;max-width:330px}.data-table td a:not(.button){font-weight:750}.data-table input,.data-table select{min-width:82px;max-width:180px;padding:8px 9px;font-size:11px}
.chip{display:inline-flex;align-items:center;gap:6px;border-radius:7px;padding:5px 9px;white-space:nowrap;font-weight:770;font-size:10px}.chip-dot{width:5px;height:5px;flex-shrink:0;background:currentColor;border-radius:50%}.chip.good{background:#e7f7ef;color:#197a55}.chip.warm{background:#fff3df;color:#9f711c}.chip.danger{background:#ffedea;color:#b05244}.chip.neutral{background:#edf1f7;color:#667a90}
.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:23px;font-size:12px}.empty{padding:40px!important;text-align:center;color:#8d9bad!important}.monthly-row.positive{background:#ebf8f3}.footer-caption{font-size:11px;color:var(--subtle);margin-top:20px}
/* Forms */
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-field{min-width:0}.form-field.span-2{grid-column:1/-1}.form-field label{display:block;margin-bottom:7px;color:#415670;font-weight:780;font-size:12px}input,select,textarea{width:100%;background:#fff;color:var(--ink);border:1px solid #d9e2ed;border-radius:9px;padding:11px 13px;min-height:41px;outline:none;transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:#9cabba}input:focus,textarea:focus,select:focus{border-color:#3eac9f;box-shadow:0 0 0 3px #0b958814}textarea{resize:vertical;min-height:94px}input[type="file"]{padding:10px;background:#fbfcfe;cursor:pointer}form{margin:0}.form-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:24px;padding-top:21px;border-top:1px solid var(--line)}.form-narrow{max-width:990px}
.alert{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-radius:10px;margin:0 0 22px;font-size:12px;font-weight:700}.alert.success{background:#e6f6ee;color:#18704d;border:1px solid #c7e7d8}.alert.error{background:#fff0ef;color:#9d3442;border:1px solid #f5d6d4}.alert-dismiss{display:grid;place-items:center;padding:5px;background:transparent;border:0;color:inherit;cursor:pointer}.info{padding:16px 18px;border:1px solid #d8e7e7;background:#f3faf9;color:#416e71;border-radius:11px;margin:18px 0}.info strong{font-size:12px}.info p{font-size:12px;margin:6px 0 0}.warn{background:#fff8e8;color:#937022;border-color:#e8d9b8}.inline-form{display:inline-flex;align-items:center;gap:8px}.inline-form input,.inline-form select{width:auto;min-width:86px}.recovery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0}.recovery li{list-style:none;text-align:center;padding:10px;background:#f5f9fb;color:#28556b;font-family:monospace;border-radius:7px;border:1px dashed #cbdee7}
.security-code{padding:15px;border:1px dashed #9bbec2;border-radius:10px;background:#f2f9f9;color:#0c655f;text-align:center;overflow-wrap:anywhere;font:600 17px/1.55 ui-monospace,Consolas,monospace;letter-spacing:.12em}.tiny-form{display:flex;align-items:end;gap:9px;flex-wrap:wrap}.tiny-form .form-field{max-width:155px}
/* Login / 2FA */
.auth-page{min-height:100vh;background:#eef3f7}.auth-container{display:grid;grid-template-columns:minmax(380px,1.04fr) minmax(420px,.96fr);min-height:100vh}.auth-intro{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:45px clamp(35px,6vw,104px) 38px;background:radial-gradient(circle at 110% 72%,#166c68 0,transparent 48%),linear-gradient(135deg,#0f1e32,#1a354b 75%,#102f3a);color:#fff;overflow:hidden}.auth-intro:after{content:"";pointer-events:none;position:absolute;left:-32%;bottom:-45%;width:800px;height:800px;border:1px solid rgba(122,230,215,.12);border-radius:50%;box-shadow:0 0 0 70px #ffffff05,0 0 0 140px #ffffff04,0 0 0 210px #ffffff03}
.auth-brand{position:relative;z-index:1;display:flex;align-items:center;gap:13px;color:#fff;width:max-content}.auth-brand:hover{color:#fff}.auth-brand .mark{width:48px;height:48px;font-size:27px}.auth-brand strong{font-size:18px}.auth-hero-text{position:relative;z-index:1;max-width:580px;margin-top:-35px}.auth-hero-kicker{display:inline-flex;align-items:center;gap:8px;color:#7ce8d2;font-size:11px;letter-spacing:.12em;font-weight:810}.auth-hero-text h2{font-size:clamp(36px,4.6vw,67px);line-height:1.1;margin:25px 0 23px;letter-spacing:-.06em}.auth-hero-text h2 em{font-style:normal;color:#80e2d0}.auth-hero-text p{max-width:420px;color:#b4c5d1;font-size:15px;line-height:1.9;margin-bottom:33px}.auth-pill{display:inline-flex;gap:9px;align-items:center;font-size:11px;font-weight:660;color:#ceece9;background:#ffffff12;border:1px solid #ffffff19;border-radius:99px;padding:9px 14px}.auth-pill svg{color:#86e3c5}.auth-intro-bottom{position:relative;z-index:1;display:flex;justify-content:space-between;gap:15px;color:#8297aa;font-size:10px;font-weight:740;letter-spacing:.13em}
.auth-form-side{display:grid;place-items:center;padding:35px;background:#f8fafc}.auth-form-wrap{width:100%;max-width:410px}.auth-card{background:#fff;border:1px solid #e8ecf2;border-radius:20px;padding:40px 39px;box-shadow:0 21px 60px #1a2b4c0c}.auth-card>.mark{margin-bottom:24px;box-shadow:none;background:#eaf7f2;color:#168d7d}.auth-card>.mark .mark-dot{border-color:#fff}.auth-card h1{font-size:29px;letter-spacing:-.055em;margin:8px 0 10px}.auth-card p{font-size:13px;color:#77869a;line-height:1.75;margin:0 0 30px}.auth-card .form-field{margin-bottom:18px}.auth-card .form-field label{font-size:12px;margin-bottom:9px}.auth-card input{min-height:48px}.auth-card .button{margin-top:7px;width:100%;min-height:48px;font-size:13px}.auth-card .muted-note{margin-top:15px!important}.auth-footnote{color:#91a1b1;text-align:center;font-size:11px;margin-top:22px}.password-wrap{position:relative}.password-wrap input{padding-right:62px}.password-visibility{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#6d8395;font-size:11px;font-weight:750;padding:9px;cursor:pointer}.password-visibility:hover{color:#0b817a}
/* Accessibility and responsive design */
@media(min-width:1500px){.dashboard-welcome{min-height:200px}.stat{min-height:172px}}
@media(max-width:1250px){.app-layout{grid-template-columns:235px minmax(0,1fr)}.topbar{padding:0 24px}.page-content{padding:27px 24px 50px}.main-footer{padding:18px 24px}.two-col{grid-template-columns:1fr}.stat-grid{gap:12px}.stat{padding:20px 16px}.chart-bars{gap:8px}}
@media(max-width:960px){.app-layout{grid-template-columns:1fr}.sidebar{position:fixed;transform:translateX(-110%);transition:transform .23s ease;width:264px;max-width:85vw;height:100dvh;top:0;bottom:0;left:0}.sidebar-open .sidebar{transform:translateX(0)}.sidebar-overlay{display:block;position:fixed;z-index:39;inset:0;background:#09192a9f;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}.sidebar-open .sidebar-overlay{opacity:1;visibility:visible}.mobile-menu{display:grid;color:#556d80}.mobile-menu:hover{background:#eef5f7;color:#0b7a72}.topbar{height:66px}.header-search{width:230px}.auth-container{grid-template-columns:minmax(315px,.85fr) minmax(380px,1fr)}.auth-intro{padding:38px}.auth-hero-text h2{font-size:43px}}
@media(max-width:720px){.topbar{height:63px;padding:0 16px}.topbar-controls{gap:9px}.breadcrumb span,.breadcrumb svg,.secure-indicator,.topbar-separator,.header-search kbd{display:none}.breadcrumb strong{font-size:12px}.header-search{width:min(230px,30vw);padding:0 9px}.header-search input{font-size:11px}.topbar-add{padding:0 11px}.topbar-add span{display:none}.page-content{padding:20px 15px 44px}.main-footer{padding:16px}.section-heading{flex-direction:column;align-items:flex-start;margin-bottom:21px}.section-heading h1{font-size:27px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat{min-height:136px;padding:17px}.stat strong{font-size:26px}.stat small{font-size:11px}.card{padding:18px}.dashboard-welcome{padding:25px 23px;min-height:0}.dashboard-welcome h1{font-size:25px}.dashboard-hero-row{flex-direction:column;align-items:flex-start}.dashboard-hero-actions{margin-top:15px}.two-col{gap:12px}.form-grid{grid-template-columns:1fr}.form-field.span-2{grid-column:auto}.auth-container{display:flex;flex-direction:column}.auth-intro{padding:23px;min-height:160px}.auth-hero-text,.auth-intro-bottom{display:none}.auth-form-side{flex:1;min-height:calc(100vh - 160px);padding:30px 18px;align-items:flex-start}.auth-form-wrap{margin:0 auto;max-width:440px}.auth-card{padding:30px 26px}.chart-bars{gap:5px}.chart-wrap{padding-left:30px}.chart-grid{left:30px}}
@media(max-width:460px){.topbar{gap:5px}.header-search{width:38px;height:38px}.header-search input{display:none}.header-search:focus-within{width:155px}.header-search:focus-within input{display:block}.breadcrumb strong{max-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat strong{font-size:24px}.stat-icon{right:12px;top:12px;width:30px;height:30px}.stat-icon svg{width:16px;height:16px}.chart-bars{gap:3px}.chart-month{font-size:9px}.chart-month-total{display:none}.dashboard-hero-actions{flex-wrap:wrap}.dashboard-hero-actions a{padding:8px 10px;font-size:11px}.recovery{grid-template-columns:1fr}.data-table td{padding:11px 12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* ============================================================
   FR Representações | Identidade visual e biblioteca de catálogos
   Versão 3.0 · HTML5, CSS3, sem serviços externos
   ============================================================ */
:root {
  --primary:#cd182e;
  --primary-dark:#a90e25;
  --primary-soft:#fff0f2;
  --navy:#10151f;
  --navy-muted:#9ca6b7;
  --ink:#202936;
  --ink-2:#424b5c;
  --bg:#f6f7fa;
  --shadow:0 8px 28px rgba(19,28,42,.035);
}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {outline-color:#e67a85}
.sidebar {background:linear-gradient(175deg,#10141d 0%,#191a26 100%);box-shadow:8px 0 26px rgba(12,13,23,.11)}
.fr-sidebar-brand{gap:4px;padding:0 4px 27px;min-width:0}
.fr-sidebar-logo {width:85px;height:55px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 4px 7px #0005)}
.fr-sidebar-brand .logo-identity{min-width:0}
.fr-sidebar-brand .logo-identity strong{font-size:12px;line-height:1.22;letter-spacing:-.015em}
.fr-sidebar-brand .logo-identity small{color:#9b9ca8;font-size:10px;margin-top:5px}
.nav-link.selected {background:linear-gradient(100deg,rgba(216,40,59,.22),rgba(216,40,59,.07));box-shadow:inset 3px 0 #ed4454}
.nav-link.selected .nav-symbol,.nav-active{color:#ff687a}
.nav-active{background:#ff5165}
.nav-link:hover{background:#282532}
.sidebar-assurance svg{color:#f48c96}
.user-panel{background:#262635}
.avatar{color:#fff0f2;background:#6b2534;border-color:#864152}
.secure-indicator{color:#416950}
.topbar-add {background:var(--primary);box-shadow:0 4px 14px #cd182e24}
.topbar-add:hover{background:var(--primary-dark)}
.button:hover{box-shadow:0 5px 13px #cd182e15}
.button.secondary:hover{color:#b31830;background:#fff7f8;border-color:#edbac2}
.eyebrow{color:var(--primary)}
.pill-count{color:#ae1d35;background:#fff0f3}
.auth-page {background:#f6f7fa;min-height:100svh}
.auth-container {min-height:100svh;grid-template-columns:minmax(420px,1.06fr) minmax(440px,.94fr)}
.auth-intro {background:radial-gradient(ellipse at 42% 45%,#3c1520 0%,#19101b 41%,transparent 73%),linear-gradient(132deg,#10121b,#111520 74%,#171a24);padding:35px clamp(30px,4.4vw,80px) 30px;min-width:0;isolation:isolate}
.auth-intro:before {content:"";position:absolute;z-index:-1;inset:0;opacity:.27;background-image:linear-gradient(115deg,transparent 20%,#ed324a10 60%,transparent 90%),repeating-linear-gradient(0deg,transparent 0 57px,#fff1 58px,#fff1 59px),repeating-linear-gradient(90deg,transparent 0 57px,#fff1 58px,#fff1 59px);mask-image:linear-gradient(180deg,transparent,#000 35%,#000 95%)}
.auth-intro:after {left:auto;right:-58%;bottom:-66%;width:840px;height:840px;border:1px solid rgba(222,51,70,.16);box-shadow:0 0 0 75px #ff34420b,0 0 0 150px #ff34420a,0 0 0 225px #ff344207;z-index:-1}
.auth-topline,.auth-company-name,.auth-feature-list,.auth-feature-list span{display:flex;align-items:center}
.auth-topline{justify-content:space-between;gap:12px;position:relative;z-index:2}
.auth-company-name{gap:10px;color:#f9f7f9;font-size:11px;font-weight:800;letter-spacing:.125em;white-space:nowrap}
.fr-square{display:inline-grid;place-items:center;flex-shrink:0;width:39px;height:39px;border-radius:10px;background:linear-gradient(138deg,#f0444f,#a50b24);color:#fff;font-size:16px;font-weight:900;font-style:italic;letter-spacing:-.13em;box-shadow:0 5px 18px #aa122834}
.auth-system-name{color:#a8a0af;font-weight:700;letter-spacing:.14em;font-size:9px;white-space:nowrap}
.auth-showcase{position:relative;z-index:1;width:100%;max-width:700px;margin:6px auto 0;min-height:0}
.auth-showcase-glow{pointer-events:none;position:absolute;top:-2%;left:16%;width:69%;height:45%;filter:blur(45px);background:radial-gradient(ellipse,#a60c252c,transparent 68%)}
.auth-feature-logo{display:block;position:relative;width:min(100%,650px);height:auto;aspect-ratio:2/1;object-fit:contain;margin:0 auto -22px;filter:drop-shadow(0 30px 25px #0006)}
.auth-red-rule{width:45px;height:3px;border-radius:20px;background:linear-gradient(90deg,#fb3b52,#8e1a2b);box-shadow:0 0 14px #fe4b5a55;margin:0 0 21px}
.auth-hero-kicker{color:#ff9eaa;font-size:10px;letter-spacing:.16em;font-weight:850;margin-bottom:12px;display:block}
.auth-showcase h2{color:#f8f6f7;font-size:clamp(32px,3.25vw,49px);letter-spacing:-.055em;line-height:1.12;margin:0 0 17px;font-weight:830}
.auth-showcase h2 em{font-style:normal;color:#fa6e7a}
.auth-showcase p{color:#bbc0cd;font-size:13px;line-height:1.85;max-width:475px;margin:0 0 24px}
.auth-feature-list{gap:11px;flex-wrap:wrap}
.auth-feature-list span{gap:8px;color:#d7cbd0;border:1px solid #ffffff1c;background:#ffffff08;border-radius:50px;padding:8px 12px;font-size:10px;font-weight:650}
.auth-feature-list svg{color:#fc6f7f}
.auth-intro-bottom{color:#9896a8;font-size:9px;letter-spacing:.16em}
.auth-bottom-dot{color:#ed596d;margin:0 5px}
.auth-form-side {background:radial-gradient(circle at 100% 2%,#fff6f7 0%,#f8f9fb 56%);padding:42px 5vw}
.auth-form-wrap {max-width:455px}
.auth-mobile-brand{display:none}
.auth-card {border:1px solid #ebeaf0;border-radius:24px;padding:clamp(29px,4.1vw,49px);box-shadow:0 30px 70px #17192309,0 6px 20px #17192307;background:#fff}
.auth-card-header{display:flex;align-items:center;gap:11px;margin-bottom:40px}
.auth-header-icon{display:grid;place-items:center;width:46px;height:46px;background:#fff1f3;border:1px solid #ffe2e7;border-radius:14px;color:#c82139}
.auth-header-label{font-size:10px;font-weight:800;letter-spacing:.11em;color:#9195a2;display:flex;align-items:center;gap:8px}
.auth-header-label i{display:inline-block;width:4px;height:4px;border-radius:50%;background:#d33348}
.auth-card-eyebrow{display:block;color:#c62840;font-weight:850;letter-spacing:.145em;font-size:10px;margin-bottom:9px}
.auth-card h1{font-size:clamp(30px,3.5vw,39px);font-weight:840;letter-spacing:-.06em;line-height:1.18;color:#1d202d;margin:0 0 12px}
.auth-card p{color:#828894;font-size:13px;line-height:1.8;margin:0 0 30px}
.auth-login-form .form-field{margin-bottom:19px}
.auth-login-form .form-field label{font-size:12px;font-weight:750;color:#343c49;margin-bottom:9px}
.auth-control{display:flex;align-items:center;position:relative;border:1px solid #dde1e9;border-radius:12px;background:#fcfcfe;min-height:54px;transition:border-color .18s,box-shadow .18s,background .18s}
.auth-control:focus-within{background:#fff;border-color:#db5368;box-shadow:0 0 0 4px #db536812}
.auth-control-icon{padding:0 0 0 16px;display:grid;place-items:center;color:#929aa7}
.auth-control:focus-within .auth-control-icon{color:#c32640}
.auth-card .auth-control input{border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;width:100%;min-width:0;min-height:52px;padding:13px 15px;font-size:13px;color:#222936}
.auth-card .auth-control input::placeholder{color:#adb1bc}
.auth-control .password-wrap{flex:1;width:100%;min-width:0}
.auth-control .password-wrap input{padding-right:82px}
.auth-control .password-visibility{right:5px;color:#9c5661}
.auth-submit.button{margin:13px 0 0;min-height:54px;border-radius:12px;font-size:13px;justify-content:center;gap:12px;box-shadow:0 10px 23px #cd182e29;background:linear-gradient(110deg,#da2540,#b70c2b);transition:transform .2s,box-shadow .2s,background .2s}
.auth-submit.button:hover{background:linear-gradient(110deg,#b70c2b,#8e0f21);box-shadow:0 12px 25px #b70c2b39}
.auth-card-footer{display:flex;align-items:flex-start;gap:9px;border-top:1px solid #f0f1f5;margin-top:32px;padding-top:22px;color:#8c92a0;font-size:11px;line-height:1.6}
.auth-card-footer svg{color:#768f7e;margin-top:1px}
.auth-footnote{color:#a1a4ae;font-size:10px;letter-spacing:.015em;margin-top:22px}
.auth-login-form .muted-note{margin:12px 0 0!important}
/* Área de catálogos */
.catalog-header-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:99px;border:1px solid #eadde1;background:#fff;color:#a9253d;font-size:11px;font-weight:790}
.catalog-banner{position:relative;overflow:hidden;background:linear-gradient(112deg,#1e202e,#252431 66%,#631b2d);border:1px solid #2d2734;border-radius:18px;padding:28px clamp(20px,3.2vw,44px);margin:0 0 24px;color:#fff;min-height:160px;display:flex;justify-content:space-between;align-items:center;gap:15px}
.catalog-banner:after{content:"";position:absolute;width:400px;height:400px;right:-140px;bottom:-320px;border:1px solid #ffffff22;border-radius:50%;box-shadow:0 0 0 55px #ffffff09,0 0 0 105px #ffffff09;pointer-events:none}
.catalog-banner-kicker{font-size:10px;color:#fc9aa6;letter-spacing:.135em;font-weight:820}
.catalog-banner h2{font-size:clamp(22px,2.8vw,30px);color:#fff;margin:7px 0 7px;letter-spacing:-.05em}
.catalog-banner p{color:#c6bdc9;font-size:12px;margin:0;max-width:590px}
.catalog-banner-decoration{color:#f7c2ca;background:#ffffff0c;border:1px solid #ffffff19;border-radius:20px;padding:15px 17px;transform:rotate(-11deg);margin-right:18px}
.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:21px}
.catalog-card{background:#fff;border:1px solid #e7e9f0;border-radius:17px;padding:19px;display:grid;grid-template-columns:minmax(125px,37%) 1fr;gap:22px;min-width:0;box-shadow:0 9px 30px #131b3108;transition:box-shadow .2s,transform .2s,border-color .2s}
.catalog-card:hover{box-shadow:0 12px 35px #131b3116;transform:translateY(-2px)}
.catalog-card.catalog-selected{border-color:#d8354a;box-shadow:0 0 0 3px #cd182e0d,0 8px 28px #131b3110}
.catalog-cover{position:relative;min-height:230px;background:#f0f1f4;overflow:hidden;border-radius:11px;display:grid;place-items:center}
.catalog-cover img{display:block;width:100%;height:100%;max-height:302px;object-fit:cover;object-position:center top;aspect-ratio:595/842}
.catalog-cover-marker{position:absolute;left:11px;bottom:11px;font-size:10px;letter-spacing:.06em;font-weight:850;color:#fff;background:#be213c;padding:5px 8px;border-radius:5px;box-shadow:0 3px 10px #0005}
.catalog-card-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:8px 0}
.catalog-brand-meta{display:block;color:#ae3048;font-size:9px;letter-spacing:.11em;font-weight:840;text-transform:uppercase;line-height:1.6}
.catalog-card-copy h3{font-size:24px;color:#1f2532;letter-spacing:-.055em;margin:7px 0 10px}
.catalog-card-copy p{color:#6e7788;font-size:12px;line-height:1.8;margin:0 0 19px;max-width:390px}
.catalog-meta{display:flex;align-items:center;gap:6px;color:#7b8696;font-size:11px;font-weight:650;margin-top:auto}
.catalog-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px;width:100%}
.catalog-actions .button{padding:9px 11px;font-size:11px;min-height:38px;white-space:normal;text-align:center}
.catalog-actions .button svg{flex-shrink:0}
.catalog-hint{display:flex;gap:10px;align-items:center;color:#858994;font-size:11px;padding:12px 3px;margin-top:8px}
.catalog-hint svg{color:#a73b4a}
.catalog-viewer{padding:0;overflow:hidden;scroll-margin-top:100px}
.catalog-viewer-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 28px;border-bottom:1px solid var(--line)}
.catalog-viewer-header .eyebrow{margin:0 0 6px}
.catalog-viewer-header h2{font-size:20px;margin:0 0 4px}
.catalog-viewer-header h2 small{font-weight:550;color:#7e8594;font-size:12px}
.catalog-viewer-header p{margin:0;color:#81899a;font-size:11px}
.catalog-viewer-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.catalog-viewer-buttons .button{font-size:11px}
.catalog-pdf-frame{display:block;width:100%;height:min(76vh,980px);min-height:530px;background:#dce1e9;border:0}
.catalog-viewer-fallback{color:#7d8594;font-size:12px;background:#f9fafc;margin:0!important;padding:10px 28px;border-top:1px solid #e6e9ef}
@media(max-width:1240px){.catalog-grid{grid-template-columns:1fr}.catalog-card{grid-template-columns:175px 1fr}.catalog-cover{min-height:230px}.catalog-card-copy h3{font-size:23px}.catalog-banner-decoration{margin-right:0}}
@media(max-width:1050px){.auth-container{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.auth-system-name{display:none}.auth-intro{padding:35px}.auth-showcase h2{font-size:35px}.auth-form-side{padding:28px}.auth-card{padding:32px}}
@media(max-width:720px){
  .auth-container{display:flex;flex-direction:column;min-height:100svh}
  .auth-intro{min-height:112px;flex:0 0 auto;padding:27px 25px;display:block}
  .auth-intro:after{display:none}
  .auth-showcase,.auth-intro-bottom{display:none}
  .auth-company-name{font-size:11px}
  .auth-form-side{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:24px 17px 30px}
  .auth-form-wrap{max-width:470px}
  .auth-card{border-radius:18px;padding:27px 24px}
  .auth-card-header{margin-bottom:28px}
  .auth-card h1{font-size:31px}
  .auth-mobile-brand{display:none}
  .catalog-banner{padding:24px 20px;min-height:135px}
  .catalog-banner-decoration{display:none}
  .catalog-card{grid-template-columns:116px 1fr;gap:14px;padding:13px}
  .catalog-cover{min-height:170px}
  .catalog-card-copy h3{font-size:19px;margin:5px 0}
  .catalog-card-copy p{font-size:11px;line-height:1.55;margin-bottom:10px}
  .catalog-meta{font-size:10px}
  .catalog-actions{gap:7px;margin-top:12px}
  .catalog-actions .button{font-size:10px;padding:7px 9px;min-height:35px}
  .catalog-viewer-header{flex-direction:column;align-items:flex-start;padding:18px 17px}
  .catalog-pdf-frame{height:70vh;min-height:420px}
  .catalog-viewer-fallback{padding:10px 17px}
}
@media(max-width:440px){.auth-card{padding:24px 19px}.auth-header-label{font-size:9px}.catalog-card{grid-template-columns:100px minmax(0,1fr);gap:11px}.catalog-card-copy p{display:none}.catalog-actions{flex-direction:column;align-items:stretch}.catalog-actions .button{width:100%;justify-content:center}.catalog-cover{min-height:150px}}

/* FR CRM v4 · Filtros detalhados e consulta cadastral */
.crm-advanced-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;padding:17px;background:#fafbfe;border:1px solid #edf0f5;border-radius:13px;margin-bottom:18px;align-items:end}
.crm-advanced-filters .filter-field{min-width:0;display:flex;flex-direction:column;gap:6px}
.crm-advanced-filters .filter-grow{grid-column:span 2}
.crm-advanced-filters .filter-field label{font-size:11px;font-weight:750;color:#555f71}
.crm-advanced-filters .filter-field input,.crm-advanced-filters .filter-field select{width:100%;min-width:0;max-width:none;flex:initial;min-height:43px;padding:10px 12px;font-size:12px}
.crm-advanced-filters .filter-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.crm-advanced-filters .filter-actions .button{min-height:42px;font-size:11px;white-space:nowrap}
.cnpj-input-row{display:flex;gap:9px;align-items:stretch;min-width:0}
.cnpj-input-row>input{flex:1;min-width:0}
.cnpj-lookup-btn{display:inline-flex;gap:7px;align-items:center;justify-content:center;white-space:nowrap;min-width:162px;font-size:11px;padding:9px 13px}
.cnpj-lookup-btn:disabled{opacity:.65;cursor:wait;transform:none}
.cnpj-feedback{display:block;margin-top:8px;color:#70798b;font-size:11px;line-height:1.5}
.cnpj-feedback[data-state="success"]{color:#187252}
.cnpj-feedback[data-state="error"]{color:#b42d43}
.cnpj-feedback[data-state="loading"]{color:#ad6d13}
@media(max-width:1080px){.crm-advanced-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.crm-advanced-filters{grid-template-columns:1fr;padding:13px;gap:12px}.crm-advanced-filters .filter-grow{grid-column:auto}.crm-advanced-filters .filter-actions{justify-content:flex-start}.cnpj-input-row{flex-direction:column;align-items:stretch}.cnpj-lookup-btn{width:100%}}
