:root{--ink:#152a2c;--muted:#667878;--bg:#f3f6f6;--line:#dfe7e6;--green:#087b65;--mint:#d9f3e9;--nav:#142e30;--radius:18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}button,input,select{font:inherit}button,.button{border:1px solid var(--line);min-height:44px;color:var(--ink);cursor:pointer;background:#fff;border-radius:9px;justify-content:center;align-items:center;padding:10px 17px;font-weight:600;text-decoration:none;display:inline-flex}button:hover,.button:hover{filter:brightness(.96)}button:disabled{opacity:.5;cursor:wait}:is(button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible){outline-offset:3px;outline:3px solid #3d9eec}input,select{width:100%;min-height:46px;color:var(--ink);background:#fff;border:1px solid #becdcc;border-radius:8px;margin-top:6px;padding:10px 12px;display:block}label{font-size:14px;font-weight:600;display:block}small{color:var(--muted);font-size:13px;display:block}p{margin:5px 0 12px}h1{letter-spacing:-1px;margin:5px 0 12px;font-size:32px;line-height:1.2}h2{letter-spacing:-.4px;margin:0 0 15px;font-size:20px}.shell{min-height:100vh;display:flex}.sidebar{background:var(--nav);color:#fff;flex-direction:column;width:226px;padding:30px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:-.7px;color:#fff;align-items:center;gap:10px;font-size:23px;font-weight:700;text-decoration:none;display:flex}.brand span{color:#153d33;background:#94e6c7;border-radius:12px;padding:3px 11px}.workspace-label{letter-spacing:1.5px;color:#95b4b1;margin-top:38px;margin-bottom:16px;font-size:12px}.nav{color:#bad0cd;background:0 0;border:0;justify-content:flex-start;gap:13px;width:100%;margin-bottom:7px;font-size:15px;font-weight:500}.nav span{width:18px;font-size:20px}.nav.active-nav{color:#fff;background:#294548}.sidebar-user{align-items:center;gap:12px;margin-top:auto;font-size:14px;display:flex}.sidebar-user small{color:#9dbbb7}.avatar{color:#23493e;background:#dcf4e8;border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.main{flex:1;min-width:0;margin-left:226px}header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:76px;padding:0 36px;font-size:14px;display:flex}.breadcrumb{color:var(--muted)}.text-link{color:var(--green)}.mobile-brand{display:none}.page{max-width:1260px;margin:auto;padding:32px 36px}.heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:1.4px;color:var(--green);font-size:12px;font-weight:600}.muted{color:var(--muted)}.panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;margin-bottom:22px;padding:25px}.primary{background:var(--green);border-color:var(--green);color:#fff}.secondary{background:0 0}.large{min-width:220px;min-height:56px;font-size:18px}.clock-panel{text-align:center;background:linear-gradient(125deg,#effcf6,#fff 75%);padding:28px}.clock-top{justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.badge{color:#5c7073;white-space:nowrap;text-transform:capitalize;background:#eef1f2;border-radius:30px;padding:6px 10px;font-size:12px;line-height:1.3;display:inline-block}.badge.approved,.badge.paid{background:var(--mint);color:#086b53}.badge.submitted{color:#815d08;background:#fff1cf}.badge.active{color:#28618d;background:#e0efff}.timer{letter-spacing:-3px;font-variant-numeric:tabular-nums;margin:32px 0 0;font-size:72px;font-weight:600}.clock-buttons{justify-content:center;gap:12px;margin:22px 0;display:flex}.shift-note{text-align:left;max-width:560px;margin:24px auto 0}.panel-title{justify-content:space-between;align-items:center;gap:15px;margin-bottom:16px;display:flex}.panel-title h2{margin:0}.shift-row,.employee-row,.deal-row,.payment-row{border-top:1px solid var(--line);align-items:center;gap:20px;padding:20px 0;display:flex}.shift-row>div:first-child,.employee-row>div:first-child,.deal-row>div:first-child,.payment-row>div:first-child{overflow-wrap:anywhere;flex:1;min-width:0}.shift-row p,.employee-row p,.deal-row p,.payment-row p{color:var(--muted);margin-bottom:3px;font-size:14px}.shift-total{text-align:right;min-width:85px}.empty{text-align:center;color:var(--muted);padding:35px 15px}.empty span{color:#769d91;font-size:30px}.empty p{margin:10px}.period{flex-wrap:wrap;align-items:end;gap:20px;margin-bottom:25px;display:flex}.period label{min-width:155px}.period p{margin:0 0 3px;font-size:14px}.metrics{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:18px;padding:22px 0 28px;display:grid}.metrics b{letter-spacing:-1px;font-size:30px;display:block}.metrics small{font-size:14px}.helper{color:var(--muted);max-width:750px;margin:16px 0 0;font-size:13px}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:18px;display:grid}.form-grid button{justify-self:start}.employee-row label{max-width:145px}.payment-row form{align-items:end;gap:12px;display:flex}.payment-row small{margin-top:8px}.narrow{max-width:600px}.narrow label{margin-bottom:18px}.narrow button{margin-top:20px}.alert,.success{border-radius:10px;margin-bottom:20px;padding:13px 18px}.alert{color:#a13227;background:#fff0ef;border:1px solid #f0c6c3}.success{background:var(--mint);color:#09684e}.login{text-align:center;max-width:650px;margin:40px auto;padding:48px}.login p{max-width:420px;color:var(--muted);margin:10px auto 24px}.login small{margin-top:20px}.big-icon{color:var(--green);margin-bottom:20px;font-size:45px;display:block}footer{text-align:center;color:var(--muted);padding:20px;font-size:12px}footer span{padding:0 8px}@media (max-width:1050px){.sidebar{width:190px;padding:25px 14px}.main{margin-left:190px}.page{padding:28px 24px}.shift-row{flex-wrap:wrap}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-row{flex-wrap:wrap}.employee-row>div:first-child{flex-basis:100%}.metrics b{font-size:25px}}@media (max-width:700px){.shell{display:block}.sidebar{z-index:10;width:100%;padding:8px 12px;position:sticky;top:0;box-shadow:0 2px 6px #10292920}.brand,.workspace-label,.sidebar-user{display:none}.sidebar nav{scrollbar-width:none;gap:4px;display:flex;overflow-x:auto}.nav{flex:none;width:auto;min-height:44px;margin:0;padding:9px 12px;font-size:14px}.nav span{display:none}.main{margin:0}header{height:58px;padding:0 20px}.breadcrumb{display:none}.mobile-brand{font-size:18px;font-weight:700;display:block}.page{padding:24px 16px}.heading{align-items:start;margin-bottom:20px}.heading>.secondary{min-height:40px;padding:8px;font-size:13px}h1{font-size:27px}.heading p.muted{font-size:14px}.panel{border-radius:14px;padding:20px 16px}.clock-top{flex-direction:column}.timer{margin-top:28px;font-size:60px}.clock-buttons{flex-direction:column}.clock-buttons button{min-height:54px}.panel-title{flex-wrap:wrap;font-size:13px}.shift-row{gap:12px}.shift-row>div:first-child{flex-basis:70%}.shift-total{min-width:0}.shift-row .badge{margin-right:auto}.period{gap:12px}.period label{flex:1;min-width:0}.period p{flex-basis:100%}.metrics{grid-template-columns:1fr;gap:12px}.metrics>div{justify-content:space-between;align-items:center;display:flex}.metrics b{font-size:26px}.form-grid{grid-template-columns:1fr}.form-grid button{width:100%}.employee-row label{flex:1;max-width:none}.payment-row,.payment-row form{flex-direction:column;align-items:stretch}.deal-row{flex-wrap:wrap}.deal-row label{width:100%}.login{margin:20px 0;padding:30px 20px}.login .button{width:100%}}.account-access form{text-align:left;max-width:400px;margin:auto}.account-access label{margin:16px 0}.account-access form .primary{width:100%;margin:18px 0 8px}.account-access .alert,.account-access .success{text-align:left}.account-access details{border-top:1px solid var(--line);color:var(--muted);margin-top:26px;padding-top:14px;font-size:13px}.account-access summary{cursor:pointer}.account-access details a{color:var(--green);margin-top:12px;display:inline-block}.link-button{color:var(--green);background:0 0;border:0;font-weight:500}.join-page{min-height:100vh;padding:24px 16px}.join-brand{text-align:center;color:var(--ink);font-size:24px;font-weight:700;text-decoration:none;display:block}.invite-result input{font-family:monospace;font-size:14px}.invite-result button{margin-top:12px}.employee-row{flex-wrap:wrap}.employee-row>div:first-child{min-width:190px}.schedule-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:22px;display:flex}.schedule-toolbar>div:first-child{margin-right:auto}.schedule-toolbar h2{margin:0}.week-grid{grid-template-columns:repeat(7,minmax(125px,1fr));gap:8px;display:grid;overflow-x:auto}.day-column{border:1px solid var(--line);background:#f5f8f7;border-radius:12px;min-height:200px;padding:12px}.day-column h3{margin:0 0 14px;font-size:14px}.schedule-card{border:1px solid var(--line);border-left:3px solid var(--green);background:#fff;border-radius:8px;margin-bottom:10px;padding:12px 10px;font-size:14px}.schedule-card b,.schedule-card strong{margin-top:7px;display:block}.schedule-card strong{font-size:13px}.schedule-card button{min-height:36px;margin-top:12px;padding:4px 8px;font-size:12px}.schedule-card.draft{border-left-color:#be8a26}.schedule-card.cancelled{opacity:.65;border-left-color:#9caaa7}.workplace{border-top:1px solid var(--line);padding:16px 0}.workplace a{color:var(--green)}.alert-list{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.alert-list>div{border-top:1px solid var(--line);padding-top:12px;font-size:14px}@media (max-width:700px){.week-grid{grid-template-columns:1fr;overflow:visible}.day-column{min-height:90px}.schedule-toolbar{gap:8px}.schedule-toolbar>div:first-child{width:100%}.schedule-toolbar label{flex:1}.alert-list{grid-template-columns:1fr}}.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}.roster-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;display:flex}.roster-heading h2{letter-spacing:-.7px;margin:0 0 7px;font-size:25px}.roster-heading .eyebrow{margin-bottom:8px}.roster-heading .muted{margin:0;font-size:14px}.roster-actions{flex-shrink:0;gap:10px;display:flex}.roster-controls{border-top:1px solid var(--line);flex-wrap:wrap;align-items:end;gap:16px;padding:18px 0;display:flex}.week-navigation{gap:4px;display:flex}.week-navigation button{min-width:44px;padding:9px 12px}.compact-label{min-width:150px;font-size:13px}.compact-label input,.compact-label select{min-height:44px;font-size:14px}.inline-check{min-height:44px;color:var(--muted);align-items:center;gap:9px;margin-left:auto;font-weight:400;display:flex}.inline-check input{width:17px;height:17px;min-height:0;accent-color:var(--green);margin:0}.roster-summary{color:var(--muted);background:#f4f8f7;border-radius:10px;flex-wrap:wrap;align-items:center;gap:22px;margin-bottom:20px;padding:14px 16px;font-size:14px;display:flex}.roster-summary b{color:var(--ink);font-variant-numeric:tabular-nums}.roster-legend{align-items:center;gap:7px;margin-left:auto;font-size:13px;display:flex}.roster-legend i{border-radius:50%;width:8px;height:8px;margin-left:8px;display:inline-block}.published-dot{background:var(--green)}.draft-dot{background:#bc8624}.roster-desktop{border:1px solid var(--line);border-radius:12px;overflow-x:auto}.roster-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:1000px}.roster-table th,.roster-table td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);vertical-align:top;text-align:left;padding:10px}.roster-table th:last-child,.roster-table td:last-child{border-right:0}.roster-table tbody tr:last-child>*{border-bottom:0}.roster-table thead th{color:var(--muted);text-align:center;background:#f5f8f7;font-size:13px;font-weight:400}.roster-table thead th b{color:var(--ink);margin-top:2px;font-size:20px;font-weight:600;display:block}.roster-table th:first-child{z-index:1;background:#fff;width:170px;position:sticky;left:0;box-shadow:2px 0 3px #183b3510}.roster-table thead th:first-child{text-align:left;vertical-align:middle;background:#f5f8f7;font-weight:600}.roster-table tbody th{padding:18px 14px}.roster-person{overflow-wrap:anywhere;margin-bottom:5px;font-size:14px;display:block}.roster-table td{height:106px}.roster-shift{border:1px solid #c9e5da;border-left:3px solid var(--green);overflow-wrap:anywhere;background:#edf8f2;border-radius:8px;margin-bottom:7px}.roster-shift summary{cursor:pointer;padding:10px 8px;list-style:none}.roster-shift summary::-webkit-details-marker{display:none}.roster-time{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:14px;font-weight:700;display:block}.roster-shift small{margin-top:5px;font-size:12px;line-height:1.4}.roster-status{color:#17624b;text-transform:capitalize;margin-top:8px;font-size:12px;display:block}.roster-shift.draft{background:#fff9e9;border-color:#ebdcb3 #ebdcb3 #ebdcb3 #bc8624}.roster-shift.draft .roster-status{color:#80601d}.roster-shift.cancelled{background:#f2f4f4;border-color:#d9e0df #d9e0df #d9e0df #8d9c98}.roster-shift.cancelled .roster-time{color:var(--muted);text-decoration:line-through}.roster-shift-detail{border-top:1px solid #163c2315;padding:10px 8px;font-size:14px}.roster-shift-detail button{background:#fff;width:100%;margin-top:10px;padding:7px;font-size:13px}.add-cell{color:#7a9890;background:0 0;border:1px dashed #0000;width:100%;min-height:32px;padding:0;font-size:20px;font-weight:400}:is(.add-cell:hover,.add-cell:focus-visible){color:var(--green);background:#f0f9f4;border-color:#a7c9bd}.shift-composer{border-top:4px solid var(--green);scroll-margin-top:90px}.shift-composer h2{margin:0}.roster-settings{padding:0 22px}.roster-settings>summary{cursor:pointer;padding:19px 0;font-size:15px;font-weight:600}.roster-settings>summary span{color:var(--muted);margin-left:18px;font-size:13px;font-weight:400}.roster-settings>section{border-top:1px solid var(--line);padding:22px 0}.roster-mobile{display:none}.roster-mobile-person{border-top:1px solid var(--line);padding:18px 0}.roster-mobile-person h3{margin:0;font-size:17px}.roster-mobile-day{grid-template-columns:150px 1fr;gap:16px;margin-top:14px;display:grid}.roster-mobile-day>p{color:var(--muted);font-size:14px}.roster-mobile-day .roster-shift{margin:0}.roster-personal .roster-shift{max-width:500px}.roster-panel>.helper{margin-top:18px}@media (max-width:1050px){.roster-heading{flex-direction:column;align-items:flex-start;gap:16px}.roster-controls{gap:12px}.inline-check,.roster-legend{margin-left:0}}@media (max-width:700px){.roster-desktop{display:none}.roster-mobile{display:block}.roster-heading h2{font-size:22px}.roster-actions{width:100%}.roster-actions button{flex:1;padding:10px;font-size:14px}.roster-controls .compact-label{flex:1;min-width:130px}.week-navigation{width:100%}.week-navigation button:nth-child(2){flex:1}.roster-summary{gap:8px 18px;padding:12px;font-size:13px}.roster-legend{width:100%;margin-top:5px}.roster-mobile-day{grid-template-columns:1fr;gap:4px}.roster-mobile-day>p{margin:0 0 4px}.roster-time{font-size:16px}.roster-shift summary{padding:12px}.roster-shift small{font-size:14px}.roster-settings{padding:0 16px}.roster-settings>summary span{margin:5px 0 0;font-size:13px;display:block}.roster-shift-detail{padding:12px}.roster-shift-detail button{width:auto;padding:10px 14px}.roster-personal .roster-shift{max-width:none}.add-cell{min-height:44px}}.break-summary{border:1px solid var(--border,#dce2ea);background:#f3f7fb;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:20px 0;padding:20px;display:flex}.break-summary p{margin:6px 0 0;font-size:14px}.break-summary>b{font-variant-numeric:tabular-nums;font-size:22px}.break-summary progress{accent-color:#2463eb;width:100%;height:8px}.break-summary small{color:#526078;width:100%;font-size:14px}
