/* _content/OrderPulse.Cloud.Api/Components/ControlCenter/ActiveAlertsPanel.razor.rz.scp.css */
.oc-alert-item[b-xpgq0va1mq] {
    display:       flex;
    align-items:   flex-start;
    gap:           .75rem;
    padding:       .6rem 1rem;
    border-bottom: 1px solid #2a2a2a;
}
.oc-alert-item:last-child[b-xpgq0va1mq] { border-bottom: none; }

[b-xpgq0va1mq] .oc-alert-icon { flex-shrink: 0; margin-top: .1rem; font-size: 1.3rem; }
.oc-alert-item--danger[b-xpgq0va1mq]   .oc-alert-icon { color: var(--color-danger); }
.oc-alert-item--warning[b-xpgq0va1mq]  .oc-alert-icon { color: var(--color-warning); }
.oc-alert-item--success[b-xpgq0va1mq]  .oc-alert-icon { color: var(--color-success); }

.oc-alert-text[b-xpgq0va1mq]  { display: flex; flex-direction: column; gap: .15rem; }
.oc-alert-title[b-xpgq0va1mq] { font-weight: 600; font-size: .85rem; }
.oc-alert-description[b-xpgq0va1mq] { color: var(--db-subtle); font-size: .78rem; }
/* _content/OrderPulse.Cloud.Api/Components/ControlCenter/ControlCenterKpis.razor.rz.scp.css */
[b-13rqpgreej] .oc-kpi-card { height: 100%; }

[b-13rqpgreej] .oc-kpi-label {
    display:        block;
    text-transform:  uppercase;
    letter-spacing:  .06em;
    color:           var(--db-subtle);
    margin-bottom:   .5rem;
}

.oc-kpi-dot[b-13rqpgreej] {
    display:       inline-block;
    width:         8px;
    height:        8px;
    border-radius: 50%;
    margin-right:  .4rem;
}
.oc-kpi-dot--success[b-13rqpgreej] { background: var(--color-success); }
.oc-kpi-dot--warning[b-13rqpgreej] { background: var(--color-warning); }
.oc-kpi-dot--danger[b-13rqpgreej]  { background: var(--color-danger);  }

.oc-kpi-columns[b-13rqpgreej] {
    display:      flex;
    align-items:  baseline;
    gap:          .6rem;
    margin-bottom: .3rem;
}

[b-13rqpgreej] .oc-kpi-icon          { font-size: 1.5rem; opacity: .85; }
[b-13rqpgreej] .oc-kpi-icon--primary { color: var(--mud-palette-primary); }
[b-13rqpgreej] .oc-kpi-icon--blue    { color: var(--color-blue); }
[b-13rqpgreej] .oc-kpi-icon--danger  { color: var(--color-danger); }

[b-13rqpgreej] .oc-kpi-value { font-weight: 800; line-height: 1; }
.oc-kpi-unit[b-13rqpgreej] { font-size: .85rem; font-weight: 400; color: var(--db-subtle); }

[b-13rqpgreej] .oc-kpi-delta          { display: block; font-weight: 600; }
[b-13rqpgreej] .oc-kpi-delta--up      { color: var(--color-success); }
[b-13rqpgreej] .oc-kpi-delta--down    { color: var(--color-danger); }
/* _content/OrderPulse.Cloud.Api/Components/ControlCenter/PulseRadarChart.razor.rz.scp.css */
.oc-radar-scores[b-qj5ks093ah] {
    display:   flex;
    flex-wrap: wrap;
    gap:       .5rem;
    margin-top: .5rem;
}

.oc-radar-score-chip[b-qj5ks093ah] {
    padding:       .25rem .6rem;
    border-radius: 20px;
    font-size:     .75rem;
    font-weight:   600;
}
.oc-radar-score-chip--success[b-qj5ks093ah] { background: var(--color-success-bg); color: var(--color-success); border: 1px solid var(--color-success-border); }
.oc-radar-score-chip--warning[b-qj5ks093ah] { background: var(--color-warning-bg); color: var(--color-warning); border: 1px solid var(--color-warning-border); }
.oc-radar-score-chip--danger[b-qj5ks093ah]  { background: var(--color-danger-bg);  color: var(--color-danger);  border: 1px solid var(--color-danger-border);  }

