:root{--ez-bg:#f6f7fb;--ez-card:#fff;--ez-text:#15151b;--ez-muted:#777986;--ez-border:#e9e9ef;--ez-accent:#15151b;--ez-soft:#f0f1f5;--ez-good:#e9f8ef;--ez-warn:#fff5df;--ez-danger:#fff0f0}
body:has(.ezcrm-app),body:has(.ezcrm-login-shell){margin:0!important;background:var(--ez-bg)!important}.ezcrm-app,.ezcrm-login-shell{font-family:Arial,"Open Sans",sans-serif;color:var(--ez-text);box-sizing:border-box}.ezcrm-app *,.ezcrm-login-shell *{box-sizing:border-box}.ezcrm-app{min-height:100vh;display:flex;background:var(--ez-bg)}.ezcrm-sidebar{width:230px;background:#fff;border-left:1px solid var(--ez-border);padding:28px 18px;position:fixed;top:0;right:0;bottom:0;display:flex;flex-direction:column;z-index:10}.ezcrm-brand{font-weight:900;font-size:25px;letter-spacing:-1.5px;margin:0 10px 34px}.ezcrm-brand span{font-weight:500;color:#9a9ba5}.ezcrm-sidebar nav{display:flex;flex-direction:column;gap:5px}.ezcrm-sidebar nav button{border:0;background:transparent;text-align:right;padding:12px 14px;border-radius:12px;font-size:14px;color:#686a75;cursor:pointer}.ezcrm-sidebar nav button.active,.ezcrm-sidebar nav button:hover{background:#f1f2f5;color:#111}.ezcrm-logout{margin-top:auto;padding:12px 14px;color:#777;text-decoration:none}.ezcrm-main{width:calc(100% - 230px);margin-right:230px;padding:38px 46px;min-height:100vh}.ezcrm-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.ezcrm-topbar h1{font-size:30px;margin:4px 0 0;letter-spacing:-1px}.ezcrm-kicker{font-size:12px;color:var(--ez-muted)}.ezcrm-primary,.ezcrm-btn{border:0;border-radius:10px;padding:11px 16px;background:#17171d;color:#fff;cursor:pointer;font-weight:700}.ezcrm-btn.secondary{background:#f0f1f4;color:#25252c}.ezcrm-btn.good{background:#1f8f54}.ezcrm-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.ezcrm-stat{background:var(--ez-card);border:1px solid var(--ez-border);border-radius:16px;padding:20px}.ezcrm-stat .label{color:var(--ez-muted);font-size:12px}.ezcrm-stat .value{font-size:27px;font-weight:800;margin-top:8px}.ezcrm-panels{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.ezcrm-panel{background:#fff;border:1px solid var(--ez-border);border-radius:16px;padding:20px}.ezcrm-panel h3{margin:0 0 16px;font-size:17px}.ezcrm-list{display:flex;flex-direction:column}.ezcrm-row{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:14px;align-items:center;padding:13px 4px;border-top:1px solid #f0f0f3}.ezcrm-row:first-child{border-top:0}.ezcrm-row strong{font-size:14px}.ezcrm-row small{color:var(--ez-muted)}.ezcrm-table-card{background:#fff;border:1px solid var(--ez-border);border-radius:16px;overflow:hidden}.ezcrm-table-toolbar{padding:16px;display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--ez-border)}.ezcrm-search{width:320px;max-width:100%;border:1px solid var(--ez-border);border-radius:10px;padding:10px 12px}.ezcrm-table{width:100%;border-collapse:collapse}.ezcrm-table th,.ezcrm-table td{text-align:right;padding:14px 16px;border-bottom:1px solid #f0f0f3;font-size:13px}.ezcrm-table th{font-size:11px;color:#8b8c95;background:#fbfbfc}.ezcrm-table tr[data-id]{cursor:pointer}.ezcrm-table tr[data-id]:hover{background:#fafafb}.ezcrm-badge{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:11px;background:var(--ez-soft)}.ezcrm-badge.good{background:var(--ez-good);color:#247249}.ezcrm-badge.warn{background:var(--ez-warn);color:#8a6411}.ezcrm-badge.danger{background:var(--ez-danger);color:#b33b3b}.ezcrm-empty{padding:34px;text-align:center;color:var(--ez-muted)}.ezcrm-modal-backdrop{position:fixed;inset:0;background:rgba(18,18,24,.4);display:flex;align-items:center;justify-content:center;padding:20px;z-index:99999}.ezcrm-modal{width:min(720px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:18px;padding:24px;box-shadow:0 25px 80px rgba(0,0,0,.2)}.ezcrm-modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.ezcrm-modal-head h2{margin:0;font-size:21px}.ezcrm-x{border:0;background:#f3f3f5;border-radius:50%;width:34px;height:34px;cursor:pointer}.ezcrm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ezcrm-field{display:flex;flex-direction:column;gap:6px}.ezcrm-field.full{grid-column:1/-1}.ezcrm-field label{font-size:12px;color:#666874}.ezcrm-field input,.ezcrm-field select,.ezcrm-field textarea{border:1px solid #dedfe5;border-radius:10px;padding:10px 11px;font:inherit;background:#fff}.ezcrm-field textarea{min-height:90px;resize:vertical}.ezcrm-actions{display:flex;gap:10px;justify-content:flex-start;margin-top:20px}.ezcrm-client-head{background:#fff;border:1px solid var(--ez-border);border-radius:16px;padding:22px;margin-bottom:16px;display:flex;justify-content:space-between;gap:20px}.ezcrm-client-head h2{margin:0 0 7px}.ezcrm-client-head p{margin:4px 0;color:var(--ez-muted)}.ezcrm-tabs{display:flex;gap:8px;margin:12px 0}.ezcrm-tabs button{border:1px solid var(--ez-border);background:#fff;padding:9px 13px;border-radius:9px;cursor:pointer}.ezcrm-toast{position:fixed;left:24px;bottom:24px;background:#17171d;color:#fff;padding:12px 16px;border-radius:10px;z-index:100000}.ezcrm-login-shell{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#f9f9fb,#eeeff4);padding:20px}.ezcrm-login-card{width:min(420px,100%);background:#fff;border:1px solid var(--ez-border);border-radius:22px;padding:34px;box-shadow:0 20px 60px rgba(20,20,25,.08)}.ezcrm-login-card .ezcrm-brand{margin:0 0 35px}.ezcrm-login-card h1{font-size:28px;margin:0 0 8px}.ezcrm-login-card>p{color:var(--ez-muted);margin:0 0 25px}.ezcrm-login-form{display:flex;flex-direction:column;gap:14px}.ezcrm-login-form label{font-size:12px;color:#61636e;display:flex;flex-direction:column;gap:6px}.ezcrm-login-form input[type=text],.ezcrm-login-form input[type=password]{border:1px solid #dedfe5;border-radius:11px;padding:12px}.ezcrm-login-form button{margin-top:5px;border:0;border-radius:11px;background:#17171d;color:#fff;padding:13px;font-weight:700;cursor:pointer}.ezcrm-login-form .ezcrm-check{flex-direction:row;align-items:center}.ezcrm-alert{padding:10px 12px;background:#fff0f0;color:#a43838;border-radius:9px;margin-bottom:12px;font-size:13px}.ezcrm-loading{padding:50px;text-align:center;color:#888}
@media(max-width:900px){.ezcrm-sidebar{width:72px;padding:22px 10px}.ezcrm-sidebar .ezcrm-brand{font-size:16px;margin:0 4px 28px}.ezcrm-sidebar nav button span,.ezcrm-logout{font-size:0}.ezcrm-sidebar nav button{font-size:20px;text-align:center}.ezcrm-main{width:calc(100% - 72px);margin-right:72px;padding:25px 18px}.ezcrm-grid{grid-template-columns:1fr 1fr}.ezcrm-panels{grid-template-columns:1fr}.ezcrm-table-card{overflow:auto}.ezcrm-form-grid{grid-template-columns:1fr}.ezcrm-field.full{grid-column:auto}}
@media(max-width:560px){.ezcrm-main{padding:20px 12px}.ezcrm-topbar{align-items:flex-start;gap:14px}.ezcrm-topbar h1{font-size:24px}.ezcrm-primary{padding:9px 11px;font-size:12px}.ezcrm-grid{grid-template-columns:1fr 1fr}.ezcrm-stat{padding:15px}.ezcrm-stat .value{font-size:21px}.ezcrm-client-head{flex-direction:column}.ezcrm-row{grid-template-columns:1fr auto}.ezcrm-row>*:nth-child(2),.ezcrm-row>*:nth-child(3){display:none}}
.ezcrm-grid-7{grid-template-columns:repeat(7,1fr)}
.ezcrm-expense-stats{grid-template-columns:repeat(4,1fr);margin-bottom:18px}
.ezcrm-stat .value{overflow-wrap:anywhere}
@media(max-width:1200px){.ezcrm-grid-7{grid-template-columns:repeat(4,1fr)}}
@media(max-width:900px){.ezcrm-grid-7,.ezcrm-expense-stats{grid-template-columns:1fr 1fr}}
.ezcrm-stat-alert{border-color:#f1c1c1;background:#fff8f8}.ezcrm-dashboard-reminders{margin-top:18px}.ezcrm-panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.ezcrm-panel-head h3{margin:0 0 4px}.ezcrm-panel-head small,.ezcrm-muted{color:var(--ez-muted);font-size:12px}.ezcrm-actions-inline{display:flex;gap:8px;flex-wrap:wrap}.ezcrm-reminder-list{display:flex;flex-direction:column;margin-top:14px}.ezcrm-reminder-item{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #f0f0f3}.ezcrm-reminder-item:first-child{border-top:0}.ezcrm-reminder-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#f2f3f6;font-weight:900}.ezcrm-reminder-item.task .ezcrm-reminder-icon{background:#eef7f1;color:#28714c}.ezcrm-reminder-item.event .ezcrm-reminder-icon{background:#eef2fb;color:#415e9b}.ezcrm-reminder-main{min-width:0;display:flex;flex-direction:column;gap:4px}.ezcrm-reminder-main small{color:var(--ez-muted)}.ezcrm-mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ezcrm-mini-stats>div{background:#f8f8fa;border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:6px}.ezcrm-mini-stats small{color:var(--ez-muted)}.ezcrm-mini-stats strong{font-size:20px}.ezcrm-calendar-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-bottom:16px}.ezcrm-calendar-toolbar>div{display:flex;gap:8px}.ezcrm-calendar-toolbar>div:last-child{justify-content:flex-start}.ezcrm-calendar-toolbar h2{margin:0;font-size:22px;text-align:center}.ezcrm-calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}.ezcrm-calendar-card{background:#fff;border:1px solid var(--ez-border);border-radius:16px;overflow:hidden}.ezcrm-cal-weekdays,.ezcrm-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.ezcrm-cal-weekdays{background:#fbfbfc;border-bottom:1px solid var(--ez-border)}.ezcrm-cal-weekdays>div{padding:10px;text-align:center;color:#888;font-size:12px;font-weight:700}.ezcrm-cal-day{min-height:125px;border-left:1px solid #f0f0f3;border-bottom:1px solid #f0f0f3;padding:8px;background:#fff;min-width:0}.ezcrm-cal-day:nth-child(7n){border-left:0}.ezcrm-cal-day.muted{background:#fafafb}.ezcrm-cal-day.today{background:#fffaf0}.ezcrm-cal-num{font-size:12px;font-weight:800;margin-bottom:6px;color:#666}.ezcrm-cal-day.today .ezcrm-cal-num{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#17171d;color:#fff}.ezcrm-cal-items{display:flex;flex-direction:column;gap:4px}.ezcrm-cal-item{border:0;border-radius:7px;padding:5px 6px;text-align:right;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;background:#f0f1f4;color:#333}.ezcrm-cal-item.task{background:#edf7f0;color:#276844}.ezcrm-cal-item.event{background:#edf2fb;color:#38598c}.ezcrm-cal-item.done{text-decoration:line-through;opacity:.55}.ezcrm-calendar-side{display:flex;flex-direction:column;gap:18px}.ezcrm-task-list{display:flex;flex-direction:column}.ezcrm-task-row{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;padding:10px 0;border-top:1px solid #f0f0f3}.ezcrm-task-row:first-child{border-top:0}.ezcrm-task-row>div{cursor:pointer;display:flex;flex-direction:column;gap:4px}.ezcrm-task-row small{color:var(--ez-muted)}.ezcrm-task-check{width:30px;height:30px;border:1px solid #d9dde3;background:#fff;border-radius:9px;cursor:pointer;color:#4d7b61}.ezcrm-feed-mini,.ezcrm-feed-box{display:flex;gap:8px;margin-top:10px}.ezcrm-feed-mini input,.ezcrm-feed-box input{min-width:0;flex:1;border:1px solid #dedfe5;border-radius:10px;padding:10px;background:#fafafa;direction:ltr;text-align:left}.ezcrm-feed-box{margin:14px 0}.ezcrm-settings-form{margin-top:14px}.ezcrm-btn.danger-btn{background:#fff0f0;color:#a53b3b}.ezcrm-calendar-client-row{grid-template-columns:1.4fr 1fr 1fr auto}
@media(max-width:1100px){.ezcrm-calendar-layout{grid-template-columns:1fr}.ezcrm-calendar-side{display:grid;grid-template-columns:1fr 1fr}.ezcrm-cal-day{min-height:105px}.ezcrm-calendar-toolbar{grid-template-columns:1fr auto}.ezcrm-calendar-toolbar h2{grid-column:1/-1;grid-row:1}.ezcrm-calendar-toolbar>div:first-child{grid-row:2}.ezcrm-calendar-toolbar>div:last-child{grid-row:2;justify-content:flex-start}}
@media(max-width:700px){.ezcrm-calendar-side{grid-template-columns:1fr}.ezcrm-calendar-card{overflow:auto}.ezcrm-cal-weekdays,.ezcrm-cal-grid{min-width:720px}.ezcrm-calendar-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between}.ezcrm-calendar-toolbar h2{width:100%;order:-1;text-align:right}.ezcrm-panel-head{align-items:flex-start;flex-direction:column}.ezcrm-reminder-item{grid-template-columns:34px 1fr}.ezcrm-reminder-item>.ezcrm-btn{grid-column:2}.ezcrm-mini-stats{grid-template-columns:1fr}.ezcrm-feed-box{flex-direction:column}}
/* v0.5.0 – compact section navigation, next action and finance */
.ezcrm-hub-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.ezcrm-hub-tabs button{border:1px solid var(--ez-border,#e7e7eb);background:#fff;border-radius:999px;padding:9px 14px;font:inherit;cursor:pointer}.ezcrm-hub-tabs button.active{background:#17171b;color:#fff;border-color:#17171b}.ezcrm-next-action-card{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px;padding:12px 14px;border:1px solid #ececf0;border-radius:14px;background:#fafafa}.ezcrm-next-action-card small{width:100%;opacity:.65}.ezcrm-next-action-card strong{font-size:16px}.ezcrm-next-action-card span{opacity:.7}.ezcrm-budget-progress{display:grid;gap:5px;margin-top:14px;padding-top:14px;border-top:1px solid #eee}.ezcrm-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.ezcrm-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.ezcrm-next-actions{margin:18px 0}@media(max-width:850px){.ezcrm-grid-2,.ezcrm-grid-4{grid-template-columns:1fr}.ezcrm-hub-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.ezcrm-hub-tabs button{white-space:nowrap}}

/* v0.6.0 – collection status, actions, mail preview and annual snapshots */
.ezcrm-status-btn{border:0;background:transparent;padding:0;cursor:pointer;display:flex;flex-direction:column;gap:4px;align-items:flex-start;font:inherit}
.ezcrm-badge.info{background:#e8f2ff;color:#1769d2}
.ezcrm-action-menu{position:relative;display:inline-block}
.ezcrm-dots{width:36px;height:36px;border:1px solid #e4e6eb;border-radius:10px;background:#fff;cursor:pointer;font-size:22px;line-height:1;color:#555}
.ezcrm-dots:hover{background:#f5f6f8}
.ezcrm-action-pop{position:absolute;z-index:30;top:42px;left:0;min-width:185px;background:#fff;border:1px solid #e3e5ea;border-radius:14px;box-shadow:0 16px 40px rgba(20,24,35,.12);padding:7px;display:none;text-align:right}
.ezcrm-action-pop.open{display:block}
.ezcrm-action-pop button{display:block;width:100%;border:0;background:transparent;padding:10px 12px;border-radius:9px;text-align:right;cursor:pointer;font:inherit;color:#222}
.ezcrm-action-pop button:hover{background:#f4f5f7}
.ezcrm-collection-summary{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:4px}
.ezcrm-collection-summary>div{background:#f7f8fa;border:1px solid #eceef2;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:4px}
.ezcrm-collection-summary small{color:#7b7f89}.ezcrm-collection-summary strong{font-size:18px}
.ezcrm-email-modal{max-width:780px}
.ezcrm-email-to{background:#f7f8fa;border:1px solid #eceef2;border-radius:12px;padding:12px 14px;margin-bottom:14px;display:flex;gap:12px;align-items:center}
.ezcrm-email-to small{color:#777}.ezcrm-email-preview{grid-column:1/-1;background:#fff;border:1px solid #e1e4e9;border-radius:14px;padding:18px;min-height:160px}
.ezcrm-email-preview h3{margin:0 0 16px}.ezcrm-email-preview #ezcrm-mail-preview{line-height:1.8;color:#34363c}
.ezcrm-annual-panel{grid-column:1/-1}
.ezcrm-year-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:12px}
.ezcrm-year-card{border:1px solid #e5e7eb;border-radius:15px;padding:15px;background:#fff}
.ezcrm-year-card h4{font-size:20px;margin:0 0 12px;text-align:center}
.ezcrm-year-card>div{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-top:1px solid #f0f1f3;gap:10px}
.ezcrm-year-card span{color:#777;font-size:13px}.ezcrm-year-card strong{font-size:14px}
@media(max-width:900px){.ezcrm-year-cards{grid-template-columns:1fr}.ezcrm-collection-summary{grid-template-columns:1fr}.ezcrm-action-pop{left:auto;right:0}.ezcrm-table-card{overflow-x:auto}.ezcrm-table{min-width:1100px}}
/* v0.6.2 – client treatment, remaining balance and direct actions */
.ezcrm-clients-table{min-width:1180px}.ezcrm-client-open{cursor:pointer}.ezcrm-client-open:hover strong{text-decoration:underline}.ezcrm-direct-actions{display:flex;gap:7px;align-items:center;direction:rtl}.ezcrm-action-icon{width:34px;height:34px;border-radius:10px;border:1px solid transparent;display:grid;place-items:center;cursor:pointer;font-weight:900;font-size:16px}.ezcrm-action-icon.calendar{background:#eef3ff;color:#2764d8;border-color:#dbe6ff}.ezcrm-action-icon.email{background:#fff0f0;color:#d94343;border-color:#ffe0e0}.ezcrm-action-icon.whatsapp{background:#e9f9ef;color:#169b50;border-color:#d4f2df}.ezcrm-action-icon:hover{transform:translateY(-1px);filter:brightness(.98)}.ezcrm-care-wrap{position:relative;display:inline-block}.ezcrm-care-pill,.ezcrm-care-ok{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:7px 10px;font-size:12px;white-space:nowrap}.ezcrm-care-pill{border:0;background:#fff4df;color:#9a6500;cursor:pointer}.ezcrm-care-pill.danger{background:#fff0f0;color:#b33a3a}.ezcrm-care-dot,.ezcrm-care-ok>span{width:8px;height:8px;border-radius:50%;background:#f0a21b}.ezcrm-care-pill.danger .ezcrm-care-dot{background:#e14b4b}.ezcrm-care-ok{background:#eaf8ef;color:#28734a}.ezcrm-care-ok>span{background:#31a466}.ezcrm-care-pop{display:none;position:absolute;z-index:40;top:38px;right:0;min-width:175px;background:#fff;border:1px solid #e4e6eb;border-radius:12px;box-shadow:0 14px 35px rgba(20,24,35,.12);padding:8px}.ezcrm-care-pop.open{display:grid;gap:4px}.ezcrm-care-item{display:flex;align-items:center;gap:8px;padding:7px 8px;font-size:12px}.ezcrm-care-item>span{width:8px;height:8px;border-radius:50%;background:#efaa28}.ezcrm-care-item.danger>span{background:#e24b4b}.ezcrm-care-item.info>span{background:#3978e6}.ezcrm-care-item.purple>span{background:#8b5bd6}

/* v0.7.0 - monthly cash-flow / spreadsheet-style income ledger */
.ezcrm-cashflow-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:6px 0 14px}.ezcrm-cashflow-head h3{margin:0 0 4px;font-size:22px}.ezcrm-cashflow-head small{color:#8b8d98}.ezcrm-year-switch{display:flex;align-items:center;gap:10px}.ezcrm-year-switch strong{font-size:18px;min-width:58px;text-align:center}.ezcrm-month-tabs{display:grid;grid-template-columns:repeat(12,minmax(72px,1fr));gap:7px;margin-bottom:16px;overflow-x:auto;padding-bottom:3px}.ezcrm-month-tabs button{border:1px solid #e2e4ea;background:#fff;border-radius:12px;padding:10px 9px;white-space:nowrap;cursor:pointer;font:inherit;color:#4b4d56}.ezcrm-month-tabs button:hover{border-color:#b9bdc8}.ezcrm-month-tabs button.active{background:#17181e;color:#fff;border-color:#17181e;font-weight:700}.ezcrm-cashflow-stats{margin-bottom:16px}.ezcrm-term-lines{display:grid;grid-template-columns:1fr 1fr;gap:5px 12px;margin-top:8px;font-size:12px;color:#656874}.ezcrm-income-ledger{margin-top:4px}.ezcrm-income-ledger .ezcrm-table-toolbar{align-items:center}.ezcrm-table-scroll{overflow-x:auto}.ezcrm-income-ledger table{min-width:1080px}.ezcrm-income-ledger td,.ezcrm-income-ledger th{white-space:nowrap}.ezcrm-link-btn{border:0;background:none;padding:0;font:inherit;font-weight:700;cursor:pointer;color:#17181e}.ezcrm-link-btn:hover{text-decoration:underline}.ezcrm-income-ledger small{color:#8a8d98}
@media(max-width:1100px){.ezcrm-month-tabs{grid-template-columns:repeat(12,90px)}.ezcrm-cashflow-head{align-items:flex-start;flex-direction:column}}

.ezcrm-client-link{border:0;background:none;padding:0;color:#17181d;font:inherit;font-weight:700;cursor:pointer;text-align:right}.ezcrm-client-link:hover{text-decoration:underline}

.ezcrm-quick-icons{display:flex;align-items:center;gap:7px;white-space:nowrap}.ezcrm-quick-icon{width:34px;height:34px;border-radius:10px;border:1px solid #e5e7eb;background:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:.15s ease;padding:7px}.ezcrm-quick-icon:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(17,24,39,.08)}.ezcrm-quick-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.ezcrm-quick-icon.calendar{color:#2563eb;background:#eff6ff;border-color:#dbeafe}.ezcrm-quick-icon.email{color:#e5484d;background:#fff1f2;border-color:#ffe4e6}.ezcrm-quick-icon.whatsapp{color:#16a34a;background:#f0fdf4;border-color:#dcfce7}.ezcrm-quick-icon.whatsapp svg path:first-child{fill:#22c55e;stroke:#16a34a}.ezcrm-quick-icon.whatsapp svg path:last-child{stroke:#fff;stroke-width:1.35}

.ezcrm-invoice-check{display:inline-flex;cursor:pointer;position:relative}.ezcrm-invoice-check input{position:absolute;opacity:0;pointer-events:none}.ezcrm-invoice-check span{width:27px;height:27px;border:1.5px solid #cfd3db;border-radius:7px;background:#fff;display:flex;align-items:center;justify-content:center;color:transparent;font-weight:900;transition:.15s}.ezcrm-invoice-check input:checked+span{background:#e9f8ef;border-color:#78d39a;color:#16934a}.ezcrm-invoice-check:hover span{border-color:#9ca3af}
.ezcrm-quick-icon.edit{color:#6b7280;background:#f9fafb;border-color:#e5e7eb;font-size:18px;font-weight:700}

/* Project payment history / deposits */
.ezcrm-payment-history{margin:16px 0;padding:14px 16px;border:1px solid #e8eaf0;border-radius:14px;background:#fafbfc}
.ezcrm-payment-history h3{margin:0 0 10px;font-size:14px}
.ezcrm-payment-history-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid #eceef2}
.ezcrm-payment-history-row:first-of-type{border-top:0}
.ezcrm-payment-history-row span{display:flex;flex-direction:column;gap:3px}
.ezcrm-payment-history-row small{color:#7d828e;font-size:12px}
.ezcrm-payment-add-title{margin:18px 0 10px;padding:14px 16px;border:1px dashed #d8dce5;border-radius:14px;background:#fafbfc;display:flex;justify-content:space-between;gap:10px;align-items:center}.ezcrm-payment-add-title small{color:#7b8190}.ezcrm-history-actions{display:flex;gap:6px}.ezcrm-mini-edit,.ezcrm-mini-delete{width:32px;height:32px;border-radius:9px;border:1px solid #e1e4ea;background:#fff;cursor:pointer;font-size:16px}.ezcrm-mini-edit:hover{border-color:#8fb8ff;background:#f4f8ff}.ezcrm-mini-delete:hover{border-color:#ffb6b6;background:#fff5f5;color:#c62828}.ezcrm-payment-history-row{gap:12px}.ezcrm-payment-history-row>span{display:flex;flex-direction:column;gap:3px}.ezcrm-payment-history-row small{color:#7b8190}
/* v0.9.1 annual cash-flow snapshot */
.ezcrm-year-line{width:100%;border:0;background:transparent;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid #f0f0f3;cursor:pointer;text-align:right;font:inherit;color:inherit}.ezcrm-year-line:hover{background:#fafafa}.ezcrm-year-line span{color:var(--ez-muted)}.ezcrm-year-line strong{font-weight:800}.ezcrm-annual-modal{max-width:760px}.ezcrm-annual-drill-list{display:flex;flex-direction:column;max-height:60vh;overflow:auto}.ezcrm-annual-drill-row{border:0;border-top:1px solid #eee;background:#fff;padding:12px 4px;display:grid;grid-template-columns:minmax(0,1.5fr) 110px 110px 110px;gap:12px;align-items:center;text-align:right;cursor:pointer}.ezcrm-annual-drill-row:first-child{border-top:0}.ezcrm-annual-drill-row:hover{background:#fafafa}.ezcrm-annual-drill-row>div{display:flex;flex-direction:column;gap:3px}.ezcrm-annual-drill-row small{color:var(--ez-muted)}
@media(max-width:700px){.ezcrm-annual-drill-row{grid-template-columns:1fr auto}.ezcrm-annual-drill-row>span{font-size:12px}}
.ezcrm-payment-add-button{grid-column:1/-1;width:100%;border:1px dashed #cfd5df;background:#fafbfc;border-radius:14px;padding:16px 18px;display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:10px;row-gap:2px;text-align:right;cursor:pointer;color:#191b22}.ezcrm-payment-add-button>span{grid-row:1/3;font-size:28px;line-height:1;color:#2c6bed}.ezcrm-payment-add-button strong{font-size:15px}.ezcrm-payment-add-button small{color:#7b8190}.ezcrm-payment-add-button:hover{border-color:#8fb8ff;background:#f5f8ff}.ezcrm-inline-payment-form{grid-column:1/-1;border:1px solid #e3e7ee;border-radius:14px;background:#fafbfc;padding:14px}.ezcrm-inline-payment-form[hidden]{display:none!important}.ezcrm-inline-payment-form .ezcrm-form-grid{margin:0}.ezcrm-inline-payment-form .ezcrm-actions{margin-top:12px}
/* v0.9.4 – auditable annual snapshot + profit */
.ezcrm-year-profit{margin-top:3px;padding-top:11px;border-top:2px solid #e5e5ea}.ezcrm-year-profit span,.ezcrm-year-profit strong{color:#111}.ezcrm-year-profit strong{font-size:16px}.ezcrm-annual-table-wrap{max-height:58vh;overflow:auto;border:1px solid #ececf1;border-radius:14px}.ezcrm-annual-table{min-width:720px;margin:0}.ezcrm-annual-table thead th{position:sticky;top:0;background:#f8f8fa;z-index:2}.ezcrm-annual-table tfoot th{background:#f8f8fa;border-top:2px solid #dedee5;font-size:14px}.ezcrm-annual-clickable{cursor:pointer}.ezcrm-annual-clickable:hover td{background:#fafafa}.ezcrm-annual-help{margin:0 0 14px;color:var(--ez-muted);line-height:1.6}.ezcrm-annual-profit-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.ezcrm-annual-profit-summary>div{border:1px solid #ececf1;background:#fafafd;border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:6px}.ezcrm-annual-profit-summary span{color:var(--ez-muted);font-size:13px}.ezcrm-annual-profit-summary strong{font-size:21px}.ezcrm-annual-profit-summary .profit{background:#f5fbf7}.ezcrm-annual-section-title{font-size:15px;margin:18px 0 9px}@media(max-width:700px){.ezcrm-annual-profit-summary{grid-template-columns:1fr}.ezcrm-annual-modal{max-width:96vw}.ezcrm-annual-table-wrap{overflow:auto}}

/* v0.9.5 – robust annual drill-down clicks + recurring supplier due */
.ezcrm-year-line{position:relative;z-index:1;pointer-events:auto}.ezcrm-year-line>*{pointer-events:none}
.ezcrm-reminder-item.is-overdue{border-inline-start:3px solid #ef4444;background:#fffafa}
.ezcrm-reminder-item.recurring_collection .ezcrm-reminder-icon,.ezcrm-reminder-item.project_collection .ezcrm-reminder-icon,.ezcrm-reminder-item.payment_collection .ezcrm-reminder-icon{background:#fff4e5;color:#b45309}

/* v0.9.8 — calmer unified service/project editing */
.ezcrm-modal:has(.ezcrm-edit-section){width:min(860px,100%);padding:26px 28px}.ezcrm-modal:has(.ezcrm-edit-section)>.ezcrm-modal-head{padding-bottom:16px;border-bottom:1px solid #eeeef2;margin-bottom:18px}.ezcrm-modal:has(.ezcrm-edit-section) #ezcrm-form>.ezcrm-form-grid{display:block}.ezcrm-edit-section{background:#fafafb;border:1px solid #e8e8ed;border-radius:15px;padding:17px 18px;margin-bottom:14px}.ezcrm-edit-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.ezcrm-edit-section-head strong{display:block;font-size:15px}.ezcrm-edit-section-head small{display:block;color:var(--ez-muted);font-size:11px;margin-top:3px}.ezcrm-edit-section .ezcrm-form-grid{gap:12px}.ezcrm-edit-section .ezcrm-field input,.ezcrm-edit-section .ezcrm-field select,.ezcrm-edit-section .ezcrm-field textarea{background:#fff}.ezcrm-collection-summary.compact{margin:0 0 12px}.ezcrm-payment-history.compact{margin-top:0}.ezcrm-no-payments{padding:12px 4px}.ezcrm-check-line{min-height:42px;display:flex!important;flex-direction:row!important;align-items:center;gap:8px;border:1px solid #dedfe5;border-radius:10px;padding:10px 11px;background:#fff;color:#25252c!important}.ezcrm-modal:has(.ezcrm-edit-section)>.ezcrm-modal-head h2{font-size:22px}.ezcrm-modal:has(.ezcrm-edit-section) .ezcrm-actions{position:sticky;bottom:-24px;background:#fff;padding:15px 0 2px;margin-top:4px;border-top:1px solid #eeeef2;z-index:2}
@media(max-width:700px){.ezcrm-modal:has(.ezcrm-edit-section){padding:20px 16px}.ezcrm-edit-section{padding:14px}.ezcrm-edit-section-head{align-items:flex-start;flex-direction:column}.ezcrm-edit-section-head .ezcrm-btn{width:100%}}

/* v0.10.0 — grouped sidebar + calmer finance workspace */
.ezcrm-side-nav{display:flex;flex-direction:column;gap:8px}
.ezcrm-nav-group{border-radius:14px}
.ezcrm-nav-group-toggle{width:100%;display:flex!important;align-items:center;justify-content:space-between!important;padding:12px 14px!important;font-weight:800!important;color:#2b2c33!important;background:transparent!important}
.ezcrm-nav-group-toggle:hover{background:#f7f7f9!important}
.ezcrm-nav-chevron{font-size:16px;color:#a0a2ab;transition:transform .18s ease}
.ezcrm-nav-group.open .ezcrm-nav-chevron{transform:rotate(180deg)}
.ezcrm-nav-children{display:none;padding:2px 8px 7px}
.ezcrm-nav-group.open .ezcrm-nav-children{display:flex;flex-direction:column;gap:3px}
.ezcrm-sidebar .ezcrm-nav-children button{padding:9px 12px!important;font-size:13px!important;color:#737580!important;border-radius:10px!important}
.ezcrm-sidebar .ezcrm-nav-children button.active{background:#f0f1f4!important;color:#14151a!important;font-weight:800}
.ezcrm-nav-settings{margin-top:4px!important;font-weight:800!important;color:#2b2c33!important}

.ezcrm-finance-compact{margin-top:-4px;margin-bottom:12px}
.ezcrm-finance-tabs{display:flex;gap:8px;align-items:center;margin-bottom:12px}
.ezcrm-finance-tabs button{border:1px solid #e2e3e8;background:#fff;border-radius:999px;padding:8px 16px;font:inherit;font-size:13px;font-weight:700;color:#555862;cursor:pointer}
.ezcrm-finance-tabs button.active{background:#17181e;color:#fff;border-color:#17181e}
.ezcrm-finance-tabs-standalone{margin-bottom:16px}
.ezcrm-finance-controls{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:12px}
.ezcrm-finance-search{width:230px;min-width:190px;padding:8px 11px;font-size:12px}
.ezcrm-finance-month-row{display:flex;align-items:center;gap:7px;min-width:0;flex:1;justify-content:flex-end}
.ezcrm-finance-month-row>strong{font-size:13px;min-width:38px;text-align:center;color:#555862}
.ezcrm-year-mini{width:30px;height:30px;border:1px solid #e5e6eb;background:#fff;border-radius:9px;cursor:pointer;color:#666973}
.ezcrm-month-tabs.compact{display:flex;gap:4px;margin:0;overflow-x:auto;padding:0 0 2px;grid-template-columns:none;flex:0 1 auto}
.ezcrm-month-tabs.compact button{padding:6px 9px;border-radius:9px;font-size:11px;min-width:auto;color:#71747d}
.ezcrm-month-tabs.compact button.active{color:#fff}
.ezcrm-income-ledger-primary{margin-top:0}
.ezcrm-income-ledger-primary .ezcrm-table-toolbar{padding:13px 16px}
.ezcrm-income-ledger-primary .ezcrm-table-toolbar strong{font-size:14px}
.ezcrm-income-ledger-primary .ezcrm-table-toolbar small{font-size:11px}
.ezcrm-month-cash-strip{display:grid;grid-template-columns:minmax(240px,1.6fr) repeat(4,minmax(105px,.7fr));gap:8px;margin-top:12px;background:#fff;border:1px solid var(--ez-border);border-radius:16px;padding:10px}
.ezcrm-month-cash-title{display:flex;align-items:center;gap:10px;padding:7px 10px;min-width:0}
.ezcrm-month-cash-title small{font-size:11px;color:#7c7f88;white-space:nowrap}
.ezcrm-month-cash-title strong{font-size:19px;white-space:nowrap}
.ezcrm-month-cash-title span{font-size:10px;color:#92949c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ezcrm-month-cash-strip>button{border:0;background:#f7f7f9;border-radius:11px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:7px;cursor:pointer;color:#31333a}
.ezcrm-month-cash-strip>button:hover{background:#eff0f3}
.ezcrm-month-cash-strip>button small{font-size:10px;color:#787b85}
.ezcrm-month-cash-strip>button strong{font-size:13px}
.ezcrm-term-modal{width:min(900px,100%)}
.ezcrm-term-modal .ezcrm-modal-head small{display:block;margin-top:4px;color:#8c8e97;font-size:11px}
.ezcrm-term-modal-total{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 14px}
.ezcrm-term-modal-total>div{background:#f7f7f9;border:1px solid #ececf0;border-radius:12px;padding:12px}
.ezcrm-term-modal-total small{display:block;color:#858892;font-size:11px;margin-bottom:5px}
.ezcrm-term-modal-total strong{font-size:20px}
.ezcrm-term-drill-table{min-width:720px}

@media(max-width:1100px){
 .ezcrm-finance-controls{align-items:flex-start;flex-direction:column}
 .ezcrm-finance-search{width:100%}
 .ezcrm-finance-month-row{width:100%;justify-content:flex-start;flex-wrap:wrap}
 .ezcrm-month-tabs.compact{width:100%}
 .ezcrm-month-cash-strip{grid-template-columns:1fr 1fr}
 .ezcrm-month-cash-title{grid-column:1/-1}
}
@media(max-width:900px){
 .ezcrm-sidebar .ezcrm-nav-group-toggle{justify-content:center!important;padding:11px 4px!important}
 .ezcrm-nav-group-label,.ezcrm-nav-chevron{display:none}
 .ezcrm-nav-children{padding:0}
 .ezcrm-nav-group.open .ezcrm-nav-children{display:flex}
 .ezcrm-sidebar .ezcrm-nav-children button{font-size:0!important;text-align:center!important;min-height:36px}
 .ezcrm-sidebar .ezcrm-nav-children button:before{content:'•';font-size:18px}
 .ezcrm-nav-settings span{font-size:0}
 .ezcrm-nav-settings:before{content:'⚙';font-size:18px}
}
@media(max-width:650px){
 .ezcrm-month-cash-strip{grid-template-columns:1fr}
 .ezcrm-month-cash-title{display:grid;grid-template-columns:1fr auto}
 .ezcrm-month-cash-title span{grid-column:1/-1}
 .ezcrm-term-modal-total{grid-template-columns:1fr}
}
/* v0.10.1 — arrows, monthly ledgers, cashflow chart */
.ezcrm-nav-chevron{transform:rotate(180deg)}
.ezcrm-nav-group.open .ezcrm-nav-chevron{transform:rotate(0deg)}
.ezcrm-ledger-controls{margin:4px 0 14px;justify-content:flex-start;gap:12px;flex-wrap:wrap}
.ezcrm-cashflow-chart-card{background:#fff;border:1px solid var(--ez-border);border-radius:16px;padding:22px;margin-top:14px}
.ezcrm-cashflow-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.ezcrm-cashflow-chart-head h3{margin:0 0 5px}.ezcrm-cashflow-chart-head small{color:var(--ez-muted)}
.ezcrm-chart-legend{display:flex;gap:18px;margin:22px 0 8px;font-size:12px;color:var(--ez-muted)}
.ezcrm-chart-legend span{display:flex;align-items:center;gap:6px}.ezcrm-chart-legend i{width:9px;height:9px;border-radius:3px;background:#17171d}.ezcrm-chart-legend i.expense{background:#d8d9df}
.ezcrm-cashflow-chart{height:330px;display:grid;grid-template-columns:repeat(12,1fr);gap:10px;align-items:end;border-bottom:1px solid var(--ez-border);padding:20px 8px 0}
.ezcrm-chart-month{height:100%;display:grid;grid-template-rows:1fr auto auto;gap:7px;text-align:center;min-width:0}.ezcrm-chart-month>strong{font-size:11px}.ezcrm-chart-month>small{font-size:10px;color:var(--ez-muted);white-space:nowrap}
.ezcrm-chart-bars{height:100%;display:flex;align-items:flex-end;justify-content:center;gap:4px}.ezcrm-chart-bar{width:min(18px,38%);min-height:2px;border-radius:5px 5px 2px 2px;background:#17171d}.ezcrm-chart-bar.expense{background:#d8d9df}
@media(max-width:900px){.ezcrm-cashflow-chart{overflow-x:auto;grid-template-columns:repeat(12,58px);justify-content:start}.ezcrm-cashflow-chart-head{flex-direction:column}}
/* v0.10.2 — finance search, monthly actuals, annual snapshot and stronger cashflow */
.ezcrm-finance-tools{display:flex;align-items:center;gap:12px;margin:4px 0 14px}.ezcrm-finance-tools .ezcrm-finance-controls{margin:0;flex:1}.ezcrm-finance-tools .ezcrm-finance-search{margin:0}
.ezcrm-finance-annual{margin-top:14px}.ezcrm-finance-annual .ezcrm-year-cards{margin-top:12px}
.ezcrm-cashflow-chart-card.compact{margin-top:14px}.ezcrm-cashflow-year-head{display:flex;align-items:center;justify-content:flex-start;gap:9px;margin:4px 0 -4px}.ezcrm-cashflow-year-head strong{font-size:14px}
.ezcrm-cashflow-chart-card{overflow:hidden}.ezcrm-cashflow-chart{height:390px;gap:12px;padding-top:34px;background:repeating-linear-gradient(to top,transparent 0,transparent 24.7%,#f0f0f3 25%,transparent 25.3%)}
.ezcrm-chart-bars{gap:5px}.ezcrm-chart-bar{position:relative;width:min(28px,43%);border-radius:5px 5px 0 0;background:#34c759;min-height:3px}.ezcrm-chart-bar.expense{background:#ff453a}.ezcrm-chart-legend i.income,.ezcrm-chart-legend i{background:#34c759}.ezcrm-chart-legend i.expense{background:#ff453a}
.ezcrm-chart-bar span{position:absolute;left:50%;transform:translateX(-50%);bottom:8px;writing-mode:vertical-rl;rotate:180deg;font-size:9px;font-weight:800;color:#fff;white-space:nowrap;pointer-events:none}.ezcrm-chart-month>small{font-size:9px}
.ezcrm-month-cash-strip>button{border:1px solid transparent}.ezcrm-month-cash-strip>button:hover{border-color:#dedfe5}
@media(max-width:1100px){.ezcrm-finance-tools{align-items:stretch;flex-direction:column}.ezcrm-finance-tools .ezcrm-finance-search{width:100%}}

/* v0.10.3 – compact monthly finance summary */
.ezcrm-month-finance-bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.85fr);gap:18px;margin-top:18px;align-items:stretch}
.ezcrm-month-finance-bottom .ezcrm-month-cash-strip{margin-top:0;height:100%;box-sizing:border-box}
.ezcrm-month-comparison{background:#fff;border:1px solid #e3e5eb;border-radius:16px;padding:20px 22px;min-height:310px;display:flex;flex-direction:column}
.ezcrm-month-bars{height:190px;display:flex;align-items:flex-end;justify-content:center;gap:26px;border-bottom:1px solid #e7e8ec;margin-top:14px;padding:0 30px}
.ezcrm-month-bar-wrap{height:100%;width:min(34%,150px);display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px}
.ezcrm-month-bar{width:100%;min-height:12px;border-radius:8px 8px 2px 2px;display:flex;align-items:center;justify-content:center;padding:8px 4px;box-sizing:border-box;transition:height .25s ease}
.ezcrm-month-bar.income{background:#31c75b}.ezcrm-month-bar.expense{background:#ef4b4b}
.ezcrm-month-bar strong{font-size:18px;color:#111;white-space:nowrap}
.ezcrm-month-bar-wrap>span{font-size:13px;font-weight:700;color:#5f6470;margin-bottom:-28px}
.ezcrm-month-flow{margin-top:38px;border-top:1px solid #eceef2;padding-top:14px;display:flex;justify-content:space-between;align-items:center}.ezcrm-month-flow span{font-weight:700}.ezcrm-month-flow strong{font-size:24px}
@media(max-width:1050px){.ezcrm-month-finance-bottom{grid-template-columns:1fr}.ezcrm-month-comparison{min-height:290px}}
/* v0.12.0 — playful financial snapshot */
.ezcrm-snapshot-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:4px 0 12px}.ezcrm-snapshot-toolbar h2{font-size:30px;margin:2px 0 0;letter-spacing:-.6px}.ezcrm-snapshot-eyebrow{font-size:12px;color:var(--ez-muted);font-weight:700}.ezcrm-view-toggle{display:flex;background:#fff;border:1px solid var(--ez-border);border-radius:999px;padding:4px;gap:3px}.ezcrm-view-toggle button{border:0;background:transparent;border-radius:999px;padding:8px 16px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.ezcrm-view-toggle button.active{background:#17181e;color:#fff}.ezcrm-snapshot-period{margin-bottom:14px}.ezcrm-snapshot-period .ezcrm-finance-controls{margin:0}.ezcrm-snapshot-cards{display:grid;grid-template-columns:1.25fr repeat(3,1fr);gap:12px;margin:12px 0 16px}.ezcrm-snapshot-card{background:#fff;border:1px solid var(--ez-border);border-radius:18px;padding:20px;min-height:118px;display:flex;flex-direction:column;justify-content:center;gap:5px}.ezcrm-snapshot-card span{font-size:13px;color:#5d606a;font-weight:700}.ezcrm-snapshot-card strong{font-size:26px;letter-spacing:-.4px}.ezcrm-snapshot-card small{color:var(--ez-muted)}.ezcrm-snapshot-card.hero{background:#17181e;color:#fff;border-color:#17181e}.ezcrm-snapshot-card.hero span,.ezcrm-snapshot-card.hero small{color:#d8d9df}.ezcrm-snapshot-card.hero strong{font-size:34px}.ezcrm-snapshot-card.hero em{font-style:normal;font-size:12px;color:#fff}.ezcrm-snapshot-card.credit{background:linear-gradient(145deg,#fff,#f7f7fa)}.ezcrm-snapshot-card.credit button{border:0;background:none;text-decoration:underline;cursor:pointer;color:inherit;font:inherit;padding:0}.ezcrm-month-cash-strip{display:grid!important;grid-template-columns:1.35fr repeat(4,1fr)!important;gap:10px!important;padding:14px!important;height:auto!important;min-height:0!important}.ezcrm-month-cash-title,.ezcrm-month-cash-strip>button{min-height:92px!important;border-radius:14px!important;padding:14px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;overflow:visible!important}.ezcrm-month-cash-title strong,.ezcrm-month-cash-strip>button strong{font-size:22px!important;line-height:1.2!important;writing-mode:horizontal-tb!important;transform:none!important}.ezcrm-month-cash-title span{white-space:normal!important;font-size:11px!important}.ezcrm-month-cash-strip>button small{font-size:11px!important}.ezcrm-month-comparison{min-height:340px}.ezcrm-month-bars{height:220px!important}.ezcrm-month-bar strong{writing-mode:horizontal-tb!important;transform:none!important;rotate:none!important;white-space:nowrap!important}.ezcrm-finance-tabs button[data-finance-nav="finance"]{min-width:92px}
@media(max-width:1100px){.ezcrm-snapshot-cards{grid-template-columns:1fr 1fr}.ezcrm-month-cash-strip{grid-template-columns:1fr 1fr!important}}@media(max-width:700px){.ezcrm-snapshot-toolbar{align-items:flex-start;flex-direction:column}.ezcrm-snapshot-cards{grid-template-columns:1fr}.ezcrm-month-cash-strip{grid-template-columns:1fr!important}}
/* v0.15 unified project billing */
.ezcrm-guarantee-note{grid-column:1/-1;background:#f6f7f9;border:1px solid #e7e9ee;border-radius:14px;padding:12px 14px;font-size:13px;line-height:1.6;color:#646874;margin-top:10px}.ezcrm-guarantee-note strong{color:#25272d}.ezcrm-collection-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.ezcrm-payment-history-row .ezcrm-history-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}@media(max-width:760px){.ezcrm-collection-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* v0.16 compact dynamic project UX */
.ezcrm-modal{max-width:920px}.ezcrm-edit-section.compact-section{padding:14px 16px}.ezcrm-edit-section.compact-section .ezcrm-edit-section-head{margin-bottom:10px}.ezcrm-form-grid{gap:10px 12px}.ezcrm-field label{font-size:12px}.ezcrm-field input,.ezcrm-field select,.ezcrm-field textarea{min-height:40px;padding:8px 10px;font-size:14px}.ezcrm-mode-picker{display:flex;gap:8px;flex-wrap:wrap}.ezcrm-mode-radio{display:inline-flex;cursor:pointer}.ezcrm-mode-radio input{position:absolute;opacity:0;pointer-events:none}.ezcrm-mode-radio span{border:1px solid #dfe3e8;border-radius:10px;padding:9px 13px;font-size:13px;font-weight:600;background:#fff;transition:.15s}.ezcrm-mode-radio.active span{background:#17191c;color:#fff;border-color:#17191c}.ezcrm-dynamic-project-fields{margin-top:12px}.ezcrm-project-preview{margin-top:10px;border-radius:12px;background:#f6f7f8;padding:10px 12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ezcrm-project-preview strong{font-size:18px}.ezcrm-project-preview small{color:#737b84}.ezcrm-choice-line{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:10px;font-size:13px}.ezcrm-project-more summary{cursor:pointer;list-style:none}.ezcrm-project-more summary::-webkit-details-marker{display:none}.ezcrm-project-more[open] summary{margin-bottom:12px}.ezcrm-calendar-filters{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 12px}.ezcrm-calendar-filters button{border:1px solid #e1e4e8;background:#fff;border-radius:999px;padding:7px 11px;font-size:12px;cursor:pointer}.ezcrm-calendar-filters button.active{background:#17191c;color:#fff;border-color:#17191c}.ezcrm-task-actionable{gap:8px}.ezcrm-task-quick{margin-inline-start:auto;display:flex;gap:5px}.ezcrm-task-quick button{border:1px solid #e1e4e8;background:#fff;border-radius:8px;min-width:34px;height:32px;cursor:pointer;font-size:11px;font-weight:700}.ezcrm-cal-item.payment_reminder{border-inline-start:3px solid #e5a22b}.ezcrm-cal-item.invoice{border-inline-start:3px solid #6d7c91}
@media(max-width:700px){.ezcrm-mode-picker{display:grid;grid-template-columns:1fr 1fr}.ezcrm-mode-radio span{width:100%;text-align:center}.ezcrm-form-grid{grid-template-columns:1fr 1fr}.ezcrm-modal{width:min(96vw,920px)}}

/* v0.16.1 — compact invoice/receipt follow-up question */
.ezcrm-invoice-question{max-width:560px}
.ezcrm-invoice-question-body{padding-top:4px}
.ezcrm-invoice-payment-summary{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--ezcrm-border,#e8e8e8);border-radius:14px;background:#fafafa;margin:8px 0 16px}
.ezcrm-invoice-payment-summary>span{font-size:24px}
.ezcrm-invoice-payment-summary div{display:flex;flex-direction:column;gap:3px}
.ezcrm-invoice-payment-summary small{color:#707070}
.ezcrm-invoice-choice-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ezcrm-invoice-choice-actions .ezcrm-btn{min-height:44px;white-space:normal;line-height:1.35}
@media(max-width:680px){.ezcrm-invoice-choice-actions{grid-template-columns:1fr}}

/* v0.16.2 — compact hourly workflow */
.ezcrm-hourly-explain{display:flex;flex-direction:column;gap:3px;padding:11px 13px;margin:4px 0 14px;background:#f6f7f9;border:1px solid #e8e9ed;border-radius:12px;font-size:13px}.ezcrm-hourly-explain span{font-size:12px;color:#747781}.ezcrm-check-card{display:flex!important;align-items:flex-start;gap:10px;padding:11px 13px;border:1px solid #e2e4e9;border-radius:12px;background:#fff;cursor:pointer}.ezcrm-check-card input{margin-top:3px}.ezcrm-check-card span{display:flex;flex-direction:column;gap:2px}.ezcrm-check-card small{font-size:11px;color:#777b85;font-weight:400}.ezcrm-project-more summary{cursor:pointer;padding:2px 0}.ezcrm-project-more[open] summary{margin-bottom:14px}.ezcrm-modal .ezcrm-form-grid{gap:11px 12px}.ezcrm-modal .ezcrm-field label{font-size:12px}.ezcrm-modal .ezcrm-field input,.ezcrm-modal .ezcrm-field select,.ezcrm-modal .ezcrm-field textarea{font-size:13px}.ezcrm-project-billing[hidden]{display:none!important}

.ezcrm-inline-schedule{margin-top:14px;border:1px solid #e4e6eb;background:#fff;border-radius:14px;padding:13px}.ezcrm-inline-schedule[hidden]{display:none!important}.ezcrm-inline-schedule-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.ezcrm-inline-schedule-head strong{display:block;font-size:14px}.ezcrm-inline-schedule-head small{display:block;color:#7b808a;font-size:11px;margin-top:2px}.ezcrm-milestone-row{border-top:1px solid #eceef1;padding:10px 0}.ezcrm-milestone-row:first-child{border-top:0}.ezcrm-ms-main{display:grid;grid-template-columns:1.25fr .8fr 1fr 34px;gap:8px;align-items:center}.ezcrm-ms-main input,.ezcrm-ms-more input,.ezcrm-ms-more select{width:100%;min-height:36px;border:1px solid #dfe2e8;border-radius:9px;background:#fff;padding:7px 9px;font-size:12px}.ezcrm-ms-more{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:7px}.ezcrm-ms-more label{font-size:10px;color:#7b808a}.ezcrm-ms-more label>input,.ezcrm-ms-more label>select,.ezcrm-ms-more label>span{display:block;margin-top:3px}.ezcrm-ms-more span{display:flex;align-items:center;gap:5px}.ezcrm-ms-more span input{max-width:70px}.ezcrm-inline-schedule-total{display:flex;align-items:baseline;gap:8px;border-top:1px solid #eceef1;padding-top:10px;margin-top:4px}.ezcrm-inline-schedule-total span{font-size:11px;color:#7b808a}.ezcrm-inline-schedule-total strong{font-size:16px}.ezcrm-inline-schedule-total small{margin-inline-start:auto;color:#7b808a;font-size:11px}@media(max-width:700px){.ezcrm-ms-main{grid-template-columns:1fr 1fr}.ezcrm-ms-more{grid-template-columns:1fr}.ezcrm-inline-schedule-head{align-items:flex-start}}

/* v0.16.5 quick paid action */
.ezcrm-mini-paid{border:1px solid #bfe7cb;background:#eefaf1;color:#17763a;border-radius:9px;padding:6px 10px;font:inherit;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}.ezcrm-mini-paid:hover{background:#e1f6e7}.ezcrm-history-actions{gap:7px;flex-wrap:wrap}
