:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#17251f;background:#f5f7f5;font-size:16px;font-synthesis:none;text-rendering:optimizeLegibility;--green:#18795b;--green-dark:#0e6147;--mint:#e6f4ec;--ink:#17251f;--muted:#748078;--line:#e5ebe6;--surface:#fff;--canvas:#f5f7f5;--red:#bc4742;--shadow:0 8px 28px rgba(22,46,35,.06)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--canvas)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.boot{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:14px;color:var(--muted)}.spinner{width:26px;height:26px;border:3px solid #dfe8e1;border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#f4f7f4}.login-visual{background:linear-gradient(145deg,#0d4939,#18795b 64%,#57a579);padding:64px;display:flex;flex-direction:column;justify-content:space-between;color:#f5fff8;position:relative;overflow:hidden}.login-visual:after{content:"";position:absolute;width:500px;height:500px;border:1px solid #ffffff25;border-radius:50%;right:-160px;bottom:-160px;box-shadow:0 0 0 50px #ffffff0c,0 0 0 100px #ffffff0a}.brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:18px;letter-spacing:.01em}.brand-mark{width:38px;height:38px;border-radius:12px;background:#e3f5e9;color:#146648;display:grid;place-items:center;font-weight:800}.hero-copy{max-width:510px;position:relative;z-index:1}.hero-copy .eyebrow{color:#bfe5ce;font-size:12px;font-weight:700;letter-spacing:.18em}.hero-copy h1{font-size:clamp(34px,4vw,56px);line-height:1.18;letter-spacing:-.04em;margin:22px 0 18px}.hero-copy p{color:#d5eadc;line-height:1.8;max-width:440px}.login-foot{font-size:12px;color:#c2ddcb}.login-panel{display:flex;align-items:center;justify-content:center;padding:36px}.login-card{width:min(410px,100%)}.login-card h2{font-size:29px;letter-spacing:-.03em;margin:0 0 8px}.subtle{color:var(--muted)}.login-card .subtle{margin:0 0 32px}.field{display:grid;gap:8px;margin:0 0 18px}.field label,.field-label{font-size:13px;font-weight:650;color:#38473e}.field input,.field select,.field textarea{width:100%;padding:11px 12px;border:1px solid #dbe4dc;border-radius:9px;background:#fff;color:var(--ink);outline:none}.field input:focus,.field select:focus,.field textarea:focus,.search-input:focus{border-color:#65ab89;box-shadow:0 0 0 3px #d7efe1}.field textarea{min-height:82px;resize:vertical}.primary,.secondary,.ghost,.danger{border:0;border-radius:9px;padding:10px 15px;font-weight:650;transition:.16s ease}.primary{background:var(--green);color:#fff}.primary:hover{background:var(--green-dark)}.secondary{background:var(--mint);color:var(--green-dark)}.secondary:hover{background:#d7eddf}.ghost{background:#fff;border:1px solid var(--line);color:#33433a}.ghost:hover{border-color:#adc9b6;background:#f9fcfa}.danger{background:#fff0ef;color:var(--red)}.full{width:100%;padding:13px}.login-error{color:var(--red);font-size:13px;min-height:20px;margin:5px 0 12px}.shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{height:100vh;position:sticky;top:0;display:flex;flex-direction:column;background:#fff;border-right:1px solid var(--line);padding:22px 14px 16px;z-index:10}.side-brand{padding:3px 9px 22px;display:flex;align-items:center;gap:11px;font-weight:750}.side-brand .brand-mark{width:35px;height:35px}.side-brand small{display:block;color:#829087;font-size:10px;font-weight:500;margin-top:2px}.side-nav{overflow:auto;flex:1;padding-right:2px}.nav-group{margin:10px 0 16px}.nav-caption{padding:8px 11px;color:#9aa49d;font-size:10px;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.nav-item{width:100%;display:flex;align-items:center;gap:11px;text-align:left;padding:10px 11px;margin:2px 0;border-radius:8px;border:0;background:transparent;color:#55635a;font-size:13px}.nav-item:hover{background:#f4f8f4;color:#174f39}.nav-item.active{background:#e9f5ed;color:#116344;font-weight:700}.nav-icon{width:20px;text-align:center;font-size:15px;opacity:.8}.sidebar-bottom{padding-top:12px;border-top:1px solid var(--line)}.user-mini{display:flex;gap:10px;align-items:center;padding:11px 8px 2px}.avatar{width:33px;height:33px;border-radius:50%;display:grid;place-items:center;background:#e8f3eb;color:#1a6948;font-size:12px;font-weight:750}.user-meta{min-width:0;flex:1}.user-meta strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-meta small{display:block;font-size:10px;color:#869188;margin-top:3px}.icon-button{border:0;background:transparent;color:#78857b;border-radius:7px;padding:7px}.icon-button:hover{background:#f1f5f1}.main{min-width:0}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:5}.crumb{font-size:13px;color:#89948c}.crumb strong{color:#27372e;font-size:14px;margin-left:8px}.top-actions{display:flex;align-items:center;gap:11px}.date-pill{border:1px solid var(--line);border-radius:99px;padding:7px 11px;color:#66756b;font-size:11px}.content{padding:30px 34px 52px;max-width:1580px;margin:auto}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:0 0 24px}.page-heading h1{font-size:25px;letter-spacing:-.03em;margin:0 0 7px}.page-heading p{margin:0;font-size:13px;color:var(--muted)}.heading-actions{display:flex;gap:9px;align-items:center}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.stat-card,.card{background:#fff;border:1px solid #e9eee9;border-radius:12px;box-shadow:0 2px 10px #22362905}.stat-card{padding:18px 19px}.stat-top{display:flex;justify-content:space-between;align-items:center;color:#6f7c73;font-size:12px}.stat-icon{width:31px;height:31px;background:#eff7f0;color:#35825f;border-radius:9px;display:grid;place-items:center}.stat-value{font-size:25px;font-weight:750;letter-spacing:-.035em;margin:13px 0 5px}.stat-note{font-size:11px;color:#8c978f}.dash-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:16px}.card{padding:20px}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:17px}.card-heading h3{font-size:14px;margin:0}.card-heading p{font-size:11px;color:var(--muted);margin:5px 0 0}.link-button{background:none;border:0;color:var(--green);font-size:12px;font-weight:650}.activity-list{display:grid}.activity-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #eff2ef}.activity-row:last-child{border-bottom:0}.activity-dot{width:8px;height:8px;border-radius:50%;background:#58a47b;box-shadow:0 0 0 4px #e8f4ec}.activity-text{flex:1;min-width:0;font-size:12px}.activity-text strong{font-weight:650}.activity-text small{display:block;color:#8a958d;margin-top:4px;font-size:10px}.activity-time{color:#89948c;font-size:10px;white-space:nowrap}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-tile{border:1px solid var(--line);border-radius:9px;padding:13px;text-align:left;background:#fff;transition:.15s}.quick-tile:hover{border-color:#a9ccb6;background:#fbfefc;transform:translateY(-1px)}.quick-tile span{display:block;font-size:17px;margin-bottom:11px}.quick-tile strong{font-size:12px}.quick-tile small{display:block;color:#89948c;margin-top:5px;font-size:10px}.toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:14px}.search-input{border:1px solid #e0e7e1;border-radius:8px;padding:9px 11px;min-width:230px;background:#fff;outline:none;font-size:12px}.filter-select{border:1px solid #e0e7e1;border-radius:8px;padding:9px 11px;background:#fff;color:#526056;font-size:12px}.toolbar-spacer{flex:1}.result-count{color:#8a948d;font-size:11px;margin-right:4px}.table-card{overflow:hidden}.table-scroll{overflow:auto;max-height:calc(100vh - 285px);min-height:180px}.data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px;white-space:nowrap}.data-table thead{position:sticky;top:0;z-index:2}.data-table th{background:#f8faf8;color:#768279;font-size:10px;font-weight:700;text-align:left;letter-spacing:.02em;border-bottom:1px solid var(--line);padding:12px 14px}.data-table td{padding:12px 14px;border-bottom:1px solid #f0f3f0;color:#425148;max-width:240px;overflow:hidden;text-overflow:ellipsis}.data-table tbody tr:hover{background:#fbfdfb}.data-table tbody tr:last-child td{border-bottom:0}.cell-primary{font-weight:650;color:#25362c}.status{display:inline-flex;align-items:center;gap:5px;border-radius:99px;padding:4px 8px;font-size:10px;background:#edf5ee;color:#337150}.status:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.status.warn{background:#fff5e7;color:#a46a16}.status.bad{background:#fff0ef;color:#b94a44}.row-action{border:0;background:#f1f6f2;border-radius:6px;padding:5px 8px;color:#317050;font-size:10px}.empty{padding:48px 20px;text-align:center;color:#88948b}.empty-icon{font-size:26px;margin-bottom:10px}.empty strong{display:block;color:#46544a;font-size:13px}.empty p{font-size:11px;margin:7px 0 0}.recon-banner{padding:17px 18px;border-radius:11px;display:flex;align-items:center;gap:13px;margin-bottom:14px;background:#eaf5ed;color:#276747}.recon-banner.warn{background:#fff3e4;color:#99601c}.recon-banner strong{display:block;font-size:13px}.recon-banner small{display:block;margin-top:4px;opacity:.83}.recon-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}.recon-check{padding:18px}.recon-check h3{font-size:13px;margin:0 0 14px}.recon-numbers{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:8px}.recon-numbers div{min-width:0}.recon-numbers small{display:block;color:#88938b;font-size:10px;margin-bottom:5px}.recon-numbers strong{font-size:15px}.recon-equal{color:#a0aaa2}.diff{font-weight:750}.diff.good{color:#278052}.diff.bad{color:#ba574b}.settings-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px}.settings-menu{padding:9px}.settings-tab{display:block;width:100%;text-align:left;border:0;border-radius:7px;padding:11px;background:#fff;color:#617066;font-size:12px}.settings-tab.active{background:#edf6ef;color:#146444;font-weight:700}.settings-content{padding:24px}.settings-content h2{font-size:16px;margin:0 0 5px}.settings-content>p{margin:0 0 23px;font-size:12px;color:#829087}.settings-row{padding:17px 0;border-top:1px solid #edf1ed;display:grid;grid-template-columns:1fr 220px;align-items:center;gap:20px}.settings-row strong{font-size:12px}.settings-row small{display:block;font-size:10px;color:#89958c;margin-top:5px}.settings-row select,.settings-row input{padding:9px;border:1px solid var(--line);border-radius:7px;background:#fff}.user-table{width:100%;border-collapse:collapse}.user-table td,.user-table th{padding:11px;text-align:left;border-bottom:1px solid var(--line);font-size:11px}.user-table th{color:#879189;background:#fafbfa}.modal-backdrop{position:fixed;inset:0;background:#14251d75;z-index:30;display:grid;place-items:center;padding:20px;backdrop-filter:blur(2px)}.modal{width:min(690px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:15px;box-shadow:0 20px 70px #10281c38}.modal.wide{width:min(1060px,100%)}.modal-head{padding:20px 23px;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between}.modal-head h2{font-size:17px;margin:0 0 5px}.modal-head p{font-size:11px;color:#879188;margin:0}.modal-body{padding:22px 23px}.modal-foot{padding:15px 23px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.form-grid .field.full-width{grid-column:1/-1}.modal-x{border:0;background:transparent;color:#8b968e;font-size:20px}.file-list{display:grid;gap:8px;margin:14px 0}.file-row{display:flex;align-items:center;gap:10px;padding:9px;border:1px solid var(--line);border-radius:8px;font-size:11px}.file-row a{color:var(--green);text-decoration:none}.file-row small{color:#97a099;margin-left:auto}.drop-zone{padding:13px;border:1px dashed #b5ccbb;border-radius:8px;background:#fbfdfb;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px;color:#7c897f}.drop-zone input{max-width:220px;font-size:10px}.toast{position:fixed;bottom:24px;right:24px;z-index:100;background:#183d2c;color:#fff;padding:11px 15px;border-radius:9px;font-size:12px;box-shadow:var(--shadow);opacity:0;transform:translateY(8px);pointer-events:none;transition:.22s}.toast.show{opacity:1;transform:translateY(0)}.error-text{font-size:12px;color:var(--red)}.secret-cell{letter-spacing:.08em;color:#7b867d}.mobile-menu{display:none}
@media(max-width:1100px){.shell{grid-template-columns:218px minmax(0,1fr)}.stats{grid-template-columns:repeat(2,1fr)}.content{padding:25px 22px}.topbar{padding:0 23px}.data-table th,.data-table td{padding:10px 11px}}
@media(max-width:760px){.login-wrap{grid-template-columns:1fr}.login-visual{display:none}.login-panel{min-height:100vh;padding:25px}.shell{display:block}.sidebar{position:fixed;top:0;bottom:0;left:-270px;width:250px;height:100vh;box-shadow:var(--shadow);transition:left .2s}.sidebar.open{left:0}.mobile-menu{display:inline-flex}.topbar{height:60px;padding:0 15px}.content{padding:22px 14px 40px}.page-heading{align-items:flex-start}.page-heading h1{font-size:22px}.page-heading p{max-width:240px;line-height:1.5}.heading-actions .secondary{display:none}.stats{gap:9px}.stat-card{padding:14px}.stat-value{font-size:21px}.dash-grid,.recon-grid{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}.settings-menu{display:flex;overflow:auto}.settings-tab{white-space:nowrap;width:auto}.settings-content{padding:17px}.settings-row{grid-template-columns:1fr;gap:10px}.settings-row select,.settings-row input{width:100%}.toolbar{gap:7px}.search-input{min-width:0;flex:1}.toolbar-spacer{display:none}.toolbar .primary,.toolbar .ghost{font-size:11px;padding:9px}.table-scroll{max-height:calc(100vh - 320px)}.modal-backdrop{padding:10px}.modal{max-height:94vh}.form-grid{grid-template-columns:1fr}.form-grid .field.full-width{grid-column:auto}.modal-body{padding:17px}.date-pill{display:none}}

