:root{--accent: #2563eb;--accent-dark: #1d4ed8;--accent-soft: #eff6ff;--text: #0f172a;--text-muted: #64748b;--line: #e2e8f0;--surface: #ffffff;--bg: #f1f5f9;--danger: #dc2626;--danger-soft: #fef2f2;--success: #16a34a;--success-soft: #f0fdf4;--radius: 14px;--gap: 16px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}.page{max-width:640px;margin:0 auto;padding:calc(var(--safe-top) + 20px) 16px calc(var(--safe-bottom) + 40px)}h1{font-size:26px;line-height:1.25;margin:0 0 4px;letter-spacing:-.02em}h2{font-size:18px;margin:0 0 12px;letter-spacing:-.01em}p{margin:0 0 12px}a{color:var(--accent)}.muted{color:var(--text-muted);font-size:14px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:var(--gap)}.card-link{display:block;color:inherit;text-decoration:none}.card-link:hover{border-color:#cbd5e1}.button,.button:hover{text-decoration:none}.header{margin-bottom:24px}.header .muted{margin-top:2px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;padding:12px 18px;border:1px solid transparent;border-radius:12px;background:var(--accent);color:#fff;font:inherit;font-weight:600;cursor:pointer;transition:background .15s ease,opacity .15s ease}.button:hover:not(:disabled){background:var(--accent-dark)}.button:disabled{opacity:.55;cursor:not-allowed}.button--secondary{background:var(--surface);border-color:var(--line);color:var(--text)}.button--secondary:hover:not(:disabled){background:var(--bg)}.button--danger{background:var(--surface);border-color:var(--line);color:var(--danger)}.button--danger:hover:not(:disabled){background:var(--danger-soft)}.button--inline{width:auto;min-height:40px;padding:8px 14px;font-size:14px}.button-row{display:flex;gap:8px}.field{margin-bottom:14px}.field label{display:block;margin-bottom:6px;font-size:14px;font-weight:600}.field input,.field textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);font:inherit;font-size:16px}.field textarea{min-height:90px;resize:vertical}.field input:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.field .error{margin-top:6px;color:var(--danger);font-size:13px}.price-group+.price-group{margin-top:8px}.price-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.price-row:last-child{border-bottom:none;padding-bottom:0}.price-row__name{flex:1}.price-row__price{font-weight:600;white-space:nowrap}.choice{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);cursor:pointer}.choice:last-child{border-bottom:none}.choice input{width:22px;height:22px;flex-shrink:0;accent-color:var(--accent)}.choice__name{flex:1}.choice__price{color:var(--text-muted);white-space:nowrap}.total{display:flex;justify-content:space-between;margin-top:14px;padding-top:14px;border-top:2px solid var(--line);font-size:18px;font-weight:700}.module{display:flex;gap:14px;align-items:flex-start}.module__body{flex:1;min-width:0}.module__title{font-weight:600;margin-bottom:2px}.switch{position:relative;flex-shrink:0;width:50px;height:30px}.switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.switch__track{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:#cbd5e1;transition:background .15s ease;pointer-events:none}.switch__track:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0f172a4d;transition:transform .15s ease}.switch input:checked+.switch__track{background:var(--accent)}.switch input:checked+.switch__track:after{transform:translate(20px)}.switch input:disabled+.switch__track{opacity:.5}.link-box{display:flex;gap:8px;align-items:center;margin-top:14px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--accent-soft)}.link-box__url{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:var(--accent-dark)}.request__head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:8px}.request__name{font-weight:600}.badge{flex-shrink:0;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600}.badge--new{background:var(--accent-soft);color:var(--accent-dark)}.badge--confirmed{background:var(--success-soft);color:var(--success)}.badge--declined{background:var(--danger-soft);color:var(--danger)}.request__facts{margin:10px 0;font-size:14px}.request__facts div{display:flex;gap:8px;padding:3px 0}.request__facts dt{min-width:96px;color:var(--text-muted)}.state{padding:48px 16px;text-align:center;color:var(--text-muted)}.spinner{width:30px;height:30px;margin:0 auto 14px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2s}*{transition-duration:.01ms!important}}.notice{padding:12px 14px;border-radius:12px;font-size:14px;margin-bottom:var(--gap)}.notice--error{background:var(--danger-soft);color:var(--danger)}.notice--success{background:var(--success-soft);color:var(--success)}.select{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);font:inherit;font-size:16px}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:var(--gap)}.tile{position:relative;display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-align:left;font:inherit;color:inherit;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.tile:hover{border-color:#cbd5e1;box-shadow:0 2px 10px #0f172a0f}.tile--on{border-color:var(--accent);background:var(--accent-soft)}.tile__icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:11px;background:var(--bg);font-size:20px}.tile--on .tile__icon{background:var(--accent);color:#fff}.tile__title{font-weight:600;line-height:1.3}.tile__state{font-size:13px;color:var(--text-muted)}.tile--on .tile__state{color:var(--accent-dark);font-weight:600}.tile__count{position:absolute;top:12px;right:12px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--danger);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}.sheet{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.back{display:inline-flex;align-items:center;gap:6px;margin-bottom:14px;background:none;border:none;padding:0;font:inherit;font-size:14px;color:var(--text-muted);cursor:pointer}.back:hover{color:var(--text)}.price-sheet{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:var(--gap)}.price-sheet__head{padding:20px 18px 16px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--accent-soft),var(--surface))}.price-sheet__title{font-size:20px;font-weight:700;letter-spacing:-.02em}.price-sheet__address{margin-top:4px;font-size:14px;color:var(--text-muted)}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.price-table{width:100%;border-collapse:collapse;font-size:15px}.price-table th,.price-table td{padding:12px 14px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--line)}.price-table thead th{position:sticky;top:0;background:var(--surface);font-size:13px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.price-table tbody tr{background:var(--surface)}.price-table tbody tr:nth-child(2n){background:#f8fafc}.price-table th:first-child,.price-table td:first-child{position:sticky;left:0;z-index:1;background:inherit;text-align:left;white-space:normal;min-width:150px;font-weight:500}.price-table thead th:first-child{z-index:2}.price-table tbody tr:last-child td{border-bottom:none}.price-table td{font-variant-numeric:tabular-nums;font-weight:600}.price-table .empty{color:#cbd5e1;font-weight:400}.price-sheet__foot{padding:14px 18px;border-top:1px solid var(--line);font-size:13px;color:var(--text-muted)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:10px 16px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font:inherit;font-size:15px;cursor:pointer;transition:all .15s ease}.chip:hover{border-color:#cbd5e1}.chip--on{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:600}.steps-hint{margin:-4px 0 12px;font-size:14px;color:var(--text-muted)}.sticky-total{position:sticky;bottom:0;margin:0 -16px;padding:14px 16px calc(var(--safe-bottom) + 14px);background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line)}.sticky-total__row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;font-size:17px;font-weight:700}@media print{body{background:#fff}.page{max-width:none;padding:0}.no-print{display:none!important}.price-sheet{border:none;border-radius:0}.price-sheet__head{background:none;border-bottom:2px solid #000}.table-scroll{overflow:visible}.price-table{font-size:12pt}.price-table th,.price-table td{padding:6px 10px;border-bottom:1px solid #ccc}.price-table thead th{position:static;color:#000}.price-table th:first-child,.price-table td:first-child{position:static}.price-table tbody tr:nth-child(2n){background:#f4f4f4!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.price-table tr{page-break-inside:avoid}}.page--tight{padding-top:calc(var(--safe-top) + 14px);padding-bottom:calc(var(--safe-bottom) + 12px)}.head-compact{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}.head-compact h1{font-size:22px;margin:0}.head-compact .muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.block{margin-bottom:16px}.block__title{margin-bottom:8px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.chip{min-height:44px}.chip--wide{display:inline-flex;align-items:center;gap:10px}.chip__price{opacity:.7;font-variant-numeric:tabular-nums}.chip--on .chip__price{opacity:.9}.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:6px;margin-top:8px;max-height:132px;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-right:2px}.slot{padding:10px 4px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font:inherit;font-size:15px;font-variant-numeric:tabular-nums;cursor:pointer}.slot--on{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:600}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}@media(max-width:380px){.field-row{grid-template-columns:1fr}}.input{width:100%;min-height:46px;padding:11px 13px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--text);font:inherit;font-size:16px}.input:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}textarea.input{min-height:60px;resize:vertical}.link-button{margin-top:10px;padding:0;border:none;background:none;font:inherit;font-size:14px;color:var(--accent);cursor:pointer}.more{margin-top:10px;display:flex;flex-direction:column;gap:8px}
