:root{--ink:#202433;--muted:#7b8194;--line:#e7e9f0;--surface:#fff;--canvas:#f7f8fc;--primary:#6759e8;--primary-dark:#5144d1;--blue:#4d8df7;--green:#28b67a;--orange:#f4a340;--purple:#a45be8}.contract-list{display:grid;gap:14px}.contract-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:22px 24px;box-shadow:0 5px 16px #20243308}.contract-card-header,.contract-card-details,.apartment-summary{display:flex;align-items:center}.contract-card-header{justify-content:space-between;margin-bottom:18px}.contract-kicker,.apartment-building,.contract-card-details span{display:block;color:#8b91a4;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.contract-card h2{margin:5px 0 0;font:700 18px 'Poppins',sans-serif}.contract-status{border-radius:999px;background:#edf9f3;color:#16885b;font-size:12px;font-weight:700;padding:6px 11px}.apartment-summary{gap:14px;background:#f8f8ff;border:1px solid #ecebff;border-radius:10px;padding:16px}.apartment-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:10px;background:#e9e7ff;color:var(--primary);font-size:24px}.apartment-main{display:grid;gap:3px;min-width:190px}.apartment-main strong{font-size:16px}.apartment-main small{color:var(--muted);font-size:12px;font-weight:400}.apartment-owner{color:var(--muted);font-size:12px}.apartment-specs{display:flex;flex-wrap:wrap;gap:7px;margin-left:auto}.apartment-specs span{border:1px solid #e3e5ee;border-radius:999px;background:#fff;color:#656c7f;font-size:11px;padding:5px 9px}.contract-card-details{gap:32px;border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.contract-card-details>div:not(.contract-actions){display:grid;gap:5px}.contract-card-details strong{font-size:13px}.contract-actions{display:flex;gap:7px;margin-left:auto}.contract-actions form{display:inline}.contract-actions .btn{white-space:nowrap}@media (max-width:768px){.contract-card{padding:18px}.apartment-summary{align-items:flex-start;flex-wrap:wrap}.apartment-specs{margin-left:56px}.contract-card-details{align-items:flex-start;flex-wrap:wrap;gap:16px}.contract-actions{width:100%;margin-left:0}.contract-actions .btn{flex:1}}
:root{--ink:#202433;--muted:#7b8194;--line:#e7e9f0;--surface:#fff;--canvas:#f7f8fc;--primary:#6759e8;--primary-dark:#5144d1;--blue:#4d8df7;--green:#28b67a;--orange:#f4a340;--purple:#a45be8}*{letter-spacing:0}body{margin:0;background:var(--canvas);color:var(--ink);font-family:'Poppins',sans-serif;font-size:14px}.app-shell{display:flex;min-height:100vh}.sidebar{width:250px;flex:0 0 250px;background:var(--surface);border-right:1px solid var(--line);padding:28px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font:700 21px 'Poppins',sans-serif;text-decoration:none;padding:0 14px 38px}.brand-mark{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:var(--primary);color:#fff;font:700 17px 'Poppins',sans-serif;box-shadow:0 7px 16px #6759e83d}.side-label{color:#a3a8b8;font-size:10px;font-weight:700;letter-spacing:1.2px;padding:0 14px 11px}.sidebar .nav-link{display:flex;align-items:center;gap:13px;color:#777e91;border-radius:8px;padding:11px 14px;margin:2px 0;text-decoration:none;font-weight:500;transition:background .15s,color .15s}.sidebar .nav-link:hover,.sidebar .nav-link.active{background:#f0efff;color:var(--primary)}.nav-icon{display:inline-grid;place-items:center;width:18px;color:inherit;font-size:18px;line-height:1}.sidebar-bottom{margin-top:auto}.main-area{min-width:0;flex:1}.topbar{height:78px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px}.top-search{display:flex;align-items:center;gap:10px;color:#9aa0b0;background:#f7f8fc;border:1px solid #eef0f5;border-radius:8px;width:280px;padding:9px 13px}.top-search span{font-size:21px}.top-search input{border:0;outline:0;background:transparent;width:100%;font:13px 'Inter',sans-serif}.top-search input::placeholder{color:#a5a9b7}.top-actions{display:flex;align-items:center;gap:17px}.language-link,.top-actions a{color:#7d8394;text-decoration:none}.icon-button,.more-button{border:0;background:transparent;color:#858b9c;font-size:18px}.user-menu{display:flex;align-items:center;gap:10px;padding-left:16px;border-left:1px solid var(--line)}.avatar{display:grid;place-items:center;width:33px;height:33px;border-radius:50%;background:#e8e6ff;color:var(--primary);font-weight:700}.user-name{font-size:13px;font-weight:600}.content{padding:34px 38px 52px;max-width:1600px}.page-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:29px}.page-heading h1{font:700 27px 'Poppins',sans-serif;margin:7px 0 7px}.page-heading p{color:var(--muted);margin:0}.eyebrow{color:var(--primary);font-size:10px;font-weight:700;letter-spacing:1.4px}.wave{color:var(--orange);font-size:22px}.heading-actions{display:flex;gap:10px}.btn{border-radius:7px;padding:10px 15px;font-size:12px;font-weight:600}.btn-light{background:#fff;border:1px solid var(--line);color:#666d81}.btn-primary{background:var(--primary);border-color:var(--primary);box-shadow:0 6px 13px #6759e82b}.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.metric-card,.dashboard-panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 3px 12px #1f244008}.metric-card{position:relative;overflow:hidden;padding:20px 21px 14px;min-height:165px}.metric-top{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px;font-weight:500}.metric-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:8px;font-size:16px}.metric-card strong{display:block;margin:15px 0 7px;font:700 23px 'Poppins',sans-serif}.metric-card small{font-size:11px}.metric-card small em{color:#a0a5b4;font-style:normal}.metric-icon,.accent-blue .metric-icon{background:#eaf2ff;color:var(--blue)}.accent-green .metric-icon{background:#e8faf2;color:var(--green)}.accent-orange .metric-icon{background:#fff4e4;color:var(--orange)}.accent-purple .metric-icon{background:#f6eaff;color:var(--purple)}.trend{font-weight:600}.trend.positive{color:var(--green)}.trend.warning{color:var(--orange)}.sparkline{display:flex;align-items:end;gap:4px;height:24px;margin-top:11px;opacity:.6}.sparkline i{display:block;width:100%;border-radius:3px 3px 0 0}.sparkline i:nth-child(1){height:30%}.sparkline i:nth-child(2){height:50%}.sparkline i:nth-child(3){height:38%}.sparkline i:nth-child(4){height:70%}.sparkline i:nth-child(5){height:55%}.sparkline i:nth-child(6){height:80%}.sparkline i:nth-child(7){height:68%}.sparkline.blue i{background:var(--blue)}.sparkline.green i{background:var(--green)}.sparkline.orange i{background:var(--orange)}.sparkline.purple i{background:var(--purple)}.dashboard-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:18px;margin-top:18px}.dashboard-panel{padding:23px}.panel-heading{display:flex;align-items:start;justify-content:space-between;margin-bottom:17px}.panel-heading h2{font:700 15px 'Poppins',sans-serif;margin:0 0 6px}.panel-heading p{font-size:11px;color:var(--muted);margin:0}.chart-legend{display:flex;gap:22px;color:var(--muted);font-size:11px;margin-bottom:6px}.legend-dot,.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.blue-dot{background:var(--blue)}.pale-dot{background:#c9d9fb}.fake-chart{display:flex;height:190px;padding-top:10px}.chart-y{display:flex;flex-direction:column;justify-content:space-between;color:#a4a9b7;font-size:10px;padding:0 11px 23px 0}.chart-body{position:relative;flex:1}.grid-line{height:1px;background:#eff0f5;position:relative;top:0;margin-bottom:43px}.chart-bars{height:140px;position:absolute;left:0;right:0;top:0;display:flex;align-items:end;gap:5%;padding:0 2%}.chart-bars b{display:block;flex:1;border-radius:4px 4px 0 0;background:linear-gradient(180deg,#7e9df8,#4d8df7)}.chart-bars b:nth-child(2n){background:#d3e0fc}.chart-x{display:flex;justify-content:space-between;color:#a4a9b7;font-size:10px;padding-top:10px}.donut-wrap{display:flex;align-items:center;gap:25px;padding:14px 0 22px}.donut{display:grid;place-content:center;text-align:center;width:148px;height:148px;border-radius:50%;background:radial-gradient(circle at center,var(--surface) 55%,transparent 56%),conic-gradient(var(--primary) 0 62%,#e0e7fb 62% 82%,#b9efda 82% 100%);flex:0 0 148px}.donut strong{font:700 27px 'Poppins',sans-serif}.donut span{color:var(--muted);font-size:10px}.status-list{flex:1}.status-list div{display:flex;align-items:center;margin:13px 0;font-size:11px;color:var(--muted)}.status-list b{margin-left:auto;color:var(--ink)}.occupied{background:var(--primary)}.available{background:#9ee5c5}.contracts{background:#bdd0f9}.panel-link{color:var(--primary);font-size:11px;font-weight:600;text-decoration:none}.activity-panel{margin-top:18px}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.quick-grid div{border-right:1px solid var(--line);padding-left:5px}.quick-grid div:last-child{border:0}.quick-grid span{display:block;color:var(--muted);font-size:11px;margin-bottom:8px}.quick-grid strong{font:700 19px 'Poppins',sans-serif}.login-shell{min-height:85vh;display:grid;place-items:center}.login-card{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:10px;padding:42px;box-shadow:0 20px 50px #20243312}.login-card h1{font:700 42px 'Poppins',sans-serif;margin:8px 0}.table{font-size:13px}.table thead th{font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:600;border-bottom:1px solid var(--line)}.mobile-menu{display:none;border:0;background:transparent;font-size:20px}@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.sidebar{width:220px;flex-basis:220px}}@media(max-width:700px){.sidebar{width:68px;flex-basis:68px;padding:24px 9px}.brand{padding:0 10px 38px}.brand>span:last-child,.side-label,.sidebar .nav-link>span:last-child,.sidebar-bottom{display:none}.sidebar .nav-link{justify-content:center;padding:12px 8px}.topbar{height:66px;padding:0 16px}.top-search{width:auto;flex:1}.top-actions{gap:8px;margin-left:10px}.user-name,.language-link{display:none}.content{padding:24px 15px 40px}.page-heading{display:block}.heading-actions{margin-top:20px}.metric-grid{gap:12px}.metric-card{padding:16px 13px;min-height:150px}.metric-card strong{font-size:17px}.metric-card small em{display:none}.donut-wrap{gap:10px}.donut{width:120px;height:120px;flex-basis:120px}.quick-grid{grid-template-columns:repeat(2,1fr);gap:20px}.quick-grid div:nth-child(2){border:0}.mobile-menu{display:block}}
.sidebar-toggle{display:inline-grid;border:0;background:transparent;color:var(--ink);font-size:26px;line-height:1;padding:6px 10px;cursor:pointer}.sidebar-backdrop{display:none}@media(max-width:900px){.sidebar-toggle{display:inline-grid;place-items:center}.sidebar{position:fixed;z-index:1040;inset:0 auto 0 0;transform:translateX(-105%);transition:transform .25s ease;box-shadow:12px 0 30px #20243322}.sidebar.sidebar-open{transform:translateX(0)}.sidebar-backdrop{position:fixed;z-index:1030;inset:0;background:#20243366}.sidebar-backdrop.visible{display:block}.topbar{padding:0 18px}}@media(min-width:901px){body.menu-collapsed .sidebar{width:76px;flex-basis:76px;padding-left:10px;padding-right:10px}body.menu-collapsed .sidebar .brand span:last-child,body.menu-collapsed .sidebar .menu-group-toggle .group-title span,body.menu-collapsed .sidebar .nav-link span:not(.nav-icon),body.menu-collapsed .sidebar .sidebar-bottom{display:none}body.menu-collapsed .sidebar .brand{justify-content:center;padding-left:0;padding-right:0}body.menu-collapsed .sidebar .menu-group-toggle{justify-content:center;padding-left:0;padding-right:0}body.menu-collapsed .sidebar .nav-link{justify-content:center;padding-left:0;padding-right:0}.main-area{transition:margin-left .25s ease}}


.table > tbody > tr.mensalidade-atrasada > td{background-color:#fff1f2;--bs-table-bg:#fff1f2;--bs-table-accent-bg:transparent;border-bottom-color:#fecdd3}.table > tbody > tr.mensalidade-atrasada > td:first-child{border-left:4px solid #dc2626}.atraso-detalhe{display:block;margin-top:4px;color:#9f1239;font-weight:600;white-space:nowrap}.atraso-badge{display:inline-block;padding:5px 9px;border-radius:6px;background:#ffe4e6;color:#9f1239;font-size:11px;font-weight:700}