.oc-radar-legend[b-qj5ks093ah] {
    display:    flex;
    flex-wrap:  wrap;
    gap:        .9rem;
    margin-top: .75rem;
    font-size:  .75rem;
    color:      #cccccc;
}
.oc-radar-legend-item[b-qj5ks093ah] { display: flex; align-items: center; gap: .35rem; }
.oc-radar-legend-dot[b-qj5ks093ah]  { width: 9px; height: 9px; border-radius: 50%; flex-shrink: 0; }
.oc-radar-legend-dot--success[b-qj5ks093ah] { background: var(--color-success); }
.oc-radar-legend-dot--warning[b-qj5ks093ah] { background: var(--color-warning); }
.oc-radar-legend-dot--danger[b-qj5ks093ah]  { background: var(--color-danger);  }
/* _content/OrderPulse.Cloud.Api/Components/ControlCenter/ScoreSparkline.razor.rz.scp.css */
.score-sparkline[b-dcnznslk1w] { width: 60px; height: 24px; flex-shrink: 0; }
.score-sparkline--up[b-dcnznslk1w]   { color: var(--color-success); }
.score-sparkline--down[b-dcnznslk1w] { color: var(--color-danger); }
/* _content/OrderPulse.Cloud.Api/Components/ControlCenter/StoreDistributionDonut.razor.rz.scp.css */
.oc-donut-content[b-3iny1hd99z] {
    display:     flex;
    align-items: center;
    gap:         1.5rem;
}

.oc-donut-legend[b-3iny1hd99z] {
    display:        flex;
    flex-direction: column;
    gap:            .5rem;
}

.oc-donut-total[b-3iny1hd99z] {
    display:     flex;
    align-items: baseline;
    gap:         .4rem;
    margin-bottom: .3rem;
}
.oc-donut-total-value[b-3iny1hd99z] { font-size: 1.5rem; font-weight: 800; }
.oc-donut-total-label[b-3iny1hd99z] { font-size: .68rem; color: var(--db-subtle); text-transform: uppercase; letter-spacing: .04em; }

.oc-donut-row[b-3iny1hd99z] { display: flex; align-items: center; gap: .5rem; font-size: .85rem; }
.oc-donut-row strong[b-3iny1hd99z] { margin-left: auto; }

.oc-donut-dot[b-3iny1hd99z] { width: 9px; height: 9px; border-radius: 50%; flex-shrink: 0; }
.oc-donut-dot--success[b-3iny1hd99z] { background: var(--color-success); }
.oc-donut-dot--warning[b-3iny1hd99z] { background: var(--color-warning); }
.oc-donut-dot--danger[b-3iny1hd99z]  { background: var(--color-danger);  }
/* _content/OrderPulse.Cloud.Api/Components/ControlCenter/StoreRankingTable.razor.rz.scp.css */
[b-m5fj51hajz] .oc-ranking-table th {
    text-transform: uppercase;
    font-size: .68rem;
    letter-spacing: .04em;
    color: var(--db-subtle);
}

.oc-priority-badge[b-m5fj51hajz] {
    display:        inline-flex;
    align-items:    center;
    justify-content: center;
    width:          28px;
    height:         28px;
    border-radius:  50%;
    font-weight:    800;
    font-size:      .85rem;
}
.oc-priority-badge--success[b-m5fj51hajz] { background: var(--color-success-bg); color: var(--color-success); border: 1px solid var(--color-success-border); }
.oc-priority-badge--warning[b-m5fj51hajz] { background: var(--color-warning-bg); color: var(--color-warning); border: 1px solid var(--color-warning-border); }
.oc-priority-badge--danger[b-m5fj51hajz]  { background: var(--color-danger-bg);  color: var(--color-danger);  border: 1px solid var(--color-danger-border);  }

.oc-ranking-store-code[b-m5fj51hajz] { display: block; font-weight: 700; }
.oc-ranking-store-name[b-m5fj51hajz] { display: block; color: var(--db-subtle); font-size: .8rem; }

.oc-score-badge[b-m5fj51hajz] {
    display:        inline-flex;
    align-items:    center;
    justify-content: center;
    width:          40px;
    height:         40px;
    border-radius:  50%;
    font-weight:    800;
    font-size:      1rem;
}
.oc-score-badge--success[b-m5fj51hajz] { background: var(--color-success-bg); color: var(--color-success); border: 2px solid var(--color-success-border); }
.oc-score-badge--warning[b-m5fj51hajz] { background: var(--color-warning-bg); color: var(--color-warning); border: 2px solid var(--color-warning-border); }
.oc-score-badge--danger[b-m5fj51hajz]  { background: var(--color-danger-bg);  color: var(--color-danger);  border: 2px solid var(--color-danger-border);  }

.oc-problem-title[b-m5fj51hajz]  { display: block; font-weight: 600; }
.oc-problem-detail[b-m5fj51hajz] { display: block; color: var(--db-subtle); font-size: .8rem; }
/* _content/OrderPulse.Cloud.Api/Components/OperationCenter/OperationCenterKpis.razor.rz.scp.css */
/* Every selector here targets a class applied via Class="..." on a child Mud component
   (MudText/MudCard) — ::deep is required throughout, since those elements belong to the
   Mud components' own render output, not OperationCenterKpis's scope. */
