.app-bar{justify-content:space-between;align-items:center;gap:32px;padding:4px 8px calc(.5rem + 12px);display:flex;position:relative}.app-brand{align-items:center;gap:12px;display:flex}.app-logo{display:block}.app-subtitle{color:var(--ink-mute);letter-spacing:.04em;border-left:1px solid var(--border-default);padding-left:12px;font-size:11px;font-weight:500;line-height:1}.app-meta{color:var(--ink-soft);text-align:right;align-items:center;gap:20px;font-size:11px;display:flex}.app-meta-text{font-size:11px;line-height:1.45}.app-meta-text strong{color:var(--ink);font-feature-settings:"tnum" 1;font-weight:600}.app-pill{color:var(--ink);background:var(--bg-surface);box-shadow:var(--shadow-xs);border-radius:999px;align-items:center;gap:9px;padding:6px 13px 6px 11px;font-size:11px;font-weight:500;display:inline-flex}.app-pill:before{content:"";background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 3px var(--accent-glow);animation:pill-pulse 2.4s var(--ease-in-out) infinite;border-radius:50%;flex-shrink:0}@keyframes pill-pulse{0%,to{box-shadow:0 0 0 3px var(--accent-glow)}50%{box-shadow:0 0 0 6px #0000}}.header-nav{align-items:center;gap:22px;display:flex}.header-nav a{color:var(--ink-mute);cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .2s var(--ease-out);font-size:12px;font-weight:400;line-height:1;text-decoration:none}.header-nav a:hover{color:var(--ink)}.header-nav a.is-active{color:var(--ink);font-weight:600}.view-controls{background:var(--bg-elevated);border-radius:999px;align-items:center;gap:2px;padding:3px;transition:background-color .3s;display:flex}.view-controls button{width:26px;height:26px;color:var(--ink-mute);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.view-controls button svg{stroke:currentColor;stroke-width:1.8px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:13px;height:13px}.view-controls button:hover{color:var(--ink)}.view-controls button[data-active=true]{background:var(--bg-surface);color:var(--ink);box-shadow:0 1px 3px #0000000f}.view-divider{background:var(--border-default);width:1px;height:18px;margin:0 4px}.kpi{background:var(--bg-base);border-radius:var(--radius-lg);min-width:0;min-height:100px;box-shadow:var(--shadow-kpi);will-change:transform;border:none;flex-direction:column;justify-content:space-between;padding:16px 18px;transition:transform .32s cubic-bezier(.32,.72,.05,1),box-shadow .32s cubic-bezier(.32,.72,.05,1);display:flex;position:relative}.kpi:hover{transform:translateY(-2px);box-shadow:0 14px 32px -12px #2e2d2a2e,0 4px 10px -3px #2e2d2a12}:root[data-theme=dark] .kpi:hover{box-shadow:0 0 0 1px #fff8e614,0 14px 32px -12px #0000008c}.kpi-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-mute);font-size:10px;font-weight:600}.kpi-value{color:var(--ink);letter-spacing:-.025em;font-feature-settings:"tnum" 1, "lnum" 1;margin-top:6px;font-size:26px;font-weight:600;line-height:1.05}.kpi-value-unit{color:var(--ink-mute);margin-left:4px;font-size:14px;font-weight:500}.kpi-value-fraction{color:var(--ink-mute);letter-spacing:0;font-size:14px;font-weight:500}.kpi-meta{color:var(--ink-soft);font-feature-settings:"tnum" 1;align-items:center;gap:4px;margin-top:4px;font-size:11px;animation:.6s cubic-bezier(.23,1,.32,1) .4s both kpi-meta-in;display:inline-flex}.kpi-meta.up{color:var(--success);font-weight:700}.kpi-meta.up:before{content:"↑";display:inline-block}.kpi-meta.down{color:var(--danger);font-weight:700}.kpi-meta.down:before{content:"↓";display:inline-block}@keyframes kpi-meta-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.kpi-tall{grid-area:1/1/span 2;padding:18px 20px}.kpi-tall-head{flex-direction:column;display:flex}.kpi-tall .kpi-value{letter-spacing:-.03em;margin-top:4px;font-size:44px;font-weight:600;line-height:1}.kpi-tall .kpi-meta{margin-top:6px;font-size:11px}.kpi-tall .kpi-chart{align-items:flex-end;gap:3px;height:56px;margin-top:auto;padding-top:12px;display:flex}.kpi-tall .kpi-chart span{background:var(--ink);opacity:0;transform-origin:bottom;border-radius:2px 2px 0 0;flex:1;transition:opacity .18s;animation:.55s cubic-bezier(.32,.72,.05,1) both kpi-bar-rise}.kpi-tall .kpi-chart span:hover{opacity:1!important}.kpi-tall .kpi-chart span.is-max{background:var(--accent)}@keyframes kpi-bar-rise{0%{opacity:0;transform:scaleY(0)}to{opacity:.85;transform:scaleY(1)}}.kpi-wide{grid-area:1/5/auto/span 2}.kpi-wide .kpi-value{letter-spacing:-.025em;font-size:34px}.kpi-wide .kpi-row{align-items:baseline;gap:20px;margin-top:6px;display:flex}.kpi-wide .kpi-row .kpi-value{margin-top:0}.kpi-wide .kpi-sub{color:var(--ink-soft);font-size:11px;line-height:1.45}.kpi-wide .kpi-sub strong{color:var(--ink);font-feature-settings:"tnum" 1;font-weight:700}@media (prefers-reduced-motion:reduce){.kpi{transition:none}.kpi:hover{transform:none}.kpi-tall .kpi-chart span,.kpi-meta{opacity:.85;animation:none}.kpi-meta{opacity:1}}.kpis-toggle{border:1px solid var(--border-default);background:var(--bg-base);width:28px;height:16px;color:var(--ink-mute);cursor:pointer;box-shadow:var(--shadow-xs);border-radius:999px;justify-content:center;align-items:center;padding:0;transition:color .2s;display:inline-flex;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.kpis-toggle:hover{color:var(--ink)}.kpis-toggle svg{stroke:currentColor;stroke-width:2px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px;transition:transform .36s cubic-bezier(.32,.72,.05,1)}.kpis-toggle[data-hidden=true] svg{transform:rotate(180deg)}.kpis-toggle:hover{background:var(--bg-elevated);border-color:var(--border-strong)}.user-menu-trigger{background:var(--bg-elevated);color:var(--ink-soft);cursor:pointer;transition:background .18s var(--ease-out), color .18s var(--ease-out);border:0;border-radius:999px;align-items:center;gap:6px;padding:3px 8px 3px 3px;display:inline-flex}.user-menu-trigger:hover{background:var(--bg-sunken);color:var(--ink)}.user-menu-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.user-menu-avatar{background:var(--ink);width:24px;height:24px;color:var(--bg-surface);font-family:var(--font-mono);letter-spacing:.04em;border-radius:50%;justify-content:center;align-items:center;font-size:9px;font-weight:700;display:inline-flex}.user-menu-content{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);min-width:220px;box-shadow:var(--shadow-md);font-family:var(--font-ui);padding:6px}.user-menu-label{padding:8px 10px 6px;font-weight:400}.user-menu-name{color:var(--ink);font-size:12px;font-weight:600}.user-menu-email{font-family:var(--font-mono);color:var(--ink-mute);letter-spacing:.02em;font-feature-settings:"tnum" 1;margin-top:2px;font-size:10px}.user-menu-content [role=menuitem]{width:100%;color:var(--ink-soft);cursor:pointer;transition:background .15s var(--ease-out), color .15s var(--ease-out);border-radius:6px;outline:none;align-items:center;gap:8px;padding:8px 10px;font-size:12px;font-weight:500;display:inline-flex!important}.user-menu-content [role=menuitem]:hover,.user-menu-content [role=menuitem][data-highlighted]{background:var(--bg-elevated);color:var(--ink)}.user-menu-content [role=menuitem][data-disabled]{opacity:.5;cursor:progress}.user-menu-item-danger:hover,.user-menu-item-danger[data-highlighted]{color:var(--danger)!important;background:var(--danger-soft)!important}.user-menu-content [role=separator]{background:var(--border-default);height:1px;margin:4px 0}
.page-shell{--gap:16px;gap:var(--gap);flex-direction:column;width:100%;min-height:calc(100dvh - 60px);padding:20px;display:flex}.page-header{border-bottom:1px solid var(--border-default);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px;padding:4px 4px 12px;display:flex}.page-header-left{flex-direction:column;gap:4px;min-width:0;display:flex}.page-header-right{align-items:center;gap:12px;display:flex}.page-title{color:var(--ink);letter-spacing:-.02em;font-size:22px;font-weight:700;line-height:1.1}.page-subtitle{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-mute);font-size:10px;font-weight:600}.page-metric{font-family:var(--font-mono);color:var(--ink);background:var(--bg-elevated);font-feature-settings:"tnum" 1;border-radius:999px;padding:5px 11px;font-size:11px;font-weight:700}.page-panel{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.page-panel-head{border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;padding:14px 18px 10px;display:flex}.page-panel-title{color:var(--ink);letter-spacing:-.01em;font-size:13px;font-weight:700}.page-panel-sub{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-mute);margin-top:2px;font-size:10px;font-weight:500}.page-panel-body{flex:auto;min-height:0;overflow-y:auto}.page-panel-body--padded{padding:16px 18px}.page-empty{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:60px 24px;display:flex}.page-empty-icon{background:var(--bg-elevated);width:44px;height:44px;color:var(--ink-mute);border-radius:50%;justify-content:center;align-items:center;margin-bottom:6px;display:inline-flex}.page-empty-title{color:var(--ink);font-size:13px;font-weight:600}.page-empty-desc{color:var(--ink-soft);max-width:320px;font-size:11px;line-height:1.5}.page-grid{gap:var(--gap);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));padding:16px 18px;display:grid}.page-card{background:var(--bg-base);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:border-color .18s var(--ease-out), transform .18s var(--ease-out), background .18s var(--ease-out);flex-direction:column;gap:8px;padding:14px 16px;display:flex}.page-card:hover{border-color:var(--border-strong);background:var(--bg-surface);transform:translateY(-1px)}.page-card-head{align-items:center;gap:10px;display:flex}.page-card-avatar{background:var(--bg-elevated);width:32px;height:32px;font-family:var(--font-mono);color:var(--ink);letter-spacing:.04em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.page-card-title{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;line-height:1.2;overflow:hidden}.page-card-sub{font-family:var(--font-mono);color:var(--ink-mute);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:500}.page-card-stats{border-top:1px solid var(--border-default);grid-template-columns:1fr 1fr;gap:6px 12px;margin-top:6px;padding-top:8px;display:grid}.page-card-stat{flex-direction:column;gap:2px;display:flex}.page-card-stat-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-mute);font-size:9px;font-weight:600}.page-card-stat-value{color:var(--ink);font-feature-settings:"tnum" 1;font-size:14px;font-weight:700}.page-table{border-collapse:collapse;width:100%;font-size:12px}.page-table thead th{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-mute);text-align:left;border-bottom:1px solid var(--border-default);background:var(--bg-base);z-index:1;padding:10px 14px;font-size:9px;font-weight:700;position:sticky;top:0}.page-table tbody td{border-bottom:1px solid var(--border-default);color:var(--ink);vertical-align:middle;padding:11px 14px}.page-table tbody td.muted{color:var(--ink-soft)}.page-table tbody td.mono{font-family:var(--font-mono);color:var(--ink-mute);font-feature-settings:"tnum" 1;font-size:11px}.page-table tbody tr{transition:background .18s var(--ease-out)}.page-table tbody tr:hover{background:var(--bg-elevated)}.page-table tbody tr:last-child td{border-bottom:none}.muted-suffix{color:var(--ink-mute);margin-left:4px}.page-badge{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.05em;background:var(--bg-elevated);color:var(--ink-soft);white-space:nowrap;border-radius:999px;padding:3px 8px;font-size:9px;font-weight:700;display:inline-block}.page-badge--success{background:var(--success-soft);color:var(--success)}.page-badge--warning{background:var(--warning-soft);color:var(--warning)}.page-badge--danger{background:var(--danger-soft);color:var(--danger)}.page-badge--info{background:var(--info-soft);color:var(--info)}.page-badge--neutral{background:var(--neutral-soft);color:var(--ink-soft)}.page-action-primary{text-transform:uppercase;letter-spacing:.08em;color:var(--bg-surface);background:var(--ink);border:1px solid var(--ink);cursor:pointer;transition:background .2s var(--ease-out), transform .15s var(--ease-out);border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:10px;font-weight:700;display:inline-flex}.page-action-primary:hover{background:var(--ink-soft);transform:translateY(-1px)}.page-action-primary:active{transform:scale(.97)}.reportes-row{gap:var(--gap);min-height:0;display:grid}.reportes-row--3{grid-template-columns:repeat(3,minmax(0,1fr));min-height:320px}.reportes-row--2{grid-template-columns:repeat(2,minmax(0,1fr));min-height:320px}@media (max-width:1280px){.reportes-row--3{grid-template-columns:1fr 1fr}.reportes-row--3>:nth-child(3){grid-column:span 2}.reportes-row--2{grid-template-columns:1fr}}@media (max-width:768px){.reportes-row--3{grid-template-columns:1fr}.reportes-row--3>:nth-child(3){grid-column:1}}
.dt-picker-wrap{min-width:0;position:relative}.dt-control{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-surface);width:100%;height:30px;color:var(--ink);cursor:pointer;font:inherit;text-align:left;font-variant-numeric:tabular-nums;outline:none;align-items:center;gap:6px;padding:0 9px;font-size:12px;transition:border-color .18s,box-shadow .18s;display:flex}.dt-control:hover{border-color:color-mix(in oklch, var(--ink) 22%, var(--border-default))}.dt-control:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklch, var(--accent) 15%, transparent)}.dt-control--filled{border-color:color-mix(in oklch, var(--ink) 18%, var(--border-default))}.dt-control--filled .dt-icon{color:var(--accent)}.dt-icon{color:var(--ink-mute);flex-shrink:0}.dt-text{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.dt-text--date{flex:1;min-width:0}.dt-text--time{font-family:var(--font-mono);flex:none;font-size:11px}.dt-text--muted{color:var(--ink-mute);font-style:italic}.dt-divider{color:var(--border-default);-webkit-user-select:none;user-select:none;padding:0 2px}.dt-pop{z-index:30;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:0 12px 28px color-mix(in oklch, var(--ink) 12%, transparent);grid-template-columns:1.45fr 1fr;gap:0;width:360px;display:grid;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden}.dt-cal{border-right:1px solid color-mix(in oklch, var(--ink) 6%, transparent);padding:10px 12px}.dt-cal-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.dt-cal-title{color:var(--ink);letter-spacing:-.005em;text-transform:capitalize;font-size:12px;font-weight:500}.dt-cal-nav{border:1px solid var(--border-default);border-radius:var(--radius-sm);width:22px;height:22px;color:var(--ink-mute);cursor:pointer;background:0 0;justify-content:center;align-items:center;transition:background .16s,color .16s;display:inline-flex}.dt-cal-nav:hover{background:color-mix(in oklch, var(--ink) 6%, transparent);color:var(--ink)}.dt-cal-weekdays{font-family:var(--font-mono);letter-spacing:.1em;color:var(--ink-mute);text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px;font-size:8.5px;display:grid}.dt-cal-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.dt-cal-day{border-radius:var(--radius-sm);height:24px;font-family:var(--font-mono);color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;font-size:10.5px;transition:background .14s,border-color .14s;display:inline-flex}.dt-cal-day:hover:not(:disabled){background:color-mix(in oklch, var(--accent) 10%, transparent)}.dt-cal-day--out{color:color-mix(in oklch, var(--ink-mute) 50%, transparent);cursor:default}.dt-cal-day--today{border-color:var(--accent);color:var(--accent)}.dt-cal-day--selected{background:var(--accent);color:var(--bg-surface);border-color:var(--accent);font-weight:600}.dt-cal-day--selected:hover{background:var(--accent)}.dt-time{flex-direction:column;gap:8px;padding:10px 12px;display:flex}.dt-time-eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);font-size:8.5px}.dt-time-controls{grid-template-columns:1fr 1.4fr 1fr;align-items:center;gap:4px;display:grid}.dt-time-step{border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;height:28px;font:inherit;font-size:10.5px;font-family:var(--font-mono);color:var(--ink-mute);background:0 0;transition:background .14s,color .14s,border-color .14s}.dt-time-step:hover{background:color-mix(in oklch, var(--accent) 8%, transparent);color:var(--accent);border-color:color-mix(in oklch, var(--accent) 28%, var(--border-default))}.dt-time-input{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-base);width:100%;height:28px;color:var(--ink);text-align:center;font-family:var(--font-mono);letter-spacing:.04em;font-variant-numeric:tabular-nums;outline:none;font-size:13px;font-weight:500}.dt-time-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklch, var(--accent) 15%, transparent)}.dt-time-quick{grid-template-columns:repeat(4,1fr);gap:3px;display:grid}.dt-time-quick>button{border:1px solid var(--border-default);border-radius:var(--radius-sm);height:22px;font-family:var(--font-mono);color:var(--ink-mute);cursor:pointer;background:0 0;font-size:9.5px;transition:background .14s,color .14s}.dt-time-quick>button:hover{background:color-mix(in oklch, var(--accent) 10%, transparent);color:var(--accent)}.dt-time-actions{gap:4px;margin-top:auto;display:flex}.dt-time-now,.dt-time-confirm{border-radius:var(--radius-sm);height:26px;font:inherit;cursor:pointer;flex:1;font-size:11px;font-weight:500;transition:filter .14s}.dt-time-now{border:1px solid var(--border-default);color:var(--ink);background:0 0}.dt-time-now:hover{background:color-mix(in oklch, var(--ink) 5%, transparent)}.dt-time-confirm{border:1px solid var(--accent);background:var(--accent);color:var(--bg-surface)}.dt-time-confirm:hover{filter:brightness(1.05)}.dt-pop--solo{display:block;left:auto;right:0}.dt-pop--solo .dt-cal{border-right:none}.dt-solo-actions{gap:4px;padding:8px 12px 10px;display:flex}.dt-solo-actions>button{cursor:pointer;border-radius:5px;flex:1;height:26px;font-size:11px;font-weight:500;transition:filter .14s}
