:root {
  --navy: #0d1726;
  --navy-soft: #17263c;
  --blue: #204264;
  --ink: #1b2735;
  --muted: #667383;
  --paper: #f8f6f1;
  --paper-2: #f0ede5;
  --white: #fffefb;
  --gold: #b58b50;
  --gold-light: #e8d3ad;
  --line: #ded9cf;
  --success: #1b715f;
  --danger: #a3403a;
  --shadow: 0 22px 60px rgba(13, 23, 38, .12);
  --soft-shadow: 0 12px 30px rgba(13, 23, 38, .07);
  --serif: "Iowan Old Style", Baskerville, "Libre Baskerville", Georgia, serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --radius: 18px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.58; }
button, input, select, textarea { font: inherit; }
button, a, label { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
img { max-width: 100%; }
.shell { width: min(1160px, calc(100% - 48px)); margin: 0 auto; }
.site-main { min-height: 55vh; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 30; top: -60px; left: 20px; padding: 10px 14px; background: var(--gold); color: var(--navy); border-radius: 8px; text-decoration: none; font-weight: 800; }
.skip-link:focus { top: 14px; }
.eyebrow { margin: 0 0 13px; color: var(--gold); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow--dark { color: var(--blue); }
.section-heading { max-width: 670px; }
.section-heading h1, .section-heading h2, .section-heading h3, .hero h1, .editorial-quote { margin: 0; font-family: var(--serif); font-weight: 500; letter-spacing: -.04em; }
.section-heading h2 { color: var(--navy); font-size: clamp(34px, 4vw, 50px); line-height: 1.08; }
.section-heading p:not(.eyebrow) { margin: 18px 0 0; color: var(--muted); font-size: 17px; }
.section-space { padding: 100px 0; }
.section-space--short { padding: 70px 0; }
.paper-band { background: var(--paper-2); }
.text-link { color: var(--blue); font-size: 14px; font-weight: 750; text-decoration: none; }
.text-link:hover { color: var(--gold); }

.site-header { position: sticky; z-index: 20; top: 0; border-bottom: 1px solid rgba(13, 23, 38, .08); background: rgba(248, 246, 241, .91); backdrop-filter: blur(16px); }
.nav-shell { display: flex; min-height: 77px; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 11px; color: var(--navy); text-decoration: none; line-height: 1; }
.brand-mark { display: block; flex: 0 0 35px; width: 35px; height: 35px; border: 0; border-radius: 8px; object-fit: cover; }
.brand-copy strong { display: block; font: 600 20px/1 var(--serif); letter-spacing: .01em; }
.brand-copy small { display: block; margin-top: 4px; color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; }
.site-nav { display: flex; align-items: center; gap: 24px; }
.site-nav > a, .nav-services > summary { color: #435064; font-size: 14px; font-weight: 700; text-decoration: none; }
.site-nav > a:hover, .site-nav > a.is-active, .nav-services:hover > summary, .nav-services.is-active > summary { color: var(--navy); }
.nav-services { position: relative; }
.nav-services > summary { display: flex; align-items: center; gap: 7px; cursor: pointer; list-style: none; }
.nav-services > summary::-webkit-details-marker { display: none; }
.nav-services > summary span { display: inline-grid; width: 15px; height: 15px; place-items: center; color: #708095; font-size: 17px; font-weight: 400; line-height: 1; transition: transform .18s ease, color .18s ease; }
.nav-services[open] > summary span { color: var(--navy); transform: rotate(45deg); }
.nav-services__menu { position: absolute; z-index: 30; top: calc(100% + 15px); right: -12px; display: grid; min-width: 195px; padding: 9px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); box-shadow: var(--shadow); }
.nav-services__menu a { padding: 10px 11px; border-radius: 7px; color: #435064; font-size: 13px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.nav-services__menu a:hover, .nav-services__menu a.is-active { background: #edf2f1; color: var(--navy); }
.site-nav .nav-quiet { padding: 0; border: 0; background: transparent; color: var(--muted); cursor: pointer; font-size: 13px; font-weight: 700; }
.nav-logout { margin: 0; }
.site-nav .nav-login-button, .site-nav .nav-button { padding: 10px 14px; border-radius: 8px; font-size: 13px; font-weight: 800; text-decoration: none; }
.site-nav .nav-login-button { background: var(--navy); color: var(--white); }
.site-nav .nav-login-button:hover, .site-nav .nav-login-button.is-active { background: var(--blue); color: var(--white); }
.site-nav .nav-button { border: 1px solid var(--line); background: transparent; color: var(--navy); }
.site-nav .nav-button:hover { border-color: var(--gold); color: var(--blue); }
.menu-toggle { display: none; width: 42px; height: 42px; padding: 10px; border: 1px solid var(--line); border-radius: 9px; background: var(--white); }
.menu-toggle i { display: block; width: 20px; height: 1.5px; margin: 5px auto; background: var(--navy); }

.flash-wrap { padding: 42px 0 52px; margin: 0 auto; }
.flash-wrap[hidden] { display: none !important; }
.flash { max-width: 1040px; margin: 0 auto; padding: 15px 18px; border-radius: 11px; border: 1px solid var(--line); background: var(--white); color: var(--ink); font-size: 14px; line-height: 1.55; box-shadow: 0 8px 20px rgba(13, 23, 38, .04); }
.flash--success { border-color: #b7d9d0; background: #eef8f5; color: #155b4d; }
.flash--error { border-color: #edc4bd; background: #fff4f2; color: #863d36; }
.flash--info { border-color: #cad7e2; background: #f1f6fb; color: #214768; }

.hero { position: relative; overflow: hidden; background: var(--navy); color: var(--white); }
.hero::after { content: ""; position: absolute; right: -230px; top: -290px; width: 720px; height: 720px; border: 1px solid rgba(229, 205, 161, .25); border-radius: 50%; box-shadow: 0 0 0 70px rgba(229, 205, 161, .03), 0 0 0 140px rgba(229, 205, 161, .025); }
.hero-shell { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(330px, .72fr); gap: 76px; align-items: center; min-height: 560px; padding: 94px 0 90px; }
.hero .eyebrow { color: var(--gold-light); }
.hero h1 { max-width: 760px; font-size: clamp(45px, 5.35vw, 70px); line-height: 1.04; }
.hero h1 em { color: var(--gold-light); font-weight: 400; }
.hero-lead { max-width: 660px; margin: 24px 0 30px; color: #d2d9e0; font-size: 18px; line-height: 1.68; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.button { display: inline-flex; min-height: 47px; align-items: center; justify-content: center; gap: 10px; padding: 12px 17px; border: 1px solid transparent; border-radius: 9px; cursor: pointer; font-size: 14px; font-weight: 800; text-align: center; text-decoration: none; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.button:hover { transform: translateY(-1px); box-shadow: 0 8px 22px rgba(13, 23, 38, .16); }
.button--gold { background: var(--gold-light); color: #202a36; }
.button--gold:hover { background: #f3dfbb; }
.button--outline-light { border-color: rgba(255, 255, 255, .34); background: transparent; color: var(--white); }
.button--outline-light:hover { background: rgba(255, 255, 255, .09); }
.button--navy { background: var(--navy); color: var(--white); }
.button--navy:hover { background: var(--blue); }
.button--outline { border-color: var(--line); background: var(--white); color: var(--navy); }
.button--outline:hover { border-color: var(--gold); color: var(--blue); }
.button--small { min-height: 38px; padding: 8px 12px; font-size: 12px; }
.hero-cue { display: flex; align-items: center; gap: 10px; margin-top: 31px; color: #aeb9c5; font-size: 12px; }
.hero-cue b { color: var(--gold-light); }

.proof-stack { position: relative; width: min(100%, 365px); justify-self: end; }
.proof-stack::after { content: ""; position: absolute; z-index: -1; inset: 15px -14px -16px 14px; border: 1px solid rgba(232, 211, 173, .53); border-radius: 19px; transform: rotate(-5deg); }
.proof-card { padding: 24px; border: 1px solid rgba(181, 139, 80, .55); border-radius: 18px; background: linear-gradient(145deg, #fffefb, #e9e5db); color: var(--ink); box-shadow: var(--shadow); transform: rotate(2.2deg); }
.proof-card-top { display: flex; align-items: center; justify-content: space-between; padding-bottom: 16px; border-bottom: 1px solid #ddd7cc; color: var(--navy); font-size: 11px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.proof-card-top span:last-child { color: var(--gold); font: 23px var(--serif); }
.proof-lines { display: grid; gap: 8px; margin: 19px 0; }
.proof-lines i { display: block; height: 8px; border-radius: 10px; background: #ddd8ce; }
.proof-lines i:nth-child(1) { width: 76%; }.proof-lines i:nth-child(2) { width: 100%; }.proof-lines i:nth-child(3) { width: 61%; }
.proof-note { display: grid; grid-template-columns: 1fr auto; gap: 13px; margin-top: 11px; padding: 11px 12px; border-left: 3px solid var(--gold); border-radius: 5px 8px 8px 5px; background: #f2eadc; }
.proof-note--blue { border-left-color: #326383; background: #e4eef3; }
.proof-note b { font-size: 12px; }.proof-note span { color: var(--muted); font-size: 11px; text-align: right; }
.proof-card-foot { margin: 18px 0 0; color: var(--muted); font: italic 14px var(--serif); }

.trust-row { display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; margin-top: -1px; border: 1px solid var(--line); border-radius: 0 0 16px 16px; background: var(--line); box-shadow: var(--soft-shadow); }
.trust-row div { min-height: 138px; padding: 27px 30px; background: var(--white); }
.trust-row b { display: block; color: var(--navy); font: 24px var(--serif); }
.trust-row p { margin: 7px 0 0; color: var(--muted); font-size: 13px; }

.layers-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 46px; }
.layer-card { min-height: 260px; padding: 27px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); box-shadow: 0 7px 18px rgba(13, 23, 38, .035); }
.layer-number { color: var(--gold); font: 18px var(--serif); }
.layer-card h3 { margin: 19px 0 10px; color: var(--navy); font: 28px/1.1 var(--serif); letter-spacing: -.02em; }
.layer-card p { margin: 0; color: var(--muted); font-size: 14px; }
.layer-card ul { display: grid; gap: 6px; margin: 16px 0 0; padding: 0; list-style: none; color: #445465; font-size: 13px; }
.layer-card li::before { content: "—"; margin-right: 7px; color: var(--gold); }

.method-section { color: var(--white); background: var(--navy); }
.method-layout { display: grid; grid-template-columns: .78fr 1.22fr; gap: 100px; }
.method-section .section-heading h2 { color: var(--white); }
.method-section .section-heading p:not(.eyebrow) { color: #bdc8d4; }
.process-list { display: grid; gap: 1px; overflow: hidden; border: 1px solid rgba(255,255,255,.16); border-radius: 15px; background: rgba(255,255,255,.13); }
.process-step { display: grid; grid-template-columns: 45px 1fr; gap: 15px; padding: 22px 23px; background: rgba(255,255,255,.035); }
.process-step span { color: var(--gold-light); font: 22px var(--serif); }
.process-step h3 { margin: 0; font: 21px var(--serif); }
.process-step p { margin: 4px 0 0; color: #c0cbd7; font-size: 13px; }

.deliverable-panel { display: grid; grid-template-columns: .8fr 1.2fr; gap: 50px; align-items: center; padding: 41px; border: 1px solid var(--line); border-radius: 20px; background: var(--white); box-shadow: var(--soft-shadow); }
.deliverable-panel h2 { margin: 0; color: var(--navy); font: 40px/1.08 var(--serif); letter-spacing: -.03em; }
.deliverable-panel p { color: var(--muted); }
.deliverable-list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 0; list-style: none; }
.deliverable-list li { display: flex; align-items: center; gap: 10px; padding: 13px; border: 1px solid #e4dfd6; border-radius: 10px; color: #3b4a5a; background: #fffefa; font-size: 13px; font-weight: 650; }
.file-chip { display: grid; flex: 0 0 36px; width: 36px; height: 36px; place-items: center; border-radius: 8px; background: #e8eef1; color: var(--blue); font-size: 9px; font-weight: 900; }

.safeguard-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 19px; margin-top: 42px; }
.safeguard { padding: 3px 0; }
.safeguard b { display: block; margin-bottom: 8px; color: var(--navy); font: 22px var(--serif); }
.safeguard p { margin: 0; color: var(--muted); font-size: 13px; }

.plans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 43px; align-items: stretch; }
.plan-card { position: relative; display: flex; flex-direction: column; padding: 27px; border: 1px solid var(--line); border-radius: 18px; background: var(--white); }
.plan-card.is-featured { border-color: var(--gold); box-shadow: 0 18px 45px rgba(132, 98, 53, .13); transform: translateY(-8px); }
.plan-flag { position: absolute; top: -12px; left: 22px; padding: 5px 10px; border-radius: 100px; background: var(--gold); color: var(--navy); font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.plan-card h3 { margin: 0; color: var(--navy); font: 27px var(--serif); }
.plan-card > p { min-height: 68px; margin: 11px 0 19px; color: var(--muted); font-size: 13px; }
.plan-price { color: var(--navy); font: 44px/1 var(--serif); letter-spacing: -.04em; }
.plan-price small { color: var(--muted); font: 12px var(--sans); letter-spacing: 0; }
.plan-delivery { min-height: 20px; margin-top: 7px; color: var(--success); font-size: 11px; font-weight: 800; }
.plan-card ul { display: grid; flex: 1; gap: 9px; margin: 24px 0; padding: 0; list-style: none; color: #4c5966; font-size: 12px; }
.plan-card li { position: relative; padding-left: 17px; }
.plan-card li::before { content: "✓"; position: absolute; left: 0; color: var(--success); font-weight: 900; }
.plan-card .button { width: 100%; }
.plans-note { margin: 22px 0 0; color: var(--muted); font-size: 12px; text-align: center; }
.pricing-table-wrap { margin-top: 28px; }.pricing-table td:not(:first-child), .pricing-table th:not(:first-child) { text-align: center; white-space: nowrap; }.pricing-table td:first-child { font-weight: 700; color: var(--navy); }

.deadline-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 60px; align-items: center; }
.deadline-card { padding: 31px; border-radius: 17px; background: var(--navy); color: var(--white); }
.deadline-card h3 { margin: 0; color: var(--gold-light); font: 32px var(--serif); }
.deadline-card p { color: #c4cfd9; font-size: 14px; }
.deadline-card ul { display: grid; gap: 10px; margin: 20px 0 0; padding: 0; list-style: none; color: #e4e8eb; font-size: 13px; }
.deadline-card li { display: flex; gap: 10px; }.deadline-card li::before { content: "•"; color: var(--gold-light); }

.faq-list { display: grid; gap: 9px; margin-top: 38px; }
.faq-list details { padding: 0 20px; border: 1px solid var(--line); border-radius: 11px; background: var(--white); }
.faq-list summary { display: flex; min-height: 62px; align-items: center; cursor: pointer; color: var(--navy); font: 19px var(--serif); list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; margin-left: auto; color: var(--gold); font: 28px var(--serif); }
.faq-list details[open] summary::after { content: "–"; }
.faq-list p { max-width: 800px; margin: -4px 0 19px; color: var(--muted); font-size: 14px; }

.page-hero { padding: 82px 0 68px; border-bottom: 1px solid var(--line); background: linear-gradient(120deg, #f3eee4, #f8f6f1 58%, #e8eff2); }
.page-hero .section-heading h1 { color: var(--navy); font-size: clamp(43px, 5vw, 63px); line-height: 1.06; }
.page-hero .section-heading > p:not(.eyebrow) { max-width: 700px; }
.crumb { margin-bottom: 19px; color: var(--muted); font-size: 12px; }.crumb a { color: var(--blue); text-decoration: none; }
.editorial-quote { max-width: 850px; margin: 44px auto 0; padding-left: 28px; border-left: 3px solid var(--gold); color: var(--navy); font-size: clamp(26px, 3.2vw, 38px); line-height: 1.25; }
.comparison { overflow: hidden; margin-top: 43px; border: 1px solid var(--line); border-radius: 16px; background: var(--white); }
.comparison-row { display: grid; grid-template-columns: .8fr 1.2fr 1.2fr; border-top: 1px solid var(--line); }
.comparison-row:first-child { border-top: 0; }
.comparison-row > div { padding: 16px 19px; color: var(--muted); font-size: 13px; }
.comparison-row > div:first-child { color: var(--navy); font-weight: 800; background: #f5f2eb; }
.comparison-row--head > div { color: var(--navy); font-weight: 800; background: #ede9df; }

.auth-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 0; width: min(940px, calc(100% - 40px)); min-height: 570px; margin: 58px auto; overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: var(--white); box-shadow: var(--shadow); }
.auth-side { display: flex; flex-direction: column; justify-content: space-between; padding: 43px; background: var(--navy); color: var(--white); }
.auth-side h1 { max-width: 340px; margin: 0; font: 42px/1.08 var(--serif); letter-spacing: -.035em; }
.auth-side p { max-width: 330px; color: #c3ccd6; font-size: 14px; }
.auth-side ul { display: grid; gap: 9px; padding: 0; list-style: none; color: #dce3e9; font-size: 13px; }.auth-side li::before { content: "✓"; margin-right: 8px; color: var(--gold-light); }
.auth-form { padding: 43px; }
.auth-form h2 { margin: 0; color: var(--navy); font: 34px var(--serif); }
.auth-form > p { margin-top: 8px; color: var(--muted); font-size: 14px; }
.field-grid { display: grid; gap: 16px; margin-top: 29px; }
.field-grid--two { grid-template-columns: 1fr 1fr; }
.field { display: grid; gap: 7px; }
.field label, .field > span { color: #39495a; font-size: 12px; font-weight: 800; }
.field input, .field textarea, .field select { width: 100%; padding: 12px 13px; border: 1px solid #d4d9dc; border-radius: 8px; outline: 0; background: #fffefa; color: var(--ink); }
.field textarea { min-height: 82px; resize: vertical; }
.field input:focus, .field textarea:focus, .field select:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(32, 66, 100, .1); }
.form-help { margin: 17px 0 0; color: var(--muted); font-size: 12px; }
.form-error { margin: 18px 0 0; padding: 10px 12px; border: 1px solid #e7bab4; border-radius: 8px; background: #fff4f2; color: #913c35; font-size: 13px; }
.form-actions { display: flex; gap: 10px; align-items: center; margin-top: 25px; }
.form-actions .button { min-width: 150px; }
.contact-section { padding: 70px 20px 96px; background: #f8f6f1; }.contact-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: 38px; width: min(1080px, 100%); margin: 0 auto; align-items: start; }.contact-aside { padding: 26px 8px; }.contact-aside h2 { margin: 11px 0; color: var(--navy); font: 38px/1.1 var(--serif); }.contact-aside p { color: var(--muted); line-height: 1.65; }.contact-note { padding: 15px; border-left: 3px solid var(--gold); background: #f2eadc; font-size: 13px; }.contact-card { padding: 31px; border: 1px solid var(--line); border-radius: 17px; background: var(--white); box-shadow: var(--soft-shadow); }.contact-card form { display: grid; gap: 17px; }.contact-card .field-grid { margin-top: 0; }.contact-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }.consent { color: var(--muted); font-size: 12px; }.consent a { color: var(--blue); }

.checkout-layout { display: grid; grid-template-columns: 1.1fr .9fr; gap: 29px; align-items: start; padding: 55px 0 94px; }
.checkout-title { padding: 62px 0 0; }.checkout-title h1 { margin: 0; color: var(--navy); font: 48px/1.07 var(--serif); letter-spacing: -.04em; }.checkout-title p { max-width: 650px; color: var(--muted); }
.checkout-card, .summary-card, .dashboard-card, .invoice-card { border: 1px solid var(--line); border-radius: 16px; background: var(--white); box-shadow: 0 6px 18px rgba(13, 23, 38, .035); }
.checkout-card { padding: 27px; }
.checkout-card h2 { margin: 0; color: var(--navy); font: 29px var(--serif); }
.summary-card { position: sticky; top: 100px; padding: 26px; }
.summary-card h2 { margin: 0; color: var(--navy); font: 27px var(--serif); }
.summary-plan { padding: 19px 0; border-bottom: 1px solid var(--line); }
.summary-plan b { display: block; color: var(--navy); font: 21px var(--serif); }.summary-plan p { margin: 5px 0 0; color: var(--muted); font-size: 12px; }
.total-lines { display: grid; gap: 8px; margin-top: 18px; color: var(--muted); font-size: 13px; }
.total-lines div { display: flex; justify-content: space-between; gap: 15px; }.total-lines .total { padding-top: 13px; border-top: 1px solid var(--line); color: var(--navy); font-size: 17px; font-weight: 850; }
.checkout-note { margin: 18px 0 0; color: var(--muted); font-size: 11px; }
.checkout-consents { display:grid; gap:10px; margin-top:22px; padding:16px; border:1px solid #e1dbcf; border-radius:10px; background:#faf8f3; color:#536170; font-size:12px; line-height:1.5; }.checkout-consents label { display:flex; gap:8px; align-items:flex-start; }.checkout-consents input { margin-top:3px; }.checkout-consents a { color:var(--blue); }
.checkout-payment { margin-top: 30px; padding: 22px; border: 1px solid #dac8ad; border-radius: 14px; background: linear-gradient(135deg, #fffdf8, #f6efe4); box-shadow: inset 0 1px 0 rgba(255,255,255,.82); }
.checkout-payment__heading { display: flex; gap: 12px; align-items: center; }.checkout-payment__step { display: grid; flex: 0 0 31px; width: 31px; height: 31px; place-items: center; border-radius: 50%; background: var(--navy); color: var(--gold-light); font: 18px var(--serif); }.checkout-payment__heading p { margin: 0; color: var(--gold); font-size: 10px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }.checkout-payment__heading h3 { margin: 2px 0 0; color: var(--navy); font: 23px var(--serif); }.checkout-payment > p { margin: 14px 0 0; color: #586777; font-size: 12px; line-height: 1.55; }
.paypal-box { min-height: 55px; margin-top: 20px; padding: 14px; border: 1px solid rgba(13,23,38,.1); border-radius: 10px; background: #fffefb; box-shadow: 0 6px 16px rgba(13,23,38,.05); }.paypal-box > div { max-width: none !important; }.paypal-setup { padding: 13px; border: 1px dashed #d4b576; border-radius: 9px; background: #fff9ec; color: #76551d; font-size: 13px; }

.dashboard-hero { padding: 61px 0 31px; background: linear-gradient(120deg, #eef0ed, #f8f6f1); border-bottom: 1px solid var(--line); }
.dashboard-hero h1 { margin: 0; color: var(--navy); font: 46px/1.07 var(--serif); letter-spacing: -.04em; }.dashboard-hero p { margin: 12px 0 0; color: var(--muted); }
.dashboard-layout { padding: 36px 0 96px; }
.dashboard-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 20px; }
.dashboard-toolbar h2 { margin: 0; color: var(--navy); font: 31px var(--serif); }
.dashboard-toolbar .project-actions { margin-top: 0; }
.project-list { display: grid; gap: 16px; }
.dashboard-card { overflow: hidden; }
.project-main { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 25px; padding: 25px; }
.project-kicker { margin: 0; color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.project-title { margin: 7px 0 5px; color: var(--navy); font: 29px/1.1 var(--serif); letter-spacing: -.025em; }
.project-meta { display: flex; flex-wrap: wrap; gap: 6px 15px; color: var(--muted); font-size: 12px; }
.status-badge { display: inline-flex; align-items: center; width: max-content; min-height: 27px; padding: 5px 9px; border-radius: 100px; font-size: 11px; font-weight: 850; white-space: nowrap; }
.status-badge--pending { background: #f3ecdd; color: #806325; }.status-badge--paid { background: #e2f0ec; color: #196651; }.status-badge--progress { background: #e5edf5; color: #265a82; }.status-badge--done { background: #dff2ed; color: #176352; }.status-badge--warning { background: #fff0ee; color: #963f38; }
.project-payment { display: grid; justify-items: end; gap: 7px; min-width: 180px; color: var(--muted); font-size: 12px; text-align: right; }
.project-payment b { color: var(--navy); font-size: 19px; }
.project-panel { padding: 21px 25px; border-top: 1px solid var(--line); background: #faf9f5; }
.project-panel h3 { margin: 0; color: var(--navy); font: 22px var(--serif); }.project-panel p { margin: 6px 0 0; color: var(--muted); font-size: 13px; }
.project-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 17px; }
.upload-inline { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: end; margin-top: 17px; }
.upload-inline .field { margin: 0; }.upload-inline .button { min-height: 44px; }
.files-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-top: 17px; }
.file-download { display: grid; gap: 7px; min-height: 105px; padding: 13px; border: 1px solid #ddd8ce; border-radius: 10px; background: var(--white); color: var(--ink); text-decoration: none; transition: .18s ease; }
.file-download:hover { border-color: var(--gold); box-shadow: 0 8px 16px rgba(13, 23, 38, .07); transform: translateY(-1px); }
.file-download b { color: var(--navy); font-size: 12px; line-height: 1.25; }.file-download span:last-child { color: var(--muted); font-size: 10px; }
.retention-note { margin-top: 14px !important; font-size: 11px !important; }
.empty-state { padding: 58px 30px; border: 1px dashed #cfc9bf; border-radius: 17px; background: #fffefa; text-align: center; }.empty-state h2 { margin: 0; color: var(--navy); font: 31px var(--serif); }.empty-state p { color: var(--muted); }

.invoice-wrap { width: min(940px, calc(100% - 40px)); margin: 55px auto 90px; }.invoice-actions { display: flex; justify-content: space-between; gap: 15px; margin-bottom: 17px; }.invoice-print-button { background: var(--navy); color: var(--white); }.invoice-print-button span { transform: rotate(-90deg); font-size: 19px; line-height: 0; }
.invoice-card { overflow: hidden; padding: 0; border-radius: 20px; background: #fffdf8; box-shadow: 0 20px 46px rgba(13,23,38,.1); }.invoice-top { display: flex; justify-content: space-between; gap: 30px; padding: 32px 43px 27px; background: #fffdf8; border-bottom: 1px solid #dfcfae; }.invoice-brand { background: #fffdf8; }.invoice-brand img { display: block; width: min(390px, 100%); height: auto; }.invoice-brand p { margin: 9px 0 0; color: var(--muted); font-size: 12px; }.invoice-number { flex: 0 0 270px; min-width: 270px; padding-left: 26px; border-left: 1px solid #ddcfb7; text-align: right; }.invoice-number b { display: block; margin-top: 7px; color: var(--navy); font: 700 17px/1.25 var(--sans); letter-spacing: .02em; white-space: nowrap; }.invoice-number span { display: block; color: var(--muted); font-size: 12px; }.invoice-number .invoice-kind { color: #76613e; font-size: 10px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }.invoice-title-row { display: flex; justify-content: space-between; gap: 25px; align-items: end; padding: 32px 43px 19px; }.invoice-title-row .eyebrow { margin-bottom: 6px; }.invoice-title-row h1 { margin: 0; color: var(--navy); font: 40px/1 var(--serif); }.invoice-date { color: var(--muted); font-size: 12px; text-align: right; }.invoice-date strong { color: var(--blue); font-weight: 750; }
.invoice-addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding: 18px 43px 25px; }.invoice-addresses > div { min-height: 0; padding: 16px 18px; border: 1px solid #e2ddd4; border-radius: 12px; background: #fff; }.invoice-addresses h2 { margin: 0 0 8px; color: var(--gold); font-size: 10px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }.invoice-addresses p { margin: 0; color: #3f4b58; font-size: 13px; line-height: 1.48; white-space: pre-line; }.invoice-table { width: calc(100% - 86px); margin: 0 43px; border-collapse: separate; border-spacing: 0; overflow: hidden; border: 1px solid #e2ddd4; border-radius: 12px; }.invoice-table th { padding: 12px 17px; background: #f1ece3; color: #52606f; font-size: 10px; font-weight: 900; letter-spacing: .09em; text-align: left; text-transform: uppercase; }.invoice-table th:last-child, .invoice-table td:last-child { text-align: right; }.invoice-table td { padding: 18px 17px; color: #3d4a56; font-size: 14px; }.invoice-table td b, .invoice-table td span { display: block; }.invoice-table td b { color: var(--navy); }.invoice-table td span { margin-top: 3px; color: var(--muted); font-size: 12px; }.invoice-totals { width: min(330px, calc(100% - 86px)); margin: 25px 43px 0 auto; }.invoice-totals div { display: flex; justify-content: space-between; gap: 15px; padding: 5px 0; color: var(--muted); font-size: 13px; }.invoice-totals .invoice-total { margin-top: 8px; padding: 14px 15px; border: 0; border-radius: 9px; background: var(--navy); color: var(--white); font-size: 18px; font-weight: 850; }.payment-confirmation { margin: 34px 43px 43px; padding: 17px 19px; border: 1px solid #bddbcf; border-radius: 11px; background: #eff8f3; color: #1d5e50; font-size: 13px; }.payment-confirmation b { display: block; margin-bottom: 4px; }

.legal { width: min(850px, calc(100% - 40px)); margin: 62px auto 95px; }.legal h1 { margin: 0; color: var(--navy); font: 47px var(--serif); }.legal h2 { margin: 37px 0 9px; color: var(--navy); font: 28px var(--serif); }.legal p, .legal li { color: var(--muted); font-size: 14px; line-height: 1.72; }.legal ul { display: grid; gap: 6px; }.legal code { padding: 2px 5px; border-radius: 4px; background: #edf1ef; color: #254c52; font: 12px ui-monospace, SFMono-Regular, Menlo, monospace; }.legal-table-wrap { overflow-x: auto; margin: 22px 0 27px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); }.legal-table { width: 100%; min-width: 720px; border-collapse: collapse; }.legal-table th, .legal-table td { padding: 14px 15px; border-bottom: 1px solid #ebe7de; vertical-align: top; text-align: left; }.legal-table th { background: #f3f5f2; color: var(--navy); font-size: 11px; letter-spacing: .07em; text-transform: uppercase; }.legal-table td { color: var(--muted); font-size: 12px; line-height: 1.55; }.legal-table tbody tr:last-child td { border-bottom: 0; }
.install-wrap { width: min(940px, calc(100% - 40px)); margin: 60px auto 95px; }.install-wrap h1 { margin: 0; color: var(--navy); font: 46px var(--serif); }.install-status { margin-top: 28px; padding: 25px; border: 1px solid var(--line); border-radius: 15px; background: var(--white); }.install-status h2 { margin: 0; color: var(--navy); font: 28px var(--serif); }.install-status p { color: var(--muted); }.checklist { display: grid; gap: 11px; margin: 23px 0 0; padding: 0; list-style: none; }.checklist li { padding: 11px 13px; border-radius: 8px; background: #f6f4ee; color: #485665; font-size: 13px; }.checklist .ok { background: #edf8f4; color: #1b6352; }.checklist .not-ok { background: #fff3ef; color: #91463e; }

.site-footer { padding: 54px 0 18px; border-top: 1px solid rgba(255,255,255,.08); background: var(--navy); color: #c0cad4; }
.footer-grid { display: grid; grid-template-columns: 1.6fr .7fr .8fr; gap: 58px; }.brand--footer { color: var(--white); }.brand--footer .brand-copy small { color: #afbdca; }.site-footer p { max-width: 350px; margin: 16px 0 0; color: #abb8c4; font-size: 13px; }.site-footer h2 { margin: 4px 0 14px; color: var(--gold-light); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }.site-footer a:not(.brand) { display: block; margin: 7px 0; color: #c8d1d9; font-size: 13px; text-decoration: none; }.site-footer a:not(.brand):hover { color: var(--gold-light); }.footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 46px; padding-top: 17px; border-top: 1px solid rgba(255,255,255,.11); color: #8190a1; font-size: 11px; }
.cookie-notice { position: fixed; z-index: 40; right: 20px; bottom: 20px; left: 20px; display: flex; justify-content: center; transition: opacity .2s ease, transform .2s ease; }.cookie-notice.is-hidden { opacity: 0; transform: translateY(12px); pointer-events: none; }.cookie-notice__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; width: min(940px, 100%); padding: 17px 19px; border: 1px solid #cfd8d2; border-radius: 13px; background: rgba(255,255,255,.98); box-shadow: 0 14px 35px rgba(13,23,38,.16); }.cookie-notice p { max-width: 650px; margin: 0; color: #50606e; font-size: 12px; line-height: 1.5; }.cookie-notice strong { color: var(--navy); }.cookie-notice__actions { display: flex; flex: 0 0 auto; align-items: center; gap: 13px; }.cookie-notice__actions a { color: var(--blue); font-size: 12px; white-space: nowrap; }.back-to-top { position: fixed; z-index: 30; right: 24px; bottom: 24px; display: grid; width: 44px; height: 44px; padding: 0; border: 1px solid #d1d8dc; border-radius: 50%; place-items: center; background: var(--navy); color: var(--white); box-shadow: 0 8px 22px rgba(13,23,38,.18); cursor: pointer; opacity: 0; transform: translateY(10px); pointer-events: none; transition: .18s ease; }.back-to-top:hover { background: var(--blue); transform: translateY(-2px); }.back-to-top.is-visible { opacity: 1; transform: translateY(0); pointer-events: auto; }.back-to-top span { font-size: 21px; line-height: 1; }
.pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; margin: 30px 0 0; }.pagination__link { display: inline-flex; min-width: 38px; min-height: 38px; align-items: center; justify-content: center; padding: 0 11px; border: 1px solid var(--line); border-radius: 8px; background: var(--white); color: var(--navy); font-size: 13px; font-weight: 750; text-decoration: none; }.pagination__link:hover, .pagination__link.is-current { border-color: var(--navy); background: var(--navy); color: var(--white); }

@media print {
  .site-header, .site-footer, .skip-link, .invoice-actions { display: none !important; }
  body { background: #fff; }.invoice-wrap { width: 100%; margin: 0; }.invoice-card { border: 0; box-shadow: none; }
}
@media (max-width: 980px) {
  .hero-shell, .deadline-grid, .deliverable-panel, .method-layout, .checkout-layout { grid-template-columns: 1fr; }
  .hero-shell { gap: 55px; }.proof-stack { justify-self: start; margin-left: 23px; }.method-layout { gap: 45px; }.deliverable-panel { gap: 27px; }.summary-card { position: static; }.files-grid { grid-template-columns: repeat(3, 1fr); }.safeguard-grid { grid-template-columns: 1fr 1fr; }.auth-layout { grid-template-columns: 1fr; }.auth-side { min-height: 280px; }.contact-grid { grid-template-columns: 1fr; }.footer-grid { grid-template-columns: 1.4fr 1fr 1fr; gap: 28px; }
}
@media (max-width: 760px) {
  .shell { width: min(100% - 30px, 1160px); }.nav-shell { min-height: 67px; }.menu-toggle { display: block; }.site-nav { position: absolute; top: 67px; right: 15px; left: 15px; display: none; align-items: stretch; gap: 0; padding: 9px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); box-shadow: var(--shadow); }.site-nav.is-open { display: grid; }.site-nav > a, .site-nav .nav-quiet, .nav-services > summary { display: block; width: 100%; padding: 11px; border-radius: 7px; text-align: left; }.nav-services > summary span { float: right; }.nav-services__menu { position: static; min-width: 0; margin: 0 0 5px; padding: 3px 0 3px 11px; border: 0; border-left: 1px solid var(--line); border-radius: 0; box-shadow: none; }.site-nav .nav-button, .site-nav .nav-login-button { margin: 5px 0; text-align: center; }.hero-shell { min-height: 0; padding: 66px 0 73px; }.hero h1 { font-size: 45px; }.hero-lead { font-size: 16px; }.trust-row, .layers-grid, .plans-grid { grid-template-columns: 1fr; }.trust-row { margin-top: 0; border-radius: 15px; }.trust-row div { min-height: 0; }.plan-card.is-featured { transform: none; }.deliverable-list, .field-grid--two, .invoice-addresses { grid-template-columns: 1fr; }.safeguard-grid { grid-template-columns: 1fr; }.section-space { padding: 70px 0; }.comparison { overflow-x: auto; }.comparison-row { min-width: 660px; }.project-main { grid-template-columns: 1fr; }.project-payment { justify-items: start; text-align: left; }.upload-inline { grid-template-columns: 1fr; }.files-grid { grid-template-columns: 1fr 1fr; }.invoice-card { padding: 0; }.invoice-top { display: block; padding: 25px; }.invoice-brand img { width: min(340px, 100%); }.invoice-number { margin-top: 18px; padding: 16px 0 0; border-top: 1px solid #ddcfb7; border-left: 0; text-align: left; }.invoice-title-row { display: block; padding: 25px 25px 14px; }.invoice-date { display: block; margin-top: 13px; text-align: left; }.invoice-addresses { gap: 14px; padding: 16px 25px 25px; }.invoice-addresses > div { min-height: 0; }.invoice-table { width: calc(100% - 50px); margin: 0 25px; }.invoice-totals { width: calc(100% - 50px); margin: 22px 25px 0 auto; }.payment-confirmation { margin: 28px 25px 25px; }.checkout-payment { padding: 18px; }.footer-grid { grid-template-columns: 1fr; gap: 24px; }.footer-bottom { display: block; margin-top: 27px; }.footer-bottom span + span { display: block; margin-top: 6px; }
}
@media (max-width: 480px) {
  .hero h1 { font-size: 39px; }.proof-stack { width: calc(100% - 23px); }.proof-card { padding: 19px; }.section-heading h2 { font-size: 34px; }.deliverable-panel { padding: 25px; }.deliverable-panel h2 { font-size: 33px; }.checkout-title h1, .dashboard-hero h1 { font-size: 39px; }.auth-form, .auth-side { padding: 28px; }.auth-side h1 { font-size: 35px; }.files-grid { grid-template-columns: 1fr; }.form-actions { display: block; }.form-actions .button { width: 100%; }.form-actions .text-link { display: inline-block; margin-top: 14px; }.cookie-notice { right: 10px; bottom: 10px; left: 10px; }.cookie-notice__inner { display: grid; gap: 13px; padding: 15px; }.cookie-notice__actions { justify-content: space-between; }.back-to-top { right: 14px; bottom: 14px; width: 41px; height: 41px; }
}

/* Área privada de administración */
.admin-body { background: #f6f5f0; }
.admin-header { position: relative; background: #fbfaf7; }
.admin-nav { display: flex; align-items: center; justify-content: flex-end; gap: 19px; }
.admin-nav > a { color: #435064; font-size: 13px; font-weight: 750; text-decoration: none; }
.admin-nav > a:hover, .admin-nav > a.is-active { color: var(--navy); }
.admin-access-label { color: var(--muted); font-size: 12px; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.admin-flash-wrap { padding: 42px 0 52px; }
.admin-hero { padding: 57px 0 51px; border-bottom: 1px solid var(--line); background: linear-gradient(120deg, #e9efed, #f8f6f1 56%, #efe7d9); }
.admin-hero .shell { display: flex; align-items: end; justify-content: space-between; gap: 35px; }
.admin-hero h1 { max-width: 720px; margin: 0; color: var(--navy); font: 48px/1.06 var(--serif); letter-spacing: -.04em; }
.admin-hero p:not(.eyebrow) { max-width: 720px; margin: 14px 0 0; color: var(--muted); line-height: 1.65; }
.admin-identity { display: grid; min-width: 250px; gap: 5px; padding: 18px; border: 1px solid #d8dbd6; border-radius: 13px; background: rgba(255,255,255,.68); color: var(--muted); font-size: 12px; }
.admin-identity b { color: var(--navy); font-size: 15px; }.admin-identity small { color: var(--blue); }
.admin-content { padding: 42px 0 96px; }
.admin-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; }
.admin-stat, .admin-panel-card, .admin-row-editor, .admin-profile-card, .admin-login-card { border: 1px solid var(--line); border-radius: 15px; background: var(--white); box-shadow: 0 7px 20px rgba(13,23,38,.035); }
.admin-stat { display: grid; gap: 8px; min-height: 145px; padding: 22px; }
.admin-stat span { color: var(--muted); font-size: 12px; font-weight: 750; }.admin-stat b { color: var(--navy); font: 31px/1 var(--serif); letter-spacing: -.035em; }.admin-stat small { color: var(--blue); font-size: 11px; line-height: 1.4; }
.admin-two-column { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(275px, .55fr); gap: 18px; margin-top: 18px; }
.admin-panel-card { padding: 27px; }.admin-card-heading, .admin-section-title { display: flex; align-items: start; justify-content: space-between; gap: 24px; }
.admin-card-heading h2, .admin-section-title h2, .admin-profile-card h2 { margin: 0; color: var(--navy); font: 29px/1.1 var(--serif); letter-spacing: -.025em; }
.admin-card-heading > a { color: var(--blue); font-size: 12px; font-weight: 800; text-decoration: none; white-space: nowrap; }.admin-card-heading > a:hover { color: var(--gold); }
.admin-table-wrap { overflow-x: auto; margin-top: 23px; }.admin-table { width: 100%; min-width: 440px; border-collapse: collapse; }
.admin-table th { padding: 10px 12px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 10px; letter-spacing: .08em; text-align: left; text-transform: uppercase; }.admin-table td { padding: 13px 12px; border-bottom: 1px solid #eeeae2; color: #41505e; font-size: 13px; }.admin-table td:last-child, .admin-table th:last-child { text-align: right; }.admin-table td b { color: var(--navy); }
.admin-alert-card { background: linear-gradient(145deg, #fffefa, #f5f0e7); }.admin-alert-card h2 { margin: 0; color: var(--navy); font: 29px/1.1 var(--serif); }
.admin-key-values { display: grid; gap: 0; margin: 23px 0 0; }.admin-key-values div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 0; border-top: 1px solid #e4dfd6; }.admin-key-values dt { color: var(--muted); font-size: 12px; }.admin-key-values dd { margin: 0; color: var(--navy); font: 24px var(--serif); }.admin-small-note { margin: 18px 0 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.admin-section-title { margin: 0 0 21px; }.admin-section-title p:not(.eyebrow) { max-width: 520px; margin: 3px 0 0; color: var(--muted); font-size: 13px; line-height: 1.58; text-align: right; }
.admin-list { display: grid; gap: 12px; }.admin-row-editor { overflow: hidden; }.admin-row-editor > summary { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 22px; min-height: 87px; padding: 18px 22px; cursor: pointer; list-style: none; }.admin-row-editor > summary::-webkit-details-marker { display: none; }.admin-row-editor > summary::after { content: "+"; margin-left: 4px; color: var(--gold); font: 27px var(--serif); }.admin-row-editor[open] > summary::after { content: "–"; }.admin-row-editor > summary > span:first-child { min-width: 0; }.admin-row-editor > summary b { display: block; overflow: hidden; color: var(--navy); font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }.admin-row-editor > summary small { display: block; margin-top: 5px; overflow: hidden; color: var(--muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }.admin-row-total { display: grid; gap: 3px; justify-items: end; text-align: right; }.admin-row-total b { font-size: 14px !important; }.admin-editor-body { padding: 23px; border-top: 1px solid var(--line); background: #fbfaf7; }
.admin-record-meta { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-bottom: 21px; color: var(--muted); font-size: 11px; }.admin-record-meta b { color: var(--navy); }.admin-record-meta a { color: var(--blue); font-weight: 750; text-decoration: none; }.admin-record-meta a:hover { color: var(--gold); }
.admin-edit-form { display: grid; gap: 17px; }.admin-form-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }.admin-form-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }.admin-form-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }.admin-subsection { padding: 0 17px; border: 1px solid #e2ddd3; border-radius: 10px; background: var(--white); }.admin-subsection > summary { min-height: 48px; display: flex; align-items: center; color: var(--blue); cursor: pointer; font-size: 12px; font-weight: 800; }.admin-subsection .admin-form-grid { padding: 0 0 17px; }.admin-mail-link { width: max-content; margin-top: 2px; }.admin-message { padding: 16px 17px; border-left: 3px solid var(--gold); border-radius: 6px; background: #f3eee4; color: #43515f; }.admin-message b { color: var(--navy); font-size: 12px; }.admin-message p { margin: 8px 0 0; font-size: 13px; line-height: 1.6; }
.admin-message--reply { margin-top: 14px; border-left-color: #4b927d; background: #eff8f3; }.admin-reply-form { margin-top: 21px; padding-top: 22px; border-top: 1px solid var(--line); }.admin-support-notes-form { margin-top: 21px; padding-top: 22px; border-top: 1px solid var(--line); }
.admin-invoice-send { margin-bottom: 22px; }.admin-invoice-form { margin-top: 22px; }.admin-invoice-list { gap: 12px; }.admin-invoice-item { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 22px; padding: 21px 24px; }.admin-invoice-item h3 { margin: 0; color: var(--navy); font: 23px/1.15 var(--serif); }.admin-invoice-item p:not(.eyebrow) { margin: 6px 0 0; color: var(--muted); font-size: 12px; }.admin-invoice-item__meta { display: grid; justify-items: end; gap: 5px; color: var(--muted); font-size: 11px; text-align: right; }.admin-invoice-item__meta b { color: var(--navy); font-size: 15px; }.admin-invoice-item__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }.admin-invoice-item__actions form { margin: 0; }
.admin-profile-card { width: min(720px, 100%); margin: 0 auto; padding: 35px; }.admin-profile-card > p:not(.eyebrow) { max-width: 580px; color: var(--muted); font-size: 14px; line-height: 1.65; }.admin-profile-card .admin-form-grid { margin-top: 25px; }
.admin-login-shell { display: grid; min-height: calc(100vh - 158px); place-items: center; padding: 60px 20px; background: radial-gradient(circle at 90% 5%, #e5eceb 0, transparent 36%), #f6f5f0; }.admin-login-card { width: min(470px, 100%); padding: 38px; }.admin-login-card h1 { margin: 0; color: var(--navy); font: 41px/1.08 var(--serif); letter-spacing: -.035em; }.admin-login-card > p:not(.eyebrow) { margin: 13px 0 0; color: var(--muted); line-height: 1.6; }.admin-login-form { display: grid; gap: 16px; margin-top: 27px; }.admin-login-form .form-actions { margin-top: 5px; }.admin-login-note { padding-top: 18px; border-top: 1px solid var(--line); font-size: 11px !important; }
.admin-footer { padding: 23px 0; border-top: 1px solid rgba(255,255,255,.1); background: var(--navy); color: #bac5cf; }.admin-footer__inner { display: flex; justify-content: space-between; gap: 20px; font-size: 11px; }.admin-footer a { color: var(--gold-light); text-decoration: none; }
@media (max-width: 980px) { .admin-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.admin-two-column { grid-template-columns: 1fr; }.admin-hero .shell { align-items: start; flex-direction: column; }.admin-identity { min-width: min(100%, 360px); }.admin-form-grid, .admin-form-grid--three { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .admin-header .nav-shell { flex-wrap: wrap; align-items: flex-start; padding: 14px 0; }.admin-nav { width: 100%; flex-wrap: wrap; justify-content: flex-start; gap: 10px 15px; }.admin-nav > a { padding: 4px 0; font-size: 12px; }.admin-nav .button { min-height: 33px; }.admin-hero { padding: 43px 0 38px; }.admin-hero h1 { font-size: 39px; }.admin-content { padding: 28px 0 68px; }.admin-section-title { display: grid; gap: 10px; }.admin-section-title p:not(.eyebrow) { text-align: left; }.admin-row-editor > summary { grid-template-columns: minmax(0, 1fr) auto; gap: 12px; padding: 16px; }.admin-row-editor > summary .status-badge { grid-column: 1 / -1; }.admin-row-editor > summary::after { position: absolute; right: 18px; top: 26px; }.admin-row-editor { position: relative; }.admin-editor-body { padding: 17px; }.admin-form-grid, .admin-form-grid--two, .admin-form-grid--three { grid-template-columns: 1fr; }.admin-profile-card, .admin-login-card { padding: 27px; }.admin-footer__inner { display: grid; gap: 6px; }.admin-table { min-width: 380px; }.admin-invoice-item { grid-template-columns: 1fr; gap: 15px; }.admin-invoice-item__meta { justify-items: start; text-align: left; }.admin-invoice-item__actions { justify-content: flex-start; } }
@media (max-width: 480px) { .admin-stat-grid { grid-template-columns: 1fr; }.admin-stat { min-height: 115px; }.admin-login-shell { min-height: calc(100vh - 200px); padding: 35px 15px; }.admin-login-card { padding: 23px; }.admin-login-card h1 { font-size: 35px; }.admin-hero h1 { font-size: 35px; }.admin-row-total { max-width: 105px; }.admin-row-editor > summary b { max-width: 185px; } }
