/* Eden team page (phone first) */
.tm-switch{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(243,238,229,.2)}
.tm-switch button{background:none;border:0;padding:11px 8px;color:var(--soft-dark);font-size:.64rem;letter-spacing:.24em;text-transform:uppercase;cursor:pointer}
.tm-switch button[aria-selected="true"]{background:var(--ivory);color:var(--ink)}
.gate .tm-intro,.gate .tm-small{font-size:.86rem}
.gate a.primary{display:block}

.tm{min-height:100%;background:var(--paper);color:var(--ink)}
.tm-bar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:14px;padding:calc(12px + env(safe-area-inset-top,0px)) 20px 12px;background:var(--ink);color:var(--ivory)}
.tm-brand{font-family:var(--serif);font-size:1.35rem;letter-spacing:.3em;margin-right:auto}
.tm-brand span{font-family:var(--sans);font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--ember-hot);margin-left:8px}
.tm-who{text-align:right;font-size:.72rem;line-height:1.3;color:var(--soft-dark)}
.tm-who b{display:block;font-weight:400;color:var(--ivory)}
.tm-btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--sans);font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;padding:9px 12px;border:1px solid var(--line-dark);background:none;color:var(--ivory);cursor:pointer;text-decoration:none;white-space:nowrap}
.tm-btn:disabled{opacity:.4;cursor:default}
.tm-main .tm-btn{border-color:var(--line);color:var(--ink);background:#fff}
.tm-btn.primary,.tm-main .tm-btn.primary{background:var(--ember);border-color:var(--ember);color:var(--ivory)}
.tm-main{max-width:1180px;margin:0 auto;padding:30px 20px 70px}
.tm-hero{display:grid;gap:6px;margin-bottom:28px}
.tm-eyebrow{font-size:.64rem;letter-spacing:.3em;text-transform:uppercase;color:var(--ember)}
.tm-hero h1{font-size:clamp(2rem,6vw,3rem)}
.tm-weeknav{display:flex;gap:6px;margin-top:8px}
.tm-sec{margin-top:34px}
.tm-h{font-family:var(--sans);font-weight:400;font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;color:var(--ember);padding-bottom:10px;margin-bottom:14px;border-bottom:1px solid var(--line)}
.tm-empty{color:var(--stone);padding:6px 0;list-style:none}

/* your shifts */
.tm-mine{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.tm-shift{position:relative;display:grid;grid-template-columns:62px minmax(0,1fr);gap:14px;align-items:center;padding:16px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--ember)}
.tm-shift.today{box-shadow:0 10px 26px rgba(176,112,63,.16);border-color:var(--ember)}
.tm-day{display:grid;text-align:center;border-right:1px solid var(--line);padding-right:12px}
.tm-day span{font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:var(--stone)}
.tm-day b{font-family:var(--serif);font-weight:400;font-size:1.5rem;line-height:1.1}
.tm-time{display:grid;gap:2px}
.tm-time b{font-family:var(--serif);font-weight:400;font-size:1.35rem;line-height:1.2}
.tm-time span{font-size:.82rem;color:#4a4e53}
.tm-time em{font-size:.8rem;color:var(--stone)}
.tm-today{position:absolute;top:10px;right:12px;font-size:.56rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ember)}
.tm-total{margin-top:12px;font-size:.84rem;color:var(--stone)}

/* who's working */
.tm-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.tm-dcol{background:#fff;border:1px solid var(--line)}
.tm-dcol.today{border-color:var(--ember)}
.tm-dhead{display:flex;justify-content:space-between;align-items:baseline;padding:10px 14px;background:var(--ivory);border-bottom:1px solid var(--line)}
.tm-dhead span{font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--stone)}
.tm-dhead b{font-family:var(--serif);font-weight:400;font-size:1.15rem}
.tm-dcol.today .tm-dhead{background:#fbf6ef}
.tm-row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;padding:9px 14px;border-bottom:1px solid rgba(15,18,21,.06);align-items:baseline}
.tm-row:last-child{border-bottom:0}
.tm-row.mine{background:#fbf6ef;box-shadow:inset 3px 0 0 var(--ember)}
.tm-rt{font-size:.86rem;font-variant-numeric:tabular-nums;white-space:nowrap;color:#4a4e53}
.tm-rn b{display:block;font-family:var(--serif);font-weight:400;font-size:1.08rem;line-height:1.25}
.tm-rn span{font-size:.74rem;color:var(--stone)}
.tm-none{padding:12px 14px;font-size:.84rem;color:var(--stone)}

/* message board */
.tm-post{display:grid;gap:8px;max-width:760px}
.tm-post textarea{font:inherit;font-size:1rem;line-height:1.5;padding:12px 14px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:2px;resize:vertical;min-height:84px}
.tm-post textarea:focus{outline:2px solid var(--ember-hot);outline-offset:-1px;border-color:transparent}
.tm-post-f{display:flex;justify-content:space-between;align-items:center;gap:10px}
.tm-count{font-size:.76rem;color:var(--stone)}
.tm-msg{min-height:1.2em;margin:8px 0;font-size:.86rem;color:#a3392b}
.tm-posts{list-style:none;display:grid;gap:10px;max-width:760px}
.tm-note{padding:14px 16px;background:#fff;border:1px solid var(--line)}
.tm-note.mine{border-left:3px solid var(--ember)}
.tm-note-h{display:flex;align-items:baseline;gap:10px;margin-bottom:6px}
.tm-note-h b{font-family:var(--serif);font-weight:400;font-size:1.1rem}
.tm-note-h > span{font-size:.74rem;color:var(--stone)}
.tm-note p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.96rem;line-height:1.55;color:var(--text)}
.tm-del{margin-left:auto;background:none;border:0;padding:0;font-size:.74rem;color:#a3392b;cursor:pointer}
.tm-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (max-width:600px){
  .tm-bar{padding-left:16px;padding-right:16px;gap:10px}
  .tm-who{display:none}
  .tm-main{padding:24px 16px 60px}
  .tm-mine,.tm-days{grid-template-columns:1fr}
}

/* week / month toggle */
.tm-weeknav{flex-wrap:wrap;align-items:center}
.tm-viewtog{display:inline-flex;border:1px solid var(--line);background:#fff;margin-right:6px}
.tm-viewtog button{background:none;border:0;padding:9px 14px;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--stone);cursor:pointer}
.tm-viewtog button[aria-pressed="true"]{background:var(--ink);color:var(--ivory)}
.tm-offnote{margin-top:10px;padding:10px 14px;background:#f6ece0;border:1px solid rgba(176,112,63,.35);font-size:.86rem;color:#7a4a1e}

/* month: my shifts list */
.tm-mlist{display:grid;gap:6px;max-width:620px}
.tm-mrow{display:grid;grid-template-columns:110px auto minmax(0,1fr);gap:12px;align-items:baseline;padding:10px 14px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--ember)}
.tm-mrow.today{box-shadow:0 8px 20px rgba(176,112,63,.15)}
.tm-md{font-size:.8rem;color:var(--stone)}
.tm-mrow b{font-family:var(--serif);font-weight:400;font-size:1.15rem}
.tm-mrow span:last-child{font-size:.8rem;color:#4a4e53}

/* month calendar */
.tm-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-left:1px solid var(--line);border-top:1px solid var(--line);background:#fff;max-width:900px}
.tm-cal-h{padding:6px 8px;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--stone);background:var(--ivory);border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}
.tm-cal-d{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-height:86px;padding:6px 6px 8px;background:#fff;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font:inherit;color:var(--ink);text-align:left;cursor:pointer;min-width:0}
.tm-cal-d.out{background:#faf8f4;color:var(--stone)}
.tm-cal-d.unposted .tm-cal-n{color:#a8a39b}
.tm-cal-d.today{box-shadow:inset 0 0 0 2px var(--ember)}
.tm-cal-d.picked{background:#fbf6ef}
.tm-cal-n{font-family:var(--serif);font-size:1.1rem;line-height:1}
.tm-cal-me{font-size:.7rem;padding:1px 5px;background:var(--ember);color:#fff;white-space:nowrap}
.tm-cal-off{font-size:.66rem;padding:1px 5px;background:#f6ece0;color:#7a4a1e;white-space:nowrap}
.tm-cal-off.pending{background:none;border:1px dashed rgba(176,112,63,.6)}
.tm-cal-c{font-size:.66rem;color:var(--stone);white-space:nowrap}
.tm-detail{margin-top:14px;max-width:620px}

/* time off */
.tm-toform{display:grid;gap:12px;max-width:620px;padding:16px;background:#fff;border:1px solid var(--line)}
.tm-toform label{display:grid;gap:5px;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--stone)}
.tm-toform input[type=date],.tm-toform input[type=time],.tm-toform input[type=text]{font:inherit;font-size:1rem;letter-spacing:0;text-transform:none;padding:10px 12px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:2px;width:100%}
.tm-toform .tm-check{display:flex;align-items:center;gap:10px;font-size:.92rem;letter-spacing:0;text-transform:none;color:var(--ink)}
.tm-toform .tm-check input{width:18px;height:18px;accent-color:var(--ember)}
.tm-hint{letter-spacing:.04em;text-transform:none;font-size:.78rem}
.tm-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tm-toform .tm-btn{justify-self:start}
.tm-small2{margin:8px 0 14px;font-size:.82rem;color:var(--stone)}
.tm-reqs{list-style:none;display:grid;gap:8px;max-width:620px}
.tm-req{padding:12px 14px;background:#fff;border:1px solid var(--line)}
.tm-req.pending{border-left:3px solid var(--ember)}
.tm-req.denied{opacity:.8}
.tm-req-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px}
.tm-req-h b{font-family:var(--serif);font-weight:400;font-size:1.08rem}
.tm-req p{margin-top:4px;font-size:.86rem;color:#4a4e53}
.tm-req-note{font-style:italic}
.tm-pill{font-size:.56rem;letter-spacing:.2em;text-transform:uppercase;padding:3px 8px;border:1px solid var(--line);color:var(--stone)}
.tm-pill.pending{color:#9a5a1c;border-color:rgba(176,112,63,.45);background:#fbf3ea}
.tm-pill.approved{color:#2f6b3a;border-color:rgba(47,107,58,.35);background:#f1f7f0}
@media (max-width:600px){
  .tm-cal-d{min-height:66px;padding:4px 3px 6px}
  .tm-cal-me,.tm-cal-off{font-size:.6rem;padding:0 3px}
  .tm-cal-c{display:none}
  .tm-mrow{grid-template-columns:96px auto;}
  .tm-mrow span:last-child{grid-column:1/-1}
}
.tm-toform{grid-template-columns:minmax(0,1fr)}
.tm-toform label,.tm-row2 > *{min-width:0}
.tm-row2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.tm-toform input{min-width:0;max-width:100%}
.tm-toform input[type=date],.tm-toform input[type=time]{-webkit-appearance:none;appearance:none;min-height:44px}

/* names of who's working, in the month view */
.tm-cal-names{display:flex;flex-direction:column;gap:1px;width:100%;min-width:0;margin-top:2px}
.tm-cal-nm{font-size:.68rem;line-height:1.25;color:#3c4044;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tm-cal-nm.mine{color:var(--ember);font-weight:500}
.tm-cal-more{font-size:.62rem;color:var(--stone)}
.tm-cal-d .tm-cal-c{display:none}
@media (max-width:640px){.tm-cal-names{display:none}.tm-cal-d .tm-cal-c{display:inline}}

/* week columns open the day view */
.tm-dlink{cursor:pointer;transition:box-shadow .15s,border-color .15s}
.tm-dlink:hover,.tm-dlink:focus-visible{border-color:var(--ember);box-shadow:0 6px 18px rgba(15,18,21,.08);outline:none}
.tm-dgo{display:block;font-style:normal;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ember);margin-top:3px}

/* day view: horizontal timeline */
.tm-tl-sum{font-size:.85rem;color:#4a4e53;margin:0 0 10px}
.tm-tl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;background:#fff;border:1px solid var(--line)}
.tm-tl{--who:180px;position:relative;min-width:calc(var(--who) + var(--hours) * 64px)}
.tm-tl-ruler,.tm-tl-row{display:grid;grid-template-columns:var(--who) minmax(0,1fr)}
.tm-tl-ruler{background:var(--ivory,#f3eee5);border-bottom:1px solid var(--line)}
.tm-tl-who{position:sticky;left:0;z-index:3;background:#fff;padding:8px 12px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;min-width:0}
.tm-tl-ruler .tm-tl-who{background:var(--ivory,#f3eee5)}
.tm-tl-ruler .tm-tl-who span{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--stone)}
.tm-tl-who b{font-weight:500;font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tm-tl-who span{font-size:.72rem;color:var(--stone);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tm-tl-scale{position:relative;height:34px}
.tm-tl-tick{position:absolute;top:10px;transform:translateX(-50%);font-size:.66rem;color:#4a4e53;white-space:nowrap}
.tm-tl-tick:first-child{transform:none;margin-left:4px}
.tm-tl-tick:last-child{transform:translateX(-100%);margin-left:-4px}
.tm-tl-row{border-bottom:1px solid rgba(15,18,21,.06)}
.tm-tl-row:last-of-type{border-bottom:0}
.tm-tl-lane{position:relative;min-height:46px}
.tm-tl-bar{position:absolute;top:8px;bottom:8px;z-index:1;display:flex;align-items:center;min-width:6px;padding:0 9px;border-radius:3px;background:#2b3035;color:#f3eee5;font-size:.74rem;white-space:nowrap;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.12)}
.tm-tl-bar span{overflow:hidden;text-overflow:ellipsis}
.tm-tl-bar.approx{background:linear-gradient(to right,#2b3035 0,#2b3035 calc(100% - 46px),rgba(43,48,53,.25) 100%)}
.tm-tl-row.mine .tm-tl-who{box-shadow:inset 3px 0 0 var(--ember)}
.tm-tl-row.mine .tm-tl-who b{color:var(--ember)}
.tm-tl-row.mine .tm-tl-bar{background:var(--ember)}
.tm-tl-row.mine .tm-tl-bar.approx{background:linear-gradient(to right,var(--ember) 0,var(--ember) calc(100% - 46px),rgba(176,112,63,.25) 100%)}
.tm-tl-grid{position:absolute;top:0;bottom:0;left:var(--who);right:0;pointer-events:none}
.tm-tl-grid i{position:absolute;top:34px;bottom:0;width:1px;background:rgba(15,18,21,.07)}
.tm-tl-now{position:absolute;top:26px;bottom:0;width:2px;margin-left:-1px;background:#c0392b;z-index:2}
.tm-tl-now::before{content:'';position:absolute;top:-4px;left:-3px;width:8px;height:8px;border-radius:50%;background:#c0392b}
@media (max-width:640px){.tm-tl{--who:118px}.tm-tl-who{padding:6px 8px}.tm-tl-who b{font-size:.84rem}}

/* pages in the header */
.tm-brand{margin-right:0!important}
.tm-tabs{display:flex;gap:2px;margin-right:auto;margin-left:8px}
.tm-tabs a{color:rgba(243,238,229,.65);text-decoration:none;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;padding:8px 10px;border-bottom:1px solid transparent}
.tm-tabs a[aria-current="page"]{color:var(--ivory);border-bottom-color:var(--ember-hot)}
.tm-recipes{background:var(--paper);min-height:60vh}
@media (max-width:640px){.tm-bar{flex-wrap:wrap}.tm-tabs{order:5;width:100%;margin:4px 0 0}}
.tm-dlink .tm-dhead{flex-wrap:wrap;row-gap:2px}.tm-dlink .tm-dgo{flex-basis:100%;order:3}
