:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#263340;background:#f5f6f8;font-synthesis:none;--accent:#596777;--ink:#253442;--muted:#687687;--line:#e1e6eb;--soft:#eef1f5}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);padding:10px 15px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}button:hover:not(:disabled){background:#f0f3f6;border-color:#aeb9c5}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8bb4db;outline-offset:3px}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover:not(:disabled){background:#3e5265}button.wide{width:100%;margin-top:14px}button.icon-button{padding:8px;min-width:40px;background:transparent;border-color:transparent}button.text-button{background:transparent;border:0;padding:8px 0;text-align:left;justify-content:flex-start;color:var(--accent)}a{color:#405c75}h1,h2,h3,p{margin-top:0}h1{font-size:32px;font-weight:600;letter-spacing:-1.1px;margin-bottom:9px}h2{font-size:20px;font-weight:600;letter-spacing:-.4px}h3{font-size:15px;margin-bottom:8px}p{line-height:1.65;font-size:14px}.muted,.fine{color:var(--muted)}.fine{font-size:12px;line-height:1.55}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--accent);margin-bottom:14px}.brand{display:flex;align-items:center;gap:13px;font-size:12px;letter-spacing:1.4px;font-weight:700}.brand small{display:block;letter-spacing:2px;font-size:9px;color:var(--muted);margin-top:5px;font-weight:500}.monogram{background:var(--accent);color:white;border:1px solid #778696;width:43px;height:43px;display:grid;place-items:center;font-size:24px;letter-spacing:-2px;font-family:Georgia,serif;border-radius:11px}.top{height:92px;border-bottom:1px solid var(--line);padding:0 36px;display:flex;align-items:center;justify-content:space-between;background:#fff}.profile{display:flex;align-items:center;gap:11px;font-size:13px;font-weight:600}.profile small{display:block;font-weight:400;color:var(--muted);font-size:11px;margin-top:5px}.avatar,.small-avatar{display:inline-grid;place-items:center;width:37px;height:37px;border-radius:50%;background:#e8edf2;color:#4c6074;font-size:15px;flex-shrink:0}.small-avatar{width:25px;height:25px;font-size:12px}.layout{display:flex;max-width:1900px;margin:auto}.side{width:238px;flex-shrink:0;padding:32px 24px;min-height:calc(100vh - 140px)}nav{display:flex;flex-direction:column;gap:5px}nav button{border:0;background:transparent;justify-content:flex-start;padding:13px;font-size:13px;color:var(--muted)}nav button.active{background:#e5ebf1;color:#354f68}.side-info{background:#eaf0f5;border:1px solid #dde5ed;border-radius:12px;padding:20px;margin:35px 0 20px;color:#536578}.side-info h3{margin-top:14px}.side-info p{font-size:12px;line-height:1.6;margin-bottom:0}.side>.fine{margin-top:20px;font-size:11px}.workspace{flex:1;min-width:0;padding:36px 36px 28px 15px}.page-title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:27px}.page-title .muted{margin-bottom:0;font-size:13px}.actions{display:flex;gap:8px;flex-shrink:0;margin-bottom:2px}.month-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;margin:25px 0 17px}.month-picker{display:flex;align-items:center;gap:8px}.month-picker h2{text-transform:capitalize;margin:0 9px;min-width:163px}.month-picker button{font-size:24px;min-width:37px;padding:0;min-height:35px;border-color:transparent;background:transparent}.month-picker input{width:34px;min-width:34px;padding:3px;color:transparent;border:0;background:transparent}.month-picker input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}.filters{display:flex;gap:10px;align-items:center}input,select,textarea{border:1px solid #d8dfe6;background:white;border-radius:8px;color:var(--ink);padding:11px 12px;font-size:13px;max-width:100%}.filters select{font-size:12px;max-width:180px;min-height:39px}.segmented{display:flex;border:1px solid var(--line);background:#e9eef3;padding:3px;border-radius:9px}.segmented button{font-size:11px;background:transparent;border:0;min-height:31px;padding:6px 10px;color:var(--muted)}.segmented button.chosen{background:white;box-shadow:0 1px 3px #243b5510;color:var(--ink)}.status-row{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-bottom:20px}.badge{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:5px;background:#e8edf3;font-size:11px;font-weight:600;color:#536578}.dot{width:6px;height:6px;border-radius:100%;background:currentColor}.badge.published{background:#e3eee8;color:#3d6a56}.badge.unsaved{background:#fff0d5;color:#876322}.calendar{border:1px solid #dde3e9;border-radius:13px;background:#fff;overflow:hidden;box-shadow:0 4px 20px #263a4e04}.weekday,.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekday{background:#eef2f6;color:#566a7e;font-size:10px;font-weight:600;border-bottom:1px solid var(--line)}.weekday span{padding:15px 13px}.day,.empty-day,.filtered-day{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;min-height:202px;padding:14px 11px;display:block;text-align:left;align-content:start;background:#fff;position:relative;font-weight:400}.days>:nth-child(7n){border-right:0}.day:disabled{opacity:1;cursor:default;color:var(--ink)}.day:hover:not(:disabled){background:#f7faff;box-shadow:inset 0 0 0 1px #a9bacb}.empty-day,.filtered-day{background:#f8fafb;color:#a7b3bf}.filtered-day span{font-size:13px}.day-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;min-height:24px}.date-number{font-size:13px;font-weight:600}.today .date-number{display:grid;place-items:center;border-radius:7px;background:var(--accent);color:white;width:27px;height:27px}.edit-dot{color:#9cacbc;font-size:16px}.day-group{margin-top:12px}.group-label{display:block;color:#788898;font-size:9px;letter-spacing:.6px;margin:0 0 6px;font-weight:600}.person{display:flex;align-items:center;gap:5px;font-size:11px;line-height:1.45;margin-top:4px;flex-wrap:wrap}.person-dot{width:4px;height:4px;border-radius:50%;background:#9faebe;flex-shrink:0}.person.self{font-weight:650;color:#3f607f}.person.self .person-dot{background:#3f607f}.person small{font-size:8px;color:var(--muted);width:100%;margin-left:9px;margin-top:-2px}.day-note{border-top:1px dashed #d4dde5;margin-top:12px;padding-top:8px;font-size:10px;color:#61758a;line-height:1.5}.day.closed{background:#f3f5f7}.closed-label{font-size:11px;color:#8c98a4}.no-shifts{font-size:10px;color:#a0acb8;display:block;margin-top:18px}.mobile-weekday{display:none}.bottom-note{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px;margin-top:18px}.footer{padding:20px 36px;display:flex;justify-content:space-between;border-top:1px solid var(--line);font-size:10px;color:#7c8996;letter-spacing:.3px}.notice,.error{display:flex;gap:9px;align-items:center;padding:14px 17px;border-radius:9px;margin-bottom:18px;font-size:13px;line-height:1.55}.notice{background:#e6efe9;color:#3c6650}.error{background:#fff1ec;color:#913d2c;flex-wrap:wrap}.error button{color:inherit;text-decoration:underline}.empty{padding:75px 20px;text-align:center;background:white;border:1px solid var(--line);border-radius:14px;color:var(--muted)}.empty h2{color:var(--ink);margin-top:20px}.modal{border:1px solid #d9e0e8;border-radius:18px;width:min(590px,calc(100vw - 30px));padding:26px;color:var(--ink);max-height:90vh;box-shadow:0 25px 100px #0f253a30}.modal::backdrop{background:#142a3d60;backdrop-filter:blur(3px)}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.modal-head h2{margin:0;text-transform:capitalize}.modal-head button{margin:-8px}.modal-actions{display:flex;justify-content:space-between;gap:10px;margin-top:25px;margin-bottom:10px}.field-label{display:block;font-size:12px;font-weight:600;margin:19px 0 12px}.field-label input,.field-label select,.field-label textarea{display:block;margin-top:8px;width:100%;font-weight:400}.toggle-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:14px 0;font-size:13px;gap:10px}.toggle-row input{width:19px;height:19px;accent-color:var(--accent)}.name-picker{display:flex;gap:8px;flex-wrap:wrap}.name-picker button{border-radius:25px;padding:6px 10px;min-height:39px;font-size:12px;font-weight:500}.name-picker button.selected{background:#e5edf5;border-color:#90a6bc;color:#365873}.shift-times{margin-top:22px}.shift-row{display:flex;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}.shift-row>div{flex:1}.shift-row small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.shift-row label{width:102px}.shift-row label span{display:block;font-size:9px;color:var(--muted);margin-bottom:3px}.shift-row input{padding:7px 5px;width:100%;font-size:12px}.shift-row button{min-width:25px;padding:3px}.approval{text-align:center}.round-icon{display:inline-grid;place-items:center;width:58px;height:58px;border-radius:17px;background:#e8eef4;color:#586f87}.approval h3{font-size:26px;text-transform:capitalize;margin-top:18px}.approval-check{display:flex;align-items:flex-start;gap:10px;text-align:left;padding:17px;background:#eef3f7;border-radius:9px;font-size:13px;line-height:1.5;margin:20px 0}.approval-check input{margin:2px 0 0;width:18px;height:18px;flex-shrink:0;accent-color:var(--accent)}.team-toolbar{display:flex;justify-content:space-between;align-items:center;margin:25px 0}.team-toolbar p{margin:0;color:var(--muted);font-size:12px}.team-list{display:grid;gap:12px}.person-card{display:flex;align-items:center;gap:18px;padding:22px;background:white;border:1px solid var(--line);border-radius:12px}.grow{flex:1;min-width:0}.person-card h3{margin-bottom:3px;font-size:16px}.person-card p{font-size:12px;margin-bottom:4px;color:var(--muted)}.person-card small{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.person-card .badge{margin-top:8px;display:table}.person-actions{display:flex;gap:7px}.card{background:white;border:1px solid var(--line);border-radius:12px;padding:25px}.card h2{text-transform:capitalize}.history-row{display:flex;align-items:center;justify-content:space-between;padding:17px 0;border-top:1px solid var(--line);font-size:14px}.history-row p{font-size:12px;color:var(--muted);margin:6px 0 0}.next-shift{display:flex;align-items:center;gap:20px;background:#e9eff5;border:1px solid #d7e2ec;border-radius:12px;padding:23px;margin:0 0 20px}.next-shift small{font-size:9px;letter-spacing:1.3px}.next-shift h3{font-size:19px;margin-top:9px;text-transform:capitalize}.next-shift p{margin:0;font-size:12px;color:var(--muted)}.login-page{max-width:1220px;margin:auto;padding:48px}.login-layout{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:100px;padding:105px 0}.login-layout h1{font-size:59px;line-height:1.05;letter-spacing:-2px;margin:22px 0}.lead{font-size:17px;max-width:390px;color:var(--muted);line-height:1.7}.login-detail{display:flex;gap:13px;align-items:center;margin-top:45px;font-size:13px}.login-detail small{color:var(--muted);line-height:2}.login-card{background:white;border:1px solid var(--line);border-radius:20px;padding:38px;box-shadow:0 15px 50px #21384d07}.login-card h2{margin-top:25px;font-size:26px}.login-card p{color:var(--muted);font-size:13px}.login-card .fine{font-size:11px;margin-top:20px}.login-card a{font-size:12px}.login-page footer{border-top:1px solid var(--line);padding-top:22px;font-size:11px;color:var(--muted)}.loading{padding:50px}.loading p{margin-top:25px;color:var(--muted)}.demo{background:#f4e8c9;color:#765d2e;text-align:center;padding:8px;font-size:10px;letter-spacing:1px}
@media(min-width:1500px){.day{min-height:230px;padding:16px}.person{font-size:12px}.weekday{font-size:11px}.person small{width:auto;margin:0 0 0 auto}.page-title{margin-bottom:35px}.workspace{padding-top:45px}}
@media(max-width:1150px){.side{width:190px;padding:30px 16px}.workspace{padding:30px 20px 25px 5px}.page-title{align-items:flex-start;flex-direction:column}.day{padding:12px 8px}.actions{align-self:flex-end}.weekday span{padding:13px 8px;font-size:9px}.person-actions{flex-direction:column}}
@media(max-width:760px){.top{height:79px;padding:0 18px}.brand{font-size:10px;gap:9px;letter-spacing:.8px}.monogram{width:35px;height:35px;font-size:21px}.brand small{font-size:7px}.profile>.avatar{display:none}.profile>span{font-size:11px}.profile small{font-size:8px;max-width:95px;line-height:1.4}.profile{gap:3px}.profile .icon-button{min-width:30px;padding:6px}.layout{display:block}.side{width:auto;min-height:0;padding:14px 17px 0}.side>.eyebrow,.side-info,.side>.fine{display:none}.side nav{flex-direction:row;gap:3px;background:#e8edf3;padding:4px;border-radius:10px}.side nav button{flex:1;justify-content:center;font-size:11px;padding:9px 5px;gap:6px;min-height:37px}.side nav button.active{background:white}.side nav svg{width:16px;height:16px}.side>.text-button{display:inline-flex;font-size:10px;margin-right:18px;padding:12px 0 0}.workspace{padding:24px 17px}.page-title{gap:20px;margin-bottom:18px}h1{font-size:28px}.page-title .muted{font-size:12px;line-height:1.6}.eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:10px}.actions{width:100%;align-self:auto;flex-wrap:wrap}.actions button{flex:1;padding:11px 9px;font-size:11px;min-width:135px}.month-toolbar{margin-top:20px;gap:16px}.month-picker{width:100%;justify-content:space-between;gap:0}.month-picker h2{font-size:22px;text-align:center}.month-picker input{width:26px;min-width:26px}.filters{width:100%;justify-content:space-between;gap:7px}.filters select{font-size:11px;padding:10px 6px;max-width:128px}.segmented button{padding:7px;font-size:10px}.status-row{gap:8px;margin-bottom:14px}.status-row .fine{width:100%;font-size:10px}.calendar{border:0;background:transparent;box-shadow:none;border-radius:0;overflow:visible}.weekday,.empty-day,.filtered-day{display:none}.days{display:flex;flex-direction:column;gap:11px}.day{min-height:0;border:1px solid var(--line)!important;border-radius:12px;padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:0 16px;box-shadow:0 2px 7px #24384c03;width:100%}.day-head{grid-column:1/-1;justify-content:flex-start;gap:10px;margin-bottom:2px}.date-number{background:#edf1f5;width:32px;height:32px;border-radius:8px;display:grid;place-items:center;font-size:15px}.mobile-weekday{display:inline;font-size:13px;font-weight:600;text-transform:capitalize}.edit-dot{margin-left:auto;font-size:22px}.group-label{font-size:9px;letter-spacing:.8px;margin-bottom:8px}.day-group{margin-top:13px}.person{font-size:13px;gap:7px;margin-top:7px}.person-dot{width:5px;height:5px}.person small{font-size:10px;margin-left:12px}.day-note{grid-column:1/-1;font-size:11px;padding-top:12px;margin-top:15px}.no-shifts,.closed-label{font-size:11px;grid-column:1/-1;margin:10px 0 0}.bottom-note{align-items:flex-start;font-size:10px;line-height:1.6}.bottom-note svg{flex-shrink:0;margin-top:1px}.footer{padding:20px 18px;flex-direction:column;gap:7px;font-size:9px}.modal{padding:21px;width:calc(100vw - 20px);max-height:92dvh;border-radius:15px}.modal-head h2{font-size:18px}.modal-actions button{font-size:11px;padding:10px}.shift-row{gap:6px}.shift-row label{width:86px}.shift-row input{font-size:11px}.name-picker button{font-size:11px}.team-toolbar{gap:10px}.team-toolbar p{font-size:11px}.team-toolbar button{font-size:11px}.person-card{padding:16px;gap:11px;flex-wrap:wrap}.person-actions{width:100%;flex-direction:row;padding-left:48px}.person-actions button{font-size:10px;padding:8px 10px;min-height:35px}.login-page{padding:27px 22px}.login-layout{display:block;padding:50px 0}.login-layout h1{font-size:43px;margin:15px 0}.lead{font-size:14px}.login-detail{display:none}.login-card{padding:25px;margin-top:30px;border-radius:16px}.login-card h2{font-size:23px}.login-card .round-icon{width:48px;height:48px}.next-shift{padding:18px;gap:14px}.next-shift h3{font-size:17px}.next-shift small{font-size:8px}.next-shift .round-icon{width:43px;height:43px;flex-shrink:0}.history-row{align-items:flex-start;gap:10px}.history-row button{font-size:10px}.demo{font-size:8px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Real brand identity and a clear first-use route. No external fonts or media. */
.brand{gap:19px;min-width:0}.brand-logo{display:block;width:230px;height:auto;max-width:100%;object-fit:contain}.brand-divider{height:28px;width:1px;background:var(--line);flex-shrink:0}.brand-caption{font-size:9px;letter-spacing:1.7px;white-space:nowrap;color:#596777;font-weight:600}
.login-page{max-width:1240px;min-height:100dvh;padding:40px 48px 24px;display:flex;flex-direction:column}.login-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:27px;border-bottom:1px solid #dce2e8}.login-header .brand-logo{width:262px}.login-private{display:flex;gap:8px;align-items:center;font-size:11px;color:#657180;white-space:nowrap}.login-layout{grid-template-columns:1fr 1fr;gap:72px;padding:62px 0;flex:1;align-items:center}.login-story h1{font-size:clamp(38px,3.6vw,52px);line-height:1.12;letter-spacing:-1.8px;font-weight:650;margin:23px 0}.login-story h1 span{color:#667484}.login-story .lead{font-size:16px;max-width:370px;line-height:1.8;color:#62707e}.login-detail{margin-top:45px;gap:15px;font-size:13px;font-weight:600}.login-detail .round-icon{flex-shrink:0;width:46px;height:46px;border:1px solid #d7e0e8;background:transparent;border-radius:13px}.login-detail small{display:block;font-size:11px;font-weight:400;margin-top:4px;line-height:1.5}
.login-card{padding:34px;border-radius:20px;box-shadow:0 16px 50px #26334008;border-color:#dfe5eb}.access-heading{display:flex;gap:13px;align-items:center}.access-heading .round-icon{width:43px;height:43px;border-radius:13px;flex-shrink:0}.access-heading .eyebrow{margin:0;font-size:9px;letter-spacing:1.7px}.login-card h2{font-size:28px;letter-spacing:-.8px;line-height:1.2;margin:23px 0}.access-switch{display:grid;grid-template-columns:1fr 1fr;background:#edf1f5;padding:4px;border:1px solid #e5eaf0;border-radius:11px;margin:0 0 25px;gap:4px}.access-switch button{border:0;background:transparent;min-height:42px;color:#627282;border-radius:7px;font-weight:600}.access-switch button[aria-pressed=true]{background:white;color:#2c3d4d;box-shadow:0 2px 6px #26334010}.login-card p{font-size:14px;line-height:1.75;color:#5d6b7b}.login-card strong{color:#344454}.login-method{display:flex;align-items:center;gap:9px;font-size:12px;color:#5c6d7a;margin:20px 0 24px}.login-method svg{color:#62768a}.login-submit{min-height:52px;border-radius:9px;margin-top:0!important;font-size:14px}.access-first{margin-top:24px;font-size:12px;padding-top:21px;border-top:1px solid #e8ecf0;color:#637181}.access-first .text-button{display:flex;font-size:13px;padding:5px 0;min-height:38px;color:#3c586f}.access-footer{display:flex;align-items:flex-start;gap:7px;margin-top:27px;color:#73808d;font-size:10px;line-height:1.6}.access-footer svg{flex-shrink:0;margin-top:1px}.activation-form{margin-top:22px}.activation-form label{font-size:12px;line-height:1.6;font-weight:600;color:#384c5e}.activation-form input{display:block;width:100%;min-height:48px;border:1px solid #c9d4df;border-radius:8px;padding:12px;margin:9px 0 0;background:#fafbfc;color:var(--ink);font-size:16px}.activation-form .fine{font-size:11px;margin:8px 0 5px}.activation-form .primary{min-height:49px}.access-help{border-top:1px solid #e4eaf0;margin-top:22px;padding-top:19px}.access-help summary{cursor:pointer;font-size:13px;line-height:1.7;font-weight:600;color:#405c75}.access-help p{font-size:12px;margin:14px 0 0;line-height:1.75}.activation-steps{list-style:none;counter-reset:access;display:grid;gap:17px;padding:0;margin:23px 0}.activation-steps li{counter-increment:access;position:relative;margin:0;padding:0 0 0 40px;min-height:31px;font-size:12px}.activation-steps li:before{content:counter(access);position:absolute;left:0;top:0;width:28px;height:28px;border-radius:50%;background:#edf2f7;color:#50697e;display:grid;place-items:center;font-size:12px;font-weight:650}.activation-steps strong{display:block;font-size:13px;margin-bottom:3px}.activation-steps span{display:block;color:#647588;line-height:1.6}.login-card .access-note{font-size:11px;margin:18px 0 0}.login-page footer{display:flex;justify-content:space-between;gap:18px;padding-top:20px;line-height:1.6}.login-page footer>div{display:flex;gap:22px}.login-page footer a{text-underline-offset:3px}.login-card summary:focus-visible{outline:3px solid #8bb4db;outline-offset:4px}.loading .brand{max-width:480px}
@media(max-width:1000px){.login-page{padding:30px}.login-layout{gap:35px;padding:45px 0}.login-private{display:none}.login-story h1{font-size:39px}.login-card{padding:26px}.login-header .brand-logo{width:240px}.top .brand-logo{width:200px}.top .brand-divider,.top .brand-caption{display:none}}
@media(max-width:760px){.brand{gap:12px}.brand-logo{width:180px}.brand-divider,.brand-caption{display:none}.login-page{padding:24px 20px 20px}.login-header{justify-content:center;padding-bottom:23px}.login-header .brand{flex-direction:column;gap:13px}.login-header .brand-logo{width:min(260px,72vw)}.login-header .brand-caption{display:block;font-size:9px;letter-spacing:2px}.login-layout{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:25px 0 30px}.login-story>.eyebrow,.login-detail{display:none}.login-story h1{font-size:27px;line-height:1.2;letter-spacing:-.7px;margin:0 0 10px}.login-story h1 br{display:none}.login-story h1 span{display:block}.login-story .lead{font-size:13px;line-height:1.7;margin:0;max-width:none}.login-card{padding:23px;margin-top:24px;border-radius:16px}.access-heading .eyebrow{font-size:8px;letter-spacing:1.3px}.login-card .round-icon{width:37px;height:37px;border-radius:11px}.login-card h2{font-size:25px;margin:18px 0 20px}.login-card p{font-size:13px}.access-switch{margin-bottom:21px}.access-switch button{font-size:12px}.login-method{font-size:11px;margin:17px 0 22px}.access-first{margin-top:21px;padding-top:17px}.login-page footer{flex-direction:column;gap:9px;font-size:10px}.login-page footer>div{gap:20px}.top .brand-logo{width:min(180px,43vw)}.loading{padding:25px}}
@media(max-width:360px){.login-page{padding:22px 14px}.login-card{padding:19px}.login-story h1{font-size:25px}.access-heading{gap:10px}}

/* Both branches remain in a consistent vertical order, on phone and desktop. */
.day:disabled{opacity:1}.day{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;text-align:left}.day-group{width:100%;margin:12px 0 0;padding:0 0 10px;min-height:56px}.day-group+.day-group{border-top:1px solid var(--line);padding-top:12px;margin-top:0}.group-label{font-size:10px;font-weight:700;letter-spacing:.6px;color:#52677b}.branch-group2 .group-label{color:#766552}.branch-empty{display:block;font-size:10px;color:#73808c;font-weight:400;line-height:1.5;margin-top:5px}.day .person{line-height:1.5}.day-note{margin-top:auto;padding-top:9px}.branch-tabs{display:flex;gap:8px;margin:20px 0 0}.branch-tabs button{flex:1;min-height:48px;font-size:14px}.branch-tabs button[aria-pressed=true]{background:#e8eff5;border-color:#8aa2b8;color:#354f68}.branch-tabs button span{background:#fff;border-radius:100px;padding:2px 7px;font-size:11px}.branch-closed{margin-top:0}.shared-times{padding:17px;background:#f1f5f8;border:1px solid #e0e7ed;border-radius:12px;margin:12px 0 23px}.shared-times h3{font-size:14px;margin-bottom:5px}.shared-times p{font-size:12px;color:#627386;line-height:1.6;margin:0 0 12px}.time-pair{display:flex;gap:12px;align-items:center}.time-pair label{flex:1;font-size:11px;color:#526577}.time-pair input{display:block;width:100%;min-width:0;padding:10px;border:1px solid #c9d4df;border-radius:8px;background:white;color:var(--ink);margin-top:5px}.time-pair>span{padding-top:18px}.time-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.time-actions button{font-size:11px;flex:1}.shared-times .time-warning{color:#a64a2d;margin-top:10px;margin-bottom:0}.shift-entry{border-bottom:1px solid var(--line);padding:6px 0 8px}.shift-entry .shift-row{border:0;margin:0;padding:9px 0}.use-times{font-size:11px;min-height:34px;padding:3px 0!important}.name-picker small{font-size:9px;color:#637080}.name-picker button:disabled{opacity:.65}.shift-row>div{min-width:60px}.time-pair input,.shift-row input{font-size:16px}
@media(max-width:760px){.day{display:flex;gap:0;padding:17px 19px}.day-group{min-height:0;margin-top:13px;padding-bottom:13px}.day-group+.day-group{margin-top:0;padding-top:13px}.day .person{display:flex;flex-wrap:nowrap}.day .person small{margin:0 0 0 auto;width:auto;font-size:11px}.group-label{font-size:11px}.branch-empty{font-size:12px}.shared-times{padding:14px}.time-actions{flex-direction:column}.shift-row{flex-wrap:wrap}.shift-row>div{width:100%;flex:1 1 100%}.shift-row label{width:auto;flex:1;min-width:0}.shift-row .icon-button{min-width:32px;width:32px}.name-picker button{min-height:42px}.branch-tabs button{font-size:13px}.day-note{margin-top:5px}}
.modal-head{position:sticky;top:-26px;z-index:2;background:#fff;padding:16px 0;border-bottom:1px solid var(--line);margin-top:-16px}.modal-head h2{padding-right:12px}
@media(max-width:760px){.modal-head{top:-21px}}

.app-login{max-width:510px;margin:7vh auto;padding:24px}.app-login .brand-logo{max-width:240px;margin-bottom:28px}.app-login-card{background:white;border:1px solid var(--line,#dfe4e9);padding:28px;border-radius:20px}.app-login h1{font-size:34px;line-height:1.15;letter-spacing:-1px;margin:12px 0 18px}.app-login p{line-height:1.6}.app-login-eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:#596777}.app-login .primary{margin-top:20px}.app-login-action{display:block;text-align:center;padding:15px;text-decoration:none}.app-login-error{background:#fff0eb;color:#a43420;padding:14px;border-radius:8px}

.invitation-page{max-width:580px;margin:3vh auto}.invitation-page .app-login-card{padding:30px}.invitation-page .app-login-action{font-size:15px;line-height:1.45}.invitation-steps{list-style:none;padding:0;margin:28px 0;display:grid;gap:22px}.invitation-steps li{display:flex;gap:14px}.invitation-steps li>span{flex:0 0 32px;height:32px;border-radius:50%;background:#e8eef3;display:grid;place-items:center;font-weight:700;font-size:13px;color:#4b6175}.invitation-steps strong{font-size:15px}.invitation-steps p{margin:5px 0 0;font-size:13px;color:#657486}.invitation-help{border-top:1px solid #dfe4e9;padding:18px 0;font-size:13px;line-height:1.6}.invitation-help summary{cursor:pointer;font-weight:650;color:#354b5e;min-height:32px}.invitation-help p{margin:13px 0}.invitation-stores{display:flex;gap:10px;flex-wrap:wrap}.invitation-stores a{padding:10px;border:1px solid #dfe4e9;border-radius:7px;text-decoration:none}.invitation-browser{display:inline-block;min-height:44px;padding:12px 0}.invite-share-label{margin-top:22px}.invite-message{display:block;width:100%;box-sizing:border-box;padding:15px;border:1px solid #cbd5df;border-radius:10px;resize:vertical;font:inherit;font-size:13px;line-height:1.65;color:#334554;background:#f8fafb;margin-top:9px}.invitation-page .fine{font-size:12px}
@media(max-width:480px){.invitation-page{padding:20px 14px;margin:0 auto}.invitation-page .brand-logo{display:block;width:225px;max-width:80%;height:auto;margin:8px auto 25px}.invitation-page .app-login-card{padding:24px 20px}.invitation-page h1{font-size:35px}.invitation-page .app-login-eyebrow{font-size:9px;letter-spacing:1.1px}.invitation-intro{font-size:14px}.invitation-page .app-login-action{font-size:14px;padding:14px 10px}}
.app-login a.primary{background:#596777;color:#fff;border:1px solid #596777;border-radius:10px;font-weight:650;min-height:48px;box-sizing:border-box}.app-login a.primary:hover{background:#435260}.app-login a:focus-visible,.invitation-help summary:focus-visible{outline:3px solid #91b3cf;outline-offset:4px}

.documents{margin-top:28px;scroll-margin-top:24px}.documents-heading{display:flex;justify-content:space-between;align-items:start;gap:20px}.document-list{list-style:none;padding:0;margin:22px 0}.document-list>li{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:20px 0;border-bottom:1px solid #e3e5e7}.pdf-icon{display:grid;place-items:center;width:48px;height:60px;border-radius:8px;background:#edf0f2;color:#59616c;font-size:12px;font-weight:700;flex-shrink:0}.document-title{flex:1;min-width:180px;overflow-wrap:anywhere}.document-title small{display:block;color:#707780;margin-top:6px}.document-actions{display:flex;gap:8px;flex-wrap:wrap}.document-button{display:inline-flex;align-items:center;padding:10px 14px;border:1px solid #d5d9dd;border-radius:8px;color:#39424b;text-decoration:none;font-size:14px;font-weight:600;background:white}.document-button:hover{background:#f1f3f5}.document-upload{margin:24px 0;padding:24px;background:#f5f6f7;border-radius:12px;max-width:700px}.document-upload label{display:grid;gap:8px;margin:16px 0}.document-upload input{width:100%;box-sizing:border-box}.document-confirm{width:100%;padding:16px;background:#fff5e5;border-radius:8px}.document-confirm button{margin-right:8px}@media(max-width:600px){.documents-heading{display:block}.document-actions{width:100%}.document-upload{padding:16px}.document-button{min-height:44px}.document-actions button{min-height:44px}}
