:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#182426;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f4f7f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background-color:#f4f7f8;background-image:linear-gradient(90deg,#0f766e12 1px,#0000 1px),linear-gradient(#0f766e0d 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:48px 48px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;min-width:320px;min-height:100vh;margin:0}button{font:inherit}.portal-app{min-height:100vh}.portal-header{z-index:10;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fafcfcf0;border-bottom:1px solid #d9e2e4;justify-content:space-between;align-items:center;gap:20px;min-height:76px;padding:14px clamp(16px,4vw,40px);display:flex;position:sticky;top:0}.brand-lockup,.header-actions,.toolbar-actions,.language-switch,.profile-pill,.portal-nav,.nav-item,.primary-button,.ghost-button,.text-button,.icon-button,.inline-alert,.loading-strip,.empty-inline,.duty-row,.note-chip{align-items:center;display:flex}.brand-lockup{gap:12px;min-width:0}.brand-mark{color:#f8fbfb;background:#0f766e;border-radius:8px;place-items:center;width:44px;height:44px;display:grid;box-shadow:inset 0 -8px #0000001f}h1,h2,h3,p{margin:0}h1{font-size:1.25rem;line-height:1.2}.brand-lockup p,.panel-toolbar p,.detail-empty span,.empty-inline span,.inline-alert span,.duty-main span,.detail-hero span,.info-row span,.notes-section p{color:#5b6c70}.header-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px}.profile-pill,.language-switch,.portal-nav{background:#fff;border:1px solid #d4dfe2;border-radius:8px;min-height:40px}.profile-pill{gap:8px;padding:0 12px}.profile-pill span{color:#637477}.notification-menu,.install-menu{position:relative}.mobile-actions-menu{display:none;position:relative}.notification-button{color:#0f766e;cursor:pointer;background:#fff;border:1px solid #d4dfe2;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex;position:relative}.notification-button:hover{border-color:#0f766e}.install-button{color:#203033}.notification-button:focus-visible{outline-offset:2px;outline:3px solid #0f766e3d}.notification-badge{color:#fff;background:#b42318;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:.68rem;font-weight:800;display:inline-flex;position:absolute;top:-6px;right:-6px}.notification-popover{z-index:90;background:#fff;border:1px solid #d4dfe2;border-radius:8px;width:min(340px,100vw - 24px);position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 40px #1e2c3029}.notification-popover-head{border-bottom:1px solid #e1e8ea;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.notification-popover-head span,.notification-empty,.notification-item-meta,.notification-item-note,.notification-item-status{color:#5b6c70;font-size:.82rem}.notification-empty{padding:14px}.notification-list{max-height:min(360px,100vh - 140px);display:grid;overflow:auto}.notification-item{color:#182426;text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #edf2f3;gap:3px;width:100%;padding:12px 14px;display:grid}.notification-item:last-child{border-bottom:0}.notification-item:hover,.notification-item:focus-visible{background:#f3faf9}.notification-item:focus-visible{outline-offset:-3px;outline:3px solid #0f766e3d}.notification-item-title{font-weight:800}.notification-item-meta,.notification-item-note,.notification-item-status{overflow-wrap:anywhere}.notification-item-note{color:#253538;font-weight:600}.notification-item-flags{flex-wrap:wrap;gap:6px;margin-top:3px;display:flex}.notification-item-status{color:#9a6a00;background:#fffaf0;border:1px solid #f5c86b;border-radius:999px;width:fit-content;padding:2px 8px;font-weight:700;display:inline-flex}.notification-item-status.is-note{color:#0f766e;background:#ecf8f6;border-color:#b9d7d3}.install-popover{z-index:90;background:#fff;border:1px solid #d4dfe2;border-radius:8px;width:min(340px,100vw - 24px);position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 40px #1e2c3029}.install-popover-head{border-bottom:1px solid #e1e8ea;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.install-close{width:32px;min-height:32px}.install-copy{color:#5b6c70;padding:12px 14px 0;font-size:.9rem;line-height:1.45}.install-primary{width:calc(100% - 28px);margin:12px 14px 14px}.install-steps{color:#253538;gap:8px;margin:10px 14px 14px;padding-left:20px;display:grid}.install-steps li{padding-left:2px;line-height:1.4}.install-steps li svg{vertical-align:-2px;color:#0f766e;margin-right:6px}.mobile-actions-popover{z-index:90;background:#fff;border:1px solid #d4dfe2;border-radius:8px;width:min(208px,100vw - 24px);position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 40px #1e2c3029}.mobile-profile-summary{border-bottom:1px solid #e1e8ea;gap:2px;padding:10px 12px;display:grid}.mobile-profile-summary span,.mobile-menu-label{color:#5b6c70;font-size:.78rem}.mobile-profile-summary strong{color:#182426;font-size:.98rem}.mobile-menu-section{border-bottom:1px solid #e1e8ea;gap:7px;padding:10px 12px;display:grid}.mobile-language-row{gap:6px;display:flex}.mobile-language-row button{color:#203033;cursor:pointer;background:#fff;border:1px solid #d4dfe2;border-radius:8px;flex:1;min-height:32px}.mobile-language-row button.is-active{color:#fff;background:#0f766e;border-color:#0f766e}.mobile-menu-row{color:#203033;text-align:left;cursor:pointer;background:#fff;border:0;border-radius:0 0 8px 8px;align-items:center;gap:8px;width:100%;min-height:40px;padding:0 12px;display:flex}.mobile-menu-row:hover,.mobile-menu-row:focus-visible{background:#f3faf9}.language-switch{gap:4px;padding:4px}.language-switch svg{color:#637477;margin-left:6px}.language-switch button{color:#3b4b4e;cursor:pointer;background:0 0;border:0;border-radius:6px;min-height:30px;padding:0 9px}.language-switch button.is-active{color:#fff;background:#0f766e}.lang-label-short{display:none}.primary-button,.ghost-button,.text-button,.icon-button{cursor:pointer;border-radius:8px;justify-content:center;gap:8px;min-height:40px}.primary-button{color:#fff;background:#0f766e;border:1px solid #0f766e;padding:0 16px}.ghost-button,.text-button,.icon-button{color:#203033;background:#fff;border:1px solid #d4dfe2}.ghost-button,.text-button{padding:0 12px}.icon-button{width:40px;padding:0}.portal-workspace{width:min(1480px,100%);margin:0 auto;padding:18px clamp(12px,3vw,36px) 40px}.deploy-update-notice{z-index:70;background:#fff;border:1px solid #b9d7d3;border-radius:8px;align-items:center;gap:14px;width:min(560px,100vw - 24px);padding:12px 14px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 14px 34px #1e2c302e}.deploy-update-notice div{flex:1;gap:2px;min-width:0;display:grid}.deploy-update-notice strong{color:#143d3a}.deploy-update-notice span{color:#5b6c70;font-size:.88rem}.portal-nav{gap:4px;width:max-content;padding:4px}.nav-item{color:#4e6064;background:0 0;border:0;border-radius:6px;gap:8px;min-height:34px;padding:0 12px}.nav-item.is-active{color:#fff;background:#182426}.nav-item:disabled{cursor:not-allowed;opacity:.56}.workspace-grid{grid-template-columns:minmax(0,1.8fr) minmax(340px,.9fr);align-items:start;gap:16px;margin-top:16px;display:grid}.portal-panel{background:#fffffff5;border:1px solid #d8e2e5;border-radius:8px;box-shadow:0 12px 28px #1e2c3014}.calendar-panel,.day-workspace,.detail-panel{padding:clamp(14px,2vw,20px)}.detail-panel{position:sticky;top:94px}.panel-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.panel-toolbar h2{font-size:1.1rem}.toolbar-actions{gap:8px}.inline-alert{color:#7c2d12;background:#fff5f0;border:1px solid #f2b8a2;border-radius:8px;gap:12px;min-height:58px;margin-bottom:14px;padding:10px 12px}.inline-alert.is-info{color:#143d3a;background:#ecf8f6;border-color:#b9d7d3}.inline-alert.is-info span{color:#143d3a}.inline-alert div{flex:1;gap:2px;display:grid}.calendar-grid{border:1px solid #d8e2e5;border-radius:8px;grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.weekday{color:#5b6c70;background:#edf3f4;border-right:1px solid #d8e2e5;min-height:34px;padding:8px;font-size:.78rem}.weekday:nth-child(7){border-right:0}.calendar-cell{width:100%;min-height:112px;color:inherit;font:inherit;text-align:left;vertical-align:top;background:#fff;border-top:1px solid #d8e2e5;border-bottom:0;border-left:0;border-right:1px solid #d8e2e5;padding:8px;display:block}.calendar-cell.has-duties{cursor:pointer}.calendar-cell:nth-child(7n){border-right:0}.calendar-cell.is-outside{color:#9aa8ab;background:#f6f9fa}.calendar-cell.is-today{box-shadow:inset 0 0 0 2px #0f766e}.calendar-cell.is-selected{background:#ecf8f6;box-shadow:inset 0 0 0 2px #0f766e}.calendar-cell.is-selected .day-number{color:#fff;background:#0f766e;border-radius:6px}.calendar-cell.is-holiday{border-top-color:#d97706}.cell-holiday{color:#9a5b06;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:2px;font-size:.62rem;font-weight:700;line-height:1.1;display:block;overflow:hidden}.desktop-month-grid{margin-bottom:16px}.day-number{color:#253538;justify-content:center;align-items:center;width:26px;height:26px;font-weight:700;display:inline-flex}.cell-duties{grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:4px;margin-top:6px;display:grid}.cell-duty-dot{background:#0f766e;border-radius:999px;flex:none;width:7px;height:7px}.cell-duty-label{color:#143d3a;text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;min-width:0;font-size:.78rem;font-weight:700;overflow:hidden}.cell-duty-note-icon{color:#b7791f;flex:none}.more-duties{color:#0f766e;flex:none;font-size:.72rem;font-weight:700}.loading-strip{color:#476064;justify-content:center;gap:8px;min-height:42px;margin-top:10px}.spin,.loading-strip svg{animation:1s linear infinite spin}.agenda-header{margin-top:18px;margin-bottom:8px}.agenda-header h3,.notes-section h3{font-size:.98rem}.agenda-list{gap:8px;display:grid}.duty-row{text-align:left;color:#182426;cursor:pointer;background:#fff;border:1px solid #d8e2e5;border-radius:8px;justify-content:flex-start;gap:12px;width:100%;min-height:58px;padding:8px 10px}.duty-row:hover,.calendar-cell.has-duties:hover,.icon-button:hover,.text-button:hover,.ghost-button:hover{border-color:#0f766e}.duty-date{color:#fff;background:#0f766e;border-radius:6px;justify-content:center;min-width:104px;padding:6px 8px;font-weight:700;display:inline-flex}.duty-main{flex:1;gap:2px;min-width:0;display:grid}.note-chip{color:#55686c;background:#f4f7f8;border:1px solid #d8e2e5;border-radius:999px;padding:3px 10px;font-size:.76rem;font-weight:600}.empty-inline{border:1px dashed #c8d5d8;border-radius:8px;gap:12px;min-height:64px;padding:12px}.empty-inline div{gap:3px;display:grid}.detail-empty{text-align:center;place-items:center;gap:8px;min-height:360px;display:grid}.detail-empty svg{color:#0f766e}.detail-empty.is-error svg{color:#b42318;animation:none}.detail-content{gap:16px;display:grid}.detail-hero{color:#fff;background:#16302e;border-radius:10px;gap:4px;padding:16px;display:grid}.detail-hero strong{font-size:1.15rem;font-weight:700}.detail-hero span{color:#cfe0dc;font-size:.95rem}.info-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.info-row{background:#fff;border:1px solid #e2eaec;border-radius:10px;gap:2px;padding:10px 12px;display:grid}.info-label{color:#6b7c80;letter-spacing:.03em;font-size:.72rem;font-weight:600}.info-value{color:#16302e;overflow-wrap:anywhere;font-weight:700}.notes-section{border-top:1px solid #d8e2e5;gap:10px;padding-top:14px;display:grid}.notes-list{gap:8px;display:grid}.note-item{color:#5a4a1f;background:#fffaf0;border:1px solid #e6d3a3;border-left:3px solid #d0a13f;border-radius:8px;padding:10px 12px;display:block}.center-state{text-align:center;align-content:center;place-items:center;gap:12px;min-height:calc(100vh - 76px);padding:24px;display:grid}.center-state p{color:#5b6c70;max-width:520px}.recovery-shell{place-items:center;min-height:calc(100vh - 76px);padding:24px;display:grid}.recovery-panel{gap:14px;width:min(460px,100%);padding:24px;display:grid}.recovery-panel h2{font-size:1.35rem}.recovery-panel p{color:#5b6c70;line-height:1.5}.recovery-form{gap:10px;display:grid}.recovery-form label{color:#253538;font-weight:700}.recovery-form input{color:#182426;width:100%;min-height:44px;font:inherit;background:#fff;border:1px solid #c8d5d8;border-radius:8px;padding:0 12px}.recovery-form input:focus{border-color:#0f766e;outline:3px solid #0f766e29}.recovery-form .field-hint{color:#5b6b6e;margin-top:-4px;font-size:.82rem;line-height:1.35}.center-icon{color:#fff;background:#0f766e;border-radius:8px;place-items:center;width:58px;height:58px;display:grid}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:1080px){.workspace-grid{grid-template-columns:1fr}.detail-panel{position:static}}@media (max-width:720px){.portal-header{z-index:80;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:0;padding:8px 12px;display:grid;position:sticky;top:0}.brand-lockup{flex:auto;min-width:0}.brand-mark{border-radius:7px;width:32px;height:32px}.brand-mark svg{width:18px;height:18px}.brand-lockup h1{white-space:nowrap;text-overflow:ellipsis;font-size:1.02rem;overflow:hidden}.brand-lockup p{display:none}.header-actions{flex-wrap:nowrap;flex:none;justify-content:flex-end;gap:6px;width:auto}.profile-pill,.language-switch,.header-actions>.ghost-button{display:none}.mobile-actions-menu{display:block}.notification-button{width:32px;height:32px}.install-popover,.notification-popover,.mobile-actions-popover{z-index:90;position:fixed;top:52px;right:12px}.mobile-actions-popover{width:min(208px,100vw - 24px)}.portal-nav{width:100%}.nav-item{flex:1;justify-content:center}.panel-toolbar{flex-direction:column;align-items:flex-start}.weekday{text-align:center;min-height:24px;padding:4px 2px;font-size:.66rem}.calendar-cell{min-height:56px;padding:4px}.day-number{width:20px;height:20px;font-size:.82rem}.cell-duties{gap:2px;margin-top:3px}.cell-duty-label,.more-duties{display:none}.cell-duty-note-icon{width:10px;height:10px}.agenda-header,.agenda-list{display:none}.duty-row{flex-direction:column;align-items:flex-start}.duty-date{min-width:0}.info-grid{grid-template-columns:1fr}.deploy-update-notice{flex-direction:column;align-items:stretch;gap:10px;bottom:10px}.deploy-update-notice .primary-button{width:100%}}.detail-backdrop,.detail-grabber{display:none}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (max-width:1080px){.detail-backdrop{z-index:40;touch-action:none;background:#0f1e2073;border:0;padding:0;animation:.15s fade-in;display:block;position:fixed;inset:0}.detail-panel{z-index:41;border-radius:16px 16px 0 0;max-height:88vh;padding:6px clamp(14px,4vw,18px) 24px;transition:transform .24s;position:fixed;inset:auto 0 0;overflow-y:auto;transform:translateY(100%);box-shadow:0 -14px 40px #0000004d}.detail-panel.is-open{transform:translateY(0)}.detail-grabber{cursor:grab;touch-action:none;width:100%;height:26px;margin:0 0 4px;display:block;position:relative}.detail-grabber:before{content:"";background:#cdd8db;border-radius:999px;width:40px;height:4px;position:absolute;top:10px;left:50%;transform:translate(-50%)}.detail-grabber:active{cursor:grabbing}}.month-nav{align-items:center;gap:8px;margin-bottom:12px;display:flex}.month-nav-label{color:#253538;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:1rem;font-weight:700;overflow:hidden}.month-nav-today{margin-left:auto}.day-rail{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;gap:8px;padding:4px 2px 10px;display:flex;overflow-x:auto}.day-chip{scroll-snap-align:center;color:#253538;cursor:pointer;background:#fff;border:1px solid #d8e2e5;border-radius:10px;flex-direction:column;flex:none;align-items:center;gap:4px;min-width:48px;min-height:62px;padding:6px 6px 8px;display:flex}.day-chip.is-empty{color:#9aa8ab;background:#f6f9fa}.day-chip-weekday{letter-spacing:.03em;color:#5b6c70;font-size:.66rem;font-weight:700}.day-chip.is-empty .day-chip-weekday{color:#9aa8ab}.day-chip-number{font-size:1.05rem;font-weight:700;line-height:1}.day-chip-dot{background:#0f766e;border-radius:999px;width:7px;height:7px}.day-chip-dot.is-empty{background:0 0}.day-chip-dot.is-attention{background:#f5a524}.day-chip.is-today{box-shadow:inset 0 0 0 2px #0f766e59}.day-chip.is-selected{color:#fff;background:#0f766e;border-color:#0f766e}.day-chip.is-selected .day-chip-weekday{color:#cdeae6}.day-chip.is-selected .day-chip-dot{background:#fff}.day-chip.is-selected .day-chip-dot.is-attention{background:#ffd68a}.day-chip:hover{border-color:#0f766e}.day-chip:focus-visible{outline-offset:2px;outline:3px solid #0f766e47}.day-list-header{margin-top:12px;margin-bottom:8px}.day-list-header h3{font-size:.98rem}.day-duty-list{gap:10px;display:grid}.duty-card{text-align:left;color:#182426;cursor:pointer;background:#fff;border:1px solid #d8e2e5;border-radius:10px;gap:6px;width:100%;min-height:64px;padding:12px 14px;display:grid}.duty-card:hover{border-color:#0f766e}.duty-card:focus-visible{outline-offset:2px;outline:3px solid #0f766e3d}.duty-card-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.duty-card-time{color:#143d3a;align-items:center;gap:6px;font-weight:700;display:inline-flex}.duty-card-time svg{color:#0f766e}.duty-card-route{font-size:1rem}.duty-card-line{color:#0f766e;font-size:.88rem;font-weight:700}.duty-card-meta{color:#5b6c70;font-size:.88rem}.duty-card-note{justify-self:start}.ack-pill{background:0 0;border:0;align-items:center;gap:6px;margin-left:auto;padding:0;font-size:.78rem;font-weight:600;display:inline-flex}.ack-dot{background:currentColor;border-radius:999px;flex:none;width:7px;height:7px}.ack-pill.is-attention{color:#9a6a00}.ack-pill.is-confirmed{color:#0f766e}.ack-pill.is-read{color:#6b7c80}.changed-section{background:#fffaf0;border:1px solid #f5c86b;border-radius:8px;gap:6px;padding:12px 14px;display:grid}.changed-section h3{color:#92400e;font-size:.95rem}.changed-line{flex-wrap:wrap;gap:5px;font-size:.92rem;line-height:1.4;display:flex}.changed-line span{flex:none;font-weight:700}.changed-before,.changed-before span{color:#8a9aa0}.changed-after{color:#0f2f2c;font-weight:600}.ack-bar{border-top:1px solid #d8e2e5;flex-wrap:wrap;gap:10px;padding-top:14px;display:flex}.ack-bar-button,.ack-bar-secondary,.ack-bar-seen{border-radius:8px;flex:180px;justify-content:center;align-items:center;gap:8px;min-height:48px;font-size:.95rem;font-weight:700;display:flex}.ack-bar-button,.ack-bar-secondary{cursor:pointer}.ack-bar-button{color:#fff;background:#0f766e;border:1px solid #0f766e}.ack-bar-button:hover{background:#0b5c56;border-color:#0b5c56}.ack-bar-secondary{color:#3b4b4e;background:#fff;border:1px solid #d4dfe2}.ack-bar-secondary:hover{color:#0f766e;border-color:#0f766e}.ack-bar-button:focus-visible,.ack-bar-secondary:focus-visible{outline-offset:2px;outline:3px solid #0f766e52}.ack-bar-seen{color:#0f766e;background:#f3faf9;border:1px solid #d4dfe2}.ack-bar-confirmed{color:#143d3a;background:#d7f0eb;border:1px solid #9fd3cb;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;font-weight:700;display:flex}.ack-bar-error{color:#8a2323;background:#fdf1f1;border:1px solid #f0c8c8;border-radius:8px;margin:0 0 10px;padding:10px 12px;font-size:.9rem;font-weight:600}.overlay-degraded-notice{color:#7a5410;background:#fdf7ea;border:1px solid #f0dfc0;border-radius:8px;align-items:center;gap:8px;margin:0 0 10px;padding:8px 12px;font-size:.85rem;display:flex}.overlay-degraded-retry{color:#7a5410;cursor:pointer;background:#fff;border:1px solid #e3cd9d;border-radius:6px;min-height:32px;margin-left:auto;padding:4px 10px;font-size:.85rem;font-weight:600}.overlay-degraded-retry:hover{border-color:#7a5410}.picker-backdrop{z-index:50;cursor:pointer;touch-action:none;background:#0f1e2073;border:0;padding:0;animation:.15s fade-in;position:fixed;inset:0}.picker-sheet{z-index:51;width:min(560px,100% - 32px);max-height:88vh;padding:18px;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.picker-sheet:not(.is-open){display:none}@media (max-width:720px){.month-nav-label{font-size:.92rem}.picker-sheet{border-radius:16px 16px 0 0;width:100%;padding:6px clamp(14px,4vw,18px) 24px;top:auto;bottom:0;left:0;transform:translateY(0);box-shadow:0 -14px 40px #0000004d}}.mobile-day-card{background:#fff;border:1px solid #e2eaec;border-radius:16px;gap:14px;padding:16px 14px;display:grid;box-shadow:0 10px 26px #1e2c300f}.m-day-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.m-day-heading{gap:2px;min-width:0;display:grid}.m-day-eyebrow{color:#0f766e;letter-spacing:.04em;font-size:.74rem;font-weight:700}.m-day-date{color:#16302e;font-size:1.35rem;font-weight:800;line-height:1.1}.m-holiday{color:#755117;background:#fff9eb;border:1px solid #f1d39b;border-radius:10px;align-items:center;gap:7px;margin:0 16px;padding:8px 10px;font-size:.75rem;display:flex}.m-holiday strong{color:#4d390f;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.m-month-actions{flex:none;align-items:center;gap:6px;display:flex}.m-month-actions .icon-button{width:36px;min-height:36px}.m-month-label{color:#253538;white-space:nowrap;justify-content:center;align-items:center;min-width:104px;min-height:36px;font-size:.88rem;font-weight:700;display:inline-flex}.m-duty-list{gap:10px;display:grid}.m-duty{text-align:left;cursor:pointer;background:#fff;border:1px solid #e2eaec;border-left:3px solid #0f766e;border-radius:10px;gap:6px;padding:14px;display:grid}.m-duty-primary{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.m-duty-time{color:#16302e;letter-spacing:-.01em;font-size:1.35rem;font-weight:700;line-height:1.1}.m-duty-line{color:#0f766e;font-size:1.02rem;font-weight:700}.m-duty-route{color:#0f766e;font-size:.92rem;font-weight:700}.m-duty-secondary{color:#55686c;font-size:.92rem}.m-duty-tertiary{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.m-empty{gap:12px;display:grid}.m-empty-title{color:#55686c;font-size:.95rem;font-weight:600}.m-off-card{background:#f4f7f8;border:1px solid #d8e2e5;border-left:3px solid #94a7ab;border-radius:10px;gap:3px;padding:12px 14px;display:grid}.m-off-eyebrow{color:#6b7c80;letter-spacing:.04em;font-size:.72rem;font-weight:700}.m-off-type{color:#16302e;font-size:1.1rem;font-weight:700}.m-off-window{color:#55686c;font-size:.9rem}.next-duty{text-align:left;cursor:pointer;background:#f4faf9;border:1px solid #d6e6e2;border-radius:10px;gap:8px;padding:12px 14px;display:grid}.next-duty-label{color:#0f766e;letter-spacing:.04em;font-size:.72rem;font-weight:800}.next-duty-body{gap:3px;display:grid}.next-duty .m-duty-time{font-size:1.2rem}.next-duty-date{color:#55686c;font-size:.86rem;font-weight:600}.day-strip{scrollbar-width:none;gap:8px;margin:0 -2px;padding:2px 2px 6px;display:flex;overflow-x:auto}.day-strip::-webkit-scrollbar{display:none}.day-pill{color:#253538;cursor:pointer;background:#fff;border:1px solid #dbe6e4;border-radius:16px;flex:none;align-content:center;justify-items:center;gap:3px;width:46px;min-height:58px;display:grid;position:relative}.day-pill.has-duties{background:#e4f5f2;border-color:#80c9be}.day-pill.has-duties .day-pill-number{color:#0f766e}.day-pill.is-empty{color:#9aabac;background:#f7fafa}.day-pill-weekday{opacity:.8;font-size:.66rem;font-weight:700}.day-pill-number{font-size:1rem;font-weight:800;line-height:1}.day-pill-dot{background:#0f766e;border-radius:999px;width:18px;height:5px;box-shadow:0 0 0 1px #0f766e2e}.day-pill-dot.is-attention{background:#d97706;box-shadow:0 0 0 1px #d9770638}.day-pill-dot.is-empty{width:6px;height:6px;box-shadow:none;background:#d3dedd}.day-pill-dot.is-off{width:12px;height:5px;box-shadow:none;background:#94a7ab}.day-pill-holiday{background:#d97706;border-radius:999px;width:5px;height:5px;position:absolute;top:4px;right:4px}.day-pill.is-off{color:#6b7c80;background:#f2f5f6}.day-pill.is-selected .day-pill-dot.is-off{background:#fff}.day-pill.is-today{border-color:#0f766e;box-shadow:inset 0 0 0 1px #0f766e}.day-pill.is-selected{color:#fff;box-shadow:none;background:#0f766e;border-color:#0f766e}.day-pill.is-selected .day-pill-number{color:#fff}.day-pill.is-selected .day-pill-dot{background:#fff}.m-picker-btn{color:#203033;cursor:pointer;background:#fff;border:1px solid #d4dfe2;border-radius:10px;align-items:center;gap:8px;width:100%;min-height:44px;padding:0 14px;font-weight:700;display:inline-flex}.m-picker-month{color:#5b6c70;margin-left:auto;font-weight:600}@media (max-width:720px){body{background:#f4f7f8}.portal-header{min-height:0}.portal-workspace.is-mobile{padding:12px 12px 32px}.m-duty-time{font-size:1.4rem}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.secondary-button,.danger-button{min-height:42px;font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-weight:700;display:inline-flex}.secondary-button{color:#274347;background:#fff;border:1px solid #bfcdd0}.danger-button{color:#fff;background:#b42318;border:1px solid #b42318}.secondary-button:disabled,.danger-button:disabled{cursor:not-allowed;opacity:.58}.secondary-button:focus-visible,.danger-button:focus-visible,.request-card:focus-visible{outline-offset:2px;outline:3px solid #0e746e47}.request-type-options label:has(input:focus-visible){outline-offset:2px;outline:3px solid #0e746e47}.report-duty-button{width:100%;margin-top:14px}.requests-view{background:#fffffff7;border:1px solid #d8e2e5;border-radius:10px;gap:18px;margin-top:16px;padding:clamp(16px,3vw,26px);display:grid;box-shadow:0 12px 28px #1e2c3014}.requests-toolbar{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.requests-toolbar h2{margin:2px 0 4px;font-size:clamp(1.3rem,2.5vw,1.75rem)}.requests-toolbar p{color:#5b6c70;margin:0}.requests-eyebrow{letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:800;color:#08736d!important}.requests-state{color:#53676b;text-align:center;border:1px dashed #c9d6d9;border-radius:10px;place-content:center;justify-items:center;gap:9px;min-height:180px;padding:22px;display:grid}.requests-state.is-error{color:#8d271f;background:#fff8f7;border-color:#edc8c5}.request-list{gap:10px;display:grid}.request-card{color:#172b2e;text-align:left;cursor:pointer;background:#fff;border:1px solid #d8e2e5;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;width:100%;min-height:86px;padding:13px 14px;display:grid}.request-card:hover{background:#f8fbfb;border-color:#94b8b5}.request-card-icon{color:#0b6f69;background:#e7f5f3;border-radius:9px;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.request-card-copy{gap:3px;min-width:0;display:grid}.request-card-copy>span,.request-card-copy small{color:#5b6c70;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.request-resolution-indicator{align-items:center;gap:5px;font-size:.78rem;font-weight:700;display:inline-flex;color:#176254!important}.request-status{color:#41565a;white-space:nowrap;background:#edf2f3;border-radius:999px;align-items:center;gap:6px;min-height:30px;padding:0 10px;font-size:.78rem;font-weight:800;display:inline-flex}.request-status.is-submitted{color:#71520b;background:#fff4ce}.request-status.is-under_review{color:#145a7b;background:#e8f4fa}.request-status.is-approved{color:#17603c;background:#e5f5ec}.request-status.is-rejected,.request-status.is-cancelled{color:#7a302b;background:#f9e9e7}.request-load-more{justify-self:center;margin-top:6px}.request-dialog-layer{z-index:110;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.request-dialog-backdrop{background:#0c1c1e94;border:0;width:100%;position:absolute;inset:0}.request-dialog{z-index:1;background:#fff;border:1px solid #d5e0e2;border-radius:14px;width:min(680px,100%);max-height:min(88vh,840px);padding:20px;position:relative;overflow-y:auto;box-shadow:0 28px 70px #08191b52}.request-confirm-dialog{width:min(460px,100%)}.request-dialog-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.request-dialog-header h2{font-size:1.2rem}.request-stepper{grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 22px;padding:0;list-style:none;display:grid}.request-stepper li{color:#718286;text-align:center;justify-items:center;gap:5px;font-size:.72rem;font-weight:700;display:grid}.request-stepper li span{background:#fff;border:1px solid #cbd7da;border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.request-stepper li.is-active,.request-stepper li.is-complete{color:#0b6f69}.request-stepper li.is-active span,.request-stepper li.is-complete span{color:#fff;background:#0b6f69;border-color:#0b6f69}.request-type-options{border:0;gap:10px;padding:0;display:grid}.request-type-options legend,.request-form-section h3,.request-review h3{color:#172b2e;margin-bottom:12px;font-size:1.05rem;font-weight:800}.request-type-options label{cursor:pointer;border:1px solid #d5e0e2;border-radius:10px;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:12px;min-height:72px;padding:12px;display:grid}.request-type-options label.is-selected{background:#edf8f6;border-color:#0b6f69}.request-type-options input{accent-color:#0b6f69;width:18px;height:18px}.request-type-options label span{gap:3px;display:grid}.request-type-options small,.request-form-section>p{color:#5b6c70}.request-form-section{gap:12px;display:grid}.request-form-section label{color:#344b4f;gap:7px;font-weight:700;display:grid}.request-form-section input,.request-form-section select,.request-form-section textarea{color:#172b2e;width:100%;min-height:44px;font:inherit;background:#fff;border:1px solid #bfcdd0;border-radius:8px;padding:9px 11px}.request-form-section textarea{resize:vertical;min-height:150px}.request-form-section input:focus,.request-form-section select:focus,.request-form-section textarea:focus{border-color:#0b6f69;outline:3px solid #0e746e2e}.request-date-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.request-neutral-note{color:#4e6064;background:#f1f5f5;border-radius:8px;align-items:flex-start;gap:8px;padding:10px 12px;display:flex}.request-neutral-note svg{flex:none;margin-top:2px}.selected-duty-summary{background:#f4f9f8;border-left:3px solid #0b6f69;gap:3px;padding:9px 12px;display:grid}.selected-duty-summary span{color:#5b6c70}.field-error{color:#a52b22;font-size:.82rem;font-weight:700}.request-message-meta{color:#66797d;justify-content:space-between;gap:12px;font-size:.8rem;display:flex}.request-review dl,.request-detail-list{gap:0;margin:0 0 16px;display:grid}.request-review dl>div,.request-detail-list>div{border-bottom:1px solid #e3eaec;grid-template-columns:minmax(120px,.35fr) minmax(0,1fr);gap:14px;padding:12px 0;display:grid}.request-review dt,.request-detail-list dt{color:#66797d;font-size:.82rem;font-weight:700}.request-review dd,.request-detail-list dd{color:#172b2e;margin:0}.request-message-display{overflow-wrap:anywhere;white-space:pre-wrap}.request-submit-error{color:#8d271f;background:#fff8f7;border:1px solid #edc8c5;border-radius:8px;align-items:flex-start;gap:8px;padding:10px 12px;display:flex}.request-submit-error button{color:#8d271f;cursor:pointer;background:0 0;border:0;margin-left:auto;font-weight:800;text-decoration:underline}.request-form-actions{justify-content:space-between;gap:12px;margin-top:22px;display:flex}.request-detail-hero{align-items:center;gap:12px;margin-bottom:12px;display:flex}.request-detail-hero>div{justify-items:start;gap:7px;display:grid}.request-resolution{background:#edf8f3;border-radius:8px;padding-inline:10px!important}@media (max-width:720px){.requests-view{border-radius:10px;margin-top:10px;padding:14px}.requests-toolbar{display:grid}.requests-toolbar .primary-button{width:100%}.request-card{grid-template-columns:auto minmax(0,1fr) auto;align-items:start}.request-card>.request-status{grid-column:2;justify-self:start}.request-card>svg{grid-area:1/3}.request-dialog-layer{align-items:end;padding:0}.request-dialog{border-radius:16px 16px 0 0;width:100%;max-height:92vh;padding:16px 14px 24px}.request-date-grid{grid-template-columns:1fr}.request-stepper li{font-size:.66rem}.request-review dl>div,.request-detail-list>div{grid-template-columns:1fr;gap:5px}.request-message-meta{display:grid}.request-form-actions>button{flex:1;min-width:0}}
