.com-wrap{max-width:560px;margin:0 auto}.inp{border-radius:9px;padding:.6rem .7rem;font-size:.95rem}.inp:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--primary-color) 18%, transparent);background:var(--card-bg)}.services-grid{flex-wrap:wrap;gap:.55rem;display:flex}.svc-pill{background:var(--card-bg);border:1.5px solid var(--line-color);cursor:pointer;text-align:left;box-shadow:var(--card-shadow);border-radius:12px;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.6rem 1.6rem .6rem .9rem;font-family:inherit;transition:border-color .18s,background .18s,transform .12s;display:flex;position:relative}.svc-pill:hover{border-color:var(--text-muted);transform:translateY(-1px)}.svc-pill.active{border-color:var(--primary-color);background:color-mix(in srgb, var(--primary-color) 10%, transparent)}.svc-name{color:var(--text-color);font-size:.92rem;font-weight:700}.svc-rate{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.78rem}.svc-pill.active .svc-rate{color:var(--primary-color)}.svc-x{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.1rem .3rem;font-size:1rem;line-height:1;position:absolute;top:.3rem;right:.35rem}.svc-x:hover{color:var(--danger-color);background:color-mix(in srgb, var(--danger-color) 12%, transparent)}.add-service-form{background:var(--card-bg);border:1px solid var(--line-color);border-radius:12px;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.9rem;padding:.9rem;display:none}.add-service-form.open{display:flex}.add-service-form #new-service-name{flex:1;min-width:150px}.rate-fields{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.rate-plus{color:var(--text-muted);font-size:.9rem;font-weight:700}.rate-field{position:relative}.rate-field .inp-num{width:100px;padding-right:1.7rem}.rate-suffix{color:var(--text-muted);pointer-events:none;font-size:.85rem;position:absolute;top:50%;right:.6rem;transform:translateY(-50%)}.form-error{color:var(--danger-color);flex-basis:100%;margin:0;font-size:.78rem;display:none}.add-service-form.invalid .form-error{display:block}.amount-field{position:relative}.amount-input{text-align:right;font-variant-numeric:tabular-nums;width:100%;padding:.8rem .9rem;font-size:1.5rem;font-weight:700}.switch-row{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.7rem;margin-top:1rem;display:flex}.switch{flex-shrink:0;width:46px;height:26px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.slider{background:var(--line-color);border-radius:999px;transition:background .2s;position:absolute;inset:0}.slider:before{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.switch input:checked+.slider{background:var(--primary-color)}.switch input:checked+.slider:before{transform:translate(20px)}.switch input:focus-visible+.slider{box-shadow:0 0 0 3px color-mix(in srgb, var(--primary-color) 25%, transparent)}.switch-label{color:var(--text-color);font-size:.88rem;font-weight:600}.result-card{background:var(--text-color);color:var(--bg-color);border-radius:14px;padding:1.4rem 1.5rem}body.dark-mode .result-card{background:var(--card-bg);color:var(--text-color);border:1px solid var(--line-color)}.result-label{letter-spacing:.18em;color:var(--accent-color);font-size:.7rem;font-weight:700}.result-total{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:.2rem 0 .9rem;font-size:2.2rem;font-weight:800}.result-breakdown{flex-direction:column;gap:.4rem;margin-bottom:.9rem;display:flex}.bk-row{border-bottom:1px solid color-mix(in srgb, var(--bg-color) 18%, transparent);justify-content:space-between;align-items:baseline;padding-bottom:.4rem;font-size:.9rem;display:flex}body.dark-mode .bk-row{border-bottom-color:var(--line-color)}.result-breakdown .bk-row:last-child{border-bottom:none;padding-bottom:0}.bk-label{opacity:.75}.bk-value{font-variant-numeric:tabular-nums;font-weight:700}.bk-fee{color:var(--accent-color)}.result-explain{opacity:.85;margin:0;font-size:.85rem;line-height:1.55}.result-explain strong{font-weight:800}@media (width<=480px){.add-service-form #new-service-name{min-width:100%}}
