:root{--background:#eef2f8;--foreground:#172033;--muted:#667085;--surface:#fff;--surface-soft:#f6f8fb;--primary:#2563eb;--primary-dark:#1d4ed8;--border:#e4e7ec;--shadow:0 24px 60px #0f172a14}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:radial-gradient(circle at top left, #2563eb29, transparent 32rem), var(--background);color:var(--foreground);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;font-weight:400;overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.login-page{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--border);width:min(440px,100%);box-shadow:var(--shadow);background:#fffffff0;border-radius:28px;gap:24px;padding:32px;display:grid}.login-brand{align-items:center;gap:14px;display:flex}.login-brand span{color:#fff;background:linear-gradient(135deg,#60a5fa,#2563eb);border-radius:16px;place-items:center;width:48px;height:48px;font-size:1.35rem;font-weight:900;display:grid}.login-brand strong,.login-brand small{display:block}.login-brand small,.login-heading p{color:var(--muted)}.login-heading h1{margin:6px 0 8px;font-size:clamp(1.8rem,5vw,2.35rem);line-height:1.05}.login-heading p{margin:0;font-weight:700}.login-form{gap:16px;display:grid}.login-form label{color:#344054;gap:8px;font-size:.88rem;font-weight:900;display:grid}.login-form input{min-height:46px;color:var(--foreground);font:inherit;background:#fff;border:1px solid #d0d5dd;border-radius:12px;outline:none;padding:0 14px}.login-form input:focus{border-color:var(--primary);box-shadow:0 0 0 4px #2563eb1f}.login-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;padding:12px;font-size:.88rem;font-weight:800}.app-frame{--top-card-height:45px;min-height:100vh}.dashboard-shell{height:calc(100vh - var(--top-card-height));padding-top:var(--top-card-height);grid-template-columns:0 minmax(0,1fr);display:grid}.sidebar{z-index:70;border-right:1px solid var(--border);width:350px;color:var(--foreground);background:#f1f5f9;flex-direction:column;gap:18px;padding:14px 22px 20px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;transition:transform .18s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden;transform:translate(-100%);box-shadow:18px 0 44px #0f172a29}.sidebar.open{transform:translate(0)}.sidebar .brand,.sidebar .brand-mark,.sidebar .menu-item,.sidebar .menu-group,.sidebar .submenu-item{display:none!important}.mobile-menu-toggle{top:calc(var(--top-card-height) + 10px);z-index:65;color:#fff;cursor:pointer;background:#334155;border:0;border-radius:10px;justify-content:center;align-items:center;width:58px;min-height:38px;padding:0 12px;font-size:0;font-weight:900;display:inline-flex;position:fixed;left:14px;box-shadow:0 8px 20px #0f172a2e}.mobile-menu-toggle:before{content:"";background:linear-gradient(#fff,#fff) 0 0/100% 4px no-repeat,linear-gradient(#fff,#fff) 0 8px/100% 4px no-repeat,linear-gradient(#fff,#fff) 0 16px/100% 4px no-repeat;border-radius:4px;width:28px;height:20px}.sidebar-overlay{z-index:60;cursor:pointer;background:#0f172a4d;border:0;display:none;position:fixed;inset:0}.sidebar-close{color:#fff;cursor:pointer;background:#334155;border:2px solid #d69b1f;border-radius:12px;place-items:center;width:56px;height:56px;font-size:2rem;line-height:1;display:grid;box-shadow:0 6px 14px #0f172a2e}.menu{flex:1;min-height:0;padding:0 0 18px;overflow:hidden auto}.menu-list,.submenu-list,.subsubmenu-list{gap:16px;margin:0;padding:0;list-style:none;display:grid}.submenu-list,.subsubmenu-list{border-left:1px solid #cbd5e1;gap:8px;margin-top:8px;margin-left:24px;padding-left:16px}.menu-button,.submenu-button{color:#334155;cursor:pointer;width:100%;font:inherit;letter-spacing:-.015em;text-align:left;background:0 0;border:0;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;font-size:.98rem;font-weight:500;line-height:1.25;transition:background .16s,color .16s;display:flex}.submenu-button{color:#475569;padding:8px 0;font-size:.9rem;font-weight:600}.menu-button:hover,.submenu-button:hover{color:#0f172a;background:0 0}.menu-button.active,.submenu-button.active{color:#1e3a8a;background:0 0}.menu-button.leaf.active,.submenu-button.leaf.active{color:#1d4ed8;background:0 0}.menu-button-content{align-items:center;gap:16px;min-width:0;display:flex}.menu-icon,.submenu-icon{width:26px;height:26px;color:inherit;background:0 0;border-radius:0;flex:none;place-items:center;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-size:1.05rem;font-weight:400;display:inline-grid}.submenu-icon{width:24px;height:24px;font-size:1rem}.submenu-icon.small{width:22px;height:22px;font-size:.95rem}.menu-button.active .menu-icon,.submenu-button.active .submenu-icon,.menu-button.leaf.active .menu-icon,.submenu-button.leaf.active .submenu-icon{color:inherit;background:0 0}.menu-chevron{color:#334155;flex:none;font-size:1.45rem;font-weight:300;line-height:1;transition:transform .16s}.menu-chevron.open{transform:rotate(90deg)}.sidebar-footer{border-top:1px solid #d8dee8;margin:auto -2px 0;padding-top:22px}.content{height:calc(100vh - var(--top-card-height));grid-column:1/-1;padding:24px 24px 100px;overflow:hidden auto}.fixed-footer-card{z-index:10;border:1px solid var(--border);height:60px;box-shadow:var(--shadow);background:#fffffff0;border-radius:0;justify-content:space-between;align-items:center;gap:16px;padding:0 18px;display:flex;position:fixed;bottom:18px;left:374px;right:24px}.fixed-footer-card div{gap:2px;display:grid}.fixed-footer-card strong{color:var(--foreground);font-size:.95rem;font-weight:900}.fixed-footer-card span{color:var(--muted);font-size:.8rem;font-weight:800}.consulta-clientes-list{height:calc(100vh - var(--top-card-height) - 24px - 74px - 16px - 100px);margin-top:16px;overflow:auto}.consulta-clientes-card-list{gap:12px;display:grid}.consulta-cliente-row-card{border:1px solid var(--border);background:#fffffff5;border-radius:8px;gap:10px;padding:16px 18px;display:grid;box-shadow:0 8px 20px #0f172a12}.consulta-cliente-row-card.blocked{background:#fef2f2;border-color:#fca5a5;box-shadow:0 8px 20px #b91c1c1f}.consulta-cliente-row-card.blocked .consulta-row-line,.consulta-cliente-row-card.blocked .consulta-row-line strong{color:#991b1b}.consulta-cliente-row-card.overdue{background:#1e3a8a;border-color:#1d4ed8;box-shadow:0 8px 20px #1e3a8a2e}.consulta-cliente-row-card.overdue .consulta-row-line,.consulta-cliente-row-card.overdue .consulta-row-line strong{color:#eff6ff}.consulta-cliente-row-card.overdue .consulta-edit-fields label{color:#bfdbfe}.consulta-row-line{color:#344054;align-items:center;gap:14px;font-size:.9rem;font-weight:700;display:grid}.consulta-row-line.line-2{grid-template-columns:1fr 1fr}.consulta-row-line.line-3{grid-template-columns:repeat(3,minmax(0,1fr))}.consulta-row-line.line-4{grid-template-columns:repeat(4,minmax(0,1fr))}.consulta-row-line strong{color:var(--muted);margin-right:4px;font-weight:900}.consulta-row-line span{overflow-wrap:anywhere;min-width:0}.consulta-edit-fields{grid-template-columns:repeat(2,minmax(120px,180px));gap:12px;display:grid}.consulta-edit-fields label{color:var(--muted);gap:5px;font-size:.78rem;font-weight:900;display:grid}.consulta-edit-fields input{color:#344054;width:100%;min-height:34px;font:inherit;background:#fff;border:1px solid #d0d5dd;border-radius:8px;padding:0 10px;font-size:.9rem;font-weight:800}.consulta-card-actions{flex-wrap:wrap;gap:10px;padding-top:4px;display:flex}.consulta-card-actions button{background:var(--primary);color:#fff;cursor:pointer;min-height:34px;font:inherit;border:0;border-radius:8px;padding:0 12px;font-size:.82rem;font-weight:800}.consulta-card-actions button:hover{background:var(--primary-dark)}.modal-backdrop{z-index:40;background:#0f172a61;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-card{border:1px solid var(--border);background:#fff;border-radius:18px;gap:18px;width:min(460px,100%);padding:22px;display:grid;box-shadow:0 24px 70px #0f172a3d}.modal-card-wide{width:min(620px,100%)}.modal-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.modal-header h2{margin:4px 0 6px}.modal-header p{color:var(--muted);margin-bottom:0;font-weight:700}.modal-close{background:var(--surface-soft);width:34px;height:34px;color:var(--foreground);cursor:pointer;border:0;border-radius:999px;place-items:center;font-size:1.3rem;font-weight:800;display:grid}.modal-field{color:#344054;gap:8px;font-size:.86rem;font-weight:900;display:grid}.modal-field input{min-height:42px;font:inherit;border:1px solid #d0d5dd;border-radius:10px;padding:0 12px}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.bulk-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.bulk-summary-grid article{border:1px solid var(--border);background:var(--surface-soft);border-radius:14px;gap:6px;padding:14px;display:grid}.bulk-summary-grid span{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:900}.bulk-summary-grid strong{color:var(--foreground);font-size:1.7rem;line-height:1}.bulk-warning-card{color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;border-radius:14px;padding:14px 16px;font-size:.92rem;font-weight:800}.empty-page-card{border:1px solid var(--border);box-shadow:var(--shadow);background:#ffffffe6;border-radius:18px;padding:22px}.empty-page-card h1{margin-bottom:0}.company-card{z-index:20;border:1px solid var(--border);background:#fff;border-left:0;border-right:0;border-radius:0;grid-template-columns:1fr 1.4fr 1fr auto;align-items:center;gap:16px;margin:0;padding:8px 18px;font-size:.76rem;display:grid;position:fixed;top:0;left:0;right:0;box-shadow:0 6px 16px #0f172a0a}.company-brand,.company-center,.company-contact{align-items:center;gap:8px;min-width:0;display:flex}.company-center,.company-contact{gap:2px;display:grid}.company-center{text-align:center;justify-items:center}.company-contact{text-align:right;justify-items:end}.user-session{color:#344054;letter-spacing:-.015em;justify-content:center;align-items:center;gap:10px;font-size:.95rem;font-weight:500;display:flex}.user-session span{display:none}.user-session button{color:#334155;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;width:100%;min-height:62px;padding:0 14px;font-size:.95rem;font-weight:500;box-shadow:0 2px 8px #0f172a14}.user-session button:hover{background:#f8fafc}.company-brand span{color:#fff;background:#16a085;border-radius:7px;place-items:center;width:28px;height:28px;font-weight:900;display:grid}.company-card strong{color:#111827;font-weight:900}.company-card small{color:var(--muted);font-size:.68rem;font-weight:700}.topbar{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:18px;display:flex}.eyebrow{color:var(--primary);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:800}h1,h2,p{margin-top:0}h1{letter-spacing:-.05em;margin-bottom:8px;font-size:clamp(1.8rem,3vw,2.6rem)}h2{margin-bottom:0;font-size:1.25rem}.topbar p{color:var(--muted);margin-bottom:0}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.stat-card,.panel{border:1px solid var(--border);box-shadow:var(--shadow);background:#ffffffdb;border-radius:24px}.stat-card{gap:6px;padding:16px;display:grid}.stat-card span,.stat-card small{color:var(--muted)}.stat-card strong{letter-spacing:-.04em;font-size:1.55rem}.stat-card small{font-weight:700}.clientes-panel{border:1px solid var(--border);box-shadow:var(--shadow);background:#ffffffe6;border-radius:24px;overflow:hidden}.clientes-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding:18px;display:flex}.clientes-header h2{margin:4px 0 8px}.clientes-header p{color:var(--muted);margin-bottom:0}.clientes-summary{background:var(--surface-soft);text-align:right;border-radius:18px;gap:4px;min-width:160px;padding:12px 14px;display:grid}.clientes-summary span,.clientes-summary small{color:var(--muted);font-size:.85rem;font-weight:700}.clientes-summary strong{color:var(--primary-dark);font-size:1.1rem}.feedback-card{border:1px solid var(--border);background:var(--surface-soft);color:var(--muted);border-radius:16px;margin:24px;padding:18px;font-weight:700}.feedback-card.error{color:#b42318;background:#fef2f2;border-color:#fecaca}.clientes-table-wrapper{max-height:calc(100vh - 340px);overflow:auto}.clientes-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:.78rem}.clientes-table th,.clientes-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:9px 10px}.clientes-table th{z-index:1;background:var(--surface-soft);color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:.68rem;position:sticky;top:0}.clientes-table td{color:#344054;overflow-wrap:anywhere;font-weight:650}.clientes-table th:first-child,.clientes-table td:first-child{width:68px}.clientes-table th:nth-child(2),.clientes-table td:nth-child(2){white-space:nowrap;width:150px}.clientes-table th:nth-child(3),.clientes-table td:nth-child(3){width:24%}.clientes-table th:nth-child(4),.clientes-table td:nth-child(4){width:20%}.clientes-table th:nth-child(5),.clientes-table td:nth-child(5){width:92px}.clientes-table th:nth-child(6),.clientes-table td:nth-child(6){width:76px}.clientes-table th:nth-child(7),.clientes-table td:nth-child(7){text-align:right;white-space:nowrap;width:104px}.clientes-table tbody tr:hover{background:#f8fbff}.saldo-cell{color:var(--primary-dark)!important}.clientes-cards{display:none}.clientes-screen{gap:16px;display:grid}.page-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.page-heading-actions{align-items:center;gap:10px;display:flex}.page-heading h1{margin-bottom:0}.filter-panel{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:16px;grid-template-columns:160px minmax(220px,1fr) auto auto;gap:10px;padding:16px;display:grid}.filter-panel.search-only{grid-template-columns:minmax(220px,1fr) auto auto}.filter-panel.contratos-filter{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto auto}.filter-panel input,.filter-panel select,.cliente-form input,.cliente-form select,.contrato-modal-form input,.contrato-modal-form select{width:100%;color:var(--foreground);font:inherit;background:#fff;border:1px solid #d0d5dd;border-radius:10px;outline:none}.filter-panel input,.filter-panel select{min-height:40px;padding:0 12px;font-size:.9rem}.filter-panel input:focus,.filter-panel select:focus,.cliente-form input:focus,.cliente-form select:focus,.contrato-modal-form input:focus,.contrato-modal-form select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1f}.btn-primary,.btn-secondary,.btn-danger{cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;min-height:40px;padding:0 14px;font-size:.9rem;font-weight:800;text-decoration:none;transition:background .16s,transform .16s;display:inline-flex}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{color:#fff;background:#475467}.btn-danger{color:#fff;background:#dc2626}.btn-primary:disabled{cursor:not-allowed;opacity:.7}.cliente-list-cards{gap:12px;display:grid}.cliente-list-card{border:1px solid var(--border);background:var(--surface);border-radius:16px;gap:12px;padding:16px;display:grid;box-shadow:0 12px 30px #0f172a0f}.cliente-list-main,.cliente-list-details,.card-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.cliente-list-main h2{margin:0;font-size:1.05rem}.cliente-list-main p{color:var(--muted);margin:3px 0 0;font-size:.9rem}.cliente-list-details{color:#475467;flex-wrap:wrap;justify-content:flex-start;font-size:.86rem;font-weight:700}.status-badge{color:#475467;background:#f2f4f7;border-radius:999px;flex:none;padding:6px 10px;font-size:.75rem;font-weight:900}.status-badge.active{color:#166534;background:#dcfce7}.card-actions{justify-content:flex-end}.cliente-form{gap:16px;display:grid}.form-header-dark{color:#fff;background:#1f2937;border-radius:18px;justify-content:space-between;align-items:center;gap:16px;padding:18px;display:flex}.form-header-dark span{color:#bfdbfe;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:900}.form-header-dark h1{margin:4px 0 0;font-size:clamp(1.4rem,3vw,2rem)}.form-header-actions{gap:10px;display:flex}.form-tabs{gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.form-tabs button{border:1px solid var(--border);background:var(--surface);color:#475467;cursor:pointer;border-radius:999px;flex:none;min-height:38px;padding:0 12px;font-size:.85rem;font-weight:800}.form-tabs button.active{border-color:var(--primary);color:var(--primary-dark);background:#eff6ff}.form-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:18px;grid-template-columns:minmax(0,1fr) 240px;gap:16px;padding:18px;display:grid}.form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.contrato-modal-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.contrato-modal-form label{color:#344054;gap:7px;font-size:.84rem;font-weight:800;display:grid}.contrato-modal-form input,.contrato-modal-form select{min-height:40px;padding:0 12px;font-size:.9rem}.contrato-modal-form small{color:var(--muted);font-size:.76rem;font-weight:700}.lookup-field{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.lookup-field .btn-secondary{min-height:40px}.lookup-results{border:1px solid var(--border);background:var(--surface-soft);border-radius:12px;gap:6px;max-height:180px;padding:6px;display:grid;overflow:auto}.lookup-results button{color:#344054;cursor:pointer;font:inherit;text-align:left;background:#fff;border:0;border-radius:9px;gap:3px;padding:9px 10px;display:grid}.lookup-results button:hover{background:#eff6ff}.lookup-results strong{font-size:.84rem}.lookup-results span{color:var(--muted);font-size:.76rem;font-weight:700}.commission-list{gap:10px;max-height:280px;margin:12px 0;padding-right:4px;display:grid;overflow:auto}.commission-card{border:1px solid var(--border);background:var(--surface-soft);border-radius:14px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px;display:grid}.commission-card div{gap:3px;display:grid}.commission-card strong{color:#101828;font-size:.9rem}.commission-card span{color:var(--muted);font-size:.78rem;font-weight:700}.cliente-form label{color:#344054;gap:6px;font-size:.82rem;font-weight:800;display:grid}.cliente-form input,.cliente-form select{min-height:38px;padding:0 11px;font-size:.9rem;font-weight:600}.span-2{grid-column:span 2}.form-side-card{border:1px solid var(--border);background:var(--surface-soft);border-radius:16px;flex-direction:column;align-self:start;gap:14px;padding:16px;display:flex}.form-side-card label{align-items:center;gap:8px;display:flex}.form-side-card input{width:auto;min-height:auto}@media (max-width:1440px){body{overflow:hidden}.app-frame{--top-card-height:0px;min-height:100dvh}.company-card{display:none}.dashboard-shell{grid-template-columns:1fr;height:100dvh;min-height:100dvh;padding-top:0}.sidebar{width:min(350px,86vw);height:100dvh;transition:transform .18s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.mobile-menu-toggle{border:2px solid #d69b1f;border-radius:12px;min-height:58px;padding:0;top:18px;left:28px}.sidebar-overlay,.app-frame.menu-open .sidebar-overlay{display:block}.content{grid-column:auto;height:100dvh;padding:60px 16px 24px;overflow:auto}.app-frame.menu-open .content{overflow:hidden}.fixed-footer-card{position:sticky;bottom:18px;left:auto;right:auto}.consulta-clientes-list{height:auto;overflow:visible}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.clientes-table-wrapper{max-height:calc(100vh - 420px)}}@media (max-width:980px){.filter-panel{grid-template-columns:1fr 1fr}.filter-panel.contratos-filter,.contrato-modal-form,.lookup-field,.form-card{grid-template-columns:1fr}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.clientes-header{flex-direction:column}.clientes-summary{text-align:left;width:100%}.clientes-table-wrapper{display:none}.clientes-cards{gap:10px;max-height:calc(100vh - 360px);padding:14px;display:grid;overflow:auto}.cliente-card{border:1px solid var(--border);background:var(--surface-soft);border-radius:16px;gap:12px;padding:14px;font-size:.85rem;display:grid}.cliente-card span,.cliente-card small,.cliente-card dt{color:var(--muted);font-weight:700}.cliente-card strong{margin:3px 0;font-size:.95rem;display:block}.cliente-card dl{gap:8px;margin:0;display:grid}.cliente-card dl div{border-top:1px solid var(--border);justify-content:space-between;gap:12px;padding-top:8px;display:flex}.cliente-card dd{color:#344054;text-align:right;margin:0;font-weight:800}}@media (max-width:720px){.content{padding:86px 16px 24px}.sidebar{padding:14px 22px 20px}.topbar{flex-direction:column}.stats-grid{grid-template-columns:1fr}.page-heading,.form-header-dark,.cliente-list-main,.page-heading-actions,.card-actions{flex-direction:column;align-items:stretch}.filter-panel,.form-grid{grid-template-columns:1fr}.commission-card{grid-template-columns:1fr;align-items:stretch}.consulta-row-line.line-2,.consulta-row-line.line-3,.consulta-row-line.line-4,.consulta-edit-fields{grid-template-columns:1fr}.fixed-footer-card{flex-direction:column;align-items:stretch;height:auto;padding:12px}.bulk-summary-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.clientes-cards{max-height:none}}
