/* Account + payment + confirmation shared styles */
.ashell{display:grid;grid-template-columns:260px 1fr;min-height:100vh;background:var(--surface-2)}
@media(max-width:960px){.ashell{grid-template-columns:1fr}}
.aside{background:var(--fg);color:var(--bg);padding:22px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}
@media(max-width:960px){.aside{position:relative;height:auto;max-height:none;padding:16px}}
.aside__brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:17px;letter-spacing:-0.015em;margin-bottom:22px}
.aside__mark{width:30px;height:30px;background:var(--accent);color:#fff;border-radius:8px;display:grid;place-items:center;font-size:16px}
.aside__user{display:flex;gap:11px;align-items:center;padding:14px;background:color-mix(in oklch,var(--bg) 8%,transparent);border-radius:12px;margin-bottom:18px}
.aside__av{width:40px;height:40px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:700;font-size:14px;flex-shrink:0}
.aside__user b{display:block;font-size:13.5px;font-weight:600}
.aside__user span{font-family:var(--mono);font-size:10px;color:color-mix(in oklch,var(--bg) 55%,transparent);letter-spacing:0.08em}
.aside__nav{display:flex;flex-direction:column;gap:2px;margin-bottom:auto}
.aside__link{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:9px;font-size:13.5px;color:color-mix(in oklch,var(--bg) 70%,transparent);transition:all 150ms}
.aside__link:hover{background:color-mix(in oklch,var(--bg) 6%,transparent);color:var(--bg)}
.aside__link.active{background:var(--accent);color:#fff}
.aside__link i{font-family:var(--mono);font-style:normal;width:18px;text-align:center;font-size:14px}
.aside__link span{flex:1}
.aside__badge{background:color-mix(in oklch,var(--bg) 20%,transparent);color:var(--bg);padding:2px 7px;border-radius:5px;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:0.04em}
.aside__link.active .aside__badge{background:rgba(0,0,0,0.3);color:#fff}
.aside__foot{padding-top:16px;border-top:1px solid color-mix(in oklch,var(--bg) 14%,transparent);margin-top:14px;display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:color-mix(in oklch,var(--bg) 50%,transparent)}
.aside__foot a{padding:6px 0;display:block}
.aside__foot a:hover{color:var(--bg)}
.aside__b{font-weight:600;color:color-mix(in oklch,var(--bg) 75%,transparent) !important}
.amain{padding:28px 36px 60px;background:var(--surface-2);min-width:0}
@media(max-width:720px){.amain{padding:20px}}
.atop{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px;gap:16px;flex-wrap:wrap}
.atop__eye{font-family:var(--mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.atop h1{font-size:clamp(28px,3vw,42px);font-weight:700;letter-spacing:-0.03em;margin:0;line-height:1}
.atop h1 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--accent)}
.atop__right{display:flex;gap:10px;align-items:center}
.atop__bell{position:relative;width:38px;height:38px;border:1.5px solid var(--hairline);border-radius:10px;display:grid;place-items:center;background:var(--bg)}
.atop__bell b{position:absolute;top:-4px;right:-4px;background:var(--accent);color:#fff;font-family:var(--mono);font-size:10px;font-weight:700;padding:1px 5px;border-radius:4px}
.atop__cta{padding:10px 16px;background:var(--fg);color:var(--bg);border-radius:10px;font-weight:600;font-size:13px;white-space:nowrap}
/* Stat cards */
.astats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}
@media(max-width:860px){.astats{grid-template-columns:repeat(2,1fr)}}
.astat{background:var(--bg);border:1px solid var(--hairline);border-radius:14px;padding:18px;position:relative;overflow:hidden}
.astat b{font-family:var(--mono);font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:0.08em;font-weight:600;display:block;margin-bottom:10px}
.astat span{font-size:34px;font-weight:700;letter-spacing:-0.03em;line-height:1;display:block}
.astat i{font-family:var(--mono);font-size:11.5px;color:var(--good);font-style:normal;margin-top:6px;display:inline-block;font-weight:500}
.astat i.down{color:#c94a4a}
.astat.accent{background:var(--fg);color:var(--bg)}
.astat.accent b{color:color-mix(in oklch,var(--bg) 55%,transparent)}
.astat.accent::after{content:'';position:absolute;top:-40%;right:-30%;width:70%;height:180%;background:radial-gradient(circle,color-mix(in oklch,var(--accent) 45%,transparent),transparent 70%)}
/* Card grid */
.acol{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;margin-bottom:24px}
@media(max-width:960px){.acol{grid-template-columns:1fr}}
.acard{background:var(--bg);border:1px solid var(--hairline);border-radius:16px;padding:22px}
.acard__h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:18px;gap:10px;flex-wrap:wrap}
.acard__h h3{font-size:17px;font-weight:600;letter-spacing:-0.015em;margin:0}
.acard__h h3 em{font-family:var(--serif);font-style:italic;font-weight:400}
.acard__h a{font-family:var(--mono);font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:0.06em;border-bottom:1px solid var(--hairline);padding-bottom:1px}
.acard__h a:hover{color:var(--fg);border-color:var(--fg)}
/* Timeline */
.tlitem{display:grid;grid-template-columns:40px 1fr;gap:14px;padding:14px 0;border-top:1px solid var(--hairline);position:relative}
.tlitem:first-child{border-top:0;padding-top:0}
.tlitem__ic{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-family:var(--mono);font-weight:700;font-size:13px;flex-shrink:0;background:var(--surface);color:var(--fg);border:2px solid var(--hairline)}
.tlitem__ic.done{background:var(--good);color:#fff;border-color:var(--good)}
.tlitem__ic.active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in oklch,var(--accent) 20%,transparent)}
.tlitem b{display:block;font-size:14px;font-weight:600;margin-bottom:2px}
.tlitem__meta{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:0.04em;margin-bottom:4px}
.tlitem p{font-size:13px;color:var(--muted);line-height:1.45;margin:0}
/* Project card */
.pjcard{background:var(--bg);border:1.5px solid var(--hairline);border-radius:16px;padding:20px;margin-bottom:12px;transition:border-color 180ms}
.pjcard:hover{border-color:var(--fg)}
.pjcard__top{display:flex;gap:14px;align-items:center;margin-bottom:14px}
.pjcard__img{width:52px;aspect-ratio:1;border-radius:10px;overflow:hidden;background:var(--surface);flex-shrink:0}
.pjcard__info{flex:1;min-width:0}
.pjcard__info b{display:block;font-size:15.5px;font-weight:600;letter-spacing:-0.015em;margin-bottom:3px}
.pjcard__info b em{font-family:var(--serif);font-style:italic;font-weight:400}
.pjcard__meta{font-family:var(--mono);font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:0.06em}
.pjcard__status{font-family:var(--mono);font-size:10px;font-weight:700;padding:5px 10px;border-radius:5px;letter-spacing:0.08em;text-transform:uppercase;white-space:nowrap}
.pjcard__status.in{background:color-mix(in oklch,var(--accent) 14%,transparent);color:var(--accent)}
.pjcard__status.rev{background:#fdecc8;color:#8a5a00}
.pjcard__status.done{background:color-mix(in oklch,var(--good) 14%,transparent);color:var(--good)}
.pjcard__progress{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.pjcard__progress .bar{flex:1;height:6px;background:var(--surface-2);border-radius:3px;overflow:hidden}
.pjcard__progress .fill{height:100%;background:var(--accent);border-radius:3px;transition:width 400ms}
.pjcard__progress span{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--muted)}
.pjcard__foot{display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px dashed var(--hairline);font-size:12.5px;color:var(--muted);gap:12px;flex-wrap:wrap}
.pjcard__foot .due{font-family:var(--mono);font-size:11.5px;letter-spacing:0.04em;color:var(--fg);font-weight:600}
.pjcard__foot .due.warn{color:#c94a4a}
.pjcard__team{display:flex}
.pjcard__team .av{width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;font-size:10px;display:grid;place-items:center;border:2px solid var(--bg);margin-left:-6px;font-family:var(--mono)}
.pjcard__team .av:first-child{margin-left:0}
.pjcard__cta{padding:7px 12px;border:1.5px solid var(--line);border-radius:7px;font-size:12px;font-weight:600;color:var(--fg)}
.pjcard__cta:hover{background:var(--fg);color:var(--bg);border-color:var(--fg)}
/* Orders table */
.otbl{background:var(--bg);border:1px solid var(--hairline);border-radius:16px;overflow:hidden}
.otbl__f{display:flex;gap:6px;padding:14px 20px;border-bottom:1px solid var(--hairline);background:var(--surface);flex-wrap:wrap}
.otbl__f a{padding:6px 12px;border:1.5px solid var(--hairline);border-radius:20px;font-size:12.5px;background:var(--bg);color:var(--fg);font-weight:500}
.otbl__f a.active{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.otbl table{width:100%;border-collapse:collapse;font-size:13.5px}
.otbl th{padding:14px 20px;text-align:left;font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:0.08em;color:var(--muted);font-weight:600;border-bottom:1px solid var(--hairline);background:var(--surface)}
.otbl td{padding:16px 20px;border-bottom:1px solid var(--hairline);vertical-align:middle}
.otbl tbody tr:last-child td{border-bottom:0}
.otbl tbody tr:hover{background:var(--surface-2)}
.otbl__ref{font-family:var(--mono);font-weight:700;font-size:12.5px;letter-spacing:0.04em}
.otbl__ref span{display:block;font-family:var(--geist);font-size:11px;color:var(--muted);font-weight:500;text-transform:uppercase;letter-spacing:0.04em;margin-top:3px}
.otbl__pr{font-weight:600;font-size:14px;letter-spacing:-0.01em}
.otbl__pill{font-family:var(--mono);font-size:10px;font-weight:700;padding:4px 9px;border-radius:5px;letter-spacing:0.06em;text-transform:uppercase;display:inline-block}
.otbl__pill.paid{background:color-mix(in oklch,var(--good) 14%,transparent);color:var(--good)}
.otbl__pill.pend{background:#fdecc8;color:#8a5a00}
.otbl__pill.draft{background:var(--surface);color:var(--muted);border:1px solid var(--hairline)}
.otbl__pill.dev{background:color-mix(in oklch,var(--accent) 14%,transparent);color:var(--accent)}
/* Messages */
.msg-wrap{display:grid;grid-template-columns:1.4fr 2.2fr 1fr;gap:16px;height:calc(100vh - 200px);min-height:580px}
@media(max-width:1100px){.msg-wrap{grid-template-columns:1fr 2fr;height:auto}.msg-wrap > .msg-side:last-child{display:none}}
@media(max-width:720px){.msg-wrap{grid-template-columns:1fr;height:auto}.msg-wrap > :not(.msg-thread){display:none}}
.msg-list{background:var(--bg);border:1px solid var(--hairline);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.msg-list__h{padding:14px 16px;border-bottom:1px solid var(--hairline);font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:0.08em;color:var(--muted);font-weight:600}
.msg-list__s{padding:12px 16px;border-bottom:1px solid var(--hairline)}
.msg-list__s input{width:100%;padding:9px 12px;border:1.5px solid var(--hairline);border-radius:8px;font:inherit;font-size:13px;background:var(--surface);color:var(--fg)}
.msg-list__b{flex:1;overflow-y:auto}
.msg-conv{display:grid;grid-template-columns:40px 1fr;gap:12px;padding:14px 16px;border-bottom:1px solid var(--hairline);cursor:pointer;transition:background 140ms}
.msg-conv:hover{background:var(--surface)}
.msg-conv.active{background:var(--surface-2);border-left:3px solid var(--accent);padding-left:13px}
.msg-conv__av{width:40px;height:40px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px}
.msg-conv__body{min-width:0}
.msg-conv__top{display:flex;justify-content:space-between;margin-bottom:3px;gap:6px}
.msg-conv__n{font-weight:600;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.msg-conv__t{font-family:var(--mono);font-size:10.5px;color:var(--muted);flex-shrink:0;letter-spacing:0.04em}
.msg-conv__p{font-family:var(--mono);font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:3px}
.msg-conv__preview{font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.msg-conv.unread .msg-conv__n{font-weight:700}
.msg-conv.unread .msg-conv__preview{color:var(--fg);font-weight:500}
.msg-conv__badge{background:var(--accent);color:#fff;border-radius:10px;font-family:var(--mono);font-size:10px;font-weight:700;padding:1px 6px;letter-spacing:0.04em}
.msg-thread{background:var(--bg);border:1px solid var(--hairline);border-radius:16px;display:flex;flex-direction:column;overflow:hidden}
.msg-thread__h{padding:14px 18px;border-bottom:1px solid var(--hairline);display:flex;gap:12px;align-items:center}
.msg-thread__h .av{width:38px;height:38px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px}
.msg-thread__h b{display:block;font-size:14.5px;font-weight:600;letter-spacing:-0.01em}
.msg-thread__h span{font-family:var(--mono);font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:0.06em}
.msg-thread__h .online{color:var(--good);font-family:var(--mono);font-size:11px;font-weight:600}
.msg-thread__b{flex:1;padding:18px;overflow-y:auto;display:flex;flex-direction:column;gap:14px;background:var(--surface-2)}
.msg-day{text-align:center;font-family:var(--mono);font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:0.08em;margin:6px 0}
.msg-bubble{display:flex;gap:10px;align-items:flex-end;max-width:78%}
.msg-bubble.me{margin-left:auto;flex-direction:row-reverse}
.msg-bubble .av{width:26px;height:26px;border-radius:50%;background:var(--fg);color:var(--bg);display:grid;place-items:center;font-weight:700;font-size:10px;flex-shrink:0;font-family:var(--mono)}
.msg-bubble.me .av{background:var(--accent);color:#fff}
.msg-bubble__body{background:var(--bg);border-radius:14px;padding:10px 13px;border:1px solid var(--hairline)}
.msg-bubble.me .msg-bubble__body{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.msg-bubble__body p{margin:0;font-size:13.5px;line-height:1.45;word-break:break-word}
.msg-bubble__time{font-family:var(--mono);font-size:10px;color:var(--muted);margin-top:4px;letter-spacing:0.04em}
.msg-bubble.me .msg-bubble__time{text-align:right}
.msg-att{display:flex;gap:10px;padding:10px;background:var(--surface);border-radius:10px;margin-top:8px;align-items:center;border:1px solid var(--hairline)}
.msg-att i{font-style:normal;font-size:22px}
.msg-att b{display:block;font-size:12.5px;font-weight:600}
.msg-att span{font-family:var(--mono);font-size:10.5px;color:var(--muted);letter-spacing:0.04em}
.msg-att a{margin-left:auto;font-size:11.5px;font-weight:600;font-family:var(--mono);color:var(--accent);text-transform:uppercase;letter-spacing:0.06em}
.msg-thread__f{padding:14px 18px;border-top:1px solid var(--hairline);background:var(--bg)}
.msg-thread__t{display:flex;gap:8px;align-items:center}
.msg-thread__t .ic{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:var(--surface);border:1.5px solid var(--hairline);font-size:16px;cursor:pointer}
.msg-thread__t input{flex:1;padding:11px 14px;border:1.5px solid var(--hairline);border-radius:10px;font:inherit;font-size:14px;background:var(--surface);color:var(--fg)}
.msg-thread__t button{padding:11px 18px;background:var(--accent);color:#fff;border-radius:10px;font-weight:600;font-size:13px}
.msg-side{background:var(--bg);border:1px solid var(--hairline);border-radius:16px;padding:18px;overflow-y:auto}
.msg-side h4{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:0.08em;margin:0 0 14px;color:var(--muted);font-weight:600}
.msg-side h4:not(:first-child){margin-top:20px;padding-top:16px;border-top:1px solid var(--hairline)}
.msg-side dl{margin:0;display:grid;grid-template-columns:1fr auto;gap:8px;font-size:12.5px}
.msg-side dt{color:var(--muted);font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:0.04em}
.msg-side dd{margin:0;font-weight:500;text-align:right}
.msg-mile{display:flex;gap:8px;padding:10px 0;border-top:1px dashed var(--hairline);font-size:12.5px;align-items:center}
.msg-mile:first-of-type{border-top:0;padding-top:0}
.msg-mile__d{width:20px;height:20px;border-radius:50%;background:var(--surface);border:2px solid var(--hairline);flex-shrink:0}
.msg-mile__d.done{background:var(--good);border-color:var(--good)}
.msg-mile__d.active{background:var(--accent);border-color:var(--accent)}
.msg-mile b{flex:1;font-weight:500}
.msg-mile span{font-family:var(--mono);font-size:10.5px;color:var(--muted);letter-spacing:0.04em}
/* Payment */
.paybg{max-width:1200px;margin:28px auto 0;padding:0 20px}
.payhead{display:flex;justify-content:space-between;align-items:end;flex-wrap:wrap;gap:12px;margin-bottom:24px}
.payhead h1{font-size:clamp(30px,3.4vw,46px);font-weight:700;letter-spacing:-0.03em;margin:0}
.payhead h1 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--accent)}
.paylay{display:grid;grid-template-columns:1.5fr 1fr;gap:22px}
@media(max-width:860px){.paylay{grid-template-columns:1fr}}
.paycard{background:var(--bg);border:1px solid var(--hairline);border-radius:16px;padding:24px;margin-bottom:16px}
.paycard h3{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:0.08em;margin:0 0 14px;color:var(--muted);font-weight:600;display:flex;align-items:center;gap:10px}
.paycard h3 b{background:var(--fg);color:var(--bg);width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-family:var(--geist);font-weight:600}
.paymet{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
@media(max-width:560px){.paymet{grid-template-columns:1fr}}
.paymet__o{padding:16px;border:1.5px solid var(--hairline);border-radius:12px;cursor:pointer;display:flex;gap:12px;align-items:center;transition:all 180ms}
.paymet__o[aria-checked="true"]{border-color:var(--accent);background:color-mix(in oklch,var(--accent) 6%,transparent)}
.paymet__o i{font-style:normal;font-size:24px;width:40px;text-align:center}
.paymet__o b{display:block;font-size:14px;font-weight:600;margin-bottom:2px}
.paymet__o span{font-family:var(--mono);font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:0.04em}
.cardvis{background:linear-gradient(135deg, var(--fg), color-mix(in oklch,var(--fg) 80%,var(--accent)));color:var(--bg);border-radius:14px;padding:22px;position:relative;overflow:hidden;aspect-ratio:1.6;max-width:360px;margin-bottom:16px}
.cardvis::before{content:'';position:absolute;top:-30%;right:-20%;width:60%;height:160%;background:radial-gradient(circle,color-mix(in oklch,var(--accent) 45%,transparent),transparent 70%)}
.cardvis__brand{font-family:var(--mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;position:relative;opacity:0.6}
.cardvis__num{font-family:var(--mono);font-size:22px;letter-spacing:0.1em;margin-top:30px;font-weight:500;position:relative}
.cardvis__f{display:flex;justify-content:space-between;align-items:end;margin-top:22px;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:0.08em;opacity:0.8;position:relative}
.cardvis__f b{font-size:14px;opacity:1;font-weight:500;display:block}
.pfield{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
@media(max-width:560px){.pfield{grid-template-columns:1fr}}
.pfield label{display:block;font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:0.06em;color:var(--muted);margin-bottom:6px;font-weight:600}
.pfield input{width:100%;padding:12px 14px;border:1.5px solid var(--hairline);border-radius:10px;background:var(--bg);font:inherit;font-size:14px;color:var(--fg);font-family:var(--mono)}
.pfield input:focus{outline:0;border-color:var(--accent)}
.paysum{position:sticky;top:20px;align-self:start;background:var(--fg);color:var(--bg);border-radius:18px;padding:24px;position:relative;overflow:hidden}
.paysum::before{content:'';position:absolute;top:-30%;right:-20%;width:60%;height:140%;background:radial-gradient(circle,color-mix(in oklch,var(--accent) 50%,transparent),transparent 70%)}
.paysum h3{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:0.08em;margin:0 0 16px;color:color-mix(in oklch,var(--bg) 60%,transparent);font-weight:600;position:relative}
.paysum__l{display:flex;justify-content:space-between;padding:8px 0;font-size:14px;position:relative}
.paysum__l.disc{color:var(--accent)}
.paysum__sep{border:0;border-top:1px solid color-mix(in oklch,var(--bg) 20%,transparent);margin:10px 0;position:relative}
.paysum__t{display:flex;justify-content:space-between;align-items:baseline;margin:14px 0 6px;position:relative}
.paysum__t b{font-size:34px;font-weight:700;letter-spacing:-0.03em;line-height:1}
.paysum__t span{font-family:var(--mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:color-mix(in oklch,var(--bg) 60%,transparent)}
.paysum__trust{margin-top:14px;padding-top:14px;border-top:1px dashed color-mix(in oklch,var(--bg) 14%,transparent);display:flex;flex-direction:column;gap:8px;font-family:var(--mono);font-size:11px;color:color-mix(in oklch,var(--bg) 55%,transparent);text-transform:uppercase;letter-spacing:0.04em;position:relative}
.paysum__trust div{display:flex;align-items:center;gap:8px}
.paycta{display:block;padding:18px;background:var(--accent);color:#fff;text-align:center;border-radius:14px;font-weight:600;font-size:15px;margin-top:18px;position:relative}
.paycta small{display:block;font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:0.06em;opacity:0.85;margin-top:3px}
/* Confirmation */
.confbg{max-width:980px;margin:40px auto 0;padding:0 20px;text-align:center}
.conf__ic{width:90px;height:90px;border-radius:50%;background:color-mix(in oklch,var(--good) 16%,transparent);color:var(--good);display:grid;place-items:center;font-size:42px;margin:0 auto 22px;border:3px solid var(--good)}
.conf h1{font-size:clamp(36px,4.4vw,60px);font-weight:700;letter-spacing:-0.032em;margin:0 0 10px;line-height:1}
.conf h1 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--accent)}
.conf__s{font-size:16px;color:var(--muted);max-width:52ch;margin:0 auto 28px;line-height:1.5}
.conf__s b{color:var(--fg)}
.conf__ref{display:inline-flex;gap:12px;align-items:center;padding:14px 22px;background:var(--fg);color:var(--bg);border-radius:12px;font-family:var(--mono);font-size:13px;letter-spacing:0.06em;margin-bottom:36px}
.conf__ref span{opacity:0.55;font-size:10.5px;text-transform:uppercase;letter-spacing:0.1em}
.conf__ref b{font-size:15px;font-weight:700}
.conf__box{background:var(--bg);border:1.5px solid var(--hairline);border-radius:18px;padding:24px;text-align:left;margin-bottom:20px}
.conf__box h3{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:0.08em;margin:0 0 16px;color:var(--muted);font-weight:600}
.confsteps{display:flex;gap:0;position:relative}
.confsteps::before{content:'';position:absolute;top:28px;left:28px;right:28px;height:2px;background:var(--hairline);z-index:0}
.confstep{flex:1;text-align:center;position:relative;z-index:1}
.confstep i{width:56px;height:56px;border-radius:50%;background:var(--bg);border:2px solid var(--hairline);display:grid;place-items:center;font-size:22px;margin:0 auto 10px;font-style:normal;color:var(--muted)}
.confstep.active i{background:var(--accent);color:#fff;border-color:var(--accent)}
.confstep.done i{background:var(--good);color:#fff;border-color:var(--good)}
.confstep b{display:block;font-size:13px;font-weight:600;margin-bottom:3px}
.confstep span{font-family:var(--mono);font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:0.06em}
.conf__ctas{display:flex;gap:10px;justify-content:center;margin-top:20px;flex-wrap:wrap}
.conf__ctas a{padding:14px 22px;border-radius:11px;font-weight:600;font-size:14px}
.conf__ctas a.primary{background:var(--accent);color:#fff}
.conf__ctas a.ghost{border:1.5px solid var(--line);color:var(--fg)}
/* Login */
.lgnbg{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:var(--bg)}
@media(max-width:860px){.lgnbg{grid-template-columns:1fr}}
.lgnart{background:var(--fg);color:var(--bg);padding:50px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}
@media(max-width:860px){.lgnart{display:none}}
.lgnart::before{content:'';position:absolute;top:-20%;right:-30%;width:80%;height:140%;background:radial-gradient(circle,color-mix(in oklch,var(--accent) 50%,transparent),transparent 70%)}
.lgnart__brand{font-size:22px;font-weight:700;display:flex;align-items:center;gap:10px;position:relative}
.lgnart__brand span:first-child{width:36px;height:36px;background:var(--accent);color:#fff;border-radius:10px;display:grid;place-items:center;font-size:20px}
.lgnart__h{position:relative;margin:auto 0}
.lgnart__h h2{font-size:clamp(34px,3.6vw,52px);font-weight:700;letter-spacing:-0.03em;margin:0 0 14px;line-height:0.98;max-width:18ch}
.lgnart__h h2 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--accent)}
.lgnart__h p{font-size:15px;line-height:1.55;color:color-mix(in oklch,var(--bg) 72%,transparent);max-width:40ch;margin:0 0 26px}
.lgnart__feat{display:flex;flex-direction:column;gap:10px;position:relative}
.lgnart__feat div{display:flex;gap:12px;align-items:center;padding:14px 16px;background:color-mix(in oklch,var(--bg) 8%,transparent);border-radius:12px;font-size:13.5px}
.lgnart__feat i{font-size:22px;font-style:normal}
.lgnart__foot{font-family:var(--mono);font-size:11px;color:color-mix(in oklch,var(--bg) 50%,transparent);letter-spacing:0.06em;text-transform:uppercase;position:relative;display:flex;gap:22px}
.lgn{display:flex;align-items:center;justify-content:center;padding:40px 30px}
.lgn__card{width:100%;max-width:420px}
.lgn__eye{font-family:var(--mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.lgn__card h1{font-size:36px;font-weight:700;letter-spacing:-0.03em;margin:0 0 6px;line-height:1}
.lgn__card h1 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--accent)}
.lgn__sub{font-size:14px;color:var(--muted);margin-bottom:22px}
.lgn__sub a{color:var(--fg);border-bottom:1px solid var(--fg);font-weight:500}
.lgn__tabs{display:flex;background:var(--surface);border-radius:10px;padding:4px;margin-bottom:22px;gap:4px}
.lgn__tabs button{flex:1;padding:9px;border-radius:7px;font-family:var(--geist);font-size:13px;font-weight:500;color:var(--muted);transition:all 180ms}
.lgn__tabs button[aria-pressed="true"]{background:var(--fg);color:var(--bg);font-weight:600}
.lgn__sso{display:grid;gap:8px;margin-bottom:22px}
.lgn__sso a{padding:12px;border:1.5px solid var(--hairline);border-radius:10px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:13.5px;font-weight:500;transition:border-color 180ms}
.lgn__sso a:hover{border-color:var(--fg)}
.lgn__sso i{font-style:normal;font-size:16px}
.lgn__sep{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--muted);font-family:var(--mono);font-size:10.5px;letter-spacing:0.08em;text-transform:uppercase}
.lgn__sep::before,.lgn__sep::after{content:'';flex:1;height:1px;background:var(--hairline)}
.lgn__f{display:flex;flex-direction:column;gap:12px}
.lgn__f label{display:block;font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:0.06em;color:var(--muted);margin-bottom:6px;font-weight:600}
.lgn__f input{width:100%;padding:13px 14px;border:1.5px solid var(--hairline);border-radius:10px;background:var(--bg);font:inherit;font-size:14px;color:var(--fg)}
.lgn__f input:focus{outline:0;border-color:var(--accent)}
.lgn__row{display:flex;justify-content:space-between;font-size:12.5px;margin-top:-4px}
.lgn__row label{display:flex;align-items:center;gap:6px;text-transform:none;letter-spacing:0;font-size:12.5px;font-weight:500;color:var(--muted);font-family:var(--geist);margin:0}
.lgn__row a{color:var(--fg);border-bottom:1px solid var(--hairline);padding-bottom:1px}
.lgn__cta{padding:14px;background:var(--accent);color:#fff;border-radius:10px;font-weight:600;font-size:14px;text-align:center;margin-top:4px}
.lgn__tabs .lgn__tab--link{flex:1;padding:9px;border-radius:7px;font-family:var(--geist);font-size:13px;font-weight:500;color:var(--muted);transition:all 180ms;text-align:center;text-decoration:none;display:flex;align-items:center;justify-content:center}
.lgn__tabs .lgn__tab--link:hover{color:var(--fg)}
.lgn__f--wc .woocommerce-form-login .form-row{margin:0 0 12px}
.lgn__f--wc .woocommerce-form-login .input-text{width:100%;padding:13px 14px;border:1.5px solid var(--hairline);border-radius:10px;background:var(--bg);font:inherit;font-size:14px;color:var(--fg);box-sizing:border-box}
.lgn__f--wc .woocommerce-form-login .woocommerce-button{width:100%;padding:14px;background:var(--accent);color:#fff;border-radius:10px;font-weight:600;font-size:14px;border:0;cursor:pointer}
.lgn__f--wc .woocommerce-privacy-policy-text{font-size:12px;color:var(--muted);margin-bottom:12px}
/* Checkout steps (shared across panier / devis / paiement) */
.cstep{display:flex;gap:4px;margin-bottom:28px;font-family:var(--mono);font-size:11px;letter-spacing:0.06em;flex-wrap:wrap}
.cstep div{flex:1;min-width:140px;padding:12px 16px;background:var(--surface);border:1px solid var(--hairline);border-radius:12px;display:flex;align-items:center;gap:10px}
.cstep div.done{border-color:var(--good);color:var(--good)}
.cstep div.active{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.cstep div b{width:22px;height:22px;border-radius:50%;background:var(--bg);color:var(--fg);display:grid;place-items:center;font-weight:700;font-size:11.5px;border:1.5px solid currentColor}
.cstep div.active b{background:var(--accent);color:#fff;border-color:var(--accent)}
.cstep div.done b{background:var(--good);color:#fff;border-color:var(--good)}
.invtot{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}
@media(max-width:720px){.invtot{grid-template-columns:1fr}}
.invtot .astat{background:var(--bg)}
.invtot .astat.danger span{color:#c94a4a}
