/* =====================================================
   Sky-Tech — Smart Service Recommendation Wizard
   Premium, responsive, minimal extra styling.
   Uses existing app.css tokens/classes where possible.
   ===================================================== */

.sr-shell{padding:26px 0}
.sr-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;align-items:stretch}
@media (max-width: 900px){.sr-hero{grid-template-columns:1fr}}

.sr-kicker{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.sr-kicker .badge{display:inline-flex;align-items:center;gap:6px}

.sr-steps{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.sr-step{flex:1 1 120px;min-width:120px;border-radius:14px;padding:10px 12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10)}
.sr-step .t{font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.85}
.sr-step .d{margin-top:4px;opacity:.85;font-size:13px}
.sr-step.active{border-color:rgba(99,102,241,.55);box-shadow:0 0 0 3px rgba(99,102,241,.18) inset}
.sr-step.done{border-color:rgba(16,185,129,.55)}

.sr-progress{height:10px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:14px}
.sr-progress > span{display:block;height:100%;width:0%;background:linear-gradient(90deg, rgba(99,102,241,.95), rgba(34,211,238,.9));transition:width .35s ease}

.sr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
@media (max-width: 900px){.sr-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width: 560px){.sr-grid{grid-template-columns:1fr}}

.sr-card{position:relative;cursor:pointer;border-radius:16px;padding:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);transition:transform .18s ease, border-color .18s ease, background .18s ease}
.sr-card:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.08)}
.sr-card.active{border-color:rgba(99,102,241,.65);box-shadow:0 0 0 3px rgba(99,102,241,.20) inset}
.sr-card .icon{width:36px;height:36px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(99,102,241,.18);border:1px solid rgba(99,102,241,.25)}
.sr-card h4{margin:10px 0 6px}
.sr-card p{margin:0;opacity:.86;font-size:13px;line-height:1.35}

.sr-panel{margin-top:16px}
.sr-panel .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width: 900px){.sr-panel .row{grid-template-columns:1fr}}

.sr-q{display:grid;gap:10px;margin-top:12px}
.sr-q label{display:grid;gap:6px;font-weight:700}
.sr-q small{opacity:.78;font-weight:600}
.sr-q input,.sr-q select,.sr-q textarea{width:100%}

.sr-result{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;align-items:start}
@media (max-width: 900px){.sr-result{grid-template-columns:1fr}}

.sr-price{font-weight:900;font-size:28px;letter-spacing:-.02em}
.sr-pill{display:inline-flex;gap:8px;align-items:center;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);border-radius:999px;padding:6px 10px;font-size:12px;opacity:.95}
.sr-addons{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}

.sr-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}

.sr-modal{position:fixed;inset:0;background:rgba(0,0,0,.65);display:none;align-items:center;justify-content:center;padding:16px;z-index:9999}
.sr-modal.open{display:flex}
.sr-modal-card{max-width:520px;width:100%;border-radius:18px;background:#0b1226;color:#fff;padding:16px;border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 60px rgba(0,0,0,.35)}
.sr-modal-card h3{margin:0 0 6px}
.sr-modal-card p{margin:0;opacity:.88}
.sr-modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}

.sr-alert{border-radius:14px;padding:12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06)}
.sr-alert.ok{border-color:rgba(16,185,129,.45)}
.sr-alert.err{border-color:rgba(239,68,68,.55)}

.sr-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06)}
.sr-badge.pending{border-color:rgba(234,179,8,.45)}
.sr-badge.approved{border-color:rgba(16,185,129,.45)}
.sr-badge.in_progress{border-color:rgba(59,130,246,.45)}
.sr-badge.completed{border-color:rgba(34,211,238,.45)}
.sr-badge.rejected{border-color:rgba(239,68,68,.55)}