/* Two real columns: icon on the left, a vertical stack (number, then label(s)) on the right,
   so the label text lines up directly under the number instead of spanning the full card
   width. Shared by both the top KPI row and the "estado operativo" semaphore row below. */
.kpi-columns[b-1fyrkmd4b2] {
    display:     flex;
    align-items: center;
    gap:         1.25rem;
}
.kpi-text-col[b-1fyrkmd4b2] {
    display:        flex;
    flex-direction: column;
    gap:            .3rem;
}
[b-1fyrkmd4b2] .kpi-icon           { font-size: 2.2rem; opacity: .85; flex-shrink: 0; }
[b-1fyrkmd4b2] .kpi-icon--primary  { color: var(--mud-palette-primary); }
[b-1fyrkmd4b2] .kpi-icon--blue     { color: var(--color-blue); }
[b-1fyrkmd4b2] .kpi-icon--success  { color: var(--color-success); }
[b-1fyrkmd4b2] .kpi-icon--warning  { color: var(--color-warning); }
[b-1fyrkmd4b2] .kpi-value          { font-weight: 900; line-height: 1; }
[b-1fyrkmd4b2] .kpi-value--primary { color: var(--mud-palette-primary); }
[b-1fyrkmd4b2] .kpi-value--blue    { color: var(--color-blue); }
[b-1fyrkmd4b2] .kpi-value--success { color: var(--color-success); }
[b-1fyrkmd4b2] .kpi-value--warning { color: var(--color-warning); }
[b-1fyrkmd4b2] .kpi-label-text     { text-transform: uppercase; letter-spacing: .06em; }
[b-1fyrkmd4b2] .kpi-unit           { font-size: 1rem; font-weight: 400; }

