:root{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#18334c;background:#f3f7fb}*{box-sizing:border-box}body{margin:0}.login{min-height:100vh;display:grid;place-items:center;padding:22px}.login-card{background:white;width:min(100%,430px);border:1px solid #dce7f0;border-radius:18px;padding:34px;box-shadow:0 15px 50px #173e6415}.brand{display:flex;align-items:center;gap:12px}.brand strong{display:block;letter-spacing:.07em;font-size:19px}.brand small{display:block;color:#607c92;font-size:12px;margin-top:3px}.mark{display:grid;place-items:center;background:#2563a6;color:white;font-size:24px;font-weight:800;border-radius:12px;width:48px;height:48px}h1{font-size:28px;margin:36px 0 8px}p{color:#61798c;line-height:1.55}label{display:block;font-weight:600;font-size:13px;margin-top:19px}input{display:block;width:100%;border:1px solid #cad8e5;border-radius:9px;padding:13px;font:inherit;margin-top:8px}input:focus{outline:2px solid #8bb9e4}button{width:100%;margin:25px 0 10px;background:#2563a6;border:0;border-radius:9px;color:white;padding:14px;font-weight:700;cursor:pointer}button:disabled{opacity:.6;cursor:wait}small{color:#7a90a3}#error{font-size:13px;color:#b42318;min-height:18px}.layout{display:flex;min-height:100vh}.sidebar{width:240px;background:#174a7c;color:white;padding:22px 15px}.sidebar .brand small{color:#d7e6f6}.sidebar .mark{background:#ffffff26}.nav{display:grid;gap:5px;margin-top:40px}.nav button{margin:0;background:transparent;text-align:left;font-weight:500;padding:12px}.nav button.active,.nav button:hover{background:#ffffff25}.workspace{flex:1;padding:28px;min-width:0}.top{display:flex;justify-content:space-between;align-items:center;gap:16px}.top h1{margin:0}.top button{width:auto;margin:0;background:#e4eef7;color:#174a7c}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:26px 0}.stat,.panel{background:white;border:1px solid #dce7f0;border-radius:12px;padding:23px}.stat b{display:block;font-size:25px;margin-top:10px}.panel{min-height:180px}.muted{color:#61798c}.fab{position:fixed;right:24px;bottom:24px;width:56px;height:56px;border-radius:50%;font-size:30px;box-shadow:0 5px 20px #174a7c33}.menu{position:fixed;right:24px;bottom:90px;background:white;border:1px solid #dce7f0;border-radius:12px;padding:12px;box-shadow:0 10px 35px #173e6420}.menu button{display:block;margin:3px 0;background:#eef5fc;color:#174a7c;text-align:left;white-space:nowrap}@media(max-width:760px){.layout{display:block}.sidebar{width:100%;padding:14px}.nav{display:flex;overflow:auto;margin-top:14px}.nav button{white-space:nowrap;width:auto}.workspace{padding:18px}.stats{grid-template-columns:1fr}.top h1{font-size:24px}}
.nav-icon{display:inline-flex;width:28px;font-size:17px;opacity:.8}.record{display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid #e5edf5;padding:14px 0}.record:last-child{border-bottom:0}.record[hidden]{display:none}.record-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;max-width:800px}.record-form label{margin:0}.record-form input,.record-form select,.record-form textarea,#filter,#upload-file{display:block;width:100%;border:1px solid #cad8e5;border-radius:8px;padding:12px;background:white;font:inherit;margin-top:7px}.record-form button,.small-btn,#upload button{width:auto;margin:12px 0 0;padding:10px 16px}.secondary{background:#e8f1fa;color:#174a7c}.panel-head{display:flex;justify-content:space-between;align-items:center}.panel-head h2{margin:0}.top-actions{display:flex;align-items:center;gap:10px}.stat small{display:block;color:#70899e;font-size:12px;margin-top:8px}#detail{margin-top:18px}#upload{display:flex;gap:12px;align-items:end;flex-wrap:wrap}#upload input{max-width:380px}@media(max-width:760px){.record-form{grid-template-columns:1fr}.record{align-items:flex-start;flex-direction:column}.sidebar .nav button{display:flex;align-items:center}.panel{padding:18px}.top{align-items:flex-start}.top button{white-space:nowrap}}

.record-title{border:0;background:none;color:#205f9d;font-size:15px;font-weight:700;cursor:pointer;padding:0;text-align:left;width:auto;margin:0;text-decoration:underline;text-underline-offset:3px}.record small{display:block;margin-top:6px;color:#6b8193}.record[hidden]{display:none}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}.detail-pair{background:#f4f8fc;border-radius:8px;padding:12px;overflow-wrap:anywhere}.detail-pair strong{display:block;color:#506d85;font-size:12px;text-transform:capitalize;margin-bottom:7px}.editor-area{background:white;border:1px solid #dce7f0;border-radius:12px;padding:22px;margin-top:18px}.lines-wrap{overflow-x:auto}.line-grid{display:grid;grid-template-columns:minmax(180px,3fr) 80px 75px 100px 80px 110px 38px;gap:8px;align-items:center;min-width:760px;margin:8px 0}.line-grid:has(input[data-k="notes"]){grid-template-columns:minmax(180px,3fr) 80px 75px minmax(160px,2fr) 38px;min-width:610px}.line-heading{font-size:12px;color:#6b8193;font-weight:700}.line-grid input,.line-grid select{min-width:0;width:100%;padding:9px;border:1px solid #cad8e5;border-radius:7px;font:inherit}.line-grid button{margin:0;padding:7px;width:36px}.totals{max-width:380px;margin:20px 0 0 auto}.totals>div{display:flex;justify-content:space-between;gap:15px;padding:8px;border-bottom:1px solid #e6edf4}.totals .grand-total{font-size:20px;font-weight:700;border-top:2px solid #1d4d7b}.document-actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.document-actions button{width:auto;min-width:150px;margin:0}.record-form input[type="search"]{margin-bottom:6px}@media(max-width:760px){.detail-grid{grid-template-columns:1fr}.document-actions button{flex:1}}

/* Navigation groups */
.sidebar{display:flex;flex-direction:column;max-height:100vh;position:sticky;top:0;overflow:hidden}
.sidebar .nav{display:block;overflow-y:auto;overflow-x:hidden;margin-top:12px;padding-bottom:20px;min-height:0;scrollbar-width:thin}
.sidebar-create{background:#f3f8fe;color:#174a7c;border:1px solid #bdd1e3;border-radius:22px;padding:11px 16px;margin:24px 0 0;width:100%;font-size:14px;font-weight:700}
.sidebar-create:hover{background:white}
.sidebar .nav-group{margin:2px 0}
.sidebar .nav-parent{display:flex;align-items:center;gap:9px;width:100%;margin:0;background:transparent;color:#eaf3fd;border:0;border-radius:8px;padding:12px 9px;text-align:left;font-size:13px;font-weight:650;cursor:pointer}
.sidebar .nav-parent:hover,.sidebar .nav-parent.expanded{background:#ffffff20}
.sidebar .nav-parent>span:nth-child(2){flex:1}
.sidebar .nav-chevron{font-size:18px}
.sidebar .nav-children{display:grid;gap:2px;padding:3px 0 8px 28px}
.sidebar .nav-child{width:100%;margin:0;border:0;background:transparent;color:#e4effa;text-align:left;font-size:12px;padding:9px 8px;border-radius:7px;cursor:pointer;font-weight:500}
.sidebar .nav-child:hover,.sidebar .nav-child.active{background:#ffffff2b;color:white}
@media(max-width:760px){.sidebar{position:relative;max-height:none;overflow:visible}.sidebar .nav{display:flex;overflow-x:auto;overflow-y:visible;gap:6px;padding:0 0 12px}.sidebar .nav-group{flex-shrink:0}.sidebar .nav-parent{white-space:nowrap}.sidebar .nav-children{position:absolute;z-index:5;background:#174a7c;border-radius:8px;padding:8px;box-shadow:0 12px 24px #0003;max-height:55vh;overflow:auto}.sidebar-create{margin:12px 0;width:auto}}

.entity-switch-label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:#56758f;font-weight:600;margin:0}.entity-switch-label select{font:inherit;font-size:13px;color:#174a7c;background:#eef5fb;border:1px solid #caddeb;border-radius:9px;padding:9px 12px;min-width:230px;max-width:320px}.top-actions{display:flex;align-items:center;gap:12px}@media(max-width:760px){.top{flex-wrap:wrap}.top-actions{width:100%;justify-content:space-between}.entity-switch-label select{min-width:0;max-width:240px;width:100%}}

/* Unified ContaSimple-inspired work area */
.workspace{background:#f3f6f9;padding:26px 28px}.top{padding-bottom:18px;margin-bottom:16px;border-bottom:1px solid #dce5ee}.top h1{font-size:25px;font-weight:750}.panel{box-shadow:none;border:1px solid #dbe5ee;border-radius:9px;margin-bottom:14px;background:#fff}.panel h2{font-size:19px}.list-controls{padding:18px 22px}.list-controls .panel-head{margin-bottom:15px}.list-controls #filter{max-width:460px}.table-scroll{overflow-x:auto;width:100%}.data-table{width:100%;border-collapse:collapse;font-size:13px;min-width:760px}.data-table th{background:#f2f5f9;color:#254d70;font-weight:700;text-align:left;padding:14px 11px;border-bottom:1px solid #d8e3ee;white-space:nowrap}.data-table td{padding:13px 11px;border-bottom:1px solid #e1e9f0;vertical-align:middle}.data-table tr:hover td{background:#f8fbfe}.data-table tr[hidden]{display:none}.table-actions{display:flex;gap:5px;flex-wrap:nowrap}.table-actions button{white-space:nowrap;margin:0;padding:7px 9px;font-size:12px}.record-form{max-width:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px}.record-form label{font-size:12px;color:#2d506c}.record-form input,.record-form select{font-size:14px}.editor-area{margin:12px 0}.line-grid{grid-template-columns:minmax(260px,3fr) 80px 74px 100px 75px 105px 38px}.line-grid:has(input[data-k="notes"]){grid-template-columns:minmax(300px,3fr) 72px 72px minmax(180px,2fr) 38px}.document-actions{padding:8px 0 25px}.sidebar .brand{padding:0 4px}.sidebar{width:220px;flex-shrink:0}.sidebar .nav-parent{font-size:13px}.sidebar .nav-child{font-size:12px}@media(max-width:1000px){.record-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.workspace{padding:15px}.record-form{grid-template-columns:1fr}.sidebar{width:100%}.data-table{min-width:650px}.table-actions{flex-wrap:wrap}.top h1{font-size:21px}}

/* Foldable document editor */
.doc-fold{border:1px solid #dbe5ef;border-radius:8px;margin:12px 0;background:#fff;overflow:hidden}.doc-fold summary{padding:14px 16px;cursor:pointer;font-size:14px;font-weight:700;color:#174a7c;background:#f8fbfd;list-style-position:inside}.doc-fold[open] summary{border-bottom:1px solid #e0eaf2}.doc-fold .record-form{padding:16px}.doc-fold .client-details{padding:15px}.client-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.client-grid>div{padding:9px 12px;background:#f2f7fb;border-radius:6px;min-width:0;overflow-wrap:anywhere}.client-grid small{display:block;color:#68829a;font-size:11px;margin-bottom:5px}.client-grid strong{font-size:12px;font-weight:650}.notes-layout{padding:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.notes-layout label{font-size:12px}.notes-layout textarea,.notes-layout select{display:block;width:100%;box-sizing:border-box;border:1px solid #cad8e5;border-radius:7px;padding:10px;font:inherit;margin-top:7px}.doc-fold #document-files,.doc-fold #document-upload{padding:14px 16px}.doc-fold #document-upload{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.line-grid:not(:has(input[data-k="notes"])){grid-template-columns:minmax(230px,3fr) 70px 68px 92px 68px 68px 105px 34px;min-width:780px}.line-grid:not(:has(input[data-k="notes"])) input[data-k="discount_rate"]{width:100%}@media(max-width:1050px){.client-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.notes-layout{grid-template-columns:1fr 1fr}}@media(max-width:760px){.client-grid,.notes-layout{grid-template-columns:1fr}}

/* Shared modal detail viewer */
.detail-overlay{position:fixed;inset:0;background:rgba(20,36,52,.57);z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}.detail-modal{width:min(960px,96vw);max-height:90vh;background:white;border-radius:12px;display:flex;flex-direction:column;box-shadow:0 24px 60px #0004;overflow:hidden}.detail-modal-header{display:flex;justify-content:space-between;align-items:center;padding:17px 23px;border-bottom:1px solid #e1e8f0}.detail-modal-header h2{margin:0;font-size:18px;color:#173e66}.detail-modal-header button{font-size:21px;margin:0}.detail-modal-body{overflow-y:auto;padding:18px 23px}.detail-block{margin-bottom:16px;border:1px solid #dce6ef;border-radius:8px;padding:16px}.detail-block h3{font-size:14px;color:#174a7c;margin:0 0 14px}.detail-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}.detail-info{min-width:0;overflow-wrap:anywhere}.detail-info span{display:block;font-size:11px;color:#6d8295;margin-bottom:4px}.detail-info strong{font-size:13px;font-weight:600;color:#253f56}.detail-totals{max-width:320px;margin:20px 0 0 auto}.detail-totals>div{display:flex;justify-content:space-between;gap:18px;padding:7px 0;border-bottom:1px solid #e6edf3}.detail-modal-footer{display:flex;gap:9px;justify-content:flex-end;padding:15px 23px;border-top:1px solid #e1e8f0;background:#f8fafc}.detail-modal-footer button{width:auto;margin:0;min-width:95px}.detail-modal .data-table{min-width:580px}@media(max-width:760px){.detail-overlay{padding:7px}.detail-modal{max-height:96vh;width:100%}.detail-modal-body{padding:12px}.detail-info-grid{grid-template-columns:1fr}.detail-modal-footer{padding:12px;flex-wrap:wrap}}

.settings-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:22px 0}.settings-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:10px;border:1px solid #d9e3ed;border-radius:9px;background:#fff;color:#183f65;padding:20px;min-height:110px;cursor:pointer;width:100%;margin:0}.settings-card:hover{border-color:#2563a6;background:#f4f9ff}.settings-card strong{font-size:14px}.settings-card small{font-size:12px;color:#637f96;line-height:1.5}.series-test{display:flex;align-items:center;gap:8px}.series-test input{width:auto}.settings-cards button{font-family:inherit}

/* Invoice-style line editor; independent implementation */
.line-grid.line-economic{display:grid;grid-template-columns:minmax(260px,3fr) 105px 100px 68px 85px 150px 105px 65px;gap:8px;min-width:1020px;align-items:start}
.line-grid.line-plain{display:grid;grid-template-columns:minmax(260px,3fr) 100px 75px minmax(180px,2fr) 65px;gap:8px;min-width:690px;align-items:start}
.line-grid.line-heading{align-items:center;font-size:12px;color:#506b83;font-weight:700}
.line-grid textarea,.line-grid input,.line-grid select{box-sizing:border-box;font-family:inherit;font-size:13px;border:1px solid #d8dbdf;border-radius:4px;padding:6px;min-height:40px;width:100%;background:white;color:#25272c;min-width:0}
.line-grid textarea{min-width:0;resize:vertical;overflow:hidden;line-height:19px}
.line-grid .money-field,.line-grid .percent-field{display:flex;position:relative;align-items:center}
.line-grid .money-field input,.line-grid .percent-field input{padding-right:19px}
.line-grid .money-field span,.line-grid .percent-field span{position:absolute;right:7px;font-size:12px;color:#6b7280;pointer-events:none}
.line-grid .quantity-stepper{display:flex;align-items:center;border:1px solid #d8dbdf;border-radius:4px;height:40px;overflow:hidden}
.line-grid .quantity-stepper input{width:100%;border:0;text-align:center;min-height:36px;padding:2px 0;font-size:12px;appearance:textfield}
.line-grid .quantity-stepper input::-webkit-inner-spin-button,.line-grid .quantity-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.line-grid .quantity-stepper button{margin:0;padding:0 6px;height:100%;border:0;border-radius:0;background:#f1f5f9;color:#174a7c;font-size:16px;min-width:22px;width:auto}
.line-grid .tax-field{display:flex;align-items:center;gap:5px}
.line-grid .tax-field select{width:69px;flex-shrink:0}
.line-grid .tax-field small{font-size:11px;color:#516e84;white-space:nowrap}
.line-grid .line-sum{font-size:13px;white-space:nowrap;padding-top:12px}
.line-grid .line-operations{display:flex;gap:3px}
.line-grid .line-operations button{margin:0;width:28px;min-width:28px;padding:0;height:36px;background:#f5f8fb;color:#24577e;border:1px solid #d8dbdf;border-radius:4px;font-size:18px}
.line-grid .line-operations button:hover{background:#e4eff9}

/* Alignment correction: all eight economic columns use the same grid */
.lines-wrap{width:100%;max-width:100%;overflow-x:auto;overflow-y:visible}
.line-grid.line-economic,.line-grid.line-economic:not(:has(input[data-k="notes"])){grid-template-columns:minmax(240px,1fr) 90px 104px 74px 78px 116px 100px 68px;min-width:870px;column-gap:8px;align-items:start}
.line-grid.line-plain,.line-grid.line-plain:has(input[data-k="notes"]){grid-template-columns:minmax(260px,1fr) 104px 78px minmax(170px,.65fr) 68px;min-width:690px;column-gap:8px}
.line-grid.line-economic>* ,.line-grid.line-plain>*{min-width:0;box-sizing:border-box}
.line-grid.line-economic .money-field input{padding-right:23px;padding-left:5px;font-variant-numeric:tabular-nums}
.line-grid.line-economic .money-field span{right:7px;top:13px}
.line-grid.line-economic .quantity-stepper{width:100%;min-width:0}
.line-grid.line-economic .quantity-stepper button{flex:0 0 24px;min-width:24px;padding:0}
.line-grid.line-economic .quantity-stepper input{flex:1 1 auto;min-width:0;width:0;padding:0;text-align:center}
.line-grid.line-economic .tax-field{display:flex;flex-direction:column;align-items:stretch;gap:3px;min-width:0}
.line-grid.line-economic .tax-field select{width:100%;min-width:0;height:40px}
.line-grid.line-economic .tax-field .vat-amount{display:block;width:100%;text-align:right;white-space:nowrap;font-size:11px;line-height:15px}
.line-grid.line-economic .line-sum{display:block;text-align:right;padding:11px 0 0;overflow:visible;white-space:nowrap;font-size:12px;font-variant-numeric:tabular-nums}
.line-grid.line-economic .line-operations{display:flex;justify-content:flex-end;gap:4px;min-width:0}
.line-grid.line-economic .line-operations button{flex:0 0 29px;width:29px;min-width:29px}
.line-grid.line-heading span:last-child{white-space:nowrap;text-align:right}
@media(min-width:1250px){.line-grid.line-economic,.line-grid.line-economic:not(:has(input[data-k="notes"])){min-width:0;grid-template-columns:minmax(240px,1fr) 90px 104px 74px 78px 116px 100px 68px}}

/* Final vertical alignment and inline row menu */
.line-grid.line-economic .money-field,.line-grid.line-economic .percent-field{height:40px;min-height:40px;align-self:start;margin:0;padding:0;position:relative;vertical-align:top}
.line-grid.line-economic .money-field input,.line-grid.line-economic .percent-field input{display:block;height:40px;min-height:40px;margin:0;line-height:20px;align-self:start}
.line-grid.line-economic .money-field span,.line-grid.line-economic .percent-field span{top:50%;transform:translateY(-50%);line-height:1}
.line-grid.line-economic .quantity-stepper,.line-grid.line-economic>select[data-k="unit"],.line-grid.line-economic .tax-field select{height:40px;min-height:40px;margin:0;align-self:start}
.line-grid.line-economic .line-operations{align-items:flex-start;overflow:visible;position:relative}
.line-action-menu{position:relative;display:block;flex:0 0 29px;width:29px;z-index:5}
.line-action-menu[open]{z-index:50}
.line-action-menu summary{list-style:none;display:flex;align-items:center;justify-content:center;width:29px;height:36px;box-sizing:border-box;border:1px solid #d8dbdf;border-radius:4px;background:#f5f8fb;color:#24577e;cursor:pointer;font-size:18px}
.line-action-menu summary::-webkit-details-marker{display:none}
.line-action-menu summary:hover{background:#e4eff9}
.line-action-options{position:absolute;top:39px;right:0;min-width:150px;background:white;border:1px solid #d8dbdf;border-radius:7px;box-shadow:0 7px 20px #0002;padding:5px;display:flex;flex-direction:column;z-index:60}
.line-grid .line-operations .line-action-options button{display:block;width:100%;height:auto;min-height:33px;padding:7px 10px;text-align:left;font-size:12px;border:0;border-radius:4px;background:white;color:#253f56;white-space:nowrap}
.line-grid .line-operations .line-action-options button:hover{background:#edf4fb}
.line-grid.line-economic{overflow:visible}

/* IVA rate and tax amount side by side, aligned with the rest of the row */
.line-grid.line-economic,.line-grid.line-economic:not(:has(input[data-k="notes"])){grid-template-columns:minmax(240px,1fr) 90px 104px 74px 78px 165px 100px 68px;min-width:920px}
.line-grid.line-economic .tax-field{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:5px;height:40px;min-height:40px}
.line-grid.line-economic .tax-field select{width:72px;min-width:0;height:40px;min-height:40px;margin:0}
.line-grid.line-economic .tax-field .vat-amount{display:block;min-width:0;width:auto;line-height:18px;text-align:right;font-size:12px;white-space:nowrap;color:#253f56;font-variant-numeric:tabular-nums}
@media(min-width:1250px){.line-grid.line-economic,.line-grid.line-economic:not(:has(input[data-k="notes"])){grid-template-columns:minmax(240px,1fr) 90px 104px 74px 78px 165px 100px 68px;min-width:0}}

/* Tax amount must be a proper control, not floating text */
.line-grid.line-economic .tax-field{display:grid;grid-template-columns:70px minmax(82px,1fr);gap:5px;align-items:start;height:40px;min-height:40px}
.line-grid.line-economic .tax-field select{width:70px;height:40px;min-height:40px}
.line-grid.line-economic .tax-field .vat-amount{display:flex;align-items:center;justify-content:flex-end;box-sizing:border-box;width:100%;min-width:82px;height:40px;min-height:40px;margin:0;padding:0 7px;border:1px solid #d8dbdf;border-radius:4px;background:#f6f8fa;color:#253f56;font-size:12px;line-height:18px;font-variant-numeric:tabular-nums;white-space:nowrap}
.line-grid.line-economic .line-sum{font-weight:700;font-size:12px}

/* THERMOLLUM brand refresh — sampled from supplied Google blue button (#1A73E8).
   Permanent subtle multicolor field borders, blue brand for navigation and actions. */
:root{--thermollum-blue:#1a73e8;--thermollum-blue-hover:#1765cb;--thermollum-field-border:linear-gradient(115deg,#ed8497 0%,#ba91d8 32%,#6786ec 66%,#348de0 100%)}
.sidebar{background:var(--thermollum-blue)}
.mark,button:not(.secondary):not(.settings-card):not([data-step]):not([data-remove]):not([data-action]):not([data-menu]):not(.nav button):not(.top button):not(.line-action-options button):not(.quantity-stepper button):not(.line-operations button){background:var(--thermollum-blue)}
.fab{background:var(--thermollum-blue);box-shadow:0 5px 20px #1a73e833}
button:not(.secondary):hover{--thermollum-blue:#1765cb}
.top button,.menu button{color:#125bb8}
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="color"]),select,textarea),
.line-grid :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea),
.record-form :where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="color"]),select,textarea),
.notes-layout :where(input,select,textarea){
  border:1px solid transparent;
  border-radius:7px;
  background:linear-gradient(#fff,#fff) padding-box,var(--thermollum-field-border) border-box;
}
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="color"]),select,textarea):focus-visible{
  outline:2px solid #1a73e84d;outline-offset:1px;
}
.line-grid .quantity-stepper{border:1px solid transparent;background:linear-gradient(#fff,#fff) padding-box,var(--thermollum-field-border) border-box;border-radius:7px}
.line-grid .quantity-stepper input{border:0;background:transparent;outline-offset:-2px}
.line-grid .tax-field .vat-amount{border:1px solid transparent;background:linear-gradient(#f8fbff,#f8fbff) padding-box,var(--thermollum-field-border) border-box;border-radius:7px}

/* Persistent multicolor border on all editable fields and read-only detail cards */
:root{--thermollum-field-border:linear-gradient(115deg,#e87993 0%,#b47bdd 32%,#6c7ff0 66%,#1a73e8 100%)}
#content :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="color"]),select,textarea),
.detail-modal :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="color"]),select,textarea){
 border:2px solid transparent!important;
 background:linear-gradient(#fff,#fff) padding-box,var(--thermollum-field-border) border-box!important;
 border-radius:7px;
}
#content .line-grid .quantity-stepper{border:2px solid transparent!important;background:linear-gradient(#fff,#fff) padding-box,var(--thermollum-field-border) border-box!important}
#content .line-grid .quantity-stepper input{border:0!important;background:transparent!important}
#content .line-grid .tax-field .vat-amount{border:2px solid transparent!important;background:linear-gradient(#f8fbff,#f8fbff) padding-box,var(--thermollum-field-border) border-box!important}
.detail-modal .detail-info{border:1px solid transparent;border-radius:7px;background:linear-gradient(#f8fbff,#f8fbff) padding-box,var(--thermollum-field-border) border-box;padding:9px 11px}

/* General forms and information panels: persistent gradient outlines */
#content .record-form label>input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="color"]),
#content .record-form label>select,
#content .record-form label>textarea,
#content .doc-fold .client-grid>div,
#content .client-details .client-grid>div,
#content .detail-pair,
#content .detail-info,
#content .settings-card{
  border:1.5px solid transparent!important;
  border-radius:8px;
  background:linear-gradient(#fff,#fff) padding-box,var(--thermollum-field-border) border-box!important;
}
#content .client-grid>div{padding:9px 12px}
#content .record-title,#content button.record-title,#content .data-table .record-title{
  background:transparent!important;
  background-color:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:#1a73e8!important;
  padding:0!important;
  border-radius:0!important;
  -webkit-user-select:none;
  user-select:none;
}
#content .record-title::selection{background:transparent;color:#1a73e8}

/* Four-corner Google-inspired permanent field outline */
:root{--thermollum-field-border:conic-gradient(from 225deg at 50% 50%,#ea4335 0deg,#4285f4 90deg,#34a853 180deg,#fbbc05 270deg,#ea4335 360deg)}

/* Unified four-corner border across cards, panels, forms and document surfaces */
:root{--thermollum-field-border:conic-gradient(from 225deg at 50% 50%,#ea4335 0deg,#4285f4 90deg,#34a853 180deg,#fbbc05 270deg,#ea4335 360deg)}
:is(.stat,.panel,.doc-fold,.detail-block,.detail-modal,.login-card,.menu,.settings-card,.detail-pair,.client-grid>div,.detail-info,.detail-info-grid>.detail-info,.notes-layout>div,.record-form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="color"]),.record-form select,.record-form textarea,#filter,.client-search,.line-grid textarea,.line-grid>input,.line-grid>select,.line-grid .money-field input,.line-grid .percent-field input,.line-grid .tax-field select,.notes-layout textarea,.notes-layout select){
  border:1.5px solid transparent!important;
  background:linear-gradient(#fff,#fff) padding-box,var(--thermollum-field-border) border-box!important;
}
:is(.stat,.panel,.detail-block,.detail-modal,.login-card,.menu,.settings-card,.detail-pair,.client-grid>div,.detail-info){border-radius:10px}
.doc-fold{border-radius:8px}
:is(.stat,.panel,.detail-block,.detail-modal,.login-card,.menu,.settings-card,.detail-pair,.client-grid>div,.detail-info) :is(input,textarea,select){background-clip:padding-box,border-box}
.doc-fold>summary{border-radius:7px 7px 0 0}
.line-grid .tax-field .vat-amount{background:linear-gradient(#f8fbff,#f8fbff) padding-box,var(--thermollum-field-border) border-box!important}

/* Scope multicolor to outer section containers only. Data-bearing fields revert to neutral. */
#content :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="color"]),select,textarea),
.detail-modal :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="color"]),select,textarea),
#content .record-form label>input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="color"]),
#content .record-form label>select,
#content .record-form label>textarea,
#content .line-grid .money-field input,
#content .line-grid .percent-field input,
#content .line-grid .tax-field select,
#content .line-grid .quantity-stepper input,
#content .notes-layout :is(input,select,textarea),
#content .client-search,
#content #filter{
  border:1px solid #cad8e5!important;
  background:#fff!important;
  border-radius:7px;
}
#content .client-grid>div,
#content .client-details .client-grid>div,
#content .detail-pair,
#content .detail-info,
.detail-modal .detail-info,
#content .line-grid .tax-field .vat-amount{
  border:1px solid #dce7f0!important;
  background:#f2f7fb!important;
  border-radius:7px;
}
#content .line-grid .quantity-stepper{
  border:1px solid #cad8e5!important;
  background:#fff!important;
}
#content .line-grid .quantity-stepper input{border:0!important;background:transparent!important}
#content .line-grid .money-field span,
#content .line-grid .percent-field span{background:transparent!important}
#content :is(input,select,textarea):focus-visible{
  outline:2px solid #1a73e866;
  outline-offset:1px;
}

/* Estimate editor: compact advanced controls and linked documents */
.line-editor-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0 4px;flex-wrap:wrap}
.line-editor-footer button{margin:0;width:auto}
.advanced-line{grid-column:1/-1;display:grid;grid-template-columns:minmax(250px,2.5fr) 145px 145px 130px 160px;gap:12px;padding:14px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;margin-bottom:8px}
.advanced-line label{margin:0;font-size:12px;color:#334155}
.advanced-line textarea,.advanced-line input,.advanced-line select{width:100%;min-height:38px;margin-top:6px;padding:8px;border:1px solid #cad8e5;border-radius:6px;background:#fff}
.advanced-line strong{display:block;margin-top:12px;font-size:14px}
.other-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:18px}
.other-fields label{margin:0}
.other-fields select{width:100%;margin-top:8px}
.format-example{align-self:end;background:#f3f6fa;padding:12px;border-radius:8px;font-size:13px}
.linked-documents{padding:16px}.linked-documents h4{margin:14px 0 6px}.linked-documents p{margin:5px 0;color:#61798c}.linked-row{padding:8px;border-bottom:1px solid #e2e8f0}
@media(max-width:1150px){.advanced-line{grid-template-columns:repeat(2,minmax(0,1fr))}.advanced-line label:first-child{grid-column:1/-1}.other-fields{grid-template-columns:1fr}}

#totals{max-width:none;width:100%;margin-top:16px}
#totals .estimate-summary-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
#totals .estimate-summary-cards>div{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid #dce7f0;border-radius:7px;background:#fff;font-size:13px}
#totals .estimate-summary-cards strong{align-self:flex-end;font-size:19px;font-variant-numeric:tabular-nums}
#totals .estimate-summary-cards .summary-final{background:#e8edf5}
@media(max-width:850px){#totals .estimate-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}

.business-logo-section{margin-top:22px;padding:18px;border:1px solid #dce7f0;border-radius:10px;background:#fff}
.business-logo-section h3{margin:0 0 8px;font-size:15px;color:#173e66}
.business-logo-section p{margin:6px 0 12px}
.business-logo-preview{display:flex;align-items:center;justify-content:center;width:min(100%,340px);height:130px;border:1px dashed #cad8e5;border-radius:8px;background:#f8fafc;color:#64748b;margin:12px 0}
.business-logo-preview img{max-width:100%;max-height:116px;object-fit:contain}
#business-logo-form{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
#business-logo-form input{width:min(100%,350px);margin:0}
#business-logo-form button{width:auto;margin:0}
#business-logo-status{font-size:13px}

/* Quick-create actions remain white despite generic primary-button styles. */
#quick .menu button{background:#fff!important;color:#174a7c!important;border:1px solid #dce7f0}
#quick .menu button:hover,#quick .menu button:focus-visible{background:#f3f7ff!important}

/* White label on the sidebar quick-create trigger. */
#sidebar-create{color:#fff!important}
