*{box-sizing:border-box}body{margin:0;background:#f6f8fc;color:#101b2c;font:16px/1.55 system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit}.top{background:#fff;border-bottom:1px solid #dfe6f0}.shell{max-width:1180px;margin:auto;padding:0 22px}.top .shell{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:18px;padding-bottom:18px}.brand{font-weight:900;letter-spacing:-.04em;font-size:22px;text-decoration:none}.nav{display:flex;gap:18px;flex-wrap:wrap;font-size:14px}.nav a{text-decoration:none}.hero{background:linear-gradient(125deg,#0c1b31,#143a66);color:#fff;padding:70px 0 58px}.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#a8cdfc;font-weight:700}h1{font-size:clamp(38px,6vw,76px);line-height:1.05;letter-spacing:-.06em;margin:12px 0 16px}h2{font-size:26px;letter-spacing:-.04em}.intro{max-width:700px;color:#d8e6f8}.stats{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.stat{padding:15px 22px;border:1px solid #53769c;border-radius:16px;background:#ffffff0c}.stat strong{display:block;font-size:25px}.main{padding:38px 0 80px}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:26px}.btn{cursor:pointer;border:0;border-radius:12px;background:#0757e8;color:white;font-weight:700;padding:12px 16px;text-decoration:none;font-size:14px;display:inline-block}.btn.secondary{background:#fff;color:#18324e;border:1px solid #d3deeb}.btn.danger{background:#fff1f1;color:#ad2534;border:1px solid #f2ccd1}.btn:focus-visible,a:focus-visible{outline:3px solid #ffbf3e;outline-offset:3px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.tab{padding:10px 16px;background:white;border:1px solid #dce4ef;border-radius:12px;cursor:pointer}.tab[aria-pressed=true]{background:#0e3156;color:#fff}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px}.card{background:white;border:1px solid #e0e8f2;border-radius:18px;padding:22px;box-shadow:0 12px 32px #1d375b0b;min-width:0}.badge{display:inline-block;background:#eaf2ff;color:#0a4fa3;padding:5px 10px;border-radius:30px;font-size:12px;font-weight:700}.card h3{font-size:22px;margin:14px 0 8px;overflow-wrap:anywhere}.muted{color:#5c6b80}.card .actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.empty{background:#fff;border:1px dashed #aabdd3;border-radius:20px;padding:45px 24px;text-align:center}.compare{margin-top:30px;background:#fff;border-radius:18px;padding:20px;overflow-x:auto}.compare table{border-collapse:collapse;width:100%;min-width:520px}.compare td,.compare th{border-bottom:1px solid #e4eaf1;padding:12px;text-align:left;vertical-align:top}.foot{padding:30px 0;border-top:1px solid #e0e8f2;color:#69778b;font-size:13px}.notice{padding:12px 16px;border-radius:12px;background:#e8f4ee;color:#18553c;margin:18px 0}.hidden{display:none!important}input[type=file]{display:none}@media(max-width:600px){.hero{padding:48px 0}.toolbar .btn{flex:1;text-align:center}.card{padding:18px}}
/* Stage 16: selected garage items to CRM */
.request-panel{margin:32px 0;background:#fff;border:1px solid #d8e5f2;border-radius:22px;padding:clamp(20px,4vw,32px);box-shadow:0 15px 36px #102b490b}.request-head{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}.request-head h2{margin:7px 0;font-size:clamp(23px,3vw,32px)}.request-count{padding:10px 15px;background:#e9f2fc;color:#123d6a;border-radius:12px}.request-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.request-panel label{display:block;font-weight:600}.request-panel input:not([type=checkbox]),.request-panel textarea{display:block;width:100%;margin:8px 0 18px;padding:13px 14px;border:1px solid #b8cadf;border-radius:10px;background:#fff;color:#102b49;font:inherit}.request-panel input:focus-visible,.request-panel textarea:focus-visible{outline:3px solid #9cc8fa}.request-privacy label{font-size:14px;font-weight:400}.request-privacy a{color:#0b5caa}.request-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:22px}.request-actions .btn:disabled{opacity:.55;cursor:not-allowed}.request-status{min-height:24px;font-weight:600}.request-error{color:#aa2430}.request-ok{color:#146c45}.request-choice{display:flex!important;align-items:center;gap:8px;margin-top:14px;padding:11px 12px;border-radius:10px;background:#eff6ff;color:#123d6a;cursor:pointer}.request-choice input{width:18px;height:18px}@media(max-width:650px){.request-fields{grid-template-columns:1fr}.request-panel{padding:18px}}

/* Stage 17: transparent, user-entered cost estimate */
.estimate-panel{background:#fff;border:1px solid #dce6f0;border-radius:22px;padding:28px;margin:32px 0;box-shadow:0 12px 34px rgba(11,35,64,.06)}.estimate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0}.estimate-grid label{font-size:14px;font-weight:650;color:#18314e;display:grid;gap:8px}.estimate-grid input{width:100%;box-sizing:border-box;border:1px solid #b9c9d9;border-radius:10px;padding:13px;font:inherit;color:#102b49;background:#fff}.estimate-grid input:focus-visible{outline:3px solid #6ab1fc;outline-offset:1px}.estimate-result{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #dce6f0;padding-top:22px}.estimate-result strong{display:block;font-size:clamp(26px,4vw,38px);color:#0d3156;margin:7px 0}.estimate-attach{display:flex;align-items:center;gap:9px;margin:20px 0;font-weight:600}.estimate-attach input{width:18px;height:18px;flex-shrink:0}@media(max-width:650px){.estimate-panel{padding:20px}.estimate-grid{grid-template-columns:1fr}.estimate-result{align-items:flex-start;flex-direction:column}}

/* Этап 18: индивидуальные расчёты */
.personal-selector{display:flex;flex-direction:column;gap:8px;max-width:560px;margin:20px 0;color:#173257;font-weight:700}.personal-selector select{width:100%;padding:13px 15px;border:1px solid #cbd8e7;border-radius:10px;background:#fff;color:#102c50;font:inherit}.personal-summary{margin-top:22px}.personal-scroll{overflow-x:auto}.personal-scroll table{width:100%;border-collapse:collapse;min-width:570px}.personal-scroll th,.personal-scroll td{text-align:left;padding:12px;border-bottom:1px solid #dce5ee;font-size:14px}.personal-scroll th{background:#edf4fb;color:#14375b}@media(max-width:640px){.personal-selector{max-width:100%}}
