:root{--bg:#f4f6f5;--paper:#fff;--ink:#1f302b;--soft:#697a74;--green:#008b5b;--dark:#006b48;--mint:#e6f5ed;--border:#e7ede9;--shadow:0 12px 45px rgba(18,52,39,.045);--radius:19px}
*{box-sizing:border-box}html{font-size:15px}body{margin:0;background:#e8ebea;color:var(--ink);font-family:'DM Sans',Inter,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.5}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button,select,input,textarea{font:inherit}button{cursor:pointer}.app{display:grid;grid-template-columns:76px minmax(0,1fr);grid-template-rows:auto 1fr;min-height:100vh;max-width:1700px;margin:auto;background:var(--bg);box-shadow:0 6px 60px rgba(18,45,31,.06)}.app.login-only{display:block}.rail{grid-column:1;grid-row:1/3;position:sticky;top:0;height:100vh;z-index:5;background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;gap:12px;padding:21px 10px}.brand-mark{height:42px;width:42px;display:grid;place-items:center;border-radius:15px;color:white;background:linear-gradient(140deg,#12aa78,#057e58);font-weight:900;font-size:16px;letter-spacing:-.06em}.rail-links{display:flex;flex-direction:column;gap:10px;margin-top:24px;flex:1;width:100%;align-items:center}.rail-link{width:45px;height:45px;border-radius:14px;display:grid;place-items:center;color:#8a9891;transition:.15s}.rail-link:hover,.rail-link.active{color:var(--green);background:var(--mint);text-decoration:none}.rail-link svg,.icon svg{width:20px;height:20px;display:block}.rail-footer{display:flex;flex-direction:column;gap:10px;align-items:center}.topbar{grid-column:2;grid-row:1;min-height:84px;background:white;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:24px;padding:13px 34px}.brand-name{font-weight:800;font-size:17px;white-space:nowrap;letter-spacing:-.5px}.brand-name span{color:var(--green)}.toplinks{display:flex;align-items:center;gap:5px;overflow:auto;scrollbar-width:none}.toplinks a{color:#7c8984;font-size:13px;padding:10px 13px;border-radius:11px;white-space:nowrap;font-weight:700}.toplinks a.active,.toplinks a:hover{background:#eef4f0;color:#0d8058;text-decoration:none}.topuser{margin-left:auto;display:flex;align-items:center;gap:10px;white-space:nowrap}.avatar{width:37px;height:37px;display:grid;place-items:center;border-radius:50%;background:#d6eae0;color:#08744e;font-weight:800}.topuser-name{font-weight:800;font-size:12px}.topuser-role{font-size:11px;color:#89968e}.workspace{grid-column:2;grid-row:2;padding:30px 35px 64px;max-width:1550px;width:100%;margin:0 auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.eyebrow{font-size:11px;color:var(--green);text-transform:uppercase;font-weight:800;letter-spacing:1.6px;margin:0 0 6px}.page-heading h1{font-size:30px;line-height:1.15;letter-spacing:-1px;margin:0;font-weight:800}.page-chip{border:1px solid var(--border);background:white;border-radius:12px;padding:9px 13px;color:#67766d;font-size:12px;font-weight:700}.content h2{font-size:19px;letter-spacing:-.5px;margin:32px 0 15px}.content>.box,.content>form.box,.content>table{margin-top:14px}.box,form.box,.panel{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;margin:16px 0}.panel{margin:0}.panel-title{font-weight:800;font-size:16px;letter-spacing:-.3px;margin-bottom:2px}.panel-sub{font-size:12px;color:#91a098;margin-bottom:20px}.cards,.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.card,.stat-card{position:relative;background:white;border:1px solid var(--border);box-shadow:var(--shadow);border-radius:var(--radius);padding:21px;overflow:hidden;min-height:139px}.card b{display:block;font-size:28px;letter-spacing:-1px;margin:5px 0}.stat-card.green{background:linear-gradient(135deg,#0aa36f,#006f4b);border-color:transparent;color:white}.stat-label{color:#7a8a82;font-size:12px;font-weight:700}.stat-card.green .stat-label{color:#dcfff0}.stat-value{font-weight:800;letter-spacing:-1.1px;font-size:28px;margin:10px 0}.stat-detail{font-size:11px;color:#91a198}.stat-card.green .stat-detail{color:#e3fff2}.stat-icon{position:absolute;right:20px;top:19px;color:#94b6a4}.stat-card.green .stat-icon{color:#e0fff3}.dash-columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(290px,1fr);gap:18px;margin-top:19px}.dash-stack{display:grid;gap:18px}.chart-wrap{width:100%;overflow:auto}.chart-svg{display:block;width:100%;height:auto;max-height:270px}.chart-axis{font-size:10px;fill:#96a79e}.chart-caption{font-size:11px;fill:#566c60;font-weight:700}.progress-row{display:flex;justify-content:space-between;gap:8px;font-size:13px;font-weight:700;margin-bottom:8px}.progress-track{height:11px;border-radius:50px;background:#eaf2ec;overflow:hidden;margin-bottom:17px}.progress-bar{height:100%;background:#109666;border-radius:50px}.mini-stat{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 0;border-bottom:1px solid var(--border)}.mini-stat:last-child{border:0}.mini-stat strong{font-size:15px}.mini-stat small{color:#8d9a92}.dash-table{margin-top:20px}.table-scroll{overflow-x:auto;border-radius:14px;border:1px solid var(--border);background:white}table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:left;padding:13px 16px;border-bottom:1px solid #edf1ee;font-size:13px;vertical-align:top}th{background:#f8faf8;color:#8b998e;font-size:11px;letter-spacing:.3px;text-transform:uppercase;font-weight:800}tr:last-child td{border-bottom:0}td a{font-weight:700}tbody tr:hover{background:#fbfdfb}.content>table{border:1px solid var(--border);border-radius:16px;display:block;overflow-x:auto;box-shadow:var(--shadow)}.notice{padding:12px 15px;border-radius:12px;color:#096a47;background:#dff4e9;border:1px solid #bcebd4;margin:14px 0}.muted{color:#89978f;font-size:13px}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}.fields>div:last-child{align-self:end}.actions{display:flex;gap:11px;flex-wrap:wrap;align-items:end}label{display:block;font-weight:700;font-size:12px;color:#51665b;margin-bottom:14px}input,select,textarea{display:block;width:100%;margin-top:7px;background:#fbfcfb;padding:11px 13px;border:1px solid #dde7df;border-radius:11px;color:#243c30;outline:none;min-height:43px}input:focus,select:focus,textarea:focus{border-color:#17a374;box-shadow:0 0 0 3px #d8f4e5}textarea{min-height:96px;resize:vertical}button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#06875b;border:1px solid #06875b;border-radius:11px;color:#fff;padding:11px 17px;font-size:12px;font-weight:800;line-height:1.3;text-decoration:none;white-space:nowrap}button:hover,.btn:hover{background:#006a48;color:white;text-decoration:none}button:focus-visible,.btn:focus-visible,a:focus-visible{outline:3px solid #9bd8bc;outline-offset:2px}.pill{display:inline-block;border-radius:50px;padding:5px 10px;font-weight:800;font-size:11px;background:#e3f6eb;color:#0a8356}.pill.warn{background:#fff2de;color:#a16c1d}.pill.gray{background:#f0f3f0;color:#69786f}.hero-kicker{color:#89998d;margin-top:9px;font-size:13px}.login-wrap{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 70% 14%,#d8eee0,transparent 42%),#f0f5f1;padding:20px}.login-card{max-width:470px;width:100%;background:#fff;padding:36px;border-radius:24px;box-shadow:0 30px 80px rgba(0,60,25,.1)}.login-card h1{font-size:28px;margin:20px 0 8px;letter-spacing:-1px}.login-card .box{padding:0;border:0;box-shadow:none}.login-card button{width:100%}.login-footer{color:#829187;font-size:11px;text-align:center;margin-top:20px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.empty-hint{padding:30px;text-align:center;color:#98a69c}.tiny-dot{display:inline-block;height:8px;width:8px;background:#13b980;border-radius:50%;margin-right:6px}.feature-tip{padding:15px 18px;border-radius:13px;background:#eaf5ee;font-size:12px;color:#517564}
@media(max-width:1120px){.stats-grid,.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-columns{grid-template-columns:1fr}.toplinks{max-width:470px}}@media(max-width:760px){.app{grid-template-columns:1fr}.rail{position:fixed;bottom:0;top:auto;height:62px;width:100%;padding:7px 10px;flex-direction:row;border-top:1px solid var(--border);border-right:0;justify-content:space-around}.rail .brand-mark,.rail-footer{display:none}.rail-links{flex-direction:row;margin:0;justify-content:space-around;gap:2px}.rail-link{height:42px;width:42px}.topbar{grid-column:1;min-height:72px;padding:11px 17px;gap:12px}.brand-name{font-size:14px}.toplinks{display:none}.topuser-name,.topuser-role{display:none}.workspace{grid-column:1;padding:22px 15px 95px}.page-heading h1{font-size:24px}.page-chip{display:none}.stats-grid,.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card,.card{padding:15px;min-height:119px}.stat-value,.card b{font-size:21px}.fields{grid-template-columns:1fr}.box,form.box,.panel{padding:16px}.content>table{max-width:calc(100vw - 30px)}.dash-columns{gap:12px}.page-heading{margin-bottom:18px}}@media(max-width:420px){.stat-value{font-size:19px}.stat-label{font-size:11px}.stat-detail{font-size:10px}}

.stats-grid{margin-top:18px}.progress-native{appearance:none;width:100%;height:11px;border:0;border-radius:99px;overflow:hidden;background:#eaf2ec;margin:8px 0 18px}.progress-native::-webkit-progress-bar{background:#eaf2ec;border-radius:99px}.progress-native::-webkit-progress-value{background:#109666;border-radius:99px}.progress-native::-moz-progress-bar{background:#109666;border-radius:99px}

/* V3 — contratos e rendas */
.v3-toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:14px 0 18px}.v3-toolbar label{margin:0;min-width:170px}.v3-toolbar .btn,.v3-toolbar button{min-height:43px}.v3-toolbar input,.v3-toolbar select{margin-top:5px}.v3-actions{display:flex;gap:9px;flex-wrap:wrap;margin:15px 0}.v3-secondary{background:#f1f8f4;color:#08744e;border-color:#d9eae0}.v3-secondary:hover{color:#005437;background:#deefe6}.v3-columns{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr);gap:17px}.v3-columns .panel{align-self:start}.v3-card-title{font-size:18px;font-weight:800;margin:0 0 12px}.v3-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:14px 0 19px}.v3-kpi{padding:19px;border-radius:16px;background:white;border:1px solid var(--border)}.v3-kpi span{display:block;font-size:12px;color:#7a8a82}.v3-kpi strong{font-size:24px;letter-spacing:-.6px}.v3-note{font-size:12px;color:#7b8d83;margin:8px 0 15px}.v3-danger{border-color:#efc6c6;background:#fff4f4;color:#a52b2b}.v3-danger:hover{background:#fae4e4;color:#8b2222}.v3-timeline{list-style:none;margin:0;padding:0}.v3-timeline li{padding:12px 14px;border-left:3px solid #d3e9da;margin:0 0 9px;background:#f8fbf9;border-radius:0 10px 10px 0}.v3-timeline small{display:block;color:#788a80}.v3-tag{font-size:12px;border-radius:99px;background:#e7f6ed;color:#0b7b53;padding:5px 10px;font-weight:800}.v3-grid-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 15px}.v3-grid-form label{margin:0}.v3-grid-form .wide{grid-column:1/-1}.v3-link{font-weight:800;white-space:nowrap}.v3-inline{display:inline-flex;gap:8px;align-items:center}.v3-inline select{width:auto;min-width:125px}.v3-highlight{background:#fff5df}.v3-muted{color:#7b8c82}.v3-filter-label{font-size:12px;font-weight:700;color:#607568}@media(max-width:960px){.v3-columns{grid-template-columns:1fr}}@media(max-width:650px){.v3-grid-form,.v3-summary{grid-template-columns:1fr}.v3-toolbar label{flex:1;min-width:135px}}
