/* Shared interaction and layout tokens for the public site and workspaces. */
:root { --ui-ink:#19171f; --ui-muted:#626975; --ui-line:#dedfe6; --ui-accent:#6d28d9; --ui-surface:#f6f7fa; --ui-radius:8px; }
[hidden] { display:none !important; }
.reveal { opacity:1; visibility:visible; transform:none; }
html { scroll-padding-top:100px; }
body { overflow-wrap:break-word; }
:focus-visible { outline:3px solid #8759df !important; outline-offset:4px; }
a, button, input, select, textarea { -webkit-tap-highlight-color:transparent; }
button, a { touch-action:manipulation; }
button { max-width:100%; }
input, textarea, select { min-width:0; max-width:100%; }
input:not([type=checkbox]):not([type=radio]), select, textarea { transition:border-color .18s, box-shadow .18s; }
input[type=checkbox], input[type=radio] { accent-color:var(--ui-accent); }
input[type=file] { font-size:13px; background:#fafafd; }
input::file-selector-button { padding:8px 12px; margin-right:12px; border:0; border-radius:4px; color:#3e1d71; background:#eee8fa; font:inherit; font-weight:700; cursor:pointer; }
textarea { line-height:1.6; }
.lucide { width:20px; height:20px; flex-shrink:0; vertical-align:middle; }
.ui-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; top:8px; left:16px; z-index:200; padding:10px 16px; color:#17121e; background:#ffc515; transform:translateY(-150%); }
.skip-link:focus { transform:none; }
.ui-icon-button { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:40px; height:40px; min-height:40px; padding:8px; border:1px solid var(--ui-line); border-radius:6px; background:#fff; color:var(--ui-ink); cursor:pointer; box-shadow:none; }
.ui-icon-button:hover { background:#eee9f6; border-color:#c0acd9; }
.ui-back-top { position:fixed; right:24px; bottom:92px; z-index:45; box-shadow:0 4px 16px #18121e18; }
.notice, .alert { position:relative; padding-right:58px; }
.notice > .ui-icon-button, .alert > .ui-icon-button { position:absolute; right:7px; top:7px; width:32px; height:32px; min-height:32px; background:transparent; border:0; color:inherit; }
.ui-password { position:relative; display:block; min-width:0; }
.ui-password > input { width:100%; padding-right:48px !important; }
.ui-password > .ui-icon-button { position:absolute; right:3px; top:50%; transform:translateY(-50%); border:0; background:transparent; width:36px; height:36px; min-height:36px; }
.ui-field-error { display:block; color:#b42318; font-size:12px; font-weight:500; margin-top:5px; }
input[aria-invalid=true] { border-color:#b42318 !important; }
.ui-file-preview { display:flex; align-items:center; gap:12px; margin-top:8px; padding:12px; border:1px solid var(--ui-line); background:#f8f9fc; border-radius:6px; color:var(--ui-ink); min-width:0; grid-column:1 / -1; }
.proof-upload-box > .ui-file-preview { flex-basis:100%; order:2; }
.ui-file-preview > img { width:72px; height:56px; object-fit:contain; background:white; }
.ui-file-preview > span { flex:1; min-width:0; font-size:12px; overflow-wrap:anywhere; }
.ui-file-preview .ui-icon-button { width:32px; height:32px; min-height:32px; }
.ui-pending { opacity:.7; cursor:wait !important; }
.ui-pending::after { content:''; width:14px; height:14px; flex-shrink:0; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:ui-spin .7s linear infinite; }
@keyframes ui-spin { to { transform:rotate(360deg); } }
.ui-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:24px; }
.ui-search { display:flex; align-items:center; gap:10px; flex:1 1 220px; max-width:400px; padding:0 12px; border:1px solid var(--ui-line); border-radius:6px; color:var(--ui-muted); background:white; }
.ui-search:focus-within { border-color:var(--ui-accent); box-shadow:0 0 0 3px #6d28d91a; }
.ui-search input { width:100%; height:44px; padding:10px 0; border:0; background:transparent; color:var(--ui-ink); outline:none !important; box-shadow:none !important; font-size:14px; }
.ui-toolbar select { height:44px; width:auto; padding:8px 36px 8px 12px; border:1px solid var(--ui-line); border-radius:6px; background:#fff; color:var(--ui-ink); font-size:14px; }
.ui-result-count { margin-left:auto; font-size:13px; color:var(--ui-muted); font-variant-numeric:tabular-nums; }
.ui-filter-empty { padding:30px; color:var(--ui-muted); text-align:center; background:var(--ui-surface); border:1px dashed var(--ui-line); }
.ui-tabs { display:flex; gap:6px; overflow-x:auto; margin:32px 0 18px; padding-bottom:1px; border-bottom:1px solid var(--ui-line); }
.ui-tabs button { min-height:46px; padding:10px 20px; color:var(--ui-muted); background:transparent; border:0; border-bottom:3px solid transparent; font-weight:700; cursor:pointer; }
.ui-tabs button[aria-selected=true] { color:var(--ui-accent); border-bottom-color:var(--ui-accent); }
.ui-editor-ready { grid-template-columns:minmax(0,1fr); }
.ui-editor-ready > form { max-width:960px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.ui-editor-ready > form > h2, .ui-editor-ready > form > .admin-kicker, .ui-editor-ready > form > p, .ui-editor-ready > form > .admin-field-grid, .ui-editor-ready > form > label:has(textarea), .ui-editor-ready > form > label:has(input[type=file]) { grid-column:1/-1; }
.ui-editor-ready > form > button { grid-column:1/-1; justify-self:start; min-width:170px; }
.ui-table-scroll { width:100%; overflow-x:auto; }
table { font-variant-numeric:tabular-nums; }
tbody tr { transition:background .16s; }
tbody tr:hover { background:#f7f5fc; }
.admin-table th { white-space:nowrap; }

/* Public pages. */
.corporate-site { --paper:#f6f7fa; --graphite-950:#141119; --graphite-900:#1c1725; --muted:#626975; --line:#e0dfe7; }
.corporate-header { background:#15101eed; }
.corporate-nav { gap:20px; }
.corporate-nav > a.button { color:#19111e; }
.corporate-nav > a[aria-current=page] { color:var(--yellow); }
.corporate-nav > a[aria-current=page]::after { transform:scaleX(1); }
.corporate-nav > a.button[aria-current=page] { color:#19111e; }
.button-dark:hover { color:#19111e; }
.corporate-hero { min-height:580px; }
.corporate-hero h1 { font-size:64px; line-height:1.07; max-width:750px; }
.corporate-hero p { font-size:18px; max-width:590px; }
.corporate-hero-content { padding-block:64px; }
.content-band { padding-block:76px; }
.section-heading h1, .section-heading h2, .page-hero h1 { font-size:44px; line-height:1.14; }
.section-heading { margin-bottom:32px; }
.page-intro { min-height:260px; background:#191021; }
.page-intro::before { inset:0 0 0 62%; background:url('/assets/img/visual-web.webp') center/cover; transform:none; opacity:.32; border:0; mask-image:linear-gradient(90deg,transparent,black); }
.hosting-plans-intro::before { background-image:url('/assets/img/visual-cloud.webp'); }
.page-intro .container { padding-block:48px; }
.page-intro h1 { font-size:46px; line-height:1.12; max-width:820px; }
.page-intro p { font-size:17px; max-width:720px; }
.compact-page-intro { padding-block:0; min-height:230px; }
.hosting-showcase-band { background:#171320; }
.hosting-showcase-band .kicker, .technology-band .kicker, .dark-band .kicker, .manual-payment-card .kicker, .plan-cart-summary .kicker { color:#e3cbff; }
.hosting-showcase-grid { gap:0; }
.hosting-showcase-card { background:transparent; box-shadow:none; border:0; border-top:1px solid #44394f; border-radius:0; min-height:460px; }
.hosting-offer-copy { padding:38px 38px 38px 0; }
.hosting-enterprise-card .hosting-offer-copy { padding:38px 0 38px 38px; }
.hosting-showcase-card h3 { font-size:36px; line-height:1.15; }
.hosting-price strong { font-size:56px; }
.hosting-technician-visual { min-height:470px; }
.service-tile { min-height:330px; padding:28px; }
.service-tile h3 { font-size:23px; }
.service-row { transition:border-color .2s, background .2s; }
.service-row:hover { border-color:#b89eda; background:#fbfaff; }
.portfolio-card { transition:box-shadow .2s; }
.portfolio-card:hover { box-shadow:0 10px 30px #17101e12; }
.portfolio-card h2 { font-size:26px; line-height:1.25; }
.portfolio-preview { position:relative; display:block; overflow:hidden; }
.portfolio-preview > span { position:absolute; right:14px; bottom:14px; display:grid; place-items:center; width:38px; height:38px; color:#fff; background:#17111fdf; border:1px solid #ffffff55; border-radius:5px; }
.ui-image-dialog { position:fixed; width:min(1000px,92%); max-height:90vh; padding:20px; color:white; background:#18121e; border:1px solid #665573; border-radius:8px; box-shadow:0 30px 100px #0005; }
.ui-image-dialog::backdrop { background:#0c0715d9; backdrop-filter:blur(4px); }
.ui-image-dialog > img { width:100%; max-height:70vh; object-fit:contain; }
.ui-image-dialog > h2 { margin:16px 0 0; font-size:19px; }
.ui-image-dialog > .ui-icon-button { position:absolute; top:10px; right:10px; z-index:1; }
.plan-grid-all { gap:24px; }
.plan-card-commerce { border-radius:8px; box-shadow:0 4px 18px #20182c08; }
.plan-card-commerce.featured { border-color:#9b78cd; }
.plan-card.featured { background:#2a1c39; box-shadow:0 8px 24px #20132914; }
.plan-card.featured li::before { color:#19111e; }
.plan-purchase span { background:white; }
.plan-card-commerce h2 { font-size:26px; line-height:1.2; }
.plan-card-commerce > p { min-height:76px; }
.plan-card-commerce .plan-media { height:185px; }
.plan-card-commerce .plan-flag { z-index:4; }
.plan-purchase input:focus-visible + span { outline:3px solid #8759df; outline-offset:3px; }
.plan-purchase input:checked + span { transform:none; background:#f4effc; border-color:#7c48bd; }
.plan-purchase button { margin-top:8px; }
.plan-purchase + ul { margin-bottom:0; }
.plan-comparison-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:24px; margin-bottom:32px; }
.plan-comparison-heading h2 { margin:5px 0 0; font-size:32px; }
.ui-billing-switch { display:flex; margin:0; padding:4px; border:1px solid var(--ui-line); border-radius:7px; background:#fff; }
.ui-billing-switch label { position:relative; cursor:pointer; }
.ui-billing-switch input { position:absolute; opacity:0; width:1px; height:1px; }
.ui-billing-switch span { display:block; padding:10px 22px; border-radius:4px; color:var(--ui-muted); font-size:14px; font-weight:750; }
.ui-billing-switch input:checked + span { color:#fff; background:#261a36; }
.ui-billing-switch input:focus-visible + span { outline:3px solid #8759df; }
.ui-faq { padding-top:54px; max-width:880px; }
.ui-faq h2 { font-size:28px; }
.ui-faq details { padding:20px 0; border-bottom:1px solid var(--ui-line); }
.ui-faq summary { cursor:pointer; font-weight:750; }
.ui-faq p { margin-bottom:0; color:var(--ui-muted); }
.cta-layout h2 { font-size:44px; line-height:1.16; }
.corporate-footer { padding-top:58px; }
.footer-main { gap:32px; }
.footer-main a, .footer-main span { overflow-wrap:anywhere; }
.footer-intro img { width:220px; height:auto; object-fit:contain; }
.contact-fab, .whatsapp { border-radius:6px; min-height:44px; padding:10px 16px; font-size:14px; }
.account-heading h1 { font-size:38px; line-height:1.15; }
.account-shell { padding-block:42px 72px; }
.account-stats .metric { box-shadow:none; border-top:3px solid #8050b9; }
.account-nav { position:sticky; top:100px; }
.client-workspace-nav { display:flex; gap:6px; overflow-x:auto; padding:12px 0; border-bottom:1px solid var(--ui-line); }
.client-workspace-nav a { flex-shrink:0; padding:8px 14px; border-radius:5px; font-size:14px; font-weight:650; color:var(--ui-muted); }
.client-workspace-nav a[aria-current=page], .client-workspace-nav a:hover { color:#54238c; background:#eee7f8; }
.auth-section { min-height:640px; padding:64px 0; background:#f3f4f7; }
.auth-card { box-shadow:0 12px 40px #23152d0b; }
.auth-copy { background:#201429 url('/assets/img/visual-security.webp') center bottom/100% auto no-repeat; min-height:350px; }
.auth-copy h1 { font-size:36px; line-height:1.15; }
.auth-copy p { color:#d5cce0; }
.auth-copy .eyebrow { color:#ffc515; }
.register-card { width:min(100%,1060px); grid-template-columns:.7fr 1.3fr; }
.register-card .auth-copy { background-position:center bottom; }
.form label { font-size:14px; }
.form-actions { padding-top:8px; }
.manual-payment-card [data-copy-value] { user-select:all; }
.manual-payment-card > div:has([data-copy-value]) { grid-template-columns:1fr auto; }
.manual-payment-card > div:has([data-copy-value]) small { grid-column:1/-1; }
.manual-payment-card button.ui-icon-button { color:#fff; background:transparent; }

/* Dense, predictable administrative workspace. */
.admin-site { --ink:#17131d; --ink-2:#21192c; --panel:#241b2e; --paper:#f5f6f8; --blue:#7041b2; --muted:#656c79; }
.admin-shell { grid-template-columns:244px minmax(0,1fr); }
.admin-sidebar { padding:20px 12px; background:#17121e; border-color:#35283f; }
.admin-sidebar > a[aria-current=page] { color:#fff; background:#372447; border-left-color:#ffc515; }
.admin-sidebar > a .lucide { margin-right:10px; width:17px; height:17px; color:#b7a2cb; }
.admin-sidebar > a[aria-current=page] .lucide { color:#ffc515; }
.admin-topbar { min-height:70px; position:sticky; top:0; z-index:20; color:#23182e; background:#fff; border-bottom:1px solid var(--ui-line); }
.admin-topbar .system-state { color:#646571; }
.admin-content { max-width:1480px; padding:32px; margin-inline:auto; }
.admin-page-heading h1, .admin-content > h1 { font-size:32px; line-height:1.16; }
.admin-page-heading p { font-size:14px; }
.admin-panel { box-shadow:none; }
.admin-panel h2 { font-size:22px; }
.admin-metrics article { min-height:138px; box-shadow:none; border-top-width:2px; }
.admin-table th { font-size:11px; }
.admin-table td { font-size:14px; }
.admin-table-panel > .ui-toolbar { margin:0; padding:16px 24px; border-bottom:1px solid var(--ui-line); }
.admin-table-panel > .ui-filter-empty { margin:16px 24px; }
.admin-form label { font-size:13px; }
.admin-editor-shell { max-width:1040px; }
.admin-menu-toggle { min-width:42px; min-height:42px; padding:9px; }
.admin-menu-toggle .lucide { width:22px; height:22px; }
.admin-content .toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-bottom:24px; }
.admin-content .toolbar h1 { margin:0; font-size:32px; line-height:1.2; }
.admin-content .grid { display:grid; gap:20px; }
.admin-content .cols-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.admin-content .cols-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.admin-content .form label:has(input[type=checkbox]) { display:flex; gap:10px; align-items:center; }
.admin-content .form input[type=checkbox], .admin-content .form input[type=radio] { width:18px; height:18px; min-height:18px; flex-shrink:0; }
.admin-content .form > button { justify-self:start; padding:10px 20px; }
.admin-content .form label { font-size:13px; margin-bottom:10px; }
.admin-content .card h2 { font-size:22px; margin-top:0; }
.admin-content .muted { color:var(--ui-muted); }
.admin-content .badge { padding:5px 9px; border:1px solid var(--ui-line); border-radius:4px; color:var(--ui-muted); background:white; font-size:12px; }
.main-nav a[aria-current=page] { color:#6436a1; }
.site-public .page-hero h1 { font-size:46px; }
.site-public .section { padding-block:64px; }
.site-public .product-purchase { max-width:480px; }
.sidebar a[aria-current=page] { background:#392348; color:#ffc515; }

@media (max-width:1100px) {
  .corporate-brand { min-width:170px; }
  .corporate-brand small { font-size:9px; }
  .corporate-nav { gap:13px; }
  .corporate-nav > a { font-size:13px; }
  .corporate-hero h1 { font-size:54px; }
  .plan-grid-all { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:820px) {
  .admin-shell { grid-template-columns:1fr; }
  .admin-sidebar { z-index:60; left:0; top:0; visibility:hidden; box-shadow:12px 0 40px #130c2533; }
  .admin-sidebar.is-open { visibility:visible; }
  .admin-content { padding:24px 16px; }
  .admin-topbar { padding:12px 16px; justify-content:flex-start; gap:16px; }
  .admin-page-heading h1 { font-size:28px; }
  .admin-content .cols-2, .admin-content .cols-3 { grid-template-columns:1fr; }
}
@media (max-width:980px) {
  html:not(.ui-ready) .corporate-header { height:auto; position:relative; }
  html:not(.ui-ready) .corporate-nav-shell { flex-wrap:wrap; padding-block:16px; }
  html:not(.ui-ready) .corporate-nav { position:static; display:flex; flex-wrap:wrap; width:100%; }
  html:not(.ui-ready) .corporate-nav > a { width:auto; }
  html:not(.ui-ready) .corporate-nav-toggle { display:none; }
}
@media (max-width:820px) {
  html:not(.ui-ready) .admin-sidebar { position:static; height:auto; width:100%; transform:none; visibility:visible; }
  html:not(.ui-ready) .admin-menu-toggle { display:none; }
}
@media (max-width:720px) {
  .corporate-hero { min-height:560px; }
  .corporate-hero h1 { font-size:40px; line-height:1.1; width:100%; }
  .corporate-hero p { font-size:17px; width:100%; }
  .corporate-hero-content { padding-block:48px; }
  .corporate-nav > a { font-size:15px; }
  .corporate-nav > a[aria-current=page]::after { display:none; }
  .content-band { padding-block:48px; }
  .page-intro { min-height:240px; }
  .page-intro::before { left:30%; opacity:.2; }
  .page-intro h1, .site-public .page-hero h1 { font-size:34px; }
  .section-heading h1, .section-heading h2, .cta-layout h2 { font-size:32px; }
  .hosting-showcase-card h3 { font-size:30px; }
  .hosting-offer-copy, .hosting-enterprise-card .hosting-offer-copy { padding:28px 0; }
  .hosting-technician-visual { min-height:340px; }
  .plan-grid-all { grid-template-columns:1fr; }
  .plan-card-commerce > p { min-height:0; }
  .plan-card-commerce .plan-media { height:220px; }
  .plan-comparison-heading h2 { font-size:28px; }
  .register-card { grid-template-columns:1fr; }
  .auth-section { padding:32px 0; }
  .auth-copy { min-height:0; background-image:none; padding:26px; }
  .auth-copy h1 { font-size:30px; }
  .account-heading h1 { font-size:32px; }
  .account-nav { position:static; }
  .account-panel { padding:22px; }
  .ui-editor-ready > form { grid-template-columns:1fr; }
  .ui-toolbar { gap:10px; }
  .ui-search { max-width:none; }
  .ui-toolbar select { flex:1 1 100%; width:100%; }
  .panel-title { align-items:flex-start; flex-direction:column; gap:10px; }
  .admin-table { min-width:640px; }
  .footer-main { column-gap:24px; row-gap:30px; }
  .contact-fab, .whatsapp { right:16px; bottom:16px; width:auto; height:auto; display:inline-flex; font-size:13px; padding:10px 14px; }
  .contact-fab::before { content:none; }
  .service-row { grid-template-columns:28px 60px minmax(0,1fr); gap:14px; }
  .service-row h2 { font-size:23px; line-height:1.2; }
  .service-row > div:nth-child(3) > span { font-size:10px; }
  .ui-back-top { right:16px; bottom:76px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation:none !important; transition:none !important; }
}