[b-1fyrkmd4b2] .estado-operativo-title { color: #ffffff; font-weight: 700; }

[b-1fyrkmd4b2] .sem-icon           { font-size: 2.2rem; opacity: .85; flex-shrink: 0; }
[b-1fyrkmd4b2] .sem-icon--success  { color: var(--color-success); }
[b-1fyrkmd4b2] .sem-icon--warning  { color: var(--color-warning); }
[b-1fyrkmd4b2] .sem-icon--danger   { color: var(--color-danger);  }

/* align-items:stretch on the OUTER row (title+subtitle+3 boxes on the left vs. the rules panel
   on the right) makes the rules panel's MudItem match that whole left column's combined height -
   height:100% on .rules-card is what then actually stretches the card to fill it. The 3
   semaphore boxes themselves are NOT stretched to anything external anymore - they size to their
   own (now compact, single-line-label) content, same height as the KPI cards above. */
[b-1fyrkmd4b2] .estado-outer-row { align-items: stretch; }
[b-1fyrkmd4b2] .mud-card.sem-card--success { background: var(--color-success-bg) !important; border: 2px solid var(--color-success-border) !important; }
[b-1fyrkmd4b2] .mud-card.sem-card--warning { background: var(--color-warning-bg) !important; border: 2px solid var(--color-warning-border) !important; }
[b-1fyrkmd4b2] .mud-card.sem-card--danger  { background: var(--color-danger-bg)  !important; border: 2px solid var(--color-danger-border)  !important; }
[b-1fyrkmd4b2] .sem-value           { font-weight: 900; line-height: 1; }
[b-1fyrkmd4b2] .sem-value--success  { color: var(--color-success); }
[b-1fyrkmd4b2] .sem-value--warning  { color: var(--color-warning); }
[b-1fyrkmd4b2] .sem-value--danger   { color: var(--color-danger);  }
[b-1fyrkmd4b2] .sem-label           { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
[b-1fyrkmd4b2] .sem-label--success  { color: var(--color-success-light); }
[b-1fyrkmd4b2] .sem-label--warning  { color: var(--color-warning-light); }
[b-1fyrkmd4b2] .sem-label--danger   { color: var(--color-danger-light);  }
[b-1fyrkmd4b2] .sem-percent         { color: #aaaaaa; font-weight: 400; text-transform: none; letter-spacing: normal; }

[b-1fyrkmd4b2] .mud-card.rules-card { background: #1a1a1a; border: 1px solid #2e2e2e; height: 100%; }
[b-1fyrkmd4b2] .rules-title {
    display:        block;
    color:          #999999;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-weight:    700;
    margin-bottom:  .6rem;
}
.score-formula[b-1fyrkmd4b2] {
    display:        flex;
    flex-direction: column;
    gap:            .5rem;
    margin-bottom:  .75rem;
}
.score-formula-row[b-1fyrkmd4b2] {
    display:     flex;
    align-items: center;
    gap:         .5rem;
}
.score-formula-dot[b-1fyrkmd4b2] {
    width:         8px;
    height:        8px;
    border-radius: 50%;
    flex-shrink:   0;
}
.score-formula-dot--success[b-1fyrkmd4b2] { background: var(--color-success); }
.score-formula-dot--warning[b-1fyrkmd4b2] { background: var(--color-warning); }
.score-formula-dot--danger[b-1fyrkmd4b2]  { background: var(--color-danger);  }
.score-formula-label[b-1fyrkmd4b2] {
    flex:      1;
    color:     #cccccc;
    font-size: .82rem;
}
.score-formula-pts[b-1fyrkmd4b2] {
    font-size:   .82rem;
    font-weight: 700;
}
.score-formula-pts--success[b-1fyrkmd4b2] { color: var(--color-success); }
.score-formula-pts--warning[b-1fyrkmd4b2] { color: var(--color-warning); }
.score-formula-pts--danger[b-1fyrkmd4b2]  { color: var(--color-danger);  }
[b-1fyrkmd4b2] .rules-footnote { display: block; color: #777777; font-size: .75rem; }
/* _content/OrderPulse.Cloud.Api/Components/PerformanceCenter/ChannelComparisonChart.razor.rz.scp.css */
.pc-channel-rows[b-6t9kh2diz3] {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    padding-top: .5rem;
}

.pc-channel-row[b-6t9kh2diz3] {
    display: flex;
    align-items: center;
    gap: .75rem;
}

.pc-channel-name[b-6t9kh2diz3] { flex: 1 1 auto; }

.pc-channel-score[b-6t9kh2diz3] { font-weight: 700; }

.pc-channel-delta[b-6t9kh2diz3] { font-weight: 600; min-width: 60px; text-align: right; }
.pc-channel-delta--up[b-6t9kh2diz3] { color: var(--color-success); }
.pc-channel-delta--down[b-6t9kh2diz3] { color: var(--color-danger); }
/* _content/OrderPulse.Cloud.Api/Components/PerformanceCenter/OpportunitiesPanel.razor.rz.scp.css */
.pc-opportunity-card[b-sf8vdm4kk3] {
    display: flex;
    align-items: flex-start;
    gap: .6rem;
    padding: .75rem;
    border-radius: 8px;
    height: 100%;
}
.pc-opportunity-card--down[b-sf8vdm4kk3] { background: var(--color-danger-bg); border: 1px solid var(--color-danger-border); }
.pc-opportunity-card--up[b-sf8vdm4kk3] { background: var(--color-success-bg); border: 1px solid var(--color-success-border); }

[b-sf8vdm4kk3] .pc-opportunity-icon { flex-shrink: 0; margin-top: .1rem; }
.pc-opportunity-card--down[b-sf8vdm4kk3]  .pc-opportunity-icon { color: var(--color-danger); }
.pc-opportunity-card--up[b-sf8vdm4kk3]  .pc-opportunity-icon { color: var(--color-success); }

.pc-opportunity-text[b-sf8vdm4kk3] {
    display: flex;
    flex-direction: column;
    gap: .1rem;
    min-width: 0;
}

.pc-opportunity-store[b-sf8vdm4kk3] { font-weight: 700; font-size: .85rem; }
.pc-opportunity-score[b-sf8vdm4kk3] { font-size: .8rem; color: var(--db-subtle); }
.pc-opportunity-detail[b-sf8vdm4kk3] { font-size: .8rem; }
/* _content/OrderPulse.Cloud.Api/Components/PerformanceCenter/PerformanceCenterKpis.razor.rz.scp.css */
[b-s39dzyevrw] .pc-kpi-card { height: 100%; }

[b-s39dzyevrw] .pc-kpi-label {
    display: block;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--db-subtle);
    margin-bottom: .5rem;
}

.pc-kpi-dot[b-s39dzyevrw] {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    margin-right: .4rem;
}
.pc-kpi-dot--danger[b-s39dzyevrw] { background: var(--color-danger); }

.pc-kpi-columns[b-s39dzyevrw] {
    display: flex;
    align-items: baseline;
    gap: .6rem;
    margin-bottom: .3rem;
}

[b-s39dzyevrw] .pc-kpi-icon { font-size: 1.5rem; opacity: .85; }
[b-s39dzyevrw] .pc-kpi-icon--primary { color: var(--mud-palette-primary); }
[b-s39dzyevrw] .pc-kpi-icon--blue { color: var(--color-blue); }
[b-s39dzyevrw] .pc-kpi-icon--danger { color: var(--color-danger); }
[b-s39dzyevrw] .pc-kpi-icon--success { color: var(--color-success); }
[b-s39dzyevrw] .pc-kpi-icon--gold { color: #fbbf24; }

[b-s39dzyevrw] .pc-kpi-value { font-weight: 800; line-height: 1; }
.pc-kpi-unit[b-s39dzyevrw] { font-size: .85rem; font-weight: 400; color: var(--db-subtle); }

[b-s39dzyevrw] .pc-kpi-delta { display: block; font-weight: 600; }
[b-s39dzyevrw] .pc-kpi-delta--up { color: var(--color-success); }
[b-s39dzyevrw] .pc-kpi-delta--down { color: var(--color-danger); }
/* _content/OrderPulse.Cloud.Api/Components/PerformanceCenter/PerformanceMap.razor.rz.scp.css */
.performance-map[b-ezghdkczaj] {
    width: 100%;
    height: 420px;
    border-radius: 8px;
    overflow: hidden;
}
/* _content/OrderPulse.Cloud.Api/Components/PerformanceCenter/PerformanceRadarChart.razor.rz.scp.css */
.pc-radar-legend[b-kuxpleh5ur] {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 1.25rem;
    padding: .5rem 0 .75rem;
}

.pc-radar-legend-item[b-kuxpleh5ur] {
    display: flex;
    align-items: center;
    gap: .4rem;
    color: #cccccc;
    font-size: .8rem;
}

.pc-radar-legend-dot[b-kuxpleh5ur] {
    display: inline-block;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    flex-shrink: 0;
}
/* _content/OrderPulse.Cloud.Api/Components/PerformanceCenter/PerformanceRankingTable.razor.rz.scp.css */
/* Plain `th`/`td` selectors — no ::deep needed, these elements are written directly in this
   component's own template (inside MudSimpleTable's ChildContent), so they carry this
   component's own scope attribute already. */
th[b-l5ljeelcny] {
    text-transform: uppercase;
    font-size: .68rem;
    letter-spacing: .04em;
    color: var(--db-subtle);
}

.pc-ranking-row[b-l5ljeelcny] { cursor: pointer; }

.pc-ranking-store-code[b-l5ljeelcny] { display: block; font-weight: 700; }
.pc-ranking-store-name[b-l5ljeelcny] { display: block; color: var(--db-subtle); font-size: .8rem; }

.pc-score-badge[b-l5ljeelcny] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    font-weight: 800;
    font-size: 1rem;
}
.pc-score-badge--success[b-l5ljeelcny] { background: var(--color-success-bg); color: var(--color-success); border: 2px solid var(--color-success-border); }
.pc-score-badge--warning[b-l5ljeelcny] { background: var(--color-warning-bg); color: var(--color-warning); border: 2px solid var(--color-warning-border); }
.pc-score-badge--danger[b-l5ljeelcny]  { background: var(--color-danger-bg);  color: var(--color-danger);  border: 2px solid var(--color-danger-border);  }
/* _content/OrderPulse.Cloud.Api/Components/Stores/ManageStoreDialog.razor.rz.scp.css */
.manage-store-section-title[b-tmuw7yz2mj] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.5rem;
}

.manage-store-section-heading[b-tmuw7yz2mj] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

[b-tmuw7yz2mj] .manage-store-stations-table {
    margin-bottom: 0.5rem;
}

.manage-store-station-actions[b-tmuw7yz2mj] {
    white-space: nowrap;
    width: 1%;
}

.manage-store-empty-row[b-tmuw7yz2mj] {
    text-align: center;
    color: var(--mud-palette-text-secondary);
    padding: 0.75rem 0;
}
/* _content/OrderPulse.Cloud.Api/Components/Stores/StoresList.razor.rz.scp.css */
.stores-grid[b-kv041sar40] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(308px, 1fr));
    column-gap: 1rem;
    row-gap: 2rem;
    margin-top: 30px;
}

[b-kv041sar40] .store-card {
    background: #1c1c1c;
    border: 1px solid #2a2a2a;
}

.store-card-header[b-kv041sar40] {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 1.5rem 1.25rem;
}

[b-kv041sar40] .store-avatar {
    flex-shrink: 0;
}

.store-card-heading[b-kv041sar40] {
    min-width: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.store-name[b-kv041sar40] {
    font-weight: 600;
    color: #ffffff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.store-code[b-kv041sar40] {
    font-size: 0.75rem;
    color: #888888;
    letter-spacing: 0.03em;
}

[b-kv041sar40] .store-edit-button {
    flex-shrink: 0;
}

.store-card-meta[b-kv041sar40] {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    padding: 1.35rem 1.25rem;
}

.store-meta-row[b-kv041sar40] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: #cccccc;
}

[b-kv041sar40] .store-meta-icon {
    opacity: 0.6;
    flex-shrink: 0;
}

/* Full-bleed, slightly brighter than MudDivider's default so the header/body/footer split
   reads clearly against the card's own #1c1c1c background. */
[b-kv041sar40] .store-card-divider.mud-divider {
    margin: 0;
    border-color: #333333;
}

[b-kv041sar40] .store-card-actions {
    padding: 1rem 1.25rem;
    justify-content: flex-start;
    gap: 0.5rem;
}
/* _content/OrderPulse.Cloud.Api/Components/Users/AdminUsersList.razor.rz.scp.css */
.users-grid[b-d0kf9p7loc] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1rem;
    margin-top: 30px;
}

