:root{--bg:#edf3f4;--card:#fff;--text:#172b36;--muted:#647581;--line:#d4e0e3;--primary:#0d6b66;--primary-dark:#103b45;--primary-soft:#dff7f2;--primary-strong:#075a56;--sidebar:#103843;--sidebar-soft:#174b56;--accent:#c58a2b;--danger:#b42318;--warning:#a9680b;--success:#087a52;--shadow:0 16px 38px #10384317;--shadow-soft:0 8px 22px #10384312}*{box-sizing:border-box}body{background:radial-gradient(circle at 88% 0%, #0d6b6621, transparent 28%), radial-gradient(circle at 18% 12%, #c58a2b12, transparent 24%), linear-gradient(180deg, #f8fbfb 0%, var(--bg) 72%);color:var(--text);min-width:320px;margin:0;font-family:Arial,Tahoma,sans-serif;line-height:1.6}button,input,select,textarea{font:inherit}a{color:inherit}.login-page{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:var(--card);border:1px solid var(--line);width:min(520px,100%);box-shadow:var(--shadow);border-radius:28px;padding:34px}.badge{background:var(--primary-soft);color:var(--primary);border:1px solid #0f766e2e;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;font-weight:700;display:inline-flex}.login-card h1{margin:16px 0 8px;font-size:32px;line-height:1.25}.login-card p{color:var(--muted);margin:0 0 22px}.field{gap:7px;margin-bottom:14px;display:grid}label{color:#344456;font-size:13px;font-weight:700}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--text);background:#fff;border-radius:14px;outline:none;padding:12px 13px;transition:border-color .18s,box-shadow .18s,background .18s}textarea{resize:vertical;min-height:90px}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px #0d6b661c}.btn{background:linear-gradient(135deg, var(--primary), var(--primary-strong));color:#fff;cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:11px 16px;font-weight:800;transition:transform .16s,box-shadow .16s,filter .16s;display:inline-flex;box-shadow:0 7px 16px #0d6b6626}.btn:hover{filter:brightness(.98);transform:translateY(-1px);box-shadow:0 10px 20px #0d6b662e}.btn:active{transform:translateY(0)}.btn:disabled{cursor:not-allowed;opacity:.62;box-shadow:none;transform:none}.btn.secondary{color:var(--text);border:1px solid var(--line);box-shadow:none;background:#f5f8f8}.btn.danger{background:var(--danger)}.btn.warning{background:var(--warning)}.btn.success{background:var(--success)}.btn.ghost{color:var(--primary);background:0 0;border:1px solid #0f766e4d}.btn.small{border-radius:10px;padding:7px 10px;font-size:12px}.alert{color:#8a1f11;background:#fff4f2;border:1px solid #ffd6cf;border-radius:12px;margin:10px 0;padding:10px 12px}.app-shell{grid-template-columns:272px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:linear-gradient(180deg, var(--sidebar) 0%, #0c3039 100%);color:#fff;z-index:20;border-left:1px solid #ffffff14;height:100vh;padding:20px 16px;position:sticky;top:0;box-shadow:-10px 0 30px #1038431a}.brand{color:#fff;background:linear-gradient(135deg,#ffffff24,#ffffff0f);border:1px solid #ffffff1f;border-radius:20px;margin-bottom:18px;padding:16px}.brand h2{margin:0;font-size:18px}.brand p{opacity:.85;margin:4px 0 0;font-size:12px}.nav{gap:8px;display:grid}.nav button{text-align:right;color:#ffffffc7;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:14px;padding:12px 13px;font-weight:800;transition:background .16s,color .16s,border-color .16s,transform .16s}.nav button.active,.nav button:hover{color:#fff;background:#ffffff1f;border-color:#ffffff1c;transform:translate(-2px)}.main{min-width:0;padding:26px 30px 36px}.topbar{box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffd1;border:1px solid #d4e0e3e6;border-radius:20px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:15px 18px;display:flex}.topbar h1{margin:0;font-size:28px}.topbar p{color:var(--muted);margin:3px 0 0}.grid{gap:16px;display:grid}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{box-shadow:var(--shadow-soft);background:#fffffff5;border:1px solid #d4e0e3f2;border-radius:22px;padding:19px}.card h3{color:var(--primary-dark);margin:0 0 14px;font-size:18px}.stat{flex-direction:column;justify-content:space-between;min-height:124px;display:flex;position:relative;overflow:hidden}.stat:after{content:"";background:linear-gradient(180deg, var(--primary), var(--accent));width:5px;height:100%;position:absolute;top:0;right:0}.stat .num{color:var(--primary-dark);font-size:28px;font-weight:900}.stat .label{color:var(--muted);font-weight:700}.table-wrap{border:1px solid var(--line);scrollbar-width:thin;scrollbar-color:#a9bec2 transparent;background:#fff;border-radius:16px;overflow:auto}table{border-collapse:collapse;background:#fff;width:100%;min-width:760px}th,td{text-align:right;vertical-align:top;border-bottom:1px solid #e2eaec;padding:11px 12px}th{color:#29424b;z-index:1;background:#edf5f5;font-size:13px;position:sticky;top:0}tbody tr{transition:background .15s}tbody tr:hover{background:#f8fbfb}tr:last-child td{border-bottom:0}.actions{flex-wrap:wrap;gap:8px;display:flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-grid .full{grid-column:1/-1}.item-box{border:1px dashed var(--line);background:#fbfdfd;border-radius:18px;margin-bottom:10px;padding:12px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.status{border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800;display:inline-block}.status.paid{color:#087443;background:#e7f8ef}.status.draft{color:#44546a;background:#eef2f6}.status.sent{color:#175cd3;background:#e8f2ff}.status.partial{color:#9a6200;background:#fff6dd}.status.unpaid,.status.overdue{color:#b42318;background:#fff0ed}.status.cancelled{color:#667085;background:#f2f4f7;text-decoration:line-through}.client-search{position:relative}.client-search-control{align-items:stretch;gap:8px;display:flex}.client-search-trigger{border:1px solid var(--line);width:100%;min-height:48px;color:var(--text);cursor:pointer;text-align:right;background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.client-search-trigger:hover{border-color:#0f766e80}.client-search-trigger:focus-visible{border-color:var(--primary);outline:none;box-shadow:0 0 0 4px #0f766e1a}.client-search-trigger:disabled{cursor:not-allowed;opacity:.65}.client-search-trigger-text{gap:2px;min-width:0;display:grid}.client-search-trigger-text strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.client-search-trigger-text small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.client-search-chevron{color:var(--primary);font-size:20px;line-height:1}.client-search-clear{border:1px solid var(--line);width:46px;color:var(--danger);cursor:pointer;background:#fff;border-radius:14px;flex:0 0 46px;font-size:22px;line-height:1}.client-search-clear:hover{background:#fff4f2;border-color:#ffd6cf}.client-search-clear:focus-visible{outline:none;box-shadow:0 0 0 4px #b423181a}.client-search-menu{z-index:25;border:1px solid var(--line);background:#fff;border-radius:16px;padding:10px;position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 18px 42px #0c1d2729}.client-search-summary{color:var(--muted);padding:8px 3px 6px;font-size:12px}.client-search-results{gap:4px;max-height:280px;display:grid;overflow-y:auto}.client-search-option{width:100%;color:var(--text);cursor:pointer;text-align:right;background:0 0;border:1px solid #0000;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;display:flex}.client-search-option>span:first-child{gap:2px;min-width:0;display:grid}.client-search-option strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.client-search-option small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.client-search-option:hover,.client-search-option.active{background:#f0f8f7;border-color:#0f766e29}.client-search-option.selected{background:var(--primary-soft);border-color:#0f766e3d}.client-search-selected-mark{color:var(--primary);white-space:nowrap;font-size:12px;font-weight:800}.client-search-empty{text-align:center;color:var(--muted);padding:18px 12px;font-size:13px}.invoice-list-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.invoice-list-heading h3{margin:0}.invoice-results-count{color:var(--muted);border:1px solid var(--line);white-space:nowrap;background:#f0f6f6;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800}.invoice-filters{border:1px solid var(--line);background:#f8fbfb;border-radius:16px;grid-template-columns:minmax(260px,2fr) repeat(3,minmax(150px,1fr)) auto;align-items:end;gap:10px;margin-bottom:12px;padding:12px;display:grid}.invoice-filters .field{margin-bottom:0}.invoice-filter-actions{align-items:end;display:flex}.invoice-filter-actions .btn{white-space:nowrap;min-height:46px}.invoice-filter-actions .btn:disabled{cursor:not-allowed;opacity:.55;filter:none}.invoice-empty-state{text-align:center;color:var(--muted);padding:28px 16px;font-weight:700}@media screen and (max-width:1180px){.invoice-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-filter-query{grid-column:1/-1}.invoice-filter-actions{align-items:stretch}.invoice-filter-actions .btn{width:100%}}@media screen and (max-width:640px){.client-search-menu{max-height:calc(100vh - 24px);position:fixed;top:12px;left:12px;right:12px}.client-search-results{max-height:calc(100vh - 160px)}.invoice-list-heading{align-items:flex-start}.invoice-filters{grid-template-columns:1fr}.invoice-filter-query{grid-column:auto}.invoice-filter-actions{display:block}}@media screen{.sidebar hr{border-top-color:#ffffff24!important}.sidebar .btn.secondary{color:#fff;background:#ffffff1a;border-color:#ffffff24;width:100%}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.mobile-signout{display:none}.item-box{background:linear-gradient(#fbfdfd,#f5f9f9);border-color:#c8dadc}.invoice-filters{background:linear-gradient(#f8fbfb,#f1f7f7)}.invoice-results-count{color:var(--primary-dark);background:#e8f3f2}.invoice-preview-toolbar{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fffffff5;border-radius:16px;gap:9px;margin-bottom:12px;padding:12px;display:grid}.pdf-action-message{color:var(--primary-dark);background:#edf7f5;border:1px solid #cfe7e2;border-radius:12px;padding:9px 11px;font-size:13px;font-weight:700}}.invoice-modal{z-index:30;background:#0c1d278c;padding:22px;position:fixed;inset:0;overflow:auto}.invoice-modal-inner{max-width:920px;margin:0 auto}.invoice-page{color:#1d2935;page-break-after:avoid;page-break-inside:avoid;background:#fff;border-radius:10px;width:210mm;height:297mm;margin:0 auto;padding:10mm;position:relative;overflow:hidden}.invoice-header{color:#fff;background:linear-gradient(135deg,#0f766e,#0b3b4a);border-radius:16px;grid-template-columns:1.25fr 1fr;gap:12px;margin-bottom:8px;padding:12px 14px;display:grid}.invoice-header h2{margin:0 0 4px;font-size:19px}.invoice-header p{opacity:.9;margin:0 0 6px;font-size:11px}.invoice-title-block{text-align:right}.invoice-meta{background:#ffffff24;border:1px solid #ffffff38;border-radius:12px;padding:8px 10px}.invoice-meta div{justify-content:space-between;gap:10px;font-size:11px;font-weight:700;line-height:1.45;display:flex}.invoice-cards{grid-template-columns:1fr 1fr;gap:8px;margin:8px 0;display:grid}.invoice-card{border:1px solid #dce5e8;border-radius:14px;padding:8px 10px}.invoice-card h3{color:#0f766e;margin:0 0 5px;font-size:14px}.info-line{border-bottom:1px dashed #dce5e8;justify-content:space-between;gap:10px;padding:2px 0;font-size:11px;line-height:1.45;display:flex}.total-box{border:1px solid #dce5e8;border-radius:16px;overflow:hidden}.total-line{border-bottom:1px solid #dce5e8;justify-content:space-between;padding:6px 10px;font-size:12px;display:flex}.total-line.final{background:var(--primary-soft);color:#063a37;font-size:15px;font-weight:900}.footer-line{color:#667085;border-top:1px solid #dce5e8;justify-content:space-between;gap:8px;padding-top:4px;font-size:9px;display:flex;position:absolute;bottom:6mm;left:10mm;right:10mm}.invoice-page table{font-size:11px}.invoice-page th,.invoice-page td{padding:5px 7px;line-height:1.45}.invoice-item-description{color:#667085;font-size:10px}.invoice-bottom{align-items:start}.payment-card p{margin:3px 0;font-size:11px}@media screen and (max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{width:100%;height:auto;padding:8px 10px calc(8px + env(safe-area-inset-bottom));border:0;border-top:1px solid #ffffff24;position:fixed;inset:auto 0 0;box-shadow:0 -10px 28px #1038432e}.sidebar .brand,.sidebar hr,.desktop-signout{display:none}.nav{overscroll-behavior-x:contain;scrollbar-width:none;gap:7px;display:flex;overflow-x:auto}.nav::-webkit-scrollbar{display:none}.nav button{text-align:center;color:#ffffffc7;flex:none;min-width:88px;padding:9px 11px;font-size:12px}.nav button.active,.nav button:hover{background:#ffffff26;transform:none}.grid.cols-2,.grid.cols-3,.grid.cols-4,.form-grid{grid-template-columns:1fr}.main{padding:14px 14px calc(92px + env(safe-area-inset-bottom))}.topbar{border-radius:17px;padding:12px 14px}.topbar h1{font-size:23px}.mobile-signout{display:inline-flex}.invoice-page{width:100%;min-height:auto;padding:18px}.invoice-header,.invoice-cards{grid-template-columns:1fr}}@media screen and (max-width:640px){.main{padding-left:10px;padding-right:10px}.topbar{align-items:flex-start}.topbar-actions{gap:6px}.topbar-actions .badge{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.card{border-radius:18px;padding:15px}.actions .btn{flex:auto;min-width:118px}.actions .btn.small{flex:none;min-width:auto}.invoice-preview-toolbar .actions .btn{min-width:130px}}@media print{body{background:#fff!important}body *{visibility:hidden!important}.invoice-page,.invoice-page *{visibility:visible!important}.invoice-page{width:210mm;height:297mm;box-shadow:none;page-break-after:avoid;page-break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact;border-radius:0;margin:0;padding:8mm;position:absolute;inset:0;overflow:hidden}.no-print{display:none!important}@page{size:A4;margin:0}html,body{width:210mm;height:297mm;overflow:hidden}}.item-box-heading{color:var(--primary-dark);justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.client-picker-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.client-picker-row .client-search{margin-bottom:0}.quick-client-button{white-space:nowrap;min-height:48px;margin-bottom:14px}.client-filters,.expense-filters{border:1px solid var(--line);background:linear-gradient(#f8fbfb,#f1f7f7);border-radius:16px;align-items:end;gap:10px;margin-bottom:12px;padding:12px;display:grid}.client-filters{grid-template-columns:minmax(240px,2fr) minmax(150px,1fr) auto}.expense-filters{grid-template-columns:minmax(240px,2fr) repeat(4,minmax(135px,1fr))}.client-filters .field,.expense-filters .field{margin-bottom:0}.expense-filter-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;gap:8px;display:flex}.dialog-backdrop{z-index:55;background:#0c1d2794;place-items:center;padding:18px;display:grid;position:fixed;inset:0;overflow:auto}.dialog-card{border:1px solid var(--line);background:#fff;border-radius:22px;width:min(720px,100%);padding:20px;box-shadow:0 28px 70px #0c1d273d}.dialog-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.dialog-heading h3{color:var(--primary-dark);margin:0}.dialog-heading p{color:var(--muted);margin:3px 0 0;font-size:13px}.dialog-close{border:1px solid var(--line);width:42px;height:42px;color:var(--danger);cursor:pointer;background:#f7fafa;border-radius:12px;flex:0 0 42px;font-size:24px;line-height:1}.dialog-actions{justify-content:flex-start;margin-top:4px}.report-modal{z-index:60;background:#0c1d279e;padding:18px;position:fixed;inset:0;overflow:auto}.report-modal-inner{width:min(1120px,100%);margin:0 auto}.report-toolbar{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:18px;gap:10px;margin-bottom:12px;padding:14px;display:grid}.report-toolbar h3{color:var(--primary-dark);margin:0}.report-toolbar p{color:var(--muted);margin:3px 0 0;font-size:13px}.report-toolbar-actions{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.compact-field{min-width:160px;margin-bottom:0}.report-pages{justify-items:center;gap:14px;display:grid;overflow-x:auto}.report-page{color:#1d2935;background:#fff;border-radius:10px;width:210mm;height:297mm;min-height:297mm;padding:10mm;position:relative;overflow:hidden;box-shadow:0 16px 42px #0c1d272e}.report-header{color:#fff;background:linear-gradient(135deg,#0f766e,#0b3b4a);border-radius:16px;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:10px;padding:12px 14px;display:flex}.report-header h2{margin:0 0 3px;font-size:19px}.report-header p{opacity:.9;margin:0;font-size:12px}.report-meta{text-align:left;gap:2px;font-size:11px;display:grid}.report-meta strong{font-size:13px}.report-client-info{border:1px solid #dce5e8;border-radius:13px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin-bottom:9px;padding:9px 11px;font-size:11px;display:grid}.report-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:9px;display:grid}.report-summary-grid>div,.report-summary-single{background:#f5faf9;border:1px solid #dce5e8;border-radius:12px;gap:3px;padding:8px 10px;display:grid}.report-summary-grid span,.report-summary-single span{color:#667085;font-size:10px}.report-summary-grid strong,.report-summary-single strong{color:#0b3b4a;font-size:13px}.report-summary-single{grid-template-columns:1fr auto;align-items:center;margin-bottom:9px}.report-table{table-layout:fixed;width:100%;min-width:0;font-size:9.5px}.report-table th,.report-table td{overflow-wrap:anywhere;padding:5px 6px;line-height:1.35}.report-table th{background:#edf5f5;position:static}.report-table td small{color:#667085;margin-top:2px;font-size:8.5px;display:block}.report-table th:first-child,.report-table td:first-child{width:11%}.report-table th:nth-child(2),.report-table td:nth-child(2){width:10%}.report-table th:nth-child(3),.report-table td:nth-child(3){width:13%}.report-table th:nth-child(4),.report-table td:nth-child(4){width:23%}.report-table th:nth-child(5),.report-table td:nth-child(5),.report-table th:nth-child(6),.report-table td:nth-child(6),.report-table th:nth-child(7),.report-table td:nth-child(7){width:14.33%}.expenses-report-table th:nth-child(2),.expenses-report-table td:nth-child(2){width:25%}.expenses-report-table th:nth-child(3),.expenses-report-table td:nth-child(3),.expenses-report-table th:nth-child(4),.expenses-report-table td:nth-child(4),.expenses-report-table th:nth-child(5),.expenses-report-table td:nth-child(5){width:13%}.report-empty{color:#667085;text-align:center!important;padding:24px!important}.report-footer{color:#667085;border-top:1px solid #dce5e8;justify-content:space-between;gap:10px;padding-top:5px;font-size:9px;display:flex;position:absolute;bottom:7mm;left:10mm;right:10mm}@media screen and (max-width:1180px){.client-filters{grid-template-columns:1fr 1fr}.client-filters .btn{width:100%}.expense-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-filter-query{grid-column:1/-1}}@media screen and (max-width:640px){.client-picker-row{grid-template-columns:1fr}.quick-client-button{width:100%;margin-bottom:14px}.client-filters,.expense-filters{grid-template-columns:1fr}.expense-filter-query{grid-column:auto}.expense-filter-actions{grid-template-columns:1fr;display:grid}.dialog-card{border-radius:18px;padding:16px}.dialog-actions .btn{width:100%}.report-toolbar-actions{grid-template-columns:1fr;display:grid}.compact-field{min-width:0}}.section-kicker{color:var(--primary);letter-spacing:.04em;margin-bottom:3px;font-size:11px;font-weight:900;display:block}.view-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.view-heading h3,.invoice-list-heading>div h3{margin:0}.table-subtext{color:var(--muted);margin-top:2px;font-size:11px;display:block}.service-state{white-space:nowrap;border-radius:999px;align-items:center;padding:4px 9px;font-size:11px;font-weight:900;display:inline-flex}.service-state.active{color:#087443;background:#e7f8ef}.service-state.inactive{color:#667085;background:#f2f4f7}.service-filters{border:1px solid var(--line);background:linear-gradient(#f8fbfb,#f1f7f7);border-radius:16px;grid-template-columns:minmax(250px,2fr) minmax(150px,1fr) auto;align-items:end;gap:10px;margin-bottom:12px;padding:12px;display:grid}.service-filters .field{margin-bottom:0}.service-filters .btn{white-space:nowrap;min-height:46px}.service-search{gap:7px;display:grid;position:relative}.service-search-control{align-items:stretch;gap:8px;display:flex}.service-search-trigger{border:1px solid var(--line);width:100%;min-height:50px;color:var(--text);cursor:pointer;text-align:right;background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;transition:border-color .18s,box-shadow .18s;display:flex}.service-search-trigger:hover{border-color:#0d6b6680}.service-search-trigger:focus-visible{border-color:var(--primary);outline:none;box-shadow:0 0 0 4px #0d6b661c}.service-search-trigger-text{gap:2px;min-width:0;display:grid}.service-search-trigger-text strong,.service-search-trigger-text small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.service-search-trigger-text small{color:var(--muted);font-size:11px}.service-search-chevron{color:var(--primary);font-size:20px;line-height:1}.service-search-clear{width:48px;color:var(--danger);cursor:pointer;background:#fff7f5;border:1px solid #ffd6cf;border-radius:14px;flex:0 0 48px;font-size:22px;line-height:1}.service-search-clear:hover{background:#fff0ed}.service-search-menu{z-index:45;border:1px solid var(--line);background:#fff;border-radius:16px;padding:10px;position:absolute;top:calc(100% + 5px);left:0;right:0;box-shadow:0 20px 48px #0c1d2730}.service-search-summary{color:var(--muted);padding:7px 3px 5px;font-size:11px}.service-search-results{gap:4px;max-height:280px;display:grid;overflow-y:auto}.service-search-option{width:100%;color:var(--text);cursor:pointer;text-align:right;background:0 0;border:1px solid #0000;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:9px 10px;display:flex}.service-search-option>span:first-child{gap:2px;min-width:0;display:grid}.service-search-option strong,.service-search-option small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.service-search-option small{color:var(--muted);font-size:11px}.service-search-option:hover,.service-search-option.selected{background:#eff8f7;border-color:#0d6b662e}.service-search-price{color:var(--primary-dark);white-space:nowrap;flex:none;font-size:12px;font-weight:900}.service-search-empty{color:var(--muted);text-align:center;padding:20px 12px;font-size:12px}.invoice-editor-card{padding:0;overflow:visible}.invoice-editor-heading{border-bottom:1px solid var(--line);background:radial-gradient(circle at 92% 0,#0d6b661f,#0000 34%),linear-gradient(#fff,#f7fbfa);border-radius:22px 22px 0 0;justify-content:space-between;align-items:flex-start;gap:18px;padding:20px 22px;display:flex}.invoice-editor-heading h3{margin:0;font-size:22px}.invoice-editor-heading p{color:var(--muted);margin:3px 0 0;font-size:13px}.invoice-editor-heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;display:flex}.invoice-editor-layout{grid-template-columns:minmax(0,1fr) minmax(270px,330px);align-items:start;gap:18px;padding:18px;display:grid}.invoice-editor-main{gap:14px;min-width:0;display:grid}.invoice-form-section{border:1px solid var(--line);background:#fff;border-radius:18px;padding:16px}.invoice-section-heading{align-items:flex-start;gap:10px;margin-bottom:14px;display:flex}.invoice-section-heading h4{color:var(--primary-dark);margin:0;font-size:16px}.invoice-section-heading p{color:var(--muted);margin:2px 0 0;font-size:12px}.invoice-section-number{background:var(--primary-soft);width:30px;height:30px;color:var(--primary);border-radius:10px;flex:0 0 30px;place-items:center;font-size:13px;font-weight:900;display:grid}.invoice-meta-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.invoice-meta-form-grid .field{margin-bottom:0}.invoice-payment-panel{background:linear-gradient(#f3faf8,#edf7f5);border:1px solid #d9e9e6;border-radius:15px;margin-top:12px;padding:13px}.invoice-payment-panel-heading{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.invoice-payment-panel-heading strong{color:var(--primary-dark)}.invoice-payment-panel-heading span{color:var(--muted);font-size:11px}.invoice-payment-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.invoice-payment-grid .field{margin-bottom:0}.readonly-money{min-height:48px;color:var(--primary-dark);background:#fff;border:1px solid #cfe3df;border-radius:14px;align-items:center;padding:12px 13px;font-weight:900;display:flex}.invoice-lines-toolbar{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.invoice-lines-toolbar .invoice-section-heading{margin-bottom:0}.invoice-lines{gap:12px;display:grid}.invoice-line-card{background:#fbfdfd;border:1px solid #d5e3e5;border-radius:17px;overflow:visible}.invoice-line-heading{background:#f2f8f7;border-bottom:1px solid #e0eaec;border-radius:17px 17px 0 0;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.invoice-line-heading>div{align-items:center;gap:10px;display:flex}.invoice-line-heading span{color:var(--muted);font-size:12px;font-weight:800}.invoice-line-heading strong{color:var(--primary-dark);font-size:13px}.invoice-line-remove{width:34px;height:34px;color:var(--danger);cursor:pointer;background:#fff6f4;border:1px solid #ffd2cb;border-radius:10px;place-items:center;font-size:21px;line-height:1;display:grid}.invoice-line-remove:hover{background:#ffebe7}.invoice-line-grid{grid-template-columns:minmax(220px,1.4fr) minmax(180px,1.2fr) minmax(90px,.55fr) minmax(120px,.7fr);gap:10px;padding:12px;display:grid}.invoice-line-grid .field{margin-bottom:0}.invoice-line-service{min-width:0}.invoice-line-description{grid-column:1/-1}.invoice-line-description textarea{min-height:70px}.invoice-notes-panel{border:1px solid var(--line);background:#fff;border-radius:17px}.invoice-notes-panel summary{cursor:pointer;color:var(--primary-dark);padding:13px 15px;font-weight:900}.invoice-notes-panel[open] summary{border-bottom:1px solid var(--line)}.invoice-notes-panel .field{margin:12px}.invoice-notes-panel textarea{min-height:76px}.invoice-summary-panel{background:#fff;border:1px solid #cfe0e1;border-radius:19px;position:sticky;top:18px;overflow:hidden;box-shadow:0 14px 32px #1038431a}.invoice-summary-heading{color:#fff;background:linear-gradient(135deg,#0f766e,#0b3b4a);justify-content:space-between;align-items:center;gap:10px;padding:14px;font-weight:900;display:flex}.invoice-summary-heading .status{background:#ffffffeb}.invoice-summary-lines{padding:8px 14px;display:grid}.invoice-summary-lines>div{border-bottom:1px dashed #dce7e9;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;font-size:13px;display:flex}.invoice-summary-lines>div:last-child{border-bottom:0}.invoice-summary-lines span{color:var(--muted)}.invoice-summary-lines strong{color:var(--primary-dark)}.invoice-summary-lines .invoice-summary-total{background:var(--primary-soft);border:0;border-radius:12px;margin:5px -6px 0;padding:12px 8px}.invoice-summary-total span,.invoice-summary-total strong{color:#063a37;font-size:15px;font-weight:900}.invoice-save-button{width:calc(100% - 28px);margin:6px 14px 0}.invoice-save-hint{color:var(--muted);text-align:center;margin:8px 14px 14px;font-size:10px}@media screen and (max-width:1250px){.invoice-editor-layout{grid-template-columns:minmax(0,1fr) 270px}.invoice-meta-form-grid,.invoice-line-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-line-description{grid-column:1/-1}}@media screen and (max-width:980px){.invoice-editor-layout{grid-template-columns:1fr}.invoice-summary-panel{position:static}.invoice-summary-lines{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.invoice-summary-lines .invoice-summary-total{grid-column:1/-1}}@media screen and (max-width:720px){.service-filters{grid-template-columns:1fr}.invoice-editor-heading,.invoice-lines-toolbar,.invoice-payment-panel-heading{flex-direction:column;align-items:stretch}.invoice-editor-heading-actions{justify-content:stretch}.invoice-editor-heading-actions .btn{width:100%}.invoice-editor-layout{padding:10px}.invoice-form-section{padding:13px}.invoice-meta-form-grid,.invoice-payment-grid,.invoice-line-grid{grid-template-columns:1fr}.invoice-line-description{grid-column:auto}.invoice-lines-toolbar .btn{width:100%}.invoice-summary-lines{grid-template-columns:1fr}.invoice-summary-lines .invoice-summary-total{grid-column:auto}.service-search-menu{max-height:calc(100vh - 24px);position:fixed;top:12px;left:12px;right:12px}.service-search-results{max-height:calc(100vh - 150px)}}
