﻿/* Sistema visual Poliedro. La lógica de inventario y navegación vive en PHP/JS. */
:root {
  --sigma-green: #15396b;
  --sigma-green-dark: #0d2951;
  --sigma-ink: #172333;
  --sigma-muted: #738186;
  --sigma-bg: #f5f6f7;
  --sigma-card: #fff;
  --sigma-accent: #e9ecf1;
  --sigma-border: #e2e4e8;
  --sigma-shadow: 0 3px 12px #17263b06;
  --bs-primary-rgb: 21, 57, 107;
  --bs-success-rgb: 21, 57, 107;
  --bs-success-text-emphasis: #17365b;
  --bs-success-bg-subtle: #e8edf4;
  --bs-success-border-subtle: #cdd7e5;
  --bs-link-color: #15396b;
  --bs-link-hover-color: #0d2951;
  --bs-body-color: #172333;
  --bs-body-bg: #f5f6f7;
  --bs-border-color: #e2e4e8;
}
body { font: 15px/1.6 "Segoe UI", Arial, sans-serif; }
a { color: var(--sigma-green); }
a:hover { color: var(--sigma-green-dark); }
.workspace { padding-left: 246px; }
.poliedro-mark { display: inline-grid; place-items: center; flex: 0 0 37px; width: 37px; height: 40px; background: var(--sigma-green); color: #fff; clip-path: polygon(25% 0,100% 0,100% 75%,75% 100%,0 100%,0 25%); font-size: 24px; font-weight: 800; line-height: 1; letter-spacing: 0; }
.workspace-nav { position: fixed; inset: 0 auto 0 0; width: 246px; background: #fff; border-right: 1px solid var(--sigma-border); z-index: 1035; padding: 32px 24px; display: flex; flex-direction: column; gap: 6px; overflow-y: auto; }
.workspace-nav a { display: flex; gap: 12px; align-items: center; min-height: 44px; padding: 11px 12px; color: #555e6a; text-decoration: none; font-size: 13px; border: 1px solid transparent; border-radius: 8px; }
.workspace-nav a > span:not(.poliedro-mark) { font-size: 10px; color: #9197a0; font-variant-numeric: tabular-nums; }
.workspace-nav a:hover { background: #edf0f5; color: var(--sigma-green); }
.workspace-nav a[aria-current] { color: var(--sigma-green); background: #edf0f5; border-color: #dce2eb; font-weight: 600; }
.workspace-nav a[aria-current] > span { color: var(--sigma-green); }
.workspace-nav .workspace-brand { padding: 0; margin-bottom: 8px; color: var(--sigma-ink); font-size: 18px; font-weight: 800; letter-spacing: 2px; border: 0; border-radius: 0; }
.workspace-nav .workspace-brand:hover { background: none; }
.workspace-nav__label { font-size: 8px; letter-spacing: 1.5px; color: var(--sigma-muted); margin: 0 0 28px; }
.workspace-nav__section { color: var(--sigma-muted); font-size: 9px; letter-spacing: 1.2px; margin: 0 12px 8px; }
.workspace-nav__footer { margin-top: auto; padding-top: 40px; color: var(--sigma-ink); font-size: 12px; }
.workspace-nav__footer small { display: block; font-size: 11px; color: #9197a0; margin-top: 4px; }
.app-header { position: relative; background: #fff; color: var(--sigma-ink); border-bottom: 1px solid var(--sigma-border); }
.app-header__inner { width: auto; min-height: 84px; margin: 0 42px; gap: 20px; }
.app-context { color: var(--sigma-ink); text-decoration: none; font-size: 13px; font-weight: 600; }
.app-context span { color: var(--sigma-muted); font-weight: 400; margin-left: 8px; }
.app-header__user { color: var(--sigma-ink); font-size: 13px; }
.app-header__actions { gap: 12px; }
.app-header__button { min-height: 36px; padding: 6px 10px; color: var(--sigma-muted); border-color: var(--sigma-border); border-radius: 7px; font-size: 12px; font-weight: 500; }
.app-header__button:hover { background: #edf0f5; color: var(--sigma-green); }
.workspace main.container { max-width: 1600px; width: 100%; padding-left: 42px; padding-right: 42px; }
main:not(.dashboard) h1, main:not(.dashboard) h2, .dashboard-hero h1, .dashboard-card__content strong { font-family: inherit; }
main:not(.dashboard) h1 { font-size: clamp(26px,3vw,36px); letter-spacing: -1.3px; line-height: 1.2; }
main:not(.dashboard) h2 { font-size: 22px; letter-spacing: -.5px; }
.eyebrow { color: var(--sigma-green); font-size: 11px; font-weight: 700; letter-spacing: 2px; }
.dashboard { padding-top: 43px; }
.dashboard-hero { max-width: none; padding: 32px; margin: 0 0 36px; border: 1px solid #cdd4df; border-radius: 12px; color: var(--sigma-ink); background: var(--sigma-accent); }
.dashboard-hero h1 { font-size: clamp(30px,3.4vw,42px); line-height: 1.12; letter-spacing: -1.4px; }
.dashboard-hero .eyebrow { font-size: 10px; margin-bottom: 18px; }
.dashboard-hero > p:last-child { color: #636c78; font-size: 14px; max-width: 580px; margin-top: 16px; }
.workspace-section-label { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 18px; font-size: 18px; font-weight: 600; }
.workspace-section-label small { color: var(--sigma-muted); font-size: 9px; letter-spacing: 1.5px; }
.dashboard-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.dashboard-card { min-height: 210px; grid-template-columns: 1fr auto; grid-template-rows: auto 1fr; gap: 24px 16px; align-items: start; padding: 25px; border-radius: 12px; box-shadow: none; }
.dashboard-card:hover { border-color: #b8c2cf; box-shadow: 0 10px 30px #1524380a; transform: translateY(-3px); }
.dashboard-card__icon { width: 48px; height: 48px; border-radius: 12px; font: 600 16px "Segoe UI",sans-serif; background: #e8eefb; color: #4b6da9; }
.dashboard-card:nth-child(3n + 2) .dashboard-card__icon { background: #fcf0e1; color: #a76924; }
.dashboard-card:nth-child(3n) .dashboard-card__icon { background: #e6ebf1; color: #385a89; }
.dashboard-card__content { grid-column: 1 / -1; grid-row: 2; }
.dashboard-card__content strong { font-size: 20px; font-weight: 600; letter-spacing: -.5px; }
.dashboard-card__content small { font-size: 13px; line-height: 1.6; }
.dashboard-card__arrow { grid-column: 2; grid-row: 1; color: var(--sigma-green); font-size: 20px; }
.card, .accordion-item { background: #fff; border-radius: 12px; }
.card { box-shadow: none; }
.btn { border-radius: 8px; font-size: 14px; font-weight: 600; }
.btn-primary, .btn-success { --bs-btn-active-bg: #0d2951; --bs-btn-active-border-color: #0d2951; --bs-btn-disabled-bg: #7b8ca5; --bs-btn-disabled-border-color: #7b8ca5; }
.btn-outline-secondary { --bs-btn-color: #636c78; --bs-btn-border-color: #cbd0d7; --bs-btn-hover-color: #172333; --bs-btn-hover-bg: #edf0f5; --bs-btn-hover-border-color: #b8c1ce; }
.form-control, .form-select { border-radius: 7px; border-color: #d7dbe0; font-size: 14px; box-shadow: none; }
.form-control:focus, .form-select:focus { border-color: #6685b1; box-shadow: 0 0 0 3px #15396b1c; }
.form-control[readonly], .form-control:disabled, .form-select:disabled { background: #eef0f3; color: #636c78; }
.form-label { color: #454f5c; font-size: 13px; font-weight: 600; }
.table { --bs-table-color: #293341; --bs-table-border-color: #e2e4e8; --bs-table-hover-bg: #f4f6f8; font-size: 13px; }
.table > thead > tr > th { background: #f5f6f8; color: #636c78; font-size: 10px; letter-spacing: .5px; white-space: nowrap; padding-top: 15px; padding-bottom: 15px; }
.table > tbody > tr > td { padding-top: 14px; padding-bottom: 14px; }
.table-responsive { border: 1px solid var(--sigma-border); border-radius: 8px; }
.alert { border-radius: 8px; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.alert-success { color: #2c4569; background: #e8edf4; border-color: #cdd7e5; }
.alert-info, .alert-primary { color: #35455c; background: #edf0f3; border-color: #d5dce5; }
.alert-warning { color: #785319; background: #fff4e2; border-color: #efd9b5; }
.alert-danger { color: #a14134; background: #fff0ed; border-color: #f1d1ca; }
.alert-light, .alert-secondary, .alert-dark { color: #535b67; background: #f4f5f7; border-color: var(--sigma-border); }
.modal-content { border: 1px solid var(--sigma-border); border-radius: 12px; }
.modal-header { background: #f5f6f8; padding: 20px 24px; }
.modal-title { font-weight: 600; }
.workspace-tabs { display: flex; overflow-x: auto; gap: 4px; margin: 24px 0 20px; padding: 0; border-bottom: 1px solid var(--sigma-border); scrollbar-width: thin; }
.workspace-tab { flex: 0 0 auto; min-height: 48px; padding: 12px 18px; border: 0; border-bottom: 3px solid transparent; border-radius: 8px 8px 0 0; background: transparent; color: #636c78; font: 600 14px "Segoe UI",sans-serif; }
.workspace-tab[aria-selected="true"] { color: var(--sigma-green); background: #edf0f5; border-bottom-color: var(--sigma-green); }
.workspace-tab:hover { background: #edf0f5; color: var(--sigma-green); }
.workspace-panel-container { margin-top: 0 !important; box-shadow: none !important; }
.workspace-panel-container > .accordion-item { margin-top: 0 !important; border: 1px solid var(--sigma-border); }
.workspace-panel-container .accordion-body { padding: 24px; }
.workspace-panel-container[hidden] { display: none !important; }
.inicio-flotante { background: var(--sigma-green); border: 1px solid #ffffff40; box-shadow: 0 4px 16px #17263b1a; }
.access-page { background: var(--sigma-bg); padding-bottom: 0; }
.access-page main.sigma-access { min-height: 100vh; display: grid; place-items: center; padding: 45px 24px !important; }
.sigma-access__layout { display: grid; grid-template-columns: 1.05fr 1fr; width: min(100%,1120px); min-height: 680px; background: white; border: 1px solid var(--sigma-border); border-radius: 18px; overflow: hidden; box-shadow: 0 20px 80px #17263b10; }
.sigma-access__story { position: relative; overflow: hidden; padding: 45px 55px; background: #e8ebef; }
.access-brand { display: flex; align-items: center; gap: 12px; color: var(--sigma-ink); font-size: 20px; font-weight: 800; letter-spacing: 2px; margin-bottom: 60px; }
main.sigma-access .sigma-access__story h1 { font: 700 clamp(44px,4.5vw,60px)/1.06 "Segoe UI",sans-serif; letter-spacing: -2.5px; margin: 0 0 22px; }
.sigma-access__story em { color: var(--sigma-green); font-style: normal; }
.sigma-access__story > p:not(.eyebrow) { max-width: 300px; color: #636b76; }
.sigma-access__story > small { position: absolute; bottom: 35px; font-size: 9px; color: #636b76; letter-spacing: 2px; }
.sigma-blueprint { height: 150px; position: relative; transform: skewY(-12deg); margin: 25px 0 0 90px; opacity: .4; }
.sigma-blueprint span { position: absolute; border: 1px solid #677b98; width: 180px; height: 130px; }
.sigma-blueprint span:nth-child(2) { left: 45px; top: 20px; }
.sigma-blueprint span:nth-child(3) { left: 90px; top: 40px; }
.sigma-access__form { padding: 105px 60px 40px; }
main.sigma-access .sigma-access__form h2 { font-size: 29px; letter-spacing: -.7px; line-height: 1.2; }
.sigma-access__form form { margin-top: 32px; }
.sigma-access__form .form-control { padding: 12px; min-height: 45px; font-size: 15px; }
.sigma-access__form .btn { min-height: 46px; padding: 12px 20px; }
.sigma-access__help { color: var(--sigma-muted); font-size: 12px; margin-top: 24px; }
.sigma-access__secure { border-top: 1px solid var(--sigma-border); padding-top: 24px; margin-top: 40px; font-size: 12px; color: var(--sigma-muted); }
.access-page .inicio-flotante { display: none; }
button.orden-interruptor { color: var(--sigma-ink); }
button.orden-interruptor[aria-checked="true"] .orden-interruptor__pista { background: var(--sigma-green); }
button.orden-interruptor:focus-visible .orden-interruptor__pista { outline-color: #6087bd; }
.workspace .qr-panel { border-color: var(--sigma-border); border-radius: 12px; }
.workspace .qr-head { border-color: var(--sigma-border); }
.workspace .qr-label { color: var(--sigma-green); }
a:focus-visible, button:focus-visible { outline: 3px solid #6087bd; outline-offset: 3px; }
@media (min-width:1600px) { .workspace main.container { padding-top: 44px; } }
@media (max-width:1199px) {
  .workspace { padding-left: 210px; }
  .workspace-nav { width: 210px; padding: 28px 18px; }
  .workspace-nav .workspace-brand { font-size: 16px; gap: 10px; }
  .workspace main.container { padding-left: 30px; padding-right: 30px; }
  .app-header__inner { margin: 0 30px; }
  .app-header__user { max-width: 130px; }
  .dashboard-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .sigma-access__story { padding: 40px; }
  .sigma-access__form { padding: 80px 35px 40px; }
}
@media (max-width:991px) {
  .workspace { padding-left: 0; }
  .workspace-nav { position: relative; width: 100%; flex-direction: row; padding: 8px 16px; gap: 4px; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--sigma-border); }
  .workspace-nav__label, .workspace-nav__section, .workspace-nav__footer, .workspace-nav .workspace-brand, .workspace-nav a > span { display: none; }
  .workspace-nav a { flex: 0 0 auto; min-height: 44px; padding: 10px 14px; font-size: 13px; }
  .app-header__inner { margin: 0 20px; min-height: 72px; }
}
@media (max-width:760px) {
  .sigma-access__layout { grid-template-columns: 1fr; max-width: 500px; min-height: auto; }
  .sigma-access__story { padding: 30px; }
  .access-brand { margin-bottom: 28px; }
  main.sigma-access .sigma-access__story h1 { font-size: 44px; }
  .sigma-access__story h1 br { display: none; }
  .sigma-blueprint, .sigma-access__story > small { display: none; }
  .sigma-access__form { padding: 35px 28px; }
  .access-page main.sigma-access { padding: 18px !important; }
}
@media (max-width:575px) {
  .app-header__inner { min-height: 68px; margin: 0 16px; gap: 8px; }
  .app-context span, .app-header__user, .app-header__button[href="index.php"] { display: none; }
  .app-header__button { min-height: 40px; padding: 8px; }
  .workspace main.container { padding-left: 16px; padding-right: 16px; }
  .dashboard { padding-top: 24px; }
  .dashboard-hero { padding: 26px 22px; margin-bottom: 24px; }
  .dashboard-hero h1 { font-size: 32px; }
  .dashboard-hero > p:last-child { font-size: 13px; }
  .dashboard-grid { grid-template-columns: 1fr; gap: 14px; }
  .dashboard-card { min-height: 160px; padding: 22px; gap: 18px; }
  .workspace-section-label small { display: none; }
  .workspace-tab { padding: 12px; font-size: 13px; }
  .workspace-panel-container .accordion-body { padding: 16px; }
  .table { font-size: 12px; }
  .inicio-flotante { right: 16px; bottom: calc(16px + env(safe-area-inset-bottom,0px)); }
}
@media print {
  .workspace { padding-left: 0; }
  .workspace-nav, .app-header, .workspace-tabs, .inicio-flotante { display: none !important; }
  .workspace main.container { max-width: none; padding: 0; }
}
@media (prefers-reduced-motion:reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; } }