[b-d0kf9p7loc] .user-card {
    background: #1c1c1c;
    border: 1px solid #2a2a2a;
}

.user-card-header[b-d0kf9p7loc] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

[b-d0kf9p7loc] .user-avatar {
    flex-shrink: 0;
}

.user-card-heading[b-d0kf9p7loc] {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.user-email[b-d0kf9p7loc] {
    font-weight: 600;
    color: #ffffff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.user-status[b-d0kf9p7loc] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.8rem;
    color: #aaaaaa;
}

.status-dot[b-d0kf9p7loc] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.status-dot-active[b-d0kf9p7loc] {
    background: #4caf50;
}

.status-dot-inactive[b-d0kf9p7loc] {
    background: #666666;
}

.user-card-meta[b-d0kf9p7loc] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.user-meta-row[b-d0kf9p7loc] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: #cccccc;
}

[b-d0kf9p7loc] .user-meta-icon {
    opacity: 0.6;
    flex-shrink: 0;
}

.user-card-created[b-d0kf9p7loc] {
    font-size: 0.75rem;
    color: #777777;
}

[b-d0kf9p7loc] .user-card-actions {
    padding: 0.5rem 1rem 1rem;
    justify-content: flex-start;
    gap: 0.25rem;
}
/* _content/OrderPulse.Cloud.Api/Components/Videos/VideosList.razor.rz.scp.css */
[b-bx36534dod] .videos-table {
    background: transparent;
    margin-top: 0.5rem;
}

