:root{font-family:Inter,system-ui,Segoe UI,sans-serif;color:#172f2a;background:#f3f6f4;--green:#163f35;--accent:#bbf17a}*{box-sizing:border-box}body{margin:0}header{background:#102d27;color:#fff;padding:20px max(24px,calc((100vw - 1300px)/2));display:flex;justify-content:space-between;align-items:center;gap:16px}a{color:inherit}header a{text-decoration:none}.brand{font-size:22px;font-weight:850}.brand small{display:block;font-size:10px;letter-spacing:2px;color:var(--accent);margin-top:3px}main{max-width:1300px;margin:auto;padding:36px 24px}h1{font-size:clamp(30px,4vw,48px);letter-spacing:-1.6px;margin:8px 0 12px}h2{font-size:20px;margin:0 0 18px}h3{font-size:17px}.muted{color:#62766d;line-height:1.6}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:2px;font-weight:800;color:#4b8066}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.card{padding:25px;background:#fff;border:1px solid #dbe4dd;border-radius:20px;box-shadow:0 12px 35px #143f2706;margin-bottom:20px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:28px 0}.stat{background:#fff;padding:22px;border:1px solid #dbe4dd;border-radius:18px}.stat strong{display:block;font-size:32px;letter-spacing:-1px}.stat small{color:#69796c}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}label{display:flex;flex-direction:column;font-size:13px;font-weight:700;gap:6px}input,select,textarea{font:inherit;padding:12px;border:1px solid #cfded3;border-radius:10px;max-width:100%;background:#fff;color:#153d31}textarea{min-height:90px}button,.btn{display:inline-block;font:inherit;font-size:13px;font-weight:750;cursor:pointer;border:0;border-radius:10px;padding:12px 16px;background:var(--green);color:#fff;text-decoration:none}button:disabled{opacity:.5;cursor:wait}.soft{background:#eaf1eb;color:#154534}.accent{background:var(--accent);color:#18372d}.danger{background:#f9e8e4;color:#a03c2c}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:18px}.tabs{display:flex;gap:8px;margin:22px 0;flex-wrap:wrap}.tabs button.active{background:#a9e57c;color:#1c3b2d}.badge{display:inline-block;padding:5px 9px;border-radius:20px;background:#e6f6e9;font-size:12px;font-weight:750}.badge.suspenso{background:#ffe2d9;color:#ae4228}.company-top{display:flex;justify-content:space-between;gap:12px}.table{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:12px 8px;border-bottom:1px solid #e5ebe6}th{font-size:11px;text-transform:uppercase;color:#627468}.login{max-width:450px;margin:7vh auto}.login label{margin:18px 0}#notice{position:fixed;bottom:24px;right:24px;padding:16px 24px;background:#173e33;color:#fff;max-width:450px;border-radius:12px;z-index:9;display:none}.hero{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:60px;padding:60px 0}.price{background:#123b30;color:#fff;border:0;padding:40px}.price strong{font-size:60px;letter-spacing:-3px}.price ul{padding-left:20px;line-height:2}.visual{display:grid;grid-template-columns:1fr 1fr;gap:12px}.visual div{border-radius:14px;padding:18px;background:#ecf3ed}.visual b{font-size:30px;display:block}.hidden,[hidden]{display:none!important}.full{grid-column:1/-1}.support-reply{white-space:pre-wrap;border-left:3px solid #83bb74;padding:12px}.link{overflow-wrap:anywhere}footer{padding:24px;text-align:center;font-size:12px;color:#64776b}@media(max-width:800px){.grid,.hero{grid-template-columns:1fr}.hero{gap:20px;padding:20px 0}.stats{grid-template-columns:repeat(2,1fr)}.fields{grid-template-columns:1fr}.full{grid-column:auto}header{flex-wrap:wrap}.card{padding:20px}}

.renewal-hub{background:linear-gradient(125deg,#102f29,#214b3e);color:#fff;border-radius:24px;padding:28px;margin:28px 0;box-shadow:0 16px 36px #10382a18}.renewal-heading{display:flex;justify-content:space-between;gap:16px;align-items:center}.renewal-hub .eyebrow{color:#b9e894}.renewal-hub h2{font-size:26px;margin:8px 0 22px;letter-spacing:-.7px}.manual-tag{font-size:11px;color:#c0d5ca;background:#ffffff0c;padding:9px 12px;border:1px solid #ffffff20;border-radius:20px}.renewal-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.renewal-stat{background:#ffffff08;padding:18px;border:1px solid #ffffff18;border-radius:14px}.renewal-stat span{font-size:12px;color:#d5e2d9}.renewal-stat strong{display:block;font-size:34px;letter-spacing:-1px;margin-top:8px}.renewal-stat.overdue strong{color:#ffb2a0}.renewal-stat.soon strong{color:#fadd98}.renewal-stat.healthy strong{color:#baf385}.renewal-row{display:grid;grid-template-columns:38px 1.4fr 1fr 1fr auto;gap:14px;padding:18px 0;align-items:center;border-bottom:1px solid #ffffff15;font-size:13px}.renewal-row small{display:block;color:#bfd3c5;margin-top:5px}.avatar{width:38px;height:38px;display:grid;place-items:center;background:#ffffff12;border-radius:12px;font-weight:800}.deadline{font-size:12px;font-weight:750;border-radius:20px;padding:7px 11px;display:inline-block;width:fit-content}.deadline.overdue{background:#ffebe6;color:#a43b29}.deadline.soon{background:#fff1ce;color:#806014}.deadline.healthy{background:#e7f5e0;color:#315e2e}.deadline.neutral{background:#edf0ef;color:#66776e}.contract-summary{display:flex;gap:10px;flex-wrap:wrap;align-items:center;border-block:1px solid #edf1ee;padding:16px 0;margin:18px 0;font-size:12px;color:#687b70}.payment-tag{background:#f1f5f2;border-radius:6px;padding:6px 9px}.renewal-hub summary{font-size:13px;cursor:pointer;color:#d9edce}.renewal-hub .muted{color:#c4d9cc}@media(max-width:800px){.renewal-stats{grid-template-columns:1fr 1fr}.renewal-heading{display:block}.manual-tag{display:inline-block;margin-bottom:18px}.renewal-row{grid-template-columns:38px 1fr 1fr}.renewal-row .deadline{grid-column:2}.renewal-hub{padding:22px}}

.zt-wordmark{display:block;width:205px;height:40px;object-fit:contain;object-position:left center}.brand small{margin:8px 0 0 48px;font-size:8px;letter-spacing:2px}body{background:radial-gradient(ellipse at 95% 0%,#e1ecdf88,transparent 55%),#f5f7f4}header{min-height:98px}.stat:first-child{background:#e8f2dc}.stat strong{margin-top:9px}.company-top h2{letter-spacing:-.5px}.company-top .badge{height:fit-content}.tabs{border-bottom:1px solid #d9e2d9;padding-bottom:16px}button:hover,.btn:hover{filter:brightness(1.08)}input:focus,select:focus,textarea:focus{outline:3px solid #b5e17d55;border-color:#5b8b55}.renewal-hub{background:radial-gradient(ellipse at right top,#37634b80,transparent 60%),#102f29}.price{background:radial-gradient(ellipse at right top,#2d604380,transparent 65%),#123b30}.company-top{align-items:flex-start}button,.btn,input,select,textarea{transition:box-shadow .18s,background .18s}.card:has([data-contract]){margin-bottom:0}.hero h1{font-size:clamp(38px,4.4vw,64px);line-height:1.06}.grid:empty{display:none}

.danger{background:#fff0ed;color:#b63528}.danger:hover{background:#fbd5cf}#deleteCompanyDialog{width:min(560px,calc(100vw - 32px));border:1px solid #e1e8e3;border-radius:22px;padding:28px;color:#18352b;max-height:90dvh;overflow:auto}#deleteCompanyDialog::backdrop{background:#082b2877;backdrop-filter:blur(4px)}#deleteCompanyDialog p{line-height:1.65}#deleteCompanyDialog label{margin-top:16px}#deleteCompanyError{color:#b63528}#deleteCompanyName{font-weight:800;font-size:20px}

/* Carteira de empresas: resumo paginado e detalhes sob demanda. */
.directory-heading,.directory-options,.directory-pagination,.company-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.directory-heading{margin-bottom:22px}.directory-heading h2{margin:6px 0 0}.directory-heading>span{padding:8px 12px;border-radius:30px;background:#edf5e7;color:#376044;font-size:13px;font-weight:700}.directory-filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px}.directory-options{margin:16px 0 22px}.directory-options label,.directory-pagination label{flex-direction:row;align-items:center;gap:10px}.directory-table{table-layout:fixed}.directory-table th:first-child{width:27%}.directory-table th:nth-child(4){width:23%}.directory-table th:last-child{width:80px}.directory-table td{padding:16px 8px;overflow-wrap:anywhere}.directory-table tbody tr:hover{background:#f7faf3}.directory-table small{display:block;margin-top:5px;font-size:11px;color:#708276}.directory-company{display:flex;gap:10px;align-items:center}.directory-company>div{min-width:0}.directory-avatar{flex:0 0 36px;height:36px;border-radius:12px;display:grid;place-items:center;background:#eaf3dc;color:#345735;font-weight:800}.directory-pagination{border-top:1px solid #e3eae1;padding-top:18px;margin-top:12px;font-size:12px;color:#637469}.directory-empty{text-align:center;padding:40px!important}.directory-table .deadline{font-size:11px}.directory-table button{white-space:nowrap}#companyDialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(780px,100vw);height:100dvh;max-height:100dvh;max-width:100vw;border:0;border-left:1px solid #dce6dc;padding:28px;background:#f5f8f2;color:#173c31;overflow:auto;box-shadow:-20px 0 70px #09281e25}#companyDialog::backdrop{background:#082b2877;backdrop-filter:blur(3px)}.company-dialog-header{margin-bottom:24px}.company-dialog-header h2{margin:8px 0;overflow-wrap:anywhere}#companyDetail .card{margin:0}#companyDetail .company-top h2{font-size:22px}#companyDialog .actions{gap:10px}#companyDialog .fields{gap:18px}#renewalList{max-height:360px;overflow:auto}#notice{z-index:1000}@media(max-width:1100px){.directory-filters{grid-template-columns:1fr 1fr}.directory-table th:first-child{width:24%}.directory-avatar{display:none}}@media(max-width:760px){.directory-filters{grid-template-columns:1fr}.directory-table thead{display:none}.directory-table,.directory-table tbody,.directory-table tr,.directory-table td{display:block;width:100%}.directory-table tr{border:1px solid #e2e9df;border-radius:14px;padding:12px;margin-bottom:12px}.directory-table td{border:0;padding:7px!important;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.directory-table td[data-label]:before{content:attr(data-label);font-size:11px;color:#64796a}.directory-table td:first-child:before{display:none}.directory-table td small{margin:0}.directory-table td:first-child{font-size:16px}.directory-avatar{display:grid}.directory-pagination{align-items:flex-start}.directory-options label{flex-wrap:wrap}#companyDialog{padding:18px}#companyDetail .fields{grid-template-columns:1fr}}
.asaas-banner{display:grid;gap:9px;padding:20px;border-radius:14px;background:#edf3ff;border:1px solid #d4e0f9;color:#254570;margin-bottom:22px}.asaas-banner small{line-height:1.6}.asaas-customer{padding:18px;border:1px solid #e0e7dd;border-radius:12px;margin-bottom:24px}.asaas-customer summary{cursor:pointer;font-weight:700}.asaas-customer form{margin-top:20px}#asaasDialog{width:min(550px,calc(100vw - 30px));max-height:90dvh;overflow:auto;border:1px solid #d4dfd3;border-radius:20px;padding:26px;color:#173e33}#asaasDialog::backdrop{background:#07362a88;backdrop-filter:blur(4px)}#asaasDialog label{margin:15px 0}#asaasError{color:#845313;line-height:1.6}#asaasQr{display:block;margin:12px auto}#asaasPayload{min-height:110px;word-break:break-all}#invoiceList{max-height:560px;overflow:auto;margin-top:25px}#invoiceList th{position:sticky;top:0;background:#f3f7ef}#invoiceList td small{display:block;font-size:10px;margin-top:6px}#invoiceList .actions{min-width:170px;margin:0}
