@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--aqua:#67e8f9;--ink:#134e4a;--bg:#f0fdfa;--teal:#0f766e;--muted:#647c79;--line:#dcece8}*{box-sizing:border-box}body{margin:0;font-family:'DM Sans',sans-serif;font-size:16px;color:var(--ink);background:#f5faf9}button,input,select,textarea{font:inherit}button,a,select{touch-action:manipulation}button{border:0;border-radius:10px;padding:12px 18px;background:var(--teal);color:white;font-weight:600;cursor:pointer}button:hover{filter:brightness(.95)}button:focus-visible,a:focus-visible{outline:3px solid #0891b2;outline-offset:3px}button.secondary{background:#edf8f5;color:var(--ink)}button.small{font-size:14px;padding:8px 12px}button.iconbtn{background:transparent;color:var(--ink);font-size:26px;padding:0 8px}aside{position:fixed;inset:0 auto 0 0;width:252px;background:white;border-right:1px solid var(--line);padding:35px 22px;display:flex;flex-direction:column}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--ink);font-family:Manrope,sans-serif;font-size:20px;font-weight:800;white-space:nowrap}.logo{background:var(--teal);color:var(--aqua);border-radius:13px;font-size:32px;padding:0 8px}small{display:block;font-size:12px;font-weight:500;color:var(--muted);margin-top:6px;letter-spacing:.04em}.brand small{font-size:9px;letter-spacing:.11em}nav{display:grid;gap:7px;margin-top:46px}nav a{padding:13px 16px;text-decoration:none;color:#63807a;border-radius:10px;font-size:15px;display:flex;align-items:center;gap:13px}nav a.active{background:#dff8f4;color:var(--teal);font-weight:700}nav a:hover{background:var(--bg)}.navicon{font-size:20px;width:24px}.sidefoot{margin-top:auto;display:flex;align-items:center;gap:12px;font-size:13px}.avatar{display:inline-grid;place-items:center;background:#dcf7f1;color:var(--teal);width:38px;height:38px;border-radius:50%;font-weight:700;font-size:13px;flex-shrink:0}.workspace{margin-left:252px}header{height:86px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 40px}.crumb{font-size:14px;color:var(--muted)}.crumb span{padding:0 14px;color:#bfd4cd}.crumb b{color:var(--ink);font-weight:500}.rolelabel{font-size:13px;display:flex;gap:10px;align-items:center}select,input,textarea{border:1px solid #cfe1dc;background:white;border-radius:8px;padding:10px;color:var(--ink);max-width:100%}.demo{padding:10px 40px;background:#e6f7f4;font-size:11px;letter-spacing:.1em;font-weight:700;color:#39776c;display:flex;gap:20px}.demo span{letter-spacing:0;font-weight:400;font-size:12px}main{max-width:1450px;margin:auto;padding:34px 40px 45px}.pagehead{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px}h1,h2,h3{font-family:Manrope,sans-serif}h1{font-size:30px;letter-spacing:-1px;margin:0 0 8px;font-weight:800}p{color:var(--muted);line-height:1.6;margin:0}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;margin-bottom:10px;color:var(--teal)}h2{font-size:18px;margin:0}h3{font-size:16px;margin:0}.card{background:white;border:1px solid var(--line);border-radius:17px;padding:23px;box-shadow:0 3px 6px #134e4a03}.cardhead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px}.grid{display:grid;grid-template-columns:1.45fr 1fr;gap:22px}.stack{display:grid;gap:22px;align-content:start}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:24px}.stat label{font-size:14px;color:var(--muted)}.stat strong{display:block;font-size:32px;font-family:Manrope;margin:14px 0 6px}.stat small{letter-spacing:0}.stat .symbol{float:right;color:var(--teal);background:#e6faf5;padding:7px 11px;border-radius:10px}.feature{background:linear-gradient(110deg,#d4f9f3,#c7f5fa);border-color:#bdeae4;position:relative;overflow:hidden}.feature h2{font-size:23px;margin:7px 0 10px}.feature p{color:#397970;font-size:14px;max-width:400px}.feature button{margin-top:20px}.tag{display:inline-block;font-size:12px;font-weight:600;border-radius:20px;padding:5px 10px;background:#edf8f5;color:#377c6e;white-space:nowrap}.tag.pending{background:#fff5df;color:#947124}.tag.dark{background:white;color:var(--teal)}.row{display:flex;gap:13px;align-items:center;padding:15px 0;border-bottom:1px solid #edf2f0}.row:last-child{border-bottom:0}.row .grow{flex:1}.row p{font-size:13px;margin-top:5px}.row strong{font-size:14px}.row .actions{margin:0}.actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px;flex-wrap:wrap}.taskicon{padding:10px;background:#f0faf6;border-radius:10px;color:var(--teal)}.quick{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quick button{text-align:left;background:white;border:1px solid var(--line);color:var(--ink);padding:18px 14px;font-size:14px}.quick button span{display:block;color:var(--teal);font-size:22px;margin-bottom:9px}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;font-size:12px;font-weight:500;color:var(--muted);padding:12px 10px;background:#f8fbfa}td{padding:16px 10px;border-bottom:1px solid #edf3f0}tr:last-child td{border:0}td:last-child,th:last-child{text-align:right}.tablewrap{overflow-x:auto}.namecell{display:flex;align-items:center;gap:10px}.rank{font-weight:700;color:#8ba09c}.rank.top{color:#b18b32}.note{font-size:13px;color:var(--muted);margin-top:15px}.bar{height:9px;border-radius:20px;background:#e1efeb;margin:16px 0 10px;overflow:hidden}.bar span{display:block;height:100%;background:linear-gradient(90deg,#0f766e,#67e8f9);border-radius:20px}.tabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.tabs button{background:white;color:var(--muted);border:1px solid var(--line)}.tabs button.active{background:var(--teal);color:white}.empty{text-align:center;padding:32px;color:var(--muted)}.chatlayout{display:grid;grid-template-columns:240px 1fr;gap:20px}.chatlist button{display:block;width:100%;text-align:left;background:white;color:var(--ink);margin-bottom:8px}.chatlist button.active{background:#ddf7f1}.messages{min-height:260px;max-height:440px;overflow:auto;padding:10px 0}.bubble{background:#f0f8f5;border-radius:0 13px 13px 13px;padding:13px 17px;max-width:85%;margin:14px 0}.bubble.mine{margin-left:auto;background:#dcf7f4;border-radius:13px 0 13px 13px}.bubble small{font-size:12px;margin:0 0 6px}.chatinput{display:flex;gap:10px}.chatinput input{flex:1;min-width:0}.field{display:grid;gap:8px;margin:16px 0}.field label{font-size:14px}.field input,.field select,.field textarea{width:100%}.checkline{display:flex;gap:12px;align-items:center;padding:12px 0}.checkline input{width:20px;height:20px;accent-color:var(--teal)}dialog{border:1px solid var(--line);border-radius:20px;width:530px;max-width:calc(100% - 30px);max-height:90vh;overflow:auto;padding:26px;color:var(--ink);box-shadow:0 25px 100px #062c3e40}dialog::backdrop{background:#073c385c;backdrop-filter:blur(3px)}.modalhead{display:flex;justify-content:space-between;align-items:center}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:14px 23px;border-radius:12px;display:none;z-index:20;font-size:14px;box-shadow:0 8px 40px #134e4a35}footer{padding:20px 40px;border-top:1px solid var(--line);font-size:12px;color:#829b94;display:flex;justify-content:space-between}.schedulecards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.schedulecards .card{padding:18px}.schedulecards p{font-size:14px;margin-top:10px}.winner{font-size:26px;margin-top:14px}.filepreview{max-width:180px;max-height:120px;border-radius:8px}@media(min-width:1450px){main{padding-top:45px}}@media(max-width:1100px){aside{width:210px;padding:30px 14px}.brand{font-size:17px}.brand small{font-size:8px}.workspace{margin-left:210px}main{padding:26px 22px}header{padding:0 22px}.demo{padding:10px 22px}.grid{grid-template-columns:1fr}.schedulecards{grid-template-columns:1fr 1fr}}@media(max-width:700px){aside{position:static;width:100%;padding:17px 18px;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:20px}.sidefoot{display:none}nav{display:flex;overflow:auto;margin-top:18px;gap:4px}nav a{padding:8px 12px;white-space:nowrap;font-size:13px}.navicon{display:none}.workspace{margin-left:0}header{height:60px;padding:0 18px}.crumb{font-size:12px}.crumb span{padding:0 6px}.rolelabel{font-size:12px;gap:5px}.demo{padding:10px 18px;display:block}.demo span{display:block;margin-top:4px}main{padding:25px 17px}.pagehead{align-items:flex-start;flex-wrap:wrap}h1{font-size:27px}.pagehead p{font-size:14px}.stats{gap:8px}.stat{padding:15px 12px}.stat label{font-size:12px}.stat strong{font-size:26px}.stat .symbol{display:none}.stat small{font-size:11px}.card{padding:19px}.row{flex-wrap:wrap}.row .actions{width:100%}.chatlayout{grid-template-columns:1fr}.chatlist{display:flex;overflow:auto}.chatlist button{white-space:nowrap;width:auto}.schedulecards{grid-template-columns:1fr}.chatinput button{padding:10px}footer{padding:20px 18px}footer span{display:none}}
.weektools{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.weektools .tabs{align-items:center}.weektools b{font-size:14px}.weekgrid{min-width:1120px}.weekgrid th,.weekgrid td{text-align:left;vertical-align:top}.weekgrid thead th{min-width:118px}.weekgrid th:first-child{min-width:180px;position:sticky;left:0;background:#f8fbfa;z-index:1}.weekgrid tbody th{padding:18px 10px;font-size:14px;color:var(--ink)}.weekgrid td{border-left:1px solid #edf3f0}.shiftblock{background:#e2f8f1;border-left:3px solid var(--teal);padding:10px 8px;border-radius:8px;margin-bottom:8px}.shiftblock strong{font-size:13px;white-space:nowrap}.shiftblock small{letter-spacing:0}.shiftblock button{margin-top:8px;padding:5px 8px}.shiftblock.draft{background:#fff8e9;border-color:#c49b36}.dayoff{color:#9bb1a9}.reviewtable{margin-top:20px;min-width:390px}.reviewtable td{font-size:13px;vertical-align:top}.reviewtable th{font-size:12px}.reviewtable td:last-child{font-weight:600;text-align:left}.reviewtable th:last-child{text-align:left}
.template-tray{margin-bottom:22px}.template-tray p{font-size:14px}.template-chips{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}.shift-template{background:#e1f8f5;color:var(--ink);border:2px solid transparent;text-align:left;cursor:grab}.shift-template span{display:block;font-size:14px;margin-top:6px;font-weight:400}.shift-template.selected{border-color:var(--teal);background:#ccf5ef}.place-shift{display:block;width:100%;border:1px dashed var(--teal);margin-bottom:10px}.weekgrid td:has(.place-shift){background:#f0fdfa}
.add-shift-cell{cursor:pointer}.add-shift-cell:hover{background:#e9faf5}.cell-add{display:block;background:transparent;color:var(--teal);border:1px dashed #acd5ca;width:100%;font-size:13px;padding:12px 6px;margin-top:8px;text-align:center}.cell-add:hover{background:#d7f4eb}
.timeline-modal{width:min(1200px,95vw)}.weektools{margin-top:20px}.template-tray{margin-top:20px}.timeline-modal .tablewrap{margin-bottom:20px}
.returned-notifications{margin-bottom:24px;border-left:4px solid #be9234;background:#fffdf7}.returned-notice{padding:16px 0;border-top:1px solid var(--line)}.returned-notice h3{margin-top:12px}.returned-notice blockquote{margin:14px 0;padding:14px 18px;background:#fff5df;border-radius:10px;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink)}
.attendance-review{border:0;padding:0;margin:0;min-width:0}.attendance-review.completed{background:#f0f2f2;color:#798581;border-radius:12px;padding:16px;opacity:.65}.attendance-review.completed button{background:#d9dfdc;color:#63706a;cursor:default}.verified-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#edf3f0;padding:16px;border-radius:12px;margin:18px 0;color:#516b61;flex-wrap:wrap}
.important-updates{margin-bottom:24px;border-top:4px solid var(--teal)}.dashboard-update{padding:18px 0;border-top:1px solid var(--line)}.dashboard-update:last-child{padding-bottom:0}.update-message{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:12px;color:var(--ink)}

#save-status{display:flex;gap:12px;align-items:center;flex-wrap:wrap;min-height:44px;text-transform:none;letter-spacing:normal}#save-status.sync-error{background:#fff1f2;color:#9f1239}#save-status button{padding:7px 12px;font-size:12px}.saving #app,.saving #modal{opacity:.75;pointer-events:none}.saving{cursor:progress}#signed-in{font-size:13px}.rolelabel{max-width:260px}
.profile-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px}.profile-directory{align-self:start}.profile-person{width:100%;display:flex;align-items:center;gap:12px;text-align:left;background:transparent;color:#134e4a;margin-top:10px;border:1px solid transparent}.profile-person.selected{background:#cffafe;border-color:#67e8f9}.profile-person small{display:block;margin-top:3px}.avatar{overflow:hidden;flex-shrink:0}.avatar img{width:100%;height:100%;object-fit:cover}.profile-heading{display:flex;gap:24px;align-items:center}.profile-photo{width:112px;height:112px;font-size:36px;border:4px solid #fff;box-shadow:0 0 0 2px #67e8f9}.profile-hero{background:linear-gradient(120deg,#cffafe,#f0fdfa)}.profile-heading h2{font-size:28px;margin:12px 0}.profile-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;border-top:1px solid #99e5df;margin-top:24px;padding-top:24px}.profile-numbers strong{display:block;font-size:28px;color:#134e4a}.profile-numbers span{display:block;font-size:14px;margin-top:6px}.badge-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-top:20px}.earned-badge{border:1px solid #cce6e3;border-radius:18px;padding:24px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;overflow-wrap:anywhere}.earned-badge h3,.earned-badge p{margin:0}.earned-badge small{margin-top:auto}.badge-symbol{font-size:36px;color:#0f766e;display:block}.monthly-winner{background:#fffbeb;border-color:#e9d794}.profile-heading>div{min-width:0;overflow-wrap:anywhere}@media(max-width:800px){.profile-layout{grid-template-columns:1fr}.profile-directory{display:flex;overflow:auto;gap:8px;align-items:center}.profile-directory h2{display:none}.profile-person{width:auto;min-width:160px;margin:0}.profile-heading{gap:16px}.profile-photo{width:80px;height:80px}.profile-numbers{gap:10px}}
.shiftblock strong{display:block;font-size:14px;white-space:normal}.shift-title{display:block;margin-top:7px;font-size:14px;color:var(--ink)}.shift-comment{font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 0;line-height:1.4}.weekgrid .cell-add{white-space:normal}.weekgrid th:first-child{min-width:130px}.weekgrid td{min-width:150px}.tablewrap{max-width:100%;-webkit-overflow-scrolling:touch}
.catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px;margin:24px 0}.catalog-badge{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.catalog-badge h2{font-size:20px;margin:4px 0}.catalog-badge .cardhead{width:100%;gap:12px}.catalog-badge p{margin:6px 0}.catalog-badge details{margin-bottom:12px}.catalog-badge button{margin-top:auto}.badge-earned{border-color:#0f7975;box-shadow:inset 0 4px #0f7975}.review-proof{display:block;max-width:100%;max-height:400px;object-fit:contain}.badge-history{margin:20px 0}summary{cursor:pointer;color:#0e7471;font-weight:600}input[type=checkbox]{width:auto}

.brand-logo{width:56px;height:56px;object-fit:contain;border-radius:12px;flex-shrink:0;vertical-align:middle}.brand{display:flex;align-items:center;gap:12px}.profile-signout{width:auto!important;min-width:0!important}

#role-preview{margin:12px 24px;padding:14px 18px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#edf6ff;border:1px solid #a7c9ef;border-radius:12px}
#role-preview:empty{display:none}#role-preview label{display:flex;align-items:center;gap:8px}#role-preview span{flex:1;min-width:180px}#role-preview button{width:auto}

.google-review-form{margin-top:20px}.review-intro{background:#edf8f5;border:1px solid var(--line);border-radius:12px;padding:18px}.review-intro h3{margin:7px 0}.review-intro p,.review-upload p{font-size:13px;line-height:1.5}.review-stars{color:#a66b00;font-size:23px;letter-spacing:4px}.review-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.google-review-form .field{min-width:0}.google-review-form .field label{font-weight:600}.review-upload{border:1px dashed #9dbdb4;border-radius:12px;padding:0 16px 16px;background:#fafdfc}.review-upload input{font-size:14px}.review-confirm{align-items:flex-start;font-size:14px;line-height:1.5}.review-confirm input{flex:0 0 20px;margin-top:1px}.google-review-form textarea{resize:vertical}@media(max-width:480px){.review-fields{grid-template-columns:1fr;gap:0}.review-fields .field:first-child{margin-bottom:0}}

.approval-count{margin-left:auto;min-width:20px;padding:2px 6px;border-radius:12px;background:#b33d36;color:white;font-size:12px;text-align:center}.unavailable-label{padding:8px;background:#fff1d8;color:#754812;border-radius:6px;margin-bottom:6px}.unavailable-label small{display:block}

.recognition-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:22px;align-items:start}.recognition-layout>section{min-width:0}.recognition-feed{max-height:650px;overflow-y:auto}.recognition-feed-item{padding:16px 0;border-bottom:1px solid var(--line)}.recognition-feed-item:last-child{border:0}.recognition-feed-person{display:flex;align-items:center;gap:10px}.recognition-feed-item h3{margin:12px 0 6px}.recognition-feed-item small{display:block;margin-top:10px}.recognition-award-details{margin-top:28px}@media(max-width:800px){.recognition-layout{grid-template-columns:minmax(0,1fr)}.recognition-feed{max-height:420px}}

.recognition-feed-person,.recognition-feed-person:visited{color:var(--teal);text-decoration:none}.recognition-feed-person:hover strong{text-decoration:underline}.recognition-feed-item .update-message{overflow-wrap:anywhere}.recognition-feed{width:auto;min-width:0;background:#fff;border:1px solid var(--line);color:var(--ink)}
