:root{
  --bg:#f5f7f8;--card:#ffffff;--ink:#101416;--muted:#667277;--brand:#19d3c5;--brand-ink:#062b28;
  --line:#dce4e6;--danger:#c73737;--radius:18px;--topbar:#0b0f10;--topbar-ink:#ffffff;
  --soft:#f3f6f7;--input:#ffffff;--input-border:#cbd5d8;--shadow:0 8px 30px #1833380a;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--ink)}
a{color:inherit}h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1;margin:.2rem 0 1rem}h2{margin:.25rem 0 1rem}h3{margin:0 0 .3rem}p{color:var(--muted);line-height:1.55}.page-intro{max-width:62ch}
.brand{font-size:2rem;font-weight:800;letter-spacing:-1.5px}.brand span{color:#fff}.brand b{color:var(--brand)}.brand.small{font-size:1.45rem}
.auth-bg{min-height:100vh;display:grid;place-items:center;padding:20px;background:#0b0f10}.auth-card{width:min(440px,100%);background:var(--card);padding:32px;border-radius:24px;box-shadow:0 20px 60px #0008}.auth-card.wide{width:min(760px,100%)}.auth-card .brand span{color:var(--ink)}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-weight:800;font-size:.72rem;color:var(--brand)}
.topbar{min-height:68px;padding:10px max(18px,calc((100vw - 1120px)/2));display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--topbar);color:var(--topbar-ink);position:sticky;top:0;z-index:20}.topbar a{color:var(--topbar-ink);text-decoration:none}.topbar-back{font-weight:800;white-space:nowrap}
.company-header-brand{display:flex;align-items:center;gap:10px;min-width:0}.company-header-brand img{display:block;max-width:180px;max-height:44px;object-fit:contain}.company-header-brand strong{font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.company-header-brand small{color:color-mix(in srgb,var(--topbar-ink) 70%,transparent);white-space:nowrap}
.container{width:min(1120px,calc(100% - 28px));margin:34px auto 80px}.container.narrow{width:min(760px,calc(100% - 28px))}.page-head{display:flex;gap:20px;justify-content:space-between;align-items:end;margin-bottom:24px}.page-actions{display:flex;gap:10px;flex-wrap:wrap}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.span-2{grid-column:1/-1}
label{display:grid;gap:7px;font-weight:700;font-size:.9rem}input,select,textarea{width:100%;padding:13px 14px;border:1px solid var(--input-border);border-radius:12px;font:inherit;background:var(--input);color:var(--ink)}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid color-mix(in srgb,var(--brand) 25%,transparent);border-color:var(--brand)}input:disabled,select:disabled,textarea:disabled{opacity:.6}small{color:var(--muted);font-weight:400}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:12px 16px;font-weight:800;text-decoration:none;cursor:pointer}.button.primary{background:var(--brand);color:var(--brand-ink)}.button.ghost{background:var(--soft);color:var(--ink)}form>.button{width:100%;margin-top:8px}.icon-button{border:0;border-radius:10px;background:var(--soft);color:var(--ink);padding:9px 11px;cursor:pointer}
.alert{padding:13px 15px;border-radius:12px;margin:16px 0}.alert.error{background:#fff0f0;color:#8e2020}.alert.success{background:#e9fbf8;color:#086d65}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.stats.one{grid-template-columns:minmax(0,1fr);max-width:360px}.stats article{background:var(--topbar);color:var(--topbar-ink);border-radius:16px;padding:20px}.stats strong{display:block;font-size:2rem;color:var(--brand)}.stats span{color:color-mix(in srgb,var(--topbar-ink) 74%,transparent)}
.company-list{display:grid}.company-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 0;border-top:1px solid var(--line)}.company-row:first-child{border-top:0}.company-row p{margin:0}.row-actions{display:flex;align-items:center;gap:10px}.row-actions form{margin:0}.row-actions form>.button{margin:0;width:auto}
.badge{display:inline-block;border-radius:999px;padding:6px 10px;font-size:.74rem;font-weight:900;text-transform:uppercase}.badge.active,.badge.trial{background:#dff8f4;color:#08756c}.badge.suspended,.badge.cancelled{background:#ffe4e4;color:#9a2525}.badge.inactive{background:#fff3d8;color:#8a5a00}.badge.archived{background:#e9edf0;color:#536066}
.action-bar{display:flex;justify-content:flex-end;gap:10px}.action-bar .button{width:auto}.hero-company{border-top:5px solid var(--brand);margin-bottom:18px}.company-identity-hero{display:flex;align-items:center;gap:20px}.dashboard-company-logo{max-width:190px;max-height:95px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px}
.placeholder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.placeholder-grid>div{display:flex;gap:10px;padding:16px;background:var(--soft);border-radius:14px}.muted{color:var(--muted)}.empty{text-align:center;padding:30px}hr{border:0;border-top:1px solid var(--line);width:100%}
.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.module-grid>a,.module-grid>div{display:flex;gap:12px;align-items:center;padding:18px;background:var(--soft);border-radius:14px;text-decoration:none;font-size:1.25rem}.module-grid span{display:grid;gap:3px;font-size:.95rem}.module-grid small{display:block}.module-grid .disabled{opacity:.55}
.filter-bar{display:grid;grid-template-columns:1fr 180px auto;gap:10px;margin-bottom:16px}.filter-bar .button{margin:0;width:auto}.client-list{padding-top:8px;padding-bottom:8px}.client-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 0;border-top:1px solid var(--line)}.client-row:first-child{border-top:0}.client-row>a{flex:1;text-decoration:none}.client-row p{margin:0}.client-row>div{display:flex;align-items:center;gap:8px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:16px}.detail-grid div{display:grid;gap:5px}.detail-grid strong{overflow-wrap:anywhere}.detail-grid p{margin:0}.inline-form{display:flex;align-items:end;gap:12px}.inline-form label{flex:1}
.catalog-filters{display:grid;grid-template-columns:2fr 1fr 1fr auto auto;gap:10px;align-items:end;margin-bottom:18px}.check{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:9px;font-weight:700}.check input{width:auto}.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.catalog-card{display:grid;gap:14px}.catalog-title{display:flex;gap:12px;align-items:flex-start}.catalog-title p{margin:0}.catalog-icon{font-size:1.7rem}.catalog-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.catalog-card dl div{background:var(--soft);border-radius:12px;padding:11px}.catalog-card dt{font-size:.72rem;text-transform:uppercase;color:var(--muted);font-weight:800}.catalog-card dd{margin:3px 0 0;font-weight:850}.card-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.card-actions form{margin:0}.card-actions .button{padding:9px 11px}.category-list{margin-top:16px}.category-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--line)}.category-row:first-child{border-top:0}.category-row p{margin:0}.category-row form>.button{margin:0;width:auto}.conditional{display:grid}
.company-logo-preview{max-width:240px;max-height:110px;object-fit:contain;border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff}.theme-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.theme-card{border:2px solid var(--line);padding:14px;border-radius:14px;cursor:pointer;background:var(--card)}.theme-card:has(input:checked){border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent)}.theme-card input{width:auto}.theme-preview{display:flex;gap:5px;margin:10px 0}.theme-preview i{height:24px;flex:1;border-radius:7px}.theme-swatch-meca-classic i:nth-child(1){background:#0b0f10}.theme-swatch-meca-classic i:nth-child(2){background:#19d3c5}.theme-swatch-meca-classic i:nth-child(3){background:#f5f7f8}.theme-swatch-corporate-blue i:nth-child(1){background:#102a43}.theme-swatch-corporate-blue i:nth-child(2){background:#2f80ed}.theme-swatch-corporate-blue i:nth-child(3){background:#edf4ff}.theme-swatch-forest i:nth-child(1){background:#173d2b}.theme-swatch-forest i:nth-child(2){background:#35a66f}.theme-swatch-forest i:nth-child(3){background:#edf8f1}.theme-swatch-rose-studio i:nth-child(1){background:#5f283e}.theme-swatch-rose-studio i:nth-child(2){background:#e66f9f}.theme-swatch-rose-studio i:nth-child(3){background:#fff0f6}.theme-swatch-dark-pro i:nth-child(1){background:#0d1117}.theme-swatch-dark-pro i:nth-child(2){background:#7c5cff}.theme-swatch-dark-pro i:nth-child(3){background:#30363d}
.identity-logo-row{display:grid;grid-template-columns:220px 1fr;gap:18px;align-items:center}.logo-preview-box{min-height:120px;border:1px dashed var(--line);border-radius:16px;display:grid;place-items:center;padding:14px;background:var(--soft);text-align:center}.logo-preview-box img{max-width:100%;max-height:100px;object-fit:contain}.logo-preview-box span{font-weight:900;font-size:1.15rem}.identity-live-preview{display:grid;gap:8px}.preview-card{display:flex;align-items:center;gap:12px;background:var(--soft);border-radius:15px;padding:14px}.preview-card p{margin:2px 0 0}.preview-dot{width:13px;height:13px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 5px color-mix(in srgb,var(--brand) 20%,transparent)}.preview-card>div{flex:1}

/* Temas oficiales para espacios de empresa */
.company-app.theme-meca-classic{--bg:#f5f7f8;--card:#fff;--ink:#101416;--muted:#667277;--brand:#19d3c5;--brand-ink:#062b28;--line:#dce4e6;--topbar:#0b0f10;--topbar-ink:#fff;--soft:#f3f6f7;--input:#fff;--input-border:#cbd5d8;--shadow:0 8px 30px #1833380a}
.company-app.theme-corporate-blue{--bg:#edf4ff;--card:#fff;--ink:#102a43;--muted:#5b7083;--brand:#2f80ed;--brand-ink:#fff;--line:#cbdcf4;--topbar:#102a43;--topbar-ink:#fff;--soft:#e3edfb;--input:#fff;--input-border:#b9cce5;--shadow:0 8px 30px #102a4310}
.company-app.theme-forest{--bg:#edf8f1;--card:#fff;--ink:#173d2b;--muted:#5d7467;--brand:#35a66f;--brand-ink:#fff;--line:#cfe6d8;--topbar:#173d2b;--topbar-ink:#fff;--soft:#e2f2e8;--input:#fff;--input-border:#bcd8c7;--shadow:0 8px 30px #173d2b10}
.company-app.theme-rose-studio{--bg:#fff0f6;--card:#fff;--ink:#4f2435;--muted:#7f6370;--brand:#e66f9f;--brand-ink:#3f1325;--line:#f1cada;--topbar:#5f283e;--topbar-ink:#fff;--soft:#fde5ef;--input:#fff;--input-border:#e8b8cb;--shadow:0 8px 30px #5f283e10}
.company-app.theme-dark-pro{--bg:#0d1117;--card:#161b22;--ink:#f0f3f6;--muted:#9da7b3;--brand:#8b72ff;--brand-ink:#fff;--line:#30363d;--topbar:#010409;--topbar-ink:#fff;--soft:#21262d;--input:#0d1117;--input-border:#3d444d;--shadow:0 8px 30px #0006}
.company-app.theme-dark-pro .badge.active,.company-app.theme-dark-pro .badge.trial{background:#163b36;color:#7ee7d6}.company-app.theme-dark-pro .badge.inactive{background:#493811;color:#ffd76b}.company-app.theme-dark-pro .badge.archived{background:#30363d;color:#c9d1d9}.company-app.theme-dark-pro .dashboard-company-logo,.company-app.theme-dark-pro .logo-preview-box img{background:#fff}

@media(max-width:760px){
  .grid.two,.stats,.placeholder-grid,.module-grid,.detail-grid,.catalog-filters,.catalog-grid,.theme-grid,.identity-logo-row{grid-template-columns:1fr}
  .span-2{grid-column:auto}.page-head{align-items:stretch;flex-direction:column}.page-head .button{width:100%}.page-actions{width:100%}.page-actions .button{flex:1}
  .company-row{align-items:flex-start;flex-direction:column}.row-actions{width:100%;justify-content:space-between}.auth-card{padding:24px}.container{margin-top:24px}
  .action-bar{position:sticky;bottom:0;background:var(--card);padding:12px 0 4px;z-index:10}.action-bar .button{flex:1}.filter-bar{grid-template-columns:1fr}.filter-bar .button{width:100%}
  .client-row{align-items:flex-start;flex-direction:column}.client-row>div{width:100%;justify-content:space-between}.inline-form{align-items:stretch;flex-direction:column}.detail-grid .span-2{grid-column:auto}
  .catalog-card dl{grid-template-columns:1fr}.card-actions .button{flex:1}.category-row{align-items:flex-start;flex-direction:column}.category-row form,.category-row form>.button{width:100%}
  .company-identity-hero{align-items:flex-start;flex-direction:column}.preview-card{align-items:flex-start;flex-wrap:wrap}.preview-card .button{width:100%}.company-header-brand small{display:none}
}
