:root{--bg:#090f1a;--panel:#111927;--panel2:#151f30;--border:#243147;--text:#f8fafc;--muted:#9aa9bd;--accent:#665cf6;--accent2:#14b8a6;--danger:#fb7185;--shadow:0 22px 60px rgba(0,0,0,.28);--radius:18px}*{box-sizing:border-box}html{background:var(--bg);color-scheme:dark}body{margin:0;background:radial-gradient(circle at 10% 10%,rgba(37,99,235,.11),transparent 32%),radial-gradient(circle at 90% 20%,rgba(20,184,166,.08),transparent 28%),var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}button,input,select{font:inherit}.calc-shell{max-width:1480px;margin:0 auto;padding:0 24px 54px}.calc-header{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid rgba(148,163,184,.14)}.calc-brand{display:flex;align-items:center;gap:11px;color:white;text-decoration:none;font-family:Outfit,sans-serif;font-weight:800;font-size:22px}.calc-brand img{border-radius:10px}.calc-brand span span{color:#77e0d1}.calc-header-actions{display:flex;align-items:center;gap:12px}.calc-language{display:flex;gap:5px;background:#111827;border:1px solid var(--border);padding:4px;border-radius:12px;flex-wrap:wrap}.calc-language button{border:0;background:transparent;color:var(--muted);min-width:38px;height:34px;border-radius:8px;cursor:pointer;font-weight:700}.calc-language button.active{background:#29334a;color:white}.calc-logout{height:42px;padding:0 14px;border:1px solid var(--border);border-radius:11px;background:#111827;color:white;cursor:pointer}.login-view{padding:70px 0 40px;display:grid;place-items:center}.login-card{width:min(560px,100%);background:linear-gradient(180deg,rgba(20,29,44,.98),rgba(13,20,32,.98));border:1px solid var(--border);border-radius:26px;padding:34px;box-shadow:var(--shadow)}.login-icon{width:58px;height:58px;border-radius:18px;background:rgba(102,92,246,.14);display:grid;place-items:center;font-size:28px;margin-bottom:18px}.eyebrow{text-transform:uppercase;letter-spacing:.09em;color:#7dd3fc;font-size:11px;font-weight:800;margin:0 0 7px}.login-card h1,.app-topbar h1{font-family:Outfit,sans-serif;margin:0;color:white;letter-spacing:-.03em}.login-card h1{font-size:34px;line-height:1.08}.login-lead{color:var(--muted);font-size:15px;line-height:1.65;margin:14px 0 20px}.login-note{background:#0c1524;border:1px solid var(--border);border-radius:15px;padding:14px 16px;margin-bottom:20px;color:var(--muted);font-size:13px;line-height:1.5}.login-note strong{display:block;color:white;margin-bottom:4px}.login-card label,.field-grid label{display:flex;flex-direction:column;gap:7px;color:#cad4e3;font-size:12px;font-weight:700;margin-bottom:14px}.login-card input,.field-grid input,.admin-client-select select{width:100%;height:46px;border:1px solid #334158;background:#0b1320;color:white;border-radius:11px;padding:0 12px;outline:none}.login-card input:focus,.field-grid input:focus,.admin-client-select select:focus{border-color:#8177ff;box-shadow:0 0 0 3px rgba(102,92,246,.15)}.primary-btn,.secondary-btn,.ghost-btn{min-height:44px;border-radius:11px;padding:10px 14px;border:0;cursor:pointer;font-weight:800}.primary-btn{background:linear-gradient(135deg,#665cf6,#5147e8);color:white}.secondary-btn{background:#1d293b;color:white;border:1px solid #334158}.ghost-btn{background:transparent;color:#c9d4e4;border:1px solid var(--border)}.primary-btn:disabled,.secondary-btn:disabled{opacity:.5;cursor:not-allowed}.login-card .primary-btn{width:100%;margin-top:4px}.form-status{min-height:20px;color:#fda4af;font-size:12px;margin:10px 0 0}.login-contact{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:18px;color:var(--muted);font-size:12px}.login-contact a{color:#c4d3e9;text-decoration:none}.app-view{padding-top:30px}.app-topbar{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:20px}.app-topbar h1{font-size:31px}.app-subtitle{color:var(--muted);margin:6px 0 0}.admin-client-select{min-width:280px}.admin-client-select label{display:block;color:var(--muted);font-size:11px;font-weight:800;margin:0 0 6px}.calc-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.calc-tab{border:1px solid var(--border);background:#101827;color:#aebbd0;border-radius:11px;min-height:44px;padding:10px 17px;font-weight:800;cursor:pointer}.calc-tab.active{background:#665cf6;border-color:#665cf6;color:white}.tab-panel{display:none}.tab-panel.active{display:block}.calc-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.62fr);gap:18px;align-items:start}.calc-main-column{display:grid;gap:18px}.panel-card{background:linear-gradient(180deg,rgba(18,27,41,.98),rgba(13,21,33,.98));border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:0 12px 34px rgba(0,0,0,.16);min-width:0}.panel-card h2{font-family:Outfit,sans-serif;font-size:20px;margin:0;color:white}.panel-card h3{font-size:15px;margin:22px 0 12px}.section-heading{display:flex;justify-content:space-between;align-items:start;gap:14px}.hint{color:var(--muted);font-size:12px;line-height:1.55;margin:7px 0 14px}.rate-chip{display:inline-flex;align-items:center;min-height:31px;padding:5px 10px;border-radius:999px;background:rgba(20,184,166,.1);color:#75e7d7;border:1px solid rgba(20,184,166,.22);font-size:11px;font-weight:800;white-space:nowrap}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:13px}.table-wrap table{width:100%;border-collapse:collapse;min-width:760px}.table-wrap th,.table-wrap td{padding:11px 10px;text-align:right;border-bottom:1px solid var(--border);font-size:12px}.table-wrap th{color:#91a1b8;background:#0c1421;text-transform:uppercase;letter-spacing:.045em;font-size:10px}.table-wrap th:first-child,.table-wrap td:first-child{text-align:left}.table-wrap tr:last-child td{border-bottom:0}.table-wrap input,.service-row input{height:38px;border:1px solid #344158;background:#0b1320;color:white;border-radius:9px;padding:0 9px;width:86px}.price-value{font-weight:800;color:#eef4ff}.service-row{display:grid;grid-template-columns:minmax(240px,1fr) 95px 105px 120px;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--border)}.service-row:last-child{border-bottom:0}.service-name{font-size:13px;font-weight:700}.service-name small{display:block;color:var(--muted);font-weight:400;margin-top:3px}.right{text-align:right}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field-grid label{margin:0}.summary-card{position:sticky;top:18px}.grand-total{font-family:Outfit,sans-serif;font-size:39px;font-weight:800;letter-spacing:-.04em;margin:14px 0 3px}.minimum-info{color:var(--muted);font-size:12px;margin:0}.summary-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.summary-kpis>div{background:#0b1422;border:1px solid var(--border);border-radius:13px;padding:12px}.summary-kpis span{display:block;color:var(--muted);font-size:10px;margin-bottom:4px}.summary-kpis strong{font-size:16px}.breakdown{border-top:1px solid var(--border);margin-top:8px;padding-top:4px}.breakdown>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px dashed #29364a;font-size:12px}.breakdown>div:last-child{border-bottom:0}.breakdown span{color:var(--muted)}.summary-actions{display:grid;gap:8px;margin-top:16px}.summary-note{background:#0d1726;color:#a7b5c9;border:1px solid var(--border);border-radius:12px;padding:12px;font-size:11px;line-height:1.5;margin-top:14px}.price-summary-row{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}.price-summary-row span{background:#0b1422;border:1px solid var(--border);border-radius:11px;padding:9px 11px;color:#c8d3e2;font-size:12px}.service-price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.service-price-card{background:#0b1422;border:1px solid var(--border);border-radius:13px;padding:13px}.service-price-card strong{display:block;margin-bottom:5px;font-size:13px}.service-price-card span{color:#7dd3fc;font-weight:800}.mobile-band-list,.mobile-price-list{display:none}.admin-settings-layout{display:grid;grid-template-columns:minmax(240px,.42fr) minmax(0,1fr);gap:18px;align-items:start}.account-list-card{position:sticky;top:18px}.account-list-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.compact{min-height:38px;padding:7px 10px}.account-list{display:grid;gap:8px;margin-top:14px}.account-item{width:100%;text-align:left;background:#0b1422;border:1px solid var(--border);border-radius:12px;padding:12px;color:white;cursor:pointer}.account-item.active{border-color:#7167fb;background:#171b39}.account-item strong{display:block;font-size:13px}.account-item small{display:block;color:var(--muted);margin-top:3px;word-break:break-word}.admin-settings-main{display:grid;gap:18px}.admin-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.wide-field{grid-column:1/-1}.wide-field small{font-weight:400;color:var(--muted);line-height:1.4}.switch-field{flex-direction:row!important;align-items:center!important;gap:9px!important}.switch-field input{width:19px!important;height:19px!important}.admin-policy-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-rate-row{display:grid;grid-template-columns:minmax(190px,1fr) 150px 150px;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}.admin-rate-row:last-child{border-bottom:0}.admin-rate-row strong{font-size:13px}.admin-rate-row small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.admin-rate-row input{height:42px;border:1px solid #344158;background:#0b1320;color:white;border-radius:9px;padding:0 10px;width:100%}.admin-service-row{grid-template-columns:minmax(220px,1fr) 170px}.admin-save-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.save-state{font-size:11px;color:#75e7d7;font-weight:800}.empty-state{padding:20px;border:1px dashed #334158;border-radius:14px;color:var(--muted);text-align:center}.external-card{padding-bottom:8px}@media(max-width:1000px){.calc-grid{grid-template-columns:1fr}.summary-card{position:static}.admin-settings-layout{grid-template-columns:1fr}.account-list-card{position:static}.service-price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.calc-shell{padding:0 14px 36px}.calc-header{align-items:flex-start;padding:13px 0;min-height:auto}.calc-brand{font-size:19px}.calc-brand img{width:36px;height:36px}.calc-header-actions{align-items:flex-end;flex-direction:column}.calc-language{max-width:210px;justify-content:flex-end}.calc-language button{min-width:32px;height:31px;font-size:11px}.login-view{padding:32px 0}.login-card{padding:22px 18px;border-radius:20px}.login-card h1{font-size:28px}.app-view{padding-top:20px}.app-topbar{align-items:stretch;flex-direction:column}.app-topbar h1{font-size:26px}.admin-client-select{min-width:0}.calc-tabs{display:grid;grid-template-columns:1fr 1fr}.calc-tab.admin-only:not([hidden]){grid-column:1/-1}.panel-card{padding:16px;border-radius:16px}.section-heading{flex-direction:column}.desktop-table{display:none}.mobile-band-list,.mobile-price-list{display:grid;gap:10px}.mobile-band-card,.mobile-price-card{background:#0b1422;border:1px solid var(--border);border-radius:13px;padding:13px}.mobile-band-card h3,.mobile-price-card h3{margin:0 0 10px;font-size:14px}.mobile-band-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}.mobile-band-fields label{font-size:10px;color:var(--muted);font-weight:700}.mobile-band-fields input{width:100%;height:42px;margin-top:5px;border:1px solid #344158;background:#0a1220;color:white;border-radius:9px;padding:0 9px;font-size:16px}.mobile-band-cost{display:flex;justify-content:space-between;gap:10px;padding-top:10px;margin-top:10px;border-top:1px solid var(--border);font-size:12px}.service-row{grid-template-columns:1fr 92px}.service-row .unit-price{grid-column:1}.service-row .service-total{grid-column:2;text-align:right}.field-grid,.admin-fields,.admin-policy-fields{grid-template-columns:1fr}.wide-field{grid-column:auto}.summary-kpis{grid-template-columns:1fr 1fr}.service-price-grid{grid-template-columns:1fr}.price-summary-row{display:grid;grid-template-columns:1fr 1fr}.admin-rate-row{grid-template-columns:1fr 1fr}.admin-rate-row .rate-name{grid-column:1/-1}.admin-service-row{grid-template-columns:1fr 1fr}.admin-save-actions{display:grid}.grand-total{font-size:34px}}@media(max-width:390px){.calc-tabs{grid-template-columns:1fr}.calc-tab.admin-only:not([hidden]){grid-column:auto}.mobile-band-fields,.summary-kpis,.price-summary-row{grid-template-columns:1fr}.service-row{grid-template-columns:1fr}.service-row .unit-price,.service-row .service-total{grid-column:auto;text-align:left}.admin-rate-row,.admin-service-row{grid-template-columns:1fr}}
@media print{body{background:white;color:#111}.calc-header,.calc-tabs,.external-card,.summary-actions,.admin-only{display:none!important}.calc-shell{max-width:none;padding:0}.app-topbar h1,.panel-card h2{color:#111}.panel-card{box-shadow:none;border-color:#ddd;background:white}.hint,.minimum-info,.breakdown span{color:#555}.calc-grid{grid-template-columns:1fr 360px}.summary-card{position:static}.table-wrap th{background:#f5f5f5;color:#333}.table-wrap td,.table-wrap th{border-color:#ddd;color:#111}.table-wrap input{color:#111;background:white}.grand-total{color:#111}}

.login-contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.contact-access-btn{min-height:50px;border:1px solid var(--border);background:#0b1422;color:#dbe7f6;text-decoration:none;border-radius:12px;padding:10px 12px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;word-break:break-word}.contact-access-btn:hover{border-color:#665cf6;background:#111b2d}.subscription-note{margin-top:12px;border:1px solid rgba(20,184,166,.25);background:rgba(20,184,166,.08);color:#baf6ed;border-radius:12px;padding:12px;font-size:11px;line-height:1.55}.calculator-visibility-note{margin-top:9px;border:1px solid rgba(125,211,252,.18);background:rgba(125,211,252,.05);color:#aebed2;border-radius:12px;padding:11px 12px;font-size:10.5px;line-height:1.5}.calc-sync-state{font-size:10px;color:#75e7d7;font-weight:700;margin-top:8px;min-height:16px}@media(max-width:520px){.login-contact-actions{grid-template-columns:1fr}.contact-access-btn{justify-content:flex-start}.calc-header-actions{width:100%}.calc-language{max-width:none;width:100%;justify-content:center}}

[hidden]{display:none !important}
.access-choice{margin-top:18px;padding:18px;border:1px solid var(--border);border-radius:18px;background:#0c1524}
.access-choice-title{margin:0 0 8px;font-weight:800;font-size:16px;color:#fff}
.access-choice-copy{margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.access-choice-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.access-choice-actions .primary-btn,.access-choice-actions .secondary-btn{flex:1 1 220px}
.inline-back-btn{width:100%;margin-top:10px}
.login-contact-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.contact-access-btn{flex:1 1 220px;display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 14px;border-radius:13px;border:1px solid var(--border);background:#0b1422;color:#fff;text-decoration:none}
.contact-access-btn span{font-size:16px}
.access-modal{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:18px;background:rgba(5,10,18,.72);backdrop-filter:blur(8px)}
.access-modal-card{position:relative;width:min(540px,100%);background:linear-gradient(180deg,rgba(20,29,44,.99),rgba(13,20,32,.99));border:1px solid var(--border);border-radius:24px;padding:26px;box-shadow:var(--shadow)}
.access-modal-card h2{font-family:Outfit,sans-serif;font-size:29px;line-height:1.08;margin:0 0 10px;color:#fff}
.access-modal-close{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;border:1px solid var(--border);background:#0b1320;color:#fff;font-size:24px;line-height:1;cursor:pointer}
.modal-contact-actions{margin-top:18px}
.modal-choice-actions{margin-top:18px}
body.calculator-authenticated .login-view{display:none !important}
body.calculator-authenticated .app-view{display:block !important}
@media(max-width:720px){.access-choice{padding:16px}.access-choice-title{font-size:15px}.access-choice-actions{display:grid;grid-template-columns:1fr}.contact-access-btn{flex-basis:100%}.access-modal{padding:14px}.access-modal-card{padding:22px 18px;border-radius:20px}.access-modal-card h2{font-size:24px}.access-modal-close{top:10px;right:10px}}
