/* money module: pricing, advertise (media kit, order form, assistant), billing (checkout status, receipts). Tokens only. */
.money-hero{text-align:start;margin-bottom:.5rem}
.money-hero p{margin-inline:0}
.money-hero-actions{margin-top:1.25rem;gap:.6rem}

/* KPI grid (media kit, ad stats) */
.kpi-grid{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:640px){.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1024px){.kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.kpi-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* placements */
.placement-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.placement-card{display:flex;flex-direction:column;gap:.5rem}
.placement-card h3{margin:0;font-size:1.05rem}
.placement-card.is-quote{border-style:dashed}
.placement-meta{list-style:none;padding:0;margin:0 0 .25rem;font-size:.85rem;color:var(--fg-muted);display:flex;flex-direction:column;gap:.2rem}
.placement-card .btn{align-self:flex-start;margin-top:auto}

/* order form */
.ad-order-form{padding:clamp(1rem,3vw,1.75rem)}
.form-grid{display:grid;gap:0 1rem;grid-template-columns:1fr}
@media (min-width:768px){.form-grid{grid-template-columns:1fr 1fr}.form-grid .field-wide{grid-column:1 / -1}}
.form-section-title{margin:1rem 0 .75rem;padding-top:1rem;border-top:1px solid var(--border);font-size:1rem}
.ad-readonly{display:flex;align-items:center;background:var(--bg-sunken);color:var(--fg-muted)}
.ad-price-field .price-lg{display:block}
.price-lg{font-size:1.6rem}
.approx{display:block;font-weight:400}

/* order page */
.kv-table{width:100%;border-collapse:collapse;font-size:.95rem}
.kv-table th{text-align:start;color:var(--fg-muted);font-weight:500;padding:.45rem .75rem .45rem 0;width:34%;vertical-align:top;white-space:nowrap}
.kv-table td{padding:.45rem 0;vertical-align:top;border-bottom:1px solid var(--border)}
.kv-table tr:last-child td{border-bottom:0}
.pay-card{margin-bottom:1.25rem;border-color:color-mix(in srgb,var(--primary) 40%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 8%,var(--bg-elev)),var(--bg-elev))}
.ad-preview{margin:0 0 1rem;justify-content:flex-start}
.ad-preview .ad-direct{cursor:default}
.creative-editor summary{cursor:pointer}
.creative-editor summary::-webkit-details-marker{color:var(--primary)}

/* assistant */
.assistant-layout{align-items:start}
.assistant-card{display:flex;flex-direction:column;gap:.75rem}
.assistant-head h1{font-size:1.4rem}
.assistant-log{display:flex;flex-direction:column;gap:.6rem;max-height:min(60vh,560px);min-height:240px;overflow-y:auto;padding:.75rem;background:var(--bg-sunken);border-radius:var(--radius);border:1px solid var(--border);scroll-behavior:smooth}
.msg{max-width:88%;display:flex;flex-direction:column;gap:.15rem}
.msg-who{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-faint);font-weight:600;padding-inline:.35rem}
.msg-body{padding:.6rem .85rem;border-radius:var(--radius);background:var(--bg-elev);border:1px solid var(--border);font-size:.95rem;line-height:1.5;white-space:normal;word-break:break-word}
.msg-user{align-self:flex-end;align-items:flex-end}
.msg-user .msg-body{background:var(--primary);color:var(--primary-fg);border-color:transparent}
.msg-bot.is-fallback .msg-body{border-color:color-mix(in srgb,var(--warning) 50%,var(--border));background:var(--warning-soft);color:var(--fg)}
.assistant-order{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding:.6rem .75rem;border-radius:var(--radius-sm);background:var(--primary-soft);color:var(--fg)}
.assistant-form .input-group .input{border-radius:999px 0 0 999px}
.assistant-form .input-group .btn{border-radius:0 999px 999px 0}
[dir=rtl] .assistant-form .input-group .input{border-radius:0 999px 999px 0}
[dir=rtl] .assistant-form .input-group .btn{border-radius:999px 0 0 999px}
.price-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem;font-size:.9rem}
.price-list li{display:flex;justify-content:space-between;gap:.5rem;border-bottom:1px dashed var(--border);padding-bottom:.35rem}
.price-list li:last-child{border-bottom:0}

/* pricing */
.plan-grid{display:grid;gap:1rem;grid-template-columns:1fr}
@media (min-width:768px){.plan-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.plan-card{display:flex;flex-direction:column;gap:.5rem;position:relative}
.plan-card h3{margin:0}
.plan-card.is-featured{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary),var(--shadow)}
.plan-badge{position:absolute;top:-.7rem;inset-inline-start:1rem}
.plan-price{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;margin:.25rem 0 .5rem}
.plan-price .price-type{margin:0}
.plan-tabs{margin-bottom:.5rem}
.benefits{list-style:none;padding:0;margin:0 0 .75rem;display:flex;flex-direction:column;gap:.35rem;font-size:.92rem}
.benefits li{position:relative;padding-inline-start:1.4rem}
.benefits li::before{content:"";position:absolute;inset-inline-start:0;top:.45em;width:.55rem;height:.3rem;border-inline-start:2px solid var(--success);border-bottom:2px solid var(--success);transform:rotate(-45deg)}
.plan-card .btn-block{margin-top:auto}
.compare-table td:not(:first-child),.compare-table th:not(:first-child){text-align:center}
.feature-yes{color:var(--success);width:1.3em;height:1.3em}
.product-card{display:flex;flex-direction:column;gap:.35rem}
.product-card h3{margin:0;font-size:1.05rem}
.product-card .btn{align-self:flex-start;margin-top:auto}
.faq{display:flex;flex-direction:column;gap:.6rem}
.faq-item{padding:.9rem 1.1rem}
.faq-item summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:.75rem;align-items:center}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";color:var(--primary);font-weight:700;font-size:1.2rem;line-height:1}
.faq-item[open] summary::after{content:"–"}
.faq-item p{margin:.6rem 0 0;color:var(--fg-muted)}

/* checkout result / receipt */
.checkout-result{padding:clamp(1rem,4vw,2.5rem) 0}
.pay-status{text-align:center;padding:clamp(1.5rem,4vw,2.5rem)}
.pay-status h1{font-size:1.6rem}
.pay-status p{max-width:48ch;margin-inline:auto}
.pay-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:0 auto 1rem;background:var(--bg-sunken)}
.pay-icon .icon{width:34px;height:34px}
.pay-icon-ok{background:var(--success-soft);color:var(--success)}
.pay-icon-bad{background:var(--danger-soft);color:var(--danger)}
.pay-icon-wait{background:var(--info-soft);color:var(--info)}
.pay-actions{justify-content:center;margin-top:1rem}
.spinner{width:28px;height:28px;border:3px solid currentColor;border-inline-end-color:transparent;border-radius:50%;animation:spin .8s linear infinite;display:block}
.receipt-brand{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-faint);font-weight:700}
.receipt-head{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}
@media print{.no-print,.breadcrumbs{display:none!important}.receipt{border:0;box-shadow:none;padding:0}}
