
/* Shared period menu: loaded in the head to prevent native-control flashes. */
body nav.fis-menu-nav{position:relative;overflow:visible}
body nav.fis-menu-nav .fis-view-menu{position:static;display:inline-block}
body nav.fis-menu-nav button.fis-view-trigger{display:inline-block;width:auto;height:auto;min-width:0;min-height:0;margin:0;padding:4px 8px;border:0;border-radius:0;background:transparent;box-shadow:none;color:#70899b;font-size:.62rem;font-weight:800;line-height:1.4;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transform:none}
body nav.fis-menu-nav .fis-view-options{position:absolute;display:block;box-sizing:border-box;top:calc(100% - 2px);left:50%;transform:translateX(-50%);z-index:100;width:160px;min-width:160px;padding:6px;background:#fff;border:1px solid #d7e3ec;border-radius:10px;box-shadow:0 8px 24px #102f4926;text-align:left}
body nav.fis-menu-nav .fis-view-options[hidden]{display:none}
body nav.fis-menu-nav .fis-view-options a{box-sizing:border-box;display:flex;align-items:center;justify-content:flex-start;width:100%;height:38px;min-height:38px;margin:0;padding:0 12px;border:0;border-radius:6px;background:transparent;box-shadow:none;color:#092f4d;font-size:13px;font-weight:600;line-height:1.3;letter-spacing:normal;text-transform:none;text-decoration:none;text-align:left;white-space:nowrap;transform:none}
body nav.fis-menu-nav .fis-view-options a:hover,body nav.fis-menu-nav .fis-view-options a:focus-visible{background:#f0f6fb}
body nav.fis-menu-nav .fis-view-options a[aria-current="true"]{background:#e1f0fa;color:#075b8c}
body nav.fis-menu-nav button.fis-view-trigger:focus-visible{outline:2px solid #0b527d;outline-offset:2px}
body.admin-overview-mode nav.fis-menu-nav button.fis-view-trigger{color:inherit}

/* Keep the period popup above the overview cards and their backdrop filters. */
body.admin-overview-mode .overview-heading-row{position:relative;z-index:50;overflow:visible}
body.admin-overview-mode nav.overview-period-nav.fis-menu-nav{z-index:1}

body nav.fis-custom-period>div{min-width:0;width:100%}
body nav.fis-menu-nav .fis-period-range{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin:2px 0 0;padding:0;width:100%;align-items:center}
body nav.fis-menu-nav .fis-period-range label{display:grid;gap:2px;min-width:0;margin:0;text-align:left;font-size:10px;font-weight:400;line-height:1.2;color:#70899b}
body nav.fis-menu-nav .fis-period-range input[type=date]{box-sizing:border-box;display:block;width:100%;min-width:0;max-width:100%;height:28px;min-height:0;margin:0;padding:2px 4px;border:1px solid #d7e3ec;border-radius:5px;background:#fff;color:#092f4d;font-family:inherit;font-weight:600;font-size:12px;line-height:1.2}
body nav.fis-menu-nav .fis-period-range noscript{grid-column:1/-1}

/* One geometry for every period, including the overview's custom range. */
body nav.admin-week-nav,
body.admin-overview-mode nav.overview-period-nav.fis-menu-nav{box-sizing:border-box;height:62px;min-height:62px;max-height:62px;padding:6px 9px;align-items:center;max-width:100%}
body nav.fis-menu-nav>div,
body.admin-overview-mode nav.overview-period-nav.fis-menu-nav>div{display:grid;grid-template-rows:18px 28px;align-content:center;gap:2px;min-width:0;width:100%}
body nav.fis-menu-nav>div>span,
body.admin-overview-mode nav.overview-period-nav.fis-menu-nav .overview-period-caption{display:block;height:18px;min-height:0;line-height:18px;margin:0;padding:0}
body nav.fis-menu-nav button.fis-view-trigger{height:18px;min-height:0;padding:0 8px;line-height:18px;vertical-align:top}
body nav.fis-menu-nav>div>strong{height:28px;line-height:28px;margin:0}
body nav.fis-menu-nav .fis-period-range,
body.admin-overview-mode nav.overview-period-nav.fis-menu-nav .overview-range-picker{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);height:28px;min-height:0;width:100%;min-width:0;margin:0;padding:0;gap:6px;align-items:center}
body nav.fis-menu-nav .fis-period-range label,
body.admin-overview-mode nav.overview-period-nav.fis-menu-nav .overview-range-picker label{display:block;min-width:0;height:28px;margin:0;padding:0;gap:0}
body nav.fis-menu-nav .fis-period-range input[type=date],
body.admin-overview-mode nav.overview-period-nav.fis-menu-nav .overview-range-picker input[type=date]{box-sizing:border-box;display:block;width:100%;min-width:0;max-width:100%;height:28px;min-height:28px;max-height:28px;margin:0;padding:2px 4px;font-size:12px;line-height:normal}
@media(max-width:480px){body nav.admin-week-nav.fis-menu-nav{grid-template-columns:32px minmax(0,1fr) 32px;gap:4px;padding:6px 8px;width:100%;min-width:0}body nav.admin-week-nav.fis-menu-nav>a{width:32px;height:38px}body nav.fis-menu-nav .fis-period-range{gap:4px}body nav.fis-menu-nav .fis-period-range input[type=date]{padding:2px;font-size:11px}}

body.admin-body nav.fis-menu-nav .fis-period-range input[type="date"]{box-sizing:border-box;height:28px;min-height:28px;max-height:28px;padding:2px 4px;margin:0;font-size:12px;line-height:normal}
body nav.fis-custom-period .fis-view-trigger,
body.admin-overview-mode nav.overview-period-nav:has(.overview-range-picker) .fis-view-trigger{position:relative;top:-2px}

/* Keep a stable compact width; custom dates use the arrow space. */
body nav.admin-week-nav.fis-menu-nav{width:330px;max-width:100%;min-width:0;grid-template-columns:42px minmax(0,1fr) 42px;gap:6px}
body nav.admin-week-nav.fis-menu-nav>a{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:42px;height:42px;min-width:42px;min-height:42px;padding:0;margin:0;line-height:1;font-size:0}
body nav.admin-week-nav.fis-menu-nav>a::before{content:"";display:block;width:7px;height:7px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:translateX(-2px) rotate(45deg)}
body nav.admin-week-nav.fis-menu-nav>a:first-child::before{transform:translateX(2px) rotate(-135deg)}
body nav.admin-week-nav.fis-menu-nav>a>svg{display:none}
body nav.admin-week-nav.fis-menu-nav.fis-custom-period{grid-template-columns:minmax(0,1fr);gap:0}
body nav.admin-week-nav.fis-menu-nav.fis-custom-period>a{display:none}

/* Employee form controls must fit the compact period selector as well. */
body.app-body nav.admin-week-nav.fis-custom-period .fis-period-range input[type="date"]{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;height:28px!important;min-height:28px!important;max-height:28px!important;padding:2px 5px!important;margin:0!important;font-size:12px!important;line-height:normal!important;border-radius:6px}
body.app-body nav.admin-week-nav.fis-custom-period .fis-period-range input[type="date"]::-webkit-datetime-edit{padding:0;min-width:0}
body.app-body nav.admin-week-nav.fis-custom-period .fis-period-range input[type="date"]::-webkit-calendar-picker-indicator{margin:0;padding:2px;width:14px;height:14px}
