@font-face{font-family:Nunito;src:url('fonts/nunito-sans.ttf') format('truetype');font-weight:200 900;font-display:swap}*{box-sizing:border-box}html{font-family:Nunito,system-ui,sans-serif;color:#283343;background:#f5f6f8;line-height:1.5;font-size:16px}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 17px;border:1px solid #39476d;border-radius:6px;background:#39476d;color:#fff;font-weight:700;text-decoration:none;cursor:pointer}button:hover,.button:hover{background:#293655}button:disabled{opacity:.55;cursor:wait}button.secondary,.button.secondary{background:#fff;color:#39476d;border-color:#c1cad8}button.quiet,.button.quiet{background:transparent;border-color:transparent;color:#39476d}button.danger{background:#fff;color:#b23044;border-color:#b23044}.small{font-size:13px;min-height:36px;padding:6px 10px}a{color:#39476d}a:hover{text-decoration-thickness:2px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8d4a71;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:32px;line-height:1.2;letter-spacing:-.025em}h2{font-size:24px;line-height:1.3}h3{font-size:18px}p+p{margin-top:12px}small,.muted{color:#5b6878}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#5b6878}.brand{display:flex;align-items:center;gap:11px;color:#283343;font-weight:800;text-decoration:none;white-space:nowrap}.brand img{width:38px;height:38px}.header{height:82px;padding:0 max(24px,calc((100% - 1180px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d3dae3;gap:20px;background:#fff}.header nav{display:flex;gap:24px;align-items:center}.header nav a:not(.button){text-decoration:none;font-weight:700}.landing{max-width:1180px;margin:auto;padding:70px 0}.hero{display:grid;grid-template-columns:.88fr 1.12fr;gap:60px;align-items:center}.hero h1{font-size:clamp(36px,4.5vw,60px);line-height:1.08;max-width:520px;margin:16px 0 24px;letter-spacing:-.035em}.hero p{font-size:18px;max-width:430px;color:#5b6878}.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:24px}.hero-note{font-size:13px!important;margin-top:18px}.product-proof{position:relative;padding-bottom:35px}.mini-week{background:#fff;border:1px solid #d3dae3;border-radius:8px;padding:24px}.mini-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.mini-grid{display:grid;grid-template-columns:80px repeat(3,1fr);font-size:12px;gap:1px;background:#d3dae3;border:1px solid #d3dae3}.mini-grid>div{padding:11px;background:#fff;min-height:48px}.mini-grid>div:first-child,.mini-grid .mini-day{background:#f5f6f8;font-weight:700}.mini-shift{display:block;background:#ecf0fa;border-left:3px solid #39476d;padding:6px;font-weight:700;color:#39476d;line-height:1.4}.mini-shift.apricot{background:#fff0e8;border-color:#d09371;color:#633a27}.mini-phone{margin-top:18px;margin-left:30%;background:#39476d;color:#fff;padding:20px 24px;border-radius:8px}.mini-phone p{color:#e3e7f1;font-size:14px}.mini-phone h3{margin:10px 0}.publish-bridge{font-size:12px;font-weight:800;letter-spacing:.08em;color:#39476d;margin:14px 0 0 32px}.proof-caption{font-size:12px;color:#5b6878;margin-top:10px}.steps{margin:75px 0;border-top:1px solid #d3dae3;border-bottom:1px solid #d3dae3;display:grid;grid-template-columns:repeat(4,1fr)}.step{padding:28px 25px 30px 0}.step+.step{border-left:1px solid #d3dae3;padding-left:25px}.step b{color:#39476d;font-size:13px}.step h3{margin:10px 0}.step p{font-size:14px;color:#5b6878}.section-title{display:flex;justify-content:space-between;gap:30px;align-items:start;margin-bottom:24px}.section-title>p{max-width:430px;color:#5b6878}.pricing{display:grid;grid-template-columns:1fr 1fr;gap:24px}.price{padding:30px;border:1px solid #d3dae3;border-radius:8px;background:#fff}.price.paid{border-top:4px solid #39476d}.amount{font-size:36px;font-weight:800;margin:8px 0}.amount span{font-size:15px;color:#5b6878;font-weight:600}.price ul{padding-left:19px;line-height:1.9}.scope{max-width:850px;margin:48px 0 0}.footer{padding:30px max(24px,calc((100% - 1180px)/2));border-top:1px solid #d3dae3;display:flex;justify-content:space-between;gap:24px;font-size:13px}.footer nav{display:flex;gap:20px}.app-header{height:72px;padding:0 28px;background:#fff;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d3dae3;gap:20px}.identity{display:flex;align-items:center;gap:12px;font-size:13px}.app-shell{display:grid;grid-template-columns:210px 1fr;min-height:calc(100vh - 72px)}.sidebar{padding:26px 18px;border-right:1px solid #d3dae3;background:#fff}.sidebar nav{display:grid;gap:5px}.sidebar a{padding:12px;border-radius:6px;text-decoration:none;color:#5b6878;font-weight:700;font-size:14px}.sidebar a.active{background:#ecf0fa;color:#39476d}.sidebar .workspace-identity{margin:0 10px 28px;font-size:13px}.content{padding:30px;max-width:1660px;min-width:0}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.page-head p{color:#5b6878;margin-top:7px}.page-head .eyebrow{margin-bottom:7px}.toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;margin:20px 0}.toolbar-group{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.segmented{display:flex;border:1px solid #c1cad8;border-radius:6px;overflow:hidden;background:#fff}.segmented button{border:0;border-radius:0;background:#fff;color:#5b6878;min-height:40px;padding:8px 15px}.segmented button.selected{background:#39476d;color:#fff}.version-strip{padding:14px 18px;background:#ecf0fa;border:1px solid #cbd3e5;border-left:4px solid #39476d;border-radius:6px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:14px;margin-bottom:20px}.version-strip .badge{margin-left:8px}.badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:4px;background:#ecf0fa;color:#39476d;font-size:12px;font-weight:800;white-space:normal}.badge.pending{background:#fff2dc;color:#8a5a13}.badge.confirmed{background:#e8f4ee;color:#276b5b}.badge.changed{background:#f7eaf2;color:#8d4a71}.badge.error{background:#fcebf0;color:#b23044}.table-wrap{overflow:auto;max-width:100%;border:1px solid #d3dae3;border-radius:8px;background:#fff}.rota-grid{border-collapse:separate;border-spacing:0;width:100%;table-layout:fixed;min-width:1020px;font-size:14px}.rota-grid th,.rota-grid td{border-right:1px solid #e0e5ec;border-bottom:1px solid #e0e5ec;vertical-align:top;padding:10px;overflow-wrap:anywhere}.rota-grid th:first-child{width:162px;position:sticky;left:0;z-index:1;background:#fff}.rota-grid thead th{background:#f9fafb;text-align:left;font-size:13px;padding:15px 12px}.rota-grid .coverage-row th,.rota-grid .coverage-row td{font-weight:600;background:#f9fafb;color:#5b6878;font-size:12px;line-height:1.4;height:60px}.rota-grid tbody th{padding:18px 12px;text-align:left;font-weight:800}.rota-grid tbody th small{display:block;font-weight:400;font-size:12px;margin-top:3px}.rota-grid tbody td{height:104px}.shift{display:block;width:100%;padding:9px 9px 10px;background:#ecf0fa;color:#39476d;border:1px solid #cbd3e5;border-left:3px solid #39476d;border-radius:6px;text-align:left;min-height:0;font-size:13px;margin:0 0 6px;font-weight:600;line-height:1.45}.shift:hover{background:#e2e7f3}.shift b,.shift span{display:block}.shift .role-label{font-size:12px;font-weight:600}.shift.green{background:#eaf5ef;color:#276b5b;border-color:#cce1d7;border-left-color:#276b5b}.shift.orange{background:#fff1e8;color:#633a27;border-color:#efd5c5;border-left-color:#c7855e}.shift.purple{background:#f5edf7;color:#724d83;border-color:#e1d3e7;border-left-color:#8d4a71}.empty-cell{color:#8b95a3;font-size:12px}.add-cell{background:transparent;color:#5b6878;border:1px dashed #d3dae3;width:100%;font-size:12px;font-weight:600;min-height:40px;padding:8px;opacity:0}.rota-grid td:hover .add-cell,.add-cell:focus-visible{opacity:1}.below-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;margin-top:24px}.panel{background:#fff;border:1px solid #d3dae3;border-radius:8px;padding:24px}.panel h2{font-size:20px;margin-bottom:10px}.panel>p{color:#5b6878;font-size:14px}.stack{display:grid;gap:16px}.row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid #e0e5ec}.row:last-child{border-bottom:0}.row>div{min-width:0}.row p{font-size:14px;color:#5b6878;margin-top:4px}.row .actions{margin:0;flex-shrink:0}.data-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:12px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid #e0e5ec;padding:10px 8px;vertical-align:top}.data-table th{font-weight:800;color:#5b6878}.callout{border-left:3px solid #f0b395;background:#fff4ec;padding:14px 18px;border-radius:4px;font-size:14px;color:#633a27}.callout+.callout{margin-top:12px}.notice{padding:14px 18px;background:#fff;border:1px solid #d3dae3;border-radius:6px;font-size:14px;margin:18px 0}.notice.error{border-color:#b23044;color:#b23044}.empty{padding:50px 24px;text-align:center;color:#5b6878}.empty h2{color:#283343;margin-bottom:10px}.empty p{max-width:490px;margin:0 auto}.personal{max-width:860px}.next-shift{background:#39476d;color:#fff;padding:28px;border-radius:8px;margin:20px 0 28px}.next-shift .eyebrow{color:#d9deeb}.next-shift h2{font-size:28px;margin:12px 0}.next-shift p{color:#e2e6f0}.next-shift .button{background:#fff;color:#39476d;margin-top:20px}.shift-row{display:grid;grid-template-columns:80px 1fr auto;gap:24px;padding:22px 0;border-bottom:1px solid #d3dae3;align-items:start}.date-tile{text-align:center;color:#39476d;background:#ecf0fa;padding:10px;border-radius:6px;font-size:13px;font-weight:800}.date-tile b{display:block;font-size:28px;line-height:1.2}.shift-row h3{margin-bottom:5px}.shift-row p{font-size:14px;color:#5b6878}.shift-row .badge{margin-top:8px}.change{margin:12px 0;padding:14px;background:#f7eaf2;color:#75375b;font-size:14px;border-left:3px solid #8d4a71;border-radius:4px}.change del{display:block;color:#5b6878}.request{padding:22px;background:#fff;border:1px solid #d3dae3;border-radius:8px}.request h3{margin:8px 0}.request p{font-size:14px;color:#5b6878}.request .actions{margin-top:16px}.columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:700;min-width:0}.field.full{grid-column:1/-1}.field small{font-size:12px;font-weight:400}input,select,textarea{width:100%;border:1px solid #b7c2d0;border-radius:5px;background:#fff;color:#283343;padding:10px 12px;min-height:44px}select[multiple]{min-height:100px}textarea{min-height:80px;resize:vertical}.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;font-weight:600;margin-top:14px}.check input{width:20px;min-height:20px;flex:0 0 20px;margin:1px 0 0;accent-color:#39476d}.checks{display:flex;gap:16px;flex-wrap:wrap}.checks .check{margin:0}dialog{border:1px solid #d3dae3;border-radius:10px;padding:0;width:min(700px,calc(100% - 28px));max-height:90vh;color:#283343;background:#fff}dialog::backdrop{background:rgba(28,38,56,.4)}.dialog-head{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #d3dae3;gap:15px}.dialog-head h2{font-size:23px}.dialog-body{padding:24px}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.dialog-error{color:#b23044;background:#fcebf0;padding:12px;border-radius:5px;margin-top:16px;font-size:14px}.account-card{max-width:520px;background:#fff;border:1px solid #d3dae3;border-radius:8px;padding:32px;margin:65px auto}.account-card h1{font-size:28px;margin:14px 0}.account-card .field{margin-top:20px}.account-card .button{width:100%;margin-top:24px}.policy{max-width:800px;padding:60px 24px;margin:auto}.policy h1{margin-bottom:24px}.policy h2{margin:28px 0 12px}.policy p,.policy li{color:#5b6878}.skip{position:fixed;left:16px;top:-100px;z-index:10;background:#fff;padding:12px}.skip:focus{top:12px}#status{position:fixed;bottom:22px;right:22px;max-width:min(480px,calc(100% - 44px));background:#283343;color:#fff;padding:0;border-radius:6px;z-index:20;box-shadow:0 5px 20px #28334320}#status:not(:empty){padding:14px 20px}.sample-banner{background:#fff0e8;color:#633a27;padding:12px 24px;font-size:14px;text-align:center}.agenda-list .shift{max-width:100%;display:flex;justify-content:space-between;gap:12px;font-size:14px;padding:16px}.week-picker input{width:155px}.history-change{padding:12px;border-left:3px solid #8d4a71;background:#f7eaf2;margin-top:12px;font-size:14px}.spinner{padding:60px;text-align:center}.chip{display:inline-block;padding:4px 8px;background:#f5f6f8;border-radius:4px;font-size:13px;margin:3px}.plan-note{font-size:12px;color:#5b6878;margin-top:12px}.nowrap{white-space:nowrap}.error-copy{color:#b23044}.context-title{font-size:14px;font-weight:800;color:#39476d;margin:20px 0 10px}.status-line{font-size:13px;color:#5b6878;margin-top:12px}
@media(max-width:1250px){.landing{padding:50px 28px}.hero{gap:35px}.app-shell{grid-template-columns:180px 1fr}.content{padding:25px}.below-grid{grid-template-columns:1fr}.identity .email{display:none}}
@media(max-width:850px){.hero{grid-template-columns:1fr;gap:36px}.hero h1{max-width:600px}.hero p{max-width:600px}.product-proof{max-width:620px}.steps{grid-template-columns:1fr 1fr;margin:45px 0}.step:nth-child(3){border-left:0}.step:nth-child(n+3){border-top:1px solid #d3dae3}.pricing{grid-template-columns:1fr}.section-title{display:block}.section-title p{margin-top:15px}.app-shell{display:block}.sidebar{padding:10px 16px;border-right:0;border-bottom:1px solid #d3dae3;overflow:auto}.sidebar nav{display:flex;width:max-content}.sidebar a{padding:9px 13px}.workspace-identity{display:none}.app-header{padding:0 18px}.content{padding:24px 18px}.page-head{flex-wrap:wrap}.page-head h1{font-size:28px}.columns{grid-template-columns:1fr}.identity{gap:6px}.below-grid{grid-template-columns:1fr}.header{padding:0 24px}.header nav .nav-features{display:none}.form-grid{gap:14px}.shift-row{gap:16px}.landing .hero{padding-top:0}}
@media(max-width:520px){.header{height:72px;padding:0 18px}.brand{font-size:15px;gap:8px}.brand img{width:32px;height:32px}.header nav{gap:8px}.header nav>a:not(.button){display:none}.header .button{padding:8px 12px;font-size:14px}.landing{padding:40px 20px}.hero h1{font-size:44px}.mini-week{padding:16px}.mini-grid{grid-template-columns:64px repeat(3,1fr);font-size:11px}.mini-grid>div{padding:7px}.mini-phone{margin-left:12%;padding:19px}.steps{grid-template-columns:1fr}.step+.step{border-left:0;border-top:1px solid #d3dae3;padding-left:0}.step{padding:22px 0}.footer{display:block;padding:25px 20px}.footer nav{margin-top:15px}.identity .role{display:none}.app-header .brand{font-size:14px}.app-header{height:66px}.app-header button{font-size:13px;padding:8px 10px}.content{padding:22px 16px}.page-head{margin-bottom:15px;gap:14px}.page-head .actions{margin:0}.toolbar{gap:12px}.toolbar-group{gap:5px}.version-strip{display:block;padding:14px}.version-strip>div+div{margin-top:10px}.personal .page-head h1{font-size:28px}.next-shift{padding:22px;margin-top:16px}.next-shift h2{font-size:25px}.shift-row{grid-template-columns:62px 1fr;gap:14px}.shift-row>.actions{grid-column:2;margin:0}.date-tile{padding:8px 4px}.shift-row h3{font-size:18px}.row{align-items:flex-start;flex-wrap:wrap}.row .actions{flex-shrink:1}.panel{padding:18px}.form-grid{grid-template-columns:1fr}.dialog-body{padding:20px}.dialog-head{padding:16px 20px}.dialog-actions{flex-wrap:wrap}.dialog-actions button{flex:1}.account-card{margin:35px 16px;padding:24px}.coverage-review{font-size:12px}.personal .toolbar .toolbar-group{width:100%}.request{padding:18px}.price{padding:24px}.sample-banner{padding:10px 16px;font-size:12px}.below-grid{gap:16px}.add-cell{opacity:1}.table-wrap{border-radius:6px}.identity select{width:116px;font-size:12px}.week-picker input{width:144px}}
@media(prefers-reduced-motion:no-preference){button,.button,.sidebar a{transition:background .15s,border-color .15s}.next-shift,.version-strip{animation:arrive .2s ease-out}@keyframes arrive{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:none}}}
@media print{.app-header,.sidebar,.toolbar,button,.actions,#status{display:none}.content{padding:0}.app-shell{display:block}.table-wrap{overflow:visible}.rota-grid{min-width:0}.panel{break-inside:avoid}html{background:#fff}}
@media(max-width:520px){.app-header{display:grid;grid-template-columns:minmax(0,1fr) auto;min-height:66px;height:auto;padding:14px 16px;gap:12px}.app-header .brand{grid-column:1;grid-row:1;min-width:0}.app-header .identity{display:contents}.app-header .identity button{grid-column:2;grid-row:1}.app-header .identity select{grid-column:1/-1;grid-row:2;width:100%;max-width:none;font-size:14px}.app-header .identity .role,.app-header .identity .email{display:none}.next-shift button{max-width:100%}.content,.sidebar{max-width:100vw}fieldset{min-width:0;margin:20px 0 0;padding:14px;border:1px solid #d3dae3;border-radius:6px}summary{cursor:pointer;font-weight:700;min-height:44px;padding:10px 0}}
.stack+.panel,.personal>section.panel{margin-top:24px}fieldset{min-width:0;margin:20px 0 0;padding:14px;border:1px solid #d3dae3;border-radius:6px}summary{cursor:pointer;font-weight:700;min-height:44px;padding:10px 0}
input,select,textarea{border-color:#7a899c}button.secondary,.button.secondary,.segmented{border-color:#7a899c}.empty-cell{color:#637082}input::placeholder,textarea::placeholder{color:#637082;opacity:1}@media(max-width:520px){.small{min-height:44px}}
.preference-label{display:block;font-size:11px;line-height:1.4;color:#5b6878;margin-top:4px}.panel+.table-wrap{margin-top:20px}
