:root{font-family:Poppins,sans-serif;color-scheme:dark;--midnight:#0F1025;--purple:#7B5CFF;--pink:#FF3CAC;--coral:#FF8A5B;--turquoise:#00D4C4;--bg:#0F1025;--surface:#17182f;--surface2:#1d1e38;--text:#f7f7ff;--muted:#a9aac0;--border:rgba(255,255,255,.08);--shadow:0 18px 50px rgba(0,0,0,.22);--gradient:linear-gradient(135deg,var(--purple),var(--pink));--sidebar-bg:#0F1025;--sidebar-text:#bfc0d2;--sidebar-muted:#9698ae;--sidebar-border:rgba(255,255,255,.08)}html[data-theme=light]{color-scheme:light;--bg:#F4F6F8;--surface:#fff;--surface2:#fff;--text:#15162d;--muted:#687087;--border:rgba(15,16,37,.09);--shadow:0 14px 35px rgba(15,16,37,.08);--sidebar-bg:#fff;--sidebar-text:#4d5268;--sidebar-muted:#747a8f;--sidebar-border:rgba(15,16,37,.09)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:272px;padding:24px 16px;display:flex;flex-direction:column;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);z-index:30;transition:width .22s ease,transform .22s ease;overflow:hidden}.brand{height:58px;display:flex;align-items:center;justify-content:center;margin-bottom:28px;position:relative}.brand-logo{display:flex;align-items:center;justify-content:center;overflow:hidden;max-width:215px}.brand img{max-width:215px;max-height:48px;object-fit:contain}.sidebar nav{display:flex;flex-direction:column;gap:7px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 15px;border-radius:12px;color:var(--sidebar-text);transition:.2s;white-space:nowrap}.nav-item:hover{background:rgba(123,92,255,.08);color:var(--text);transform:translateX(2px)}.nav-item.active{background:var(--gradient);color:#fff;box-shadow:0 8px 22px rgba(123,92,255,.24);font-weight:600}.nav-item.active:hover{transform:none}.sidebar-footer{margin-top:auto;padding-top:18px;border-top:1px solid var(--sidebar-border);display:flex;align-items:center;gap:10px}.sidebar-footer strong{white-space:nowrap}.sidebar-footer small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.sidebar-footer small{display:block;color:var(--sidebar-muted);font-size:11px}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--gradient);color:#fff;font-weight:700}.sidebar-footer .icon-btn{margin-left:auto}.main{margin-left:272px;min-height:100vh}.topbar{height:76px;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 30px;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}h1{font-size:24px;margin:0;font-weight:700}.top-actions{display:flex;align-items:center;gap:8px}.content{max-width:1280px;margin:0 auto;padding:30px}.icon-btn{border:0;background:transparent;color:var(--muted);width:40px;height:40px;border-radius:10px;display:grid;place-items:center;cursor:pointer}.icon-btn:hover{background:rgba(123,92,255,.1);color:var(--purple)}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text);padding:10px 16px;border-radius:10px;display:inline-flex;align-items:center;gap:8px;font-weight:600;cursor:pointer}.btn.primary{border:0;background:var(--gradient);color:#fff;box-shadow:0 7px 20px rgba(123,92,255,.2)}.btn.secondary{color:var(--purple);border-color:rgba(123,92,255,.35)}.btn.danger{color:#fff;background:var(--coral);border:0}.grid{display:grid;gap:18px}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}.card.pad{padding:20px}.metric{padding:20px;min-height:150px}.metric-top{display:flex;justify-content:space-between;align-items:flex-start}.metric-icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center}.purple{color:var(--purple);background:rgba(123,92,255,.12)}.pink{color:var(--pink);background:rgba(255,60,172,.12)}.coral{color:var(--coral);background:rgba(255,138,91,.12)}.turquoise{color:var(--turquoise);background:rgba(0,212,196,.12)}.metric label,.muted{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.metric strong{display:block;font-size:31px;margin-top:5px}.pill{padding:5px 9px;border-radius:999px;font-size:11px;font-weight:600}.pill.positive{color:var(--turquoise);background:rgba(0,212,196,.1)}.pill.warning{color:var(--coral);background:rgba(255,138,91,.1)}.pill.primary{color:var(--purple);background:rgba(123,92,255,.1)}.pill.muted{color:var(--muted);background:rgba(128,128,150,.1)}.split{display:grid;grid-template-columns:2fr 1fr;gap:18px;margin-top:18px}.card-header{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--border)}.card-header h2,.card-header h3{margin:0;font-size:18px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--border);white-space:nowrap}.table th{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.table tr:hover td{background:rgba(123,92,255,.035)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:13px;font-weight:600}.field input,.field select,.field textarea{width:100%;border:1px solid var(--border);background:var(--surface2);color:var(--text);border-radius:10px;padding:11px 12px;font:inherit;outline:none}.field textarea{min-height:110px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(123,92,255,.12)}.section-title{margin:25px 0 12px;font-size:15px}.actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.alert{padding:12px 14px;border-radius:11px;margin-bottom:18px;font-size:13px}.alert.positive{color:var(--turquoise);background:rgba(0,212,196,.08);border:1px solid rgba(0,212,196,.18)}.empty{padding:35px;text-align:center;color:var(--muted)}.mobile-menu{display:none}.hero{padding:10px 0 18px}.hero h2{font-size:34px;margin:0 0 4px}.hero p{color:var(--muted);margin:0}.activity{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.activity:last-child{border:0}.dot{width:9px;height:9px;border-radius:50%;background:var(--purple);margin-top:7px;flex:0 0 auto}.dot.green{background:var(--turquoise)}.dot.coral{background:var(--coral)}.progress{height:8px;border-radius:999px;background:rgba(127,127,150,.14);overflow:hidden}.progress>i{display:block;height:100%;background:var(--gradient);border-radius:999px}.searchbar{display:flex;gap:10px;margin-bottom:16px}.searchbar input{flex:1;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:11px 13px;border-radius:10px;font:inherit}.event-title{display:flex;align-items:center;gap:10px}.event-symbol{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:rgba(123,92,255,.12);color:var(--purple)}.desktop-sidebar-toggle{display:grid}.sidebar-toggle{display:none}.sidebar-collapsed .sidebar{width:82px}.sidebar-collapsed .main{margin-left:82px}.sidebar-collapsed .brand{justify-content:center}.sidebar-collapsed .brand-logo{width:50px;justify-content:flex-start}.sidebar-collapsed .brand img{max-width:none;width:215px;max-height:48px}.sidebar-collapsed .nav-item{justify-content:center;padding-left:0;padding-right:0;gap:0}.sidebar-collapsed .nav-item:not(.active) span.material-symbols-outlined{margin:0}.sidebar-collapsed .nav-item{font-size:0}.sidebar-collapsed .nav-item .material-symbols-outlined{font-size:24px}.sidebar-collapsed .sidebar-footer{justify-content:center}.sidebar-collapsed .sidebar-footer>div:not(.avatar),.sidebar-collapsed .sidebar-footer .icon-btn{display:none}.sidebar-collapsed .sidebar-footer .avatar{margin:0}
@media(max-width:1100px){.grid-4{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}}@media(max-width:800px){.sidebar{transform:translateX(-100%);transition:.2s;width:272px}.menu-open .sidebar{transform:none}.main{margin-left:0!important}.sidebar-collapsed .sidebar{width:272px}.sidebar-collapsed .nav-item{justify-content:flex-start;padding:12px 15px;gap:12px;font-size:inherit}.sidebar-collapsed .nav-item .material-symbols-outlined{font-size:24px}.sidebar-collapsed .brand{justify-content:center}.sidebar-collapsed .brand-logo{width:auto}.sidebar-collapsed .brand img{width:auto;max-width:215px}.sidebar-collapsed .sidebar-footer{justify-content:flex-start}.sidebar-collapsed .sidebar-footer>div:not(.avatar),.sidebar-collapsed .sidebar-footer .icon-btn{display:block}.desktop-sidebar-toggle{display:none}.sidebar-toggle{display:grid;position:absolute;right:0;top:9px}.main{margin-left:0}.mobile-menu{display:grid}.topbar{padding:0 16px}.top-actions .btn{padding:9px}.top-actions .btn:not(.primary){display:none}.content{padding:18px}.grid-3,.grid-2,.form-grid{grid-template-columns:1fr}.hero h2{font-size:27px}}@media(max-width:520px){.grid-4{grid-template-columns:1fr}.top-actions .primary{font-size:0;width:40px;justify-content:center}.top-actions .primary .material-symbols-outlined{font-size:20px}.table th,.table td{padding:11px 10px}}

.logo-light{display:none}.logo-dark{display:block}html[data-theme=light] .logo-dark{display:none}html[data-theme=light] .logo-light{display:block}

/* Master management */
.form-card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.form-card-title h3{margin:0;font-size:18px}.form-card-title p{margin:4px 0 0;color:var(--muted);font-size:13px}.field input::placeholder{color:var(--muted);opacity:.75}.field input,.field select,.field textarea{min-height:44px;appearance:none}.field select{background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 18px,calc(100% - 12px) 18px;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:38px}.field.checkbox{flex-direction:row;align-items:center;gap:10px;padding-top:28px}.field.checkbox input{width:18px;height:18px;min-height:18px;appearance:auto;accent-color:var(--purple);padding:0;border:0;box-shadow:none}.row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn.small{padding:8px 11px;font-size:12px;border-radius:9px}.btn.danger{background:rgba(255,138,91,.12);color:var(--coral);border:1px solid rgba(255,138,91,.25)}.btn.success{background:rgba(0,212,196,.1);color:var(--turquoise);border:1px solid rgba(0,212,196,.2)}.btn.ghost{background:transparent;color:var(--muted);border:1px solid var(--border)}.status-card{display:flex;align-items:center;justify-content:space-between;gap:15px}.table td.actions-cell{white-space:normal;min-width:220px}.plan-card{position:relative}.plan-card .plan-badge{position:absolute;right:20px;top:20px}.master-section{margin-top:18px}.subtle{font-size:12px;color:var(--muted)}

.table select{border:1px solid var(--border);background:var(--surface2);color:var(--text);border-radius:9px;padding:8px 34px 8px 10px;font:inherit;font-size:12px;min-height:38px;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 15px) 15px,calc(100% - 10px) 15px;background-size:5px 5px;background-repeat:no-repeat}

