/* THE HUB HOME SCREEN (Chad 2026-11-03; the design is docs/design/HOME-SCREEN.md and docs/design/mockups/home*.html - match them).
   Grouped app icons on glass panels over the sunset photo. Every colour is a caprock.css variable (the few see-through blacks are the ones the spec names). This file is loaded before caprock.css, so every rule starts with body.homeBody. */
html:has(body.homeBody){background:#000}
body.homeBody{margin:0;background:transparent;color:#fff;font-family:var(--font-body);min-height:100vh;-webkit-text-size-adjust:100%}
body.homeBody a{color:#fff;text-decoration:none}body.homeBody a:hover{color:var(--ttu-light-gray)}
.hm{position:relative;z-index:0;box-sizing:border-box;min-height:100vh;padding:28px 48px 24px;display:flex;flex-direction:column;gap:22px}
.hmBg{position:fixed;inset:0;z-index:-1;background:#000 url(home-bg.webp) right center/cover no-repeat}
body.homeBody.arr .hmBg::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.55)}
/* the logo sits at the top RIGHT, level with the greeting and search (Chad 2026-11-05: "move the caprock logo to the top right and make it a little bigger") */
.hmLogo{display:flex;align-items:center;justify-content:flex-end;margin-left:auto;flex:none}.hmLogo img{height:68px;width:auto;display:block}
/* greeting + search */
.hmHero{display:flex;flex-wrap:wrap;align-items:center;gap:16px 48px}
.hmGreet{display:flex;flex-direction:column;gap:4px}
body.homeBody .hmGreet h1{margin:0;font:900 52px/1.05 var(--font-display);color:#fff;letter-spacing:0;text-transform:none}
.hmGreet #hDate{font-size:17px;color:var(--ttu-light-gray)}
body.homeBody .hSearch{position:relative;flex:1 1 420px;max-width:780px;height:60px;box-sizing:border-box;border-radius:999px;background:rgba(16,16,16,.78);border:1.5px solid rgba(255,255,255,.24);display:flex;align-items:center;gap:12px;padding:0 7px 0 22px;margin:0}
body.homeBody .hSearch>svg{width:20px;height:20px;flex:none;fill:none;stroke:var(--ttu-light-gray);stroke-width:2.4;stroke-linecap:round;position:static;transform:none}
body.homeBody .hSearch input{flex:1;min-width:0;width:auto;max-width:none;height:56px;border:0;outline:0;background:transparent;color:#fff;font:400 16px var(--font-body);padding:0 64px 0 0;border-radius:0;box-shadow:none}
body.homeBody .hSearch input::placeholder{color:var(--ttu-light-gray);opacity:.8}
body.homeBody .hSearch .aiOrb{right:7px}
body.homeBody .hRes{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:40;background:var(--white);color:var(--ink);border-radius:var(--radius-card);box-shadow:var(--shadow-popup);max-height:70vh;overflow:auto;text-align:left}
body.homeBody .hRes h4{margin:0;padding:12px 18px 4px;font:800 11px/14px var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
body.homeBody .hRes a{display:block;padding:10px 18px;color:var(--ink);border-top:1px solid var(--line);font-size:15.5px}body.homeBody .hRes a small{display:block;color:var(--muted);font-size:12.5px}
body.homeBody .hRes a:hover{background:var(--ink);color:var(--white)}body.homeBody .hRes a:hover small{color:var(--ttu-light-gray)}body.homeBody .hRes .none{padding:14px 18px;color:var(--muted)}
/* alerts (announcements, handbook to read, approvals ...) - slim glass rows, only when there is something to say */
#alerts:empty,#notifyBox:empty{display:none}
#alerts,#notifyBox{display:flex;flex-direction:column;gap:8px}
body.homeBody .alert{background:rgba(8,8,8,.62);border:1px solid rgba(255,255,255,.12);border-left:5px solid #fff;border-radius:14px;padding:10px 16px;font-size:14.5px;color:#fff;margin:0}
body.homeBody .alert.red{border-left-color:var(--caprock-red)}body.homeBody .alert.amber{border-left-color:var(--amber)}body.homeBody .alert a{color:#fff;text-decoration:underline}
body.homeBody .notifyCard{background:rgba(8,8,8,.62);border:1px solid rgba(255,255,255,.12);border-left:5px solid var(--caprock-red);border-radius:14px;margin:0}
#viewBanner{background:rgba(8,8,8,.62);border:1px solid rgba(255,255,255,.12);border-left:5px solid var(--amber);border-radius:14px;padding:10px 16px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}#viewBanner[hidden]{display:none}
/* the group panels */
.hmGroups{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,4fr) minmax(0,4fr);gap:20px;align-items:stretch}
.hmPanel{background:rgba(8,8,8,.62);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-card);padding:18px 16px 16px;display:flex;flex-direction:column;gap:14px;min-width:0;position:relative}
.hmGH{display:flex;align-items:center;gap:10px;font:800 12px/16px var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:#fff;min-height:20px}
.hmGH i{width:18px;height:4px;border-radius:2px;background:var(--caprock-red);display:block;flex:none}
.hmGH b{font-weight:800;color:var(--line-hard);letter-spacing:.04em}
.hmApps{display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));column-gap:12px;row-gap:22px;align-content:start}
/* an app: the icon and its name are ONE link */
body.homeBody .hTile{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;color:#fff;background:none;border:0;padding:0;cursor:pointer;min-width:0;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;user-select:none;transition:transform .15s}
body.homeBody a.hTile:hover,body.homeBody .hTile.folder:hover{color:#fff;transform:translateY(-2px)}
.hTile .ico{position:relative;display:block;width:60px;height:60px}
.hTile .ico>img{display:block;width:60px;height:60px;border-radius:14px;box-shadow:0 6px 14px rgba(0,0,0,.5);-webkit-user-drag:none;pointer-events:none}
body.homeBody .hTile b.lbl{font:700 12.5px/15px var(--font-display);text-align:center;min-height:30px;color:#fff;width:calc(100% + 12px);margin:0 -6px;overflow-wrap:normal;word-break:normal;text-transform:none;letter-spacing:-.01em}
.hTile .bdg{position:absolute;top:-7px;right:-9px;min-width:24px;height:24px;padding:0 6px;box-sizing:border-box;border-radius:999px;background:var(--caprock-red);border:2px solid #000;color:#fff;font:800 11px/20px var(--font-display);text-align:center;z-index:2}
.hTile .ico.folder{width:60px;height:60px;box-sizing:border-box;border-radius:14px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);padding:7px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;box-shadow:0 6px 14px rgba(0,0,0,.5)}
.hTile .ico.folder img{width:100%;height:100%;border-radius:6px;box-shadow:none}
/* the bottom row: Admin, this week, the home-screen buttons */
.hmBottom{display:flex;flex-wrap:wrap;gap:20px;align-items:stretch}
.hmBottom .hmPanel.adm{flex:0 0 auto;min-width:108px}.hmBottom .hmApps.one{display:flex;gap:12px}.hmBottom .hmApps.one>*{width:84px}.hmBottom .hmApps.one .lbl{min-height:15px}
.hmWeek{flex:1 1 430px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-content:center;gap:32px;padding:16px 22px}
.hmCap{font:800 11px/14px var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--line-hard)}
.hmWeek .col{display:flex;flex-direction:column;gap:10px;min-width:0}
.hmClosed{display:flex;align-items:center;gap:10px;font-size:14.5px;min-width:0}.hmClosed>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}          /* one line each, so the week card is the same height on every computer (the full words are in the hover text) */.hmClosed svg{width:20px;height:20px;flex:none;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.hmClosed svg .r{stroke:var(--caprock-red)}.hmClosed .d{color:var(--ttu-light-gray)}
.hmNone{font-size:14px;color:var(--ttu-light-gray)}
.wkRow7{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.wkc7{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0;border-radius:10px;border:1px solid rgba(255,255,255,.16);background:transparent;min-width:0;overflow:hidden}
.wkc7 .dn{font:800 10px/12px var(--font-display);letter-spacing:.08em;color:var(--ttu-light-gray);text-transform:uppercase}.wkc7 .dd{font:800 17px/20px var(--font-display);color:#fff}.wkc7 .nm{font-size:12px;color:var(--line-hard);max-width:100%;text-align:center;line-height:1.25;padding:0 2px}
.wkc7.today{border:1.5px solid #fff;background:rgba(255,255,255,.08)}.wkc7.we{opacity:.5}.wkc7.cl{border-color:var(--caprock-red)}.wkc7.cl .nm{color:#fff}.wkc7.out{background:rgba(255,255,255,.06)}.wkc7.out .nm{color:#fff;font-weight:500}
.hmHomeBtns{flex:0 0 250px;gap:10px;justify-content:center}
body.homeBody .cr-btn.hmGhost{height:40px;border-radius:999px;border:1.5px solid rgba(255,255,255,.7);background:transparent;color:#fff;font:800 13px/1 var(--font-display);display:flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;text-transform:none;letter-spacing:0;cursor:pointer}
body.homeBody .cr-btn.hmGhost:hover{background:#fff;color:var(--ink)}body.homeBody .cr-btn.hmGhost svg{flex:none;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
body.homeBody .cr-btn.hmGhost.small{height:36px;padding:0 14px;font-size:12.5px}
/* the footer line */
.hmFoot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;font-size:13.5px;color:var(--ttu-light-gray);margin-top:auto}
.hmFoot a{font-weight:700;text-decoration:underline}
.hmFoot .r{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}.hmFoot #buildTag{color:var(--line-hard)}.hmFoot #notifyFoot a{color:#fff}
.hmFoot b{color:#fff}

/* ---------- arranging ---------- */
.arrBar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-radius:var(--radius-card);background:#000;border:1px solid rgba(255,255,255,.14);border-bottom:4px solid var(--caprock-red)}.arrBar[hidden]{display:none}
.arrBar .l{display:flex;align-items:center;gap:14px;min-width:0}.arrBar .gi{width:44px;height:44px;border-radius:12px;background:var(--ttu-gray);display:flex;align-items:center;justify-content:center;flex:none}.arrBar .gi svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round}
.arrBar h1{margin:0;font:900 20px/1.2 var(--font-display);letter-spacing:.04em;color:#fff;text-transform:uppercase}.arrBar .hint{font-size:13.5px;color:var(--ttu-light-gray)}
.arrBar .btns{display:flex;flex-wrap:wrap;gap:8px}
body.homeBody .arrBar .cr-btn--red{height:40px;border:0;background:var(--caprock-red);color:#fff;padding:0 20px;font:800 13px/1 var(--font-display)}body.homeBody .arrBar .cr-btn--red:hover{background:#fff;color:var(--ink)}
.arrM{display:none}
body.homeBody.arr .hmPanel{background:rgba(8,8,8,.7);border-color:rgba(255,255,255,.14);padding:16px 16px 18px;gap:16px}
.hmGH.ed{gap:8px}
body.homeBody .ttl{width:170px;max-width:60%;background:transparent;border:0;border-bottom:1.5px dashed rgba(255,255,255,.45);color:#fff;font:800 13px/20px var(--font-display);letter-spacing:.12em;text-transform:uppercase;padding:2px 0;outline:0;border-radius:0;height:auto;box-shadow:none;min-width:0}
body.homeBody .ttl:focus{border-bottom-color:var(--caprock-red);border-bottom-style:solid}
.hmGH .pen{width:14px;height:14px;fill:none;stroke:var(--line-hard);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;flex:none}
.hmGH .sp{flex:1}
body.homeBody .icn{width:34px;height:34px;border-radius:50%;border:0;background:transparent;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;flex:none;min-width:0}
body.homeBody .icn:hover{background:rgba(255,255,255,.12)}.icn svg{width:16px;height:16px}.icn.grip{cursor:grab;touch-action:none}.icn.grip svg{fill:var(--line-hard)}.icn.dots svg{fill:#fff}
.gMenu{position:absolute;right:12px;top:48px;z-index:30;background:#fff;border-radius:14px;box-shadow:var(--shadow-popup);padding:6px;min-width:170px}
body.homeBody .gMenu button{display:flex;align-items:center;gap:10px;width:100%;height:44px;padding:0 14px;border:0;border-radius:10px;background:#fff;color:var(--ink);font:700 14px var(--font-body);cursor:pointer;text-align:left}
body.homeBody .gMenu button:hover{background:var(--field)}
body.homeBody .hTile.editing{cursor:grab;touch-action:pan-y}
body.homeBody .hTile.editing.hot{touch-action:none}
.hTile.editing .ico>img{pointer-events:none}
.hTile.editing .minus{position:absolute;top:-8px;left:-8px;width:24px;height:24px;border-radius:50%;border:2px solid #000;background:var(--ttu-gray);padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:3;min-width:0}
.hTile.editing .minus svg{width:10px;height:10px}.hTile.editing .minus:hover{background:var(--caprock-red)}
.hTile.dragging{opacity:.25}
.dragClone{position:fixed;z-index:3000;pointer-events:none;opacity:.95;transform:scale(1.08);filter:drop-shadow(0 8px 14px rgba(0,0,0,.6));margin:0}
.dragChip{position:fixed;z-index:3000;pointer-events:none;background:#000;border:1px solid rgba(255,255,255,.4);border-radius:12px;padding:10px 16px;font:800 12px/16px var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:#fff;box-shadow:var(--shadow-popup)}
.hTile.dropFolder .ico{outline:3px solid #fff;outline-offset:4px;border-radius:16px}
.hTile.dropBefore::before,.hTile.dropAfter::after{content:"";position:absolute;top:2px;height:60px;width:4px;border-radius:2px;background:var(--caprock-red)}.hTile.dropBefore::before{left:-8px}.hTile.dropAfter::after{right:-8px}
.hmPanel.dropEnd{outline:2px dashed var(--caprock-red);outline-offset:-4px}.hmPanel.dropBeforeG::before,.hmPanel.dropAfterG::after{content:"";position:absolute;top:0;bottom:0;width:4px;border-radius:2px;background:var(--caprock-red)}.hmPanel.dropBeforeG::before{left:-12px}.hmPanel.dropAfterG::after{right:-12px}
.dropSlot{display:flex;flex-direction:column;align-items:center;gap:8px}
.dropSlot .sq{width:60px;height:60px;box-sizing:border-box;border-radius:14px;border:1.5px dashed rgba(255,255,255,.45);display:flex;align-items:center;justify-content:center}.dropSlot .sq svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round}
.dropSlot span.t{font:700 12.5px/15px var(--font-display);color:var(--line-hard);min-height:30px}
.arr.dragging .hmApps .dropSlot.tail{display:flex}.dropSlot.tail{display:none}
.hmPanel.lock{gap:12px}.hmPanel.lock .hmGH svg{width:13px;height:13px;fill:none;stroke:var(--line-hard);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.hmPanel.lock .note{font-size:12.5px;color:var(--line-hard);text-align:center}
.hidTray{flex:1 1 360px;border:1.5px dashed rgba(255,255,255,.3);border-radius:var(--radius-card);padding:16px;display:flex;flex-direction:column;gap:12px;background:rgba(8,8,8,.7);min-width:0}
.hidTray.dropEnd{border-color:var(--caprock-red)}
.hidTray .empty{display:flex;align-items:center;gap:12px;font-size:14px;line-height:19px;color:var(--ttu-light-gray)}.hidTray .empty svg{width:24px;height:24px;flex:none;fill:none;stroke:var(--line-hard);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.hidTray .empty b{color:#fff}
.hidTray .hmApps{--cols:8}
.addG{flex:0 0 250px;min-height:120px;border:2px dashed rgba(255,255,255,.5);border-radius:var(--radius-card);background:transparent;color:#fff;font:800 14px var(--font-display);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer}
body.homeBody .addG:hover{background:rgba(255,255,255,.08)}.addG svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round}.addG[disabled]{opacity:.4;cursor:not-allowed}

/* a folder opened (a .cr-popup built by hand: black head with the name and the white close disc, gray body with a white card of apps) */
.fOv{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;padding:20px}
.fOv.dragOut{visibility:hidden}
.fOv .cr-popup{width:100%;max-width:460px;border:1px solid var(--line)}
.fOv .cr-popup-head{padding:12px 12px 12px 20px;justify-content:flex-start}
.fOv .fT{flex:1;min-width:0;display:flex;align-items:center;gap:8px}
.fOv .cr-popup-title{font:800 17px/1.2 var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:#fff;margin:0}
.fOv input.fName{flex:1;min-width:0;background:transparent;border:0;border-bottom:1.5px dashed rgba(255,255,255,.5);color:#fff;font:800 17px/1.2 var(--font-display);letter-spacing:.06em;text-transform:uppercase;padding:3px 0;outline:0;border-radius:0;height:auto;width:auto;box-shadow:none}.fOv input.fName:focus{border-bottom-color:var(--caprock-red);border-bottom-style:solid}
.fOv .cr-popup-body{padding:24px 20px 20px}
.fOv .fCard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 12px 14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:12px;row-gap:22px}
.fOv .hTile,.fOv a.hTile:hover{color:var(--ink)}.fOv .hTile b.lbl{color:var(--ink)}
body.homeBody .fOv .hTile.editing .minus{border-color:#fff}
.fOv .fHint{margin:0 4px;font-size:13px;line-height:18px;color:var(--muted)}
.fOv .cr-popup-foot{justify-content:space-between}
body.homeBody .fOv .cr-btn{text-transform:none}
@media(max-width:767px){.fOv{padding:0;align-items:stretch}.fOv .cr-popup{max-width:none;border-radius:0;border:0}.fOv .cr-popup-body{flex:1}}

/* ---------- a phone ---------- */
@media(max-width:767px){
  .hm{padding:22px 16px 28px;gap:22px}
  .hmBg{position:fixed;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,0) 45%,#000 100%) top/100% 488px no-repeat,url(home-bg-phone.webp) top/100% auto no-repeat,#000}
  body.homeBody.arr .hmBg{background:#000}body.homeBody.arr .hmBg::after{display:none}
  .hmLogo{order:-1;margin:0;justify-content:center;min-height:60px}.hmLogo img{height:60px}
  .hmHero{flex-direction:column;align-items:stretch;gap:18px}
  .hmGreet{align-items:center;gap:4px;margin-top:4px}body.homeBody .hmGreet h1{font-size:36px}.hmGreet #hDate{font-size:15px}
  body.homeBody .hSearch{flex:none;width:100%;max-width:none;height:56px;padding:0 6px 0 18px;gap:10px}body.homeBody .hSearch input{height:52px}
  .hmGroups{display:flex;flex-direction:column;gap:26px}
  .hmPanel{background:none;border:0;border-radius:0;padding:0;gap:14px}
  body.homeBody.arr .hmPanel{background:none;border:0;padding:0}
  .hmApps{--cols:4 !important}
  .hTile .ico,.hTile .ico>img,.hTile .ico.folder{width:62px;height:62px}body.homeBody .hTile b.lbl{font-size:12px}
  .hmBottom{flex-direction:column;gap:22px}.hmBottom .hmPanel.adm{background:none}
  .hmBottom .hmPanel.hmWeek{background:rgba(8,8,8,.66);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-card);padding:14px;display:flex;flex-direction:column;gap:14px;flex:none}
  .hmHomeBtns{flex:none;background:none;border:0;padding:0;gap:10px}
  body.homeBody .cr-btn.hmGhost{height:44px}
  .wkc7{padding:7px 0}.wkc7 .dn{font-size:9px;letter-spacing:.04em}.wkc7 .dd{font-size:16px}.wkc7 .nm{font-size:11px}
  .hmFoot{flex-direction:column;align-items:center;text-align:center;gap:10px;border-top:1px solid rgba(255,255,255,.12);padding-top:18px;font-size:13px;line-height:18px}.hmFoot .r{flex-direction:column;gap:10px}
  /* arranging on a phone: a slim bar (ARRANGE, Cancel, Save), full-width groups, Reset at the bottom */
  body.homeBody.arr .hm{padding:0 0 28px;gap:0}
  body.homeBody.arr .arrBar{position:sticky;top:0;z-index:60;border-radius:0;border:0;border-bottom:4px solid var(--caprock-red);padding:calc(12px + env(safe-area-inset-top,0px)) 12px 12px 16px;flex-direction:column;align-items:stretch;gap:6px;flex-wrap:nowrap}
  body.homeBody.arr .arrBar .gi,.arr .arrBar .hint.d{display:none}.arr .arrBar .l{display:block}.arr .arrBar h1{font-size:18px}
  .arrBar .btns{position:absolute;right:12px;top:calc(12px + env(safe-area-inset-top,0px))}.arrBar .btns .hmGhost.reset{display:none}
  .arrBar .l{padding-right:150px;min-height:40px}
  body.homeBody.arr .hmGroups{padding:18px 16px 0;gap:26px}
  body.homeBody.arr .hmBottom{padding:26px 16px 0;gap:18px}
  .arrM{display:block}
  .hmGH.ed .sp{display:none}body.homeBody .ttl{flex:1;max-width:none;width:auto}.hmGH .pen{display:none}
  body.homeBody .icn{width:44px;height:44px}.hmGH .icn.dots{margin-left:-8px}
  .hTile.editing .minus{left:2px}
  .hidTray{flex:none;border-radius:16px;padding:14px}.hidTray .hmApps{--cols:4}
  .addG{flex:none;height:52px;min-height:0;border-radius:999px;flex-direction:row}
  .hmPanel.lock{flex-direction:row;align-items:center;gap:8px;background:none;border:0;padding:0}.hmPanel.lock .hmApps,.hmPanel.lock .note.d{display:none}body.homeBody .hmPanel.lock .note.m{display:inline;text-align:left;font-size:12px}
  .resetM{display:flex;justify-content:center}.resetM button{background:transparent;border:0;color:var(--ttu-light-gray);font:800 13px var(--font-display);text-decoration:underline;height:44px;cursor:pointer}
}
.hmPanel.lock .note.m{display:none}.resetM{display:none}
@media(max-width:767px){.resetM{display:flex}}
@media(prefers-reduced-motion:reduce){body.homeBody .hTile{transition:none}}
/* a screen shorter than the 1280x760 design: the rows keep their size and the page scrolls */
@media(min-width:768px) and (max-width:1100px){.hmGroups{grid-template-columns:repeat(2,minmax(0,1fr))}.hm{padding:24px 28px}.hmHero{gap:14px 28px}}

.mob{display:none}@media(max-width:767px){.dsk{display:none}.mob{display:inline}}
.fOv .pen{width:14px;height:14px;fill:none;stroke:var(--line-hard);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;flex:none}
/* the page hides these with the hidden attribute (arranging replaces the greeting, search and footer with the arrange bar) - an author display rule must never win over it */
.hmLogo[hidden],.hmHero[hidden],.hmFoot[hidden],.hmGroups[hidden],#alerts[hidden],#notifyBox[hidden],.arrBar[hidden],#viewBanner[hidden]{display:none!important}
body.homeBody .hTile.editing .minus{box-sizing:border-box;width:24px;height:24px;min-width:24px;min-height:0;max-height:24px;line-height:0}
body.homeBody .addG{background:transparent}

/* ---------- THE HOME "COMING UP / THIS WEEK" PANEL (Chad 2026-11-08; docs/HOME-WEEK.md; hub/home-week.js) ---------- */
.hmBottom{flex-wrap:wrap}
.hmWeek2{order:1;flex:1 1 100%;display:grid;grid-template-columns:300px minmax(0,1fr);gap:28px;padding:22px 26px;height:306px;box-sizing:border-box;background:rgba(14,14,16,.72);border:1.5px solid rgba(255,255,255,.14);border-radius:22px}
.hmBottom .hmPanel.adm{order:2;flex:0 0 312px;box-sizing:border-box}.hmBottom .hmHomeBtns{order:3;flex:0 0 312px;box-sizing:border-box}
.hwLeft{display:flex;flex-direction:column;min-height:0;min-width:0}.hwRight{display:flex;flex-direction:column;gap:12px;min-width:0;min-height:0}
.hwLbl{font:800 12px/14px var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:#E2E4E6}.hwLeft .hwLbl{margin-bottom:8px}
.hwList{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}
.hwRow{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid rgba(255,255,255,.08);min-width:0}.hwRow svg{flex:none}
.hwRow b{font:700 14px var(--font-body);color:#fff;white-space:nowrap}.hwRow span{font:400 13.5px var(--font-body);color:#C9CDD1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.hwNone{margin:8px 0;font-size:14px;color:#9AA0A6}.hwFoot{margin-top:8px;font:500 12.5px var(--font-body);color:#9AA0A6}.hwLeft .hwFoot{margin-top:auto;padding-top:8px}
.hwHead{display:flex;justify-content:space-between;align-items:center;gap:12px}.hwHeadR{display:flex;align-items:center;gap:16px}
.hwLeg{display:flex;gap:14px;font:500 12px var(--font-body);color:#C9CDD1}.hwLeg span{display:flex;align-items:center;gap:6px}.hwLeg i,.hwCnt i,.hwMc i{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none}.hwLegM{display:none}
.hwMonthBtn{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 13px;border-radius:999px;border:1.5px solid rgba(255,255,255,.7);background:transparent;color:#fff;font:800 11.5px var(--font-display);letter-spacing:.04em;cursor:pointer;white-space:nowrap}.hwMonthBtn:hover{background:#fff;color:#000}.hwMonthBtn:hover svg{stroke:#000}.hwMonthBtn .mob{display:none}
.hwTiles{flex:1;display:flex;gap:8px;min-height:0}
.hwTile{flex:1 1 0;min-width:0;border:1.5px solid rgba(255,255,255,.16);background:rgba(255,255,255,.03);border-radius:14px;padding:9px 9px 10px;box-sizing:border-box;display:flex;flex-direction:column;gap:5px;cursor:pointer;color:#fff;overflow:hidden}
.hwTile:hover,.hwTile:focus-visible{background:rgba(255,255,255,.09);outline:none}.hwTile.today{border:2px solid #fff;background:rgba(255,255,255,.08)}
.hwT1{display:flex;align-items:center;justify-content:space-between;min-height:18px}.hwDow{font:800 11px var(--font-display);letter-spacing:.08em;color:#C9CDD1}.hwTile.today .hwDow{color:#fff}
.hwT2{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:3px}.hwNum{font:900 22px/24px var(--font-display);color:#fff}.hwHL{display:flex;flex-direction:column;align-items:flex-end;line-height:1.05}.hwHL b{font:700 13px var(--font-body);color:#fff}.hwHL small{font:500 11.5px var(--font-body);color:#9AA0A6}
.hwCnt{display:flex;align-items:center;gap:6px;font:500 12.5px var(--font-body);color:#6B7176}.hwCnt i{opacity:.35}.hwCnt.on{font:700 13px var(--font-body);color:#fff}.hwCnt.on i{opacity:1}
.hwRain{display:flex;align-items:center;gap:5px;font:500 12px var(--font-body);color:#C9CDD1}
.hwTags{margin-top:auto;display:flex;flex-direction:column;gap:4px;min-width:0}.hwTag{display:block;padding:4px 6px;border-radius:6px;background:rgba(255,255,255,.12);font:600 11px/14px var(--font-body);color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hwTag.hol{background:rgba(203,32,38,.28)}.hwTag.wxa{display:flex;align-items:center;gap:5px;background:transparent;border:1.5px solid rgba(255,255,255,.55);cursor:pointer;white-space:normal;overflow:visible;line-height:13px}.hwTag.wxa svg{flex:none}.hwTag.wxa span{min-width:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.hwTag.can{cursor:pointer}
.hwMore{font:600 11px var(--font-body);color:#C9CDD1}
/* month pop-up */
.hwPop{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:50;display:flex;align-items:center;justify-content:center;padding:16px}body.hwOpen{overflow:hidden}
.hwBox{width:min(1200px,100%);height:min(860px,100%);max-height:none;display:flex;flex-direction:column;overflow:hidden;position:relative}
.hwMH{display:flex;align-items:center;gap:10px;position:relative;z-index:10;overflow:visible}.hwBody,.hwLegend{position:relative;z-index:1}.hwMH .cr-popup-title{font-size:20px;margin-right:10px;white-space:nowrap}.hwSp{flex:1}
.hwNav,.hwTodayBtn{flex:none;height:36px;min-width:36px;border-radius:999px;border:1.5px solid rgba(255,255,255,.6);background:transparent;color:#fff;font:800 12px var(--font-display);cursor:pointer;padding:0 12px;display:inline-flex;align-items:center;justify-content:center}.hwNav:hover,.hwTodayBtn:hover{background:#fff;color:#000}.hwNav:hover svg{stroke:#000}.hwDots{font-size:18px;line-height:1}
.hwMenu{position:absolute;right:64px;top:54px;z-index:5;background:#fff;color:#000;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.35);padding:6px}.hwMenu button{display:block;width:100%;text-align:left;border:0;background:none;padding:10px 14px;font:700 14px var(--font-body);cursor:pointer;border-radius:10px}.hwMenu button:hover{background:var(--field)}
.hwLegend{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;background:#fff;color:var(--ink);border-bottom:1px solid var(--line);font:500 12.5px var(--font-body)}.hwLegend .hwLeg{color:var(--ink)}.hwLegend .sq{width:12px;height:12px;border-radius:3px}.hwLegend .sq.hol{background:rgba(203,32,38,.28)}.hwLegend .sq.ev{background:#D9DCDF}.hwLegR{color:var(--muted)}
.hwBody{flex:1;min-height:0;overflow:auto;background:var(--page,#E8EAEC);padding:14px}
.hwGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.hwDow2{font:800 11px var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:center;padding:2px 0 4px}
.hwMd{min-height:112px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px 7px;display:flex;flex-direction:column;gap:4px;cursor:pointer;color:var(--ink);min-width:0;overflow:hidden}.hwMd.blank{background:transparent;border:0;cursor:default}.hwMd:hover:not(.blank){border-color:var(--ink)}.hwMd.past{opacity:.5}.hwMd.today{border:2px solid var(--ink)}
.hwMn{display:flex;justify-content:space-between;align-items:center}.hwMn span{font:800 14px var(--font-display)}.hwMn em{font:800 9px var(--font-display);letter-spacing:.08em;font-style:normal;background:#000;color:#fff;border-radius:6px;padding:2px 6px}
.hwMcs{display:flex;gap:8px;flex-wrap:wrap}.hwMc{display:inline-flex;align-items:center;gap:4px;font:700 12px var(--font-body)}
.hwMd .hwTag{background:#E8EAEC;color:var(--ink);font-size:11px}.hwMd .hwTag.hol{background:rgba(203,32,38,.16)}.hwMd .hwTag.wxa,.hwPi .hwTag.wxa{background:#fff;border-color:var(--ink);color:var(--ink)}.hwMd .hwTag.wxa svg,.hwPi .hwTag.wxa svg{stroke:var(--ink)}
.hwMwx{margin-top:auto;display:flex;align-items:center;gap:5px;font:500 12px var(--font-body);color:var(--muted)}.hwMwx svg{stroke:var(--muted)}.hwMwx b{color:var(--ink)}
@media(max-width:1100px) and (min-width:768px){.hwMd{min-height:96px}.hwLegend{flex-direction:column;align-items:flex-start}}
@media(max-width:767px){
  .hmBottom{gap:22px}
  .hmBottom .hmPanel.adm{order:1}.hmWeek2{order:2;flex:none;width:100%;display:flex;flex-direction:column;height:auto;gap:14px;padding:14px;border-radius:var(--radius-card)}.hmBottom .hmHomeBtns{order:3}
  .hwRight{order:1}.hwLeft{order:2;border-top:1px solid rgba(255,255,255,.14);padding-top:14px}.hwList{max-height:none;overflow:visible}.hwLeft .hwFoot{margin-top:6px}
  .hwLegD{display:none}.hwLegM{display:flex;flex-wrap:wrap;gap:12px}.hwMonthBtn .dsk{display:none}.hwMonthBtn .mob{display:inline}
  .hwTiles{overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:6px;scrollbar-width:none;flex:none}.hwTiles::-webkit-scrollbar{display:none}.hwTile{flex:0 0 76px;min-height:176px;scroll-snap-align:start}.hwNum{font-size:20px}
  .hwFoot2{display:none}
  .hwPop{padding:0;align-items:stretch}.hwBox{width:100%;height:100%;border-radius:0}.hwLegend{flex-direction:column;align-items:flex-start;gap:6px}.hwLegR{display:none}.hwBody{padding:10px}
  .hwMH .cr-popup-title{font-size:14px;margin-right:0;letter-spacing:.02em}.hwMH{flex-wrap:nowrap;gap:6px}.hwMH .hwSp{display:none}.hwNav,.hwTodayBtn{height:32px;min-width:32px;padding:0 9px}.hwMH .hwDots{margin-left:auto}.hwDow{font-size:10px;letter-spacing:.04em}.hwT1 svg{width:15px;height:15px}.hwPr{color:var(--ink)}.hwPr{color:var(--ink);display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin:0 0 8px;cursor:pointer}.hwPr.today{border:2px solid var(--ink)}
  .hwPd{flex:none;width:44px;text-align:center}.hwPd b{display:block;font:800 11px var(--font-display);letter-spacing:.08em;color:var(--muted)}.hwPd span{font:900 22px/24px var(--font-display)}.hwPi{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.hwPi .hwTag{background:#E8EAEC;color:var(--ink)}.hwPi .hwTag.hol{background:rgba(203,32,38,.16)}.hwPr .hwMwx{margin:0}
}

.hwH{font:800 12px var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:14px 0 6px}.hwJob{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;padding:8px 0;border-top:1px solid var(--line)}.hwJob i{flex:none;width:10px;height:10px;border-radius:50%;align-self:center}.hwJob b{font-weight:700}.hwJob span{color:var(--muted);font-size:13px}
.hwNL{display:flex;flex-direction:column;gap:2px}
