.op-flow{--op-green:#0b675c;--op-dark:#102b28;--op-soft:#f2f8f7;--op-line:#d9e4e2;--op-muted:#637773;--op-blue:#bcecff;background:#fff;color:var(--op-dark)}
.op-flow *{box-sizing:border-box}.op-flow button,.op-flow input,.op-flow select{font:inherit}.op-flow button{color:inherit}
.op-flow__hero{max-width:820px;margin:0 auto 38px;text-align:center}.op-flow__hero>p{margin:0 0 10px;color:var(--op-green);font-size:.72rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.op-flow__hero h1{margin:0;font-size:clamp(2.2rem,6vw,4.8rem);line-height:.95;letter-spacing:-.05em;text-transform:none}.op-flow__hero>div{max-width:590px;margin:18px auto 0;color:var(--op-muted);font-size:1rem;line-height:1.55}
.op-flow__shell{max-width:1120px;margin:auto}.op-panel{min-height:440px;padding:34px;border:1px solid var(--op-line);border-radius:24px;background:#fff;box-shadow:0 22px 65px rgba(13,74,67,.07)}
.op-step-heading{max-width:760px;margin:0 auto 28px;text-align:center}.op-step-heading h2{margin:0 0 10px;font-size:clamp(1.7rem,4vw,3rem);line-height:1;letter-spacing:-.04em;text-transform:none}.op-step-heading p{margin:0;color:var(--op-muted);font-size:.95rem;line-height:1.55}
.op-loading{display:grid;place-items:center;min-height:220px;color:var(--op-green);font-size:.9rem;font-weight:800}
.op-progress{position:relative;display:flex;justify-content:space-between;gap:8px;margin:0 26px 26px}.op-progress__line{position:absolute;top:15px;right:16px;left:16px;height:2px;background:var(--op-line)}.op-progress__line i{display:block;height:100%;background:var(--op-green);transition:width .25s}.op-progress__item{position:relative;z-index:1;display:grid;justify-items:center;gap:5px;min-width:46px;color:#9aacaa}.op-progress__item span{display:grid;place-items:center;width:32px;height:32px;border:2px solid var(--op-line);border-radius:50%;background:#fff;font-size:.72rem;font-weight:800}.op-progress__item small{font-size:.62rem}.op-progress__item.is-current,.op-progress__item.is-done{color:var(--op-green)}.op-progress__item.is-current span,.op-progress__item.is-done span{border-color:var(--op-green)}.op-progress__item.is-done span{background:var(--op-green);color:#fff}
.op-back,.op-link{display:block;margin:0 0 12px;padding:5px;border:0;background:transparent;color:var(--op-green);font-size:.78rem;font-weight:700;cursor:pointer}.op-link{margin:15px auto 0;text-decoration:underline}
.op-primary,.op-secondary{display:block;width:100%;max-width:520px;margin:26px auto 0;padding:15px 24px;border:1px solid var(--op-green);border-radius:999px;background:var(--op-green);color:#fff;text-align:center;text-decoration:none;font-weight:800;cursor:pointer;transition:transform .2s,box-shadow .2s}.op-primary:hover,.op-secondary:hover{box-shadow:0 10px 28px rgba(11,103,92,.22);transform:translateY(-1px)}.op-primary:disabled{background:#c9d4d2;border-color:#c9d4d2;cursor:not-allowed;box-shadow:none;transform:none}.op-secondary{display:inline-block;width:auto;margin:0;background:#fff;color:var(--op-green)}
.op-choice-list{display:grid;gap:14px;max-width:820px;margin:auto}.op-choice-list--wide{max-width:900px}.op-choice-row{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:20px;width:100%;min-height:116px;padding:12px 20px;border:1px solid var(--op-line);border-radius:14px;background:#fff;text-align:left;cursor:pointer;transition:border-color .2s,box-shadow .2s}.op-choice-row:hover{border-color:var(--op-green);box-shadow:0 10px 30px rgba(13,74,67,.08)}.op-choice-row>span:nth-child(2){display:grid;gap:6px}.op-choice-row strong{font-size:1rem}.op-choice-row small{color:var(--op-muted);font-size:.82rem;line-height:1.45}.op-choice-row>b{color:var(--op-green);font-size:1.2rem}
.op-icon{position:relative;display:block;flex:0 0 auto;width:92px;height:78px;border-radius:12px;background:var(--op-soft);overflow:hidden}.op-icon i,.op-icon b,.op-icon em{position:absolute;display:block;box-sizing:border-box}.op-icon--mono i,.op-icon--progressive i,.op-icon--neutral i{inset:10px 22px;border:2px solid #91a4a1;border-radius:46% 54% 48% 52%;background:linear-gradient(145deg,#fff,#dff4f1)}.op-icon--mono b{left:31px;top:25px;width:32px;height:5px;border-radius:6px;background:repeating-linear-gradient(90deg,#56c9f2 0 3px,transparent 3px 6px)}.op-icon--progressive b{left:30px;top:20px;width:35px;height:38px;border-radius:50%;background:radial-gradient(circle at 50% 20%,#56c9f2 0 2px,transparent 2.5px) 0 0/7px 7px;clip-path:polygon(0 0,100% 0,75% 100%,25% 100%)}.op-icon--neutral i{background:linear-gradient(145deg,#fff,#f2f0ff)}
.op-icon--frame i{left:9px;top:28px;width:31px;height:21px;border:3px solid #0b675c;border-radius:11px}.op-icon--frame b{right:9px;top:28px;width:31px;height:21px;border:3px solid #0b675c;border-radius:11px}.op-icon--frame em{left:39px;top:34px;width:14px;height:5px;border-top:3px solid #0b675c}
.op-icon--upload i{left:31px;top:17px;width:31px;height:38px;border:2px solid #0b675c;border-radius:4px;background:#fff}.op-icon--upload b{left:41px;top:31px;width:12px;height:15px;border-left:3px solid #0b675c}.op-icon--upload b:before,.op-icon--upload b:after{content:'';position:absolute;top:0;width:9px;border-top:3px solid #0b675c}.op-icon--upload b:before{left:-2px;transform:rotate(-45deg)}.op-icon--upload b:after{right:-3px;transform:rotate(45deg)}
.op-icon--manual i{left:20px;top:18px;width:48px;height:40px;border:2px solid #0b675c;background:repeating-linear-gradient(#fff 0 8px,#d8e7e5 9px 10px)}.op-icon--manual b{left:59px;top:20px;width:5px;height:43px;border-radius:4px;background:#0b675c;transform:rotate(42deg)}
.op-icon--later i,.op-icon--exam i{left:23px;top:12px;width:48px;height:48px;border:2px solid #0b675c;border-radius:50%}.op-icon--later b{left:46px;top:23px;width:14px;height:15px;border-left:2px solid #0b675c;border-bottom:2px solid #0b675c}.op-icon--exam i{border-radius:7px}.op-icon--exam b{left:23px;top:27px;width:48px;border-top:2px solid #0b675c}.op-icon--exam em{left:37px;top:37px;width:20px;height:12px;background:radial-gradient(circle,#0b675c 0 2px,transparent 2.5px) 0 0/10px 10px}
.op-icon--classic:before,.op-icon--hd:before,.op-icon--personal:before{content:'';position:absolute;inset:12px 23px;border:2px solid #0b675c;border-radius:50%;background:linear-gradient(140deg,#fff,#dff3ef)}.op-icon--classic i{left:34px;top:35px;width:26px;border-top:3px solid #0b675c}.op-icon--hd i{left:31px;top:25px;width:32px;height:28px;background:radial-gradient(circle,#45bdec 0 2px,transparent 2.5px) 0 0/8px 8px}.op-icon--personal i{left:39px;top:26px;width:16px;height:23px;border:2px solid #0b675c;border-radius:50%}.op-icon--personal b{left:29px;top:50px;width:36px;height:18px;border:2px solid #0b675c;border-radius:50% 50% 0 0}
.op-icon--spark:before,.op-icon--screen:before,.op-icon--photo:before,.op-icon--tint:before,.op-icon--polar:before,.op-icon--drive:before,.op-icon--shield:before{content:'';position:absolute;inset:13px 24px;border:2px solid #0b675c;border-radius:50%;background:linear-gradient(145deg,#fff,#dff3ef)}.op-icon--spark i{left:44px;top:18px;width:5px;height:40px;background:#0b675c;clip-path:polygon(50% 0,62% 40%,100% 50%,62% 60%,50% 100%,38% 60%,0 50%,38% 40%)}.op-icon--screen:before{border-radius:5px}.op-icon--screen i{left:32px;top:23px;width:30px;height:23px;background:radial-gradient(circle,#4fc9f5 0 2px,transparent 2.5px) 0 0/8px 8px}.op-icon--photo:before{background:linear-gradient(90deg,#fff 0 50%,#819894 50%)}.op-icon--tint:before{background:linear-gradient(#fff,#889f9b)}.op-icon--polar:before{background:repeating-linear-gradient(135deg,#e8f7f5 0 5px,#83aaa5 6px 8px)}.op-icon--drive:before{inset:23px 12px;border-radius:18px 18px 7px 7px;background:#e8f7f5}.op-icon--drive i{left:24px;top:42px;width:11px;height:11px;border:3px solid #0b675c;border-radius:50%}.op-icon--drive b{right:24px;top:42px;width:11px;height:11px;border:3px solid #0b675c;border-radius:50%}.op-icon--shield:before{border-radius:45% 45% 55% 55%;clip-path:polygon(50% 0,100% 18%,88% 78%,50% 100%,12% 78%,0 18%)}.op-icon--shield i{left:39px;top:34px;width:17px;height:9px;border-left:3px solid #0b675c;border-bottom:3px solid #0b675c;transform:rotate(-45deg)}
.op-frame-tools{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:22px}.op-frame-tools label{display:grid;gap:6px;width:min(420px,100%);font-size:.72rem;font-weight:750}.op-frame-tools input,.op-rx input,.op-color-controls select{width:100%;padding:12px 14px;border:1px solid var(--op-line);border-radius:10px;background:#fff;color:var(--op-dark)}.op-own-frame{padding:12px 16px;border:1px solid var(--op-green);border-radius:999px;background:#fff;color:var(--op-green);font-weight:750;cursor:pointer}.op-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.op-product{display:grid;gap:5px;padding:10px;border:1px solid var(--op-line);border-radius:14px;background:#fff;text-align:left;cursor:pointer}.op-product:hover,.op-product.is-selected{border-color:var(--op-green)}.op-product img,.op-product__placeholder{display:grid;place-items:center;width:100%;aspect-ratio:1.25/1;border-radius:9px;background:#f6f8f8;object-fit:contain}.op-product__placeholder .op-icon{transform:scale(.8)}.op-product__vendor{margin-top:5px;color:var(--op-green);font-size:.62rem;font-weight:800;text-transform:uppercase}.op-product strong{font-size:.83rem}.op-product>span:last-child{color:var(--op-muted);font-size:.72rem}.op-variant-box{margin:24px 0 0;padding:22px;border-radius:16px;background:var(--op-soft)}.op-variant-box h3{margin:0 0 14px;font-size:1rem;text-transform:none}.op-variant-list{display:flex;gap:8px;flex-wrap:wrap}.op-variant{display:grid;gap:3px;padding:10px 15px;border:1px solid var(--op-line);border-radius:9px;background:#fff;cursor:pointer}.op-variant.is-selected{border-color:var(--op-green);box-shadow:inset 0 0 0 1px var(--op-green)}.op-variant:disabled{opacity:.4;cursor:not-allowed}.op-variant small{color:var(--op-muted);font-size:.65rem}.op-empty{padding:30px;text-align:center;color:var(--op-muted)}
.op-upload{display:block;max-width:650px;margin:auto}.op-upload>input{position:absolute;width:1px;height:1px;opacity:0}.op-upload>span{display:grid;justify-items:center;gap:7px;padding:36px;border:2px dashed #9ab7b3;border-radius:18px;background:var(--op-soft);text-align:center;cursor:pointer}.op-upload .op-icon{width:76px;height:65px}.op-upload small{color:var(--op-muted)}
.op-rx{display:grid;grid-template-columns:minmax(100px,.7fr) repeat(2,minmax(130px,1fr));gap:9px;align-items:center;max-width:760px;margin:auto}.op-rx>strong{text-align:center;font-size:.78rem}.op-rx>label{font-size:.75rem;font-weight:700}.op-help{max-width:760px;margin:10px auto;color:var(--op-muted);font-size:.72rem}.op-notice{max-width:680px;margin:auto;padding:28px;border:1px solid var(--op-line);border-radius:16px;background:var(--op-soft);text-align:center}.op-notice p{margin:14px 0 0;color:var(--op-muted)}
.op-card-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.op-card-grid--three{grid-template-columns:repeat(3,minmax(0,1fr));max-width:850px;margin:auto}.op-select-card{position:relative;display:grid;justify-items:center;align-content:start;gap:9px;min-height:225px;padding:28px 16px 18px;border:1px solid var(--op-line);border-radius:14px;background:#fff;text-align:center;cursor:pointer}.op-select-card:hover{border-color:var(--op-green);box-shadow:0 10px 30px rgba(13,74,67,.08)}.op-select-card strong{font-size:.9rem}.op-select-card small{color:var(--op-muted);font-size:.73rem;line-height:1.4}.op-select-card>b{margin-top:auto;color:var(--op-green);font-size:.77rem}.op-select-card .op-icon{width:82px;height:70px}.op-badge{position:absolute;top:8px;left:50%;padding:4px 8px;border-radius:99px;background:#dff3ef;color:var(--op-green);font-size:.58rem;font-weight:800;transform:translateX(-50%);white-space:nowrap}.op-lens-thickness{position:relative;display:block;width:78px;height:80px}.op-lens-thickness:before,.op-lens-thickness:after{content:'';position:absolute;top:8px;bottom:8px;width:24px;border:2px solid #8ea6a2;background:linear-gradient(90deg,#fff,#daf0ed)}.op-lens-thickness:before{left:16px;border-radius:70% 25% 25% 70%}.op-lens-thickness:after{right:16px;border-radius:25% 70% 70% 25%}.op-lens-thickness--5:before,.op-lens-thickness--5:after{width:29px}.op-lens-thickness--4:before,.op-lens-thickness--4:after{width:26px}.op-lens-thickness--3:before,.op-lens-thickness--3:after{width:23px}.op-lens-thickness--2:before,.op-lens-thickness--2:after{width:20px}.op-lens-thickness--1:before,.op-lens-thickness--1:after{width:17px}
.op-treatment-list{display:grid;gap:10px;max-width:820px;margin:auto}.op-treatment{display:grid;grid-template-columns:78px 1fr auto 28px;align-items:center;gap:14px;min-height:98px;padding:10px 16px;border:1px solid var(--op-line);border-radius:12px;background:#fff;text-align:left;cursor:pointer}.op-treatment:hover,.op-treatment.is-selected{border-color:var(--op-green)}.op-treatment.is-selected{box-shadow:inset 0 0 0 1px var(--op-green)}.op-treatment .op-icon{width:70px;height:66px}.op-treatment>span:nth-child(2){display:grid;gap:4px}.op-treatment strong{font-size:.88rem}.op-treatment small{color:var(--op-muted);font-size:.72rem}.op-treatment>b{color:var(--op-green);font-size:.76rem}.op-treatment>i{display:grid;place-items:center;width:23px;height:23px;border:1px solid var(--op-line);border-radius:50%;font-style:normal}.op-treatment.is-selected>i{border-color:var(--op-green);background:var(--op-green);color:#fff}.op-color-controls{display:flex;gap:12px;padding:14px 16px;margin-top:-10px;border:1px solid var(--op-line);border-top:0;border-radius:0 0 12px 12px;background:var(--op-soft)}.op-color-controls label{display:grid;gap:5px;flex:1;color:var(--op-muted);font-size:.68rem;font-weight:700}
.op-summary{max-width:780px;margin:auto;border:1px solid var(--op-line);border-radius:16px;overflow:hidden}.op-summary__row{display:flex;justify-content:space-between;gap:20px;padding:18px 20px;border-bottom:1px solid var(--op-line)}.op-summary__row>span{display:grid;gap:4px}.op-summary__row small{color:var(--op-muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.1em}.op-summary__row strong{font-size:.9rem}.op-summary__row em{color:var(--op-muted);font-size:.72rem;font-style:normal}.op-summary__row>b{white-space:nowrap}.op-summary__delivery{display:flex;justify-content:space-between;gap:20px;padding:16px 20px;background:var(--op-soft);font-size:.75rem}.op-summary__delivery span{color:var(--op-muted);text-align:right}.op-summary__total{display:flex;justify-content:space-between;align-items:center;padding:20px;background:var(--op-dark);color:#fff}.op-summary__total strong{font-size:1.4rem}.op-warning{display:grid;gap:6px;max-width:780px;margin:16px auto;padding:16px;border:1px solid #e9c777;border-radius:12px;background:#fff9e9;font-size:.77rem}.op-warning span,.op-warning small{color:#6e6041}
@media(max-width:900px){.op-panel{padding:24px}.op-products{grid-template-columns:repeat(3,minmax(0,1fr))}.op-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.op-panel{padding:18px 12px;border-radius:16px}.op-progress{margin:0 4px 20px;overflow-x:auto;padding-bottom:4px}.op-progress__item{min-width:42px}.op-progress__item small{display:none}.op-progress__line{right:20px;left:20px}.op-choice-row{grid-template-columns:76px 1fr auto;gap:12px;min-height:98px;padding:10px}.op-choice-row .op-icon{width:70px;height:66px}.op-frame-tools{align-items:stretch;flex-direction:column}.op-products{grid-template-columns:repeat(2,minmax(0,1fr))}.op-card-grid,.op-card-grid--three{grid-template-columns:repeat(2,minmax(0,1fr))}.op-select-card{min-height:210px}.op-treatment{grid-template-columns:60px 1fr auto;padding:10px}.op-treatment .op-icon{width:56px;height:58px}.op-treatment>b{grid-column:2}.op-treatment>i{position:absolute;right:20px}.op-treatment{position:relative}.op-rx{grid-template-columns:82px repeat(2,minmax(0,1fr));gap:6px}.op-rx input{padding:10px 7px;font-size:.76rem}.op-color-controls{flex-direction:column}.op-summary__delivery{flex-direction:column}.op-summary__delivery span{text-align:left}}
@media(max-width:440px){.op-card-grid,.op-card-grid--three{grid-template-columns:1fr}.op-products{gap:8px}.op-product{padding:7px}.op-rx{grid-template-columns:67px repeat(2,minmax(0,1fr))}.op-rx>strong{font-size:.65rem}.op-rx>label{font-size:.65rem}}
