:root{--navy:#003d4d;--navy-2:#075a6b;--teal:#087e82;--ink:#17394a;--muted:#687f89;--line:#e3eaec;--canvas:#f4f7f8;--white:#fff;--red:#e31837;--mint:#e1f0ec;--shadow:0 12px 36px rgba(21,56,74,.12);font-family:system-ui,sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--canvas);font-size:14px}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:var(--navy);color:#eaf5f8;display:flex;flex-direction:column;padding:25px 15px 16px;z-index:4}.brand{display:block;color:#fff;text-decoration:none;padding:2px 13px 34px}.brand-name{display:block;font:800 35px/1 system-ui,sans-serif;letter-spacing:-2px;text-transform:lowercase;color:#fff}.brand-name small{display:block;font:600 8px/1.2 system-ui,sans-serif;letter-spacing:2.5px;margin-top:5px;color:#aecbd2}.workspace-label{font-size:10px;letter-spacing:1.3px;color:#88adbc;padding:0 13px 11px}.primary-nav{display:grid;gap:3px}.nav-item{height:43px;border:0;background:transparent;color:#d9e9ee;display:flex;align-items:center;gap:12px;padding:0 13px;border-radius:8px;font:500 13px inherit;text-align:left;cursor:pointer;transition:.16s}.nav-item:hover{background:rgba(255,255,255,.08);color:#fff}.nav-item.active{background:rgba(124,203,205,.16);color:#fff;box-shadow:inset 3px 0 #7ed1c3}.nav-icon{width:19px;color:#a5cbd4;font-size:17px;text-align:center}.nav-count{margin-left:auto;border-radius:9px;min-width:20px;padding:2px 6px;background:rgba(255,255,255,.13);font-size:10px;text-align:center}.nav-dot{margin-left:auto;width:7px;height:7px;background:#f3b661;border-radius:50%}.nav-item.muted{color:#809fac}.sidebar-bottom{margin-top:auto}.workspace-card,.profile-shortcut{width:100%;display:flex;align-items:center;gap:10px;text-align:left;padding:11px 10px;border:1px solid rgba(255,255,255,.12);border-radius:9px;background:rgba(255,255,255,.055);color:#fff;margin-bottom:10px}.workspace-avatar{width:31px;height:31px;background:#f1a36e;color:#693b21;border-radius:8px;display:grid;place-items:center;font:700 14px system-ui}.workspace-card b,.profile-shortcut b{display:block;font-size:12px;font-weight:600}.workspace-card small,.profile-shortcut small{display:block;font-size:10px;color:#9ebbc5;margin-top:2px}.chevron{margin-left:auto;color:#9bb5c0;font-size:17px}.profile-shortcut{border:0;background:transparent;margin:0;padding:10px}.avatar{display:grid;place-items:center;border-radius:50%;font:700 11px system-ui;background:#d9eeeb;color:#18666b;flex:0 0 auto}.avatar-dark{width:32px;height:32px;background:#3f8190;color:#fff}.main-content{margin-left:248px;min-width:0;flex:1;display:flex;flex-direction:column}.topbar{height:66px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 46px;position:sticky;top:0;z-index:2}.breadcrumbs{display:flex;gap:11px;align-items:center;color:#8b9aa5;font-size:12px}.crumb-sep{color:#bec9cf}.breadcrumbs b{color:#24455b;font-weight:600}.topbar-actions{display:flex;align-items:center;gap:20px}.icon-button{background:none;border:0;color:#597b8b;font-size:22px;position:relative;cursor:pointer}.notification-button{font-size:18px}.notification-button i{position:absolute;right:1px;top:1px;width:6px;height:6px;border-radius:50%;background:#ee8172;border:1px solid white}.topbar-divider{width:1px;height:27px;background:#e5ebee}.user-menu{display:flex;align-items:center;gap:9px;border:0;background:none;color:#315267;font-size:12px}.avatar-small{width:30px;height:30px;background:#dcece9;color:#226d6c}.page{max-width:1600px;width:100%;margin:0 auto;padding:38px 46px 0;flex:1}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:1.05px;font-weight:700;color:#78919d;margin:0 0 9px}.page-heading h1,.placeholder-card h1{font:700 29px system-ui,sans-serif;letter-spacing:-1.1px;color:#14384e;margin:0}.live-pill{display:inline-flex;align-items:center;gap:6px;vertical-align:middle;margin-left:9px;padding:5px 9px;border:1px solid #d7eee7;border-radius:20px;color:#34806f;font:600 10px system-ui;letter-spacing:0}.live-pill i{width:6px;height:6px;border-radius:50%;background:#53bb91}.subheading{color:#81919b;margin:7px 0 0;font-size:13px}.heading-actions{display:flex;gap:9px;align-items:center}.button{height:39px;border-radius:7px;padding:0 14px;border:1px solid #dce5e9;background:#fff;color:#35556a;font:600 12px system-ui;white-space:nowrap;cursor:pointer;transition:.16s}.button:hover{transform:translateY(-1px);box-shadow:0 3px 10px rgba(15,62,80,.1)}.button-primary{background:var(--navy);color:#fff;border-color:var(--navy);padding:0 17px}.button-primary:hover{background:#0b4e68}.button-secondary{background:#fff}.button-caret{color:#8299a5;margin-left:6px}.button-quiet{height:34px;background:#eef7f4;color:#26766e;border-color:#dceee9}.roster-toolbar{height:59px;padding:0 15px;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-bottom:0;background:#fff;border-radius:10px 10px 0 0}.week-controls,.toolbar-right{display:flex;align-items:center;gap:8px}.square-button,.more-button{height:31px;min-width:31px;border:1px solid #e4ebee;background:white;border-radius:6px;color:#557281;font-size:20px;line-height:1;cursor:pointer}.toolbar-divider{width:1px;height:21px;background:#e5ebee;margin:0 5px}.view-switch{border:0;background:none;padding:7px 9px;color:#82939e;border-radius:5px;font-size:11px;cursor:pointer}.view-switch.selected{background:#eaf5f1;color:#26776f;font-weight:700}.date-range{font-size:12px;color:#526f80;font-weight:600}.staff-total{font-size:11px;color:#81909a;margin-right:5px}.tiny-people{color:#3b9184}.more-button{font-size:19px;border:0}.roster-card,.directory-card{background:white;border:1px solid var(--line);border-radius:0 0 10px 10px;overflow:hidden;box-shadow:0 4px 20px rgba(22,61,78,.025)}.roster-grid{display:grid;grid-template-columns:minmax(155px,1.3fr) repeat(7,minmax(105px,1fr));overflow-x:auto}.grid-cell{min-width:0;border-right:1px solid #edf1f2;border-bottom:1px solid #edf1f2}.grid-cell:nth-child(8n){border-right:0}.day-head{height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#fbfcfc;color:#607984;font-size:10px}.day-head b{color:#224359;font-size:12px;font-weight:600}.day-head.today{background:#eaf5f0}.day-head.today b{color:#2b8275}.staff-head{background:#fbfcfc;padding:0 15px;justify-content:flex-end;align-items:flex-start;color:#82949d;font-size:10px}.staff-cell{height:78px;display:flex;align-items:center;gap:9px;padding:0 14px;background:#fff}.person-dot{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;font:700 10px system-ui;flex:0 0 auto}.staff-cell-text{min-width:0}.staff-cell-text b{display:block;font-size:11px;color:#1e4055;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.staff-cell-text small{display:block;color:#92a0a8;font-size:9px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shift-cell{height:78px;padding:10px 8px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;background:white;font-size:9px;line-height:1.2;color:#38566a}.shift-pill{padding:5px 7px;background:#eff7f4;border-radius:5px;color:#286d68;font-weight:600;text-align:center;white-space:nowrap}.shift-pill span{color:#7b9695;font-size:8px;font-weight:500}.after-pill{padding:3px 5px;background:#fff4e9;color:#b26731;border-radius:4px;font-size:8px;font-weight:600;text-align:center;white-space:nowrap}.off-cell{color:#a7b4ba;background:#fbfcfc;font-size:10px}.holiday-cell{background:#f0f4e3;color:#61743b;font-weight:600;font-size:10px}.roster-foot{height:43px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;color:#8a9aa3;font-size:10px}.legend{display:flex;gap:19px}.legend span{display:flex;align-items:center;gap:6px}.legend-dot{width:7px;height:7px;border-radius:2px}.scheduled{background:#55b8a0}.afterhours{background:#efa463}.timeoff{background:#a9b966}.updated-at{color:#acb7bd}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-top:18px}.summary-card{position:relative;min-height:112px;padding:16px 17px;background:white;border:1px solid var(--line);border-radius:9px;display:flex;flex-direction:column;align-items:flex-start}.summary-icon{position:absolute;top:14px;right:15px;width:29px;height:29px;display:grid;place-items:center;border-radius:8px;font-size:15px}.teal-icon{background:#e3f2f0;color:#34857d}.mint-icon{background:#eaf5ea;color:#5a946e}.amber-icon{background:#fff4e5;color:#bd8748}.lilac-icon{background:#f2edfa;color:#9176b1}.summary-label{font-size:10px;color:#7b8e98}.summary-card>b{font:700 22px system-ui;color:#214258;margin-top:6px;letter-spacing:-.7px}.summary-card>b small{font:500 11px system-ui;color:#81939d;letter-spacing:0}.summary-note{font-size:9px;color:#99a7af;margin-top:5px}.arrow-note{color:#3d988a}.page-footer{max-width:1600px;width:100%;margin:20px auto 0;padding:15px 46px 18px;display:flex;justify-content:space-between;color:#9aabb3;font-size:10px}.footer-dot{padding:0 5px;color:#c5d0d5}.heart{color:#df8d75}
.staff-heading{margin-bottom:27px}.count-badge{display:inline-grid;place-items:center;vertical-align:middle;width:25px;height:25px;border-radius:50%;background:#e9f3f1;color:#387d74;font:600 11px system-ui;margin-left:4px}.directory-toolbar{display:flex;align-items:center;gap:10px;padding:13px 15px;border:1px solid var(--line);border-bottom:0;background:#fff;border-radius:10px 10px 0 0}.search-field{display:flex;align-items:center;gap:8px;height:36px;max-width:360px;flex:1;border:1px solid #e3eaed;border-radius:6px;padding:0 11px;color:#75909c}.search-field>span{font-size:20px}.search-field input{width:100%;border:0;outline:0;font:12px system-ui;color:#35556a}.search-field input::placeholder{color:#a0afb6}.directory-result{margin-left:auto;color:#8999a2;font-size:11px}.directory-card{border-radius:0 0 10px 10px}.directory-table-wrap{overflow:auto}.directory-table{width:100%;border-collapse:collapse;min-width:870px}.directory-table th{text-align:left;background:#fbfcfc;color:#8a9aa2;text-transform:uppercase;font-size:9px;letter-spacing:.6px;font-weight:700;padding:13px 12px;border-bottom:1px solid #edf1f2}.directory-table td{padding:13px 12px;border-bottom:1px solid #edf1f2;color:#4b6575;font-size:11px;white-space:nowrap}.directory-table tbody tr:hover{background:#f8fbfa}.directory-table tbody tr:last-child td{border-bottom:0}.directory-table th:first-child,.directory-table td:first-child{padding-left:18px}.check-cell{width:36px}.check-cell input{accent-color:#258278}.table-person{display:flex;align-items:center;gap:9px}.table-person .person-dot{width:32px;height:32px;border-radius:50%}.table-person b{font-size:11px;color:#25465b}.table-person small{display:block;margin-top:3px;color:#94a2a9;font-size:9px}.role-pill{padding:4px 7px;background:#f1f5f6;border-radius:4px;color:#607b88;font-size:9px}.department-label{color:#4c7280}.contact-label{color:#557a87}.status-pill{display:inline-flex;align-items:center;gap:5px;border-radius:12px;padding:5px 8px;background:#eaf6f1;color:#35806a;font-size:9px;font-weight:600}.status-pill i{width:5px;height:5px;border-radius:50%;background:#58b58b}.row-menu{border:0;background:none;color:#8399a2;font-size:18px;cursor:pointer}.directory-footer{height:51px;border-top:1px solid #edf1f2;padding:0 16px;display:flex;align-items:center;justify-content:space-between;color:#8797a0;font-size:10px}.directory-footer b{color:#426173}.pagination{display:flex;gap:4px}.pagination button{width:25px;height:25px;border:1px solid #e4ebee;border-radius:5px;background:#fff;color:#7b8f99}.pagination button.current-page{background:#eaf4f1;border-color:#d5ebe3;color:#337d73;font-weight:700}.pagination button:disabled{opacity:.45}
.placeholder-card{min-height:360px;background:white;border:1px solid var(--line);border-radius:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px}.placeholder-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:#eaf5f1;color:#3c8b7f;font-size:27px;margin-bottom:20px}.placeholder-card .eyebrow{margin-bottom:8px}.placeholder-card h1{font-size:24px}.placeholder-card .subheading{max-width:380px;line-height:1.6;margin:9px 0 20px}
.modal-backdrop{position:fixed;inset:0;background:rgba(8,29,42,.48);display:grid;place-items:center;padding:20px;z-index:8;backdrop-filter:blur(3px)}.hidden{display:none!important}.profile-modal{width:min(570px,100%);max-height:min(770px,94vh);overflow:auto;background:#fff;border-radius:14px;box-shadow:var(--shadow);animation:modalIn .2s ease}@keyframes modalIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:21px 24px 15px;display:flex;justify-content:space-between;align-items:flex-start}.modal-heading{display:flex;align-items:center;gap:13px}.avatar-large{width:49px;height:49px;font-size:14px;border-radius:14px}.modal-header .eyebrow{font-size:9px;margin-bottom:4px}.modal-header h2{font:700 19px system-ui;margin:0;color:#173b50;letter-spacing:-.4px}.modal-subtitle{margin:3px 0 0;color:#82939c;font-size:11px}.close-button{border:0;background:#f3f6f7;color:#738994;width:30px;height:30px;border-radius:8px;font-size:20px;cursor:pointer}.modal-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);padding:0 24px}.modal-tab{border:0;background:none;color:#8999a2;padding:12px 13px 11px;font:500 11px system-ui;border-bottom:2px solid transparent;cursor:pointer}.modal-tab.active{border-bottom-color:#27867c;color:#26766e;font-weight:700}.modal-body{padding:20px 24px;min-height:243px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-field{display:flex;flex-direction:column;gap:6px}.form-field.wide{grid-column:1/-1}.form-field label,.field-caption{color:#7c8e97;font-size:10px;font-weight:600}.form-field input,.form-field select,.form-field textarea{width:100%;min-width:0;height:38px;padding:0 10px;border:1px solid #e1e8eb;border-radius:6px;background:#fff;color:#305267;font:12px system-ui;outline:0}.form-field textarea{padding:9px 10px;height:85px;resize:vertical}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#75b8ad;box-shadow:0 0 0 3px rgba(56,152,136,.1)}.form-field input::placeholder,.form-field textarea::placeholder{color:#b0bdc3}.field-checks{display:grid;gap:12px;margin-top:4px}.check-row{display:flex;align-items:center;gap:9px;color:#546f7c;font-size:11px}.check-row input{accent-color:#27867c}.modal-note{color:#8b9ba3;font-size:11px;line-height:1.6;padding:13px 14px;background:#f7f9fa;border-radius:7px;margin:0}.modal-footer{display:flex;align-items:center;padding:13px 24px 18px;border-top:1px solid #edf1f2;gap:10px}.modal-footer .button{margin-left:auto}.text-button{border:0;background:none;color:#b27163;font:500 11px system-ui;padding:7px 0;cursor:pointer}.save-status{font-size:10px;color:#34806f}.toast{position:fixed;right:22px;bottom:22px;padding:12px 16px;border-radius:8px;background:#113f53;color:white;font-size:12px;box-shadow:var(--shadow);opacity:0;transform:translateY(8px);transition:.2s;pointer-events:none;z-index:10}.toast.show{opacity:1;transform:translateY(0)}
@media(max-width:1150px){.sidebar{width:218px}.main-content{margin-left:218px}.topbar,.page{padding-left:28px;padding-right:28px}.page-footer{padding-left:28px;padding-right:28px}.page-heading{align-items:flex-start;flex-direction:column}.heading-actions{flex-wrap:wrap}.roster-grid{grid-template-columns:minmax(145px,1.2fr) repeat(7,minmax(94px,1fr))}.shift-cell{font-size:8px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.sidebar{width:62px;padding:18px 7px}.brand{padding:0 9px 25px}.brand-name,.workspace-label,.nav-item>span:not(.nav-icon),.sidebar-bottom{display:none}.nav-item{justify-content:center;padding:0;height:43px}.nav-icon{font-size:19px}.main-content{margin-left:62px}.topbar{height:56px;padding:0 17px}.topbar-actions{gap:12px}.user-menu>span:not(.avatar){display:none}.page{padding:27px 16px 0}.page-heading h1{font-size:25px}.heading-actions{gap:7px}.heading-actions .button{height:35px;padding:0 10px;font-size:11px}.roster-toolbar{padding:0 9px}.toolbar-right .staff-total{display:none}.toolbar-right .button-quiet{font-size:0;width:35px;padding:0}.toolbar-right .button-quiet::first-letter{font-size:17px}.date-range{font-size:10px}.roster-grid{grid-template-columns:minmax(128px,1.15fr) repeat(7,minmax(92px,1fr))}.summary-grid{gap:8px}.summary-card{padding:13px;min-height:105px}.summary-card>b{font-size:19px}.summary-icon{right:10px;top:10px;width:25px;height:25px}.page-footer{padding:14px 16px;gap:12px;font-size:9px}.staff-heading{gap:16px}.directory-toolbar{flex-wrap:wrap}.search-field{max-width:none;flex-basis:100%}.directory-result{margin-left:0}.profile-modal{max-height:96vh}.modal-header{padding:17px 17px 12px}.modal-tabs{padding:0 12px}.modal-tab{padding:11px 9px;font-size:10px}.modal-body{padding:16px}.modal-footer{padding:12px 16px 15px}.form-grid{gap:10px}.modal-footer .button{padding:0 11px}}
@media(max-width:430px){.page-heading h1{font-size:23px}.page-heading .eyebrow{font-size:9px}.heading-actions .button span{display:none}.heading-actions .button-primary span{display:inline}.heading-actions{width:100%}.roster-toolbar{height:auto;min-height:54px;gap:6px}.week-controls{gap:3px}.toolbar-divider{margin:0 2px}.square-button{min-width:27px;height:28px}.view-switch{padding:7px 6px;font-size:10px}.summary-grid{grid-template-columns:1fr 1fr}.summary-note{font-size:8px}.form-grid{grid-template-columns:1fr}.form-field.wide{grid-column:auto}.modal-tab{padding-left:7px;padding-right:7px}.modal-footer{flex-wrap:wrap}.save-status{order:3}.modal-footer .button{order:2}.text-button{order:1}}
