/* Uses system fonts so the local preview makes no font request to an external service. */
:root{--bg:#f7f8f4;--white:#fff;--ink:#1d2824;--muted:#7e8983;--line:#e8ece6;--green:#246b52;--green-dark:#19523e;--green-soft:#e9f3ed;--orange:#f0a94b;--shadow:0 12px 36px rgba(21,47,32,.045)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a5d7bf;outline-offset:2px}.app-shell{display:grid;grid-template-columns:246px minmax(600px,1fr) 286px;min-height:100vh;max-width:1900px;margin:auto}.sidebar{background:#fcfdfa;border-right:1px solid var(--line);padding:31px 18px 20px;display:flex;flex-direction:column;min-width:0}.brand{display:flex;gap:10px;align-items:center;padding:0 12px;font-family:Manrope,Arial,sans-serif;font-weight:800;font-size:20px;letter-spacing:-1px;white-space:nowrap}.brand-mark{display:grid;place-items:center;background:#d9efdf;color:#1d6e4e;width:32px;height:32px;border-radius:10px;font-size:24px;line-height:1}.brand-accent{color:var(--green)}.workspace-label,.eyebrow,.panel-eyebrow{font-size:10px;letter-spacing:2px;color:#9ca8a1;font-weight:800}.workspace-label{margin:59px 14px 14px}.primary-nav{display:grid;gap:5px}.nav-item{display:flex;align-items:center;gap:13px;border:0;background:transparent;text-align:left;padding:12px 14px;border-radius:10px;font-weight:700;color:#78847d;font-size:13px}.nav-item.active{background:var(--green-soft);color:var(--green-dark)}.nav-item.disabled{opacity:.74}.nav-icon{font-size:19px;line-height:1;width:20px;text-align:center}.soon{font-size:9px;margin-left:auto;color:#a1aaa5;font-weight:600}.sidebar-divider{height:1px;background:var(--line);margin:29px 13px 24px}.sidebar-heading{display:flex;justify-content:space-between;align-items:center;margin:0 10px 15px;font-size:12px;font-weight:800}.calendar-filters{display:grid;gap:5px}.filter-row{display:flex;align-items:center;gap:10px;min-height:38px;padding:5px 12px;border-radius:8px;font-size:12px;font-weight:600}.filter-row:hover{background:#f4f7f2}.filter-row input{position:absolute;opacity:0}.filter-check{width:17px;height:17px;border:1.5px solid #c5cdc7;border-radius:5px;display:grid;place-items:center;color:white;font-size:12px;line-height:1}.filter-row input:checked+.filter-check{border-color:var(--filter-color);background:var(--filter-color)}.filter-row input:focus-visible+.filter-check{outline:3px solid #a5d7bf;outline-offset:2px}.filter-color{height:8px;width:8px;border-radius:50%;background:var(--filter-color);margin-left:auto}.text-button{display:flex;align-items:center;gap:8px;background:none;border:0;color:var(--green);font-size:12px;font-weight:800;padding:11px 13px;margin-top:7px}.text-button span{font-size:18px;font-weight:400}.sidebar-bottom{margin-top:auto}.preview-note{display:flex;gap:9px;background:#f2f5ee;border:1px solid #e8eee4;border-radius:11px;padding:12px;margin:16px 2px 18px}.preview-note strong,.preview-note small,.profile-button strong,.profile-button small{display:block}.preview-note strong{font-size:11px}.preview-note small,.profile-button small{font-size:10px;color:#9ba59f;margin-top:3px}.note-dot{width:7px;height:7px;background:#76b786;border-radius:50%;margin-top:4px;flex:none}.profile-button{display:flex;align-items:center;gap:10px;text-align:left;border:0;border-top:1px solid var(--line);background:none;width:100%;padding:15px 5px 0}.profile-button strong{font-size:12px}.avatar{width:35px;height:35px;background:#dee9df;color:#286b4f;border-radius:50%;display:grid;place-items:center;font-weight:800}.chevron{margin-left:auto;color:#929e97}.main-content{min-width:0}.topbar{height:74px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 41px}.breadcrumb{font-size:11px;color:#87928b;font-weight:600}.breadcrumb span{margin:0 8px;color:#b8c0ba}.topbar-actions{display:flex;align-items:center;gap:16px}.local-badge{font-size:10px;font-weight:700;color:#579a6d}.icon-button{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:white;color:#76867d;font-size:19px;line-height:1;display:grid;place-items:center}.icon-button:hover{background:#f2f7f2}.icon-button.small{width:26px;height:26px;font-size:15px;border:0;background:transparent}.content-wrap{padding:37px 40px 27px;max-width:1250px;margin:auto}.page-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:32px}.eyebrow{color:#7da88c;margin:0 0 8px}.page-intro h1{font-family:Manrope,Arial,sans-serif;font-size:34px;letter-spacing:-1.7px;margin:0 0 7px;line-height:1.1}.intro-copy{color:#8d9890;font-size:12px;margin:0}.intro-actions{display:flex;gap:10px;align-items:center;padding-bottom:2px}.button{height:38px;border-radius:9px;padding:0 16px;font-size:11px;font-weight:800;border:1px solid transparent;white-space:nowrap}.button span{font-size:17px;vertical-align:-1px;margin-right:4px;font-weight:400}.button-primary{background:var(--green);color:white;box-shadow:0 6px 14px rgba(36,107,82,.13)}.button-primary:hover{background:var(--green-dark)}.button-secondary{background:white;border-color:#dce8df;color:var(--green)}.button-secondary:hover{background:#f2f8f3}.calendar-card{background:white;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow);overflow:hidden}.calendar-toolbar{height:72px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:10px}.month-nav{display:flex;align-items:center;gap:7px}.month-nav h2{font-family:Manrope,Arial,sans-serif;font-size:16px;letter-spacing:-.5px;min-width:160px;margin:0 9px 0 14px}.month-nav .icon-button{border-color:#edf0ea;font-size:23px;font-weight:300}.today-button{background:#f7f9f5;border:1px solid #edf0e9;border-radius:7px;color:#5f7166;font-size:10px;font-weight:800;padding:7px 10px}.view-picker{background:#f4f7f3;border-radius:8px;padding:3px;display:flex}.view-picker button{border:0;background:none;color:#8c998f;font-weight:700;font-size:10px;padding:7px 11px;border-radius:6px}.view-picker button.selected{background:white;color:var(--green);box-shadow:0 2px 6px #dfe9dd}.weekday-grid,.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekday-grid{height:39px;border-bottom:1px solid var(--line);align-items:center;text-align:center;color:#9ca8a0;font-size:10px;font-weight:800;letter-spacing:.5px}.month-grid{grid-auto-rows:minmax(116px,1fr)}.day-cell{min-width:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 7px 7px;position:relative;transition:background .15s}.day-cell:nth-child(7n){border-right:0}.day-cell:hover{background:#fafcf9}.day-cell.outside{background:#fbfcfa}.day-cell.selected-day{box-shadow:inset 0 0 0 2px #a9d6b8;z-index:1}.day-number{display:grid;place-items:center;border:0;background:transparent;font-size:12px;font-weight:700;color:#4b5b51;width:25px;height:25px;border-radius:50%;margin:0 0 7px 1px}.outside .day-number{color:#bec8be}.day-number.today{background:var(--green);color:white}.cell-events{display:grid;gap:4px}.event-chip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;border:0;border-left:3px solid var(--event-color);background:var(--event-bg);color:var(--event-text);text-align:left;width:100%;font-size:10px;font-weight:800;padding:5px 5px 5px 7px;border-radius:5px;line-height:1.2}.event-chip:hover{filter:brightness(.97)}.event-chip.plain-shift{background:#f3f5f3;color:#5d6a61;border-color:#899b8e}.more-events{border:0;background:none;padding:1px 4px;color:#87988c;font-weight:800;font-size:10px;text-align:left}.bottom-hint{font-size:10px;color:#9ba69e;margin:16px 4px}.right-panel{background:#fcfdfa;border-left:1px solid var(--line);padding:34px 23px 22px;min-width:0}.panel-top{display:flex;align-items:center;justify-content:space-between}.panel-eyebrow{color:#7da88c}.right-panel h2{font-family:Manrope,Arial,sans-serif;font-size:21px;letter-spacing:-.8px;margin:14px 0 4px}.panel-subtitle{color:#a1aca4;font-size:11px;margin:0 0 30px}.day-events{display:grid;gap:12px}.day-event{width:100%;background:white;border:1px solid #e9eee8;border-left:3px solid var(--event-color);border-radius:9px;text-align:left;padding:12px;box-shadow:0 4px 13px rgba(30,54,37,.025)}.day-event time{color:#9ba79d;font-size:10px;font-weight:700}.day-event strong{display:block;font-size:12px;margin:5px 0 4px}.day-event small{font-size:10px;color:#9ca79e}.empty-day{background:#f5f8f4;border:1px dashed #dce8dd;border-radius:11px;text-align:center;padding:25px 12px;color:#8c9b90;font-size:11px}.empty-day span{display:block;font-size:25px;margin-bottom:9px;color:#9cbd9e}.shift-summary{border-top:1px solid var(--line);margin-top:29px;padding-top:25px}.summary-title{display:flex;justify-content:space-between;align-items:center;font-weight:800;font-size:12px;margin-bottom:15px}.summary-title small{font-size:10px;color:#9cac9c;font-weight:600}.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.summary-stat{background:white;border:1px solid var(--line);border-radius:10px;padding:11px}.summary-stat strong{display:block;font-family:Manrope,Arial,sans-serif;font-size:18px}.summary-stat span{font-size:10px;color:#92a097}.agenda-view{padding:12px 22px 25px;min-height:550px}.agenda-date{font-size:11px;text-transform:uppercase;letter-spacing:1.4px;color:#95a49a;font-weight:800;margin:19px 0 10px}.agenda-row{width:100%;border:1px solid var(--line);background:#fff;border-radius:10px;margin:6px 0;padding:13px 16px;display:flex;align-items:center;gap:12px;text-align:left}.agenda-row:hover{background:#f9fcf8}.agenda-mark{width:9px;height:9px;background:var(--event-color);border-radius:50%;flex:none}.agenda-time{color:#8d9a91;font-size:11px;min-width:94px}.agenda-title{font-size:12px;font-weight:800}.agenda-calendar{font-size:10px;color:#a2aea4;margin-left:auto}.agenda-empty{font-size:11px;color:#a2afa4;padding:15px}.modal-backdrop{position:fixed;inset:0;background:rgba(14,34,22,.38);display:flex;align-items:center;justify-content:center;padding:18px;z-index:10}.modal-backdrop.hidden{display:none}.modal{width:min(100%,510px);max-height:min(92vh,850px);overflow:auto;background:white;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.18);padding:27px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:19px}.modal-head h2{font-family:Manrope,Arial,sans-serif;font-size:21px;letter-spacing:-.7px;margin:3px 0 0}.modal-kicker{color:#79a58b;font-size:10px;letter-spacing:1.5px;font-weight:800}.modal-close{border:0;background:#f4f7f3;width:27px;height:27px;border-radius:7px;color:#64756a;font-size:19px;line-height:1}.field{display:grid;gap:7px;margin-bottom:14px}.field label,.field-label{font-size:11px;font-weight:800;color:#5f6e63}.field input,.field select,.field textarea{width:100%;border:1px solid #dce5db;border-radius:8px;padding:10px 11px;background:white;color:#263b2e;font-size:12px}.field textarea{resize:vertical;min-height:70px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.shift-options{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:9px 0 16px}.shift-option{border:1px solid #e6ece4;background:#fbfdfb;border-radius:9px;padding:11px;text-align:left;font-size:11px;font-weight:800;display:flex;align-items:center;gap:9px}.shift-option.selected{border-color:#78b493;background:#edf7ee}.shift-swatch{height:10px;width:10px;border-radius:50%;background:var(--swatch)}.shift-option small{font-size:9px;font-weight:600;color:#9ca99f;margin-left:auto}.date-list{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.date-pill{display:inline-flex;align-items:center;gap:5px;background:#eaf4eb;color:#34664a;border-radius:20px;padding:5px 8px;font-size:10px;font-weight:800}.date-pill button{background:none;border:0;color:#6f9b78;padding:0;font-weight:800}.add-date-row{display:flex;gap:8px}.add-date-row input{flex:1}.small-action{border:1px solid #dce9df;background:#f5faf5;color:#286b4f;border-radius:8px;font-size:11px;font-weight:800;padding:0 11px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;align-items:center;border-top:1px solid var(--line);padding-top:18px;margin-top:22px}.button-quiet{background:#f5f7f4;color:#607467}.button-danger{background:#fff1f0;color:#b84742;margin-right:auto}.setting-row{display:flex;justify-content:space-between;gap:17px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.setting-row strong{display:block;font-size:12px}.setting-row small{display:block;color:#9aa69d;font-size:10px;line-height:1.5;margin-top:4px;max-width:320px}.switch{width:37px;height:21px;border:0;border-radius:30px;background:#ccd6cd;padding:3px;flex:none}.switch:after{content:"";display:block;width:15px;height:15px;border-radius:50%;background:#fff;transition:transform .15s}.switch.on{background:#3b9068}.switch.on:after{transform:translateX(16px)}.settings-section-title{font-size:11px;letter-spacing:1px;color:#8ca297;margin:23px 0 5px;font-weight:800}.calendar-setting{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:9px;padding:10px 12px;margin:8px 0}.calendar-setting span{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800}.calendar-setting select{border:1px solid var(--line);border-radius:6px;padding:5px;color:#647568;background:white;font-size:10px}.info-box{background:#f2f8f2;border-radius:9px;padding:11px;color:#6b8871;font-size:10px;line-height:1.6;margin:17px 0}.read-only{background:#f5f8f4;border-radius:10px;padding:13px;color:#596d5e;font-size:12px;line-height:1.7}.read-only strong{color:#273a2e}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);background:#234f3a;color:white;padding:11px 17px;border-radius:9px;font-size:11px;font-weight:700;opacity:0;pointer-events:none;transition:all .18s;z-index:20}.toast.show{opacity:1;transform:translate(-50%,0)}
/* Keep shifts easy to scan: large labels sit near the bottom of each day. */
.month-grid{grid-auto-rows:minmax(125px,auto)}
.day-cell{display:flex;flex-direction:column}
.cell-events{margin-top:auto}
.event-chip.shift-chip{min-height:29px;font-size:12px;padding:7px 8px;border-left-width:4px;border-radius:7px}
.event-icon{display:inline-block;margin-right:4px}
.callin-mark{display:inline-grid;place-items:center;width:16px;height:16px;margin-right:5px;border-radius:50%;background:#fff;color:#b57a25;font-size:10px;font-weight:900;vertical-align:1px}
.sick-mark{display:inline-grid;place-items:center;width:16px;height:16px;margin-right:5px;border-radius:50%;background:#fff;color:#ba5252;font-size:10px;font-weight:900;vertical-align:1px}
.field-row[hidden],.check-row[hidden]{display:none}
.check-row{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:9px;padding:11px 12px;margin:10px 0 15px;cursor:pointer}
.check-row input{accent-color:var(--green);width:16px;height:16px;flex:none}
.check-row strong,.check-row small{display:block}.check-row strong{font-size:11px}.check-row small{font-size:10px;color:#98a59a;margin-top:3px}
.template-row{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:8px;padding:9px 10px;margin:7px 0}.template-color{height:10px;width:10px;border-radius:50%;flex:none}.template-name{flex:1;min-width:0}.template-name strong,.template-name small{display:block}.template-name strong{font-size:11px}.template-name small{font-size:9px;color:#9daa9e;margin-top:2px}.template-row button{border:0;background:#eef6ef;color:var(--green);border-radius:6px;padding:6px 9px;font-size:10px;font-weight:800}.settings-link{border:0;background:none;color:var(--green);font-size:11px;font-weight:800;padding:9px 0}.muted-copy{font-size:11px;color:#96a49a}
.field[hidden]{display:none}
.calendar-setting-name{flex:1;min-width:0;display:block!important;font-size:11px!important;font-weight:800}.calendar-setting-name small{display:block;color:#a0aaa0;font-size:9px;font-weight:600;margin-top:2px}.calendar-setting input[type=color],.field input[type=color]{padding:2px;width:36px;height:31px;min-width:36px;cursor:pointer}
.settings-filter{display:flex;align-items:center;gap:9px;padding:8px 2px;font-size:11px;font-weight:700}.settings-filter input{accent-color:var(--green)}
.notification-category-note{font-size:10px;line-height:1.5;color:#94a299;margin:4px 0 2px}.notification-setting{padding:11px 0}
html,body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}h1,h2,.brand,.summary-stat strong{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
@media(max-width:1220px){.app-shell{grid-template-columns:210px minmax(0,1fr)}.right-panel{display:none}.sidebar{padding-left:12px;padding-right:12px}.content-wrap{padding:30px}.topbar{padding:0 30px}}
@media(max-width:740px){.app-shell{display:block}.sidebar{position:fixed;bottom:0;left:0;right:0;z-index:6;height:65px;display:block;background:#fff;padding:4px 8px;border-top:1px solid var(--line);border-right:0}.brand,.workspace-label,.sidebar-divider,.sidebar-heading,.calendar-filters,.text-button,.sidebar-bottom{display:none}.primary-nav{display:flex;justify-content:space-around;height:100%;gap:0}.nav-item{display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:center;min-width:90px;padding:5px;border-radius:8px;font-size:10px}.nav-icon{font-size:19px}.soon{display:none}.topbar{height:53px;padding:0 17px}.content-wrap{padding:24px 13px 86px}.page-intro{margin-bottom:23px;align-items:flex-start}.page-intro h1{font-size:29px}.intro-copy{font-size:11px;line-height:1.45;max-width:230px}.intro-actions{position:fixed;bottom:77px;right:14px;z-index:5;gap:7px}.intro-actions .button{box-shadow:0 5px 17px rgba(32,78,46,.2);padding:0 12px}.calendar-toolbar{padding:0 10px;flex-wrap:wrap;height:auto;min-height:91px;gap:2px}.month-nav{width:100%;height:45px}.month-nav h2{font-size:15px;min-width:0;flex:1;margin-left:6px}.month-nav .icon-button{width:27px;height:27px}.view-picker{margin-left:auto;margin-bottom:6px}.weekday-grid{height:31px;font-size:9px}.month-grid{grid-auto-rows:minmax(109px,1fr)}.day-cell{padding:5px 2px}.day-number{font-size:11px;margin:0 0 4px;width:22px;height:22px}.event-chip{font-size:8px;padding:4px 2px 4px 3px;border-left-width:2px}.event-chip.shift-chip{min-height:24px;font-size:10px;padding:5px 3px 5px 4px;border-left-width:3px}.more-events{font-size:8px}.bottom-hint{line-height:1.5}.agenda-view{min-height:500px;padding:9px 12px 20px}.agenda-calendar{display:none}.agenda-time{min-width:76px}.modal{padding:20px;max-height:90vh}.field-row{gap:8px}}
.calendar-scope{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 13px;margin-bottom:13px}
.calendar-scope>span{font-size:11px;font-weight:800;color:#536b5a}
.calendar-scope>div{display:flex;gap:4px;background:#f4f7f3;border-radius:8px;padding:3px}
.calendar-scope button{border:0;background:transparent;color:#7e9182;border-radius:6px;padding:8px 12px;font-size:10px;font-weight:800;line-height:1.2}
.calendar-scope button.selected{background:var(--green);color:#fff;box-shadow:0 2px 6px rgba(20,70,40,.12)}
.calendar-scope small{font-size:9px;color:#91a095;margin-left:auto}
@media(max-width:740px){.calendar-scope{gap:8px;padding:10px}.calendar-scope>span{width:100%}.calendar-scope>div{width:100%}.calendar-scope button{flex:1 1 0;min-width:0;padding:9px 4px}.calendar-scope small{width:100%;margin-left:0}}
@media(max-width:740px){.content-wrap{padding-bottom:16px}.right-panel{display:block;background:#fff;margin:0 13px 95px;border:1px solid var(--line);border-radius:16px;padding:20px;scroll-margin-top:16px}.right-panel h2{font-size:19px}.shift-summary{margin-top:20px;padding-top:20px}}
