/* Pirela brand layer — loaded after the inherited Dalvo styles. */
:root {
  --pirela-black: #050505;
  --pirela-ink: #111111;
  --pirela-paper: #f5f5f2;
  --pirela-surface: #ffffff;
  --pirela-line: #deded8;
  --pirela-muted: #74746f;
  --pirela-soft: #ecece8;
  --pirela-radius: 16px;
}

html, body { background: var(--pirela-paper) !important; color: var(--pirela-ink); }
body { font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important; }
button, input, select, textarea { font: inherit; }

/* Wordmark */
.pirela-wordmark { display: inline-flex !important; align-items: center; gap: 10px; width: auto !important; height: auto !important; }
.pirela-wordmark img { width: 34px !important; height: 34px !important; object-fit: cover; border-radius: 9px; }
.pirela-wordmark strong { color: inherit; font-size: 15px; letter-spacing: .11em; font-weight: 900; }

/* Login */
.shell { min-height: 100vh; background: var(--pirela-paper) !important; padding: 28px !important; display: grid; place-items: center; }
.login-card { width: min(1100px, 100%); min-height: 650px; display: grid !important; grid-template-columns: 1.05fr .95fr; overflow: hidden; border: 1px solid var(--pirela-line) !important; border-radius: 26px !important; background: #fff !important; box-shadow: 0 28px 80px rgba(0,0,0,.08) !important; }
.brand-panel { position: relative; min-height: 100%; background: #050505 !important; color: #fff !important; overflow: hidden; }
.brand-panel::after { content:""; position:absolute; inset:auto -100px -150px auto; width:390px; height:390px; border:1px solid rgba(255,255,255,.09); border-radius:50%; }
.brand-shade { background: radial-gradient(circle at 35% 25%, rgba(255,255,255,.09), transparent 36%) !important; opacity: 1 !important; }
.brand-content { position: relative; z-index: 2; height: 100%; padding: 48px !important; display: flex; flex-direction: column; }
.brand-mark { display:flex !important; align-items:center; gap:12px; font-size:15px; letter-spacing:.08em; text-transform:uppercase; font-weight:800; }
.brand-mark img { width:40px !important; height:40px !important; object-fit:cover; border-radius:11px; }
.brand-copy { margin-top:auto; max-width:520px; }
.brand-eyebrow { color:#8f8f8f; font-size:11px; font-weight:800; letter-spacing:.18em; }
.brand-copy h1 { color:#fff !important; font-size:clamp(48px,5vw,72px) !important; line-height:.97 !important; letter-spacing:-.055em !important; margin:18px 0 20px !important; }
.brand-description { color:#9f9f9f; max-width:480px; font-size:15px; line-height:1.65; }
.form-panel { background:#fff !important; color:#111 !important; display:grid; place-items:center; padding:54px !important; }
.login-form { width:min(390px,100%) !important; }
.login-logo { margin-bottom:38px !important; color:#111; }
.form-heading h2 { color:#111 !important; font-size:30px !important; letter-spacing:-.035em; }
.form-heading p { color:#767676 !important; }
.login-field input { background:#fafaf8 !important; color:#111 !important; border:1px solid #dfdfda !important; border-radius:14px !important; }
.login-field input:focus { border-color:#111 !important; box-shadow:0 0 0 3px rgba(0,0,0,.06) !important; }
.field-label, .field-icon, .remember-session, .login-security-note { color:#777 !important; }
.primary-button, .login-submit { background:#050505 !important; color:#fff !important; border-color:#050505 !important; border-radius:14px !important; min-height:50px; }
.primary-button:hover, .login-submit:hover { background:#1c1c1c !important; }

/* Application shell */
.command-center { background:var(--pirela-paper) !important; }
.topbar { background:rgba(255,255,255,.94) !important; color:#111 !important; border-bottom:1px solid var(--pirela-line) !important; backdrop-filter:blur(16px); }
.topbar-brand { gap:12px !important; }
.topbar-logo { color:#111; }
.topbar-product { color:#797974 !important; border-left:1px solid #ddd !important; padding-left:12px; font-size:12px !important; }
.pirela-company-pill { display:inline-flex; align-items:center; min-height:26px; padding:0 10px; border:1px solid #deded9; border-radius:999px; color:#5d5d59; background:#f8f8f6; font-size:11px; font-weight:700; }
.sidebar-toggle span, .launcher-button span { background:#111 !important; }
.global-search input { background:#f6f6f3 !important; border-color:#dfdfda !important; color:#111 !important; border-radius:999px !important; }
.global-search label, .global-search kbd { color:#777 !important; }
.create-button { background:#050505 !important; color:white !important; border-radius:999px !important; }
.theme-toggle,.assistant-button,.launcher-button,.ghost-button { background:#fff !important; border-color:#dfdfda !important; color:#111 !important; }
.sidebar-session-box strong { color:#111 !important; }
.sidebar-session-box span { color:#777 !important; }

.primary-nav { background:#fff !important; border-bottom:1px solid var(--pirela-line) !important; }
.primary-nav .nav-item,.primary-more-button { color:#777 !important; background:transparent !important; }
.primary-nav .nav-item.active,.primary-nav .nav-item:hover,.primary-more-button:hover { color:#050505 !important; }
.primary-nav .nav-item.active::after { background:#050505 !important; }

.sidebar, .main-nav, .module-launcher-panel, .quick-actions-panel, .assistant-panel { background:#fff !important; color:#111 !important; border-color:#dfdfda !important; box-shadow:0 24px 70px rgba(0,0,0,.12) !important; }
.sidebar-brand, .launcher-heading, .assistant-heading { border-color:#e5e5e0 !important; }
.sidebar .nav-item, .main-nav .nav-item, .launcher-card { border-radius:12px !important; }
.sidebar .nav-item:hover, .main-nav .nav-item:hover, .launcher-card:hover { background:#f2f2ef !important; }
.sidebar .nav-item.active, .main-nav .nav-item.active { background:#0a0a0a !important; color:white !important; }

.module-view, .home-module, .module-shell, .module-content { background:transparent !important; }
.module-header h1, .module-header h2, .home-hero h1, .section-heading h2 { color:#111 !important; letter-spacing:-.035em; }
.module-header p, .section-heading p, .muted { color:#73736f !important; }
.card, .panel, .stat-card, .metric-card, .table-card, .budgets-table-shell, .module-card, .home-card { background:#fff !important; border:1px solid var(--pirela-line) !important; box-shadow:none !important; border-radius:var(--pirela-radius) !important; }
table { background:#fff; }
thead th { background:#f7f7f4 !important; color:#5e5e59 !important; border-color:#e4e4df !important; }
tbody td { border-color:#ecece8 !important; color:#222 !important; }
tbody tr:hover td { background:#fafaf8 !important; }
input, select, textarea { border-color:#deded9 !important; border-radius:12px !important; }
input:focus, select:focus, textarea:focus { border-color:#111 !important; box-shadow:0 0 0 3px rgba(0,0,0,.05) !important; }
.success-button { background:#050505 !important; border-color:#050505 !important; color:#fff !important; }
.small-button, .secondary-button { border-radius:10px !important; }

/* Dark mode stays monochrome rather than blue/graphite. */
body.dark-mode { background:#080808 !important; color:#f5f5f2 !important; }
body.dark-mode .command-center { background:#080808 !important; }
body.dark-mode .topbar, body.dark-mode .primary-nav, body.dark-mode .sidebar, body.dark-mode .main-nav,
body.dark-mode .module-launcher-panel, body.dark-mode .quick-actions-panel, body.dark-mode .assistant-panel,
body.dark-mode .card, body.dark-mode .panel, body.dark-mode .stat-card, body.dark-mode .metric-card,
body.dark-mode .table-card, body.dark-mode .budgets-table-shell, body.dark-mode .module-card, body.dark-mode .home-card { background:#111 !important; color:#f4f4f1 !important; border-color:#292929 !important; }
body.dark-mode .topbar-logo, body.dark-mode .sidebar-session-box strong, body.dark-mode .module-header h1,
body.dark-mode .module-header h2, body.dark-mode .home-hero h1, body.dark-mode .section-heading h2 { color:#fff !important; }
body.dark-mode .theme-toggle, body.dark-mode .assistant-button, body.dark-mode .launcher-button, body.dark-mode .ghost-button { background:#161616 !important; border-color:#303030 !important; color:#fff !important; }
body.dark-mode .sidebar-toggle span, body.dark-mode .launcher-button span { background:#fff !important; }
body.dark-mode .global-search input, body.dark-mode input, body.dark-mode select, body.dark-mode textarea { background:#151515 !important; color:#fff !important; border-color:#303030 !important; }
body.dark-mode thead th { background:#171717 !important; color:#a6a6a0 !important; border-color:#292929 !important; }
body.dark-mode tbody td { color:#e7e7e3 !important; border-color:#242424 !important; }
body.dark-mode tbody tr:hover td { background:#151515 !important; }
body.dark-mode .pirela-company-pill { background:#151515; border-color:#303030; color:#aaa; }

@media(max-width:850px){
  .shell{padding:0 !important;background:#fff !important;}
  .login-card{min-height:100vh;grid-template-columns:1fr;border:0 !important;border-radius:0 !important;box-shadow:none !important;}
  .brand-panel{display:none !important;}
  .form-panel{padding:32px 22px !important;}
  .pirela-company-pill{display:none;}
}

/* =========================================================
   Pirela v1.1 · Organización + administración de plataforma
   ========================================================= */
.pirela-settings-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.pirela-save-state{font-size:12px;color:var(--muted,#737373);padding:8px 12px;border:1px solid var(--border,#dedede);border-radius:999px;background:var(--surface,#fff)}
.pirela-settings-grid{display:grid;grid-template-columns:minmax(230px,300px) minmax(0,1fr);gap:24px;align-items:start}
.pirela-settings-side{display:grid;gap:16px;position:sticky;top:96px}
.pirela-settings-main{display:grid;gap:20px}
.pirela-card,.pirela-brand-card,.pirela-info-card{background:var(--surface,#fff);border:1px solid var(--border,#e3e3e3);border-radius:20px;padding:24px;box-shadow:0 10px 32px rgba(0,0,0,.035)}
.pirela-brand-card{display:grid;gap:16px;text-align:center}
.pirela-brand-card h2{font-size:22px;margin:4px 0}.pirela-brand-card p{margin:0;color:var(--muted,#717171)}
.pirela-brand-card small{font-size:11px;line-height:1.5;color:var(--muted,#767676)}
.pirela-org-logo{width:112px;height:112px;margin:auto;border-radius:24px;border:1px solid #161616;background:#050505;color:#fff;display:grid;place-items:center;overflow:hidden;font-size:28px;font-weight:750;letter-spacing:-.05em}
.pirela-org-logo img{width:100%;height:100%;object-fit:contain;background:#fff;padding:10px}
.pirela-file-button{position:relative;overflow:hidden}.pirela-file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}
.pirela-info-card{display:flex;gap:12px;align-items:flex-start}.pirela-info-card p{font-size:12px;color:var(--muted,#767676);margin:4px 0 0;line-height:1.5}.pirela-info-icon{width:34px;height:34px;border-radius:10px;background:#0b0b0b;color:#fff;display:grid;place-items:center;flex:0 0 auto}
.pirela-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.pirela-card-heading.compact{align-items:center}.pirela-card-heading h2{font-size:22px;margin:3px 0}.pirela-card-heading p{margin:5px 0 0;color:var(--muted,#767676);font-size:12px;line-height:1.5}.pirela-card-heading>span{color:var(--muted,#888);font-size:11px}
.pirela-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pirela-form-grid label{display:grid;gap:7px;font-size:12px;font-weight:650;color:var(--text,#171717)}.pirela-form-grid label.is-wide,.pirela-form-grid .is-wide{grid-column:1/-1}.pirela-form-grid input,.pirela-form-grid select,.pirela-form-grid textarea,.pirela-inline-search{width:100%;min-height:44px;border:1px solid var(--border,#dcdcdc);border-radius:11px;background:var(--surface,#fff);color:var(--text,#171717);padding:0 12px;font:inherit;outline:none}.pirela-form-grid textarea{min-height:220px;padding:14px;line-height:1.55;resize:vertical}.pirela-form-grid input:focus,.pirela-form-grid select:focus,.pirela-form-grid textarea:focus,.pirela-inline-search:focus{border-color:#111;box-shadow:0 0 0 3px rgba(0,0,0,.06)}.pirela-terms-field small{color:var(--muted,#6d6d68);font-weight:500;text-align:right}
.pirela-form-divider{height:1px;background:var(--border,#e4e4e4);margin:26px 0}.pirela-form-actions{display:flex;justify-content:flex-end;margin-top:22px}
.pirela-branch-list{display:grid;gap:10px}.pirela-branch-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:14px;align-items:center;border:1px solid var(--border,#e2e2e2);border-radius:14px;padding:13px 14px}.pirela-branch-row strong,.pirela-branch-row span{display:block}.pirela-branch-row>div:nth-child(2) span{font-size:11px;color:var(--muted,#777);margin-top:3px}.pirela-branch-symbol{width:38px;height:38px;border-radius:11px;background:#f2f2f2;color:#111;display:grid;place-items:center}
.pirela-status{display:inline-flex!important;align-items:center;justify-content:center;width:max-content;border-radius:999px;padding:6px 9px;font-size:10px!important;font-weight:750;letter-spacing:.02em}.pirela-status.is-active{background:#e9f7ef;color:#176437}.pirela-status.is-warning{background:#fff4dc;color:#8a5b00}.pirela-status.is-muted{background:#eee;color:#666}
.pirela-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center!important;gap:9px!important}.pirela-check input{width:18px!important;min-height:18px!important;height:18px}
.pirela-dialog{width:min(720px,calc(100vw - 30px));border:1px solid #d8d8d8;border-radius:22px;padding:0;background:var(--surface,#fff);color:var(--text,#171717);box-shadow:0 30px 90px rgba(0,0,0,.22)}.pirela-dialog::backdrop{background:rgba(0,0,0,.46);backdrop-filter:blur(3px)}.pirela-dialog form{padding:24px}.pirela-dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.pirela-dialog-heading h2{margin:4px 0;font-size:24px}
.pirela-admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.pirela-admin-metrics article{border:1px solid var(--border,#e1e1e1);border-radius:16px;padding:18px;background:var(--surface,#fff)}.pirela-admin-metrics strong{font-size:28px;display:block;letter-spacing:-.04em}.pirela-admin-metrics span{font-size:11px;color:var(--muted,#777)}
.pirela-admin-layout{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(420px,1.15fr);gap:20px;align-items:start}.pirela-company-list{display:grid;gap:8px}.pirela-company-row{appearance:none;border:1px solid transparent;background:transparent;color:inherit;width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;text-align:left;padding:11px;border-radius:13px;cursor:pointer}.pirela-company-row:hover,.pirela-company-row.is-selected{background:#f5f5f5;border-color:#e1e1e1}.pirela-company-row strong,.pirela-company-row small{display:block}.pirela-company-row small{color:#7a7a7a;margin-top:3px;font-size:10px}.pirela-company-avatar{width:40px;height:40px;border-radius:12px;background:#050505;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:800}.pirela-admin-detail{position:sticky;top:96px;max-height:calc(100vh - 125px);overflow:auto}.pirela-admin-company-form{margin-top:4px}.pirela-inline-search{max-width:190px;min-height:38px}
.pirela-module-toggle-list{display:grid;gap:8px}.pirela-module-toggle{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 2px;border-bottom:1px solid var(--border,#ececec);cursor:pointer;position:relative}.pirela-module-toggle strong,.pirela-module-toggle small{display:block}.pirela-module-toggle small{font-size:10px;color:var(--muted,#777);margin-top:3px}.pirela-module-toggle input{position:absolute;opacity:0}.pirela-module-toggle i{width:38px;height:22px;border-radius:999px;background:#d8d8d8;position:relative;transition:.2s}.pirela-module-toggle i::after{content:"";width:16px;height:16px;border-radius:50%;background:#fff;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:.2s}.pirela-module-toggle input:checked+i{background:#0b0b0b}.pirela-module-toggle input:checked+i::after{transform:translateX(16px)}.pirela-module-toggle input:disabled+i{opacity:.45}.pirela-custom-module-form{margin-top:4px}
.pirela-empty-state{display:grid;place-items:center;text-align:center;gap:6px;min-height:180px;color:var(--muted,#757575)}.pirela-empty-state i{font-size:28px}.pirela-empty-state strong{color:var(--text,#181818)}.pirela-empty-state p{margin:0;font-size:12px}.pirela-empty-state.compact{min-height:120px;border:1px dashed var(--border,#ddd);border-radius:14px}
.dark-mode .pirela-card,.dark-mode .pirela-brand-card,.dark-mode .pirela-info-card,.dark-mode .pirela-admin-metrics article{background:#111;border-color:#2b2b2b}.dark-mode .pirela-form-grid input,.dark-mode .pirela-form-grid select,.dark-mode .pirela-form-grid textarea,.dark-mode .pirela-inline-search{background:#101010;border-color:#313131;color:#f1f1f1}.dark-mode .pirela-company-row:hover,.dark-mode .pirela-company-row.is-selected{background:#181818;border-color:#333}.dark-mode .pirela-branch-symbol{background:#202020;color:#fff}.dark-mode .pirela-org-logo img{background:#fff}
@media(max-width:1050px){.pirela-settings-grid,.pirela-admin-layout{grid-template-columns:1fr}.pirela-settings-side,.pirela-admin-detail{position:static}.pirela-admin-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.pirela-settings-heading{align-items:flex-start;flex-direction:column}.pirela-form-grid{grid-template-columns:1fr}.pirela-form-grid label.is-wide,.pirela-form-grid .is-wide{grid-column:auto}.pirela-admin-metrics{grid-template-columns:1fr 1fr}.pirela-branch-row{grid-template-columns:auto 1fr}.pirela-branch-row>.pirela-status,.pirela-branch-row>.ghost-button{grid-column:2}.pirela-card-heading{flex-direction:column}.pirela-inline-search{max-width:none}}

/* Pirela v1.2 · usuarios por empresa + organización activa */
.pirela-instance-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--border,#dedede);border-radius:15px;padding:14px 15px;margin:2px 0 22px;background:#fafaf8}
.pirela-instance-banner.is-current{background:#f2f7f3;border-color:#cfe3d4}.pirela-instance-banner strong,.pirela-instance-banner span{display:block}.pirela-instance-banner>div>span{font-size:11px;color:var(--muted,#717171);margin-top:4px;line-height:1.45}
.pirela-member-list{display:grid;gap:8px;margin-bottom:18px}.pirela-member-row{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(130px,170px) auto auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border,#ececec)}
.pirela-member-copy strong,.pirela-member-copy span{display:block}.pirela-member-copy span{font-size:10px;color:var(--muted,#777);margin-top:3px}.pirela-member-row select{min-height:38px;width:100%;border:1px solid var(--border,#ddd);border-radius:10px;background:var(--surface,#fff);padding:0 9px;color:inherit}
.pirela-mini-switch{position:relative;width:38px;height:22px}.pirela-mini-switch input{position:absolute;opacity:0}.pirela-mini-switch i{display:block;width:38px;height:22px;background:#d6d6d6;border-radius:999px;position:relative;cursor:pointer}.pirela-mini-switch i::after{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:.2s}.pirela-mini-switch input:checked+i{background:#090909}.pirela-mini-switch input:checked+i::after{transform:translateX(16px)}
.pirela-existing-user-form{display:grid;gap:9px;margin-top:18px}.pirela-inline-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,180px) auto;gap:10px}.pirela-inline-form select{min-height:42px;border:1px solid var(--border,#ddd);border-radius:11px;background:var(--surface,#fff);color:inherit;padding:0 10px}
.dark-mode .pirela-instance-banner{background:#141414;border-color:#303030}.dark-mode .pirela-instance-banner.is-current{background:#101a13;border-color:#27452e}.dark-mode .pirela-member-row select,.dark-mode .pirela-inline-form select{background:#101010;border-color:#313131;color:#f1f1f1}
@media(max-width:760px){.pirela-member-row{grid-template-columns:auto minmax(0,1fr)}.pirela-member-row select,.pirela-member-row .pirela-mini-switch,.pirela-member-row .ghost-button{grid-column:2}.pirela-inline-form{grid-template-columns:1fr}.pirela-instance-banner{align-items:flex-start;flex-direction:column}}
