

/* FarmaTurnos 2026-11 - navegación compacta, basada en el lenguaje existente. */
:root { --compact-nav-ink:#24416c; --compact-nav-subtle:#7182a0; }
.sidebar .primary-nav.legacy-nav { display:none !important; }
.compact-manager-nav, .compact-employee-nav { display:flex; flex-direction:column; gap:4px; }
.sidebar .compact-nav,
.sidebar .compact-nav-help { display:flex; flex-direction:column; gap:4px; min-height:0; }
.sidebar .compact-nav { padding:2px 4px 8px; }
.sidebar .compact-nav button,
.sidebar .compact-nav-help button {
  display:flex; align-items:center; gap:12px; width:100%; min-height:44px;
  padding:10px 12px; border:0; border-radius:8px; background:transparent;
  color:var(--sidebar-ink,#e8f4ef); text-align:left; font:inherit;
  font-size:13px; font-weight:680; cursor:pointer; white-space:nowrap;
}
.sidebar .compact-nav button svg,
.sidebar .compact-nav-help button svg { display:block; flex:0 0 19px; width:19px; height:19px; color:var(--sidebar-muted,#c7e1d4); }
.sidebar .compact-nav button:hover, .sidebar .compact-nav-help button:hover {
  background:rgba(255,255,255,.12); color:#ffffff;
}
.sidebar .compact-nav button.active {
  background:#e8f0ff; color:#143e91; box-shadow:inset 3px 0 #174093;
}
.sidebar .compact-nav button.active svg { color:#174093; }
.sidebar .compact-nav button:focus-visible, .sidebar .compact-nav-help button:focus-visible,
.compact-tab:focus-visible, .compact-action:focus-visible, .compact-create-trigger:focus-visible,
.compact-menu-item:focus-visible, .compact-settings-tab:focus-visible {
  outline:2px solid #2469c2; outline-offset:2px;
}
.sidebar .compact-nav-help {
  margin-top:10px; padding:10px 4px 0; border-top:1px solid rgba(232,244,239,.24);
}
.sidebar .compact-nav-help button { min-height:38px; font-size:12px; font-weight:650; color:var(--sidebar-muted,#c7e1d4); }
.sidebar .compact-nav-help svg { width:17px; height:17px; }
.sidebar .compact-sidebar-label { overflow:hidden; text-overflow:ellipsis; }
.compact-nav [hidden], .compact-nav-help [hidden], .compact-employee-nav[hidden],
.compact-manager-nav[hidden], #compactSectionBar[hidden], .compact-create-menu[hidden],
.compact-settings-hidden { display:none!important; }
.compact-section-bar {
  position:sticky; top:var(--topbar); z-index:34; display:flex;
  align-items:center; justify-content:space-between; gap:14px;
  min-height:50px; padding:6px 18px; background:var(--surface,#fff);
  border-bottom:1px solid #e1e8f2;
}
.compact-tabs { display:flex; align-items:center; gap:4px; min-width:0; overflow-x:auto;
  overflow-y:hidden; scrollbar-width:thin; flex:1 1 auto; }
.compact-tab {
  flex:none; display:inline-flex; align-items:center; justify-content:center;
  min-height:42px; padding:8px 12px; background:transparent;
  border:0; border-radius:6px; color:#60728f; font:inherit;
  font-size:12px; font-weight:710; white-space:nowrap; cursor:pointer;
}
.compact-tab:hover { background:#f1f5fc; color:#184182; }
.compact-tab.active { background:#e9f0fd; color:#174093; }
.compact-actions { display:flex; align-items:center; gap:6px; flex:0 0 auto; }
.compact-extra-desktop{display:flex;gap:6px;align-items:center}
.compact-extra-mobile{display:none}
.compact-extra-mobile summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 11px;border:1px solid #d9e3f1;border-radius:7px;background:#fff;color:#385b85;font-size:12px;font-weight:710}
.compact-extra-mobile summary::-webkit-details-marker{display:none}
.compact-extra-mobile summary::after{content:'';width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:9px}
.compact-extra-mobile summary:focus-visible,.compact-extra-menu button:focus-visible{outline:2px solid #2469c2;outline-offset:2px}
.compact-extra-menu{position:absolute;z-index:70;top:calc(100% + 6px);left:0;min-width:240px;max-width:min(300px,calc(100vw - 20px));padding:6px;border:1px solid #dbe4f1;border-radius:9px;background:#fff;box-shadow:0 12px 32px rgba(25,50,89,.14)}
.compact-extra-menu .compact-menu-item{display:block;text-align:left;min-height:44px;width:100%;padding:9px 12px;border:0;border-radius:7px;background:transparent;color:#27436e;font-size:12px;font-weight:660;cursor:pointer}
.compact-extra-menu .compact-menu-item:hover{background:#edf3ff;color:#143e91}
html[data-theme="dark"] .compact-extra-mobile summary{background:#233650;border-color:#445775;color:#e5efff}
html[data-theme="dark"] .compact-extra-menu{background:#22344c;border-color:#4a5e7a}
html[data-theme="dark"] .compact-extra-menu .compact-menu-item{color:#e3edfc}
html[data-theme="dark"] .compact-extra-menu .compact-menu-item:hover{background:#304c72;color:#fff}

.compact-action, .compact-create-trigger {
  display:inline-flex; align-items:center; justify-content:center; gap:5px;
  min-height:40px; padding:7px 10px; border:1px solid #d9e3f1; border-radius:7px;
  background:#fff; color:#385b85; font:inherit; font-size:11px; font-weight:710;
  white-space:nowrap; cursor:pointer;
}
.compact-action:hover { background:#edf3fc; }
.compact-create { position:relative; }
.compact-create-trigger { color:#fff; background:#174093; border-color:#174093; font-size:12px; }
.compact-create-trigger:hover { background:#113472; }
.compact-create-trigger:after { content:''; width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg) translateY(-2px); margin-left:4px; }
.compact-create-menu {
  position:absolute; right:0; top:calc(100% + 7px); z-index:60; display:grid;
  min-width:245px; padding:6px; border:1px solid #dbe4f1; border-radius:10px;
  background:#fff; box-shadow:0 12px 32px rgba(25,50,89,.14);
}
.compact-create-menu .compact-menu-item {
  display:flex; align-items:center; width:100%; min-height:42px;
  padding:10px 12px; border:0; border-radius:7px; background:transparent;
  color:#27436e; text-decoration:none; font:inherit; font-size:12px; font-weight:660;
  text-align:left; cursor:pointer;
}
.compact-create-menu .compact-menu-item:hover { background:#edf3ff; color:#143e91; }
.compact-settings-tabs {
  display:flex; gap:5px; align-items:center; flex-wrap:wrap;
  margin:0 0 16px; padding:5px; background:#edf2fa; border-radius:9px;
}
.compact-settings-tab {
  display:inline-flex; align-items:center; justify-content:center; min-height:38px;
  padding:9px 13px; border:0; border-radius:7px; background:transparent;
  color:#496489; font:inherit; font-weight:700; font-size:12px; cursor:pointer;
}
.compact-settings-tab:hover { background:#e0e9f6; }
.compact-settings-tab.active { background:#fff; color:#174093; box-shadow:0 1px 3px rgba(15,51,100,.1); }
body.compact-sidebar-collapsed { --sidebar:67px; }
body.compact-sidebar-collapsed .sidebar { padding-left:8px; padding-right:8px; }
body.compact-sidebar-collapsed .sidebar-brand { justify-content:center; padding:0; }
body.compact-sidebar-collapsed .sidebar-brand > span:last-child,
body.compact-sidebar-collapsed .compact-sidebar-label,
body.compact-sidebar-collapsed .sidebar-foot .session-card > span:last-child,
body.compact-sidebar-collapsed .sidebar-foot .nav-action { display:none!important; }
body.compact-sidebar-collapsed .sidebar .compact-nav,
body.compact-sidebar-collapsed .sidebar .compact-nav-help { padding-left:0; padding-right:0; }
body.compact-sidebar-collapsed .sidebar .compact-nav button,
body.compact-sidebar-collapsed .sidebar .compact-nav-help button {
  justify-content:center; padding:10px 0;
}
body.compact-sidebar-collapsed .sidebar-foot .session-card { justify-content:center; padding:5px; }
body.compact-sidebar-collapsed .sidebar-foot .session-avatar { flex:0 0 32px; }
@media(max-width:1170px) {
  .compact-section-bar { flex-wrap:wrap; gap:3px; padding:5px 12px; }
  .compact-tabs { flex:1 1 100%; }
  .compact-actions { flex:1 1 100%; justify-content:flex-end; }
}
@media(max-width:800px) {
  body.compact-sidebar-collapsed { --sidebar:245px; }
  body.compact-sidebar-collapsed .sidebar { padding-left:12px; padding-right:12px; }
  body.compact-sidebar-collapsed .sidebar-brand { justify-content:flex-start; }
  body.compact-sidebar-collapsed .sidebar-brand > span:last-child,
  body.compact-sidebar-collapsed .compact-sidebar-label,
  body.compact-sidebar-collapsed .sidebar-foot .session-card > span:last-child { display:initial!important; }
  body.compact-sidebar-collapsed .sidebar .compact-nav button,
  body.compact-sidebar-collapsed .sidebar .compact-nav-help button { justify-content:flex-start; padding:10px 12px; }
  #compactSidebarToggle { display:none!important; }
  .compact-section-bar { position:sticky; top:var(--topbar); padding:5px 10px; }
  .compact-extra-desktop{display:none}
  .compact-extra-mobile{display:block;position:relative}
  .compact-actions { overflow:visible; flex-wrap:nowrap; justify-content:flex-start; padding:0 0 4px; }
  .compact-extra-menu{position:absolute}
  .compact-tab { min-height:44px; }
  .compact-action, .compact-create-trigger { min-height:44px; }
  .sidebar .compact-nav-help button { min-height:44px; }
  .compact-settings-tabs { flex-wrap:nowrap; overflow-x:auto; scrollbar-width:thin; }
  .compact-settings-tab { flex:none; min-height:44px; }
}
@media print {
  .compact-section-bar, .compact-nav, .compact-nav-help, .compact-settings-tabs { display:none!important; }
  #content > .compact-settings-hidden { display:block!important; }
}

/* Mismo contraste para la navegación compacta en tema oscuro. */
html[data-theme="dark"] .sidebar { background:#17273e; border-color:#35465f; }
html[data-theme="dark"] .sidebar-brand { border-color:#35465f; }
html[data-theme="dark"] .sidebar-brand strong,
html[data-theme="dark"] .sidebar .compact-nav button,
html[data-theme="dark"] .sidebar .compact-nav-help button { color:#e4eafa; }
html[data-theme="dark"] .sidebar .compact-nav button svg,
html[data-theme="dark"] .sidebar .compact-nav-help button svg { color:#b5c6e1; }
html[data-theme="dark"] .sidebar .compact-nav button:hover,
html[data-theme="dark"] .sidebar .compact-nav-help button:hover { background:#28415f; color:#fff; }
html[data-theme="dark"] .sidebar .compact-nav button.active { background:#2d4c78; color:#fff; box-shadow:inset 3px 0 #85adf0; }
html[data-theme="dark"] .sidebar .compact-nav button.active svg { color:#eaf2ff; }
html[data-theme="dark"] .compact-section-bar { background:#1c2940; border-color:#394760; }
html[data-theme="dark"] .compact-tab { color:#bdcce4; }
html[data-theme="dark"] .compact-tab:hover { background:#2b4262; color:#fff; }
html[data-theme="dark"] .compact-tab.active { background:#304b73; color:#fff; }
html[data-theme="dark"] .compact-action { background:#233650; border-color:#445775; color:#e5efff; }
html[data-theme="dark"] .compact-action:hover { background:#304869; }
html[data-theme="dark"] .compact-create-menu { background:#22344c; border-color:#4a5e7a; }
html[data-theme="dark"] .compact-create-menu .compact-menu-item { color:#e3edfc; }
html[data-theme="dark"] .compact-create-menu .compact-menu-item:hover { background:#304c72; color:#fff; }
html[data-theme="dark"] .compact-settings-tabs { background:#26374f; }
html[data-theme="dark"] .compact-settings-tab { color:#c5d2e6; }
html[data-theme="dark"] .compact-settings-tab:hover { background:#304765; }
html[data-theme="dark"] .compact-settings-tab.active { background:#395676; color:#fff; }
html[data-ui-text="large"] .sidebar .compact-nav button,
html[data-ui-text="large"] .compact-tab,
html[data-ui-text="large"] .compact-settings-tab { font-size:15px; }

.shift-browser-alerts{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 17px;margin:12px 0;background:var(--surface)}
.shift-browser-alerts h2{font-size:14px;margin-bottom:4px}
.shift-browser-alerts p,.shift-browser-alerts small{display:block;color:var(--ink-3);font-size:11px}
.shift-browser-alerts button{flex:0 0 auto}
@media(max-width:640px){.shift-browser-alerts{flex-wrap:wrap}.shift-browser-alerts button{width:100%}}

/* Resumen de ventas Farmatic: fuente verificada, separado de la captura manual. */
.farmatic-sales{display:grid;gap:9px;padding:12px 13px;background:var(--surface-raised);border:1px solid var(--line);border-radius:8px;margin:10px}
.farmatic-sales-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.farmatic-sales-head b,.farmatic-sales-head small{display:block}
.farmatic-sales-head b{font-size:12px}
.farmatic-sales-head small{font-size:10px;color:var(--ink-3);line-height:1.3}
.farmatic-sales-head button{min-height:33px}
.farmatic-sales-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.farmatic-sales-metrics>div{min-width:0;padding:7px 9px;background:var(--surface);border:1px solid var(--line);border-radius:7px}
.farmatic-sales-metrics small{display:block;font-size:10px;color:var(--ink-3);line-height:1.2}
.farmatic-sales-metrics strong{display:block;font-size:16px;font-variant-numeric:tabular-nums;word-break:break-word;color:var(--brand)}
.farmatic-sales-message,.farmatic-sales-warning{font-size:10px;line-height:1.5;color:var(--ink-3);margin:0}
.farmatic-sales-error{color:var(--danger)}
.farmatic-sales-warning{border-top:1px solid var(--line);padding-top:6px}
.farmatic-manual-title{font-size:11px!important;font-weight:750;padding:6px 12px 0;margin-top:4px}
@media(max-width:540px){.farmatic-sales{margin:8px 5px;padding:9px}.farmatic-sales-metrics strong{font-size:14px}}


.nl-review{display:grid;gap:10px;padding:14px 16px;margin:12px 0}
.nl-review-title{display:flex;align-items:center;justify-content:space-between;gap:10px}
.nl-review-title h2{font-size:15px;margin-bottom:5px}
.nl-review-title p{font-size:12px;color:var(--ink-3)}
.nl-review-title .button{flex:0 0 auto}
.nl-review-result{font-size:12px;color:var(--ink-2)}
.nl-review-result>.nl-hint{margin-bottom:9px}
.nl-review-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:14px}
.nl-review-metrics>span{padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-inset);font-size:11px;color:var(--ink-3)}
.nl-review-metrics b{display:block;color:var(--ink);font-variant-numeric:tabular-nums;font-size:20px}
.nl-review-metrics b.nl-review-good{color:var(--good)}
.nl-review-metrics b.nl-review-bad{color:var(--danger)}
.nl-review-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.nl-review-columns h3{font-size:12px;margin:2px 0 8px}
.nl-review-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--line);font-size:11px}
.nl-review-row>span{min-width:0}
.nl-review-row small{display:block;color:var(--ink-3)}
.nl-review-row>button{flex:0 0 auto}
@media(max-width:850px){.nl-review-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.nl-review-columns{grid-template-columns:1fr}.nl-review-title{align-items:flex-start;flex-wrap:wrap}}


.farmatic-hourly{margin-top:2px;border-top:1px solid var(--line);padding-top:6px}
.farmatic-hourly>summary{font-weight:720;font-size:11px;color:var(--brand);cursor:pointer;padding:6px 0;min-height:34px}
.farmatic-hourly .farmatic-sales-message{margin-bottom:7px}
.farmatic-hour-chart{display:grid;gap:4px;padding:5px 0 8px}
.farmatic-hour-row{display:grid;grid-template-columns:40px 1fr 48px;gap:7px;align-items:center;min-height:17px;font-size:10px;font-variant-numeric:tabular-nums}
.farmatic-hour-row>span{color:var(--ink-3)}
.farmatic-hour-row>b{text-align:right;color:var(--ink-2);font-weight:650}
.farmatic-hour-track{height:9px;background:var(--surface-inset);border-radius:3px;overflow:hidden}
.farmatic-hour-track i{display:block;height:100%;background:var(--brand);border-radius:3px;min-width:0}

/* CALENDARIO ANUAL — vista de lectura; el editor permanece en el calendario mensual. */
.year-page{display:grid;gap:14px;min-width:0}
.year-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.year-page-head h1{font-size:27px;margin:4px 0 7px}
.year-page-head p:not(.eyebrow){color:var(--ink-3);max-width:76ch}
.year-head-actions{display:flex;gap:8px;flex-wrap:wrap}
.year-toolbar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;padding:12px 14px;background:var(--surface)}
.year-toolbar>label{display:grid;gap:4px;color:var(--ink-2);font-size:11px;font-weight:750;min-width:120px}
.year-toolbar select{min-height:34px;min-width:112px;padding:5px 9px;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface);color:var(--ink)}
.year-toolbar .year-check{display:flex;align-items:center;gap:6px;min-height:34px;min-width:0;font-size:12px;color:var(--ink-2)}
.year-check input{width:16px;height:16px;accent-color:var(--brand)}
.year-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.year-metric{padding:11px 14px;background:var(--surface);display:grid;gap:3px}
.year-metric small{color:var(--ink-3);font-size:11px}
.year-metric strong{font-size:21px;font-variant-numeric:tabular-nums;color:var(--ink)}
.year-legend{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;padding:4px 2px;color:var(--ink-2);font-size:11px}
.year-legend>span{display:flex;align-items:center;gap:4px}
.year-legend .year-code{display:inline-grid;width:19px;height:19px;place-items:center;font-size:11px;font-style:normal;border-radius:3px}
.year-month-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;align-items:stretch}
@media(max-width:1100px){.year-month-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.year-month{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--surface)}
.year-month-head{padding:9px 11px;display:flex;justify-content:space-between;align-items:center;gap:5px;border-bottom:1px solid var(--line)}
.year-open-month{background:transparent;border:0;padding:0;display:flex;align-items:baseline;gap:7px;color:var(--ink);min-height:30px}
.year-open-month b{font-size:14px;letter-spacing:-.01em}
.year-open-month small{font-size:10px;color:var(--brand);font-weight:700;white-space:nowrap}
.year-open-month:hover b{text-decoration:underline}
.year-month-hours{font-size:12px;font-weight:760;white-space:nowrap;color:var(--brand)}
.year-month-body{min-width:0;overflow:hidden;flex:1;padding:3px 6px}
.year-mini-table{width:100%;border-collapse:separate;border-spacing:1px 3px;table-layout:fixed;font-size:9px}
.year-mini-table .year-employee-head{width:22%;font-size:10px;color:var(--ink-3);text-align:left;vertical-align:bottom}
.year-mini-table thead th:not(:first-child){min-width:0;text-align:center;font-variant-numeric:tabular-nums;font-weight:650;color:var(--ink-3)}
.year-day-head{position:relative}
.year-day-head span,.year-day-head small{display:block;font-size:8px;line-height:11px;font-weight:700}
.year-day-head small{opacity:.75}
.year-day-head.holiday{color:var(--danger)!important}
.year-day-head.guard span{background:#efb860;color:#30210a;border-radius:2px}
.year-day-head.closed{opacity:.35}
.year-person{display:flex;align-items:center;gap:4px;min-width:0;color:var(--ink-2);font-size:10px;font-weight:680}
.year-person span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.year-person i{flex:0 0 6px;height:12px;border-radius:4px}
.year-mini-table tbody th{min-width:0;text-align:left;vertical-align:middle;padding:0 3px 0 0}
.year-mini-table td{padding:0;vertical-align:middle;text-align:center}
.year-mini-table td.weekend{background:color-mix(in srgb,var(--surface-inset),transparent 45%)}
.year-code{display:grid;place-items:center;width:100%;min-width:0;height:16px;border:0;border-radius:2px;color:var(--ink-3);font-weight:800;font-size:8px;line-height:1;background:var(--surface-inset);padding:0}
button.year-code{cursor:pointer}
button.year-code:hover{outline:1px solid var(--brand);outline-offset:1px;position:relative;z-index:1}
.year-code.morning{background:#c9eafa;color:#124368}
.year-code.afternoon{background:#d8cafa;color:#503078}
.year-code.continuous{background:#b7ebd5;color:#0f5b3b}
.year-code.split{background:#fce2ad;color:#684409}
.year-code.night{background:#234878;color:#fff}
.year-code.vacation{background:#f8d5e2;color:#873751}
.year-code.sick{background:#f7c6b9;color:#773325}
.year-code.leave{background:#eadbd6;color:#64463b}
.year-code.other{background:#e6e4fc;color:#4d3e96}
.year-code.empty{background:transparent;color:var(--ink-4);font-size:8px;font-weight:500}
.year-month-foot{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:6px 12px;font-size:10px;color:var(--ink-3)}
.year-quality{padding:12px 15px;display:grid;gap:8px;background:var(--surface)}
.year-quality-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.year-quality-head b{font-size:14px;color:var(--ink)}
.year-quality-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.year-quality-list>span{display:grid;gap:2px;color:var(--ink-3);font-size:11px}
.year-quality-list strong{font-size:20px;font-variant-numeric:tabular-nums;color:var(--ink)}
.year-quality-list strong.good{color:var(--good)}
.year-quality-list strong.warn{color:var(--danger)}
.year-quality>p,.year-quality-note{font-size:11px;color:var(--ink-3)}
@media(max-width:900px){.year-quality-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.year-totals{padding:13px}
.year-totals-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.year-totals-head h2{font-size:15px}
.year-totals-head small{color:var(--ink-3)}
.year-totals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:6px 14px}
.year-total-row{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:5px 0;font-size:12px}
.year-total-row span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.year-total-row b{font-variant-numeric:tabular-nums;white-space:nowrap}
.year-disclaimer{color:var(--ink-3);font-size:11px}
.year-detail-line{padding:8px 0;border-bottom:1px solid var(--line);color:var(--ink)}
.year-loading,.year-empty{padding:32px 20px;text-align:center;color:var(--ink-3)}
@media(max-width:1150px){.year-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){
  .year-page-head h1{font-size:23px}
  .year-toolbar>label{flex:1 1 120px;min-width:0}
  .year-toolbar .year-check{flex:1 1 100%}
  .year-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .year-month-grid{grid-template-columns:minmax(0,1fr)}
  .year-month-body{padding:5px 9px}
  .year-mini-table{border-spacing:1px 5px}
  .year-mini-table .year-employee-head{width:26%}
  .year-mini-table button.year-code{pointer-events:none}
  .year-open-month{min-height:44px}
}
@media print{
  .sidebar,.topbar,.year-toolbar,.year-head-actions,.year-disclaimer{display:none!important}
  .workspace,.content,.year-page{background:#fff!important;padding:0!important}
  .year-month-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
  .year-month{break-inside:avoid;box-shadow:none}
  .year-month-body{padding:3px}
  .year-month-head{padding:4px}
  .year-page-head h1{font-size:18px}
  .year-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}
  .year-metric{padding:6px}
  .year-metric strong{font-size:14px}
}

:root{
  --canvas:#f4f7fc;
  --canvas-soft:#edf2f9;
  --surface:#ffffff;
  --surface-raised:#f9fbfe;
  --surface-inset:#f0f4fa;
  --ink:#152747;
  --ink-2:#355070;
  --ink-3:#62758d;
  --ink-4:#91a0b1;
  --line:rgba(27,56,102,.11);
  --line-strong:rgba(27,56,102,.22);
  --brand:#173f96;
  --brand-strong:#123478;
  --brand-hover:#2455ae;
  --brand-soft:#e7efff;
  --brand-faint:#f1f5ff;
  --amber:#b77d1b;
  --amber-soft:#fff5df;
  --blue:#2865b5;
  --blue-soft:#edf4ff;
  --good:#138f71;
  --danger:#cb455e;
  --sidebar:215px;
  --topbar:59px;
  --r-sm:6px;
  --r-md:9px;
  --r-lg:11px;
}
body{background:var(--canvas);color:var(--ink);font-family:Inter,"Segoe UI Variable","Segoe UI",system-ui,sans-serif;font-size:13px;}
.sidebar{padding:16px 9px 13px;background:#fff;color:#273c65;border-right:1px solid #e1e8f4;box-shadow:2px 0 12px rgba(34,65,108,.025)}
.sidebar-brand{height:49px;margin:0 2px 16px;padding:0 6px;border-bottom:1px solid #ebeff5;padding-bottom:9px;}
.sidebar-brand strong{font-size:16px;color:#173b88;font-weight:850}
.sidebar-brand small{color:#8797b0;font-weight:650;font-size:11px}
.sidebar .brand-mark{width:34px;height:34px;background:#143b90;border-radius:7px;box-shadow:none}
.sidebar .brand-mark svg{width:19px;height:19px}
.primary-nav{display:flex;flex-direction:column;align-items:stretch;gap:1px;overflow-y:auto;min-height:0;padding:0 1px 8px;scrollbar-width:thin}
.primary-nav>p,.primary-nav>.nav-section{margin:13px 11px 5px;color:#8090ac;font-size:10px;letter-spacing:.075em;font-weight:850;text-transform:uppercase;}
.primary-nav>p:first-child{margin-top:0}
.primary-nav button{width:100%;min-height:33px;padding:5px 9px;gap:9px;border-radius:6px;color:#586c89;background:transparent;border:0;font-size:12px;font-weight:650}
.primary-nav button svg{width:15px;height:15px;color:#7187ac}
.primary-nav button:hover{color:#173d91;background:#edf3ff}
.primary-nav button.active{color:#fff;background:#174093;border:0;box-shadow:0 3px 8px rgba(23,64,147,.17)}
.primary-nav button.active svg{color:#fff}
.primary-nav button.active:before{display:none}
.sidebar-foot{border-top:1px solid #ecf0f7;padding-top:10px;gap:3px}
.session-card{padding:7px;border:0;background:#f3f6fc;border-radius:7px}
.session-avatar{background:#dae9ff;color:#174093;border-radius:6px}
.session-card b{color:#24365b}
.session-card small{color:#8593a9}
.nav-action{color:#788da7;font-size:12px;border-radius:6px}
.nav-action:hover{color:#174093;background:#eef4ff}
.login-story{background:radial-gradient(circle at 85% 17%,rgba(6,230,239,.4),transparent 37%),linear-gradient(145deg,#052b67 4%,#075698 57%,#0085b0 100%)}
.login-brand .brand-mark{background:rgba(255,255,255,.18)}
.login-copy .eyebrow{color:#aef5ff}
.login-preview{background:rgba(255,255,255,.09)}
.login-preview .preview-grid i:nth-child(2),.login-preview .preview-grid i:nth-child(7),.login-preview .preview-grid i:nth-child(11){border-left-color:#1be2ea}
.workspace{background:var(--canvas)}
.topbar{padding:0 21px;background:rgba(255,255,255,.96);border-color:#e2e8f3;box-shadow:0 1px 4px rgba(25,54,102,.025)}
.topbar-context span{font-size:10px;letter-spacing:.09em;color:#97a4b8}
.topbar-context strong{font-size:13px;color:#1a376a}
.topbar-actions .connection-chip{color:#647b97;background:#f9fbff;border-color:#e4ecf6}
.content{padding:18px 18px 40px;max-width:1900px}
.page-head h1{font-size:26px}
.surface{border:1px solid #e0e7f1;border-radius:10px;box-shadow:0 2px 8px rgba(33,63,110,.018)}
.eyebrow{color:#1b5296}
.button{border-radius:7px;font-size:12px;font-weight:720;min-height:34px}
.button-small{font-size:11px;min-height:29px;padding:5px 9px}
.icon-button{border-radius:7px;width:34px;height:34px}
.field input,.field select,.field textarea{border-radius:7px}
.month-view{display:grid;gap:12px;min-width:0}
.month-page-head{display:flex;justify-content:space-between;align-items:center;gap:16px}
.month-page-head>div:first-child{min-width:0}
.month-eyebrow{margin-bottom:4px;color:#7186a8;font-size:10px;font-weight:800;letter-spacing:.095em}
.month-page-head h1{font-size:25px;font-weight:830;color:#172b50;letter-spacing:-.035em;text-transform:none}
.month-page-head p:not(.month-eyebrow){margin-top:4px;color:#8494a9;font-size:12px}
.month-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;flex:none}
.month-head-actions .button-primary{background:#19469d}
.month-toolbar{padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;box-shadow:none}
.month-date-nav{display:flex;align-items:center;gap:4px}
.month-picker select,.month-filter select{min-height:32px;border:1px solid #dce4ef;background:#fff;border-radius:6px;color:#1e3562;cursor:pointer;font-size:12px;font-weight:720;padding:4px 9px}
.month-picker select{min-width:99px}
.month-picker.year select{min-width:73px}
.month-toolbar-filters{display:flex;gap:10px;align-items:center;flex:1;justify-content:center}
.month-filter{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:650;color:#687f9e}
.month-filter select{font-weight:600;max-width:200px;min-width:130px}
.month-output-actions{display:flex;gap:6px;align-items:center}
.month-options{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:0 3px;color:#647b98;font-size:11px;font-weight:650}
.month-options label{display:inline-flex;gap:5px;align-items:center;cursor:pointer;white-space:nowrap}
.month-options input{margin:0;accent-color:#164395;width:14px;height:14px}
.month-calendar{overflow:hidden;box-shadow:0 4px 13px rgba(25,64,115,.025)}
.month-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border-bottom:1px solid #e1e9f4}
.month-calendar-head>div:first-child{display:flex;align-items:center;gap:8px;min-width:0}
.month-calendar-head strong{font-size:13px;color:#1b396f;white-space:nowrap}
.month-calendar-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:6px;color:#184896;background:#edf3ff}
.month-calendar-icon svg{width:16px;height:16px}
.month-substatus{border:1px solid #dfe8f4;border-radius:4px;background:#f6f9ff;padding:3px 6px;color:#7587a5;white-space:nowrap;font-weight:700;font-size:10px}
.month-legend{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;color:#6b7d95;font-size:10px;font-weight:650}
.month-legend>span{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}
.month-legend i{display:grid;place-items:center;width:18px;height:18px;border-radius:4px;font-weight:850;font-size:10px;font-style:normal;color:#273b5a}
.month-legend i.morning,.month-chip.morning{background:#e99ce9;color:#5c2c65;border-color:#e0a5e1}
.month-legend i.continuous,.month-chip.continuous{background:#b4ead0;color:#145743;border-color:#8bd4b2}
.month-legend i.afternoon,.month-chip.afternoon{background:#30dce6;color:#064e65;border-color:#9af5ef}
.month-legend i.night,.month-chip.night{background:#b0b7dc;color:#263c67;border-color:#a5acd1}
.month-legend i.vacation,.month-chip.vacation{background:#8ceb9d;color:#15603b;border-color:#6edb7e}
.month-legend i.sick,.month-chip.sick{background:#ffd66f;color:#6a5000;border-color:#f3c459}
.month-legend i.leave,.month-chip.leave{background:#ffabab;color:#793c48;border-color:#f7a5ae}
.month-chip.other{background:#c3dbff;color:#2a4b7f;border-color:#a5c8fb}
.month-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-color:#c1cfe4 transparent;scrollbar-width:thin}
.month-scroll:focus-visible{outline:2px solid #1a51a4;outline-offset:-2px}
.month-table{--month-cell:34px;--name-col:177px;--hours-col:59px;border-spacing:0;border-collapse:separate;table-layout:fixed;width:max-content;min-width:100%;font-variant-numeric:tabular-nums;color:#2e4264}
.month-scroll.fit .month-table{--month-cell:28px}
.month-table th,.month-table td{box-sizing:border-box;border-bottom:1px solid #e9eff7;border-right:1px solid #ecf1f8;padding:0;text-align:center;font-weight:500}
.month-table .month-name-head,.month-table .month-employee{width:var(--name-col);min-width:var(--name-col);max-width:var(--name-col);position:sticky;left:0;z-index:3;text-align:left}
.month-table .month-name-head{height:46px;background:#f6f9ff;z-index:6;padding:0 11px;font-size:11px;font-weight:800;color:#294271;border-bottom-color:#d9e4f2}
.month-table .month-date-head{width:var(--month-cell);min-width:var(--month-cell);height:46px;background:#f6f9ff;vertical-align:middle;border-bottom-color:#d9e4f2}
.month-table .month-date-head.weekend{background:#edf2fa}
.month-table .month-date-head.today{background:#d9ebff}
.month-table .month-date-head.closed{background:#fcecf0}
.month-day-go{position:relative;width:100%;height:46px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:0;background:transparent;color:#577090;cursor:pointer}
.month-day-go small{font-size:9px;font-weight:650;text-transform:uppercase}
.month-day-go b{font-size:12px;font-weight:800;color:#2e4878}
.month-day-go:hover{background:rgba(25,77,160,.07)}
.month-date-head.today .month-day-go b{color:#004e9f}
.month-alert-dot{position:absolute;right:2px;top:4px;width:5px;height:5px;background:#e94f71;border-radius:50%}
.month-table tbody tr{height:39px}
.month-table tbody tr.alternate{background:#fbfcff}
.month-table tbody tr:hover{background:#f4f8fe}
.month-table tbody tr .month-employee{background:#fff}
.month-table tbody tr.alternate .month-employee{background:#fbfcff}
.month-table tbody tr:hover .month-employee{background:#f4f8fe}
.month-employee{padding:6px 8px!important;z-index:4}
.month-employee>span:last-child{display:flex;flex-direction:column;min-width:0}
.month-employee{display:table-cell}
.month-employee .month-person-dot{float:left;display:block;width:8px;height:8px;border-radius:50%;margin:5px 7px 0 0}
.month-employee b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:790;color:#253f6c}
.month-employee small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;color:#8798af}
.month-day.weekend{background:rgba(230,237,247,.57)}
.month-day.today{background:rgba(199,227,255,.28)}
.month-day.closed{background:rgba(252,230,233,.62)}
.month-cell-content{position:relative;min-width:var(--month-cell);min-height:38px;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:2px;padding:3px 1px}
.month-scroll.fit .month-cell-content{min-width:var(--month-cell);gap:1px;padding:2px 1px}
.month-chip{display:inline-grid;place-items:center;flex:0 0 auto;min-width:19px;height:22px;padding:0 2px;border:1px solid transparent;border-radius:3px;box-shadow:inset 0 -1px rgba(0,0,0,.06);cursor:pointer;font-size:11px;line-height:1}
.month-chip b{font-weight:900;line-height:1}
.month-chip:hover,.month-chip:focus-visible{outline:2px solid #2660af;outline-offset:1px;filter:saturate(1.13)}
.month-chip.partial{border-style:dashed}
.month-scroll.fit .month-chip{min-width:17px;height:19px;font-size:10px}
.month-split{position:absolute;bottom:1px;right:1px;color:#be5682;font-size:7px;font-style:normal;font-weight:900}
.month-add{position:absolute;right:0;bottom:0;display:grid;place-items:center;width:14px;height:14px;padding:0;border:0;border-radius:3px;background:#dae9fc;color:#16448c;opacity:0;font-size:12px;line-height:1}
.month-day:hover .month-add,.month-add:focus-visible{opacity:1}
.month-table .month-total{position:sticky;right:0;z-index:2;width:var(--hours-col);min-width:var(--hours-col);max-width:var(--hours-col);background:#f6f9ff;font-size:11px;color:#285291;font-weight:800;border-left:1px solid #dce6f4}
.month-table thead .month-total{z-index:6}
.month-table tbody .month-total b{font-weight:850}
.month-table .month-empty{padding:24px 10px;color:#8190a6;text-align:center}
.month-table tfoot tr{height:24px}
.month-table tfoot th{position:sticky;left:0;z-index:4;width:var(--name-col);min-width:var(--name-col);max-width:var(--name-col);padding:4px 8px;font-size:10px;font-weight:800;color:#34527b;text-align:left;background:#eef4fb}
.month-table tfoot td{height:24px;background:#f7faff;color:#305077;font-size:10px;font-weight:760}
.month-table tfoot tr.type-morning td{background:#fcedf8}
.month-table tfoot tr.type-afternoon td{background:#eafbfc}
.month-table tfoot tr.type-night td{background:#f0f0fa}
.month-table tfoot tr.type-pharmacist td{background:#eaf8ed;font-weight:850}
.month-table tfoot tr.type-pharmacist th{background:#e5f5ec}
.month-table tfoot td.weekend{filter:brightness(.97)}
.month-calendar-foot{display:flex;gap:15px;flex-wrap:wrap;align-items:center;padding:9px 12px;border-top:1px solid #e7edf5;color:#8391a7;font-size:10px;font-weight:600}
.month-calendar-foot b{color:#264879}
.month-calendar-foot svg{display:inline-block;width:12px;height:12px;vertical-align:-2px}
.month-warning{color:#bf5962}
.month-after{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(255px,.7fr);gap:12px;align-items:start}
.month-notes{overflow:hidden}
.month-notes>header,.month-analysis>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 13px;border-bottom:1px solid #e4eaf3}
.month-notes header>div,.month-analysis header{min-width:0}
.month-notes header>div{display:grid;gap:3px}
.month-notes strong,.month-analysis strong{font-size:12px;color:#254471}
.month-notes small,.month-analysis small{font-size:10px;color:#8191a7}
.month-note-list{max-height:200px;overflow:auto}
.month-note-list button{display:flex;align-items:center;gap:9px;width:100%;padding:9px 13px;border:0;border-bottom:1px solid #edf1f7;background:#fff;color:#405879;text-align:left}
.month-note-list button:hover{background:#f5f9ff}
.month-note-list time{font-size:10px;color:#7891ac;white-space:nowrap}
.month-note-list b{font-size:11px;min-width:110px;font-weight:730}
.month-note-list span{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.month-note-list>p,.month-no-notes{padding:13px;color:#8493a7;font-size:11px}
.month-right{display:grid;gap:12px}
.month-analysis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.month-analysis header{grid-column:1/-1}
.month-analysis header strong,.month-analysis header small{display:block}
.month-analysis>div{padding:10px;text-align:center;border-right:1px solid #e9eef5}
.month-analysis>div:last-of-type{border-right:0}
.month-analysis>div b{display:block;color:#23518f;font-size:15px;font-weight:850}
.month-analysis>div span{display:block;color:#8492a7;font-size:9px}
.month-analysis>button{grid-column:1/-1;margin:4px 10px 10px}
.month-productivity{border:1px solid #e0e7f1;border-radius:10px;background:#fff}
.month-productivity summary{cursor:pointer;padding:11px 13px;font-size:12px;font-weight:790;color:#234371}
.month-productivity summary small{display:block;margin:3px 0 0 18px;color:#8392a8;font-size:10px;font-weight:500}
.month-productivity-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;padding:10px 13px}
.month-productivity-form label{flex:1 1 100px;display:grid;gap:4px;font-size:10px;color:#667d9c}
.month-productivity-form input{width:100%;min-height:32px;border-radius:6px;border:1px solid #dce4f2;padding:5px 6px}
.month-productivity-result{display:flex;gap:18px;width:100%;font-size:11px;color:#7288a3}
.month-productivity-result b{color:#285493;font-size:14px}
.month-productivity>p{font-size:10px;color:#8394aa;padding:0 13px 11px}
.month-guide{display:grid;gap:8px}
.month-guide>p{font-size:12px;color:#7688a0}
.month-guide>button{display:grid;gap:3px;padding:10px;border-radius:7px;border:1px solid #e1e8f3;background:#f7faff;text-align:left;color:#254471}
.month-guide>button:hover{background:#e9f2ff}
.month-guide>button b{font-size:12px}
.month-guide>button small{font-size:11px;color:#6b7e99}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1250px){
  .month-toolbar-filters{justify-content:flex-start}
  .month-legend{gap:5px}
  .month-calendar-head{align-items:flex-start;flex-wrap:wrap}
}
@media(max-width:980px){
  .month-page-head{align-items:flex-start}
  .month-page-head h1{font-size:23px}
  .month-toolbar{justify-content:flex-start}
  .month-toolbar-filters{flex:1 1 100%}
  .month-output-actions{margin-left:auto}
  .month-after{grid-template-columns:minmax(0,1fr)}
  .month-scroll.fit .month-table{--month-cell:29px}
}
@media(max-width:800px){
  .sidebar{z-index:55}
  .month-page-head{flex-wrap:wrap}
  .month-head-actions{justify-content:flex-start}
  .month-scroll .month-table,.month-scroll.fit .month-table{--month-cell:34px;--name-col:138px;--hours-col:51px}
  .month-employee b{font-size:10px}
  .month-employee small{font-size:9px}
  .month-calendar-foot{gap:8px}
  .month-add{opacity:.55}
  .content{padding:13px 10px 28px}
}
@media(max-width:600px){
  .month-page-head h1{font-size:20px}
  .month-page-head p:not(.month-eyebrow){font-size:11px}
  .month-head-actions .button{min-height:30px;padding:5px 8px}
  .month-date-nav{flex-wrap:wrap}
  .month-toolbar-filters{display:grid;grid-template-columns:1fr 1fr;gap:6px}
  .month-filter{display:grid;gap:3px}
  .month-filter select{min-width:0;max-width:100%;width:100%}
  .month-calendar-head{padding:8px}
  .month-calendar-head strong{font-size:12px}
  .month-legend{justify-content:flex-start;font-size:9px}
  .month-table th,.month-table td{font-size:10px}
  .month-options{gap:7px}
  .month-analysis{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media print{
  @page{size:A4 landscape;margin:8mm}
  body,.workspace,.content{background:#fff!important}
  .sidebar,.topbar,.sidebar-scrim,.month-toolbar,.month-options,.month-head-actions,.month-add,.month-after,.month-calendar-foot,.toast{display:none!important}
  .workspace{margin:0!important}
  .content{padding:0!important;width:100%!important}
  .month-view{display:block!important}
  .month-page-head{margin:0 0 4mm!important}
  .month-page-head h1{font-size:17px!important}
  .month-page-head p{display:none}
  .month-calendar{overflow:visible;border:0;box-shadow:none}
  .month-calendar-head{padding:3px!important;border:0}
  .month-legend{font-size:8px;gap:3px}
  .month-scroll{overflow:visible!important}
  .month-table,.month-scroll.fit .month-table{--name-col:33mm;--month-cell:6.8mm;--hours-col:12mm;width:100%!important;table-layout:fixed}
  .month-table .month-name-head,.month-table .month-employee{position:static!important}
  .month-table .month-total{position:static!important}
  .month-table tbody tr{height:7mm!important;break-inside:avoid}
  .month-table .month-date-head,.month-day-go{height:8mm!important}
  .month-cell-content{min-width:0!important;min-height:7mm!important;padding:1px!important}
  .month-chip{min-width:4.8mm!important;width:4.8mm!important;height:4.8mm!important;font-size:8px!important}
  .month-table tfoot th{position:static!important}
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
}

