:root{--bg: #f5f6f8;--surface: #ffffff;--surface-alt: #eceef2;--border: #d9dee4;--ink: #16212c;--ink-dim: #57667a;--accent: #1b6e63;--accent-ink: #0f3f39;--accent-soft: #dcece8;--amber: #c97a2b;--amber-soft: #f5e4d0;--amber-ink: #6e4415;--focus: #1b6e63}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0e151c;--surface: #17212b;--surface-alt: #1e2933;--border: #2b3742;--ink: #e8ecef;--ink-dim: #93a2b2;--accent: #3fae9c;--accent-ink: #bfede3;--accent-soft: #1c3430;--amber: #e3a15a;--amber-soft: #3a2a18;--amber-ink: #f2cd9e;--focus: #3fae9c}}:root[data-theme=dark]{--bg: #0e151c;--surface: #17212b;--surface-alt: #1e2933;--border: #2b3742;--ink: #e8ecef;--ink-dim: #93a2b2;--accent: #3fae9c;--accent-ink: #bfede3;--accent-soft: #1c3430;--amber: #e3a15a;--amber-soft: #3a2a18;--amber-ink: #f2cd9e;--focus: #3fae9c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.45;-webkit-font-smoothing:antialiased}.num{font-family:ui-monospace,SF Mono,Cascadia Code,Roboto Mono,Menlo,monospace;font-variant-numeric:tabular-nums}.wrap{max-width:980px;margin:0 auto;padding:2.5rem 1.5rem 4rem}header.page{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1.5rem}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:600;color:var(--accent-ink)}h1{margin:0;font-size:clamp(1.6rem,3vw,2.1rem);font-weight:700;letter-spacing:-.01em;text-wrap:balance}.sub{color:var(--ink-dim);font-size:.95rem;max-width:60ch}.tabs{display:flex;gap:1.5rem;margin-bottom:1.75rem;border-bottom:1px solid var(--border)}.tab-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;cursor:pointer;padding:.6rem .05rem;font-family:inherit;font-size:.92rem;font-weight:600;color:var(--ink-dim);border-bottom:2px solid transparent;transition:color .15s ease,border-color .15s ease}.tab-btn:hover{color:var(--ink)}.tab-btn.active{color:var(--accent-ink);border-bottom-color:var(--accent)}.tab-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.tab-panel{display:none}.tab-panel.active{display:block}.grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:1.25rem;align-items:start}@media(max-width:760px){.grid{grid-template-columns:1fr}}.col-stack{display:flex;flex-direction:column;gap:1.25rem;min-width:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.5rem}.card h2{margin:0 0 1.1rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-dim);font-weight:600}.card.margin-card{border-color:var(--accent)}.field{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.75rem 1rem;padding:.85rem 0;border-bottom:1px solid var(--border)}.field:last-child{border-bottom:none}.field label{font-weight:600;font-size:.95rem}.field .rate{display:block;font-size:.8rem;color:var(--ink-dim);font-weight:400;margin-top:.1rem}.stepper{display:flex;align-items:center;gap:.4rem}.stepper button{width:30px;height:30px;border-radius:8px;border:1px solid var(--border);background:var(--surface-alt);color:var(--ink);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s ease,border-color .12s ease}.stepper button:hover{border-color:var(--accent)}.stepper button:focus-visible,input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.stepper input{width:3.6rem;text-align:center;padding:.4rem .2rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--ink);font-size:.95rem;font-family:inherit}.stepper input.wide{width:4.6rem}.storage-row{display:flex;flex-direction:column;gap:.6rem;padding:.85rem 0}.storage-row .top{display:flex;justify-content:space-between;align-items:center;gap:1rem}input[type=range]{width:100%;accent-color:var(--accent)}.addon-card{transition:border-color .15s ease}.addon-card:has(.toggle input:checked){border-color:var(--accent)}.addon-head{display:flex;align-items:center;gap:.85rem;margin-bottom:.9rem}.addon-head h2{margin:0}.addon-title{display:flex;flex-direction:column;gap:.15rem}.addon-title .rate{font-size:.82rem;color:var(--ink-dim);font-weight:400}.addon-title .rate-sub{color:var(--ink-dim);font-weight:400}.toggle{position:relative;display:inline-flex;flex:none;cursor:pointer}.toggle input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;margin:0;cursor:pointer}.toggle-track{width:42px;height:24px;border-radius:999px;background:var(--surface-alt);border:1px solid var(--border);display:inline-flex;align-items:center;padding:2px;transition:background .15s ease,border-color .15s ease}.toggle-thumb{width:18px;height:18px;border-radius:50%;background:var(--surface);box-shadow:0 1px 2px #00000040;transition:transform .15s ease}.toggle input:checked+.toggle-track{background:var(--accent);border-color:var(--accent)}.toggle input:checked+.toggle-track .toggle-thumb{transform:translate(18px);background:#fff}.toggle input:focus-visible+.toggle-track{outline:2px solid var(--focus);outline-offset:2px}.addon-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}.addon-list li{background:var(--surface-alt);border:1px solid var(--border);border-radius:999px;padding:.25rem .65rem;font-size:.78rem;color:var(--ink-dim)}.addon-desc{margin:0;font-size:.86rem;color:var(--ink-dim)}.result-price{display:flex;flex-direction:column;gap:.15rem;padding-bottom:1.1rem;margin-bottom:1.1rem;border-bottom:1px solid var(--border)}.result-price .label{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-dim);font-weight:600}.result-price .value{font-size:2.35rem;font-weight:600;color:var(--accent-ink);line-height:1.1}.result-price .value .cents{font-size:1.3rem}.result-price .netto{font-size:.9rem;color:var(--ink-dim)}.quarter-line{display:flex;justify-content:space-between;align-items:baseline;padding:.9rem 0;border-bottom:1px solid var(--border)}.quarter-line .label{font-size:.88rem;color:var(--ink-dim)}.quarter-line .amounts{text-align:right;font-size:.95rem}.quarter-line .amounts .brutto{font-weight:600}.quarter-line .amounts .netto{color:var(--ink-dim);font-size:.82rem}.breakdown{padding:1rem 0 .2rem}.breakdown h3{margin:0 0 .6rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-dim);font-weight:600}.breakdown-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;font-size:.88rem;padding:.32rem 0;color:var(--ink)}.breakdown-row .desc{color:var(--ink-dim)}.breakdown-row.empty{color:var(--ink-dim);font-style:italic}.breakdown-row.total{margin-top:.3rem;padding-top:.55rem;border-top:1px solid var(--border);font-weight:700;color:var(--accent-ink)}.breakdown-row.total .desc{color:var(--accent-ink);font-weight:700}.mailbox-chip{margin-top:1.2rem;padding:.9rem 1rem;border-radius:10px;background:var(--amber-soft);border:1px solid color-mix(in srgb,var(--amber) 35%,var(--amber-soft));display:flex;gap:.7rem;align-items:flex-start}.mailbox-chip .icon{font-size:1.1rem;line-height:1.3;color:var(--amber-ink)}.mailbox-chip .text{font-size:.86rem;color:var(--amber-ink)}.mailbox-chip .text strong{display:block;font-size:.95rem;margin-bottom:.15rem}.price-intro{color:var(--ink-dim);font-size:.9rem;max-width:68ch;margin:0 0 1.25rem}.price-row{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:.6rem 1rem;align-items:center;padding:.9rem 0;border-bottom:1px solid var(--border)}.price-row:last-child{border-bottom:none}.price-row-label{display:flex;flex-direction:column;gap:.1rem}.price-row-label .name{font-weight:600;font-size:.95rem}.price-row-label .unit{font-size:.78rem;color:var(--ink-dim)}.price-row-cost{display:flex;align-items:center;gap:.45rem}.price-row-cost input{width:5.5rem;text-align:right;padding:.4rem .55rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--ink);font-family:inherit;font-size:.95rem}.price-row-cost .unit-suffix{font-size:.82rem;color:var(--ink-dim)}.price-row-result{display:flex;flex-direction:column;align-items:flex-end;gap:.05rem}.price-row-result .margin-label{font-size:.72rem;color:var(--ink-dim)}.price-row-result .sell{font-weight:700;color:var(--accent-ink);font-size:1rem}.price-row-result .sell-sub{font-size:.72rem;color:var(--ink-dim)}@media(max-width:640px){.price-row{grid-template-columns:1fr}.price-row-cost,.price-row-result{align-items:flex-start}}.price-actions{margin-top:1.25rem;text-align:right}.link-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;cursor:pointer;color:var(--ink-dim);font-family:inherit;font-size:.82rem;text-decoration:underline;padding:.2rem}.link-btn:hover{color:var(--accent-ink)}footer.page{margin-top:1.75rem;font-size:.78rem;color:var(--ink-dim);text-align:center}.admin-nav{display:flex;gap:1.25rem;align-items:center;margin-bottom:1.75rem;border-bottom:1px solid var(--border);padding-bottom:0}.admin-nav a{text-decoration:none;padding:.6rem .05rem;font-size:.92rem;font-weight:600;color:var(--ink-dim);border-bottom:2px solid transparent}.admin-nav a.router-link-active{color:var(--accent-ink);border-bottom-color:var(--accent)}.admin-nav .spacer{flex:1}.admin-nav-actions{display:flex;align-items:center;gap:.85rem;padding-bottom:.35rem}.admin-nav-actions .btn{text-decoration:none;display:inline-flex;align-items:center}.btn.btn-kalkulator{gap:.45rem;padding:.5rem .95rem;background:var(--accent-soft);color:var(--accent-ink);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));box-shadow:0 1px 2px color-mix(in srgb,var(--accent) 12%,transparent);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .12s ease}.btn.btn-kalkulator:hover{filter:none;background:color-mix(in srgb,var(--accent-soft) 65%,var(--accent) 35%);border-color:var(--accent);color:var(--accent-ink);box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 18%,transparent);transform:translateY(-1px)}.btn.btn-kalkulator:active{transform:translateY(0);box-shadow:0 1px 2px color-mix(in srgb,var(--accent) 10%,transparent)}.btn-kalkulator-icon{display:inline-flex;align-items:center;justify-content:center;width:1.15rem;height:1.15rem;border-radius:6px;background:color-mix(in srgb,var(--accent) 18%,transparent);font-size:.72rem;font-weight:700;line-height:1}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--accent);color:#fff;font-family:inherit;font-weight:600;font-size:.9rem;padding:.55rem 1rem;border-radius:10px;cursor:pointer}.btn:hover{filter:brightness(1.05)}.btn.secondary{background:var(--surface-alt);color:var(--ink)}.btn.danger{background:transparent;color:#a33;border-color:color-mix(in srgb,#a33 35%,var(--border))}.btn:disabled{opacity:.55;cursor:not-allowed}.form-grid{display:grid;gap:.85rem}.form-grid label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:600;color:var(--ink-dim)}.form-grid input,.form-grid select,.form-grid textarea{font-family:inherit;font-size:.95rem;font-weight:400;color:var(--ink);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.5rem .65rem}.error{color:#a33;font-size:.88rem}.muted{color:var(--ink-dim);font-size:.88rem}.stack{display:flex;flex-direction:column;gap:1rem}.row-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.customer-card h3{margin:0 0 .35rem;font-size:1.05rem}.period-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 0;border-top:1px solid var(--border);font-size:.9rem}.badge{display:inline-block;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:.2rem .45rem;border-radius:6px;background:var(--accent-soft);color:var(--accent-ink)}.login-wrap{max-width:420px;margin:4rem auto;padding:0 1.5rem}.billing-table-wrap{overflow-x:auto;padding:0}.billing-table{width:100%;border-collapse:collapse;font-size:.9rem}.billing-table th,.billing-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border)}.billing-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-dim);font-weight:600}.billing-table tbody tr:last-child td{border-bottom:none}.billing-actions{text-align:right;white-space:nowrap}.billing-table a{color:var(--accent-ink);font-weight:600;text-decoration:none}.billing-table a:hover{text-decoration:underline}.badge-overdue{background:var(--amber-soft);color:var(--amber-ink)}.current-period{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.current-period h3{margin:0 0 .5rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-dim);font-weight:600}.mode-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.mode-tab{border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:8px;padding:.45rem .75rem;font-size:.85rem;cursor:pointer}.mode-tab.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.agreement-wizard{margin-top:.75rem}.provision-notice{margin:.25rem 0 .5rem;padding:.85rem 1rem;border-radius:10px;background:var(--amber-soft);border:1px solid color-mix(in srgb,var(--amber) 35%,var(--amber-soft));color:var(--amber-ink);font-size:.86rem;line-height:1.45}.provision-notice strong{font-weight:700}.stepper.compact{display:flex;align-items:center;gap:.35rem}.stepper.compact button{width:2rem;height:2rem;padding:0}.stepper.compact input{width:4rem;text-align:center}.checkbox-row{display:flex;align-items:center;gap:.5rem}.card.nested,.storage-block.nested{margin-top:.75rem;padding:.85rem 1rem;background:var(--surface-alt, var(--surface));border:1px solid var(--border);border-radius:10px}.calc-lines{margin:.5rem 0 0;padding-left:1.1rem;font-size:.85rem;color:var(--ink-dim)}.storage-block{margin-top:.75rem}.storage-bar{margin-top:.5rem;height:6px;border-radius:999px;background:var(--border);overflow:hidden}.storage-bar span{display:block;height:100%;border-radius:999px}.badge-storage-ok{background:#e6f4ea;color:#1e6b3a}.badge-storage-warn{background:var(--amber-soft);color:var(--amber-ink)}.badge-storage-critical{background:#fde8e8;color:#9b1c1c}.badge-storage-unavailable{background:var(--border);color:var(--ink-dim)}
