:root{color-scheme:light;font-family:Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;background:#f5f7fa;color:#16202a}body{margin:0;padding:0;display:flex;justify-content:center;background:#f5f7fa}code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.app{width:min(1100px,100%);padding:24px 16px 48px;box-sizing:border-box}h1{font-size:1.75rem;margin-bottom:.5rem}p{margin-top:0;margin-bottom:.5rem}.banner{background:#182c52;color:#fff;padding:10px 16px;border-radius:8px;display:none;margin-top:16px;margin-bottom:24px;font-weight:600}.banner.is-visible{display:block}.card{background:#fff;border-radius:12px;border:1px solid #dde5ef;padding:20px;display:grid;gap:24px;margin-top:24px}form{display:grid;gap:12px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}label{display:flex;flex-direction:column;gap:4px;font-size:.9rem;font-weight:600}select,input[type=number],input[type=text]{padding:8px 10px;border-radius:6px;border:1px solid #c0cad5;font-size:1rem}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.action-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.primary-btn{background:#182c52;color:#fff;border:none;border-radius:8px;padding:10px 18px;font-size:1rem;cursor:pointer;min-width:120px;transition:opacity .2s ease}.primary-btn:disabled{opacity:.5;cursor:not-allowed}.result{background:#f0f4fb;border-radius:10px;padding:16px;border:1px solid #d3def1;display:none;flex-direction:column;gap:6px;font-size:1rem}.result.is-visible{display:flex}.warning{background:#fff4d6;color:#7a4c00;padding:12px 16px;border-radius:8px;border:1px solid #ffd891;display:none}.warning.is-visible{display:block}table{width:100%;border-collapse:collapse;margin-top:16px;font-size:.95rem}th,td{border:1px solid #d0d8e5;padding:10px;text-align:left}th{background:#e8eef9;font-weight:700}.muted{color:#4e5b6a;font-size:.85rem}.summary,.config-header{display:flex;flex-direction:column;gap:8px}.tag{background:#e8eef9;color:#182c52;padding:6px 12px;border-radius:999px;font-size:.85rem;display:flex;align-items:center;gap:8px}.tag button{background:transparent;border:none;color:inherit;font-size:1rem;cursor:pointer;line-height:1;padding:0}.tag button:hover{color:#0c1632}.hidden{display:none!important}.layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:start;margin-top:24px}.config{min-width:0}.cart{background:#fff;border-radius:12px;border:1px solid #dde5ef;padding:20px;position:sticky;top:24px;display:flex;flex-direction:column;gap:16px}.cart h2{margin:0;font-size:1.1rem}.cart-item{border:1px solid #d7e0ed;border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:10px;background:#f4f7ff}.cart-item-header{display:flex;justify-content:space-between;align-items:center;font-weight:700;color:#0f1f3a}.cart-item-title{font-size:.95rem}.cart-lines{display:flex;flex-direction:column;gap:6px}.cart-line{display:flex;justify-content:space-between;font-size:.9rem}.cart-line span:last-child{font-weight:600}.cart-totals{border-top:1px solid #d7e0ed;padding-top:16px;display:flex;flex-direction:column;gap:8px;margin-top:8px}.cart-total-line{display:flex;justify-content:space-between;font-size:.95rem}.cart-total-line.emphasis span:last-child{color:#0a7d34;font-weight:700}.option-toggle{margin:24px 0 0;display:flex;flex-direction:column;gap:6px}.config-header{margin-top:24px;margin-bottom:16px;border:1px solid #dde5ef;border-radius:12px;background:#fff;padding:16px}.config-header .info{font-size:.9rem;color:#4e5b6a}.toggle-control{display:flex;align-items:center;gap:12px;font-size:.95rem;font-weight:600}.toggle-control input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:46px;height:24px;border-radius:16px;background:#c8d4e5;position:relative;cursor:pointer;transition:background .2s ease}.toggle-control input:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 4px #0003;transition:transform .2s ease}.toggle-control input:checked{background:#182c52}.toggle-control input:checked:after{transform:translate(22px)}.toggle-control input:disabled{opacity:.4;cursor:not-allowed}.muted.small{font-size:.8rem}@media (max-width: 1024px){.layout{grid-template-columns:1fr}.cart{position:static}}@media (max-width: 640px){th,td{font-size:.85rem}}