[b-bx36534dod] .videos-table .mud-table-container {
    background: #1c1c1c;
    border: 1px solid #2a2a2a;
    border-radius: 8px;
}

[b-bx36534dod] .videos-table .mud-table-head {
    background: #161616;
}

[b-bx36534dod] .videos-table .mud-table-head .mud-table-cell {
    color: #999999;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.video-thumb[b-bx36534dod] {
    position: relative;
    width: 120px;
    height: 68px;
    border-radius: 6px;
    overflow: hidden;
    background: #000;
    cursor: pointer;
}

.video-thumb-media[b-bx36534dod] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

[b-bx36534dod] .video-thumb-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: var(--mud-palette-primary);
    font-size: 2.25rem;
    filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.7));
    pointer-events: none;
}

.video-time[b-bx36534dod] {
    font-size: 0.8rem;
    color: #999999;
}

[b-bx36534dod] .video-delete-btn {
    border: 1px solid var(--mud-palette-error);
    border-radius: 6px;
}
/* _content/OrderPulse.Cloud.Api/Layout/AdminLayout.razor.rz.scp.css */
.admin-shell[b-e9ge5vt43u] {
    display: flex;
    min-height: 100vh;
}

.admin-sidebar[b-e9ge5vt43u] {
    width: 220px;
    background: #1a1a1a;
    border-right: 1px solid #2a2a2a;
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    padding-bottom: 6rem;
}

.admin-sidebar-header[b-e9ge5vt43u] {
    background: #141416;
    padding: 2rem 1.25rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2.5rem;
    border-bottom: 1px solid #2a2a2a;
    box-sizing: border-box;
}

.admin-sidebar-store-logo[b-e9ge5vt43u] {
    height: 36px;
}

.admin-sidebar-logo[b-e9ge5vt43u] {
    height: 42px;
}

.admin-sidebar-footer[b-e9ge5vt43u] {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 220px;
    background: #1a1a1a;
    border-top: 1px solid #2a2a2a;
    z-index: 10;
}

/* !important because MudBlazor's own button CSS (loaded after app.css, same-or-higher
   specificity) otherwise wins the cascade — same gotcha documented in the CSS isolation notes:
   a plain override here isn't enough to beat MudButton's default uppercase Material-Design text. */
[b-e9ge5vt43u] .admin-logout-button {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0.55rem !important;
    width: 100% !important;
    padding: 0.7rem 1.25rem !important;
    background: none !important;
    border: none !important;
    border-left: 3px solid transparent !important;
    border-radius: 0 !important;
    color: #aaa !important;
    font-size: 0.88rem !important;
    font-weight: 500 !important;
    font-family: inherit !important;
    text-transform: none !important;
    white-space: nowrap !important;
    cursor: pointer;
    text-align: left;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
}

[b-e9ge5vt43u] .admin-logout-button:hover {
    background: #252525;
    color: #ffffff;
    border-left-color: #DA1A32;
}

[b-e9ge5vt43u] .nav-icon {
    font-size: 1.1rem;
    opacity: 0.7;
    flex-shrink: 0;
}

