:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.4;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;background:transparent;color:inherit}img,svg,video,canvas{max-width:100%;height:auto}a{color:inherit;text-decoration:none}.sa-page .sa-section-grid{margin-top:14px;display:grid;grid-template-columns:minmax(420px,.9fr) minmax(620px,1.1fr);gap:12px;align-items:start}.sa-page .sa-section-grid>*{min-width:0}.sa-page .table-scroll{overflow-x:auto;overflow-y:hidden;padding-bottom:2px}.sa-page .agreement-lines-table{width:100%;table-layout:fixed;min-width:980px}.sa-page .agreement-lines-table .input,.sa-page .agreement-lines-table .select,.sa-page .agreement-lines-table .textarea{width:100%;max-width:100%}.sa-page .agreement-lines-table .col-svc{width:320px}.sa-page .agreement-lines-table .col-desc{width:360px}.sa-page .agreement-lines-table .col-rate,.sa-page .agreement-lines-table .col-unit{width:90px}.sa-page .agreement-lines-table .col-notes{width:260px}.sa-page .agreement-lines-table .col-actions{width:62px}@media(max-width:980px){.sa-page .sa-section-grid{grid-template-columns:1fr}}:root{--bg: #F2F5F7;--surface: #FFFFFF;--border: #E1E8ED;--text: #1A3D6D;--muted: #5F6C7B;--primary: #4EC3B3;--primary-hover: #3BB2A3;--danger: #E5533D;--warning: #F4A259;--shadow: 0 10px 28px rgba(15, 23, 42, .08);--shadow-sm: 0 6px 18px rgba(15, 23, 42, .06);--radius: 16px;--radius-sm: 12px;--page-pad-x: 18px;--page-pad-y: 18px}button{font:inherit;border-radius:12px;border:1px solid rgba(26,61,109,.18);background:var(--surface);color:var(--text);padding:10px 12px;cursor:pointer;transition:transform .02s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease}button:hover{border-color:#1a3d6d47;box-shadow:0 8px 18px #0f172a0f}button:active{transform:translateY(1px)}button:disabled{opacity:.65;cursor:default;box-shadow:none}.invoice-view-wrap{max-width:1100px;margin:0 auto;padding:16px}.invoice-view-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}.invoice-view-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.iv-card{margin-top:14px;padding:12px;border:1px solid var(--border, #ddd);border-radius:12px;background:var(--surface, #fff)}.iv-muted{font-size:12px;opacity:.75}.iv-muted-strong{font-size:12px;opacity:.85}.iv-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.iv-grid-2-tight{display:grid;grid-template-columns:1fr 1fr;gap:10px}.iv-divider{margin-top:12px;padding-top:12px;border-top:1px solid #eee}.iv-table-wrap{margin-top:16px;border:1px solid var(--border, #ddd);border-radius:12px;overflow:hidden;background:var(--surface, #fff)}.iv-table{width:100%;border-collapse:collapse}.iv-thead{background:#fafafa}.iv-th{text-align:left;padding:10px;border-bottom:1px solid var(--border, #ddd);font-weight:700;font-size:13px}.iv-th-right{text-align:right}.iv-td{padding:10px;border-bottom:1px solid #eee;font-size:14px}.iv-td-right{text-align:right}.iv-nowrap{white-space:nowrap}.iv-total-row{margin-top:14px;display:flex;justify-content:flex-end}.iv-totals{width:380px;padding:12px;border:1px solid var(--border, #ddd);border-radius:12px;background:var(--surface, #fff)}.iv-totals-line{display:flex;justify-content:space-between;margin-bottom:6px}.iv-total-final{display:flex;justify-content:space-between;margin-top:10px;font-size:16px}.iv-pill{display:inline-block;padding:3px 8px;border-radius:999px;border:1px solid var(--border, #ddd);background:#fafafa;font-size:12px}.iv-alert{margin-top:12px;padding:10px;border-radius:10px;background:#f5f5f5}.iv-alert-warn{margin-top:12px;padding:10px;border-radius:10px;background:#fff7d6}.iv-email-panel{margin-top:12px;padding:12px;border:1px solid var(--border, #ddd);border-radius:12px;background:#fafafa}.iv-email-row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.iv-email-to{min-width:320px;flex:1 1 320px}.iv-input{width:100%;padding:10px;border-radius:10px;border:1px solid #ccc;background:#fff}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";line-height:1.4;overflow:hidden}a{color:inherit}.app-shell{max-width:1700px;margin:0 auto;padding:var(--page-pad-y) var(--page-pad-x);height:100vh;display:flex;flex-direction:column;gap:12px}.auth-shell{max-width:440px;margin:0 auto;padding:44px 18px}.page-title{margin:0;font-size:22px;letter-spacing:-.2px}.subtle{color:var(--muted);font-size:14px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:#ffffffc7;border:1px solid rgba(225,232,237,.9);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:14px;position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.brand{display:flex;align-items:baseline;gap:10px;min-width:220px}.brand-title{font-weight:900;letter-spacing:-.4px;font-size:18px}.badge{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:#f2f5f799;color:var(--muted);padding:6px 10px;border-radius:999px;font-size:12px;white-space:nowrap}.nav{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.hr{height:1px;background:#e1e8ede6;border:none;margin:0}.app-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:14px 0 42px;-webkit-overflow-scrolling:touch}.app-content::-webkit-scrollbar{width:10px}.app-content::-webkit-scrollbar-thumb{background:#1a3d6d2e;border-radius:999px}.app-content::-webkit-scrollbar-track{background:transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 12px;border-radius:12px;border:1px solid rgba(26,61,109,.18);background:var(--surface);color:var(--text);font-weight:800;cursor:pointer;transition:transform .02s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease}.btn:hover{border-color:#1a3d6d47;box-shadow:0 8px 18px #0f172a0f}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.65;cursor:default;box-shadow:none}.btn-nav{border-color:#1a3d6d24;background:#f2f5f7eb}.btn-nav:hover{background:#f2f5f7}.btn-primary{border-color:#4ec3b3bf;background:#4ec3b34d}.btn-primary:hover{background:#4ec3b366}.btn-soft{border-color:#1a3d6d24;background:#f2f5f7eb}.btn-soft:hover{background:#f2f5f7}.btn-danger{border-color:#e5533d59;background:#e5533d1a}.btn-danger:hover{background:#e5533d24}.btn-ghost{border:1px solid rgba(26,61,109,.12);background:#f2f5f7a6}.btn-ghost:hover{border-color:#1a3d6d2e;background:#f2f5f7f2;box-shadow:none}.btn-active{border-color:#1a3d6d47;background:#e1e8ede6}.btn-nav.btn-active{border-color:#1a3d6d52;background:#e1e8edf2;color:var(--text)}.card{background:#ffffffeb;border:1px solid rgba(225,232,237,.95);border-radius:var(--radius);box-shadow:var(--shadow)}.card-inner{padding:14px}.card-header{padding:14px;border-bottom:1px solid rgba(225,232,237,.95)}.card-title{margin:0;font-weight:900;letter-spacing:-.2px;font-size:14px}.card-subtitle{margin-top:4px;color:var(--muted);font-size:13px}.kpi-grid{margin-top:14px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.kpi-label{color:var(--muted);font-size:13px}.kpi-value{font-size:30px;font-weight:950;letter-spacing:-.4px;margin-top:8px}.kpi-help{margin-top:6px;font-size:12px;color:var(--muted)}.kpi-card{width:100%;text-align:left;border-radius:var(--radius);border:1px solid rgba(225,232,237,.95);background:#ffffffeb;box-shadow:var(--shadow);padding:14px;cursor:pointer;transition:transform .02s ease,border-color .15s ease,box-shadow .15s ease;display:flex;flex-direction:column;justify-content:flex-start;min-height:126px}.kpi-card:hover{border-color:#1a3d6d33;box-shadow:0 12px 30px #0f172a1a}.kpi-card:active{transform:translateY(1px)}.kpi-card:disabled{opacity:.65;cursor:default;box-shadow:none}.kpi-danger .kpi-value{color:var(--danger)}.kpi-static{min-height:126px}.controls{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.field{display:flex;flex-direction:column;gap:6px}.label{font-size:14px;color:var(--muted)}.input,.select{height:38px;padding:0 10px;border-radius:12px;border:1px solid rgba(26,61,109,.18);background:var(--surface);color:var(--text);outline:none}.input:focus,.select:focus{border-color:#4ec3b3cc;box-shadow:0 0 0 4px #4ec3b32e}.table{width:100%;border-collapse:collapse}.table thead th{text-align:left;padding:12px;font-size:13px;color:var(--muted);background:#f2f5f7b3;border-bottom:1px solid rgba(225,232,237,.95);vertical-align:middle}.table tbody td{padding:12px;border-bottom:1px solid rgba(225,232,237,.8);font-size:15px;vertical-align:middle}.table tbody tr:hover{background:#f2f5f78c}.table .text-right,.text-right{text-align:right}.linklike{border:none;background:transparent;padding:0;cursor:pointer;font:inherit;color:var(--text);font-weight:800}.linklike:hover{color:#1a3d6de6;text-decoration:underline;text-underline-offset:3px}.notice{margin-top:12px;padding:12px;border-radius:12px;background:#1a3d6d0f;border:1px solid rgba(26,61,109,.12);font-size:13px;color:var(--text)}.section-grid{margin-top:14px;display:grid;grid-template-columns:1.3fr 1fr;gap:12px;align-items:start}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:980px){.section-grid,.form-grid-2{grid-template-columns:1fr}}.page-wrap{max-width:1600px;margin:0 auto}.page-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:end;margin-bottom:14px}.page-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.card-roomy .card-inner{padding:18px}.section-title{margin:0;font-weight:900;letter-spacing:-.2px;font-size:14px}.section-note{margin-top:4px;color:var(--muted);font-size:13px}.form-grid-3{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px}@media(max-width:980px){.form-grid-3{grid-template-columns:1fr}}.input-lg,.select-lg{height:42px;padding:0 12px;border-radius:12px;font-size:14px}.form-table{width:100%;table-layout:fixed}.table.form-table thead th{padding:12px}.table.form-table tbody td{padding:12px;vertical-align:top}.table.form-table .input,.table.form-table .select,.table.form-table textarea{width:100%}.textarea{border-radius:12px;border:1px solid rgba(26,61,109,.18);background:var(--surface);color:var(--text);outline:none;padding:10px 12px;min-height:44px;resize:vertical;font-family:inherit;font-size:14px;line-height:1.35;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;max-width:100%}.textarea:focus{border-color:#4ec3b3cc;box-shadow:0 0 0 4px #4ec3b32e}.textarea-desc{min-height:110px}.cell-desc{vertical-align:top}.line-row{border-bottom:1px solid rgba(225,232,237,.85)}.line-row:last-child{border-bottom:none}.input-num{text-align:right;font-variant-numeric:tabular-nums}.table-scroll{overflow-x:auto;padding-bottom:2px}.table-scroll::-webkit-scrollbar{height:10px}.table-scroll::-webkit-scrollbar-thumb{background:#1a3d6d2e;border-radius:999px}.table-scroll::-webkit-scrollbar-track{background:transparent}.invoice-lines-table .col-date{width:140px}.invoice-lines-table .col-service{width:300px}.invoice-lines-table .col-desc{width:auto}.invoice-lines-table .col-rate{width:120px}.invoice-lines-table .col-qty,.invoice-lines-table .col-km{width:90px}.invoice-lines-table .col-kmrate{width:220px}.invoice-lines-table .col-total{width:140px}.invoice-lines-table .col-remove{width:62px}.invoice-line-total{font-weight:950;font-variant-numeric:tabular-nums}.invoice-totals-under{display:flex;justify-content:flex-end}.invoice-totals-card{width:900px;max-width:100%}.totals-box{padding:16px}.totals-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(225,232,237,.85)}.totals-row:last-child{border-bottom:none}.totals-row-strong .totals-value{font-weight:950}.totals-row-grand{border-top:1px solid rgba(225,232,237,.85);margin-top:6px;padding-top:12px}.totals-label{color:var(--muted);font-size:13px}.totals-value{font-weight:950;letter-spacing:-.2px;font-variant-numeric:tabular-nums}.invoice-save-actions{display:grid;gap:10px}.invoice-lines-wrap{width:100%;overflow-x:visible}.textarea.textarea-compact{height:42px;min-height:42px;max-height:42px;resize:none;width:100%;overflow:auto;line-height:1.2;padding-top:10px}.no-spin::-webkit-outer-spin-button,.no-spin::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.no-spin[type=number]{-moz-appearance:textfield}.mt-6{margin-top:6px}.mt-10{margin-top:10px}.mt-12{margin-top:12px}.spacer-12{height:12px}.span-all{grid-column:1 / -1}.row-inline{display:flex;gap:10px;align-items:center;margin-top:6px}.row-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-end}.field-grow{flex:1 1 320px}.field-end{justify-content:flex-end}.label-inline{margin:0}.import-summary-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}.import-summary-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-end}.import-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;align-items:start}.import-summary-item{border:1px solid rgba(225,232,237,.95);border-radius:12px;background:#ffffffeb;padding:12px}.import-summary-value{margin-top:8px;font-size:22px;font-weight:950;letter-spacing:-.2px}@media(max-width:1024px){.create-invoice .invoice-lines-scroll,.create-invoice .table-scroll{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x pan-y}.create-invoice .invoice-lines-table{min-width:1180px}.create-invoice .invoice-lines-table{table-layout:auto!important}.create-invoice .invoice-lines-table td:nth-child(3){overflow:visible!important}.create-invoice .invoice-lines-table .textarea.textarea-compact{height:auto!important;min-height:60px!important;max-height:none!important;line-height:1.4!important;padding-top:8px!important;padding-bottom:8px!important;overflow:auto!important;resize:vertical}.invoice-totals-card{width:min(560px,100%)}}@media(max-width:720px){body{overflow:hidden}.app-shell{height:100vh;padding:14px;gap:10px}.app-content{padding:12px 0 22px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.topbar{padding:12px}.brand{min-width:0}.nav{width:100%}.page-head,.controls{gap:10px}.field,.input,.select{width:100%}.kpi-grid{grid-template-columns:1fr}.kpi-card,.kpi-static{min-height:0}.table thead th,.table tbody td{padding:10px}.btn{height:34px;padding:0 10px;font-size:13px}.page-actions .btn{flex:1 1 auto}.table-scroll,.invoice-lines-scroll{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x pan-y}.invoice-lines-table{min-width:1180px}.create-invoice .invoice-lines-table{table-layout:auto!important}.create-invoice .invoice-lines-table th:nth-child(2),.create-invoice .invoice-lines-table td:nth-child(2){min-width:300px}.create-invoice .invoice-lines-table th:nth-child(3),.create-invoice .invoice-lines-table td:nth-child(3){min-width:300px}.create-invoice .invoice-lines-table th:nth-child(4),.create-invoice .invoice-lines-table td:nth-child(4){min-width:140px}.create-invoice .invoice-lines-table th:nth-child(5),.create-invoice .invoice-lines-table td:nth-child(5){min-width:110px}.create-invoice .invoice-lines-table th:nth-child(6),.create-invoice .invoice-lines-table td:nth-child(6){min-width:110px}.create-invoice .invoice-lines-table th:nth-child(7),.create-invoice .invoice-lines-table td:nth-child(7){min-width:190px}.create-invoice .invoice-lines-table th:nth-child(8),.create-invoice .invoice-lines-table td:nth-child(8){min-width:150px}.create-invoice .invoice-lines-table .input.input-num{padding-left:12px;padding-right:12px;text-align:left}.create-invoice .invoice-lines-table td:nth-child(3){overflow:visible!important}.invoice-lines-table thead th{white-space:nowrap;padding-left:12px;padding-right:12px}.invoice-lines-table thead th+th{border-left:1px solid rgba(225,232,237,.95)}.create-invoice .invoice-lines-table .textarea.textarea-compact{height:auto!important;min-height:64px!important;max-height:none!important;line-height:1.4!important;padding-top:8px!important;padding-bottom:8px!important;overflow:auto!important;resize:vertical}.create-invoice .invoice-lines-table select.select{height:34px;padding:0 8px;font-size:16px;line-height:1.1}.invoice-lines-table tbody td{vertical-align:top}}.invoice-view-wrap .iv-card,.invoice-view-wrap .iv-table-wrap{border-color:#b2c0cc}.invoice-view-wrap .iv-divider{border-top-color:#b2c0cc}.invoice-view-wrap .iv-th,.invoice-view-wrap .iv-td{border-bottom-color:#c2ced8}.invoice-view-wrap .iv-thead{border-bottom-color:#b2c0cc}.pdf-render .iv-card,.pdf-render .iv-table-wrap,.pdf-render .iv-totals{border:1px solid rgba(26,61,109,.32)!important}.pdf-render .iv-th{border-bottom:1px solid rgba(26,61,109,.26)!important}.pdf-render .iv-td{border-bottom:1px solid rgba(26,61,109,.18)!important}.iv-table tbody td:nth-child(3){white-space:normal;overflow-wrap:anywhere;word-break:break-word}.iv-totals>.iv-muted{display:none!important}.sa-doc h1,.sa-doc h2,.sa-doc h3,.sa-doc p,.sa-doc li,.sa-doc table,.sa-doc tr,.sa-doc td,.sa-doc th,.sa-avoid-break,.sa-avoid-break *{break-inside:avoid;page-break-inside:avoid}.sa-doc h1,.sa-doc h2,.sa-doc h3{break-after:avoid;page-break-after:avoid}.invoice-view-wrap .iv-card,.invoice-view-wrap .iv-table-wrap,.invoice-view-wrap .iv-totals{border:2px solid #8fa1b2}.invoice-view-wrap .iv-divider{border-top:2px solid #8fa1b2}.invoice-view-wrap .iv-th{border-bottom:2px solid #8fa1b2}.invoice-view-wrap .iv-td{border-bottom:1px solid #c2ced8}.invoice-view-wrap .iv-thead{border-bottom:none!important}.pdf-render .iv-card,.pdf-render .iv-table-wrap,.pdf-render .iv-totals{border:2px solid #8fa1b2!important}.pdf-render .iv-divider{border-top:2px solid #8fa1b2!important}.pdf-render .iv-th{border-bottom:2px solid #8fa1b2!important}.pdf-render .iv-td{border-bottom:1px solid #c2ced8!important}@media print{body{background:#fff}.no-print{display:none!important}.print-container{max-width:none!important;padding:0!important;margin:0!important}table{page-break-inside:auto}tr{page-break-inside:avoid;page-break-after:auto}thead{display:table-header-group}tfoot{display:table-footer-group}}
