:root {
    --purple: #6d32d5;
    --purple-dark: #3f157f;
    --purple-deep: #24103f;
    --purple-light: #efe8ff;
    --ink: #18151f;
    --muted: #696475;
    --cream: #fbf9ff;
    --white: #fff;
    --line: #e8e1f5;
    --green: #1f9d62;
    --red: #c33a4a;
    --amber: #d98b13;
    --shadow: 0 24px 70px rgba(61, 25, 116, .14);
    --radius: 28px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--ink);
    background: var(--cream);
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}
body.modal-open { overflow: hidden; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
img { display: block; max-width: 100%; }
.container { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.site-page {
    min-height: 100vh;
    background:
        radial-gradient(circle at 88% 4%, rgba(109,50,213,.12), transparent 28%),
        radial-gradient(circle at 3% 30%, rgba(109,50,213,.07), transparent 22%),
        var(--cream);
}
.site-header {
    position: sticky; top: 0; z-index: 20;
    border-bottom: 1px solid rgba(109,50,213,.09);
    background: rgba(251,249,255,.86);
    backdrop-filter: blur(18px);
}
.header-inner { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand img { width: 192px; height: auto; }
.site-nav { display: flex; align-items: center; gap: 28px; color: var(--muted); font-size: 14px; }
.site-nav a { text-decoration: none; transition: color .2s ease; }
.site-nav a:hover { color: var(--purple); }
.button {
    display: inline-flex; align-items: center; justify-content: center; min-height: 54px;
    padding: 0 25px; border: 0; border-radius: 16px; color: #fff;
    background: linear-gradient(135deg, var(--purple), var(--purple-dark));
    box-shadow: 0 16px 34px rgba(109,50,213,.26);
    font: inherit; font-weight: 800; text-decoration: none; cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease;
}
.button:hover { transform: translateY(-2px); box-shadow: 0 20px 42px rgba(109,50,213,.32); }
.button-small { min-height: 42px; padding: 0 18px; border-radius: 13px; font-size: 14px; }
.button-block { width: 100%; }
.button-light { color: var(--purple-dark); background: #fff; box-shadow: none; }
.hero { padding: 76px 0 70px; overflow: hidden; }
.hero-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 54px; align-items: center; }
.eyebrow, .section-kicker, .admin-kicker, .flow-step {
    font-size: 12px; font-weight: 900; letter-spacing: .1em; color: var(--purple); text-transform: uppercase;
}
.eyebrow {
    display: inline-flex; align-items: center; gap: 10px; padding: 9px 13px;
    border: 1px solid rgba(109,50,213,.18); border-radius: 999px;
    color: var(--purple-dark); background: rgba(255,255,255,.68); letter-spacing: 0; text-transform: none;
}
.eyebrow > span { width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 5px rgba(31,157,98,.1); }
.hero h1 { max-width: 720px; margin: 24px 0 20px; font-size: clamp(46px, 6vw, 78px); line-height: .99; letter-spacing: -.055em; }
.hero-lead { max-width: 680px; margin: 0; color: var(--muted); font-size: 20px; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 32px; }
.text-link { color: var(--purple-dark); font-weight: 800; text-decoration: none; }
.text-link span { display: inline-block; margin-left: 6px; }
.hero-note { margin: 20px 0 0; color: var(--muted); font-size: 14px; }
.hero-art { position: relative; min-height: 540px; display: grid; place-items: center; }
.orbit { position: absolute; border-radius: 50%; border: 1px solid rgba(109,50,213,.17); }
.orbit-one { width: 470px; height: 470px; background: linear-gradient(135deg, rgba(109,50,213,.18), rgba(109,50,213,.02)); }
.orbit-two { width: 350px; height: 350px; border-style: dashed; transform: rotate(22deg); }
.certificate-card {
    position: relative; z-index: 2; width: min(430px, 92%); min-height: 410px; padding: 32px;
    overflow: hidden; border-radius: 34px; color: #fff;
    background: linear-gradient(150deg, rgba(255,255,255,.12), transparent 42%), linear-gradient(145deg, var(--purple), #331064 76%);
    box-shadow: var(--shadow); transform: rotate(-2deg);
}
.certificate-card::after { content: ""; position: absolute; inset: 14px; border: 1px solid rgba(255,255,255,.16); border-radius: 25px; pointer-events: none; }
.certificate-top { display: flex; align-items: center; gap: 13px; font-size: 11px; font-weight: 800; line-height: 1.25; letter-spacing: .08em; }
.certificate-mark { display: grid; place-items: center; width: 45px; height: 45px; border: 1px solid rgba(255,255,255,.5); border-radius: 15px; font-size: 13px; }
.road-line { position: absolute; left: -10%; right: -10%; top: 155px; height: 120px; background: rgba(12,5,28,.33); transform: skewY(-7deg); border-top: 2px solid rgba(255,255,255,.2); }
.road-line::after { content: ""; position: absolute; right: 0; bottom: 46px; width: 300px; height: 3px; background: repeating-linear-gradient(90deg,#fff 0 30px,transparent 30px 56px); opacity: .7; }
.car { position: absolute; z-index: 2; top: 174px; left: 50%; width: 245px; height: 76px; transform: translateX(-50%) rotate(-2deg); }
.car-body { position: absolute; inset: 0; border-radius: 50px 60px 22px 22px; background: linear-gradient(180deg,#fbfbff,#d9d4e7); box-shadow: 0 15px 25px rgba(0,0,0,.25); }
.car-body::before { content: ""; position: absolute; left: 55px; top: -29px; width: 118px; height: 45px; border-radius: 60px 60px 8px 8px; background: linear-gradient(150deg,#e7f5ff,#9fb4cb); clip-path: polygon(14% 100%,28% 0,78% 0,100% 100%); border: 4px solid #ece9f3; }
.wheel { position: absolute; z-index: 3; bottom: -12px; width: 38px; height: 38px; border: 9px solid #261d32; border-radius: 50%; background: #a8a2af; }
.wheel-left { left: 38px; } .wheel-right { right: 38px; }
.certificate-title { position: absolute; z-index: 3; left: 32px; bottom: 58px; font-size: 33px; font-weight: 900; letter-spacing: -.03em; line-height: .94; }
.certificate-meta { position: absolute; z-index: 3; right: 32px; bottom: 60px; display: grid; gap: 5px; text-align: right; font-size: 12px; font-weight: 700; }
.floating-note { position: absolute; z-index: 4; display: grid; padding: 14px 18px; border: 1px solid rgba(109,50,213,.12); border-radius: 18px; background: rgba(255,255,255,.93); box-shadow: 0 18px 40px rgba(61,25,116,.13); }
.floating-note strong { color: var(--purple-dark); font-size: 18px; }.floating-note span { color: var(--muted); font-size: 11px; }
.note-support { right: -8px; top: 95px; }.note-term { left: 0; bottom: 58px; }
.section { padding: 100px 0; }
.section-heading { display: grid; grid-template-columns: 1fr 420px; gap: 60px; align-items: end; margin-bottom: 46px; }
.section h2 { margin: 10px 0 0; font-size: clamp(38px, 5vw, 62px); line-height: 1.02; letter-spacing: -.045em; }
.section-heading p, .conditions-copy > p, .buy-card > div > p { margin: 0; color: var(--muted); font-size: 17px; }
.service-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.service-card { min-height: 194px; padding: 24px; border: 1px solid var(--line); border-radius: 22px; background: rgba(255,255,255,.72); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.service-card:hover { transform: translateY(-4px); border-color: rgba(109,50,213,.28); box-shadow: 0 18px 38px rgba(61,25,116,.08); }
.service-number { color: var(--purple); font-size: 12px; font-weight: 900; }
.service-card h3 { margin: 39px 0 7px; font-size: 18px; line-height: 1.2; }.service-card p { margin: 0; color: var(--muted); font-size: 14px; }
.conditions { color: #fff; background: var(--purple-deep); }
.conditions-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 90px; align-items: center; }
.conditions .section-kicker { color: #bca0f6; }.conditions-copy > p { max-width: 420px; margin: 24px 0 32px; color: #cfc5df; }
.condition-list { border-top: 1px solid rgba(255,255,255,.14); }
.condition-list article { display: grid; grid-template-columns: 55px 1fr; gap: 25px; padding: 28px 0; border-bottom: 1px solid rgba(255,255,255,.14); }
.condition-list article > span { color: #a17ce9; font-size: 13px; font-weight: 900; }.condition-list h3 { margin: 0 0 5px; font-size: 22px; }.condition-list p { margin: 0; color: #bdb2ce; }
.buy-card { display: grid; grid-template-columns: 1fr .72fr; gap: 80px; align-items: center; padding: 58px; border: 1px solid var(--line); border-radius: 36px; background: #fff; box-shadow: var(--shadow); }
.buy-card > div > p { max-width: 620px; margin-top: 24px; }.buy-offer { display: grid; gap: 16px; padding: 32px; border-radius: 26px; background: var(--purple-light); }
.buy-price { display: grid; }.buy-price strong { color: var(--purple-dark); font-size: 43px; line-height: 1; letter-spacing: -.04em; }.buy-price span, .buy-offer small { color: var(--muted); }
.site-footer { padding: 30px 0; border-top: 1px solid var(--line); }.footer-inner { display: flex; align-items: center; gap: 30px; color: var(--muted); font-size: 13px; }.footer-inner img { width: 170px; }.footer-inner p { margin: 0; }.footer-inner span { margin-left: auto; }.footer-link { color:var(--purple); font-weight:750; text-decoration:none; }

/* Modal and purchase flow */
.modal { position: fixed; inset: 0; z-index: 100; display: none; align-items: center; justify-content: center; padding: 20px; }
.modal.is-open { display: flex; }.modal-backdrop { position: absolute; inset: 0; background: rgba(24,11,42,.69); backdrop-filter: blur(8px); }
.modal-panel { position: relative; z-index: 1; width: min(650px,100%); max-height: calc(100vh - 40px); overflow: auto; padding: 42px; border-radius: 30px; background: #fff; box-shadow: 0 35px 100px rgba(20,8,37,.3); }
.modal-close { position: absolute; top: 18px; right: 20px; width: 40px; height: 40px; border: 0; border-radius: 50%; color: var(--muted); background: var(--cream); font-size: 27px; cursor: pointer; }
.modal-panel h2 { margin: 8px 0 8px; font-size: 34px; line-height: 1.05; letter-spacing: -.035em; }.modal-panel > p { margin: 0 0 24px; color: var(--muted); }
.order-form, .form-fields { display: grid; grid-template-columns: repeat(2,1fr); gap: 17px; }
.order-form label, .form-fields label, .login-form label { display: grid; gap: 7px; }.order-form label > span, .form-fields label > span, .login-form label > span { font-size: 13px; font-weight: 750; }
.order-form input:not([type=checkbox]), .form-fields input:not([type=checkbox]), .form-fields select, .login-form input {
    width: 100%; height: 50px; padding: 0 15px; border: 1px solid var(--line); border-radius: 13px; outline: 0; background: #fff;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.order-form input:focus, .form-fields input:focus, .form-fields select:focus, .login-form input:focus { border-color: var(--purple); box-shadow: 0 0 0 4px rgba(109,50,213,.1); }
.form-wide { grid-column: 1/-1; }.consent { grid-template-columns: 20px 1fr; align-items: start; color: var(--muted); font-size: 13px; }.consent input { margin-top: 3px; accent-color: var(--purple); }
.alert { margin: 0 0 22px; padding: 13px 16px; border-radius: 13px; font-size: 14px; }.alert-error { color: #8d2531; background: #ffedf0; border: 1px solid #ffd2d8; }.alert-success { color: #126f46; background: #e5f8ef; border: 1px solid #c6eedb; }
.flow-page { min-height: 100vh; display: grid; place-items: center; align-content: center; gap: 30px; padding: 45px 20px; background: radial-gradient(circle at 50% 0,rgba(109,50,213,.16),transparent 35%),var(--cream); }
.flow-brand img { width: 210px; }.flow-card { width: min(600px,100%); padding: 42px; border: 1px solid var(--line); border-radius: 30px; background: #fff; box-shadow: var(--shadow); }
.flow-card h1 { margin: 8px 0 11px; font-size: clamp(34px,6vw,48px); line-height: 1; letter-spacing: -.045em; }.flow-lead { margin: 0 0 27px; color: var(--muted); }
.order-summary { margin: 0 0 25px; border-top: 1px solid var(--line); }.order-summary > div { display: flex; justify-content: space-between; gap: 25px; padding: 16px 0; border-bottom: 1px solid var(--line); }.order-summary dt { color: var(--muted); }.order-summary dd { margin: 0; font-weight: 750; text-align: right; }.order-summary .summary-price { color: var(--purple-dark); font-size: 22px; }
.payment-actions { display: grid; gap: 15px; }.payment-actions details { color: var(--muted); font-size: 13px; text-align: center; }.payment-actions summary { cursor: pointer; }.payment-actions details div { display: flex; justify-content: center; gap: 10px; margin-top: 10px; }.payment-actions details button { padding: 7px 10px; border: 1px solid var(--line); border-radius: 8px; background: #fff; cursor: pointer; }
.bank-note { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; text-align: center; }
.secure-note { margin: 20px 0 0; color: var(--muted); font-size: 12px; text-align: center; }.empty-icon, .result-icon { display: grid; place-items: center; width: 68px; height: 68px; margin-bottom: 20px; border-radius: 22px; color: var(--purple); background: var(--purple-light); font-weight: 900; }
.result-icon { border-radius: 50%; font-size: 30px; }.result-icon.is-success { color: var(--green); background: #e5f8ef; }.result-icon.is-pending { color: var(--amber); background: #fff4dd; }
.certificate-number { display: grid; gap: 4px; margin: 25px 0; padding: 22px; border-radius: 18px; color: #fff; background: linear-gradient(135deg,var(--purple),var(--purple-dark)); }.certificate-number span { font-size: 12px; opacity: .75; }.certificate-number strong { font-size: 28px; letter-spacing: .04em; }
.result-home-link { display: block; margin-top: 18px; color: var(--muted); font-size: 13px; font-weight: 700; text-align: center; text-decoration: none; }
.certificate-search-card { width:min(610px,100%); }.refund-card { width:min(760px,100%); }.refund-result-card { width:min(650px,100%); }
.client-form { display:grid; gap:17px; }.client-form label { display:grid; gap:7px; }.client-form label > span { font-size:13px; font-weight:750; }
.client-form input:not([type=checkbox]),.client-form select,.client-form textarea { width:100%; padding:0 15px; border:1px solid var(--line); border-radius:13px; outline:0; color:var(--ink); background:#fff; transition:border-color .2s ease,box-shadow .2s ease; }
.client-form input:not([type=checkbox]),.client-form select { height:52px; }.client-form textarea { min-height:105px; padding-top:13px; resize:vertical; }
.client-form input:focus,.client-form select:focus,.client-form textarea:focus { border-color:var(--purple); box-shadow:0 0 0 4px rgba(109,50,213,.1); }
.client-form-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:15px; }.client-form .consent { display:grid; grid-template-columns:20px 1fr; gap:10px; padding:14px; border-radius:13px; background:var(--cream); }.client-form .consent > span { color:var(--muted); font-weight:500; }
.refund-summary { margin-bottom:28px; }.refund-number { overflow-wrap:anywhere; font-size:18px !important; letter-spacing:0 !important; }

/* Admin */
.admin-body { min-height: 100vh; background: #f5f3f9; }.admin-shell { min-height: 100vh; display: grid; grid-template-columns: 246px 1fr; }
.admin-sidebar { position: sticky; top: 0; z-index: 30; height: 100vh; display: flex; flex-direction: column; padding: 27px 18px 20px; overflow-y:auto; color: #d8cee7; background: var(--purple-deep); }
.admin-logo { display: block; padding: 0 10px 29px; }.admin-logo img { width: 182px; filter: brightness(0) invert(1); }
.admin-nav { display: grid; gap: 4px; }.admin-nav a { padding: 11px 13px; border-radius: 10px; color: #c2b6d2; font-size: 14px; font-weight: 650; text-decoration: none; transition: background .2s,color .2s; }
.admin-nav a:hover, .admin-nav a.is-active { color: #fff; background: rgba(255,255,255,.11); }.admin-logout { margin-top: auto; }.admin-logout button { width: 100%; padding: 11px; border: 1px solid rgba(255,255,255,.16); border-radius: 11px; color: #ddd3ea; background: transparent; cursor: pointer; }
.admin-main { min-width: 0; }.admin-topbar { min-height: 70px; display: flex; align-items: center; gap: 18px; padding: 0 32px; border-bottom: 1px solid #e6e1ed; background: rgba(255,255,255,.86); backdrop-filter: blur(16px); }
.admin-topbar > div { display: grid; line-height: 1.1; }.admin-topbar > div span { color: var(--muted); font-size: 11px; }.admin-topbar > a { margin-left: auto; color: var(--purple); font-size: 13px; font-weight: 750; text-decoration: none; }
.sidebar-toggle { display: none; border: 1px solid var(--line); border-radius: 10px; background: #fff; padding: 8px 11px; }
.admin-content { width: min(1440px,100%); margin: 0 auto; padding: 34px; }.admin-heading { display: flex; min-width:0; align-items: end; justify-content:space-between; gap:30px; margin-bottom:28px; }.admin-heading > div { min-width:0; }
.admin-heading h1 { max-width:100%; margin:6px 0 5px; overflow-wrap:anywhere; font-size:clamp(32px,4vw,46px); line-height:1; letter-spacing:-.045em; }.admin-heading p { margin: 0; color: var(--muted); }.back-link { display: inline-block; margin-bottom: 10px; color: var(--purple); font-size: 13px; font-weight: 700; text-decoration: none; }
.metric-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 15px; margin-bottom: 15px; }.metric-grid article { display: grid; padding: 22px; border: 1px solid #e8e3ef; border-radius: 20px; background: #fff; }
.metric-grid article > span { color: var(--muted); font-size: 13px; }.metric-grid strong { margin: 9px 0 3px; font-size: 31px; letter-spacing: -.04em; }.metric-grid small { color: var(--muted); }.metric-grid small a { color:var(--purple); font-weight:700; text-decoration:none; }.metric-grid .metric-primary { color: #fff; border: 0; background: linear-gradient(135deg,var(--purple),var(--purple-dark)); }.metric-grid .metric-primary > span,.metric-grid .metric-primary small { color: #d9caf5; }
.dashboard-grid { display: grid; grid-template-columns: 1.55fr .85fr; gap: 15px; margin-bottom: 15px; }.admin-card { border: 1px solid #e8e3ef; border-radius: 20px; background: #fff; }.chart-card,.status-card { padding: 23px; }
.card-heading { display: flex; align-items: start; justify-content: space-between; gap: 20px; margin-bottom: 22px; }.card-heading h2 { margin: 0 0 3px; font-size: 19px; }.card-heading p { margin: 0; color: var(--muted); font-size: 12px; }.card-heading > a { color: var(--purple); font-size: 13px; font-weight: 750; text-decoration: none; }.legend-dot { color: var(--muted); font-size: 11px; }.legend-dot::before { content:""; display:inline-block; width:8px; height:8px; margin-right:6px; border-radius:3px; background:var(--purple); }
.bar-chart { height: 240px; display: flex; align-items: stretch; gap: 7px; padding-top: 20px; }.bar-column { min-width: 0; flex: 1; display: grid; grid-template-rows: 20px 1fr 22px; align-items: end; text-align: center; }.bar-value { color: var(--muted); font-size: 10px; }.bar-track { height: 100%; display: flex; align-items: end; border-radius: 7px; background: #f5f1fa; overflow: hidden; }.bar-track i { display: block; width: 100%; min-height: 4px; border-radius: 7px; background: linear-gradient(180deg,#9e73ed,var(--purple)); }.bar-column small { color: var(--muted); font-size: 9px; transform: rotate(-45deg); transform-origin: center; }
.status-visual { display: grid; grid-template-columns: 145px 1fr; gap: 24px; align-items: center; }.donut { width: 145px; height: 145px; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(var(--green) 0 var(--paid),var(--purple) var(--paid) var(--created),var(--red) var(--created) var(--failed),#b9b2c5 var(--failed) 360deg); }.donut::before { content:""; grid-area:1/1; width:99px; height:99px; border-radius:50%; background:#fff; }.donut span { z-index:1; grid-area:1/1; display:grid; color:var(--muted); font-size:10px; text-align:center; }.donut strong { color:var(--ink); font-size:25px; }
.status-legend { display: grid; gap: 12px; }.status-legend div { display: flex; align-items: center; gap: 8px; font-size: 12px; }.status-legend div::before { content:""; width:8px; height:8px; border-radius:3px; background:#b9b2c5; }.status-legend div[data-status=paid]::before { background:var(--green); }.status-legend div[data-status=created]::before { background:var(--purple); }.status-legend div[data-status=failed]::before { background:var(--red); }.status-legend strong { margin-left:auto; }.callback-warning { display:block; margin-top:20px; padding:10px; border-radius:10px; color:#8d2531; background:#ffedf0; font-size:12px; text-decoration:none; }.callback-retry { color:#6c4b12; background:#fff4dd; }
.admin-table-card { padding-top: 22px; overflow: hidden; }.admin-table-card > .card-heading { padding: 0 23px; }.table-scroll { overflow-x: auto; }.admin-table { width: 100%; border-collapse: collapse; font-size: 13px; }.admin-table th { padding: 11px 16px; color: var(--muted); background: #faf9fc; font-size: 10px; letter-spacing: .05em; text-align: left; text-transform: uppercase; white-space: nowrap; }.admin-table td { padding: 14px 16px; border-top: 1px solid #eeeaf3; vertical-align: middle; }.admin-table tbody tr:hover { background: #fcfbfe; }.admin-table td > span:not(.status-badge):not(.callback-set) { display: block; color: var(--muted); font-size: 11px; }.admin-table code { padding: 4px 7px; border-radius: 6px; background: #f2eef8; font: 11px ui-monospace,SFMono-Regular,Menlo,monospace; }
.empty-cell { height: 110px; color: var(--muted); text-align: center; }.status-badge { display: inline-flex; padding: 5px 8px; border-radius: 999px; color: #595261; background: #eeebf1; font-size: 10px; font-weight: 800; white-space: nowrap; }.status-paid,.status-active,.status-sent,.status-delivered,.status-completed,.status-refunded,.status-approved { color:#146d47; background:#e5f8ef; }.status-created,.status-pending,.status-processing,.status-submitted,.status-reviewing,.status-retry_scheduled,.status-refund_requested { color:#59309d; background:#efe8ff; }.status-failed,.status-blocked,.status-rejected,.status-bank_details_error,.status-completed_with_errors { color:#9b2937; background:#ffedf0; }.status-canceled { color:#655e6c; background:#efedf1; }
.credentials-card { display: grid; grid-template-columns: 1fr 1.6fr auto; gap: 25px; align-items: center; margin-bottom: 17px; padding: 25px; border-radius: 20px; color: #fff; background: var(--purple-deep); }.credentials-card .admin-kicker { color:#bca0f6; }.credentials-card h2 { margin:4px 0; }.credentials-card p { margin:0; color:#c8bdd8; }.credentials-grid { display:grid; gap:7px; }.credentials-grid label { display:flex; align-items:center; gap:8px; color:#bfb3ce; font-size:11px; }.credentials-grid code { padding:4px 7px; border-radius:6px; color:#fff; background:rgba(255,255,255,.1); font-size:11px; word-break:break-all; }.copy-credentials { padding:10px 12px; border:1px solid rgba(255,255,255,.2); border-radius:10px; color:#fff; background:transparent; cursor:pointer; }.callback-set { color:var(--green); font-size:12px; font-weight:700; }.muted { color:var(--muted); }.row-actions { display:flex; gap:6px; }.row-actions button,.table-action { padding:6px 8px; border:1px solid var(--line); border-radius:8px; color:var(--purple); background:#fff; font-size:10px; cursor:pointer; white-space:nowrap; }
.entity-form { overflow:hidden; }.form-section { display:grid; grid-template-columns:260px 1fr; gap:50px; padding:32px; border-bottom:1px solid var(--line); }.form-section > div:first-child > span { color:var(--purple); font-size:12px; font-weight:900; }.form-section h2 { margin:4px 0; }.form-section p { margin:0; color:var(--muted); font-size:13px; }.form-fields label small { color:var(--muted); font-size:10px; }.form-submit { display:flex; align-items:center; justify-content:flex-end; gap:24px; padding:25px 32px; }.form-submit > a { color:var(--muted); text-decoration:none; }
.checkbox-field { display:flex !important; grid-template-columns:none; align-items:center; gap:10px !important; min-height:50px; padding:13px 15px; border:1px solid var(--line); border-radius:13px; background:#faf9fc; }.checkbox-field input { width:18px; height:18px; margin:0; accent-color:var(--purple); }.checkbox-field > span { font-size:13px !important; }
.checkbox-field > span { display:grid; gap:2px; }.checkbox-field strong { font-size:13px; }.checkbox-field.is-disabled { opacity:.55; background:#f1eef4; }.capability-grid,.product-picker { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.product-picker { padding:14px; border:1px solid var(--line); border-radius:15px; background:#faf9fc; }.product-picker.is-collapsed { display:none; }
.acquiring-summary { display:grid; grid-template-columns:1fr minmax(280px,auto); gap:25px; align-items:center; margin-bottom:17px; padding:25px; }.acquiring-summary h2 { margin:4px 0; font-size:19px; }.acquiring-summary p { margin:0; color:var(--muted); font-size:12px; }.acquiring-summary code { display:block; min-width:0; max-width:100%; padding:12px 14px; border-radius:10px; overflow-wrap:anywhere; color:var(--purple-dark); background:var(--purple-light); font:12px ui-monospace,SFMono-Regular,Menlo,monospace; white-space:normal; word-break:break-all; }
.admin-login-body { min-height:100vh; }.admin-login { min-height:100vh; display:grid; grid-template-columns:1.08fr .92fr; }.login-brand { display:flex; flex-direction:column; justify-content:space-between; padding:55px 7vw; color:#fff; background:radial-gradient(circle at 85% 10%,rgba(161,124,233,.45),transparent 28%),linear-gradient(145deg,var(--purple),var(--purple-deep)); }.login-brand > a img { width:210px; filter:brightness(0) invert(1); }.login-brand > div { max-width:650px; }.login-brand > div > span { color:#c9b8e8; font-size:12px; font-weight:900; letter-spacing:.12em; }.login-brand h1 { margin:15px 0; font-size:clamp(44px,5vw,73px); line-height:.98; letter-spacing:-.055em; }.login-brand p { max-width:580px; color:#d3c9e1; font-size:18px; }.login-panel { display:grid; place-items:center; padding:35px; background:var(--cream); }.login-form { width:min(430px,100%); }.login-form h2 { margin:8px 0 6px; font-size:38px; letter-spacing:-.04em; }.login-form > p { margin:0 0 25px; color:var(--muted); }.login-form label { margin-bottom:16px; }.login-form .button { margin-top:4px; }.login-back { display:block; margin-top:22px; color:var(--muted); font-size:13px; text-align:center; text-decoration:none; }

@media (max-width: 1060px) {
    .service-grid { grid-template-columns: repeat(3,1fr); }
    .metric-grid { grid-template-columns: repeat(2,1fr); }
    .dashboard-grid { grid-template-columns: 1fr; }
    .credentials-card { grid-template-columns: 1fr; }
    .acquiring-summary { grid-template-columns:1fr; }
}
@media (max-width: 940px) {
    .hero-grid,.conditions-grid,.buy-card,.section-heading { grid-template-columns: 1fr; }
    .hero { padding-top: 55px; }.hero-art { min-height:500px; }.section-heading { gap:20px; }.section-heading p { max-width:650px; }.conditions-grid { gap:55px; }.buy-card { gap:35px; }
    .admin-shell { grid-template-columns:1fr; }.admin-sidebar { position:fixed; left:0; transform:translateX(-105%); width:246px; transition:transform .2s ease; box-shadow:20px 0 45px rgba(0,0,0,.18); }.admin-sidebar.is-open { transform:translateX(0); }.sidebar-toggle { display:block; }.admin-content { padding:25px; }
    .admin-login { grid-template-columns:1fr; }.login-brand { min-height:340px; padding:35px; }.login-brand h1 { font-size:48px; }.login-panel { min-height:560px; }
}
@media (max-width: 700px) {
    .service-grid { grid-template-columns: repeat(2,1fr); }.section { padding:74px 0; }.site-nav > a { display:none; }
    .admin-heading { align-items:start; flex-direction:column; }.admin-heading .button { width:100%; }.metric-grid { grid-template-columns:1fr 1fr; }.metric-grid strong { font-size:25px; }
    .status-visual { grid-template-columns:130px 1fr; }.donut { width:130px; height:130px; }.entity-form { border-radius:16px; }.form-section { grid-template-columns:1fr; gap:22px; }.form-fields { grid-template-columns:1fr; }.form-fields .form-wide { grid-column:auto; }.capability-grid,.product-picker { grid-template-columns:1fr; }.client-form-grid { grid-template-columns:1fr; }
}
@media (max-width: 580px) {
    .container { width:min(100% - 28px,1180px); }.header-inner { min-height:68px; }.brand img { width:155px; }.button-small { min-height:40px; padding:0 15px; }
    .hero { padding:42px 0 50px; }.hero h1 { font-size:45px; }.hero-lead { font-size:17px; }.hero-actions { align-items:stretch; flex-direction:column; }.hero-actions .button { width:100%; }.text-link { text-align:center; }
    .hero-art { min-height:425px; }.orbit-one { width:360px; height:360px; }.orbit-two { width:270px; height:270px; }.certificate-card { min-height:350px; padding:25px; border-radius:27px; }.road-line { top:137px; }.car { top:153px; transform:translateX(-50%) rotate(-2deg) scale(.8); }.certificate-title { left:25px; bottom:48px; font-size:27px; }.certificate-meta { right:25px; bottom:51px; }.floating-note { display:none; }
    .section h2 { font-size:40px; }.service-grid { grid-template-columns:1fr; }.service-card { min-height:155px; }.service-card h3 { margin-top:25px; }
    .condition-list article { grid-template-columns:37px 1fr; gap:12px; }.buy-card { padding:28px 22px; border-radius:25px; }.buy-offer { padding:23px; }.footer-inner { align-items:start; flex-direction:column; gap:13px; }.footer-inner span { margin-left:0; }
    .modal { padding:0; align-items:end; }.modal-panel { max-height:94vh; padding:32px 20px 25px; border-radius:25px 25px 0 0; }.modal-panel h2 { font-size:30px; }.order-form { grid-template-columns:1fr; }.form-wide { grid-column:auto; }
    .flow-page { padding:30px 14px; }.flow-card { padding:29px 20px; border-radius:23px; }.flow-card h1 { font-size:36px; }.order-summary > div { gap:10px; }.payment-actions details div { flex-direction:column; }
    .admin-topbar { padding:0 16px; }.admin-topbar > div { display:none; }.admin-content { padding:20px 14px; }.admin-heading h1 { font-size:36px; }.metric-grid { grid-template-columns:1fr; }.bar-chart { gap:3px; }.bar-column small { display:none; }.status-visual { grid-template-columns:1fr; justify-items:center; }.status-legend { width:100%; }.admin-table-card { border-radius:16px; }.admin-table th,.admin-table td { padding:12px; }
    .form-section { padding:23px 18px; }.form-submit { align-items:stretch; flex-direction:column-reverse; padding:20px 18px; }.form-submit .button { width:100%; }.form-submit > a { text-align:center; }
    .login-brand { min-height:300px; padding:28px 20px; }.login-brand > a img { width:170px; }.login-brand h1 { font-size:39px; }.login-brand p { font-size:15px; }.login-panel { min-height:510px; padding:40px 20px; }.login-form h2 { font-size:34px; }
}
