:root{--bg:#0c0e18;--bg-2:#141724;--surface:#1a1e2db3;--surface-solid:#1d212f;--border:#7a87b824;--text:#f2f4f8;--muted:#9aa3b6;--primary:#24b6f9;--primary-2:#895af6;--accent:#1bdaa1;--warning:#faaf2e;--danger:#f04c62;--grad:linear-gradient(135deg, var(--primary), var(--primary-2));--radius:16px;--radius-sm:10px;--shadow:0 10px 40px #02030873;--ease:cubic-bezier(.2, .8, .2, 1);--sidebar-w:248px;--sidebar-w-collapsed:76px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Outfit,system-ui,-apple-system,Segoe UI,sans-serif}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:radial-gradient(1200px 600px at 85% -10%, #4514b82e, transparent 60%), radial-gradient(900px 500px at -10% 110%, #0b99da24, transparent 60%), var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}h1,h2,h3{letter-spacing:-.01em;margin:0}code{background:#242a42;border-radius:6px;padding:2px 6px;font-family:ui-monospace,monospace;font-size:.9em}.muted{color:var(--muted)}.tiny{font-size:.78rem;display:block}.error-text{color:var(--danger);margin:0;font-size:.9rem}.glass-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(18px)saturate(140%);backdrop-filter:blur(18px)saturate(140%);box-shadow:var(--shadow)}.btn{font:inherit;cursor:pointer;border-radius:var(--radius-sm);color:var(--text);transition:transform .2s var(--ease), box-shadow .2s var(--ease), background .2s;border:1px solid #0000;padding:.6rem 1.1rem;font-weight:600}.btn:disabled{opacity:.6;cursor:progress}.btn--primary{background:var(--grad);box-shadow:0 6px 24px #256af459}.btn--primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 30px #3d3df573}.btn--ghost{border-color:var(--border);background:0 0}.btn--ghost:hover{background:#363f6359}.btn--lg{width:100%;padding:.9rem 1.6rem;font-size:1rem}.icon-btn{border-radius:var(--radius-sm);border:1px solid var(--border);width:40px;height:40px;color:var(--text);cursor:pointer;background:0 0;place-items:center;transition:background .2s;display:grid}.icon-btn:hover{background:#363f6359}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.brand-mark{background:var(--grad);color:#fff;border-radius:18px;place-items:center;width:64px;height:64px;font-weight:800;display:grid;box-shadow:0 8px 30px #3d5cf566}.brand-mark--sm{border-radius:12px;flex-shrink:0;width:40px;height:40px;font-size:.95rem}.brand-mark--error{background:linear-gradient(135deg, var(--danger), var(--warning));font-size:1.8rem}.center-screen{place-items:center;min-height:100%;padding:1.5rem;display:grid;position:relative;overflow:hidden}.login-card{z-index:1;text-align:center;width:min(420px,100%);animation:rise .6s var(--ease) both;flex-direction:column;align-items:center;gap:1rem;padding:2.5rem 2rem;display:flex;position:relative}.login-card h1{background:linear-gradient(90deg, var(--text), #9eddfa);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:1.8rem;font-weight:700}.login-card p{margin:0}.orb{filter:blur(70px);opacity:.55;border-radius:50%;animation:14s ease-in-out infinite float;position:absolute}.orb--1{background:var(--primary-2);width:380px;height:380px;top:-80px;right:-60px}.orb--2{background:var(--primary);width:320px;height:320px;animation-delay:-6s;bottom:-90px;left:-50px}.app-shell{min-height:100%;display:flex}.sidebar{width:var(--sidebar-w);border-right:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);height:100vh;transition:width .3s var(--ease);background:#10131ecc;flex-direction:column;flex-shrink:0;gap:1.5rem;padding:1.25rem .9rem;display:flex;position:sticky;top:0}.sidebar--collapsed{width:var(--sidebar-w-collapsed)}.sidebar__brand{white-space:nowrap;align-items:center;gap:.75rem;padding:0 .3rem;display:flex;overflow:hidden}.sidebar__brand strong{display:block}.nav-list{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.nav-item{border-radius:var(--radius-sm);width:100%;color:var(--muted);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:.8rem;padding:.7rem .8rem;font-weight:500;transition:background .2s,color .2s;display:flex;position:relative;overflow:hidden}.nav-item:hover{color:var(--text);background:#272e4999}.nav-item--active{color:var(--text);background:#258cf424}.nav-item--active:before{content:"";background:var(--grad);border-radius:3px;width:3px;position:absolute;top:20%;bottom:20%;left:0}.nav-item__icon{flex-shrink:0;place-items:center;display:grid}.nav-item--active .nav-item__icon{color:var(--primary)}.app-main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:5;background:#0e111b99;align-items:center;gap:1rem;padding:.9rem 1.5rem;display:flex;position:sticky;top:0}.topbar__title{flex:1;font-size:1.25rem;font-weight:600}.topbar__user{align-items:center;gap:.75rem;display:flex}.avatar{background:var(--grad);border-radius:50%;place-items:center;width:36px;height:36px;font-size:.85rem;font-weight:700;display:grid}.content{flex:1;min-height:0;padding:1.5rem}.placeholder-card{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:3rem 2rem;display:flex}.placeholder-card__icon{width:64px;height:64px;color:var(--primary);background:#258cf424;border-radius:18px;place-items:center;display:grid}.placeholder-card__icon svg{width:30px;height:30px}.placeholder-card p{margin:0}.toast{border-radius:var(--radius-sm);background:var(--surface-solid);color:var(--warning);box-shadow:var(--shadow);animation:rise .4s var(--ease) both;z-index:50;border:1px solid #faaf2e80;padding:.9rem 1.2rem;position:fixed;bottom:1.5rem;right:1.5rem}.topbar__actions{align-items:center;gap:.75rem;margin-right:auto;display:flex}.sync-container{align-items:center;gap:.6rem;display:flex;position:relative}.sync-time{color:var(--muted);background:#1d213599;border-radius:6px;padding:.2rem .5rem;font-size:.8rem}.btn--sync{color:var(--text);border-color:#25b2f44d;align-items:center;gap:.5rem;padding:.45rem .85rem;font-size:.88rem;display:inline-flex}.btn--sync:hover:not(:disabled){border-color:var(--primary);background:#25b2f41f}.btn--syncing{opacity:.7;cursor:wait}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.sync-toast{border-radius:var(--radius-sm);background:var(--surface-solid);box-shadow:var(--shadow);z-index:60;animation:rise .3s var(--ease) both;align-items:center;gap:.8rem;padding:.85rem 1.2rem;font-size:.9rem;display:flex;position:fixed;top:4.5rem;right:1.5rem}.sync-toast--success{color:var(--accent);border:1px solid #1bdaa199}.sync-toast--error{color:var(--danger);border:1px solid #f04c6299}.sync-toast__close{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:0;padding:0 .2rem;font-size:1rem;transition:opacity .2s}.sync-toast__close:hover{opacity:1}.view-container,.resumen-container{flex-direction:column;gap:1.25rem;min-height:0;display:flex}.file-banner{border-left:3px solid var(--accent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.4rem;display:flex}.file-banner__info{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.file-banner__badge{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);background:#1bdaa126;border-radius:4px;padding:.2rem .5rem;font-size:.72rem;font-weight:700}.file-banner__name{color:var(--text);font-size:1rem}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.kpi-card{cursor:pointer;transition:transform .2s var(--ease), border-color .2s;flex-direction:column;gap:.5rem;padding:1.25rem;display:flex}.kpi-card:hover{border-color:#25b2f466;transform:translateY(-2px)}.kpi-card__header{justify-content:space-between;align-items:center;display:flex}.kpi-card__title{color:var(--muted);font-size:.85rem;font-weight:500}.kpi-card__icon{border-radius:10px;place-items:center;width:34px;height:34px;font-size:1.1rem;display:grid}.kpi-card__icon--blue{background:#25b2f426}.kpi-card__icon--purple{background:#895af626}.kpi-card__icon--green{background:#1bdaa126}.kpi-card__icon--amber{background:#faaf2e26}.kpi-card__value{letter-spacing:-.02em;background:linear-gradient(135deg, var(--text), #9eddfa);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:2.1rem;font-weight:800}.kpi-card__sub{font-size:.78rem}.charts-grid{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:1.25rem;display:grid}.chart-card{flex-direction:column;height:340px;padding:1.4rem;display:flex}.chart-card h3{margin-bottom:.2rem;font-size:1.1rem}.chart-wrapper{flex:1;min-height:0;margin-top:.6rem;position:relative}.breakdown-card{flex-direction:column;gap:1rem;padding:1.4rem;display:flex}.breakdown-header{justify-content:space-between;align-items:center;display:flex}.breakdown-list{flex-direction:column;gap:.75rem;display:flex}.breakdown-row{align-items:center;gap:1rem;font-size:.9rem;display:flex}.breakdown-row__info{flex-shrink:0;align-items:center;gap:.6rem;width:240px;display:flex}.breakdown-bullet{border-radius:50%;flex-shrink:0;width:10px;height:10px}.breakdown-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.breakdown-bar-container{background:#242a42;border-radius:4px;flex:1;height:8px;overflow:hidden}.breakdown-bar{height:100%;transition:width .5s var(--ease);border-radius:4px}.breakdown-count{text-align:right;flex-shrink:0;width:90px}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.2rem;display:flex}.toolbar__search{border:1px solid var(--border);border-radius:var(--radius-sm);background:#121521cc;flex:1;align-items:center;gap:.6rem;min-width:260px;max-width:480px;padding:.5rem .8rem;display:flex}.toolbar__search input{color:var(--text);font:inherit;background:0 0;border:0;outline:none;width:100%}.clear-btn{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 .2rem;font-size:.85rem}.clear-btn:hover{color:var(--text)}.toolbar__filters{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.select-input{border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);font:inherit;background:#161927;outline:none;padding:.5rem .8rem;font-size:.88rem}.btn--icon{align-items:center;gap:.4rem;display:inline-flex}.results-info{color:var(--muted);padding:0 .3rem;font-size:.85rem}.table-card{flex-direction:column;display:flex;overflow:hidden}.table-responsive{max-width:100%;max-height:calc(100vh - 280px);position:relative;overflow:auto}.data-table{border-collapse:separate;border-spacing:0;text-align:left;width:100%;font-size:.9rem}.data-table thead{z-index:10;position:sticky;top:0}.data-table th{z-index:10;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;background:#171a27;border-bottom:1px solid #7a87b840;padding:.9rem 1rem;font-size:.78rem;font-weight:700;position:sticky;top:0;box-shadow:0 4px 12px -2px #00000080}.data-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.85rem 1rem}.data-table tr:hover td{background:#242a424d}.row--selected td{background:#258cf414}.empty-cell{text-align:center;color:var(--muted);padding:2.5rem}.user-cell{align-items:center;gap:.75rem;display:flex}.user-avatar{background:var(--grad);border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:.75rem;font-weight:700;display:grid}.user-name{color:var(--text);display:block}.upn-code{color:#86bff9;background:0 0;border:0;padding:0;font-size:.85rem}.dept-tag{color:var(--text);background:#20263c;border-radius:6px;padding:.2rem .55rem;font-size:.8rem;display:inline-block}.license-tags{flex-wrap:wrap;gap:.35rem;display:flex}.badge{border-radius:6px;padding:.25rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.badge--license{color:var(--primary);background:#25b2f424;border:1px solid #25b2f44d}.badge--empresa{color:#ba9efa;background:#895af624;border:1px solid #895af64d}.badge--subtle{color:var(--muted);background:#242a42}.badge--primary{background:var(--grad);color:#fff}.badge--success{color:var(--accent);background:#1bdaa126;border:1px solid #1bdaa14d}.badge--count{color:var(--primary);background:#25b2f433;border-radius:12px;padding:.2rem .55rem}.badge--owner{color:#caa5fd;background:#995af233;border:1px solid #995af266;font-weight:700}.badge--member{color:#5af2c4;background:#1bdaa126;border:1px solid #1bdaa14d}.badge--siteadmin{color:#fbc66a;background:#faaf2e26;border:1px solid #faaf2e66;font-weight:700}.badge--visitor{color:#b6bcc9;background:#363d49;border:1px solid #4c5567}.kpi-card__icon--cyan{background:#1ae6e626}.mailbox-cell{flex-direction:column;gap:.3rem;min-width:140px;display:flex}.mailbox-progress{background:#242a42;border-radius:3px;height:6px;overflow:hidden}.mailbox-progress__bar{height:100%;transition:width .4s var(--ease);border-radius:3px}.mailbox-progress__bar--success{background:#1bdaa1}.mailbox-progress__bar--warning{background:#faaf2e}.mailbox-progress__bar--danger{background:#f04c62}.mailbox-info{justify-content:space-between;align-items:center;gap:.4rem;display:flex}.text-danger{color:var(--danger);font-weight:700}.text-warning{color:var(--warning);font-weight:700}.pagination{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:.8rem 1.2rem;display:flex}.licenses-layout{grid-template-columns:360px 1fr;align-items:stretch;gap:1.25rem;height:calc(100vh - 190px);min-height:0;max-height:calc(100vh - 190px);display:grid;overflow:hidden}.licenses-sidebar{flex-direction:column;height:100%;min-height:0;max-height:100%;padding:1.2rem;display:flex;overflow:hidden}.licenses-sidebar__header{border-bottom:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:.2rem;padding-bottom:.6rem;display:flex}.licenses-card-list{flex-direction:column;flex:1 1 0;gap:.6rem;min-height:0;margin-top:.8rem;padding-right:.3rem;display:flex;overflow-y:auto}.license-card{border-radius:var(--radius-sm);border:1px solid var(--border);cursor:pointer;transition:all .2s var(--ease);background:#15192880;padding:.85rem}.license-card:hover{background:#1d213599;border-color:#25b2f466}.license-card--active{border-color:var(--primary);background:#258cf41f}.license-card__top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.license-card__name{color:var(--text);font-size:.9rem;font-weight:600}.license-card__progress{background:#242a42;border-radius:2px;height:4px;margin:.5rem 0;overflow:hidden}.license-card__bar{background:var(--grad);height:100%}.license-card__meta{justify-content:space-between;display:flex}.licenses-detail{flex-direction:column;height:100%;min-height:0;max-height:100%;padding:1.4rem;display:flex;overflow:hidden}.licenses-detail__header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.8rem;display:flex}.licenses-detail .table-responsive{flex:1 1 0;min-height:0;max-height:100%;position:relative;overflow:auto}.file-cell{align-items:center;gap:.75rem;display:flex}.file-icon{font-size:1.4rem}.file-name{color:var(--text);font-size:.95rem}.action-buttons{align-items:center;gap:.4rem;display:flex}.btn--sm{padding:.35rem .7rem;font-size:.8rem}.loading-card{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:4rem 2rem;display:flex}.loading-spinner{border:3px solid #2d3453;border-top-color:var(--primary);border-radius:50%;width:44px;height:44px;animation:1s linear infinite spin}@media (width<=960px){.licenses-layout{grid-template-columns:1fr}.licenses-sidebar{max-height:none}}@media (width<=760px){.sidebar{z-index:20;position:fixed}.sidebar:not(.sidebar--collapsed){box-shadow:var(--shadow)}.app-main{margin-left:var(--sidebar-w-collapsed)}.topbar__name{display:none}.breakdown-row__info{width:140px}}
