/* Namespaced Loveable-inspired ISK v2 advisor shell; legacy ISK remains separate. */
.isk2-open { overflow: hidden; }
.isk2-overlay { position:fixed; inset:0; z-index:1200; overflow:auto; background:rgba(24,33,24,.7); }
.isk2-overlay.hidden { display:none; }
.isk2-shell { min-height:100vh; background:oklch(.91 .02 83); color:oklch(.25 .015 80); font-family:"DM Sans",system-ui,sans-serif; }
.isk2-topbar { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px max(24px,calc((100vw - 1280px)/2)); background:oklch(.39 .045 132); color:oklch(.97 .01 90); }
.isk2-brand { font:700 24px "Manrope",system-ui,sans-serif; letter-spacing:-.04em; }
.isk2-brand span { color:oklch(.72 .15 48); }
.isk2-brand small { margin-left:8px; font:600 12px "DM Sans",system-ui,sans-serif; letter-spacing:.1em; }
.isk2-close { width:36px; height:36px; border:1px solid currentColor; border-radius:4px; background:transparent; color:inherit; cursor:pointer; font-size:26px; line-height:1; }
.isk2-feedback-trigger { position:fixed; left:max(22px,env(safe-area-inset-left)); bottom:max(22px,env(safe-area-inset-bottom)); z-index:2; border:1px solid oklch(.39 .045 132); border-radius:7px; padding:11px 15px; background:oklch(.39 .045 132); color:#fff; box-shadow:0 8px 24px rgba(24,33,24,.25); font:700 14px "DM Sans",system-ui,sans-serif; cursor:pointer; }
.isk2-feedback-trigger:focus-visible { outline:3px solid oklch(.72 .15 48); outline-offset:2px; }
.isk2-feedback-backdrop { position:fixed; inset:0; z-index:3; display:grid; place-items:center; padding:18px; background:rgba(24,33,24,.68); }
.isk2-feedback-backdrop.hidden { display:none; }
.isk2-feedback-panel { width:min(600px,100%); max-height:calc(100vh - 36px); overflow:auto; padding:24px; border-radius:8px; background:oklch(.965 .012 85); box-shadow:0 20px 55px rgba(24,33,24,.3); }
.isk2-feedback-panel h2 { margin:0 0 8px; font:700 23px "Manrope",system-ui,sans-serif; }
.isk2-feedback-panel p { margin:0 0 14px; }
.isk2-feedback-panel label { display:block; margin-bottom:7px; font-weight:700; }
.isk2-feedback-panel textarea { box-sizing:border-box; width:100%; padding:11px; border:1px solid oklch(.7 .025 88); border-radius:5px; font:inherit; resize:vertical; }
.isk2-feedback-panel textarea:focus-visible { outline:3px solid oklch(.72 .15 48); outline-offset:2px; }
.isk2-feedback-panel #iskV2FeedbackStatus { min-height:1.4em; margin:9px 0; color:oklch(.48 .18 27); }
.isk2-feedback-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:10px; }
.isk2-layout { display:grid; grid-template-columns:230px minmax(0,720px); gap:clamp(24px,5vw,80px); max-width:1280px; margin:auto; padding:36px 24px 80px; }
.isk2-steps { align-self:start; position:sticky; top:28px; }
.isk2-steps ol { list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.isk2-steps li { padding:11px 13px; border-left:3px solid transparent; color:oklch(.48 .02 85); font-weight:600; }
.isk2-steps li.active { color:oklch(.39 .045 132); border-color:oklch(.39 .045 132); background:oklch(.965 .012 85); }
.isk2-steps li.complete { color:oklch(.39 .045 132); }
.isk2-main { min-width:0; }
.isk2-progress { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:oklch(.48 .02 85); }
.isk2-track { height:7px; margin:9px 0 27px; background:oklch(.84 .026 86); border-radius:5px; overflow:hidden; }
.isk2-track div { height:100%; background:oklch(.39 .045 132); transition:width .2s ease; }
.isk2-main h1 { font:700 clamp(28px,4vw,40px) "Manrope",system-ui,sans-serif; margin:0 0 8px; }
.isk2-intro { margin:0 0 22px; color:oklch(.48 .02 85); }
.isk2-card { padding:clamp(22px,4vw,36px); background:oklch(.965 .012 85); border:1px solid oklch(.72 .025 88); border-radius:7px; box-shadow:0 8px 24px rgba(35,35,28,.06); }
.isk2-card h2 { font:700 24px "Manrope",system-ui,sans-serif; }
.isk2-eyebrow { color:oklch(.39 .045 132); text-transform:uppercase; letter-spacing:.1em; font-size:12px; font-weight:700; }
.isk2-welcome dl { display:grid; gap:10px; margin:26px 0 0; }
.isk2-welcome dl div { display:grid; grid-template-columns:100px 1fr; border-top:1px solid oklch(.72 .025 88); padding-top:10px; }
.isk2-welcome dt { color:oklch(.48 .02 85); }
.isk2-welcome dd { margin:0; font-weight:700; }
.isk2-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:22px; }
.isk2-grid-heading { grid-column:1/-1; margin:14px 0 0; }
.isk2-grid-note { grid-column:1/-1; margin:0; color:oklch(.42 .02 85); }
.isk2-field { display:grid; gap:6px; font-size:14px; font-weight:600; }
.isk2-field-wide { grid-column:1/-1; }
.isk2-field input,.isk2-field select,.isk2-field textarea { width:100%; min-height:43px; border:1px solid oklch(.7 .025 88); border-radius:5px; padding:9px 11px; background:#fff; color:inherit; font:400 15px "DM Sans",system-ui,sans-serif; }
.isk2-field input:focus,.isk2-field select:focus,.isk2-field textarea:focus,.isk2-button:focus-visible,.isk2-close:focus-visible { outline:3px solid oklch(.72 .15 48); outline-offset:2px; }
.isk2-details { margin:20px 0; padding:14px 17px; border-left:3px solid oklch(.39 .045 132); background:oklch(.91 .02 83); font-size:14px; }
.isk2-details:empty { display:none; }
.isk2-details ul { margin:10px 0 0; padding-left:20px; }
.isk2-fund-section { margin:22px 0; }
.isk2-fund-choice,.isk2-fund-fee,.isk2-fund-reason { margin:16px 0; }
.isk2-fund-rows { display:grid; gap:10px; margin:14px 0; }
.isk2-fund-row { display:grid; grid-template-columns:minmax(0,2fr) minmax(100px,1fr) auto; align-items:end; gap:10px; }
.isk2-fund-row .isk2-button { min-height:43px; }
.isk2-fund-total { font-weight:700; color:oklch(.39 .045 132); }
.isk2-fund-total.error { color:oklch(.48 .18 27); }
.isk2-order-section { margin:28px 0; padding-top:20px; border-top:1px solid oklch(.72 .025 88); }
.isk2-order-section h2 { margin:0 0 8px; }
.isk2-order-section > p { margin:0 0 16px; color:oklch(.48 .02 85); }
.isk2-order-rows { display:grid; gap:14px; margin:14px 0; }
.isk2-order-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:16px; border:1px solid oklch(.72 .025 88); background:oklch(.98 .008 85); }
.isk2-order-row > .isk2-button { justify-self:start; align-self:end; }
.isk2-order-account { margin-top:20px; padding:16px; border-left:3px solid oklch(.39 .045 132); background:oklch(.91 .02 83); }
.isk2-order-account h3 { margin:0 0 8px; font:700 18px "Manrope",system-ui,sans-serif; }
.isk2-order-account p { margin:0; }
.isk2-order-account-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.isk2-review { display:grid; gap:18px; margin:20px 0; }
.isk2-review-summary { padding:13px 16px; border-left:3px solid oklch(.39 .045 132); background:oklch(.91 .02 83); font-weight:600; }
.isk2-review-warnings { padding:16px; border:1px solid oklch(.72 .15 48); background:oklch(.96 .03 78); }
.isk2-review-warnings h2,.isk2-review-section h2 { margin:0; font-size:19px; }
.isk2-review-warnings ul { list-style:none; margin:12px 0 0; padding:0; }
.isk2-review-warnings li { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 0; border-top:1px solid oklch(.8 .025 88); }
.isk2-review-warnings li .isk2-button { flex:none; padding:7px 10px; font-size:13px; }
.isk2-review-section { padding:17px; border:1px solid oklch(.72 .025 88); background:#fff; }
.isk2-review-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.isk2-review-heading .isk2-button { padding:7px 10px; font-size:13px; }
.isk2-review-section dl { margin:10px 0 0; }
.isk2-review-section dl > div { display:grid; grid-template-columns:minmax(140px,35%) minmax(0,1fr); gap:12px; padding:10px 0; border-top:1px solid oklch(.82 .02 88); }
.isk2-review-section dt { color:oklch(.48 .02 85); }
.isk2-review-section dd { margin:0; font-weight:600; overflow-wrap:anywhere; }
.isk2-review-section h3 { margin:14px 0 6px; font-size:15px; }
.isk2-review-section ul { margin:6px 0 0; padding-left:20px; }
.isk2-review-section li { margin:4px 0; overflow-wrap:anywhere; }
.isk2-caution { margin:18px 0 0; padding:12px 15px; border-left:3px solid oklch(.72 .15 48); background:oklch(.91 .02 83); }
.isk2-terms { white-space:pre-wrap; max-height:320px; overflow:auto; margin:14px 0 20px; padding:18px; border:1px solid oklch(.72 .025 88); background:#fff; line-height:1.6; }
.isk2-terms:focus-visible { outline:3px solid oklch(.72 .15 48); outline-offset:2px; }
#iskV2Content > label:has(#iskV2AcceptTerms),#iskV2Content > label:has(#iskV2ConfirmAdvice) { display:flex; align-items:flex-start; gap:10px; margin:14px 0; }
#iskV2Content > label input[type=checkbox] { width:18px; height:18px; flex:none; }
#iskV2Documents ul { padding-left:20px; }
#iskV2Documents li { margin:10px 0; }
.isk2-footer { display:flex; align-items:center; gap:12px; margin-top:20px; }
.isk2-footer #iskV2SaveState { flex:1; text-align:center; color:oklch(.48 .02 85); font-size:13px; }
.isk2-button { border:1px solid oklch(.39 .045 132); border-radius:5px; background:oklch(.39 .045 132); color:#fff; padding:11px 16px; font-weight:700; cursor:pointer; }
.isk2-button.secondary { background:transparent; color:oklch(.39 .045 132); }
.isk2-button:disabled { opacity:.5; cursor:not-allowed; }
#iskV2Status:not(:empty) { padding:11px 14px; margin:0 0 18px; border-left:4px solid oklch(.39 .045 132); background:oklch(.84 .026 86); }
#iskV2Status.error { border-color:oklch(.577 .245 27.325); background:oklch(.88 .055 55); }
@media(max-width:760px) { .isk2-layout { display:block; padding:20px 16px 90px; } .isk2-steps { position:static; margin-bottom:22px; overflow:auto; } .isk2-steps ol { display:flex; min-width:max-content; } .isk2-steps li { border-left:0; border-bottom:3px solid transparent; padding:9px; font-size:12px; } .isk2-grid,.isk2-fund-row,.isk2-order-row,.isk2-review-section dl > div { grid-template-columns:1fr; } .isk2-review-warnings li { align-items:flex-start; flex-direction:column; } .isk2-footer { flex-wrap:wrap; } .isk2-footer #iskV2SaveState { order:3; flex-basis:100%; } .isk2-feedback-trigger { left:max(12px,env(safe-area-inset-left)); bottom:max(12px,env(safe-area-inset-bottom)); } }
@media(prefers-reduced-motion:reduce) { .isk2-track div { transition:none; } }