.admin-poweredby[b-e9ge5vt43u] {
    padding: 1.1rem 1.25rem;
    font-size: 0.85rem;
    border-top: 1px solid #2a2a2a;
}

.admin-poweredby .poweredby-logo[b-e9ge5vt43u] {
    height: 34px;
}

.admin-content[b-e9ge5vt43u] {
    flex: 1;
    position: relative;
    /* z-index: 0 (not just position: relative) so this establishes its OWN
       stacking context. Without it, the ::before's z-index: -1 escapes to the
       page's root stacking context instead of staying local — and admin-content's
       own opaque background, painted later in that outer context, covers it entirely. */
    z-index: 0;
    padding: 2rem 2.5rem;
    background: var(--mud-palette-background);
    color: var(--mud-palette-text-primary);
}

/* Pulse line (::before, painted first — sits behind the logo) mirrors
   .login-brand-pulse's polyline points/color from app.css, just re-encoded as
   an SVG data URI since this is a background layer, not markup. */
.admin-content[b-e9ge5vt43u]::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 800 120' preserveAspectRatio='none'%3E%3Cpolyline points='0,60 120,60 145,60 160,20 180,100 200,10 220,90 240,60 260,60 800,60' fill='none' stroke='%23DA1A32' stroke-width='3'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center calc(50% + 70px);
    background-size: 90% 90px;
    opacity: 0.2;
    pointer-events: none;
}

.admin-content[b-e9ge5vt43u]::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background-image: url('/orderpulse-logo-horizontal.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 420px auto;
    opacity: 0.2;
    pointer-events: none;
}
/* _content/OrderPulse.Cloud.Api/Layout/AdminNavMenu.razor.rz.scp.css */
[b-3tajayorl6] .mud-nav-link {
    padding: 0.85rem 1.25rem;
    gap: 0.65rem;
    color: #aaa;
    font-size: 0.88rem;
    font-weight: 500;
    border-left: 3px solid transparent;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
}

[b-3tajayorl6] .mud-nav-link:hover {
    background: #252525;
    color: #ffffff;
    border-left-color: #DA1A32;
}

[b-3tajayorl6] .mud-nav-link.active {
    background: #252525;
    color: #ffffff;
    border-left-color: #DA1A32;
}
/* _content/OrderPulse.Cloud.Api/Layout/AdminPageHeader.razor.rz.scp.css */
.admin-page-header[b-emetvyk91q] {
    margin: -2rem -2.5rem 1.25rem;
    padding: 0 2.5rem;
    min-height: var(--admin-topbar-height);
    display: flex;
    align-items: center;
    border-bottom: 1px solid #2a2a2a;
}

.admin-page-title[b-emetvyk91q] {
    font-weight: 600;
}

.admin-page-header-actions[b-emetvyk91q] {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}
/* _content/OrderPulse.Cloud.Api/Pages/Admin/AnalyticsSettings.razor.rz.scp.css */
.analytics-settings-section-title[b-wjvx7gmzf9] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}
/* _content/OrderPulse.Cloud.Api/Pages/Admin/ControlCenter.razor.rz.scp.css */
[b-s5y09lekiu] .oc-date-picker {
    width: 160px !important;
    flex: none !important;
}
/* _content/OrderPulse.Cloud.Api/Pages/Admin/OperationCenter.razor.rz.scp.css */
/* Ported from orderpulse-local's Dashboard.razor.css, minus the standalone kiosk chrome
   (.display-container/.display-header/live-vs-histórico badge) — this page sits inside
   AdminLayout/AdminPageHeader instead of being its own full-screen route. */

[b-1cr31z3gz3] .dashboard-store-picker {
    width: 260px !important;
    flex: none !important;
}

[b-1cr31z3gz3] .dashboard-date-picker {
    width: 130px !important;
    flex: none !important;
}

/* Title row — store name/date on the left, computed operational status pill on the right. */
.dashboard-title-row[b-1cr31z3gz3] {
    display:         flex;
    align-items:     flex-start;
    justify-content: space-between;
    gap:             1rem;
    margin-bottom:   1rem;
}

.dashboard-store-title[b-1cr31z3gz3] {
    margin:      0;
    color:       #ffffff;
    font-size:   1.5rem;
    font-weight: 800;
}

.dashboard-store-subtitle[b-1cr31z3gz3] {
    margin:    .25rem 0 0;
    color:     var(--db-subtle);
    font-size: .85rem;
}

/* One bordered box holding the whole "PULSE SCORE [icon] 92 / 100 [status pill]" group. */
.pulse-score-box[b-1cr31z3gz3] {
    display:      flex;
    align-items:  center;
    gap:          .65rem;
    flex-shrink:  0;
    padding:      .5rem 1rem;
    border:       1px solid #2a2a2a;
    border-radius: 10px;
    background:   #161616;
}

