/* RK Store — shared visual system for access and workspace. */
:root {
  --bg:#f6f5fa; --card:#fff; --text:#252238; --muted:#716d85;
  --sidebar:#19152b; --purple:#7550df; --purple2:#6039cb;
  --line:#e9e5f1; --soft:#f1ecfc; --shadow:0 8px 30px #30234b08;
}
body {font-family:'DM Sans',sans-serif; -webkit-font-smoothing:antialiased}
h1,h2,h3 {text-wrap:balance}
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent }
button {transition:background .18s,box-shadow .18s,transform .18s}
button:focus-visible,a:focus-visible {outline:3px solid #b29af4;outline-offset:4px}
input:focus,select:focus,textarea:focus {border-color:#9877ea!important;outline:none;box-shadow:0 0 0 4px #855bea16!important}
input,select,textarea {border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--text);min-height:46px}
.primary-btn,.auth-card .primary-btn {background:#7550df;box-shadow:0 5px 12px #7550df24;border-radius:12px}
.primary-btn:hover,.auth-card .primary-btn:hover {background:#633ecb;box-shadow:0 7px 18px #7550df30;transform:translateY(-1px)}
.secondary-btn,.icon-btn,.small-btn {background:var(--card);border:1px solid var(--line);color:var(--text);border-radius:10px}
.secondary-btn:hover,.icon-btn:hover,.small-btn:hover {background:var(--soft);border-color:#cbbbea;color:#704bc9}
button:disabled {opacity:.55;cursor:wait;transform:none!important}
.brand-mark,.auth-brand>.brand-mark,.auth-mini-logo {background:#885ee8;box-shadow:none;border-radius:15px;color:#fff}
/* The access screen pairs a quiet form with an expressive brand canvas. */
.auth-shell {grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:#faf9fd}
.auth-brand {display:block;min-height:100dvh;padding:52px clamp(30px,5vw,88px);background:radial-gradient(ellipse at 10% 90%,#7450c760,transparent 55%),radial-gradient(ellipse at 95% 10%,#9c68eb30,transparent 50%),#211936}
.auth-brand:before {opacity:.16}
.auth-aurora {display:none}
.auth-brand h2 {font-size:21px;letter-spacing:2px}
.auth-brand>div>p {color:#c2b5da}
.hero-copy {margin-top:64px;position:relative;z-index:1}
.store-badge {background:#ffffff08;border:1px solid #ffffff25;color:#ded1f8;font-size:9px;letter-spacing:1.8px;padding:10px 13px}
.store-badge i {background:#c5ff98;box-shadow:0 0 10px #c5ff9850}
.hero-copy h1 {font-size:clamp(48px,5.3vw,80px);line-height:1.04;letter-spacing:-4px;font-weight:600;margin:26px 0}
.hero-copy h1 span {color:#c6a6ff;background:none;-webkit-text-fill-color:initial}
.hero-copy>p {font-size:15px;line-height:1.8;color:#c6bbd6;max-width:390px}
.auth-proof {border-top:1px solid #ffffff20;margin-top:28px;padding-top:24px;gap:22px}
.auth-proof strong {color:#f1eaff;font-size:23px}
.auth-proof span {color:#bcb0ce;font-size:11px}
.auth-showcase {margin-top:32px;padding:22px;background:#ffffff06;border:1px solid #ffffff19;border-radius:20px;box-shadow:none}
.showcase-copy h3 {font-size:17px}.showcase-copy p {color:#bcb0ce;font-size:12px;line-height:1.6}
.showcase-signal {display:none}.store-orbit {opacity:.8}.store-core {background:#8660ce;box-shadow:0 0 45px #ac7fff20}
.auth-panel-wrap {padding:48px 32px;background:radial-gradient(ellipse at 90% 5%,#e9def655,transparent 50%),#faf9fd}
.auth-card {width:min(460px,100%);padding:34px;background:#fff;color:#252238;border:1px solid #e9e5f1;border-radius:24px;box-shadow:0 24px 70px #3523470a}
.auth-card-heading {margin-bottom:28px}.auth-card-heading small {color:#81788f}
.secure-pill {background:#edf8f0;color:#327347;font-size:9px;letter-spacing:.6px}
.auth-tabs {padding:5px;background:#f5f2f9;border-radius:12px;margin-bottom:30px}
.auth-tabs .tab {border-radius:9px;font-size:12px}.auth-tabs .tab.active {color:#7044cc;background:#fff;box-shadow:0 2px 6px #3427470b}
.auth-kicker {font-size:9px;letter-spacing:1.8px;color:#8865c5}
.auth-card h1 {font-size:29px;letter-spacing:-1px;line-height:1.15;margin-top:12px}
.auth-card .muted {font-size:13px;line-height:1.7;color:#81788f}
.auth-card label {font-size:10px;letter-spacing:1px;color:#63596f;margin-top:20px}
.auth-card input {background:#fcfbfe;border-color:#e9e3f0;padding:14px;min-height:49px}
.auth-card .primary-btn {min-height:49px;margin-top:24px;font-size:13px}
.auth-note {background:#faf8fd;border:1px solid #eee8f5;border-radius:12px;color:#6e607e}
.auth-note p,.auth-card-footer {color:#857b91}.auth-lock {color:#8960cc;background:#eee7fa}
.form-msg:empty {display:none}.form-msg {font-size:13px;line-height:1.5}
.forgot-password-btn {color:#7953bf}.password-toggle {min-width:42px;min-height:42px}
/* Workspace hierarchy and surfaces. */
.main-content {background:var(--bg);padding:30px;min-height:100dvh}
.sidebar {background:#19152b;border-right:1px solid #ffffff08;padding:24px 16px}
.sidebar-brand {padding:0 10px 25px}.sidebar-brand strong {font-size:17px;letter-spacing:1px;line-height:1.2}.sidebar-brand span {color:#90859f;font-size:10px}
.nav-group-title {color:#81748f;font-size:9px;letter-spacing:1.6px;margin-top:19px}
.nav-item {border-radius:10px;color:#b8adc9;margin:3px 0;min-height:42px;font-size:13px}
.nav-item:hover {background:#ffffff08;color:#fff;box-shadow:none}
.nav-item.active {background:#8057d9;color:#fff;box-shadow:0 5px 16px #00000015}
.sidebar-bottom {border-top:1px solid #ffffff12;padding-top:14px;gap:7px}
.sidebar-bottom .secondary-btn {background:transparent;border-color:transparent;color:#aaa0ba;font-size:12px;text-align:left}
.sidebar-bottom .secondary-btn:hover {background:#ffffff09;color:#fff}
.topbar {align-items:center;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:20px;flex-wrap:wrap}
.topbar h1 {font-size:25px;letter-spacing:-.8px}.topbar p {font-size:12px;color:var(--muted)}
.top-actions {gap:9px;flex-wrap:wrap}.top-actions .compact,.top-actions .secondary-btn {font-size:12px;min-height:42px}
.global-search-wrap input {background:var(--card);border-color:var(--line);border-radius:11px}
.demo-strip {background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:none;color:var(--muted);padding:12px 17px}
.demo-strip strong {color:#685184}.demo-strip>span {background:var(--soft);color:#7c5ab4;box-shadow:none}
.hero-banner {min-height:270px;padding:34px 38px;border:1px solid #ffffff15;border-radius:23px;background:radial-gradient(ellipse at 95% 0%,#b991f957,transparent 55%),linear-gradient(115deg,#2b2046,#50317b 65%,#7544ae);box-shadow:0 12px 28px #48276a12}
.hero-banner h2 {font-size:clamp(25px,2.5vw,36px);line-height:1.18;font-weight:500;letter-spacing:-1px;margin:14px 0}
.hero-banner h2 span {color:#dcc5ff}.hero-banner p {color:#d1c1e1;max-width:480px;font-size:13px;line-height:1.7}
.eyebrow {font-size:9px;letter-spacing:1.8px}.hero-actions {gap:9px;margin-top:22px}.hero-actions button {border-radius:10px;font-size:11px;min-height:42px}
.cover-rk {background:linear-gradient(140deg,#b18eea,#7e53ba);box-shadow:0 16px 55px #13082035;border:1px solid #ffffff40;border-radius:28px;transform:rotate(-8deg)}
.cover-orbit {border-color:#ffffff20}.cover-spark {color:#dec9ff}.capacity-badge {border:1px solid #ffffff25;box-shadow:0 8px 24px #1d103920}
.quick-action-grid {gap:12px;margin:20px 0}.quick-action-grid>button {background:var(--card);border:1px solid var(--line);box-shadow:none;border-radius:14px;padding:16px}
.quick-action-grid>button:hover {border-color:#bda3e7;box-shadow:0 7px 20px #67429d10;transform:translateY(-2px)}
.quick-action-grid>button>span {background:#f0eafa;color:#8c60c8;border-radius:12px}.quick-action-grid>button:nth-child(2)>span {background:#eaf5ee;color:#518567}.quick-action-grid>button:nth-child(3)>span {background:#eaf0fe;color:#6084c7}.quick-action-grid>button:nth-child(4)>span {background:#fff3e4;color:#ba8750}
.quick-action-grid b {color:#b1a7bd;font-size:17px}.quick-action-grid small {color:var(--muted);font-size:11px}
.stat-card,.panel-card,.table-card,.platform-card,.mini-card,.account-card,.message-panel,.renewal-stat,.renewal-calendar {border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;background:var(--card)}
#resumen .stat-card,#resumen .panel-card,#caja .stat-card,#finanzas .stat-card,#datos .panel-card {background:var(--card);border-color:var(--line);box-shadow:var(--shadow)}
.stat-card {padding:21px}.stat-card:before,.stat-card:after {display:none}.stat-card strong {font-size:29px;letter-spacing:-1px}.stat-card>span {font-size:11px;color:var(--muted)}.stat-card small {color:var(--muted);font-size:10px}
.stat-icon {width:32px;height:32px;border-radius:10px;font-size:14px}.stat-icon.purple {background:#f0eafa;color:#8c60c8}
.panel-card h3 {font-size:15px}.panel-card p {font-size:12px;color:var(--muted)}
.page-section>.section-head,#perfiles .section-head,#cuentas .section-head {padding:22px 24px;background:var(--card)!important;border:1px solid var(--line)!important;box-shadow:none!important;border-radius:16px!important}
.page-section>.section-head h2 {font-size:23px;letter-spacing:-.7px}.page-section>.section-head h2:after {display:none}.section-head p {color:var(--muted);font-size:13px}
#perfiles .profile-quick-filters,#perfiles .profile-filter-bar {background:var(--card);border-color:var(--line);box-shadow:none;border-radius:14px}
.filter-chip.active {background:var(--soft);color:#7851b9;border-color:#d9c8ef}
.table-card th,#perfiles .table-card thead th {background:var(--soft);color:#7d6d92;font-size:10px;letter-spacing:.7px;padding:16px;text-transform:uppercase}
.table-card td {padding:17px 16px;border-color:var(--line);font-size:12px}.table-card tbody tr:hover td {background:var(--soft)}
#perfiles .table-card {border-color:var(--line);background:var(--card);box-shadow:var(--shadow)}
.luminous-profile-row td {background:var(--card);box-shadow:none}.luminous-profile-row:hover td {background:var(--soft)}
.message-hero,.permissions-hero {background:linear-gradient(115deg,#2b2046,#7544ae);box-shadow:none;border-radius:20px}
.summary-empty,.renewal-empty,.message-empty {padding:42px 20px;color:var(--muted);background:var(--bg);border:1px dashed var(--line);border-radius:12px;margin:12px 0;line-height:1.7}
.modal-backdrop {background:#17102280;backdrop-filter:blur(7px)}.modal {background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:22px;box-shadow:0 30px 90px #17102230}.modal h2 {letter-spacing:-.6px}.modal label {color:var(--muted);font-size:12px}
.support-whatsapp {width:48px;height:48px;background:#269c65;box-shadow:0 5px 16px #1c68452a}
.dark-mode {--bg:#14111e;--card:#201a2c;--text:#f0eaf7;--muted:#b0a3c1;--line:#352b44;--soft:#2b223c;--shadow:0 8px 30px #0000000c}
.dark-mode .main-content {background:var(--bg)}
.dark-mode .quick-action-grid>button,.dark-mode .stat-card,.dark-mode .panel-card,.dark-mode .table-card,.dark-mode .platform-card,.dark-mode .mini-card,.dark-mode .account-card,.dark-mode .message-panel,.dark-mode .renewal-stat,.dark-mode .renewal-calendar,.dark-mode .secondary-btn,.dark-mode .icon-btn {background:var(--card);color:var(--text);border-color:var(--line)}
.dark-mode .demo-strip,.dark-mode #perfiles .profile-quick-filters,.dark-mode #perfiles .profile-filter-bar {background:var(--card);border-color:var(--line)}
.dark-mode .demo-strip strong,.dark-mode #finanzas .stat-card strong {color:#d5b8ff}
.dark-mode .luminous-profile-row td {background:var(--card)}.dark-mode .luminous-profile-row:hover td {background:var(--soft)}
.dark-mode .modal .modal-actions {background:var(--card);border-color:var(--line)}
@media(min-width:1500px) {.main-content {padding:34px 46px}.hero-banner {min-height:300px}}
@media(max-width:1200px) {.auth-brand {padding:40px 32px}.hero-copy {margin-top:42px}.hero-copy h1 {font-size:60px}.auth-showcase .store-orbit {display:none}.quick-action-grid {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px) {
 .auth-shell {grid-template-columns:1fr}.auth-brand {min-height:auto;padding:28px 30px 34px}.hero-copy {margin-top:26px}.hero-copy h1 {font-size:46px;letter-spacing:-2px}.hero-copy h1 br {display:none}.hero-copy>p {max-width:540px;margin-bottom:0}.auth-proof,.auth-showcase {display:none}.auth-panel-wrap {padding:28px 20px 78px}.auth-card {width:min(500px,100%)}
 .main-content {padding:22px 20px 100px}.topbar {padding-right:48px}.hero-banner {padding:28px;min-height:250px}.sidebar {padding:22px 16px}
}
@media(max-width:620px) {
 .auth-brand {padding:24px}.auth-brand h2 {font-size:17px}.auth-brand>.brand-mark {width:42px;height:42px;font-size:19px}.auth-brand>div>p {font-size:10px}.store-badge {font-size:8px;letter-spacing:1px}.hero-copy {margin-top:22px}.hero-copy h1 {font-size:39px;margin:18px 0;line-height:1.1}.hero-copy>p {font-size:12px;line-height:1.7}.auth-panel-wrap {padding:20px 16px 78px}.auth-card {padding:24px;border-radius:20px}.auth-card h1 {font-size:27px}.auth-card-heading {margin-bottom:20px}.auth-tabs {margin-bottom:24px}
 .main-content {padding:18px 14px 108px}.topbar h1 {font-size:23px}.topbar {gap:14px}.top-actions {width:100%}.hero-banner {padding:25px 22px;min-height:0}.hero-banner h2 {font-size:28px}.hero-banner .cover-visual {display:none}.hero-banner p {font-size:12px}.hero-actions {flex-wrap:wrap}.hero-actions button {flex:1;white-space:nowrap}
 .quick-action-grid {gap:9px;margin:14px 0}.quick-action-grid>button {padding:12px;grid-template-columns:32px minmax(0,1fr);gap:8px}.quick-action-grid>button>span {width:32px;height:36px;font-size:16px}.quick-action-grid b {display:none}.quick-action-grid strong {font-size:11px}.quick-action-grid small {font-size:9px}
 .stats-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card {padding:16px}.stat-card strong {font-size:24px}.stat-icon {width:26px;height:26px;font-size:12px}.stats-grid>.stat-card:last-child:nth-child(odd) {grid-column:1/-1}.section-head {gap:12px;flex-wrap:wrap}.page-section>.section-head,#perfiles .section-head,#cuentas .section-head {padding:18px}.page-section>.section-head h2 {font-size:21px}
 .mobile-bottom-nav {background:var(--card);border-top:1px solid var(--line);box-shadow:0 -5px 25px #39234909}.mobile-bottom-nav button {color:var(--muted)}.mobile-bottom-nav button.active {color:#9566d4}.mobile-bottom-nav .mobile-sale-action span {background:#8057d9;box-shadow:0 4px 12px #8057d930}
}
@media(prefers-reduced-motion:reduce) {*,*:before,*:after {animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Override the legacy single-column mobile grid. */
@media(min-width:360px) and (max-width:760px) {
 .quick-action-grid,.stats-grid {grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .stats-grid>.stat-card:last-child:nth-child(odd) {grid-column:1/-1}
}
@media(max-width:760px) {
 .topbar {padding-right:0}
 .main-content {padding-bottom:calc(108px + env(safe-area-inset-bottom))}
}
.sidebar nav {min-height:0;overflow-y:auto;scrollbar-width:thin}
.cover-rk {transform:translate(-50%,-50%) rotate(-8deg)}
.primary-btn:after,.brand-mark.small {animation:none}
.hero-banner h2 span {text-shadow:none}
.auth-showcase .showcase-copy {position:relative;z-index:2;max-width:65%}
@media(min-width:1101px) {
 .sidebar {width:240px;transform:none;box-shadow:none}
 .main-content {margin-left:240px;width:calc(100% - 240px)}
 .mobile-menu-btn,.sidebar-close-btn,.sidebar-overlay {display:none}
 .topbar {padding-left:0}.top-actions {width:100%}
 .hero-banner>div:first-child {max-width:65%}.cover-visual {width:235px}
}
@media(max-width:1200px) {.auth-showcase .showcase-copy {max-width:100%}}
@media(max-width:760px) {.topbar {padding-left:0}}
