/* Approved operational monthly direction A. No HR selectors or business data. */
@font-face{font-family:Onest;src:url('fonts/Onest.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--ui-bg:#f4f8fa;--ui-text:#193139;--ui-muted:#5c7079;--ui-border:#e2e9ed;--ui-border-strong:#cbd9df;--ui-blue:#195b67;--ui-green:#e4f2e9;--ui-green-text:#245c48;--ui-yellow:#fff4bf;--ui-yellow-text:#6d5817;--ui-weekend:#f5f7f8;--ui-gray-cell:#edf2f4}
body,button,input,select{font-family:Onest,sans-serif}button,summary{touch-action:manipulation}button:focus-visible,summary:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid #195b67;outline-offset:2px}
.product-bar{height:32px;flex:none;display:flex;align-items:center;gap:24px;padding:0 22px;background:white;border-bottom:1px solid var(--ui-border);font-size:11px}.product-brand{font-size:12px;letter-spacing:-.4px;white-space:nowrap}.product-brand>span{color:#195b67;font-size:20px;margin-right:8px}.product-active{height:32px;padding-top:8px;border-bottom:2px solid #195b67;color:#195b67}.product-account{margin-left:auto;display:flex;gap:12px;align-items:center}.product-account button{border:0!important;background:transparent!important;color:#405b65!important;font-size:11px;padding:3px 6px}.online-badge{font-size:10px;padding:2px 6px!important;font-weight:400!important}
.header{min-height:58px;flex:none;padding:10px 22px!important;background:transparent;border:0;box-shadow:none;flex-wrap:nowrap;gap:12px;z-index:100}.header-left{gap:6px;min-width:0}.header h1{min-width:0;font-size:25px;font-weight:550;letter-spacing:-1px;white-space:nowrap;text-transform:capitalize;margin-right:8px}.header-right{flex-wrap:nowrap;margin-left:auto;gap:6px}.header-right button,.more-actions summary{font-size:11px!important;font-weight:450!important;white-space:nowrap;min-height:30px;padding:5px 10px;border-radius:5px!important}.header-right button{border:1px solid var(--ui-border-strong)}.nav-btn{height:29px;min-width:28px;border-color:var(--ui-border);font-weight:400}.month-context{border-left:1px solid var(--ui-border);margin-left:12px;padding-left:15px;font-size:11px;white-space:nowrap}.month-context small{display:block;color:var(--ui-muted);font-size:10px;margin-top:3px}.more-actions{position:relative}.more-actions summary{cursor:pointer;list-style:none;background:#fff;border:1px solid var(--ui-border-strong)}.more-actions summary::-webkit-details-marker{display:none}.actions-menu{position:absolute;right:0;top:36px;width:222px;max-height:calc(100dvh - 105px);overflow:auto;padding:6px;background:white;border:1px solid var(--ui-border);box-shadow:0 8px 24px #19313926;border-radius:7px;display:flex;flex-direction:column;gap:4px}.actions-menu button{text-align:left;width:100%;border-color:transparent!important;background:white!important;min-height:32px}.actions-menu button:hover{background:#eef5f6!important}.btn-add:hover,.btn-primary:hover,.login-box button:hover{background:#124954!important}
.department-toolbar{flex:none;display:flex;align-items:center;gap:14px;padding:0 22px 8px;min-height:38px}#department-tabs{display:flex;gap:4px;min-width:0;overflow:auto;scrollbar-width:thin}#department-tabs button{background:transparent;border:1px solid transparent;border-radius:5px;padding:6px 10px;color:#405b65;font-size:11px;white-space:nowrap;cursor:pointer}#department-tabs button[aria-pressed=true]{background:#e5f0f2;border-color:#cddfe4;color:#195b67;font-weight:650}#roster-summary{color:var(--ui-muted);font-size:10px;margin-left:auto;white-space:nowrap}.department-toolbar .header-search{width:190px;max-width:190px;flex:none}.header-search input{height:29px;background:#fff;border-radius:5px;font-size:11px}#schedule-view{padding:0 22px}.schedule-container{padding:0!important;border:1px solid var(--ui-border);border-radius:6px;background:white;scrollbar-width:thin;scrollbar-color:#9bb3bd #eef3f5;overscroll-behavior:contain}
#schedule-table{width:max-content;min-width:100%;border:0!important;border-radius:0!important;box-shadow:none!important;table-layout:fixed}#schedule-table th,#schedule-table td{padding:3px 4px!important}#schedule-table thead th{height:36px;font-size:12px!important;font-weight:500!important;background:#fff!important;box-shadow:none!important}#schedule-table thead th br{display:none}#schedule-table thead th span{margin-left:5px;font-size:9px!important;color:#5c7079}#schedule-table th[data-day],#schedule-table td.day-cell{width:82px;min-width:82px!important;max-width:82px!important}#schedule-table td.day-cell{height:33px!important;font-variant-numeric:tabular-nums;font-size:11.5px!important;background:#f9fbfc!important}#schedule-table td.day-cell .cell-shift{font-size:11.5px!important;font-weight:450!important}#schedule-table td.day-cell.weekend{background:#f2f5f6!important}#schedule-table td.day-cell.off{background:#e4f2e9!important;color:#245c48!important}#schedule-table td.day-cell.comp-off{background:#f5e8c4!important;color:#76551e!important}#schedule-table td.day-cell.vacation{background:#fff4bf!important;color:#6d5817!important}#schedule-table td.day-cell.sick{background:#f8e5eb!important;color:#913852!important}#schedule-table td.day-cell.shift-late{background:#edf2f4!important;color:#193139!important}#schedule-table td.day-cell:hover{outline:1px solid #195b67!important;outline-offset:-2px}#schedule-table th.today-col,#schedule-table th.day-filter-active{background:#e5f0f2!important;color:#195b67!important;box-shadow:inset 0 -2px #195b67!important}#schedule-table th.today-col span,#schedule-table th.day-filter-active span{color:#195b67!important}#schedule-table td.today-col{box-shadow:inset 1px 0 #b8d1d8,inset -1px 0 #b8d1d8!important}
#schedule-table th.col-name,#schedule-table td.col-name{width:254px;min-width:254px!important;max-width:254px!important;background:var(--employee-color,#fff)!important;font-size:11.5px!important;font-weight:450!important;box-shadow:2px 0 4px #19313909!important;padding:3px 7px!important}#schedule-table th.col-name{padding-left:15px!important}.group-marker{display:inline-block;width:42px;font-size:9px;color:#405b65;border-left:3px solid var(--group-color,transparent);padding:4px 0 4px 5px;vertical-align:middle;margin-right:5px}#schedule-table .emp-name-text{font:inherit;font-size:11.5px;display:inline-block;max-width:155px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;border:0;background:transparent;color:inherit;text-align:left;padding:0;line-height:22px}#schedule-table .emp-vacation-btn{margin-left:2px;padding:0;font-size:10px;opacity:.65;position:absolute;right:20px;top:10px}#schedule-table .group-disband-btn{position:absolute;right:3px;top:9px;margin:0;font-size:12px;color:#526b75;padding:0 3px}#schedule-table tr.group-start td{border-top:1px solid #cbd9df!important}#schedule-table tr.group-start .group-marker{border-top:1px solid var(--group-color,#cbd9df)}#schedule-table tr.group-end .group-marker{border-bottom:1px solid var(--group-color,#cbd9df)}#schedule-table .section-header-row td{height:26px;font-size:11px!important}#schedule-table .empty-state{text-align:left;padding:20px!important;color:#5c7079}
.month-navigator{display:flex;align-items:center;gap:20px;flex:none;height:26px;color:#5c7079;font-size:10px}.month-navigator>span:first-child{min-width:150px;color:#195b67}.month-navigator button{border:0;background:transparent;color:#405b65;padding:4px 8px;font-size:10px;cursor:pointer}.month-navigator button:disabled{opacity:.45;cursor:default}.scroll-hint{margin-left:auto}.schedule-legend{height:27px;flex:none;display:flex;gap:14px;align-items:center;border-top:1px solid var(--ui-border);font-size:9px;color:#5c7079}.schedule-legend b{display:inline-block;padding:2px 4px;margin-right:3px;font-weight:500;border-radius:2px}.legend-off{background:#e4f2e9;color:#245c48}.legend-comp{background:#f5e8c4;color:#76551e}.legend-vac{background:#fff4bf;color:#6d5817}.legend-sick{background:#f8e5eb;color:#913852}#day-filter-summary{margin:0 0 6px!important;padding:4px 8px!important;background:#e5f0f2!important;border-color:#cddfe4!important;color:#195b67!important;font-size:11px}.summary-chip{color:#195b67!important;border-color:#cddfe4!important;font-size:10px}.summary-chip strong{color:#195b67!important}
.modal{padding:16px}.modal-box{max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--ui-border);border-radius:8px!important}.cell-popup{padding:6px;border-radius:7px!important}.cell-popup-shifts{gap:3px}.shift-btn{font-size:12px;padding:6px 12px}.shift-btn-off{color:#245c48!important}.shift-btn-vacation{color:#6d5817!important}.shift-btn-sick{color:#913852!important}.shift-btn.active{color:#fff!important}
@media(max-width:1100px){.month-context{display:none}.header h1{font-size:23px}.header-right button{padding:5px 8px}#roster-summary{display:none}}
@media(max-width:768px){.product-bar{padding:0 10px;gap:10px}.product-active{display:none}.product-account{gap:5px}.product-brand{font-size:11px}.header{padding:8px 10px!important;flex-wrap:wrap;gap:7px}.header-left{flex:auto;order:0}.header h1{font-size:22px!important;min-width:0!important}.header-right{flex-wrap:wrap;order:1;margin-left:0;width:100%}.header-right .btn-label,.product-account .btn-label{display:inline}.header-right button{font-size:10px!important;padding:5px 7px}.actions-menu #group-mode-btn:not([style*="display: none"]){display:block!important}.department-toolbar{padding:0 10px 8px;flex-wrap:wrap;gap:6px}#department-tabs{width:100%}.department-toolbar .header-search{width:100%;max-width:none}.department-toolbar input{height:32px}#schedule-view{padding:0 8px}.schedule-container{padding:0!important}#schedule-table th.col-name,#schedule-table td.col-name{width:180px;min-width:180px!important;max-width:180px!important}#schedule-table .emp-name-text{max-width:93px!important}#schedule-table .group-marker{width:35px;margin-right:2px;font-size:8px}.month-navigator{gap:4px}.month-navigator>span:first-child{min-width:0;flex:1}.scroll-hint{display:none}.schedule-legend{height:auto;min-height:30px;gap:5px 10px;flex-wrap:wrap;padding:4px 0}.actions-menu{position:fixed;top:132px;right:10px;max-height:calc(100dvh - 145px)}.modal-box{max-height:calc(100dvh - 32px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