.pulse-score-label[b-1cr31z3gz3] {
    color:          var(--db-subtle);
    font-size:      .62rem;
    font-weight:    700;
    line-height:    1.25;
    letter-spacing: .04em;
}

.pulse-score-icon[b-1cr31z3gz3]           { width: 32px; height: 16px; flex-shrink: 0; }
.pulse-score-icon--success[b-1cr31z3gz3]  { color: var(--color-success); }
.pulse-score-icon--warning[b-1cr31z3gz3]  { color: var(--color-warning); }
.pulse-score-icon--danger[b-1cr31z3gz3]   { color: var(--color-danger);  }

.pulse-score-value[b-1cr31z3gz3] {
    font-size:   2rem;
    font-weight: 900;
    line-height: 1;
}

.pulse-score-value--success[b-1cr31z3gz3] { color: var(--color-success); }
.pulse-score-value--warning[b-1cr31z3gz3] { color: var(--color-warning); }
.pulse-score-value--danger[b-1cr31z3gz3]  { color: var(--color-danger);  }

.pulse-score-max[b-1cr31z3gz3] {
    font-size: 1.1rem;
    color:     var(--db-subtle);
}

/* Groups the Pulse Score box + its color legend together as one right-aligned cluster, so
   .dashboard-title-row's space-between only has 2 real children. */
.dashboard-title-right[b-1cr31z3gz3] {
    display:     flex;
    align-items: stretch;
    gap:         .75rem;
    flex-shrink: 0;
}

.score-legend-card[b-1cr31z3gz3] {
    display:        flex;
    flex-direction: column;
    justify-content: center;
    gap:            .3rem;
    flex-shrink:    0;
    padding:        .5rem .9rem;
    border:         1px solid #2a2a2a;
    border-radius:  10px;
    background:     #161616;
    font-size:      .7rem;
    color:          #999999;
}

.score-legend-row[b-1cr31z3gz3] {
    display:     flex;
    align-items: center;
    gap:         .4rem;
}

.score-legend-dot[b-1cr31z3gz3] {
    width:         7px;
    height:        7px;
    border-radius: 50%;
    flex-shrink:   0;
}

.score-legend-dot--success[b-1cr31z3gz3] { background: var(--color-success); }
.score-legend-dot--warning[b-1cr31z3gz3] { background: var(--color-warning); }
.score-legend-dot--danger[b-1cr31z3gz3]  { background: var(--color-danger);  }

.score-legend-name[b-1cr31z3gz3] { color: #cccccc; }

.status-pill[b-1cr31z3gz3] {
    flex-shrink:    0;
    padding:        .4rem 1rem;
    border-radius:  20px;
    font-size:      .75rem;
    font-weight:    800;
    letter-spacing: .04em;
    white-space:    nowrap;
}

.status-pill--success[b-1cr31z3gz3] {
    background: var(--color-success-bg);
    border:     1px solid var(--color-success-border);
    color:      var(--color-success);
}

.status-pill--warning[b-1cr31z3gz3] {
    background: var(--color-warning-bg);
    border:     1px solid var(--color-warning-border);
    color:      var(--color-warning);
}

.status-pill--danger[b-1cr31z3gz3] {
    background: var(--color-danger-bg);
    border:     1px solid var(--color-danger-border);
    color:      var(--color-danger);
}

/* The one alert animation on the whole page — a gentle pulse for Atención, a faster/bigger/
   scaling one for Crítico. */
@keyframes statusPillBlinkSubtle-b-1cr31z3gz3 {
    0%, 100% { box-shadow: none; }
    50%      { box-shadow: 0 0 14px 3px var(--color-warning); }
}
@keyframes statusPillBlinkAlarm-b-1cr31z3gz3 {
    0%, 100% { box-shadow: 0 0 0 0 var(--color-danger); transform: scale(1); }
    50%      { box-shadow: 0 0 32px 10px var(--color-danger); transform: scale(1.05); }
}

.status-pill--blink-subtle[b-1cr31z3gz3] { animation: statusPillBlinkSubtle-b-1cr31z3gz3 2.2s ease-in-out infinite; }
.status-pill--blink-alarm[b-1cr31z3gz3]  { animation: statusPillBlinkAlarm-b-1cr31z3gz3  0.7s ease-in-out infinite; }

@media (prefers-reduced-motion: reduce) {
    .status-pill--blink-subtle[b-1cr31z3gz3],
    .status-pill--blink-alarm[b-1cr31z3gz3] { animation: none; }
}
/* _content/OrderPulse.Cloud.Api/Pages/Admin/Videos.razor.rz.scp.css */
.videos-page-subtitle[b-b8bm7o29af] {
    margin-top: -0.75rem;
    margin-bottom: 1.5rem;
}

.videos-toolbar[b-b8bm7o29af] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 2rem;
}

.videos-toolbar-title[b-b8bm7o29af] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}