.mmp-toolbar{align-items:flex-end;gap:10px}.mmp-filter{display:grid;gap:4px;min-width:145px;flex:1;color:#647167;font-size:10px;font-weight:650}.mmp-filter input{width:100%;height:36px;padding:8px 10px;border:1px solid #e0e7e1;border-radius:8px;background:#fff;color:var(--ink);font-size:12px;outline:none}.mmp-filter input:focus{border-color:#65ab89;box-shadow:0 0 0 3px #d7efe1}.data-table th.sortable{cursor:pointer;user-select:none}.data-table th.sortable:hover{color:var(--green-dark);background:#eef6f0}
.invoice-page-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:-8px 0 16px}.invoice-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 15px;border:1px solid var(--line);border-bottom:0;border-radius:12px 12px 0 0;background:#fff;color:#66736a;font-size:12px;font-weight:650}.invoice-action-buttons{display:flex;gap:8px}.invoice-paper{width:min(100%,1000px);min-width:760px;margin:0 auto 22px;padding:50px 64px 40px;background:#fff;border:1px solid #e4e9e4;border-radius:0 0 12px 12px;box-shadow:0 8px 30px rgba(22,46,35,.07);color:#202722;font-family:Arial,"Microsoft YaHei",sans-serif}.invoice-heading{display:grid;grid-template-columns:90px 1fr 225px;align-items:center;gap:18px;padding-bottom:21px;border-bottom:1px solid #d9ded9}.invoice-logo{width:78px;height:78px;object-fit:contain}.invoice-heading h1{font-size:32px;font-weight:500;letter-spacing:.05em;margin:0}.invoice-number{display:grid;gap:6px}.invoice-number label,.invoice-date strong{font-size:12px;font-weight:700;letter-spacing:.04em}.invoice-paper input,.invoice-paper textarea{width:100%;padding:7px 8px;border:1px solid transparent;border-bottom-color:#d8e0d9;border-radius:0;background:#fbfcfb;font:inherit;color:#202722;outline:none}.invoice-paper input:focus,.invoice-paper textarea:focus{border-color:#65ab89;background:#f7fcf8;box-shadow:0 0 0 2px #d7efe1}.invoice-meta{display:grid;grid-template-columns:1fr 225px;gap:35px;padding:25px 0 18px}.invoice-from strong,.invoice-billto>strong{font-size:12px;letter-spacing:.04em}.invoice-from p{font-size:12px;line-height:1.5;margin:6px 0;color:#343b36}.invoice-date{display:grid;align-content:start;gap:8px}.invoice-billto{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7px 18px;padding:12px 0 25px}.invoice-billto>strong{grid-column:1/-1}.invoice-billto>input{grid-column:1/-1;font-weight:650}.invoice-bill-fields{grid-column:1/-1;display:grid;gap:8px}.invoice-bill-fields label{font-size:10px;color:#728076}.invoice-bill-fields input,.invoice-bill-fields textarea{margin-top:4px;font-size:12px}.invoice-bill-fields textarea{min-height:55px;resize:vertical;line-height:1.5}.invoice-lines{width:100%;border-collapse:collapse;margin:8px 0 23px;font-size:12px}.invoice-lines th{background:#eef2ee;text-align:left;font-size:11px;letter-spacing:.02em;padding:12px 10px;border-top:1px solid #d9dfda;border-bottom:1px solid #d9dfda}.invoice-lines td{padding:11px 10px;border-bottom:1px solid #e1e6e1;vertical-align:top}.invoice-lines th:first-child,.invoice-lines td:first-child{width:44%}.invoice-lines th:nth-child(2),.invoice-lines td:nth-child(2){width:36%}.invoice-lines input{font-size:12px}.invoice-lines small{display:block;margin-top:5px;color:#67756b;font-size:10px}.invoice-lines .invoice-total td{font-weight:700;border-bottom:0;padding-top:16px}.invoice-lines .invoice-total td:nth-child(2){text-align:right}.invoice-signature{position:relative;min-height:118px;padding-top:8px;font-size:11px;font-weight:650}.invoice-signature img{position:absolute;right:25%;top:4px;width:90px;height:90px;object-fit:contain;opacity:.74}.invoice-payment{padding-top:12px;border-top:1px solid #e3e8e3}.invoice-payment>p{font-size:11px;margin:0 0 9px}.invoice-account{display:grid;grid-template-columns:130px minmax(220px,1fr);align-items:center;gap:10px;font-size:11px;font-weight:650}.invoice-account input{max-width:420px;font-weight:400}.invoice-payment pre{min-height:112px;margin:9px 0 0;padding:0 0 0 140px;white-space:pre-wrap;font:11px/1.55 Arial,"Microsoft YaHei",sans-serif;color:#39443c}.invoice-thanks{text-align:center;padding-top:15px;font-size:12px;font-weight:650}.saved-invoices{margin-top:18px;padding:20px}.invoice-list-scroll{overflow:auto}.invoice-list-scroll .user-table{min-width:740px}.invoice-list-scroll .user-table td,.invoice-list-scroll .user-table th{white-space:nowrap}.invoice-list-scroll .user-table td:nth-child(2){max-width:240px;overflow:hidden;text-overflow:ellipsis}
@media(max-width:900px){.invoice-paper{padding:36px 32px}.invoice-heading{grid-template-columns:68px 1fr 185px}.invoice-logo{width:62px;height:62px}.invoice-meta{grid-template-columns:1fr 185px}.mmp-filter{min-width:130px}}
@media(max-width:600px){.invoice-page-actions{align-items:flex-start;flex-direction:column}.invoice-paper{padding:25px 22px}.invoice-heading{grid-template-columns:55px 1fr 150px;gap:10px}.invoice-logo{width:50px;height:50px}.invoice-heading h1{font-size:25px}.invoice-meta{grid-template-columns:1fr 150px;gap:15px}.invoice-account{grid-template-columns:1fr}.invoice-payment pre{padding-left:0}.invoice-signature img{right:12%}.mmp-toolbar .mmp-filter{min-width:calc(50% - 10px)}}
@media(max-width:900px){.invoice-paper{min-width:0;padding:25px 22px}.invoice-heading{grid-template-columns:54px minmax(60px,1fr) minmax(128px,180px);gap:10px}.invoice-logo{width:48px;height:48px}.invoice-heading h1{font-size:25px}.invoice-meta{grid-template-columns:minmax(0,1fr) minmax(130px,180px);gap:14px}.invoice-from p{font-size:10px}.invoice-lines{font-size:10px}.invoice-lines th{font-size:9px;padding:9px 6px}.invoice-lines td{padding:8px 6px}.invoice-lines th:first-child,.invoice-lines td:first-child{width:36%}.invoice-lines th:nth-child(2),.invoice-lines td:nth-child(2){width:40%}}
@media(max-width:600px){.invoice-paper{padding:22px 15px}.invoice-heading{grid-template-columns:42px minmax(50px,1fr) minmax(118px,142px);gap:8px}.invoice-logo{width:40px;height:40px}.invoice-heading h1{font-size:20px}.invoice-number label,.invoice-date strong{font-size:9px}.invoice-meta{grid-template-columns:minmax(0,1fr) 135px;gap:10px}.invoice-from p{font-size:9px}.invoice-lines th:first-child,.invoice-lines td:first-child{width:31%}.invoice-lines th:nth-child(2),.invoice-lines td:nth-child(2){width:43%}.invoice-lines td{font-size:9px}.invoice-lines input{padding:5px 3px;font-size:10px}.invoice-signature img{right:8%;width:75px;height:75px}}
.sidebar{position:sticky}.sidebar-resizer{position:absolute;top:0;right:-4px;width:8px;height:100%;cursor:col-resize;z-index:20;touch-action:none}.sidebar-resizer:hover,.sidebar-resizer:active{background:#18795b55}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.totals-row th{position:sticky;bottom:0;background:#edf6ef;color:#145d3e;border-top:2px solid #bdd9c6;font-size:11px;padding:11px 14px}.pid-row{display:flex;gap:9px;margin-bottom:9px}.pid-row input{flex:1;padding:10px;border:1px solid var(--line);border-radius:8px}.pid-value{width:92px;padding:6px;border:1px solid var(--line);border-radius:5px;background:#fafcfa}.new-grid-row{background:#f5fbf6}.new-grid-row td{vertical-align:top}.new-grid-row input[readonly]{background:#eef2ef;color:#657168}@media(max-width:760px){.sidebar-resizer{display:none}}
.geo-control{display:flex;gap:8px}.geo-control input{flex:1}.geo-options-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:55vh;overflow:auto}.geo-option{display:grid;grid-template-columns:42px 1fr 70px;gap:8px;align-items:center;text-align:left;padding:9px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);font-size:11px}.geo-option:hover{border-color:#72ad89;background:#f5fbf6}.geo-option[hidden]{display:none}.geo-option strong{color:var(--green)}@media(max-width:600px){.geo-options-list{grid-template-columns:1fr}.settings-row input[type=range]{width:100%}}
.range-filter{display:grid;gap:6px;min-width:280px;padding:7px 10px;border:1px solid #dfe7e0;border-radius:8px;background:#fff;color:#69766d;font-size:11px}.range-controls{display:flex;align-items:center;gap:7px}.range-controls input{min-width:0;flex:1;border:1px solid #e0e7e1;border-radius:6px;padding:7px 8px;color:var(--ink);font-size:11px}.range-controls i{font-style:normal;color:#8b968d}.prt-multi{border:1px solid #dbe4dc;border-radius:9px;padding:7px;display:flex;flex-wrap:wrap;gap:6px;background:#fff}.prt-tags{display:contents}.prt-tag{display:inline-flex;align-items:center;gap:6px;background:#eaf5ed;color:#205d3d;border-radius:99px;padding:5px 8px;font-size:11px}.prt-tag button{border:0;background:transparent;color:#52725e;font-weight:700;padding:0 2px}.prt-entry{flex:1;min-width:180px;border:0!important;outline:none!important;box-shadow:none!important;padding:7px!important}.profit-live{display:flex;align-items:center;min-height:42px;padding:10px 12px;border-radius:8px;background:#eef7f0;color:#145d3e;font-variant-numeric:tabular-nums}.profit-live-value{font-size:15px}.mmp-toolbar .range-filter{min-width:300px}@media(max-width:760px){.range-filter{min-width:100%;width:100%}.range-controls input{min-height:37px}}
.invoice-workspace{display:grid;grid-template-columns:minmax(300px,355px) minmax(0,1fr);gap:16px;align-items:start}.invoice-form-panel{display:grid;gap:12px;padding:18px;background:#fff;border:1px solid #e6ece7;border-radius:12px;box-shadow:0 2px 10px #22362905}.invoice-form-heading{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid var(--line);color:var(--ink)}.invoice-form-heading small{color:var(--muted);font-size:10px}.invoice-field{display:grid;gap:5px;color:#49564d;font-size:11px;font-weight:650}.invoice-field input,.invoice-field textarea{width:100%;padding:9px 10px;border:1px solid #dbe4dc;border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-weight:400;outline:none}.invoice-field textarea{min-height:65px;resize:vertical;line-height:1.5}.invoice-field input:focus,.invoice-field textarea:focus{border-color:#65ab89;box-shadow:0 0 0 3px #d7efe1}.invoice-field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.invoice-account-hint{padding:10px 11px;background:#f5f9f5;border:1px solid #e3ece4;border-radius:8px}.invoice-account-hint strong{font-size:10px;color:#526358}.invoice-account-hint pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0 0;color:#69776d;font:10px/1.55 Arial,sans-serif}.invoice-advanced{display:grid;gap:11px;padding:10px;border:1px solid #e5ebe6;border-radius:8px}.invoice-advanced summary{cursor:pointer;color:#345c43;font-size:11px;font-weight:700}.invoice-preview-column{position:sticky;top:82px;align-self:start;max-height:calc(100vh - 100px);overflow:auto;padding:12px;background:#edf1ed;border:1px solid #e1e8e2;border-radius:12px}.invoice-preview-heading{display:flex;justify-content:space-between;align-items:center;margin:0 3px 10px;color:#38483d;font-size:12px}.invoice-preview-heading span{color:#849087;font-size:10px}.invoice-preview-paper{width:100%;max-width:794px;min-width:0!important;min-height:0;margin:0 auto;padding:34px 42px;border-radius:4px;box-shadow:0 4px 16px #1f30221c}.invoice-preview-paper .invoice-client-title{grid-column:1/-1;padding:4px 0;font-weight:700}.invoice-preview-paper .invoice-client-address{grid-column:1/-1;white-space:pre-line;font-size:12px;line-height:1.5;color:#343b36}.invoice-preview-paper .invoice-billto{display:grid;grid-template-columns:1fr 1fr;gap:7px 18px;padding:12px 0 25px}.invoice-preview-paper .invoice-billto>strong{grid-column:1/-1}.invoice-preview-paper .invoice-account{display:grid;grid-template-columns:130px minmax(0,1fr);align-items:center;gap:10px;font-size:11px}.invoice-preview-paper .invoice-payment pre{min-height:80px;padding-left:140px}.invoice-preview-paper .invoice-date span{padding:7px 0;font-size:12px}.invoice-preview-paper .invoice-meta{grid-template-columns:1fr 180px;gap:20px}.invoice-actions{position:sticky;top:68px;z-index:4}.invoice-preview-paper .invoice-from p:last-child{white-space:pre-line}@media(max-width:1100px){.invoice-workspace{grid-template-columns:minmax(270px,320px) minmax(0,1fr);gap:10px}.invoice-preview-column{padding:8px}.invoice-preview-paper{padding:25px 24px}.invoice-preview-paper .invoice-meta{grid-template-columns:minmax(0,1fr) 145px;gap:12px}.invoice-preview-paper .invoice-heading{grid-template-columns:52px minmax(45px,1fr) 120px;gap:8px}.invoice-preview-paper .invoice-logo{width:46px;height:46px}.invoice-preview-paper .invoice-heading h1{font-size:23px}.invoice-preview-paper .invoice-payment pre{padding-left:0}.invoice-preview-paper .invoice-account{grid-template-columns:1fr}}@media(max-width:900px){.invoice-workspace{grid-template-columns:1fr}.invoice-preview-column{position:static;max-height:none;overflow:visible}.invoice-preview-paper{max-width:680px}.invoice-actions{position:static;flex-wrap:wrap}.invoice-action-buttons{flex-wrap:wrap}}@media(max-width:520px){.invoice-form-panel{padding:13px}.invoice-field-row{grid-template-columns:1fr}.invoice-preview-paper{padding:22px 14px}.invoice-preview-paper .invoice-heading{grid-template-columns:42px minmax(40px,1fr) 112px}.invoice-preview-paper .invoice-meta{grid-template-columns:minmax(0,1fr) 120px;gap:8px}.invoice-preview-paper .invoice-from p{font-size:9px}.invoice-preview-paper .invoice-lines th,.invoice-preview-paper .invoice-lines td{padding:7px 4px;font-size:9px}}

.invoice-items-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:2px 0 -4px;color:#34483a;font-size:11px}.invoice-items-heading strong:last-child{color:#18795b}.invoice-item-editor{display:grid;grid-template-columns:minmax(100px,.9fr) minmax(82px,.72fr) 88px 26px;gap:6px;align-items:end;padding:7px 0;border-bottom:1px solid #edf1ed}.invoice-item-editor label{display:grid;gap:4px;color:#69766d;font-size:10px}.invoice-item-editor input{width:100%;min-width:0;padding:7px 8px;border:1px solid #dbe4dc;border-radius:7px;font:11px inherit;color:var(--ink)}.invoice-item-remove{width:25px;height:30px;border:0;border-radius:7px;background:#fff0ef;color:#bc4742;font-size:17px}.invoice-add-item{justify-self:start;padding:7px 10px;font-size:11px}.invoice-form-panel{gap:8px;padding:14px}.invoice-field textarea{min-height:48px}.invoice-account-hint{padding:7px 9px}.invoice-account-hint pre{max-height:88px;overflow:auto}.invoice-advanced[open]{max-height:220px;overflow:auto}@media(max-width:420px){.invoice-item-editor{grid-template-columns:1fr 1fr}.invoice-item-editor label:nth-child(1){grid-column:1/-1}}

.invoice-preview-paper .invoice-lines td{white-space:pre-line;vertical-align:top}.invoice-preview-paper .invoice-payment pre{white-space:pre-wrap}

.invoice-number-input{display:flex;gap:5px}.invoice-number-input input{min-width:0;flex:1}.invoice-number-input button{padding:7px 9px;white-space:nowrap;font-size:10px}.invoice-link-help{display:block;color:#78877d;font-size:10px;line-height:1.4;margin-top:-5px}
.invoice-signature{height:145px;min-height:145px;margin:0 0 8px;padding:0;position:relative;overflow:hidden;touch-action:none;border:1px dashed transparent}.invoice-signature:hover{border-color:#cfdad0}.invoice-signature-label{position:absolute;left:0;top:5px;z-index:2;background:#fff;padding-right:7px}.invoice-signature-line{position:absolute;left:18%;top:57px;width:42%;border-bottom:1px solid #89928b}.invoice-signature .invoice-stamp{position:absolute;z-index:3;object-fit:contain;opacity:.78;cursor:grab;touch-action:none;user-select:none;-webkit-user-drag:none}.invoice-signature .invoice-stamp:active{cursor:grabbing}.invoice-stamp-control>span{display:flex;align-items:center;gap:8px}.invoice-stamp-control input[type=range]{flex:1;accent-color:#18795b}.invoice-stamp-control b{min-width:38px;color:#18795b;font-variant-numeric:tabular-nums}.invoice-stamp-control small{color:#77867b;font-size:10px;font-weight:400}
@media print{.invoice-signature{border-color:transparent!important}.invoice-signature-line{border-bottom-color:#555}}
.invoice-signature .invoice-stamp{right:auto!important;cursor:grab!important}.invoice-signature .invoice-stamp:active{cursor:grabbing!important}

/* Invoice editor: give data entry priority and keep the live preview compact. */
.invoice-workspace{grid-template-columns:minmax(460px,1.04fr) minmax(360px,.96fr);gap:14px}
.invoice-form-panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px;padding:16px}
.invoice-form-heading,.invoice-number-date-row,.invoice-address-field,.invoice-items-heading,#invoice-item-list,.invoice-link-help,.invoice-add-item,.invoice-account-hint,.invoice-advanced{grid-column:1/-1}
.invoice-client-field,.invoice-title-field,.invoice-account-field,.invoice-stamp-control{grid-column:span 1;min-width:0}
.invoice-preview-column{padding:10px}
.invoice-preview-paper{max-width:620px;padding:25px 28px}
.invoice-preview-paper .invoice-heading{grid-template-columns:54px minmax(0,1fr) 145px;gap:10px;padding-bottom:15px}
.invoice-preview-paper .invoice-logo{width:48px;height:48px}
.invoice-preview-paper .invoice-heading h1{font-size:25px}
.invoice-preview-paper .invoice-meta{grid-template-columns:minmax(0,1fr) 145px;gap:14px;padding:18px 0 13px}
.invoice-preview-paper .invoice-billto{padding:9px 0 17px}
.invoice-preview-paper .invoice-lines{margin:5px 0 16px;font-size:10px}
.invoice-preview-paper .invoice-lines th{padding:8px 7px;font-size:9px}
.invoice-preview-paper .invoice-lines td{padding:7px}
.invoice-preview-paper .invoice-signature{min-height:90px}
.invoice-preview-paper .invoice-signature img{width:72px!important;height:72px!important}
.invoice-preview-paper .invoice-payment pre{min-height:65px;padding-left:0;font-size:10px}
.invoice-preview-paper .invoice-thanks{padding-top:10px;font-size:10px}
@media(max-width:1100px){.invoice-workspace{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:10px}.invoice-form-panel{padding:13px;gap:8px}.invoice-preview-paper{padding:20px 18px}}
@media(max-width:900px){.invoice-workspace{grid-template-columns:1fr}.invoice-form-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-preview-column{max-height:70vh;overflow:auto}.invoice-preview-paper{max-width:620px}}
@media(max-width:520px){.invoice-form-panel{grid-template-columns:1fr}.invoice-form-heading,.invoice-number-date-row,.invoice-address-field,.invoice-items-heading,#invoice-item-list,.invoice-link-help,.invoice-add-item,.invoice-account-hint,.invoice-advanced,.invoice-client-field,.invoice-title-field,.invoice-account-field,.invoice-stamp-control{grid-column:1}.invoice-field-row{grid-template-columns:1fr}.invoice-preview-column{max-height:none}.invoice-preview-paper{padding:18px 12px}}

/* Keep the template controls first and compact when expanded. */
.invoice-advanced{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.invoice-advanced>summary,.invoice-advanced>.invoice-field-row,.invoice-advanced>label:nth-of-type(1){grid-column:1/-1}
.invoice-advanced>.invoice-payment-instruction,.invoice-advanced>.invoice-thank-you{grid-column:span 1;min-width:0}
@media(max-width:520px){.invoice-advanced{grid-template-columns:1fr}.invoice-advanced>summary,.invoice-advanced>.invoice-field-row,.invoice-advanced>label:nth-of-type(1),.invoice-advanced>.invoice-payment-instruction,.invoice-advanced>.invoice-thank-you{grid-column:1}}

.invoice-advanced>.invoice-template-notes-row{grid-column:1/-1;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0}.invoice-template-notes-row>.invoice-field{min-width:0}.invoice-template-notes-row input{min-width:0}@media(max-width:520px){.invoice-advanced>.invoice-template-notes-row{grid-template-columns:1fr}}

.invoice-advanced>.invoice-issuer-layout{grid-column:1/-1;display:grid;grid-template-columns:minmax(145px,.7fr) minmax(0,1.4fr);gap:12px;align-items:stretch;min-width:0;width:100%}.invoice-issuer-meta{display:grid;align-content:start;gap:8px;min-width:0}.invoice-issuer-meta .invoice-field input{width:100%;min-width:0}.invoice-issuer-address{min-width:0;width:100%}.invoice-issuer-address textarea{box-sizing:border-box;width:100%;height:100%;min-height:126px;resize:vertical}@media(max-width:520px){.invoice-advanced>.invoice-issuer-layout{grid-template-columns:1fr}.invoice-issuer-address textarea{height:auto;min-height:70px}}

/* Expand the issuer address editor substantially on desktop. */
@media(min-width:1101px){.invoice-workspace{grid-template-columns:minmax(520px,1.25fr) minmax(300px,.75fr)}.invoice-advanced>.invoice-issuer-layout{grid-template-columns:minmax(150px,.65fr) minmax(0,1.7fr)}.invoice-issuer-address textarea{min-width:420px;min-height:140px}}
@media(max-width:1100px) and (min-width:901px){.invoice-workspace{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr)}.invoice-advanced>.invoice-issuer-layout{grid-template-columns:minmax(140px,.7fr) minmax(0,1.4fr)}.invoice-issuer-address textarea{min-width:0;min-height:126px}}

/* Align the address editor's bottom edge with the Tax field beneath issuer name. */
.invoice-issuer-address textarea{box-sizing:border-box;width:100%;height:92px;min-height:92px;max-height:92px;resize:none}
@media(max-width:520px){.invoice-issuer-address textarea{height:auto;min-height:70px;max-height:none;resize:vertical}}

/* Rebalance invoice workspace: reduce the form column and give the preview more room. */
@media(min-width:1101px){.invoice-workspace{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr)}.invoice-issuer-address textarea{min-width:0;width:100%}}
@media(min-width:901px) and (max-width:1100px){.invoice-workspace{grid-template-columns:1fr}.invoice-preview-column{position:static;max-height:70vh;overflow:auto}.invoice-preview-paper{max-width:720px}.invoice-issuer-address textarea{min-width:0;width:100%}}

/* Let issuer address occupy the unused right half of the existing form panel. */
#invoice-form>.invoice-advanced{grid-column:1/-1!important;width:100%;box-sizing:border-box}
#invoice-form>.invoice-advanced>.invoice-issuer-layout{grid-column:1/-1!important;width:100%;grid-template-columns:minmax(180px,.65fr) minmax(0,1.85fr)}
#invoice-form>.invoice-advanced>.invoice-issuer-layout>.invoice-issuer-address{width:100%;min-width:0}
#invoice-form>.invoice-advanced>.invoice-issuer-layout>.invoice-issuer-address textarea{width:100%;min-width:0;max-width:none;box-sizing:border-box}
@media(max-width:520px){#invoice-form>.invoice-advanced>.invoice-issuer-layout{grid-template-columns:1fr}}

/* The address textarea itself extends into the empty area shown in the user's screenshot. */
#invoice-form textarea[name="issuer_address"]{display:block!important;box-sizing:border-box!important;width:360px!important;min-width:0!important;max-width:100%!important}
@media(max-width:900px){#invoice-form textarea[name="issuer_address"]{width:100%!important}}

#invoice-form input[name="issuer_name"],#invoice-form input[name="client"]{font-weight:700;color:#202722}

.bill-action-bar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:12px 0;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 2px 8px rgba(22,46,35,.035)}
.bill-month{display:grid;gap:5px;min-width:178px;color:#647167;font-size:11px;font-weight:700}
.bill-month input{height:40px;padding:8px 11px;border:1px solid #dbe4dc;border-radius:8px;background:#fff;color:var(--ink)}
.bill-template-link,.bill-import-button{height:40px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
.bill-import-button{padding:10px 15px}
.bill-action-bar .result-count{margin-left:auto;font-size:12px}
.bill-filter-panel{margin:0 0 14px;padding:14px 16px 10px;background:#fff;border:1px solid var(--line);border-radius:12px}
.bill-filter-grid{display:grid;grid-template-columns:repeat(7,minmax(125px,1fr));gap:10px;align-items:end}
.bill-filter-grid .mmp-filter{min-width:0;flex:none}
.bill-filter-grid .filter-select{width:100%;height:38px;padding:7px 9px;border:1px solid #dbe4dc;border-radius:8px;background:#fff;color:var(--ink);font-size:12px}
.bill-filter-actions{display:flex;gap:7px;align-items:end}
.bill-filter-actions button{height:38px;white-space:nowrap}
.bill-help{margin:10px 0 0;color:#7d8981;font-size:11px;line-height:1.55}
@media(max-width:1550px){.bill-filter-grid{grid-template-columns:repeat(4,minmax(145px,1fr))}}
@media(max-width:920px){.bill-filter-grid{grid-template-columns:repeat(2,minmax(130px,1fr))}.bill-action-bar .result-count{margin-left:0}}
@media(max-width:560px){.bill-filter-grid{grid-template-columns:1fr}.bill-action-bar{align-items:stretch}.bill-month,.bill-template-link,.bill-import-button{width:100%}.bill-action-bar .result-count{width:100%}}

/* Bill details: compact single-line controls to prioritize the spreadsheet area. */
.bill-workspace{margin:10px 0 12px;padding:9px 12px}
.bill-workspace .bill-filter-grid{display:grid;grid-template-columns:minmax(135px,1.1fr) minmax(105px,.85fr) minmax(135px,1.05fr) repeat(7,minmax(100px,1fr)) auto auto;gap:7px;align-items:end}
.bill-workspace .bill-month{display:flex;align-items:center;gap:7px;min-width:0;white-space:nowrap;font-size:10px}
.bill-workspace .bill-month input{width:100%;min-width:0;height:32px;padding:4px 7px;font-size:11px}
.bill-workspace .bill-template-link,.bill-workspace .bill-import-button{height:32px;min-width:0;padding:5px 8px;font-size:11px;line-height:1.1}
.bill-workspace .bill-filter-grid .mmp-filter{display:flex;flex-direction:column;gap:3px;font-size:10px;line-height:1.1}
.bill-workspace .bill-filter-grid .filter-select{height:32px;min-width:0;padding:4px 6px;font-size:11px}
.bill-workspace .bill-filter-actions{gap:5px}
.bill-workspace .bill-filter-actions button{height:32px;padding:5px 9px;font-size:11px}
.bill-workspace .result-count{white-space:nowrap;margin-left:3px;font-size:10px}
.bill-workspace .bill-help{display:none}
@media(max-width:1550px){.bill-workspace .bill-filter-grid{grid-template-columns:repeat(6,minmax(100px,1fr))}}
@media(max-width:920px){.bill-workspace .bill-filter-grid{grid-template-columns:repeat(3,minmax(100px,1fr))}}
@media(max-width:560px){.bill-workspace .bill-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bill-workspace .bill-month{grid-column:span 2}.bill-workspace .result-count{margin-left:0}}

/* Bill details collection status and monthly range controls. */
.bill-workspace .bill-filter-grid{grid-template-columns:minmax(135px,1.1fr) minmax(105px,.85fr) minmax(135px,1.05fr) repeat(9,minmax(88px,1fr)) auto auto}
.bill-workspace .bill-range-filter{grid-column:span 2;min-width:0;padding:4px 7px;gap:3px;font-size:10px}
.bill-workspace .bill-range-filter .range-controls{gap:3px}
.bill-workspace .bill-range-filter .range-controls input{height:30px;padding:3px 5px;font-size:10px}
.bill-receipt-status{display:inline-block;max-width:92px;padding:4px 6px;border:1px solid #dce5de;border-radius:6px;background:#fff;font-size:10px;font-weight:700;white-space:nowrap}
.bill-receipt-status.paid{color:#16804d;background:#edf8f1;border-color:#ccebd7}
.bill-receipt-status.unpaid{color:#c63d3d;background:#fff0f0;border-color:#f3d1d1}.bill-receipt-status.empty{color:#879189;background:#f7f9f7;border-color:#e7ece8}.bill-receipt-status.pending{color:#9a6a00;background:#fff8e5;border-color:#f0e0ab}
@media(max-width:1180px){.bill-workspace .bill-filter-grid{grid-template-columns:repeat(6,minmax(95px,1fr))}.bill-workspace .bill-range-filter{grid-column:span 2}}
@media(max-width:920px){.bill-workspace .bill-filter-grid{grid-template-columns:repeat(3,minmax(95px,1fr))}}
@media(max-width:560px){.bill-workspace .bill-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bill-workspace .bill-range-filter{grid-column:span 2}}

/* Make the bill details workspace denser so its table stays in view. */
.content.bill-details-page{max-width:none;padding:14px 20px 20px}
.bill-details-page .page-heading{margin:0 0 8px;gap:10px}
.bill-details-page .page-heading h1{font-size:21px;margin:0 0 3px}
.bill-details-page .page-heading p{font-size:11px;line-height:1.35}
.bill-details-page .bill-workspace{margin:5px 0 8px;padding:6px 8px}
.bill-details-page .bill-workspace .bill-filter-grid{gap:5px;row-gap:5px}
.bill-details-page .table-card{padding:6px;border-radius:9px}
.bill-details-page .table-scroll{min-height:0;max-height:calc(100vh - 210px)}
.bill-details-page .data-table th,.bill-details-page .data-table td{padding:7px 8px;font-size:11px}
.bill-details-page .data-table th{font-size:9px}
@media(max-width:1180px){.bill-details-page .bill-workspace .bill-filter-grid{grid-template-columns:repeat(6,minmax(90px,1fr))}}
@media(max-width:920px){.bill-details-page .bill-workspace .bill-filter-grid{grid-template-columns:repeat(3,minmax(90px,1fr))}}
@media(max-width:560px){.content.bill-details-page{padding:12px 10px 18px}.bill-details-page .bill-workspace .bill-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bill-details-page .bill-workspace .bill-month{grid-column:span 2}.bill-details-page .bill-workspace .bill-range-filter{grid-column:span 2}}

/* Separate month actions from the filter row to prevent date-range overlap. */
.bill-details-page .bill-workspace{display:grid;gap:6px;margin:5px 0 8px;padding:7px 9px}
.bill-details-page .bill-action-bar{display:flex;align-items:center;gap:8px;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent}
.bill-details-page .bill-month{display:flex;align-items:center;gap:6px;min-width:0;white-space:nowrap;font-size:10px}
.bill-details-page .bill-month input{width:145px;height:30px;padding:4px 7px;font-size:11px}
.bill-details-page .bill-template-link,.bill-details-page .bill-import-button{height:30px;padding:5px 10px;font-size:11px}
.bill-details-page .bill-action-bar .result-count{margin-left:auto}
.bill-details-page .bill-filter-grid{display:grid;grid-template-columns:minmax(230px,1.55fr) repeat(7,minmax(105px,1fr)) auto;gap:7px;align-items:end}
.bill-details-page .bill-filter-grid .bill-range-filter{grid-column:auto;min-width:0;width:100%;padding:4px 6px;gap:3px;font-size:10px}
.bill-details-page .bill-filter-grid .bill-range-filter .range-controls{min-width:0;gap:4px}
.bill-details-page .bill-filter-grid .bill-range-filter .range-controls input{width:100%;height:30px;min-width:0;padding:3px 5px;font-size:10px}
@media(max-width:1250px){.bill-details-page .bill-filter-grid{grid-template-columns:repeat(4,minmax(125px,1fr))}}
@media(max-width:760px){.bill-details-page .bill-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bill-details-page .bill-filter-grid .bill-range-filter{grid-column:span 2}}
@media(max-width:560px){.bill-details-page .bill-action-bar{flex-wrap:wrap}.bill-details-page .bill-action-bar .result-count{margin-left:0;width:100%}.bill-details-page .bill-month{width:100%}.bill-details-page .bill-month input{flex:1}}

/* Reconciliation: show advertiser and channel checks side by side. */
.recon-toolbar{margin:0 0 10px;padding:8px 10px;background:#fff;border:1px solid var(--line);border-radius:9px}
.recon-side-by-side{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:12px;align-items:start}
.recon-panel{min-width:0;padding:11px 10px}
.recon-panel .card-heading{margin:0 2px 8px}
.recon-panel .card-heading h3{font-size:13px}
.recon-panel .card-heading p{margin-top:3px;font-size:10px}
.recon-table-scroll{max-width:100%;overflow:auto}
.recon-table{width:100%;font-size:10px}
.recon-table th,.recon-table td{padding:8px 7px;font-size:10px}
.recon-table td:not(.cell-primary),.recon-table th:not(:first-child){font-variant-numeric:tabular-nums}
.recon-table .recon-diff{font-weight:750}
.recon-table .recon-diff.good{color:#16804d;background:#eef8f1}
.recon-table .recon-diff.bad{color:#c63d3d;background:#fff0f0}
.recon-table tfoot th{border-top:2px solid #dce9df;background:#f2f8f3}
.recon-empty{text-align:center;color:#879189;padding:20px!important}
.recon-banner-count{margin-left:auto;font-size:11px;font-weight:700;white-space:nowrap}
.recon-banner.empty{border-color:#e3e9e4;background:#f7f9f7;color:#69766d}
@media(max-width:1300px){.recon-side-by-side{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:8px}.recon-table th,.recon-table td{padding:7px 5px;font-size:9px}}
@media(max-width:940px){.recon-side-by-side{grid-template-columns:1fr}}

/* Reconciliation filters: choose one dimension and inspect only its rows. */
.recon-controls{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin:0 0 10px;padding:9px;background:#fff;border:1px solid var(--line);border-radius:10px}
.recon-range,.recon-status-filter,.recon-name-filter{display:grid;gap:4px;color:#66756b;font-size:10px;font-weight:650}
.recon-range{min-width:255px}
.recon-range .range-controls{gap:5px}
.recon-range .range-controls input{height:31px;width:118px;padding:4px 6px;font-size:11px}
.recon-status-filter{min-width:125px}
.recon-name-filter{min-width:170px;flex:1}
.recon-status-filter .filter-select,.recon-name-filter .filter-select{height:31px;padding:4px 7px;font-size:11px}
.recon-dimensions{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid #dce6de;border-radius:8px;background:#f5f8f5}
.recon-dimension{height:27px;padding:4px 9px;border:0;border-radius:6px;background:transparent;color:#617067;font-size:10px;font-weight:650;white-space:nowrap}
.recon-dimension.active{background:var(--green);color:#fff;box-shadow:0 1px 3px #173c291c}
.recon-search,.recon-reset{height:31px;padding:5px 10px;font-size:10px}
.recon-controls .result-count{margin-left:auto;white-space:nowrap;font-size:10px}
.recon-panel-single{padding:12px}
@media(max-width:900px){.recon-controls .result-count{margin-left:0}.recon-name-filter{flex:1 1 180px}}
@media(max-width:560px){.recon-controls{align-items:stretch}.recon-range{width:100%}.recon-range .range-controls input{flex:1;width:0}.recon-dimensions{width:100%}.recon-dimension{flex:1}.recon-status-filter,.recon-name-filter{flex:1 1 100%}}

/* Free local AI-style synthetic data workspace. */
.ai-data-page{max-width:none;padding-top:18px}
.ai-local-banner{display:flex;align-items:center;gap:11px;margin:-10px 0 12px;padding:10px 13px;border:1px solid #d4e9da;border-radius:10px;background:linear-gradient(90deg,#eef8f0,#f7fbf8);color:#205a3b}
.ai-local-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#dff1e4;color:#18795b;font-size:16px}
.ai-local-banner>div{display:grid;gap:2px;min-width:0}.ai-local-banner strong{font-size:12px}.ai-local-banner small{color:#6e8173;font-size:10px}
.ai-local-badge{margin-left:auto;padding:5px 8px;border:1px solid #d3e5d7;border-radius:99px;color:#4e7058;font-size:9px;white-space:nowrap}
.ai-prompt-card,.ai-fields-card,.ai-preview-card{margin-bottom:10px;padding:13px 15px}
.ai-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}
.ai-section-heading h2{margin:0;color:#26382d;font-size:14px}
.ai-section-heading p{margin:3px 0 0;color:#829087;font-size:10px}
.ai-section-heading .ghost{padding:6px 10px;font-size:10px}
#ai-prompt{display:block;width:100%;min-height:78px;resize:vertical;padding:10px 11px;border:1px solid #dce6de;border-radius:8px;background:#fcfdfc;color:var(--ink);font-size:12px;line-height:1.55;outline:none}
#ai-prompt:focus{border-color:#65ab89;box-shadow:0 0 0 3px #d7efe1}
.ai-prompt-examples{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:7px 0 9px;color:#879189;font-size:10px}
.ai-prompt-examples button{padding:4px 8px;border:1px solid #e0e9e2;border-radius:99px;background:#fff;color:#51705b;font-size:9px}
.ai-prompt-examples button:hover{border-color:#a8cbb2;background:#f4faf5}
.ai-generator-controls{display:flex;align-items:end;gap:8px;flex-wrap:wrap}
.ai-generator-controls label{display:grid;gap:3px;min-width:115px;color:#6e7c72;font-size:9px;font-weight:650}
.ai-generator-controls input,.ai-generator-controls select{height:30px;padding:4px 7px;border:1px solid #dce5dd;border-radius:7px;background:#fff;color:var(--ink);font-size:11px}
.ai-generator-controls label:nth-child(4){min-width:85px;width:95px}
.ai-generator-controls button{height:30px;padding:5px 11px;font-size:10px}
.ai-control-hint{margin:7px 0 0;color:#8a958d;font-size:9px;line-height:1.45}
.ai-fields-card .ai-section-heading{margin-bottom:7px}
.ai-fields-grid{display:grid;grid-template-columns:repeat(10,minmax(95px,1fr));gap:6px}
.ai-field-check{display:flex;align-items:center;gap:6px;min-width:0;padding:7px 8px;border:1px solid #e5ece6;border-radius:7px;background:#fbfcfb;color:#536257;font-size:10px;cursor:pointer}
.ai-field-check:has(input:checked){border-color:#cce3d2;background:#f0f8f2;color:#255d3c}
.ai-field-check input{margin:0;accent-color:#18795b}
.ai-preview-card{padding-bottom:8px}
.ai-table-scroll{max-height:calc(100vh - 435px);min-height:170px;overflow:auto;border:1px solid #edf1ed;border-radius:8px}
.ai-data-table{min-width:980px;font-size:10px}
.ai-data-table thead{position:sticky;top:0;z-index:2}
.ai-data-table th{padding:8px 9px;background:#f3f7f3;font-size:9px}
.ai-data-table td{padding:7px 9px;font-size:10px;font-variant-numeric:tabular-nums}
.ai-preview-card .empty{min-height:150px}
@media(max-width:1250px){.ai-fields-grid{grid-template-columns:repeat(5,minmax(100px,1fr))}.ai-table-scroll{max-height:calc(100vh - 470px)}}
@media(max-width:760px){.ai-data-page{padding:14px}.ai-local-banner{align-items:flex-start}.ai-local-badge{font-size:8px}.ai-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-generator-controls label{flex:1 1 135px}.ai-table-scroll{max-height:calc(100vh - 570px)}}
@media(max-width:520px){.ai-local-badge{display:none}.ai-prompt-card,.ai-fields-card,.ai-preview-card{padding:11px}.ai-generator-controls label{min-width:calc(50% - 6px)}.ai-generator-controls button{flex:1}.ai-section-heading{align-items:flex-start}}

.ai-values-card{margin-bottom:10px;padding:12px 15px}
.ai-values-grid{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:7px}
.ai-values-grid label{display:grid;gap:4px;min-width:0;color:#6e7c72;font-size:9px;font-weight:650}
.ai-values-grid input{height:30px;min-width:0;padding:4px 7px;border:1px solid #dce5dd;border-radius:7px;background:#fff;color:var(--ink);font-size:10px}
.ai-values-grid input:focus,.ai-cell-input:focus{border-color:#65ab89;outline:0;box-shadow:0 0 0 2px #d7efe1}
.ai-cell-input{width:100%;min-width:88px;padding:4px 5px;border:1px solid transparent;border-radius:5px;background:transparent;color:#33443a;font:inherit;font-size:10px}
.ai-cell-input:hover{border-color:#dce6de;background:#fff}
.ai-cell-input[type=number]{min-width:70px;width:85px;font-variant-numeric:tabular-nums}
.ai-derived-cell{display:inline-block;min-width:55px;color:#1d6845;font-weight:700;font-variant-numeric:tabular-nums}
.ai-pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:7px;color:#748078;font-size:10px}
.ai-pagination button{padding:5px 8px;font-size:9px}
@media(max-width:1250px){.ai-values-grid{grid-template-columns:repeat(3,minmax(130px,1fr))}}
@media(max-width:760px){.ai-values-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-pagination{gap:6px;flex-wrap:wrap}}


/* Direct client operations tracker: compact wide CRM grid with a sticky header. */
.direct-ops-page .toolbar{gap:8px;margin-bottom:10px}
.direct-ops-page .search-input{max-width:420px;height:36px}
.direct-ops-page #table-wrap{overflow:auto;max-height:calc(100vh - 235px);border:1px solid #e6ece7;border-radius:10px;background:#fff}
.direct-ops-page .data-table{min-width:1900px;font-size:11px}
.direct-ops-page .data-table thead{position:sticky;top:0;z-index:2}
.direct-ops-page .data-table th{padding:9px 10px;white-space:nowrap;background:#f4f7f4;font-size:10px}
.direct-ops-page .data-table td{max-width:210px;padding:8px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.direct-ops-page .data-table td:nth-last-child(2){max-width:270px}
.direct-ops-page .direct-update{color:#66756b;font-size:10px;font-variant-numeric:tabular-nums;white-space:nowrap}
.direct-ops-page .status{display:inline-flex;max-width:150px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
#record-form [name=update][readonly]{background:#f5f7f5;color:#718078}
@media(max-width:760px){.direct-ops-page .page-heading{align-items:flex-start}.direct-ops-page #table-wrap{max-height:calc(100vh - 190px)}}

.direct-ops-page .ops-multi-values{display:grid;gap:7px}.direct-ops-page .ops-multi-tags{display:flex;flex-wrap:wrap;gap:6px;min-height:24px}.direct-ops-page .ops-value-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid #dbe8de;border-radius:14px;background:#f1f7f2;color:#315d43;font-size:11px}.direct-ops-page .ops-value-chip button{border:0;background:transparent;color:#738078;cursor:pointer;font-size:14px;line-height:1}.direct-ops-page .ops-multi-entry{display:flex;gap:7px}.direct-ops-page .ops-multi-entry input{min-width:0;flex:1}.direct-ops-page .ops-multi-entry button{white-space:nowrap}

/* Product-wide refresh: cool cyan-blue surfaces with a restrained orange accent. */
:root{--green:#087f8c;--green-dark:#066672;--mint:#e5f4f5;--ink:#1c2933;--muted:#71808a;--line:#e2e9ec;--surface:#fff;--canvas:#f4f7f8;--red:#bd5148;--shadow:0 10px 30px rgba(22,49,61,.07)}
body{background:var(--canvas);color:var(--ink)}
.login-wrap{background:#f3f7f8}.login-visual{background:radial-gradient(circle at 85% 12%,rgba(244,157,76,.22),transparent 28%),linear-gradient(145deg,#123b4e,#087f8c 65%,#32a2a4)}.login-visual:after{border-color:#ffffff20;box-shadow:0 0 0 50px #ffffff0b,0 0 0 100px #ffffff07}.login-visual .brand-mark{background:#fff1df;color:#aa5a1b}.login-visual .hero-copy .eyebrow{color:#d7f1f1}.login-visual .hero-copy h1{letter-spacing:-.045em}.login-foot{color:#c5e1e5}
.brand-mark{background:#e6f4f5;color:#087f8c}.spinner{border-color:#dbe9ec;border-top-color:var(--green)}
.sidebar{background:#fbfcfd;border-right-color:#dfe8eb}.side-brand .brand-mark{background:#e8f4f4;color:#087f8c}.nav-item{color:#586a74;transition:background-color .16s,color .16s,transform .16s}.nav-item:hover{background:#edf5f6;color:#076f79}.nav-item.active{background:linear-gradient(90deg,#e1f2f3,#eaf5f6);color:#056b75;box-shadow:inset 3px 0 #0c8791}.avatar{background:#e5f2f3;color:#08717b}.nav-caption{color:#82929a}
.topbar{background:rgba(255,255,255,.94);backdrop-filter:blur(12px)}.crumb strong{color:#263d49}.date-pill{background:#f9fbfc}.content{max-width:1680px}.stat-card,.card{border-color:#e5ecee;box-shadow:0 3px 14px rgba(21,53,63,.035);border-radius:14px}.stat-icon{background:#e8f4f4;color:#087f8c}.activity-dot{background:#0c929a;box-shadow:0 0 0 4px #e2f3f3}.quick-tile:hover{border-color:#88c4c7;background:#f8fcfc}.link-button{color:#087f8c}
.primary{background:linear-gradient(135deg,#098694,#08737f);box-shadow:0 2px 5px rgba(8,127,140,.12)}.primary:hover{background:#066672;transform:translateY(-1px)}.secondary{background:#e6f3f4;color:#076b75}.secondary:hover{background:#d7edef}.ghost:hover{border-color:#9cc9cc;background:#f7fbfc}.danger{background:#fff1ee;color:#b84c42}.field input:focus,.field select:focus,.field textarea:focus,.search-input:focus,.mmp-filter input:focus{border-color:#4baab0;box-shadow:0 0 0 3px #daf0f1}.filter-select:focus,.settings-row select:focus,.settings-row input:focus{outline:2px solid #cdebed;outline-offset:1px;border-color:#65b6bb}
.data-table th{background:#f1f6f7;color:#637780}.data-table td{color:#40535d}.data-table tbody tr:hover{background:#f7fbfc}.data-table tbody tr:nth-child(even){background:#fcfdfd}.data-table tbody tr:nth-child(even):hover{background:#f6fafb}.row-action{background:#eaf3f4;color:#08717b}.row-action:hover{background:#dceff0}.status{background:#eaf5f4;color:#087b72}.status.good{background:#e4f4ec;color:#24794c}.status.warn{background:#fff3e3;color:#a76517}.status.bad{background:#fff0ee;color:#b64d43}.recon-banner{background:#e6f3f4;color:#126b75}.recon-banner.warn{background:#fff3e5;color:#99601c}.settings-tab.active{background:#e5f3f4;color:#076e78}.modal-backdrop{background:rgba(18,42,53,.57);backdrop-filter:blur(4px)}.modal{border:1px solid #e6eef0;box-shadow:0 24px 80px rgba(13,43,53,.24)}.modal-head{background:#fbfdfd}.modal-x:hover{color:#087f8c}.drop-zone{border-color:#a8cdd0;background:#f8fcfc}.toast{background:#173f4b}.file-row{background:#fbfdfd}.file-row a{color:#087f8c}
.permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.permission-item{min-width:0;display:flex;align-items:center;gap:9px;padding:10px 11px;border:1px solid #e2eaec;border-radius:9px;background:#fff;color:#425660;font-size:12px;font-weight:550;cursor:pointer;transition:.15s}.permission-item:hover{border-color:#8fc5c8;background:#f7fbfb}.permission-item input{accent-color:#087f8c;width:15px;height:15px;margin:0}.permission-toolbar{display:flex;gap:12px;margin:-4px 0 10px}.permission-heading{font-weight:700!important;margin-bottom:0}.finance-grant{background:#fff8ef;border-color:#f4dfc2}.finance-grant input{accent-color:#e88a3f}.user-admin-summary{display:flex;align-items:center;gap:9px;margin:-7px 0 15px;padding:12px 16px;background:#edf5f6;border:1px solid #e0ebed;border-radius:11px;color:#70818a;font-size:12px}.user-admin-summary strong{color:#08717b;font-size:18px}.user-admin-summary i{height:20px;width:1px;background:#cedde0;margin:0 8px}.user-admin-card{padding:0;overflow:hidden}.user-admin-table-wrap{overflow:auto}.user-table th{background:#f3f7f8;color:#647780}.user-table td,.user-table th{padding:13px 14px}.user-table tr:hover td{background:#f9fcfc}.user-table td strong{color:#263d49}.role-chip{display:inline-flex;padding:4px 8px;border-radius:99px;background:#eaf3f5;color:#276d76;font-size:10px}.user-admin-note{font-size:12px;line-height:1.7;color:#72828b;padding:0 3px;margin-top:12px}.recon-dimension.active{background:#087f8c}
@media(max-width:900px){.permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content{padding:24px 22px 42px}}
@media(max-width:760px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.permission-grid{grid-template-columns:1fr 1fr}.user-admin-summary{flex-wrap:wrap}.user-table td,.user-table th{padding:10px}.page-heading{gap:10px}.card{border-radius:12px}}
@media(max-width:420px){.permission-grid{grid-template-columns:1fr}.content{padding:18px 12px 32px}}

/* Compact workspace canvas: align content closer to the sidebar and keep page identity in the top bar. */
.content{max-width:none;margin:0;padding:20px 24px 40px}.page-heading-compact{min-height:0;margin:0 0 14px}.page-heading-compact:has(.heading-actions:empty){display:none}

.nav-item{text-decoration:none}

.nav-item[draggable=true]{cursor:grab}.nav-item[draggable=true]:active{cursor:grabbing}

html,body,#root{overscroll-behavior-x:none}