/* Isotipo para sidebar retraído */
.logo-isotipo{display:none;width:48px;height:48px;object-fit:contain;flex:0 0 48px}
.sidebar-collapsed .brand-logo{max-width:50px;width:50px}
.sidebar-collapsed .brand-logo .logo-dark,.sidebar-collapsed .brand-logo .logo-light{display:none!important}
.sidebar-collapsed .brand-logo .logo-isotipo{display:block!important}
.sidebar-collapsed .brand{justify-content:center}
@media(max-width:800px){.sidebar-collapsed .brand-logo{max-width:215px;width:auto}.sidebar-collapsed .brand-logo .logo-dark,.sidebar-collapsed .brand-logo .logo-light{display:block!important}.sidebar-collapsed .brand-logo .logo-isotipo{display:none!important}}

html.sidebar-state-ready .sidebar,html.sidebar-state-ready .main{transition:none!important}
.sidebar .material-symbols-outlined{transform:none!important}

/* Staff / roles */
.staff-form{min-width:0}.readonly-value{min-height:44px;display:flex;align-items:center;padding:10px 12px;border:1px solid var(--border);background:rgba(127,127,150,.06);color:var(--muted);border-radius:10px}.role-manager{overflow:hidden}.role-form{margin-top:2px}.role-form-grid{display:grid;grid-template-columns:minmax(260px,1.15fr) minmax(300px,1fr) auto;gap:14px;align-items:end;padding:16px;border:1px solid var(--border);background:linear-gradient(180deg,rgba(123,92,255,.055),rgba(255,60,172,.025));border-radius:14px}.permission-option{min-height:44px;display:flex;align-items:center;gap:12px;padding:10px 13px;border:1px solid var(--border);background:var(--surface2);border-radius:10px;cursor:pointer}.permission-option:hover{border-color:rgba(123,92,255,.35);background:rgba(123,92,255,.05)}.permission-option input{width:18px;height:18px;flex:0 0 18px;margin:0;appearance:auto;accent-color:var(--purple)}.permission-option span{display:flex;flex-direction:column;gap:2px}.permission-option strong{font-size:13px}.permission-option small{font-size:11px;color:var(--muted);line-height:1.35}.role-form-actions{display:flex;gap:8px;justify-content:flex-end}.role-manager .table{min-width:850px}.role-manager .table td.actions-cell{min-width:360px}.staff-form .form-card-title{margin-bottom:18px}@media(max-width:1100px){.role-form-grid{grid-template-columns:1fr 1fr}.role-form-actions{grid-column:1/-1;justify-content:flex-end}}@media(max-width:800px){.role-form-grid{grid-template-columns:1fr}.role-form-actions{grid-column:auto;justify-content:flex-end}}
.location-form{max-width:1000px}.location-form .form-card-title{padding-bottom:2px}.location-form .actions{align-items:center}.location-form .btn.danger{margin-right:auto}
.event-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:4px 0 18px;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:14px;position:sticky;top:84px;z-index:10}.event-tab{border:0;background:transparent;color:var(--muted);font:inherit;font-weight:600;padding:10px 14px;border-radius:10px;cursor:pointer}.event-tab:hover{background:rgba(123,92,255,.08);color:var(--text)}.event-tab.active{background:var(--gradient);color:#fff;box-shadow:0 7px 18px rgba(123,92,255,.18)}.event-tab-panel{display:none}.event-tab-panel.active{display:block}.internal-panel{border-color:rgba(123,92,255,.28);background:linear-gradient(180deg,rgba(123,92,255,.045),var(--surface))}.event-savebar{position:sticky;bottom:16px;margin-top:20px;padding:12px 14px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(14px);border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:9;box-shadow:var(--shadow)}.event-savebar span{font-size:12px;color:var(--muted)}.moments-list{display:flex;flex-direction:column;gap:10px}.moment-card{display:grid;grid-template-columns:34px 1fr auto;gap:10px;border:1px solid var(--border);background:var(--surface2);border-radius:13px;padding:12px;transition:.18s}.moment-card:hover{border-color:rgba(123,92,255,.25)}.moment-card.is-off{opacity:.58}.moment-card.dragging{opacity:.45;border-color:var(--purple)}.moment-drag,.drag-handle{display:grid;place-items:center;color:var(--muted);cursor:grab}.moment-body .form-grid{gap:12px}.moment-actions{display:flex;align-items:flex-start;gap:7px}.moment-switch{display:flex;align-items:center;gap:5px;color:var(--muted);cursor:pointer}.moment-switch input{display:none}.moment-switch .material-symbols-outlined{color:var(--turquoise)}.moment-card.is-off .moment-switch .material-symbols-outlined{color:var(--muted)}.input-inline{display:flex;gap:6px;align-items:center}.input-inline input{flex:1}.comment-box{margin-top:8px}.comment-box textarea{min-height:90px}.add-moment{display:flex;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.add-moment .new-moment-title{flex:1;border:1px solid var(--border);background:var(--surface2);color:var(--text);border-radius:10px;padding:11px 12px;font:inherit}.default-list{display:flex;flex-direction:column;gap:8px;padding:12px}.default-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto auto;gap:9px;align-items:center;padding:9px;border:1px solid var(--border);background:var(--surface2);border-radius:10px}.default-row.dragging{opacity:.45;border-color:var(--purple)}.default-edit{display:grid;grid-template-columns:180px minmax(0,1fr) auto;gap:8px;align-items:center}.default-edit input,.default-edit select{width:100%;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:9px;padding:9px;font:inherit}.reorder-form{display:flex;justify-content:flex-end;padding:0 12px 12px}.reorder-inputs{display:none}.checkbox input{width:18px!important;height:18px!important;min-height:18px!important;appearance:auto!important;accent-color:var(--purple)}.staff-multi{min-height:150px}.staff-multi option{padding:7px}.subtle{text-transform:none;letter-spacing:0}@media(max-width:800px){.event-tabs{top:76px;overflow:auto;flex-wrap:nowrap}.event-tab{white-space:nowrap}.moment-card{grid-template-columns:26px 1fr}.moment-actions{grid-column:2}.default-row{grid-template-columns:26px 1fr}.default-edit{grid-template-columns:1fr}.default-row>.pill,.default-row>.row-actions{grid-column:2}.event-savebar{align-items:stretch;flex-direction:column}.add-moment{flex-direction:column}}
/* Staff: formulario de invitación/edición en ancho completo para evitar paneles estrechos. */
.staff-management{display:flex;flex-direction:column;gap:18px;margin-top:18px}.staff-invite-card,.staff-editor-card{width:100%;overflow:visible}.staff-invite-card .form-card-title,.staff-editor-card .form-card-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.staff-inline-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:end}.staff-inline-form .field{min-width:0}.staff-form-actions{display:flex;align-items:flex-end;justify-content:flex-end;min-height:44px}.staff-form-actions .btn{width:100%;justify-content:center;min-height:44px}.staff-team-card{overflow:hidden}.staff-team-card .card-header{padding:20px}.staff-team-card .table-wrap{overflow-x:auto}.staff-team-card .table{min-width:1050px}@media(max-width:1100px){.staff-inline-form{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-inline-form .staff-form-actions{grid-column:1/-1;justify-content:flex-end}.staff-form-actions .btn{width:auto}}@media(max-width:800px){.staff-inline-form{grid-template-columns:1fr}.staff-inline-form .staff-form-actions{grid-column:auto}.staff-form-actions .btn{width:100%}.staff-invite-card .form-card-title,.staff-editor-card .form-card-title{align-items:flex-start;flex-direction:column}.staff-invite-card .form-card-title .btn,.staff-editor-card .form-card-title .btn{align-self:flex-end}}
