/* Postwoo web installer (resources/views/install). Loaded after marketing.css and reuses its tokens:
   --purple --lav --navy --pink --off --lemon --mint --sky --ink2 --line --ok --bad. Flat, mobile first. */
body.iw{background:var(--off);min-height:100vh}
.iw-top{display:flex;align-items:center;justify-content:center;gap:12px;padding:22px 16px 6px}
.iw-top img{height:44px;width:auto}.iw-top .stk{margin:0}
.iw-main{max-width:760px;margin:0 auto;padding:12px 16px 40px;display:flex;flex-direction:column;gap:18px}
.iw-card h1{font-size:clamp(28px,5vw,40px)}.iw-card h2{font-size:clamp(22px,4vw,28px)}
.iw-card .lede{font-size:17px;font-weight:600;color:var(--ink2)}
.iw-narrow{max-width:560px;margin:0 auto;width:100%}
.iw-foot{text-align:center;padding:0 16px 28px}
code{background:var(--lav);color:var(--navy);border-radius:6px;padding:1px 6px;font-size:.92em;word-break:break-all}
/* progress */
.iw-progress{max-width:760px;margin:6px auto 0;padding:0 16px}
.iw-progress-label{margin:0 0 6px;font-weight:700;font-size:14px;color:var(--ink2)}
.iw-bar{height:8px;border-radius:999px;background:#fff;border:1px solid var(--line);overflow:hidden}
.iw-bar span{display:block;height:100%;background:var(--purple);border-radius:999px;transition:width .4s}
.iw-bar.big{height:12px;margin:14px 0}
.iw-steps{display:flex;gap:6px;list-style:none;margin:10px 0 0;padding:0;flex-wrap:wrap}
.iw-steps li{display:flex;align-items:center;gap:6px;font-weight:700;font-size:13px;color:var(--ink2);background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px 10px 4px 4px}
.iw-steps .n{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--off);font-size:12px}
.iw-steps .done .n{background:var(--mint);color:var(--navy)}
.iw-steps .current{border-color:var(--purple);color:var(--navy)}.iw-steps .current .n{background:var(--purple);color:#fff}
@media (max-width:640px){.iw-steps .l{display:none}.iw-steps .current .l{display:inline}}
/* forms */
.iw-form label{display:block;font-weight:700;font-size:14px;margin:16px 0 6px}
.iw-form input:not([type=checkbox]):not([type=radio]),.iw-form select{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;font:600 16px "Plus Jakarta Sans",system-ui,sans-serif;background:#fff;color:var(--navy)}
.iw-form input:focus,.iw-form select:focus{outline:3px solid var(--lav);border-color:var(--purple)}
.iw-form input[aria-invalid=true]{border-color:var(--bad)}
.iw-code{font-size:24px!important;letter-spacing:.12em;text-align:center;text-transform:uppercase}
.hint{color:var(--ink2);font-size:13px;font-weight:600;margin:6px 0 0}
.iw-error{color:#B9273A;font-weight:700;font-size:13px;margin:6px 0 0}
.iw-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.iw-row:has(.iw-short){grid-template-columns:1fr 120px}.iw-row:has(.iw-short + .iw-short){grid-template-columns:1fr 100px 130px}
@media (max-width:640px){.iw-row,.iw-row:has(.iw-short),.iw-row:has(.iw-short + .iw-short){grid-template-columns:1fr}}
.iw-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-end;margin-top:22px}
.iw-actions .btn.lg{margin-left:auto}
.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}
.iw-choice{border:0;padding:0;margin:8px 0 0;display:grid;gap:10px}.iw-choice legend{font-weight:700;font-size:14px;margin-bottom:6px}
.iw-option{display:flex!important;gap:12px;align-items:flex-start;border:1.5px solid var(--line);border-radius:14px;padding:14px;margin:0!important;cursor:pointer;background:#fff}
.iw-option:has(input:checked){border-color:var(--purple);background:var(--lav)}.iw-option.off{opacity:.5}
.iw-option input{margin-top:4px}.iw-option small{display:block;font-weight:600;color:var(--ink2);font-size:13px}
.iw-check-row{display:flex!important;gap:10px;align-items:flex-start;font-weight:600!important}.iw-check-row input{margin-top:4px;width:18px;height:18px}
.iw-service{border:1px solid var(--line);border-radius:16px;padding:6px 16px 16px;margin:14px 0 0}
.iw-service legend{padding:0 6px}.iw-service legend .iw-check-row{margin:0}
/* alerts + checks */
.iw-alert{border-radius:14px;padding:12px 14px;font-weight:700;margin:14px 0 0}
.iw-alert.ok{background:var(--mintt);color:#0E6B48}.iw-alert.bad{background:#FFE7EA;color:#B9273A}
.iw-tally{display:flex;gap:8px;flex-wrap:wrap}
.iw-group{font-size:13px;margin:22px 0 8px}
.iw-checks{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.iw-check{display:flex;gap:12px;border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:#fff}
.iw-check .dot,.iw-phases .dot{flex:none;width:14px;height:14px;border-radius:50%;margin-top:4px;background:var(--line)}
.iw-check.ok .dot{background:var(--ok)}.iw-check.warn .dot{background:var(--lemon);box-shadow:0 0 0 2px #E8C500 inset}.iw-check.fail .dot{background:var(--bad)}
.iw-check.fail{border-color:#F7B4BB}
.iw-check .body{flex:1;min-width:0}.iw-check .head{display:flex;justify-content:space-between;gap:8px;align-items:center}
.iw-check p{margin:4px 0 0;font-size:14px;font-weight:600;color:var(--ink2)}
.iw-fix{margin-top:8px}.iw-fix summary{cursor:pointer;font-weight:700;font-size:13px;color:var(--purple)}
.iw-howto{padding-left:20px;font-weight:600}.iw-howto li{margin:6px 0}
/* run */
.iw-summary{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:12px 0;font-weight:600}
.iw-summary dt{color:var(--ink2)}.iw-summary dd{margin:0;word-break:break-word}
@media (max-width:640px){.iw-summary{grid-template-columns:1fr}.iw-summary dd{margin-bottom:6px}}
.iw-phases{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:8px;font-weight:700}
.iw-phases li{display:flex;gap:10px;align-items:center}.iw-phases .dot{margin:0}
.iw-phases .done .dot{background:var(--ok)}.iw-phases .current .dot{background:var(--purple);animation:iwpulse 1s infinite alternate}
.iw-phases .todo{color:var(--ink2)}
@keyframes iwpulse{to{opacity:.35}}
@media (prefers-reduced-motion:reduce){.iw-phases .current .dot{animation:none}}
.iw-count{font-size:13px;color:var(--ink2)}
.iw-log,.iw-pre{background:var(--navy);color:#E6E8F0;border-radius:14px;padding:12px 14px;font-size:12.5px;line-height:1.5;max-height:220px;overflow:auto;white-space:pre-wrap;word-break:break-all;margin:12px 0 0}
.iw-log:empty{display:none}
/* done */
.iw-done{text-align:center;background:var(--mintt);border-color:transparent}
.iw-key{border:2px solid var(--pink);background:var(--pinkt)}
.iw-copy{display:flex;gap:8px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 10px 10px 12px;margin:8px 0}
.iw-copy code{flex:1;background:none;padding:0;font-size:13.5px}
.iw-copy .btn{padding:8px 14px;font-size:14px;flex:none}
