:root{color:#17201b;background:#f5f7f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden}button,input{font:inherit}.login-shell{align-items:center;background:linear-gradient(135deg,rgba(29,78,216,.12),transparent 38%),linear-gradient(315deg,rgba(22,163,74,.14),transparent 42%),#f5f7f2;display:flex;min-height:100vh;padding:32px}.login-panel{background:#ffffffeb;border:1px solid rgba(23,32,27,.12);border-radius:8px;box-shadow:0 24px 60px #17201b1f;display:grid;gap:24px;margin:0 auto;max-width:430px;padding:32px;width:100%}.brand-mark{align-items:center;background:#17201b;border-radius:8px;color:#f6fbf5;display:flex;height:56px;justify-content:center;width:56px}.login-copy p,.topbar p{color:#66736a;font-size:13px;font-weight:700;letter-spacing:0;margin:0 0 8px;text-transform:uppercase}.login-copy h1,.topbar h1{font-size:clamp(30px,4vw,42px);letter-spacing:0;line-height:1.04;margin:0}.login-form{display:grid;gap:18px}.login-form label{color:#334038;display:grid;font-size:14px;font-weight:700;gap:8px}.login-form input{background:#fbfcfa;border:1px solid #c9d2ca;border-radius:8px;color:#17201b;min-height:46px;outline:none;padding:0 14px;transition:border-color .16s ease,box-shadow .16s ease}.login-form input:focus{border-color:#1d4ed8;box-shadow:0 0 0 3px #1d4ed824}.login-form button,.icon-button{align-items:center;border:0;border-radius:8px;cursor:pointer;display:inline-flex;font-weight:800;justify-content:center}.login-form button{background:#17201b;color:#fff;gap:10px;min-height:48px;padding:0 18px}.login-form button:disabled{cursor:wait;opacity:.7}.form-error{background:#fff1f2;border:1px solid #fecdd3;border-radius:8px;color:#be123c;font-size:14px;font-weight:700;padding:12px}.admin-shell{background:#f5f7f2;display:grid;grid-template-columns:260px 1fr;min-height:100vh;min-width:0}.sidebar{background:#17201b;color:#f6fbf5;display:flex;flex-direction:column;gap:28px;overflow:hidden;padding:24px}.sidebar-brand{align-items:center;display:flex;font-size:18px;font-weight:850;gap:10px}.sidebar-brand-icon{background:#fff;border-radius:8px;flex:0 0 auto;height:34px;object-fit:cover;width:34px}.sidebar nav{display:grid;gap:8px}.sidebar button{border-radius:8px;background:transparent;border:0;color:#f6fbf5c2;cursor:pointer;font-size:14px;font-weight:750;padding:12px;text-align:left}.sidebar button.active,.sidebar button:hover{background:#ffffff1f;color:#fff}.workspace{display:grid;gap:24px;grid-template-rows:auto 1fr;min-width:0;overflow-x:hidden;padding:clamp(16px,2.2vw,28px)}.topbar{align-items:center;display:flex;justify-content:space-between}.icon-button{background:#fff;border:1px solid rgba(23,32,27,.12);color:#17201b;height:36px;width:36px}.empty-state{align-content:center;border:1px dashed #b7c4bb;border-radius:8px;color:#425047;display:grid;justify-items:center;min-height:360px;padding:28px;text-align:center}.empty-state h2{color:#17201b;font-size:24px;letter-spacing:0;margin:14px 0 6px}.empty-state p{margin:0}@media(max-width:760px){.login-shell{padding:18px}.login-panel{padding:24px}.admin-shell{grid-template-columns:1fr}.sidebar{padding:18px}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar button{min-width:0;text-align:center}.workspace{padding:20px}}.clients-page{display:grid;gap:18px;min-width:0}.page-heading{align-items:center;display:flex;gap:18px;justify-content:space-between}.page-heading p{color:#66736a;font-size:13px;font-weight:800;letter-spacing:0;margin:0 0 6px;text-transform:uppercase}.page-heading h2{color:#17201b;font-size:clamp(22px,2.4vw,28px);letter-spacing:0;line-height:1.1;margin:0}.search-box{align-items:center;background:#fff;border:1px solid rgba(23,32,27,.14);border-radius:8px;color:#66736a;display:flex;gap:10px;min-height:44px;max-width:380px;padding:0 12px;width:min(100%,380px)}.search-box input{border:0;color:#17201b;min-width:0;outline:0;width:100%}.grid-surface{background:#fff;border:1px solid rgba(23,32,27,.12);border-radius:8px;min-height:min(560px,calc(100vh - 170px));overflow:hidden}.status-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:850;justify-content:center;line-height:1;min-width:88px;padding:7px 10px}.status-pill.active{background:#dcfce7;color:#166534}.status-pill.expired{background:#fef3c7;color:#92400e}.status-pill.suspended{background:#ffe4e6;color:#be123c}@media(max-width:760px){.page-heading{align-items:stretch;flex-direction:column}.search-box{max-width:none}.sidebar button{min-width:86px;text-align:center}}.dashboard-page{display:grid;gap:18px;min-width:0}.cache-indicator{align-items:center;background:#fff;border:1px solid rgba(23,32,27,.12);border-radius:8px;color:#425047;display:inline-flex;font-size:13px;font-weight:800;gap:8px;min-height:42px;padding:0 14px}.metrics-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.metric-tile{background:#fff;border:1px solid rgba(23,32,27,.12);border-radius:8px;display:grid;gap:10px;min-height:132px;padding:16px}.metric-tile{position:relative}.metric-hover-list{background:#17201b;border-radius:8px;box-shadow:0 18px 48px #17201b3d;color:#fff;display:none;gap:8px;left:14px;max-width:min(320px,calc(100vw - 48px));min-width:240px;padding:12px;position:absolute;top:calc(100% - 8px);z-index:8}.metric-tile:hover .metric-hover-list,.metric-tile:focus-within .metric-hover-list{display:grid}.metric-hover-list strong{color:#fff;font-size:13px}.metric-hover-list span{color:#f6fbf5d1;font-size:12px}.sidebar-bottom-actions{display:grid;gap:8px;margin-top:auto}.sidebar-settings{align-items:center;background:#ffffff14!important;border:1px solid rgba(255,255,255,.14)!important;color:#fff!important;display:inline-flex;gap:10px;justify-content:center;min-height:42px;text-align:center!important;width:100%}.settings-form{display:grid;gap:14px}.settings-form label{color:#334038;display:grid;font-size:14px;font-weight:800;gap:7px}.settings-form input{background:#fbfcfa;border:1px solid #c9d2ca;border-radius:8px;color:#17201b;min-height:42px;outline:none;padding:0 12px;width:100%}.settings-form input:focus{border-color:#1d4ed8;box-shadow:0 0 0 3px #1d4ed824}.metric-icon{align-items:center;background:#edf7f0;border-radius:8px;color:#166534;display:flex;height:42px;justify-content:center;width:42px}.metric-tile p{color:#66736a;font-size:13px;font-weight:850;letter-spacing:0;margin:0;text-transform:uppercase}.metric-tile strong{color:#17201b;font-size:clamp(20px,2.2vw,26px);letter-spacing:0;line-height:1}.metric-tile span{color:#66736a;font-size:13px;line-height:1.35}@media(max-width:520px){.metrics-grid{grid-template-columns:1fr}}.visibility-toggle{align-items:center;background:#fff;border:1px solid rgba(23,32,27,.14);border-radius:8px;color:#17201b;cursor:pointer;display:inline-flex;height:42px;justify-content:center;width:42px}.visibility-toggle:hover{border-color:#17201b47}.grid-surface .MuiDataGrid-root{border:0;max-width:100%;min-width:0}.grid-surface .MuiDataGrid-main,.grid-surface .MuiDataGrid-virtualScroller,.grid-surface .MuiDataGrid-footerContainer{min-width:0;overflow-x:hidden!important}.grid-surface .MuiDataGrid-cell,.grid-surface .MuiDataGrid-columnHeader{min-width:0!important}.grid-surface .MuiDataGrid-cellContent,.grid-surface .MuiDataGrid-columnHeaderTitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid-surface .MuiTablePagination-toolbar{align-items:center;flex-wrap:wrap;min-height:44px;padding-left:8px}.grid-surface .MuiTablePagination-selectLabel,.grid-surface .MuiTablePagination-displayedRows{margin:0}.clients-actions{align-items:center;display:flex;gap:12px;justify-content:flex-end;min-width:0}.primary-action,.secondary-action{align-items:center;border-radius:8px;cursor:pointer;display:inline-flex;font:inherit;font-size:14px;font-weight:850;gap:8px;justify-content:center;min-height:44px;padding:0 16px;white-space:nowrap}.primary-action{background:#17201b;border:1px solid #17201b;color:#fff}.primary-action:disabled{cursor:wait;opacity:.7}.secondary-action{background:#fff;border:1px solid rgba(23,32,27,.16);color:#17201b}.modal-backdrop{align-items:center;background:#17201b75;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:20px;position:fixed;z-index:20}.modal-panel{background:#fff;border:1px solid rgba(23,32,27,.14);border-radius:8px;box-shadow:0 28px 72px #17201b33;max-height:min(92vh,760px);max-width:760px;overflow:auto;padding:22px;width:min(100%,760px)}.modal-heading{align-items:center;display:flex;justify-content:space-between;margin-bottom:18px}.modal-heading p{color:#66736a;font-size:12px;font-weight:850;letter-spacing:0;margin:0 0 5px;text-transform:uppercase}.modal-heading h3{color:#17201b;font-size:24px;letter-spacing:0;line-height:1.1;margin:0}.client-form{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.client-form label{color:#334038;display:grid;font-size:14px;font-weight:800;gap:7px}.client-form input,.client-form select{background:#fbfcfa;border:1px solid #c9d2ca;border-radius:8px;color:#17201b;min-height:42px;outline:none;padding:0 12px;width:100%}.client-form input:focus,.client-form select:focus{border-color:#1d4ed8;box-shadow:0 0 0 3px #1d4ed824}.checkbox-row{align-content:center;grid-template-columns:auto 1fr;justify-content:start}.checkbox-row input{height:18px;min-height:18px;width:18px}.modal-actions{display:flex;gap:10px;grid-column:1 / -1;justify-content:flex-end;padding-top:4px}.client-form .form-error{grid-column:1 / -1}.billing-context{background:#f6f8f4;border:1px solid #d5ded6;border-radius:8px;display:grid;gap:10px;grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}.billing-context p{color:#59665d;font-size:14px;font-weight:800;grid-column:1 / -1;margin:0}.billing-context div{background:#fff;border:1px solid #dce4dd;border-radius:6px;display:grid;gap:3px;padding:9px 10px}.billing-context span{color:#69766d;font-size:11px;font-weight:800;text-transform:uppercase}.billing-context strong{color:#17201b;font-size:14px;font-weight:900}.billing-context .context-ok{border-color:#96cfaa}.billing-context .context-pending{border-color:#e7bf70}@media(max-width:760px){.clients-actions{align-items:stretch;flex-direction:column}.primary-action,.secondary-action{width:100%}.client-form{grid-template-columns:1fr}.modal-actions{flex-direction:column-reverse}}.payments-page{display:grid;gap:18px;min-width:0}.payment-form{align-items:end;background:#fff;border:1px solid rgba(23,32,27,.12);border-radius:8px;display:grid;gap:14px;grid-template-columns:minmax(240px,1.5fr) minmax(120px,.6fr) minmax(150px,.7fr) minmax(180px,1fr);padding:16px}.payment-form label{color:#334038;display:grid;font-size:14px;font-weight:800;gap:7px}.payment-form input,.payment-form select{background:#fbfcfa;border:1px solid #c9d2ca;border-radius:8px;color:#17201b;min-height:42px;outline:none;padding:0 12px;width:100%}.payment-form input:focus,.payment-form select:focus{border-color:#1d4ed8;box-shadow:0 0 0 3px #1d4ed824}.payment-actions{display:flex;gap:10px;grid-column:1 / -1;justify-content:flex-end}.payment-form .form-error{grid-column:1 / -1}.row-actions{align-items:center;display:flex;gap:8px;height:100%}.icon-button.compact{height:34px;width:34px}.icon-button.danger{color:#be123c}@media(max-width:980px){.payment-form{grid-template-columns:1fr}.payment-actions{flex-direction:column-reverse}}.form-success{background:#ecfdf5;border:1px solid #bbf7d0;border-radius:8px;color:#166534;font-size:14px;font-weight:700;padding:12px}.link-action{background:transparent!important;border:0;color:#1d4ed8!important;cursor:pointer;font-weight:850;min-height:32px!important;padding:0!important}.compact-form{gap:12px}.sidebar{min-height:100vh}.sidebar nav{flex:1}.sidebar-logout{align-items:center;background:#ffffff1a!important;border:1px solid rgba(255,255,255,.18)!important;color:#fff!important;display:inline-flex;gap:10px;justify-content:center;min-height:44px;text-align:center!important;width:100%}.workspace{grid-template-rows:1fr}.MuiDataGrid-row{cursor:pointer}.section-heading{align-items:center;display:flex;justify-content:space-between}.section-heading p{color:#66736a;font-size:13px;font-weight:800;letter-spacing:0;margin:0 0 6px;text-transform:uppercase}.section-heading h3{color:#17201b;font-size:22px;letter-spacing:0;line-height:1.15;margin:0}.attention-panel{background:#fff;border:1px solid rgba(23,32,27,.12);border-radius:8px;display:grid;gap:14px;padding:18px}.attention-list{display:grid;gap:8px}.attention-row{align-items:center;border-top:1px solid rgba(23,32,27,.08);display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto 120px;padding:12px 0 4px}.attention-row div{display:grid;gap:4px;min-width:0}.attention-row strong,.attention-row span{min-width:0;overflow-wrap:anywhere}.attention-row strong{color:#17201b;font-size:14px}.attention-row span{color:#66736a;font-size:13px}.empty-inline{border:1px dashed #b7c4bb;border-radius:8px;color:#66736a;font-size:14px;font-weight:750;padding:18px}.compact-modal{max-width:620px}.full-span{grid-column:1 / -1}.split-actions{align-items:center;justify-content:space-between}.modal-action-group{display:flex;gap:10px;justify-content:flex-end}.danger-action{align-items:center;background:#fff1f2;border:1px solid #fecdd3;border-radius:8px;color:#be123c;cursor:pointer;display:inline-flex;font:inherit;font-size:14px;font-weight:850;gap:8px;justify-content:center;min-height:44px;padding:0 16px;white-space:nowrap}.danger-action:disabled{cursor:wait;opacity:.7}@media(max-width:760px){.sidebar{min-height:auto}.sidebar-bottom-actions{margin-top:0}.attention-row{align-items:start;grid-template-columns:1fr}.split-actions,.modal-action-group{align-items:stretch;flex-direction:column-reverse;width:100%}.danger-action{width:100%}}.sidebar{gap:22px}.sidebar nav{align-content:start;display:grid;flex:0 0 auto;gap:8px}.sidebar button{min-height:42px;padding:10px 12px}.sidebar-logout{flex:0 0 auto;min-height:42px}.status-pill.inactive{background:#e5e7eb;color:#374151}.attention-header,.attention-row{grid-template-columns:minmax(0,1fr) 120px 120px 140px}.attention-header{align-items:center;color:#66736a;display:grid;font-size:12px;font-weight:850;gap:12px;text-transform:uppercase}.confirm-modal{max-width:440px}.confirm-copy{color:#425047;font-size:15px;line-height:1.45;margin:0 0 18px}.nested-confirm{left:50%;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:30}@media(max-width:760px){.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar button{min-height:38px;min-width:0}.sidebar-brand{font-size:16px}.workspace{padding:14px}.grid-surface{min-height:min(520px,calc(100vh - 190px))}.grid-surface .MuiTablePagination-actions{margin-left:0}.billing-context{grid-template-columns:1fr}.attention-header{display:none}.attention-row{grid-template-columns:1fr}}.growth-panel{background:#fff;border:1px solid #dfe6de;border-radius:8px;box-shadow:0 18px 55px #13201914;display:grid;gap:18px;padding:20px}.growth-heading{align-items:center;display:flex;justify-content:space-between}.growth-heading>span{color:#66736a;font-size:13px;font-weight:800}.growth-content{display:grid;gap:18px;min-width:0}.growth-summary{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.growth-summary div{background:#f7faf6;border:1px solid #e3eae1;border-radius:8px;display:grid;gap:5px;min-width:0;padding:12px}.growth-summary span{color:#66736a;font-size:12px;font-weight:800}.growth-summary strong{color:#17201b;font-size:18px;font-weight:900;min-width:0;overflow-wrap:anywhere}.growth-chart-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.chart-card{border:1px solid #e3eae1;border-radius:8px;display:grid;gap:10px;min-width:0;padding:14px}.chart-title-row{align-items:start;display:flex;gap:10px;justify-content:space-between}.chart-title-row h4{color:#17201b;font-size:15px;margin:0}.chart-legend{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.chart-legend span{align-items:center;color:#66736a;display:inline-flex;font-size:12px;font-weight:800;gap:5px}.legend-bar,.legend-line{display:inline-block;flex:0 0 auto}.legend-bar{background:#a9c7b2;border-radius:3px;height:10px;width:10px}.legend-line{border-radius:999px;height:3px;width:16px}.legend-line.clients{background:#236b4b}.legend-line.expected{background:#3558a8}.legend-line.collected{background:#c07828}.growth-svg{aspect-ratio:760 / 220;display:block;max-height:220px;width:100%}.chart-axis{stroke:#dce5da;stroke-width:2}.growth-bar{fill:#a9c7b2}.growth-line{stroke-linecap:round;stroke-linejoin:round;stroke-width:5}.growth-line.clients{stroke:#236b4b}.growth-line.expected{stroke:#3558a8}.growth-line.collected{stroke:#c07828}.chart-months{color:#66736a;display:grid;font-size:11px;font-weight:800;gap:4px;grid-template-columns:repeat(6,minmax(0,1fr))}.chart-months span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-scale{color:#66736a;display:flex;font-size:11px;font-weight:800;justify-content:space-between}@media(max-width:1100px){.growth-chart-grid{grid-template-columns:1fr}}@media(max-width:760px){.growth-panel{padding:14px}.growth-heading{align-items:start;display:grid;gap:6px}.growth-summary{grid-template-columns:1fr}.chart-title-row{display:grid}.chart-legend{justify-content:start}.chart-months{grid-template-columns:repeat(3,minmax(0,1fr))}}
