:root{--dt-white: #ffffff;--dt-black: #000000;--dt-petrol: #00677f;--dt-petrol-dark: #004d61;--dt-petrol-light: #3d94a8;--dt-yellow: #ffff40;--dt-grey-100: #e6e6e6;--dt-grey-200: #c8c8c8;--dt-grey-300: #9e9e9e;--dt-grey-400: #707070;--dt-grey-500: #444444;--primary-color: var(--dt-petrol);--primary-dark: var(--dt-petrol-dark);--success-color: var(--dt-petrol);--danger-color: #b91c1c;--gray-50: #f5f5f5;--gray-100: var(--dt-grey-100);--gray-200: var(--dt-grey-200);--gray-300: var(--dt-grey-200);--gray-400: var(--dt-grey-300);--gray-600: var(--dt-grey-400);--gray-700: var(--dt-grey-500);--gray-800: var(--dt-grey-500);--gray-900: var(--dt-black);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .06);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .08), 0 2px 4px -2px rgb(0 0 0 / .06);--shadow-lg: 0 10px 24px -4px rgb(0 0 0 / .1), 0 4px 8px -4px rgb(0 0 0 / .06);--focus-ring: 0 0 0 3px rgb(0 103 127 / .2);--app-pad-x: max(1rem, env(safe-area-inset-left, 0px));--app-pad-y: max(1rem, env(safe-area-inset-top, 0px));--font-app: Arial, Helvetica, sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%;scrollbar-gutter:stable}body{font-family:var(--font-app);background:var(--dt-grey-100);background-image:linear-gradient(160deg,#e8e8e8 0%,var(--dt-grey-100) 42%,#d8dfe3 100%);min-height:100vh;min-height:100dvh;padding:var(--app-pad-y) var(--app-pad-x) 1.5rem;padding-bottom:max(1.5rem,env(safe-area-inset-bottom,0px));color:var(--dt-black);line-height:1.55}.container{max-width:1200px;margin:0 auto}header{text-align:center;color:var(--dt-black);margin-bottom:1.35rem}header h1{font-size:clamp(1rem,2.5vw,1.3rem);font-weight:700;margin-bottom:.35rem;letter-spacing:-.02em}header p{font-size:.9375rem;color:var(--dt-grey-500)}.content-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width: 1024px){.content-grid{grid-template-columns:1fr 1fr;gap:2rem}}.calculator-page .content-grid{grid-template-columns:1fr}@media (min-width: 1024px){.calculator-page .content-grid{grid-template-columns:1fr}}.card{background:var(--dt-white);border-radius:10px;padding:1.5rem;box-shadow:var(--shadow-lg);border:1px solid var(--gray-200)}@media (min-width: 768px){.card{padding:2rem}}.card-title{font-size:clamp(1.05rem,2.75vw,1.25rem);font-weight:700;color:var(--dt-black);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.form-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}@media (min-width: 768px){.form-grid{grid-template-columns:1fr 1fr}}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1 / -1}.form-group-slider input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;padding:.65rem 0;min-height:2.75rem;background:transparent;cursor:pointer;border:none;box-shadow:none}.form-group-slider input[type=range]:focus,.form-group-slider input[type=range]:focus-visible{outline:none;border:none;box-shadow:none}.form-group-slider input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:999px;background:var(--dt-grey-300)}.form-group-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:28px;height:28px;margin-top:-10px;border-radius:50%;background:var(--dt-petrol-light);border:3px solid var(--dt-white);box-shadow:0 1px 4px #0000002e}.form-group-slider input[type=range]::-moz-range-track{height:8px;border-radius:999px;background:var(--dt-grey-300)}.form-group-slider input[type=range]::-moz-range-thumb{width:28px;height:28px;border-radius:50%;background:var(--dt-petrol-light);border:3px solid var(--dt-white);box-shadow:0 1px 4px #0000002e}.form-group-slider input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 2px var(--dt-white),0 0 0 4px var(--dt-petrol-light),0 1px 4px #0000002e}.form-group-slider input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 2px var(--dt-white),0 0 0 4px var(--dt-petrol-light),0 1px 4px #0000002e}.label-with-value{display:flex;flex-direction:row;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.45rem}.label-with-value .slider-value{font-weight:600;color:var(--dt-petrol);font-variant-numeric:tabular-nums}.term-slider-group{padding:1rem 1.25rem;border:1px solid var(--gray-200);border-radius:8px;background:var(--dt-white)}.customer-pricing-section{grid-column:1 / -1;display:flex;flex-direction:column;gap:1rem;padding:1rem 1.25rem;border:1px solid var(--gray-200);border-radius:8px;background:var(--dt-white)}.customer-pricing-section .form-grid-nested{display:grid;grid-template-columns:1fr;gap:1.25rem}@media (min-width: 768px){.customer-pricing-section .form-grid-nested{grid-template-columns:1fr 1fr}}.discount-panels-row{display:grid;grid-template-columns:1fr;gap:1.25rem}@media (min-width: 768px){.discount-panels-row{grid-template-columns:1fr 1fr}}.discount-panel{display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.25rem;border:1px solid var(--gray-200);border-radius:8px;background:var(--dt-grey-50, #f8f9fa)}.discount-panel-header{display:flex;flex-direction:row;align-items:baseline;justify-content:space-between;gap:.75rem}.discount-panel-title{font-weight:600;font-size:.95rem}.discount-panel-total{font-size:.95rem;white-space:nowrap}.discount-components{display:flex;flex-direction:column;gap:.35rem}.discount-component{padding:0;margin:0}.discount-component-label{display:block;margin-bottom:.25rem;font-size:.875rem;font-weight:500;color:var(--dt-grey-600, #555)}.discount-component-controls{display:flex;align-items:center;gap:.65rem}.discount-component-slider-wrap{position:relative;flex:1;min-width:0;--slider-max: 10;--discount-thumb-radius: 14px;display:flex;align-items:center;min-height:2.25rem;padding:.45rem 0;overflow:visible}.discount-slider-ticks{position:absolute;left:var(--discount-thumb-radius);right:var(--discount-thumb-radius);height:8px;border-radius:999px;background:var(--dt-grey-300);pointer-events:none;z-index:0}.discount-slider-ticks:before{content:"";position:absolute;left:0;right:0;top:-4px;height:4px;background-image:repeating-linear-gradient(to right,var(--dt-grey-500, #707070) 0,var(--dt-grey-500, #707070) 1px,transparent 1px,transparent calc(100% / var(--slider-max)));opacity:.65}.discount-slider-ticks:after{content:"";position:absolute;top:-4px;height:4px;width:1px;right:0;background:var(--dt-grey-500, #707070);opacity:.65}.discount-component-slider-wrap .discount-component-range{position:relative;z-index:1;width:100%;margin:0;padding:.65rem 0;min-height:2.75rem;background:transparent}.discount-component-slider-wrap input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:999px;background:transparent}.discount-component-slider-wrap input[type=range]::-moz-range-track{height:8px;border-radius:999px;background:transparent}.discount-component-pct-wrap{position:relative;flex-shrink:0;display:flex;align-items:center}.discount-component-pct-suffix{position:absolute;right:.4rem;font-size:.875rem;font-weight:600;color:var(--dt-grey-500);pointer-events:none;line-height:1}#tcoForm .discount-component-pct-input{width:5.25rem;margin:0;padding:.25rem 1.2rem .25rem .4rem;font-size:.875rem;font-weight:600;text-align:right;border-radius:6px;box-sizing:border-box;border:1px solid var(--gray-200);background:var(--dt-white);color:var(--dt-petrol-light);font-variant-numeric:tabular-nums;transition:border-color .2s,box-shadow .2s}#tcoForm .discount-component-pct-input:focus{outline:none;border-color:var(--dt-petrol);box-shadow:0 0 0 2px var(--dt-white),0 0 0 4px var(--dt-petrol-light)}.customer-nett-price-banner{display:flex;flex-direction:column;gap:.35rem;padding:.85rem 1rem;border-radius:8px;background:var(--dt-grey-100);border:1px solid var(--gray-200)}.customer-nett-price-banner .nett-label{font-size:.875rem;font-weight:600;color:var(--dt-grey-500);margin-bottom:0}.customer-nett-price-banner .nett-value{font-size:1.25rem;font-weight:700;color:var(--dt-black);font-variant-numeric:tabular-nums}#tcoForm input:not([type=hidden]):not([type=range]):not(.discount-component-pct-input),#tcoForm select{box-sizing:border-box;padding:.85rem 1rem;border:1px solid var(--gray-200);border-radius:8px;background:var(--dt-white);font-size:1.25rem;font-weight:700;color:var(--dt-petrol-light);font-variant-numeric:tabular-nums;min-height:0;transition:border-color .2s,box-shadow .2s}#tcoForm input:not([type=hidden]):not([type=range]):not(.discount-component-pct-input):focus,#tcoForm select:focus{outline:none;border-color:var(--dt-petrol);box-shadow:0 0 0 2px var(--dt-white),0 0 0 4px var(--dt-petrol-light)}#tcoForm input:not([type=hidden]):not([type=range]):not(.discount-component-pct-input)::placeholder{color:var(--dt-grey-300);font-weight:600}.mileage-calculated-stack{display:flex;flex-direction:column;gap:.75rem}@media (min-width: 768px){.form-grid>.mileage-calculated-stack{grid-column:1 / -1}.mileage-calculated-stack{flex-direction:row;align-items:stretch;gap:1rem}.mileage-calculated-stack .customer-nett-price-banner{flex:1 1 0;min-width:0}}.residual-row-inputs{display:flex;flex-direction:column;gap:.75rem;width:100%}@media (min-width: 768px){.residual-row-inputs{flex-direction:row;align-items:stretch;gap:1rem}.residual-row-inputs>.residual-pct-split-col{flex:1 1 0;min-width:0}}.variable-costs-row{display:flex;flex-direction:column;gap:.75rem;width:100%}@media (min-width: 768px){.variable-costs-row{flex-direction:row;align-items:stretch;gap:1rem}.variable-costs-row>.form-group{flex:1 1 0;min-width:0}}.fuel-price-region-group{display:flex;flex-direction:column;gap:.75rem}@media (min-width: 768px){.fuel-price-region-group{flex-direction:row;align-items:stretch;gap:.75rem}.fuel-price-region-group>.form-group{flex:1 1 0;min-width:0}}.residual-pct-field-label{font-size:.875rem;font-weight:600;color:var(--dt-grey-500);margin-bottom:.45rem;display:block}.residual-pct-split-col .customer-nett-price-banner.residual-pct-banner{display:flex;align-items:center;justify-content:center;flex:1 1 auto;min-height:0;padding:0}.residual-pct-split-col .customer-nett-price-banner.residual-pct-banner .residual-banner-input{box-sizing:border-box;width:100%;min-width:0;margin:0;padding:.85rem 1rem;border:none;background:transparent;font-size:1.25rem;font-weight:700;color:var(--dt-petrol-light);font-variant-numeric:tabular-nums;text-align:center}#residualGroup .customer-nett-price-banner .residual-banner-input{box-sizing:border-box;width:100%;min-width:0;min-height:0;margin:0;padding:0;border:none;background:transparent;font-size:1.25rem;font-weight:700;color:var(--dt-petrol-light);font-variant-numeric:tabular-nums;text-align:start}.residual-pct-split-col .customer-nett-price-banner.residual-pct-banner .residual-banner-input:focus{outline:none;box-shadow:0 0 0 2px var(--dt-white),0 0 0 4px var(--dt-petrol-light);border-radius:4px}#residualGroup .customer-nett-price-banner .residual-banner-input:focus{outline:none;box-shadow:0 0 0 2px var(--dt-white),0 0 0 4px var(--dt-petrol-light);border-radius:4px}.residual-pct-split-col .customer-nett-price-banner.residual-pct-banner .residual-banner-input::placeholder{color:var(--dt-grey-300);font-weight:600}#residualGroup .customer-nett-price-banner .residual-banner-input::placeholder{color:var(--dt-grey-300);font-weight:600}label{font-size:.875rem;font-weight:600;color:var(--dt-grey-500);margin-bottom:.45rem;display:block}.form-help{display:block;margin-top:.45rem;font-size:.8rem;color:var(--dt-grey-400);font-style:normal}input,select{width:100%;padding:.75rem .85rem;border:1px solid var(--gray-200);border-radius:8px;font-size:16px;transition:border-color .2s,box-shadow .2s;background:var(--dt-white);color:var(--dt-black);min-height:44px}@media (min-width: 768px){input,select{font-size:1rem;min-height:0}}input:focus,select:focus{outline:none;border-color:var(--dt-petrol);box-shadow:var(--focus-ring)}input::placeholder{color:var(--dt-grey-300)}button[type=submit]{grid-column:1 / -1;margin-top:.75rem;padding:.875rem 1.5rem;min-height:48px;background:var(--dt-petrol);color:var(--dt-white);border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,transform .15s;box-shadow:var(--shadow-md);touch-action:manipulation}button[type=submit]:hover{background:var(--dt-petrol-dark)}button[type=submit]:active{transform:scale(.99)}.btn-primary{padding:.75rem 1.35rem;min-height:44px;background:var(--dt-petrol);color:var(--dt-white);border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s;display:inline-block;text-decoration:none;touch-action:manipulation}.btn-primary:hover{background:var(--dt-petrol-dark)}.save-calculation-footer{margin-top:2rem;padding:1.5rem 1.25rem .5rem;display:flex;justify-content:center;border-top:2px solid rgb(255 255 255 / .35)}.btn-save-calculation{width:100%;max-width:520px;min-height:56px;padding:1rem 2rem;font-size:1.125rem;font-weight:700;letter-spacing:.02em;border-radius:10px;box-shadow:0 1px #fff3 inset,0 8px 24px #00000038}.btn-save-calculation:hover{box-shadow:0 1px #fff3 inset,0 10px 28px #00000047}.btn-save-calculation:active{transform:scale(.99)}.btn-secondary{padding:.5rem 1rem;min-height:44px;background:transparent;color:var(--dt-grey-500);border:1px solid var(--gray-200);border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s;display:inline-block;text-decoration:none;touch-action:manipulation}.btn-secondary:hover{background:var(--gray-100);border-color:var(--dt-grey-300);color:var(--dt-black)}#results{display:none}.results-header{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.35rem;padding-bottom:1.1rem;border-bottom:2px solid var(--gray-200)}.header-item{display:flex;flex-direction:column;gap:.25rem}.header-item .label{font-size:.875rem;color:var(--dt-grey-400);font-weight:600}.header-item .value{font-size:1rem;font-weight:700;color:var(--dt-black)}.header-item .value.discount-value{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;line-height:1.3}.header-item .discount-value-pct{font-size:.875rem;font-weight:600;color:var(--dt-black)}.cost-breakdown h4{font-size:1.05rem;color:var(--dt-black);margin-bottom:1rem;font-weight:700}.cost-category{margin-bottom:1rem}.cost-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--gray-50);border-radius:8px;margin-bottom:.5rem;transition:background .2s}.cost-item:hover{background:var(--gray-100)}.cost-item.residual{background:var(--dt-grey-100);border-left:3px solid var(--dt-petrol)}.cost-item.residual:hover{background:var(--gray-200)}.cost-label{font-weight:600;color:var(--dt-grey-500);display:flex;align-items:center;gap:.5rem}.cost-value{font-weight:700;color:var(--dt-black);font-size:1.125rem}.cost-value.negative{color:var(--dt-petrol)}.cost-subcategory{margin-left:2rem;margin-top:.5rem}.cost-item.sub{background:var(--dt-white);border:1px solid var(--gray-200);padding:.75rem 1rem}.cost-item.sub .cost-label{font-weight:600;font-size:.95rem;color:var(--dt-grey-400)}.cost-item.sub .cost-value{font-size:1rem;font-weight:700}.results-summary{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:2rem}@media (min-width: 1024px){.results-summary{grid-template-columns:repeat(3,1fr)}.summary-card.total,.summary-card.cpk{grid-column:1 / -1}}.summary-card{padding:1.35rem;border-radius:10px;display:flex;flex-direction:column;gap:.5rem;box-shadow:var(--shadow-md)}.summary-card.total{background:var(--dt-petrol);color:var(--dt-white)}.summary-card.cpk{background:var(--dt-grey-500);color:var(--dt-white)}.summary-card.cpd{background:var(--dt-grey-400);color:var(--dt-white)}.summary-card.cpw{background:var(--dt-petrol-dark);color:var(--dt-white)}.summary-card.cpm{background:var(--dt-yellow);color:var(--dt-black)}.summary-card.cpm .summary-label{color:var(--dt-grey-500);opacity:1}.summary-label{font-size:.95rem;opacity:.95;font-weight:600}.summary-value{font-size:clamp(1.25rem,3.5vw,1.65rem);font-weight:700;display:flex;align-items:baseline;gap:.25rem}.summary-value .unit{font-size:1rem;font-weight:600;opacity:.9}.chart-container{position:relative;width:100%;padding:1rem 0}.chart-container-full-width{min-height:280px}@media (min-width: 768px){.chart-container-full-width{min-height:320px}}#chartsSection{margin-top:2rem}body.calculator-page #chartsSection .card{background:var(--gray-50);border:1px solid rgb(0 0 0 / .08);box-shadow:0 2px 14px #0000001a;backdrop-filter:none;-webkit-backdrop-filter:none}body.calculator-page #chartsSection .chart-container{background:transparent;border-radius:0;padding:.75rem 0 0}#chartsSection.content-grid{grid-template-columns:1fr}@media (min-width: 1024px){#chartsSection.content-grid{grid-template-columns:1fr 1fr}}.full-width-card{grid-column:1 / -1}.suggestion-item{padding:1rem;margin-bottom:1rem;background:var(--gray-50);border-radius:8px;border-left:4px solid var(--dt-petrol)}.suggestion-item:last-child{margin-bottom:0}.suggestion-title{font-weight:700;color:var(--dt-black);margin-bottom:.375rem}.suggestion-message{font-size:.9375rem;color:var(--dt-grey-500);margin-bottom:.5rem}.suggestion-savings{font-size:.875rem;font-weight:700;color:var(--dt-petrol)}#tcoComments{width:100%;padding:.75rem 1rem;border:1px solid var(--gray-200);border-radius:8px;font-size:16px;font-family:inherit;resize:vertical;min-height:100px;color:var(--dt-black)}@media (min-width: 768px){#tcoComments{font-size:1rem}}#tcoComments:focus{outline:none;border-color:var(--dt-petrol);box-shadow:var(--focus-ring)}#tcoComments:disabled{background:var(--gray-50);color:var(--dt-grey-400);cursor:not-allowed}.dealer-bar{background:var(--dt-white);padding:.875rem 1rem;margin-bottom:1.5rem;border-radius:10px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;border:1px solid var(--gray-200);box-shadow:var(--shadow-sm)}.dealer-bar a{color:var(--dt-petrol);text-decoration:none;font-weight:600;min-height:44px;display:inline-flex;align-items:center}.dealer-bar a:hover{text-decoration:underline}.modal-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;align-items:center;justify-content:center;z-index:1000;padding:1rem;padding-bottom:max(1rem,env(safe-area-inset-bottom,0px))}#saveQuoteModal.modal-overlay{background:#0000007a;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.modal-overlay.visible{display:flex}.modal{background:var(--dt-white);border-radius:10px;padding:1.5rem;max-width:420px;width:100%;box-shadow:var(--shadow-lg);border:1px solid var(--gray-200)}.modal.save-quote-modal{max-width:460px;border-radius:12px;padding:1.35rem 1.35rem 1.15rem;border:1px solid var(--gray-200);border-top:3px solid var(--dt-petrol);box-shadow:var(--shadow-lg),0 1px #ffffffe6 inset;max-height:min(90vh,640px);overflow-y:auto}.save-quote-modal__lede{margin:-.15rem 0 1.1rem;font-size:.875rem;line-height:1.45;color:var(--dt-grey-400)}.modal h3{margin-bottom:1rem;font-size:1.05rem;font-weight:700;color:var(--dt-black)}.save-quote-modal h3{margin-bottom:.35rem;font-size:1.125rem;letter-spacing:-.02em}.save-quote-email-option{margin-top:.25rem;margin-bottom:.25rem}.save-quote-checkbox{display:flex;align-items:flex-start;gap:.55rem;font-size:.9rem;line-height:1.35;color:var(--dt-grey-400, #555);cursor:pointer}.save-quote-checkbox input{margin-top:.2rem;flex-shrink:0}.modal .form-group{margin-bottom:1rem}.modal .form-group label{display:block;margin-bottom:.375rem;font-weight:600;font-size:.875rem;color:var(--dt-grey-500)}.save-quote-search .form-group label{margin-bottom:.25rem;color:var(--dt-black);font-size:.875rem;font-weight:700;letter-spacing:-.01em}.save-quote-hint{margin:0 0 .5rem;font-size:.75rem;line-height:1.35;color:var(--dt-grey-400)}.modal .form-group input{width:100%;padding:.65rem .75rem;min-height:44px;border:1px solid var(--gray-200);border-radius:8px;font-size:16px;color:var(--dt-black);transition:border-color .15s ease,box-shadow .15s ease}.modal .form-group input:focus{outline:none;border-color:var(--dt-petrol);box-shadow:var(--focus-ring)}.save-quote-search{margin-bottom:1rem;padding:1rem 1rem .85rem;background:linear-gradient(165deg,var(--gray-50) 0%,rgb(255 255 255) 100%);border:1px solid var(--gray-200);border-radius:10px;box-shadow:var(--shadow-sm)}.save-quote-search .form-group{margin-bottom:0}#saveQuoteModal .client-typeahead-wrap input{background:var(--dt-white)}.save-quote-toggle{margin-bottom:0}.save-quote-btn{width:100%;padding:.65rem 1rem;min-height:44px;border-radius:10px;font-size:.9375rem;font-weight:600;font-family:inherit;cursor:pointer;border:1px solid transparent;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;touch-action:manipulation}.save-quote-btn--secondary{background:var(--dt-white);color:var(--dt-petrol);border-color:var(--dt-petrol);box-shadow:var(--shadow-sm)}.save-quote-btn--secondary:hover{background:#00677f14}.save-quote-btn--secondary:focus{outline:none;box-shadow:var(--shadow-sm),var(--focus-ring)}.save-quote-new-fields{flex-direction:column;align-items:stretch;margin-top:.75rem;margin-bottom:.5rem;padding:1rem 1rem .25rem;background:#00677f0a;border:1px solid rgb(0 103 127 / .18);border-radius:10px;border-left-width:4px;border-left-color:var(--dt-petrol)}.save-quote-new-fields__title{margin:0 0 .85rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--dt-petrol)}.client-typeahead-wrap{position:relative}.client-typeahead-suggestions{position:absolute;left:0;right:0;top:100%;margin:.35rem 0 0;padding:.35rem 0;list-style:none;max-height:220px;overflow-y:auto;overflow-x:hidden;background:var(--dt-white);border:1px solid var(--dt-petrol-light);border-radius:10px;box-shadow:var(--shadow-md);z-index:10;scrollbar-gutter:stable}.client-typeahead-suggestions li{padding:.55rem .85rem;font-size:.9375rem;line-height:1.35;cursor:pointer;color:var(--dt-black);transition:background .12s ease,color .12s ease}.client-typeahead-suggestions li:hover,.client-typeahead-suggestions li:focus{background:#00677f14;color:var(--dt-petrol-dark)}.modal-actions{display:flex;gap:.75rem;margin-top:1.5rem}#saveQuoteModal .modal-actions{margin-top:1.35rem;padding-top:1.15rem;border-top:1px solid var(--gray-200)}#saveQuoteModal .modal-actions button,#saveQuoteModal .modal-actions button[type=submit]{flex:1 1 0;min-width:0;padding:.75rem 1rem;min-height:48px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;border:none;margin:0;grid-column:unset;box-sizing:border-box;touch-action:manipulation}.modal-actions .btn-save{background:var(--dt-petrol);color:var(--dt-white)}.modal-actions .btn-save:hover{background:var(--dt-petrol-dark)}.modal-actions .btn-cancel{background:var(--dt-grey-100);color:var(--dt-grey-500)}.modal-actions .btn-cancel:hover{background:var(--gray-200)}@media (max-width: 768px){body{padding-left:max(.75rem,env(safe-area-inset-left,0px));padding-right:max(.75rem,env(safe-area-inset-right,0px))}header h1{font-size:1.2rem}header p{font-size:.9375rem}.card{padding:1.25rem}.card-title{font-size:1.05rem}.summary-value{font-size:1.3rem}.cost-subcategory{margin-left:1rem}.cost-label{font-size:.9rem}.cost-value{font-size:1rem}.results-header{grid-template-columns:1fr}}@media (max-width: 640px){body{padding-top:max(.75rem,env(safe-area-inset-top,0px))}.card{padding:1rem;border-radius:8px}.card-title{font-size:1rem;margin-bottom:.85rem}.cost-item{padding:.75rem;flex-direction:column;align-items:flex-start;gap:.5rem}.cost-item.sub{padding:.625rem .75rem}.cost-value{font-size:1.05rem;width:100%;text-align:right}.summary-card{padding:1.15rem}.summary-value{font-size:1.4rem}.summary-label{font-size:.875rem}.chart-container{padding:.5rem 0}.cost-subcategory{margin-left:.5rem}}@media (max-width: 480px){header{margin-bottom:1.25rem}header p{font-size:.9rem}.content-grid,.form-grid{gap:1rem}label{font-size:.8125rem}button[type=submit]{padding:.875rem 1.25rem;font-size:.95rem}.summary-value{font-size:1.25rem}.header-item .label{font-size:.8125rem}.header-item .value{font-size:1rem}}@keyframes app-layout-bg-crossfade{0%,15%{opacity:0}16.666%,31.666%{opacity:1}33.333%,48.333%{opacity:0}50%,65%{opacity:1}66.666%,81.666%{opacity:0}83.333%,98.333%{opacity:1}to{opacity:0}}@keyframes app-layout-bg-before-images{0%,33.333%{background-image:linear-gradient(#0a101880,#0a10189e),url(/imgs/bg1.jpg)}33.334%,66.666%{background-image:linear-gradient(#0a101880,#0a10189e),url(/imgs/bg3.jpg)}66.667%,to{background-image:linear-gradient(#0a101880,#0a10189e),url(/imgs/bg5.jpg)}}@keyframes app-layout-bg-after-images{0%,33.333%{background-image:linear-gradient(#0a101880,#0a10189e),url(/imgs/bg2.jpg)}33.334%,66.666%{background-image:linear-gradient(#0a101880,#0a10189e),url(/imgs/bg4.jpg)}66.667%,to{background-image:linear-gradient(#0a101880,#0a10189e),url(/imgs/bg6.jpg)}}html:has(body.app-layout){background-color:#121820;min-height:100%}body.app-layout:before,body.app-layout:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background-size:cover;background-position:center;background-repeat:no-repeat;pointer-events:none}body.app-layout:before{background-image:linear-gradient(#0a101880,#0a10189e),url(/imgs/bg1.jpg);animation:app-layout-bg-before-images 120s steps(1,end) infinite}body.app-layout:after{background-image:linear-gradient(#0a101880,#0a10189e),url(/imgs/bg2.jpg);opacity:0;animation:app-layout-bg-after-images 120s steps(1,end) infinite,app-layout-bg-crossfade 120s linear infinite}@media (prefers-reduced-motion: reduce){body.app-layout:before,body.app-layout:after{animation:none;opacity:0}body.app-layout:before{opacity:1}}body.app-layout{background-color:transparent;background-image:none;min-height:100dvh;padding:max(.75rem,env(safe-area-inset-top,0px)) max(.75rem,env(safe-area-inset-left,0px)) max(.75rem,env(safe-area-inset-bottom,0px))}body.app-layout #root{width:100%}body.calculator-page.app-layout #root{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}body.calculator-page.app-layout .app-shell-root{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}body.app-layout>script{display:none}body.app-layout .container{position:relative;width:100%;max-width:1200px;margin-left:auto;margin-right:auto;min-height:0;padding:.35rem .75rem 0;background:transparent}body.app-layout .container.field-landing{padding-bottom:.5rem}body.calculator-page.app-layout{height:100dvh;max-height:100dvh;overflow:hidden;display:flex;flex-direction:column}body.calculator-page.app-layout .container.calculator-page-shell{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}body.calculator-page.app-layout .app-shell-top{flex-shrink:0}body.calculator-page.app-layout .calculator-main{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding-bottom:var(--app-shell-footer-scroll-padding, calc(6.5rem + max(.35rem, env(safe-area-inset-bottom, 0px))) )}@media (min-width: 641px){body.calculator-page.app-layout .calculator-main{scrollbar-width:none;-ms-overflow-style:none}body.calculator-page.app-layout .calculator-main::-webkit-scrollbar{display:none;width:0;height:0}}body.calculator-page.app-layout .calculator-main>header{color:var(--dt-white);text-shadow:0 1px 2px rgb(0 0 0 / .35)}body.calculator-page .card{position:relative;border-radius:14px;border:1px solid rgb(255 255 255 / .42);background:#ffffffe0;box-shadow:0 1px #ffffff8c inset,0 12px 44px #0003}@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){body.calculator-page .card{background:#ffffff85;backdrop-filter:blur(22px) saturate(1.35);-webkit-backdrop-filter:blur(22px) saturate(1.35)}}@media (max-width: 640px){body.calculator-page .card{border-radius:12px}}@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){body.calculator-page #chartsSection .card{background:var(--gray-50);backdrop-filter:none;-webkit-backdrop-filter:none}}.app-shell-top{display:flex;align-items:center;gap:10px;margin-bottom:.6rem;padding:1rem 1.4rem;min-height:60px;background:var(--dt-black);border:1px solid rgb(255 255 255 / .14);border-radius:12px;box-shadow:0 1px #ffffff0f inset}@media (min-width: 768px){.app-shell-top{margin-bottom:1rem}}.app-shell-footer{position:fixed;z-index:10;left:50%;bottom:max(.75rem,env(safe-area-inset-bottom,0px));transform:translate(-50%);box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:min(1200px,calc(100% - 2 * var(--app-pad-x)));margin:0;padding:.3rem .65rem;min-height:44px;background:var(--dt-white);border:1px solid var(--gray-200);border-radius:12px;box-shadow:var(--shadow-sm)}body.app-layout:has(.app-shell-footer){--app-shell-footer-scroll-padding: calc(7.5rem + max(.35rem, env(safe-area-inset-bottom, 0px))) }body.app-layout:has(.app-shell-footer) .container{padding-bottom:var(--app-shell-footer-scroll-padding)}body.app-layout:has(.app-shell-footer) .container.field-landing{padding-bottom:var(--app-shell-footer-scroll-padding)}body.app-layout .app-shell-footer{left:max(.75rem,env(safe-area-inset-left,0px));right:max(.75rem,env(safe-area-inset-right,0px));bottom:max(.4rem,env(safe-area-inset-bottom,0px));width:auto;max-width:1200px;margin-left:auto;margin-right:auto;transform:none;justify-content:center;background:transparent;border:none;border-radius:0;box-shadow:none;min-height:auto;padding:.2rem .5rem max(.45rem,env(safe-area-inset-bottom,0px))}body.app-layout .app-shell-footer .app-shell-disclaimer,body.app-layout .app-shell-footer .app-shell-copyright{color:var(--dt-white);text-shadow:0 1px 2px rgb(0 0 0 / .45)}body.app-layout .app-shell-footer .app-shell-copyright{margin-bottom:4px}.app-shell-footer-inner{display:flex;flex-direction:column;align-items:center;gap:.3rem;width:100%;max-width:100%}.app-shell-network-status{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;margin:0;font-size:.6875rem;font-weight:500;line-height:1.2;letter-spacing:.02em}.app-shell-network-status-icon-wrap{display:inline-flex;flex-shrink:0}.app-shell-network-status .app-shell-network-icon{display:block}.app-shell-network-status--online .app-shell-network-icon--offline,.app-shell-network-status--offline .app-shell-network-icon--online,.app-shell-network-status--checking .app-shell-network-icon--offline{display:none}.app-shell-network-status--checking{color:#a0c8d2f2}.app-shell-network-status--online{color:var(--dt-petrol)}.app-shell-network-status--offline{color:#ed1010}body.app-layout .app-shell-footer .app-shell-network-status--online{color:#b4ffc8f2}body.app-layout .app-shell-footer .app-shell-network-status--offline{color:#f87171}body.app-layout .app-shell-footer .app-shell-network-status--checking{color:#c8dce6d9}.app-shell-footer .app-shell-disclaimer{margin:5px 0;max-width:min(720px,100%);font-size:.75rem;font-weight:100;color:var(--gray-600);text-align:center;line-height:1.35}.app-shell-footer .app-shell-copyright{margin:0;max-width:100%;font-size:.6875rem;font-weight:400;color:var(--gray-600);text-align:center;line-height:1.25;display:flex;flex-direction:column;align-items:center;gap:.2em}@media (min-width: 1024px){.app-shell-footer .app-shell-copyright{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:.35em}}.nav-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:1px solid rgb(255 255 255 / .22);border-radius:8px;background:#ffffff14;color:var(--dt-white);cursor:pointer;flex-shrink:0;transition:border-color .15s,background .15s;touch-action:manipulation}.nav-menu-btn:hover{border-color:#fff6;background:#ffffff24}.nav-menu-btn[aria-expanded=true]{border-color:var(--dt-yellow);background:#ffffff1f}.nav-menu-btn svg{width:20px;height:20px}.app-shell-brand{flex:1;min-width:0}.app-shell-brand .app-shell-title{margin:0;font-size:clamp(1.2rem,3.2vw,1.5rem);font-weight:700;color:var(--dt-white);letter-spacing:-.02em;line-height:1.2}.app-shell-brand .app-shell-sub{margin:1px 0 0;font-size:.6875rem;font-weight:600;color:#c8ccd0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-shell-actions{display:flex;align-items:center;gap:8px;flex-shrink:1;min-width:0}.app-shell-user-block{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:0;text-align:right}.app-shell-user-block .app-shell-sub{margin:0;font-size:.6875rem;font-weight:600;color:#c8ccd0;max-width:100%;line-height:1.25;white-space:normal;overflow-wrap:break-word;word-break:break-word}a.app-shell-logo{text-decoration:none;color:inherit;cursor:pointer;transition:transform .15s ease,filter .15s ease}a.app-shell-logo:hover{transform:translateY(-1px)}a.app-shell-logo:hover .app-shell-logo-mark{filter:brightness(1.08)}a.app-shell-logo:focus-visible{outline:2px solid var(--dt-yellow);outline-offset:2px}.app-shell-logo{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0;border-radius:10px;background:transparent}.app-shell-logo-mark{display:block;width:34px;height:34px;flex-shrink:0;object-fit:contain}.app-shell-actions .icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:var(--dt-white);border:1px solid var(--gray-200);border-radius:8px;color:var(--gray-700);cursor:pointer;transition:border-color .15s,background .15s,color .15s;touch-action:manipulation}.app-shell-actions .icon-btn:hover{background:var(--gray-100);color:var(--dt-petrol);border-color:var(--dt-petrol)}.app-shell-user{display:block;font-size:.75rem;font-weight:600;color:#dce0e4;max-width:100%;line-height:1.2;overflow-wrap:break-word;word-break:break-word}.nav-drawer-overlay.shell-hidden{display:none!important}.nav-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:9998;opacity:0;transition:opacity .2s ease}.nav-drawer-overlay.is-open{opacity:1}.nav-drawer.shell-hidden{display:none!important}.nav-drawer{position:fixed;top:0;right:0;left:auto;bottom:0;width:min(300px,88vw);max-width:100%;background:var(--dt-black);z-index:9999;box-shadow:-8px 0 32px #00000073;transform:translate(100%);transition:transform .22s ease;display:flex;flex-direction:column;padding:max(12px,env(safe-area-inset-top,0px)) 0 max(12px,env(safe-area-inset-bottom,0px))}.nav-drawer.is-open{transform:translate(0)}.nav-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px 16px;border-bottom:1px solid rgb(255 255 255 / .12)}.nav-drawer-header span{font-size:.8125rem;font-weight:700;color:var(--dt-white)}.nav-drawer-close{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:8px;cursor:pointer;color:var(--dt-white);touch-action:manipulation}.nav-drawer-close:hover{background:#ffffff1a}.nav-drawer nav{flex:1;padding:12px 0;display:flex;flex-direction:column;min-height:0}.nav-drawer a svg,.nav-drawer nav button.nav-drawer-link svg{flex-shrink:0;width:20px;height:20px}.nav-drawer a,.nav-drawer nav button.nav-drawer-link{display:flex;align-items:center;gap:12px;padding:12px 18px;font-size:.9375rem;font-weight:600;color:var(--dt-white);text-decoration:none;border-right:4px solid transparent;transition:background .15s,border-color .15s,color .15s;min-height:44px}.nav-drawer nav button.nav-drawer-link{width:100%;margin:0;font:inherit;text-align:left;background:none;border:none;border-right:4px solid transparent;cursor:pointer}.nav-drawer a:hover,.nav-drawer nav button.nav-drawer-link:hover{background:#ffffff14}.nav-drawer a.is-active{background:#ffffff1a;border-right-color:var(--dt-yellow);color:var(--dt-white)}.nav-drawer-footer{margin-top:auto;padding:16px 20px;border-top:1px solid rgb(255 255 255 / .12)}.nav-drawer .btn-secondary{color:var(--dt-white);border-color:#ffffff59}.nav-drawer .btn-secondary:hover{background:#ffffff1a;border-color:#ffffff80;color:var(--dt-white)}@media (prefers-reduced-motion: reduce){.nav-drawer,.nav-drawer-overlay{transition:none}}html.nav-drawer-open,body.nav-drawer-open{overflow:hidden;overflow-x:hidden}.field-landing{padding-bottom:2rem}.field-landing-hero{margin-bottom:1.1rem}.field-landing-hero h1{margin:0 0 6px;font-size:clamp(.95rem,2.5vw,1.2rem);font-weight:700;color:var(--dt-black)}.field-landing-hero p{margin:0;font-size:.9rem;color:var(--gray-600);font-weight:600}.field-landing-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 600px){.field-landing-grid{grid-template-columns:1fr 1fr}}@media (min-width: 900px){.field-landing-grid.field-landing-grid--tools{grid-template-columns:repeat(3,1fr)}}.dash-app-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;max-width:400px;margin:1.25rem auto 1.75rem}.dash-app-grid.dash-app-grid--pair{grid-template-columns:repeat(2,minmax(0,1fr));max-width:280px}.dash-app-tile{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.65rem .35rem .75rem;border-radius:16px;border:1px solid rgb(255 255 255 / .14);background:var(--dt-black);box-shadow:0 2px 8px #00000059;text-decoration:none;color:var(--dt-white);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.dash-app-tile:hover{border-color:#ffffff59;box-shadow:0 6px 18px #00000073;transform:translateY(-2px)}.dash-app-tile:active{transform:scale(.97)}.dash-app-tile-icon-wrap{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#ffffff1f;color:var(--dt-white);box-shadow:inset 0 1px #ffffff14}.dash-app-tile-icon-wrap svg{flex-shrink:0}.dash-app-tile-label{font-size:.7rem;font-weight:300;font-family:system-ui,-apple-system,Segoe UI,sans-serif;letter-spacing:.02em;text-align:center;line-height:1.15;color:var(--dt-white);max-width:100%;-webkit-font-smoothing:antialiased}@media (min-width: 400px){.dash-app-tile-label{font-size:.75rem}}.field-landing-card{display:flex;flex-direction:column;align-items:flex-start;padding:1.35rem;border-radius:10px;border:1px solid var(--gray-200);background:var(--dt-white);box-shadow:var(--shadow-lg);text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s;min-height:120px;touch-action:manipulation}.field-landing-card:hover{border-color:var(--dt-petrol);box-shadow:0 8px 28px #00677f1f}.field-landing-card h2{margin:0 0 8px;font-size:1.125rem;font-weight:700;color:var(--dt-petrol)}.field-landing-card p{margin:0;font-size:.9rem;color:var(--gray-600);font-weight:600;line-height:1.45}.field-landing-card .field-landing-card-icon{margin-bottom:12px;color:var(--dt-petrol)}@keyframes app-layout-bg-before-dashboard{0%,33.333%{background-image:radial-gradient(ellipse 120% 90% at 12% 8%,rgb(0 150 185 / .3),transparent 52%),radial-gradient(ellipse 80% 70% at 92% 88%,rgb(0 80 160 / .22),transparent 48%),radial-gradient(ellipse 60% 50% at 48% 52%,rgb(0 103 127 / .09),transparent 55%),linear-gradient(#0a101852,#0a101875),url(/imgs/bg1.jpg)}33.334%,66.666%{background-image:radial-gradient(ellipse 120% 90% at 12% 8%,rgb(0 150 185 / .3),transparent 52%),radial-gradient(ellipse 80% 70% at 92% 88%,rgb(0 80 160 / .22),transparent 48%),radial-gradient(ellipse 60% 50% at 48% 52%,rgb(0 103 127 / .09),transparent 55%),linear-gradient(#0a101852,#0a101875),url(/imgs/bg3.jpg)}66.667%,to{background-image:radial-gradient(ellipse 120% 90% at 12% 8%,rgb(0 150 185 / .3),transparent 52%),radial-gradient(ellipse 80% 70% at 92% 88%,rgb(0 80 160 / .22),transparent 48%),radial-gradient(ellipse 60% 50% at 48% 52%,rgb(0 103 127 / .09),transparent 55%),linear-gradient(#0a101852,#0a101875),url(/imgs/bg5.jpg)}}@keyframes app-layout-bg-after-dashboard{0%,33.333%{background-image:radial-gradient(ellipse 120% 90% at 12% 8%,rgb(0 150 185 / .3),transparent 52%),radial-gradient(ellipse 80% 70% at 92% 88%,rgb(0 80 160 / .22),transparent 48%),radial-gradient(ellipse 60% 50% at 48% 52%,rgb(0 103 127 / .09),transparent 55%),linear-gradient(#0a101852,#0a101875),url(/imgs/bg2.jpg)}33.334%,66.666%{background-image:radial-gradient(ellipse 120% 90% at 12% 8%,rgb(0 150 185 / .3),transparent 52%),radial-gradient(ellipse 80% 70% at 92% 88%,rgb(0 80 160 / .22),transparent 48%),radial-gradient(ellipse 60% 50% at 48% 52%,rgb(0 103 127 / .09),transparent 55%),linear-gradient(#0a101852,#0a101875),url(/imgs/bg4.jpg)}66.667%,to{background-image:radial-gradient(ellipse 120% 90% at 12% 8%,rgb(0 150 185 / .3),transparent 52%),radial-gradient(ellipse 80% 70% at 92% 88%,rgb(0 80 160 / .22),transparent 48%),radial-gradient(ellipse 60% 50% at 48% 52%,rgb(0 103 127 / .09),transparent 55%),linear-gradient(#0a101852,#0a101875),url(/imgs/bg6.jpg)}}body.page-dashboard.app-layout:before{background-image:radial-gradient(ellipse 120% 90% at 12% 8%,rgb(0 150 185 / .3),transparent 52%),radial-gradient(ellipse 80% 70% at 92% 88%,rgb(0 80 160 / .22),transparent 48%),radial-gradient(ellipse 60% 50% at 48% 52%,rgb(0 103 127 / .09),transparent 55%),linear-gradient(#0a101852,#0a101875),url(/imgs/bg1.jpg);animation:app-layout-bg-before-dashboard 120s steps(1,end) infinite}body.page-dashboard.app-layout:after{background-image:radial-gradient(ellipse 120% 90% at 12% 8%,rgb(0 150 185 / .3),transparent 52%),radial-gradient(ellipse 80% 70% at 92% 88%,rgb(0 80 160 / .22),transparent 48%),radial-gradient(ellipse 60% 50% at 48% 52%,rgb(0 103 127 / .09),transparent 55%),linear-gradient(#0a101852,#0a101875),url(/imgs/bg2.jpg);animation:app-layout-bg-after-dashboard 120s steps(1,end) infinite,app-layout-bg-crossfade 120s linear infinite}body.page-dashboard .dash-app-grid{gap:.75rem;max-width:420px;margin-top:1.5rem;margin-bottom:2rem}body.page-dashboard .dash-app-tile{position:relative;border-radius:22px;padding:.75rem .4rem .85rem;background:#141c268c;border:1px solid rgb(255 255 255 / .18);box-shadow:0 1px #ffffff1a inset,0 16px 48px #00000047;overflow:hidden}body.page-dashboard .dash-app-tile:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(145deg,rgb(255 255 255 / .14) 0%,transparent 42%,transparent 100%);pointer-events:none;opacity:.85}@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){body.page-dashboard .dash-app-tile{background:#ffffff0f;backdrop-filter:blur(22px) saturate(1.55);-webkit-backdrop-filter:blur(22px) saturate(1.55)}}body.page-dashboard .dash-app-tile:hover{border-color:#ffffff61;box-shadow:0 1px #ffffff29 inset,0 20px 56px #00000059;transform:translateY(-3px)}body.page-dashboard .dash-app-tile-icon-wrap{position:relative;z-index:1;width:52px;height:52px;border-radius:16px;background:#ffffff14;border:1px solid rgb(255 255 255 / .14);box-shadow:inset 0 1px #ffffff2e,0 4px 16px #00000026}@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){body.page-dashboard .dash-app-tile-icon-wrap{backdrop-filter:blur(12px) saturate(1.3);-webkit-backdrop-filter:blur(12px) saturate(1.3);background:#ffffff0f}}body.page-dashboard .dash-app-tile-label{position:relative;z-index:1;text-shadow:0 1px 1px rgb(0 0 0 / .18)}@media (prefers-reduced-motion: reduce){body.page-dashboard .dash-app-tile:hover{transform:none}}body.calculator-page.app-layout:before{background-image:radial-gradient(ellipse 120% 90% at 12% 8%,rgb(0 150 185 / .3),transparent 52%),radial-gradient(ellipse 80% 70% at 92% 88%,rgb(0 80 160 / .22),transparent 48%),radial-gradient(ellipse 60% 50% at 48% 52%,rgb(0 103 127 / .09),transparent 55%),linear-gradient(#0a101852,#0a101875),url(/imgs/bg1.jpg)}body.calculator-page.app-layout:after{background-image:radial-gradient(ellipse 120% 90% at 12% 8%,rgb(0 150 185 / .3),transparent 52%),radial-gradient(ellipse 80% 70% at 92% 88%,rgb(0 80 160 / .22),transparent 48%),radial-gradient(ellipse 60% 50% at 48% 52%,rgb(0 103 127 / .09),transparent 55%),linear-gradient(#0a101852,#0a101875),url(/imgs/bg2.jpg)}.login-loading{text-align:center;color:#ffffffd1;margin:2rem 0;font-size:1rem;text-shadow:0 1px 2px rgb(0 0 0 / .35)}.login-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:2rem;background:transparent}body.app-layout .login-page .container{max-width:900px}.login-page .container{width:100%}.login-page header{text-align:center;margin-bottom:1.5rem}.login-page header h1{font-size:1.45rem;margin-bottom:.5rem;color:var(--dt-white);text-shadow:0 1px 2px rgb(0 0 0 / .35)}.login-page header p{font-size:1.05rem;color:#ffffffe0;text-shadow:0 1px 2px rgb(0 0 0 / .35)}.login-container{max-width:400px;margin:0 auto 2rem;padding:2rem;position:relative;border-radius:14px;border:1px solid rgb(255 255 255 / .42);background:#ffffffe0;box-shadow:0 1px #ffffff8c inset,0 12px 44px #0003}@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){.login-container{background:#ffffff85;backdrop-filter:blur(22px) saturate(1.35);-webkit-backdrop-filter:blur(22px) saturate(1.35)}}.login-container .form-group{margin-bottom:1.25rem}.login-container label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.login-container input{width:100%;padding:.75rem 1rem;border:1px solid #cccccc;border-radius:8px;font-size:1rem}.password-input-field{position:relative;display:flex;align-items:stretch}.password-input-field__input{width:100%;padding:.75rem 2.75rem .75rem 1rem;border:1px solid #cccccc;border-radius:8px;font-size:1rem}.password-input-field__input:focus{outline:none;border-color:#00677f;box-shadow:0 0 0 3px #00677f33}.password-input-field__toggle{position:absolute;top:0;right:0;display:flex;align-items:center;justify-content:center;width:2.75rem;height:100%;padding:0;border:none;border-radius:0 8px 8px 0;background:transparent;color:#64748b;cursor:pointer}.password-input-field__toggle:hover:not(:disabled){color:#00677f}.password-input-field__toggle:focus-visible{outline:2px solid #00677f;outline-offset:-2px}.password-input-field__toggle:disabled{cursor:not-allowed;opacity:.5}.login-container input:focus{outline:none;border-color:#00677f;box-shadow:0 0 0 3px #00677f33}.login-container button[type=submit]{width:100%;padding:.875rem;margin-top:.5rem;background:#00677f;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,opacity .2s}.login-container button[type=submit]:hover:not(:disabled){background:#004d61}.login-container button[type=submit]:disabled,.login-container button[type=submit]:hover:disabled,.login-container button[type=submit]:active:disabled{background:#64748b;color:#f8fafc;cursor:not-allowed;box-shadow:none;transform:none;opacity:1}.login-error{margin-top:1rem;padding:.75rem;background:#fee;color:#c53030;border-radius:8px;font-size:.9rem;display:none}.login-error.visible{display:block}.login-error-secondary{display:block;margin-top:.5rem;font-size:.86rem;line-height:1.4;color:#7b341e}.login-error-reset{display:block;margin:.65rem 0 0;padding:0;width:100%;border:none;background:none;font:inherit;font-size:.88rem;font-weight:600;line-height:1.35;color:#9b2c2c;text-align:left;text-decoration:underline;text-underline-offset:.12em;cursor:pointer;touch-action:manipulation}.login-error-reset:hover{color:#7f1d1d}.login-error-reset:focus-visible{outline:2px solid #9b2c2c;outline-offset:2px;border-radius:2px}#resetPasscodeModal.login-reset-modal-overlay{background:#0000007a;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}#resetPasscodeModal .modal.login-reset-modal{max-width:400px;border-radius:12px;border:1px solid var(--gray-200, #e5e5e5);border-top:3px solid #9b2c2c;box-shadow:var(--shadow-lg, 0 10px 40px rgb(0 0 0 / .15))}#resetPasscodeModal .login-reset-modal__body{margin:0 0 .25rem;font-size:.9rem;line-height:1.5;color:var(--dt-grey-500, #555555)}#resetPasscodeModal .modal-actions{display:flex;flex-direction:row;gap:.75rem;margin-top:1.25rem}#resetPasscodeModal .modal-actions button{flex:1 1 0;min-width:0;padding:.75rem 1rem;min-height:48px;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;border:none;margin:0;box-sizing:border-box;touch-action:manipulation}#resetPasscodeModal .modal-actions .btn-cancel{background:var(--dt-grey-100, #e6e6e6);color:var(--dt-grey-500, #555555)}#resetPasscodeModal .modal-actions .btn-cancel:hover:not(:disabled){background:var(--gray-200, #d4d4d4)}#resetPasscodeModal .modal-actions .btn-confirm-destructive{background:#9b2c2c;color:#fff}#resetPasscodeModal .modal-actions .btn-confirm-destructive:hover:not(:disabled){background:#7f1d1d}#resetPasscodeModal .modal-actions button:disabled{cursor:not-allowed;opacity:.7}.login-unlock-hint{margin:.75rem 0 0;font-size:.88rem;color:#555;line-height:1.35}@media (max-width: 768px){.login-page{padding:1.5rem}.login-page header h1{font-size:1.3rem}.login-page header p{font-size:1rem}.login-container{padding:1.5rem}}@media (max-width: 480px){.login-page{padding:1rem}.login-page header h1{font-size:1.15rem}.login-page header p{font-size:.95rem}.login-container{padding:1.25rem}}.calculator-page-shell .dealer-bar .dealer-agent-badge{margin:0;font-size:.95rem;color:var(--gray-700)}@media (max-width: 640px){.calculator-page-shell .dealer-bar{padding:.75rem;gap:.5rem;font-size:.9rem}}.finance-placeholder{margin:0;padding:2rem 1rem;text-align:center;color:var(--gray-600);font-weight:600;font-size:.9375rem}.fleet-page-intro,.comparer-page-intro{margin-bottom:1rem}.fleet-page-intro h1,.comparer-page-intro h1{margin:0;font-size:clamp(.95rem,2.5vw,1.2rem);font-weight:700;color:var(--dt-black)}.diary-page-intro{margin-bottom:1.1rem}.diary-page-intro h1{margin:0 0 6px;font-size:clamp(.95rem,2.5vw,1.2rem);font-weight:700;color:var(--dt-black)}.diary-page-intro p{margin:0;color:var(--gray-600);font-weight:600}.diary-form .form-group textarea{min-height:120px;resize:vertical}.diary-list{display:flex;flex-direction:column;gap:1rem;margin-top:2rem}.diary-empty{margin:0;padding:2rem;text-align:center;color:var(--gray-600);background:var(--dt-white);border-radius:12px;box-shadow:var(--shadow-lg)}.diary-entry-meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:baseline;margin-bottom:.75rem;font-size:.875rem;color:var(--gray-600)}.diary-entry-quote{font-weight:600;color:var(--dt-petrol)}.diary-entry-title{margin:0 0 .5rem;font-size:1rem;color:var(--dt-black)}.diary-entry-body{font-size:1rem;line-height:1.5;color:var(--gray-800)}.diary-entry-actions{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.diary-quote-link{font-weight:600;color:var(--dt-petrol);text-decoration:none}.diary-quote-link:hover{text-decoration:underline}.history-intro{margin-bottom:1rem}.history-intro h1{margin:0 0 .35rem;font-size:clamp(1rem,2.5vw,1.3rem);font-weight:700;letter-spacing:-.02em;color:var(--dt-white);text-shadow:0 1px 2px rgb(0 0 0 / .35)}.quotes-list{display:flex;flex-direction:column;gap:.75rem}.quotes-list__header{display:none}.quote-card{background:#fff;box-shadow:var(--shadow-lg);overflow:hidden}.quote-card__grid{display:grid;grid-template-columns:1fr auto;grid-template-areas:"company actions" "contact contact" "model model" "date date";gap:.5rem .75rem;padding:.75rem .85rem}.quote-card__field--tco,.quote-card__field--cpk{display:none}.quote-card__field--company{grid-area:company;align-self:start;min-width:0}.quote-card__field--contact{grid-area:contact}.quote-card__field--model{grid-area:model}.quote-card__field--date{grid-area:date}.quote-card__field--actions{grid-area:actions;align-self:start}.quote-card__field--actions .quote-card__label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.quote-card__label{display:block;font-size:.65rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-500);margin-bottom:.2rem}.quote-card__value{display:block;font-size:.875rem;font-weight:400;color:var(--gray-900);line-height:1.35;word-break:break-word}.quote-card__field--company .quote-card__value{font-size:.95rem;font-weight:500;color:var(--dt-black)}.quote-card__actions{display:inline-flex;align-items:center;gap:.35rem;flex-shrink:0}@media (min-width: 768px){#quotesContainer{overflow-x:auto;-webkit-overflow-scrolling:touch}.quotes-list{gap:0;min-width:720px;background:#fff;box-shadow:var(--shadow-lg);overflow:hidden}.quotes-list__header{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr) auto;gap:.5rem .65rem;padding:.65rem .85rem;background:var(--gray-50);font-size:.75rem;font-weight:600;color:var(--gray-700);border-bottom:1px solid var(--gray-200)}.quotes-list__header-actions{text-align:right;padding-right:.15rem}.quote-card{border-radius:0;box-shadow:none;border-bottom:1px solid var(--gray-200)}.quote-card:last-child{border-bottom:none}.quote-card__field--tco,.quote-card__field--cpk{display:block}.quote-card__grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr) auto;grid-template-areas:"company contact model tco cpk date actions";align-items:center;gap:.5rem .65rem;padding:.55rem .85rem}.quote-card__field--company,.quote-card__field--actions{align-self:center}.quote-card__field--actions{justify-self:end}.quote-card__label{display:none}.quote-card__value{font-size:.8125rem;font-weight:500}.quote-card:hover{background:var(--gray-50)}}.empty-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:12px;box-shadow:var(--shadow-lg);color:var(--gray-600)}.empty-state h3{margin-bottom:.5rem;color:var(--gray-800)}.empty-state p{margin-bottom:1.5rem}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;margin:0 2px;background:transparent;border:1px solid var(--gray-300);border-radius:8px;color:var(--gray-600);text-decoration:none;cursor:pointer;transition:all .2s ease}.icon-btn:hover{background:var(--gray-100);color:var(--dt-petrol);border-color:var(--dt-petrol)}.icon-btn svg{flex-shrink:0}
