:root{--bg:#f6f0f5;--panel:#fffafd;--panel2:#f1e8ef;--ink:#30272f;--muted:#786a75;--line:#eadde7;--accent:#9e668c;--accent2:#caa1bd;--good:#4d7b5a;--warn:#9a6a2c;--bad:#a75056;--shadow:0 12px 32px #5d425014}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-rounded,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:linear-gradient(145deg,#faf5f9,#f1e8ef);color:var(--ink)}button,input,select,textarea{font:inherit}.app{max-width:560px;margin:auto;min-height:100vh;padding:18px 14px 96px}.top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.ey{font-size:10px;letter-spacing:.16em;font-weight:900;color:var(--accent)}h1{font-size:28px;margin:3px 0 4px}.sync{font-size:12px;color:var(--good)}.avatar{width:44px;height:44px;border-radius:16px;background:linear-gradient(145deg,#d9b5cf,#ab789e);display:grid;place-items:center;color:white;font-weight:900;box-shadow:var(--shadow)}.page{display:none}.page.active{display:block}.card{background:#fffdfef2;border:1px solid var(--line);border-radius:22px;padding:15px;margin:11px 0;box-shadow:var(--shadow)}.card h2{font-size:17px;margin:0 0 10px}.card h3{font-size:14px;margin:12px 0 8px}.sub{font-size:12px;color:var(--muted);line-height:1.45}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tile{border:1px solid var(--line);background:var(--panel);border-radius:18px;padding:14px;text-align:left;min-height:92px;cursor:pointer}.tile .ico{font-size:24px;display:block}.tile b{display:block;margin-top:7px;font-size:13px}.tile span{font-size:11px;color:var(--muted)}.btn{border:1px solid var(--line);background:#fff;border-radius:13px;padding:9px 12px;color:var(--ink);cursor:pointer}.btn.primary{background:var(--accent);color:white;border-color:var(--accent)}.btn.good{background:#edf6ef;color:var(--good)}.btn.bad{background:#fff0f1;color:var(--bad)}.btn.sm{padding:6px 9px;font-size:12px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.row,.list-row{border-top:1px solid var(--line);padding:10px 0}.row:first-child,.list-row:first-child{border-top:0}.flex{display:flex;align-items:center;justify-content:space-between;gap:10px}.small{font-size:11px}.muted{color:var(--muted)}.pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;background:var(--panel2);padding:5px 8px;font-size:11px}.pill.good{background:#edf6ef;color:var(--good)}.pill.warn{background:#fff7e9;color:var(--warn)}.pill.bad{background:#fff0f1;color:var(--bad)}input[type=text],input[type=time],input[type=date],input[type=number],select,textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:white;padding:9px 10px;color:var(--ink)}textarea{min-height:76px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.roster-row,.assignment-row,.break-row{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:7px;align-items:center;padding:9px 0;border-top:1px solid var(--line)}.assignment-row{grid-template-columns:1fr 1fr}.break-row{grid-template-columns:1.2fr .8fr .8fr .55fr}.switchrow{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-top:1px solid var(--line)}.switchrow:first-child{border-top:0}.switchrow input{width:20px;height:20px}.status{padding:10px 12px;border-radius:14px;font-size:12px;background:#f3f8f4;color:var(--good);border:1px solid #ddebe0}.warning{padding:9px 11px;border-radius:13px;margin:6px 0;font-size:12px}.warning.warn{background:#fff7e9;color:var(--warn)}.warning.bad{background:#fff0f1;color:var(--bad)}nav{position:fixed;left:0;right:0;bottom:0;background:#fffdfef2;border-top:1px solid var(--line);backdrop-filter:blur(16px);z-index:20}.nav{max-width:560px;margin:auto;display:grid;grid-template-columns:repeat(5,1fr);padding:6px}.nav button{border:0;background:none;color:var(--muted);font-size:10px;padding:5px}.nav button span{display:block;font-size:20px}.nav button.on{color:var(--accent);font-weight:900}.hidden{display:none!important}.modal{position:fixed;inset:0;background:#2f24305c;display:none;align-items:flex-end;z-index:60}.modal.open{display:flex}.sheet{width:100%;max-width:560px;margin:auto;background:#fffafd;border-radius:26px 26px 0 0;max-height:90vh;overflow:auto;padding:18px 16px 30px}.sheethead{display:flex;justify-content:space-between;align-items:center;gap:10px}.close{border:0;background:#eee5ec;border-radius:50%;width:36px;height:36px}.toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%) translateY(20px);opacity:0;background:#30272f;color:white;border-radius:999px;padding:10px 14px;font-size:12px;transition:.2s;z-index:100;pointer-events:none}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.media-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px;border:1px solid var(--line)}.score{font-size:28px;font-weight:900}.gamebox{min-height:180px;border:1px dashed var(--accent2);border-radius:18px;padding:14px;background:#fff}.answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.answer{min-height:58px;border:1px solid var(--line);border-radius:14px;background:white;padding:10px;cursor:pointer}.leader{display:grid;grid-template-columns:auto 1fr auto;gap:8px;padding:8px 0;border-top:1px solid var(--line)}.rank{font-weight:900;color:var(--accent)}@media(max-width:420px){.roster-row{grid-template-columns:1fr 1fr}.roster-row .namecell{grid-column:1/-1}.break-row{grid-template-columns:1fr 1fr}.assignment-row{grid-template-columns:1fr}.formgrid{grid-template-columns:1fr}}

/* Monthly theme layer — accents only; core layout stays readable. */
body[data-theme="winter-glow"]{--a:#7b88a8;--a2:#dbe6f3;--panel2:#f5f8fc}
body[data-theme="valentine"]{--a:#b4567a;--a2:#f4d8e4;--panel2:#fff7fa}
body[data-theme="spring-green"]{--a:#6f8f79;--a2:#dfeadf;--panel2:#f7fbf6}
body[data-theme="spring-rain"]{--a:#7087a0;--a2:#dde8ef;--panel2:#f5f9fb}
body[data-theme="garden"]{--a:#8a718f;--a2:#eadff0;--panel2:#fbf7fc}
body[data-theme="summer"]{--a:#b27d58;--a2:#f5e6d6;--panel2:#fffaf4}
body[data-theme="fireworks"]{--a:#6e618e;--a2:#e5dff4;--panel2:#faf8ff}
body[data-theme="sunset"]{--a:#a96f69;--a2:#f1ddd9;--panel2:#fff8f6}
body[data-theme="back-to-school"]{--a:#7f6d8c;--a2:#e7e0ed;--panel2:#faf8fb}
body[data-theme="spooky"]{--a:#8b5b8f;--a2:#eadcf0;--panel2:#fbf7fc}
body[data-theme="autumn"]{--a:#8e6d55;--a2:#eadfd4;--panel2:#fbf8f4}
body[data-theme="winter-holiday"]{--a:#7c667f;--a2:#e8dfe9;--panel2:#fbf8fb}
body[data-theme="spooky"]::before{content:"🎃  ✦  👻  ✦  🕸️";position:fixed;right:18px;top:10px;opacity:.18;font-size:20px;pointer-events:none;z-index:0}
body[data-theme="winter-holiday"]::before{content:"❄️  ✦  ❄️";position:fixed;right:18px;top:10px;opacity:.2;font-size:20px;pointer-events:none;z-index:0}
body[data-theme="valentine"]::before{content:"♡  ✦  ♡";position:fixed;right:18px;top:10px;opacity:.2;font-size:20px;pointer-events:none;z-index:0}

/* 2.0.2 polish: Pharmacy Board-styled sheets, update picker, team actions */
.file-native{position:absolute;inline-size:1px!important;block-size:1px!important;opacity:0;pointer-events:none}.file-picker{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px dashed var(--accent2);background:linear-gradient(145deg,#fff,#f8eff6);border-radius:16px;padding:12px 14px;margin-top:12px;cursor:pointer}.file-picker span{font-weight:900;color:var(--accent)}.file-picker small{color:var(--muted);max-width:52%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pbmodal{backdrop-filter:blur(8px);background:rgba(43,29,42,.42)}.pbsheet{box-shadow:0 -24px 60px rgba(72,40,64,.24);border:1px solid rgba(255,255,255,.75);background:linear-gradient(180deg,#fffafd,#fbf4f9)}.pbfields{display:grid;gap:11px;margin-top:14px}.pbfield{display:grid;gap:6px}.pbfield>span{font-size:11px;color:var(--muted);font-weight:800;letter-spacing:.03em}.pbfield input,.pbfield select{background:#fff;border:1px solid #e7d7e3;box-shadow:inset 0 1px 0 #fff}.pbcheck{display:flex;gap:11px;align-items:flex-start;background:#f8eff6;border:1px solid var(--line);padding:11px;border-radius:15px}.pbcheck input{width:20px;height:20px;margin-top:2px}.pbcheck span{display:grid;gap:2px}.pbcheck small{font-size:11px;color:var(--muted)}.modal-actions{display:grid;grid-template-columns:1fr 1.2fr;gap:9px;margin-top:18px}.modal-confirm{min-height:46px;font-weight:900}.dangerfill{background:#a84f59!important;border-color:#a84f59!important;color:#fff!important}.team-person .actions{justify-content:flex-end}.pill.fixed{background:#f6e7bb;color:#765f20}.update-progress{animation:pulseSoft 1.2s ease-in-out infinite alternate}@keyframes pulseSoft{to{filter:brightness(.97);transform:translateY(-1px)}}

/* Monthly themes now change palette + display personality, not just a tint. */
body[data-theme="winter-glow"]{--accent:#6f7ea8;--accent2:#c7d6ee;background:radial-gradient(circle at 90% 3%,#eef5ff,transparent 35%),linear-gradient(145deg,#f8fbff,#edf2f8)}
body[data-theme="valentine"]{--accent:#b34f78;--accent2:#f0b8cf;background:radial-gradient(circle at 90% 3%,#ffe9f1,transparent 36%),linear-gradient(145deg,#fff8fb,#f7e4ed)}
body[data-theme="spring-green"]{--accent:#678b72;--accent2:#bcd9c3;background:radial-gradient(circle at 90% 3%,#eaf7ec,transparent 36%),linear-gradient(145deg,#fbfffb,#eef6ee)}
body[data-theme="spring-rain"]{--accent:#66839c;--accent2:#bfd6e5;background:radial-gradient(circle at 90% 3%,#e9f5fb,transparent 36%),linear-gradient(145deg,#fbfdff,#edf4f8)}
body[data-theme="garden"]{--accent:#9a658b;--accent2:#e2bad4;background:radial-gradient(circle at 90% 3%,#fbeaf4,transparent 36%),linear-gradient(145deg,#fffafd,#f3edf7)}
body[data-theme="summer"]{--accent:#b8764c;--accent2:#f1c49e;background:radial-gradient(circle at 90% 3%,#fff1d8,transparent 36%),linear-gradient(145deg,#fffdf8,#f8efe3)}
body[data-theme="fireworks"]{--accent:#665b9b;--accent2:#bdb4e9;background:radial-gradient(circle at 90% 3%,#efeaff,transparent 36%),linear-gradient(145deg,#faf9ff,#eeeaf8)}
body[data-theme="sunset"]{--accent:#b06570;--accent2:#efb6aa;background:radial-gradient(circle at 90% 3%,#ffe9dc,transparent 36%),linear-gradient(145deg,#fff9f6,#f7e8e5)}
body[data-theme="back-to-school"]{--accent:#6c6a94;--accent2:#c7c3df;background:radial-gradient(circle at 90% 3%,#f0eef9,transparent 36%),linear-gradient(145deg,#fbfbfe,#f1eff6)}
body[data-theme="spooky"]{--accent:#764477;--accent2:#d29f84;background:radial-gradient(circle at 90% 3%,#f0d9b9,transparent 34%),linear-gradient(145deg,#f8f0fa,#ece1ef)}
body[data-theme="autumn"]{--accent:#8d6246;--accent2:#d8b188;background:radial-gradient(circle at 90% 3%,#f3dfbf,transparent 36%),linear-gradient(145deg,#fbf6ef,#f0e5d8)}
body[data-theme="winter-holiday"]{--accent:#6f5d7b;--accent2:#b8cad2;background:radial-gradient(circle at 90% 3%,#e7f0f4,transparent 34%),linear-gradient(145deg,#fbf9fc,#eee8f0)}
body[data-theme="spooky"] .top h1,body[data-theme="autumn"] .top h1{font-family:Georgia,"Times New Roman",serif}body[data-theme="valentine"] .top h1,body[data-theme="garden"] .top h1{font-family:"Segoe Print","Comic Sans MS",cursive}body[data-theme="winter-holiday"] .top h1,body[data-theme="winter-glow"] .top h1{font-family:Georgia,serif}
/* 2.0.3 QR enrollment */
.invite-qr{margin-top:14px;padding:16px;border-radius:22px;background:linear-gradient(145deg,#fff,#f8edf5);border:1px solid var(--line);text-align:center}.invite-qr-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;text-align:left}.qr-frame{width:min(280px,82vw);aspect-ratio:1;margin:14px auto;background:#fff;border-radius:24px;padding:14px;box-shadow:0 16px 38px rgba(76,43,68,.16);border:1px solid #ead9e5}.qr-frame img{width:100%;height:100%;display:block}.invite-code{display:inline-block;font-size:24px;font-weight:950;letter-spacing:.16em;padding:8px 14px;border-radius:14px;background:#f2dfec;color:var(--accent);margin-bottom:8px}

/* 2.0.5 illustrated shared theme system */
.pbmulticheck{border:1px solid var(--line);border-radius:18px;padding:12px;margin:9px 0;background:linear-gradient(145deg,#fffdfd,#fff8fc)}
.pbmulticheck legend{font-weight:900;padding:0 6px}.checkgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:9px}.checkchip{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--line);border-radius:13px;background:#fff;font-size:13px;font-weight:750}.checkchip input{width:auto;margin:0}
body[data-theme]{position:relative}body[data-theme]::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:url('/assets/illustrated_board_pastel.png') center/cover no-repeat;opacity:.085;filter:saturate(.85) blur(.2px)}
body[data-theme="spooky"]::after{background-image:url('/assets/illustrated_board_spooky.png');opacity:.12;filter:saturate(.9) contrast(.95)}
body[data-theme] .card,body[data-theme] .sheet{backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);box-shadow:0 14px 34px color-mix(in srgb,var(--accent) 14%,transparent),inset 0 1px #fff8}
body[data-theme] .top{position:relative}body[data-theme] .top:after{content:"✦  ♡  ✦";position:absolute;right:4px;bottom:-8px;color:var(--accent);opacity:.18;font-size:22px;letter-spacing:.2em}
body[data-theme="spooky"] .top:after{content:"☾  🕸  ✦  🦇";opacity:.30}
@media(max-width:390px){.checkgrid{grid-template-columns:1fr}}


/* 2.0.6 — HEAVY ILLUSTRATED THEME PATCH
   The theme is scenery now, not an accent color. Operational content remains live/editable. */
body[data-theme]{
  --pb-glow:rgba(255,101,193,.34);
  --pb-deep:#2a1632;
  --pb-cream:#fff8ef;
  background-attachment:fixed!important;
}
body[data-theme]::after{opacity:.23!important;filter:saturate(1.12) contrast(1.03)!important;background-position:center top!important}
body[data-theme] .app{position:relative;z-index:1}
body[data-theme] .top{position:relative;min-height:126px;padding:20px 18px 18px;border-radius:28px;overflow:hidden;border:2px solid rgba(255,255,255,.7);box-shadow:0 18px 45px rgba(53,28,49,.20);background:linear-gradient(135deg,rgba(255,248,252,.91),rgba(244,221,239,.83));align-items:center}
body[data-theme] .top::before{content:"🐾";position:absolute;right:18px;bottom:-5px;font-size:76px;opacity:.10;transform:rotate(-14deg)}
body[data-theme] .top::after{content:"♡  ✦  ♡";position:absolute;right:70px;top:10px;font:700 20px/1 "Segoe Print","Comic Sans MS",cursive;color:var(--accent);opacity:.5}
body[data-theme] h1{font-family:"URW Chancery L","Segoe Print","Comic Sans MS",cursive;font-size:34px;line-height:1;letter-spacing:-.02em;color:var(--accent);text-shadow:0 2px 0 #fff,0 5px 18px var(--pb-glow)}
body[data-theme] .ey{font-family:"Trebuchet MS",sans-serif;letter-spacing:.20em}
body[data-theme] .avatar{width:58px;height:58px;border-radius:22px;font-size:21px;border:2px solid #fff;box-shadow:0 12px 24px rgba(80,35,68,.23)}
body[data-theme] .card{position:relative;overflow:hidden;border:2px solid rgba(255,255,255,.78);background:linear-gradient(155deg,rgba(255,253,254,.94),rgba(248,232,243,.90));box-shadow:0 16px 38px rgba(65,35,59,.15),inset 0 0 0 1px rgba(183,109,156,.12)}
body[data-theme] .card::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(125deg,rgba(255,255,255,.5),transparent 36%);opacity:.75}
body[data-theme] .card>*{position:relative;z-index:1}
body[data-theme] .card h2{font-family:"Segoe Print","Comic Sans MS",cursive;color:var(--accent);font-size:19px;text-shadow:0 1px #fff}
body[data-theme] .tile{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(250,232,244,.92));border:2px solid rgba(255,255,255,.85);box-shadow:0 10px 22px rgba(70,39,63,.10)}
body[data-theme] .tile::after{content:"✦";position:absolute;right:10px;top:7px;color:var(--accent);opacity:.28;font-size:18px}
body[data-theme] .pill{border:1px solid rgba(255,255,255,.65);box-shadow:inset 0 1px 0 #fff8}
body[data-theme] .sheet{background:linear-gradient(180deg,rgba(255,250,253,.98),rgba(245,227,240,.98));border:2px solid rgba(255,255,255,.8);box-shadow:0 -22px 55px rgba(53,27,49,.3)}
body[data-theme] nav{background:rgba(255,249,253,.90);box-shadow:0 -10px 30px rgba(72,39,64,.12)}

/* October / Spooky: intentionally theatrical and illustrated. */
body[data-theme="spooky"]{
  --accent:#ff77c8;--accent2:#ff9a62;--panel:#2a1739;--panel2:#3a2150;--ink:#fff5ff;--muted:#dcc4df;--line:#8d4c9d;--good:#82d897;--warn:#ffc66e;--bad:#ff8490;
  --pb-glow:rgba(255,81,188,.58);--pb-deep:#160d25;
  background:radial-gradient(circle at 76% 4%,rgba(255,156,62,.24),transparent 20%),linear-gradient(150deg,#160d25,#2b123c 55%,#421a3f)!important;
}
body[data-theme="spooky"]::after{background-image:linear-gradient(rgba(18,8,29,.18),rgba(18,8,29,.27)),url('/assets/illustrated_board_spooky.png')!important;opacity:.48!important;filter:saturate(1.28) contrast(1.08)!important}
body[data-theme="spooky"]::before{content:"🦇      ✦       🦇        ☾"!important;position:fixed!important;left:4%!important;right:auto!important;top:5px!important;font-size:24px!important;letter-spacing:18px;opacity:.55!important;color:#ffbb72;z-index:0!important}
body[data-theme="spooky"] .top{background:linear-gradient(120deg,rgba(31,14,49,.94),rgba(61,24,70,.90) 63%,rgba(86,35,59,.90));border-color:#b95fbd;box-shadow:0 0 0 2px rgba(255,128,207,.15),0 0 34px rgba(255,91,188,.26),0 18px 45px rgba(0,0,0,.32)}
body[data-theme="spooky"] .top::before{content:"🐈‍⬛";font-size:76px;right:13px;bottom:-3px;opacity:.96;filter:drop-shadow(0 7px 9px #0008)}
body[data-theme="spooky"] .top::after{content:"GOOD PEOPLE  •  SPOOKY SHIFTS  •  BRIGHTER TOMORROWS ♡";left:18px;right:88px;top:auto;bottom:12px;font:700 10px/1.2 "Trebuchet MS",sans-serif;letter-spacing:.11em;color:#ffc98f;opacity:.9}
body[data-theme="spooky"] h1{font-size:36px;color:#fff3fb;text-shadow:0 0 6px #fff,0 0 15px #ff5fc1,0 3px 0 #7f2d72}
body[data-theme="spooky"] .ey{color:#ffb36a}
body[data-theme="spooky"] .sync{color:#a9f0b6}
body[data-theme="spooky"] .avatar{background:linear-gradient(145deg,#ff7cbc,#9c4fc2);box-shadow:0 0 22px rgba(255,92,192,.45)}
body[data-theme="spooky"] .card{background:linear-gradient(155deg,rgba(35,17,52,.94),rgba(57,29,74,.91));border-color:#8f519f;box-shadow:0 0 0 2px rgba(255,132,208,.08),0 12px 30px rgba(7,3,12,.35),inset 0 0 30px rgba(255,91,185,.04)}
body[data-theme="spooky"] .card:nth-of-type(odd)::after{content:"🐾";position:absolute;right:12px;bottom:4px;font-size:34px;opacity:.08;transform:rotate(-16deg)}
body[data-theme="spooky"] .card h2{color:#fff4fb;text-shadow:0 0 10px rgba(255,95,193,.55);font-size:20px}
body[data-theme="spooky"] .tile{background:linear-gradient(145deg,rgba(47,23,66,.96),rgba(69,31,77,.94));border-color:#8b4c98;color:#fff7ff}
body[data-theme="spooky"] .tile span,body[data-theme="spooky"] .sub,body[data-theme="spooky"] .muted{color:#d7c0db}
body[data-theme="spooky"] .tile::after{content:"🦇";opacity:.35;font-size:16px}
body[data-theme="spooky"] input[type=text],body[data-theme="spooky"] input[type=time],body[data-theme="spooky"] input[type=date],body[data-theme="spooky"] input[type=number],body[data-theme="spooky"] select,body[data-theme="spooky"] textarea{background:#271633;color:#fff;border-color:#80508d}
body[data-theme="spooky"] .btn{background:#301a42;border-color:#814b90;color:#fff}
body[data-theme="spooky"] .btn.primary{background:linear-gradient(135deg,#d84f9e,#8a47b8);border-color:#e16ab1;box-shadow:0 0 15px rgba(226,78,165,.25)}
body[data-theme="spooky"] .sheet{background:linear-gradient(180deg,#251431,#321940);color:#fff;border-color:#8f519d}
body[data-theme="spooky"] nav{background:rgba(26,13,38,.94);border-color:#6f3f7c}.nav button{color:#bda9bf}body[data-theme="spooky"] .nav button.on{color:#ff80c9;text-shadow:0 0 10px rgba(255,86,187,.55)}
body[data-theme="spooky"] .status{background:#20342a;color:#aff0bc;border-color:#3f7350}
body[data-theme="spooky"] .file-picker,body[data-theme="spooky"] .pbcheck{background:#311a40;border-color:#7f4a8c;color:#fff}

/* Keep non-October themes richly illustrated too. */
body[data-theme="valentine"]::after,body[data-theme="garden"]::after,body[data-theme="sunset"]::after{opacity:.31!important}
body[data-theme="winter-glow"]::after,body[data-theme="spring-green"]::after,body[data-theme="spring-rain"]::after,body[data-theme="summer"]::after,body[data-theme="fireworks"]::after,body[data-theme="back-to-school"]::after,body[data-theme="autumn"]::after,body[data-theme="winter-holiday"]::after{opacity:.27!important}


/* 2.1.0 phone app: same dramatic illustrated monthly world as the wall. */
body[data-theme]{--monthScene:none;--monthEmoji:"🐾";background-image:linear-gradient(rgba(255,255,255,.62),rgba(255,255,255,.72)),var(--monthScene)!important;background-size:cover!important;background-position:center!important;background-attachment:fixed!important}
body[data-theme] .app{position:relative;z-index:1}
body[data-theme] .top{padding:14px;border-radius:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--panel) 84%,transparent),color-mix(in srgb,var(--panel2) 78%,transparent));border:2px solid color-mix(in srgb,var(--accent2) 50%,white);box-shadow:0 14px 34px rgba(73,37,65,.18);backdrop-filter:blur(9px)}
body[data-theme] h1,body[data-theme] .card h2,body[data-theme] .sheet h2{font-family:"URW Chancery L","Segoe Print","Comic Sans MS",cursive!important}
body[data-theme] h1{font-size:31px;text-shadow:0 2px 0 #fff8,0 0 15px color-mix(in srgb,var(--accent) 35%,transparent)}
body[data-theme] .card{background:linear-gradient(160deg,color-mix(in srgb,var(--panel) 88%,transparent),color-mix(in srgb,var(--panel2) 80%,transparent))!important;border:2px solid color-mix(in srgb,var(--accent2) 52%,white)!important;box-shadow:0 14px 34px rgba(72,34,62,.18),0 0 0 3px rgba(255,255,255,.18)!important;backdrop-filter:blur(9px)}
body[data-theme] .card:before{content:var(--monthEmoji);float:right;font-size:29px;opacity:.26;filter:drop-shadow(0 3px 4px rgba(55,25,48,.18))}
body[data-theme] .tile{background:linear-gradient(145deg,color-mix(in srgb,#fff 88%,transparent),color-mix(in srgb,var(--panel2) 74%,transparent));border:2px solid color-mix(in srgb,var(--accent2) 40%,white);box-shadow:0 7px 18px rgba(65,31,58,.10)}
body[data-theme] .btn.primary{background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 70%,var(--hot,#ff77b7)));box-shadow:0 6px 15px color-mix(in srgb,var(--accent) 22%,transparent)}
body[data-theme] nav{background:color-mix(in srgb,var(--panel) 78%,transparent);backdrop-filter:blur(18px);border-top:2px solid color-mix(in srgb,var(--accent2) 38%,white)}
body[data-theme] .sheet{background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 94%,transparent),color-mix(in srgb,var(--panel2) 90%,transparent));border-top:3px solid color-mix(in srgb,var(--accent2) 45%,white);backdrop-filter:blur(15px)}
body[data-theme="winter-glow"]{--monthScene:url('/assets/theme_winter-glow_scene.svg');--monthEmoji:"❄️ 🐾";--hot:#ff77b7}
body[data-theme="valentine"]{--monthScene:url('/assets/theme_valentine_scene.svg');--monthEmoji:"💗 🐾";--hot:#ff4f9a}
body[data-theme="spring-green"]{--monthScene:url('/assets/theme_spring-green_scene.svg');--monthEmoji:"🌷 🐾";--hot:#ef74ad}
body[data-theme="spring-rain"]{--monthScene:url('/assets/theme_spring-rain_scene.svg');--monthEmoji:"☂️ 🐾";--hot:#bc69d8}
body[data-theme="garden"]{--monthScene:url('/assets/theme_garden_scene.svg');--monthEmoji:"🌸 🐾";--hot:#f06fae}
body[data-theme="summer"]{--monthScene:url('/assets/theme_summer_scene.svg');--monthEmoji:"🍓 🐾";--hot:#ff7f8f}
body[data-theme="fireworks"]{--monthScene:url('/assets/theme_fireworks_scene.svg');--monthEmoji:"✨ 🐾";--hot:#ffd46e;color:#fff}
body[data-theme="sunset"]{--monthScene:url('/assets/theme_sunset_scene.svg');--monthEmoji:"🌺 🐾";--hot:#ff6e8e}
body[data-theme="back-to-school"]{--monthScene:url('/assets/theme_back-to-school_scene.svg');--monthEmoji:"📚 🐾";--hot:#db6fa8}
body[data-theme="spooky"]{--monthScene:url('/assets/theme_spooky_scene.svg');--monthEmoji:"🎃 🐾";--hot:#ff8b43}
body[data-theme="autumn"]{--monthScene:url('/assets/theme_autumn_scene.svg');--monthEmoji:"🍁 🐾";--hot:#e96f6f}
body[data-theme="winter-holiday"]{--monthScene:url('/assets/theme_winter-holiday_scene.svg');--monthEmoji:"🎀 🐾";--hot:#c5578a}
body[data-theme="fireworks"] .card,body[data-theme="spooky"] .card{color:#fff;background:linear-gradient(160deg,rgba(36,22,60,.90),rgba(65,30,73,.86))!important;border-color:color-mix(in srgb,var(--hot) 45%,white)!important}
body[data-theme="fireworks"] .tile,body[data-theme="spooky"] .tile{color:#fff;background:linear-gradient(145deg,rgba(51,31,74,.92),rgba(38,24,58,.88));border-color:rgba(255,255,255,.18)}
body[data-theme="fireworks"] .muted,body[data-theme="spooky"] .muted,body[data-theme="fireworks"] .sub,body[data-theme="spooky"] .sub{color:#e9dced}

/* 2.1.5 — Employee qualification editor: fully themed + station-synced UI */
.pbmulticheck{
  min-width:0;
  margin:10px 0 4px;
  padding:14px;
  border:2px solid color-mix(in srgb,var(--accent2) 42%,white);
  border-radius:20px;
  background:linear-gradient(155deg,color-mix(in srgb,var(--panel) 92%,transparent),color-mix(in srgb,var(--panel2) 86%,transparent));
  color:var(--ink);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 8px 22px rgba(55,28,49,.10);
}
.pbmulticheck legend{
  padding:0 8px;
  color:var(--ink);
  font-size:15px;
  font-weight:900;
  letter-spacing:.01em;
}
.pbmulticheck>.small{
  margin:2px 2px 11px;
  color:var(--muted)!important;
  line-height:1.35;
}
.pbmulticheck .checkgrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin:0;
}
.pbmulticheck .checkchip{
  min-width:0;
  min-height:48px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1.5px solid color-mix(in srgb,var(--accent2) 40%,white);
  border-radius:15px;
  background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 96%,white 4%),color-mix(in srgb,var(--panel2) 90%,transparent));
  color:var(--ink)!important;
  box-shadow:0 4px 12px rgba(62,31,55,.08),inset 0 1px 0 rgba(255,255,255,.45);
  font-size:14px;
  font-weight:800;
  line-height:1.2;
}
.pbmulticheck .checkchip span{color:var(--ink)!important;opacity:1!important;overflow-wrap:anywhere}
.pbmulticheck .checkchip input[type="checkbox"]{
  appearance:none;
  -webkit-appearance:none;
  flex:0 0 24px;
  width:24px!important;
  height:24px!important;
  margin:0!important;
  border:2px solid color-mix(in srgb,var(--accent) 62%,#777);
  border-radius:8px;
  background:color-mix(in srgb,var(--panel) 88%,white);
  display:grid;
  place-content:center;
}
.pbmulticheck .checkchip input[type="checkbox"]::before{
  content:"✓";
  color:white;
  font-size:17px;
  font-weight:1000;
  line-height:1;
  transform:scale(0);
  transition:transform .12s ease;
}
.pbmulticheck .checkchip input[type="checkbox"]:checked{
  background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 70%,var(--hot,#ff77b7)));
  border-color:color-mix(in srgb,var(--accent) 78%,white);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent);
}
.pbmulticheck .checkchip input[type="checkbox"]:checked::before{transform:scale(1)}
.pbmulticheck .checkchip:has(input:checked){
  border-color:color-mix(in srgb,var(--accent) 62%,white);
  background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 13%,var(--panel)),color-mix(in srgb,var(--panel2) 92%,transparent));
}
body[data-theme="spooky"] .pbmulticheck{
  background:linear-gradient(155deg,rgba(42,23,57,.96),rgba(58,33,80,.94));
  border-color:#9654a8;
  color:#fff5ff;
}
body[data-theme="spooky"] .pbmulticheck legend,
body[data-theme="spooky"] .pbmulticheck .checkchip,
body[data-theme="spooky"] .pbmulticheck .checkchip span{color:#fff5ff!important}
body[data-theme="spooky"] .pbmulticheck>.small{color:#dcc4df!important}
body[data-theme="spooky"] .pbmulticheck .checkchip{
  background:linear-gradient(145deg,#321b43,#251630);
  border-color:#7d468a;
}
body[data-theme="spooky"] .pbmulticheck .checkchip:has(input:checked){
  background:linear-gradient(145deg,#5a2659,#382047);
  border-color:#e467b7;
}
body[data-theme="fireworks"] .pbmulticheck,
body[data-theme="fireworks"] .pbmulticheck .checkchip{color:#fff}
body[data-theme="fireworks"] .pbmulticheck .checkchip span{color:#fff!important}
@media (max-width:430px){
  .pbmulticheck{padding:12px}
  .pbmulticheck .checkgrid{grid-template-columns:1fr;gap:8px}
  .pbmulticheck .checkchip{min-height:45px;padding:9px 11px}
}


/* 2.1.7 Live Trivia — high contrast, monthly-theme matched, phone-friendly. */
.live-trivia-alert{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;margin:10px 0 14px;padding:13px 14px;border-radius:20px;border:2px solid color-mix(in srgb,var(--accent) 48%,white);background:linear-gradient(135deg,color-mix(in srgb,var(--panel) 94%,white),color-mix(in srgb,var(--accent2) 20%,var(--panel)));box-shadow:0 10px 28px color-mix(in srgb,var(--accent) 22%,transparent);animation:pbLivePop .28s ease-out;color:var(--ink)}
.live-alert-icon{font-size:30px}.live-alert-copy{display:grid;gap:3px}.live-alert-copy b{font-size:14px;color:var(--ink)}.live-alert-copy span{font-size:11px;color:var(--muted)}.live-alert-actions{display:flex;gap:6px;align-items:center}.live-alert-actions .btn{white-space:nowrap}.pb-live-end{font-weight:900;border-width:2px!important}
@keyframes pbLivePop{from{transform:translateY(-8px) scale(.98);opacity:0}to{transform:none;opacity:1}}
body[data-theme] .live-trivia-alert{background:linear-gradient(135deg,color-mix(in srgb,var(--panel) 96%,transparent),color-mix(in srgb,var(--panel2) 91%,transparent));border-color:color-mix(in srgb,var(--accent2) 58%,white)}
body[data-theme="spooky"] .live-trivia-alert,body[data-theme="fireworks"] .live-trivia-alert{background:linear-gradient(135deg,rgba(39,20,55,.97),rgba(66,29,75,.95));color:#fff;border-color:color-mix(in srgb,var(--hot) 58%,white)}
body[data-theme="spooky"] .live-alert-copy b,body[data-theme="fireworks"] .live-alert-copy b{color:#fff}body[data-theme="spooky"] .live-alert-copy span,body[data-theme="fireworks"] .live-alert-copy span{color:#e8d8eb}

body[data-theme] .gamebox,body[data-theme] .gamebtn,body[data-theme] .subjectChip,body[data-theme] .liveChoice,body[data-theme] .answer,body[data-theme] .ttt button,body[data-theme] .mem{background:color-mix(in srgb,var(--panel) 95%,white 5%)!important;color:var(--ink)!important;border-color:color-mix(in srgb,var(--accent2) 55%,white)!important}
body[data-theme] .gamebox{border:2px solid color-mix(in srgb,var(--accent2) 48%,white)!important;box-shadow:0 12px 30px color-mix(in srgb,var(--accent) 13%,transparent)}
body[data-theme] .subjectChip{font-weight:800}.liveTriviaPhone{display:grid;gap:12px;padding:13px;border-radius:20px;background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 96%,white),color-mix(in srgb,var(--panel2) 88%,transparent));border:2px solid color-mix(in srgb,var(--accent2) 52%,white);color:var(--ink)}
.liveTriviaPhone .liveQuestion{font-size:22px;line-height:1.25;font-weight:950;color:var(--ink);padding:12px 13px;border-radius:15px;background:color-mix(in srgb,var(--panel) 93%,var(--accent2) 7%);border:1px solid color-mix(in srgb,var(--accent2) 45%,white)}
.liveTriviaPhone .liveAns{gap:10px}.liveTriviaPhone .liveChoice{min-height:76px!important;font-size:16px!important;font-weight:900!important;text-align:left!important;padding:13px 14px!important;border:2px solid color-mix(in srgb,var(--accent2) 60%,white)!important;border-radius:16px!important;box-shadow:0 5px 14px color-mix(in srgb,var(--accent) 10%,transparent)}
.liveTriviaPhone .liveChoice:disabled{opacity:.62}.liveTriviaPhone .pill{font-size:13px;font-weight:900}.liveTriviaPhone .subjectSummary{color:var(--muted)!important}
body[data-theme="spooky"] .gamebox,body[data-theme="spooky"] .gamebtn,body[data-theme="spooky"] .subjectChip,body[data-theme="spooky"] .liveChoice,body[data-theme="spooky"] .answer,body[data-theme="fireworks"] .gamebox,body[data-theme="fireworks"] .gamebtn,body[data-theme="fireworks"] .subjectChip,body[data-theme="fireworks"] .liveChoice,body[data-theme="fireworks"] .answer{background:#2b1739!important;color:#fff!important;border-color:#91539f!important}
body[data-theme="spooky"] .liveTriviaPhone,body[data-theme="fireworks"] .liveTriviaPhone{background:linear-gradient(145deg,#251431,#3b1d4b);color:#fff;border-color:color-mix(in srgb,var(--hot) 52%,white)}
body[data-theme="spooky"] .liveTriviaPhone .liveQuestion,body[data-theme="fireworks"] .liveTriviaPhone .liveQuestion{background:#341a43;color:#fff;border-color:#8b4d98}.liveTriviaPhone .status{font-size:13px;font-weight:800}
@media(max-width:430px){.live-trivia-alert{grid-template-columns:auto 1fr}.live-alert-actions{grid-column:1/-1}.live-alert-actions .btn{flex:1}.liveTriviaPhone .liveAns{grid-template-columns:1fr}.liveTriviaPhone .liveChoice{min-height:62px!important}}


/* 2.1.8 contrast-safe illustrated theme layer */
:root{
  --surface:#fffafd;--surface-2:#f5edf3;--surface-ink:#2d2430;--surface-muted:#6f6170;
  --field-bg:#fff;--field-ink:#2d2430;--field-border:#d9c4d3;
  --chip-bg:#f7edf4;--chip-ink:#332634;--theme-line:rgba(112,73,101,.28);
}
body[data-theme="spooky"],body[data-theme="fireworks"]{
  --surface:#24172f;--surface-2:#352043;--surface-ink:#fff8ff;--surface-muted:#e7d7eb;
  --field-bg:#2f1c3c;--field-ink:#fff8ff;--field-border:#b88ac7;--chip-bg:#382448;--chip-ink:#fff8ff;--theme-line:rgba(237,181,255,.38)
}
body[data-theme="valentine"],body[data-theme="garden"],body[data-theme="sunset"]{
  --surface:#fff7fb;--surface-2:#fce8f2;--surface-ink:#47283b;--surface-muted:#74576a;
  --field-bg:#fffafd;--field-ink:#3b2735;--field-border:#dbaec5;--chip-bg:#f9dfeb;--chip-ink:#4b2d3d
}
body[data-theme="winter-glow"],body[data-theme="spring-rain"],body[data-theme="winter-holiday"]{
  --surface:#f8fbff;--surface-2:#eaf1f8;--surface-ink:#263244;--surface-muted:#58677a;
  --field-bg:#fff;--field-ink:#243142;--field-border:#b9c9d8;--chip-bg:#e6eef7;--chip-ink:#29374b
}
body[data-theme="spring-green"],body[data-theme="summer"],body[data-theme="autumn"],body[data-theme="back-to-school"]{
  --surface:#fffaf5;--surface-2:#f5ece2;--surface-ink:#332b27;--surface-muted:#6a5c54;
  --field-bg:#fffdf9;--field-ink:#302925;--field-border:#d8c6b7;--chip-bg:#f1e5d9;--chip-ink:#392e28
}
.card,.sheet,.pbsheet,.brsheet,.gamebox{color:var(--surface-ink)}
.sheet,.pbsheet,.brsheet{background:var(--surface)!important}
.card{color:var(--surface-ink)}
.card .sub,.card .muted,.sheet .muted,.pbsheet .muted,.brsheet .muted,.subjectSummary{color:var(--surface-muted)!important}
input[type=text],input[type=time],input[type=date],input[type=number],select,textarea,.pbfield input,.pbfield select{
  background:var(--field-bg)!important;color:var(--field-ink)!important;border-color:var(--field-border)!important
}
input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--field-ink) 58%,transparent)}
.pbmulticheck{background:var(--surface-2)!important;border:1px solid var(--field-border)!important;border-radius:18px;padding:14px;color:var(--surface-ink)!important}
.pbmulticheck legend{padding:0 8px;font-weight:950;color:var(--surface-ink)!important}
.pbmulticheck .checkgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:11px}
.pbmulticheck .checkchip{display:flex;align-items:center;gap:10px;min-height:50px;padding:10px 12px;border:1px solid var(--field-border)!important;border-radius:14px;background:var(--chip-bg)!important;color:var(--chip-ink)!important;font-weight:800}
.pbmulticheck .checkchip span{color:var(--chip-ink)!important}
.pbmulticheck .checkchip:has(input:checked){outline:2px solid var(--accent);background:color-mix(in srgb,var(--accent) 16%,var(--chip-bg))!important}
.pbmulticheck input[type=checkbox]{width:21px;height:21px;accent-color:var(--accent)}
@media(max-width:460px){.pbmulticheck .checkgrid{grid-template-columns:1fr}}
.btn,.gamebtn,.answer,.subjectChip{color:var(--surface-ink)}
.btn:not(.primary):not(.bad):not(.good),.gamebtn,.answer,.subjectChip{background:var(--surface)!important;border-color:var(--field-border)!important}
.btn.primary{color:#fff!important}

/* illustrated surfaces: patterns are drawn SVG/CSS, not emoji decorations */
body[data-theme]::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.22;background-size:140px 140px;background-repeat:repeat}
body[data-theme="valentine"]::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cpath d='M32 46C16 28 2 54 18 68l14 13 14-13c16-14 2-40-14-22Z' fill='%23e49ab9'/%3E%3Cpath d='M92 18c8 0 16 8 16 16s-8 16-16 16-16-8-16-16 8-16 16-16Zm0 5c-6 0-11 5-11 11s5 11 11 11 11-5 11-11-5-11-11-11Z' fill='%23c96e99'/%3E%3C/svg%3E")}
body[data-theme="spooky"]::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cpath d='M14 32 30 18l7 15 15-9 5 18-16 9-4 20-17-8-12 13 1-23-14-9 19-12Z' fill='%23f39556'/%3E%3Cpath d='M88 72c0-17 14-31 31-31 8 0 15 3 21 8-13 1-23 12-23 25 0 12 8 22 20 25-5 3-11 5-18 5-17 0-31-14-31-32Z' fill='%23bd7ad2'/%3E%3C/svg%3E")}
body[data-theme="winter-glow"]::after,body[data-theme="winter-holiday"]::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cg stroke='%2388a9ca' stroke-width='3' fill='none'%3E%3Cpath d='M35 15v40M15 35h40M21 21l28 28M49 21 21 49'/%3E%3Cpath d='M100 75v40M80 95h40M86 81l28 28M114 81l-28 28'/%3E%3C/g%3E%3C/svg%3E")}
body[data-theme="spring-green"]::after,body[data-theme="garden"]::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cg fill='%238fc59e'%3E%3Cellipse cx='36' cy='35' rx='8' ry='18' transform='rotate(-35 36 35)'/%3E%3Cellipse cx='51' cy='51' rx='8' ry='18' transform='rotate(40 51 51)'/%3E%3Cellipse cx='103' cy='92' rx='8' ry='18' transform='rotate(-35 103 92)'/%3E%3Cellipse cx='118' cy='108' rx='8' ry='18' transform='rotate(40 118 108)'/%3E%3C/g%3E%3C/svg%3E")}
body[data-theme="summer"]::after,body[data-theme="sunset"]::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cg fill='none' stroke='%23dfa06e' stroke-width='4'%3E%3Ccircle cx='35' cy='35' r='13'/%3E%3Cpath d='M35 8v12M35 50v12M8 35h12M50 35h12M16 16l9 9M45 45l9 9M54 16l-9 9M25 45l-9 9'/%3E%3C/g%3E%3C/svg%3E")}
body[data-theme="autumn"]::after,body[data-theme="back-to-school"]::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cpath d='M32 20c16 8 20 24 7 38-9 9-21 6-28 1 14-2 20-10 21-39Z' fill='%23c68c63'/%3E%3Cpath d='M98 79c16 8 20 24 7 38-9 9-21 6-28 1 14-2 20-10 21-39Z' fill='%23aa6f55'/%3E%3C/svg%3E")}
body[data-theme="fireworks"]::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cg stroke='%23d5b5ff' stroke-width='3'%3E%3Cpath d='M36 36 36 8M36 36 57 15M36 36 64 36M36 36 57 57M36 36 36 64M36 36 15 57M36 36 8 36M36 36 15 15'/%3E%3C/g%3E%3C/svg%3E")}


/* 2.1.9 roster interaction hardening */
.roster-row{position:relative;z-index:2;isolation:isolate}
.roster-row input,.roster-row select{position:relative;z-index:3;pointer-events:auto!important;opacity:1}
.roster-row input:disabled,.roster-row select:disabled{opacity:.55;pointer-events:none!important}
#rosterRows{position:relative;z-index:2}

/* 2.1.10 — independent Schedule workspaces + unsaved-state protection */
.pb-schedule-shell{position:sticky;top:8px;z-index:20;padding:10px 12px!important}
.pb-schedule-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}
.pb-schedule-tabs .btn{width:100%;min-height:42px}
#pbScheduleShared .formgrid{margin:0}
#saveRoster.pb-unsaved,#saveAssignments.pb-unsaved{box-shadow:0 0 0 3px rgba(116,60,103,.18);font-weight:900}
#saveRoster.pb-unsaved::after,#saveAssignments.pb-unsaved::after{content:' • Unsaved'}
@media(max-width:520px){.pb-schedule-tabs{gap:5px}.pb-schedule-tabs .btn{padding-left:6px;padding-right:6px;font-size:12px}}

.creator-system-card .remote-url{display:block;margin:8px 0 10px;padding:10px 12px;border-radius:14px;background:var(--surface,#fff);color:var(--text,#32232d);font-weight:800;word-break:break-all;border:1px solid var(--line,#e7d9e2)}

/* 2.1.12 Creator Wi-Fi manager */
.creator-system-card .network-panel{margin-top:12px;padding:12px;border:1px solid var(--line,#e7d9e2);border-radius:18px;background:color-mix(in srgb,var(--surface,#fff) 90%,transparent);color:var(--text,var(--ink,#32232d))}
.creator-system-card .wifi-results{display:grid;gap:7px;margin:9px 0}
.creator-system-card .wifi-heading{margin:8px 2px 2px}
.creator-system-card .wifi-choice{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;border:1px solid var(--line,#e7d9e2);border-radius:13px;padding:10px 11px;background:var(--surface,#fff);color:var(--text,var(--ink,#32232d));cursor:pointer}
.creator-system-card .wifi-choice span:first-child{min-width:0}.creator-system-card .wifi-choice b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.creator-system-card .wifi-choice small{display:block;color:var(--muted,#756570);margin-top:2px}
.creator-system-card .wifi-manual{display:grid;gap:7px;margin:10px 0}.creator-system-card .wifi-manual input{background:var(--surface,#fff);color:var(--text,var(--ink,#32232d));border-color:var(--line,#e7d9e2)}
.creator-system-card .wifi-empty{padding:8px 2px}


/* 2.2.4 — compact Creator settings accordions */
#settings .pb-collapsible-card{padding:0!important;overflow:hidden}
#settings .pb-collapse-head{width:100%;min-height:62px;padding:15px 18px;border:0;background:transparent;color:inherit;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer}
#settings .pb-collapse-title{font-size:20px;font-weight:950;line-height:1.15}
#settings .pb-collapse-chevron{font-size:24px;line-height:1;transition:transform .18s ease;opacity:.8}
#settings .pb-open .pb-collapse-chevron{transform:rotate(180deg)}
#settings .pb-collapse-body{padding:0 18px 18px}
#settings .pb-collapse-body>.sub:first-child{margin-top:-5px}
#settings .pb-collapsible-card:not(.pb-open){margin-bottom:10px}

/* 2.2.4 — Quick Shift Entry */
.pb-quick-shift{margin:10px 0 16px;padding:14px;border:1px solid var(--field-border,#d9c4d3);border-radius:20px;background:color-mix(in srgb,var(--surface,#fff) 92%,var(--accent,#e777ae) 8%)}
.pb-quick-shift-head{margin-bottom:10px}.pb-quick-shift-head b{font-size:18px}
.pb-quick-shift-grid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(105px,.75fr));gap:8px}
.pb-quick-shift-grid label{display:grid;gap:5px}.pb-quick-shift-grid label>span{font-size:12px;font-weight:850;color:var(--surface-muted,#6f6170)}
.pb-quick-shift-grid input,.pb-quick-shift-grid select{width:100%;min-height:46px}
.pb-shift-presets{display:flex;gap:6px;overflow-x:auto;padding:10px 0 4px;scrollbar-width:none}.pb-shift-presets::-webkit-scrollbar{display:none}.pb-shift-presets .btn{flex:0 0 auto;min-width:58px}
.pb-quick-actions{margin-top:8px}.pb-quick-actions .btn.primary{flex:1}
@media(max-width:520px){.pb-quick-shift-grid{grid-template-columns:1fr 1fr}.pb-quick-shift-grid label:first-child{grid-column:1/-1}.pb-quick-actions{display:grid;grid-template-columns:1fr}.pb-quick-actions .btn{width:100%}}

.errorLogItem{padding:0!important;overflow:hidden}
.errorLogToggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;background:transparent;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer}
.errorLogToggle>span:first-child{min-width:0}
.errorLogToggle .small{display:block;margin-top:4px}
.errorChevron{font-size:22px;line-height:1;flex:0 0 auto}
.errorLogDetails{padding:0 0 14px}
.errorMessage{font-size:16px;line-height:1.35;margin-bottom:8px}
.errorContext{overflow-wrap:anywhere;margin-bottom:8px}

.employeeApp{max-width:720px;margin:0 auto;padding:20px 16px 48px}
.employeeHero{padding:12px 4px 18px}
.employeeHero h1{margin:4px 0 6px}
.employeeCard{background:var(--card,#fffaf8);border:1px solid rgba(90,60,70,.12);border-radius:22px;padding:18px;margin:14px 0}
.employeeCard h2{margin:0 0 12px}
.employeeCard label{display:block;font-weight:700;margin:12px 0 6px}
.employeeCard input[type="date"],.employeeCard input[type="time"],.employeeCard textarea{width:100%;box-sizing:border-box;font:inherit;padding:13px 14px;border:1px solid rgba(80,60,70,.25);border-radius:14px;background:white;color:#222}
.timeGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.checkRow{display:flex!important;align-items:center;gap:10px}
.myShiftRow{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid rgba(80,60,70,.1)}
.employeeToast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#222;color:white;padding:11px 16px;border-radius:999px;z-index:99999}
@media(max-width:480px){.timeGrid{grid-template-columns:1fr}.myShiftRow{align-items:flex-start;flex-direction:column;gap:3px}}


/* 2.2.32 — illustrated retro game shelf */
.retroLibraryCard{overflow:hidden}
.retroLibraryHero{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.retroAdminGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.retroAdminGameCard{min-width:0}
.retroCoverButton{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left;cursor:pointer;border-radius:22px}
.retroCoverButton:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.retroCoverArt{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:4/5;border-radius:22px;padding:15px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;border:1px solid #ffffff55;box-shadow:0 12px 28px #51364920;transition:transform .16s ease,box-shadow .16s ease}
.retroCoverButton:active .retroCoverArt{transform:scale(.975)}
.retroCoverArt:before,.retroCoverArt:after{content:"";position:absolute;z-index:-1;pointer-events:none}
.retroCoverArt:before{width:150px;height:150px;border-radius:32px;right:-44px;top:-44px;transform:rotate(24deg);background:#ffffff25;border:2px solid #ffffff2e}
.retroCoverArt:after{left:-18%;right:-18%;height:42%;bottom:-18%;transform:rotate(-8deg);background:#00000022;border-top:2px solid #ffffff22}
.retro-nes .retroCoverArt{background:linear-gradient(145deg,#c83942 0%,#762d3d 56%,#272334 100%)}
.retro-gb .retroCoverArt{background:linear-gradient(145deg,#6f7c62 0%,#3f5c4c 50%,#232c2a 100%)}
.retro-gbc .retroCoverArt{background:linear-gradient(145deg,#805fd2 0%,#ce5eb4 52%,#34284e 100%)}
.retro-gba .retroCoverArt{background:linear-gradient(145deg,#5b63cc 0%,#7c56a8 52%,#272442 100%)}
.retro-n64 .retroCoverArt{background:linear-gradient(145deg,#2f67b1 0%,#5845a1 45%,#be4f83 100%)}
.retroPixelStars{position:absolute;top:12px;left:14px;font-size:19px;letter-spacing:5px;opacity:.8}
.retroConsoleMark{position:absolute;top:13px;right:14px;min-width:38px;height:38px;padding:0 9px;border-radius:12px;display:grid;place-items:center;background:#ffffff22;border:1px solid #ffffff55;font-weight:950;font-size:12px;backdrop-filter:blur(5px)}
.retroCoverInitials{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%) rotate(-7deg);font-size:clamp(42px,12vw,72px);font-weight:1000;letter-spacing:-4px;text-shadow:0 7px 0 #0002;opacity:.92}
.retroCoverTitle{position:relative;font-weight:1000;font-size:18px;line-height:1.05;text-shadow:0 2px 10px #0008;max-width:95%}
.retroCoverSystem{position:relative;margin-top:5px;font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;opacity:.9}
.retroTapHint{position:absolute;right:11px;bottom:11px;font-size:9px;font-weight:900;padding:5px 7px;border-radius:999px;background:#ffffff20;border:1px solid #ffffff45;backdrop-filter:blur(5px)}
.retroCardMeta{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:9px 3px 3px}
.retroCardMeta>div{min-width:0}
.retroCardMeta b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.retroCardMeta .small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.retroRemoveBtn{flex:0 0 auto;width:38px;height:38px;border-radius:999px;border:1px solid var(--field-border);background:var(--field-bg);color:var(--surface-ink);font-weight:950}
@media(max-width:390px){.retroAdminGrid{gap:10px}.retroCoverArt{border-radius:18px;padding:12px}.retroCoverTitle{font-size:16px}.retroTapHint{display:none}}


/* 2.2.37 — dramatic full-art monthly themes. No tiny emoji decoration. */
body[data-theme]{background-image:linear-gradient(rgba(255,255,255,.36),rgba(255,255,255,.52)),var(--monthScene)!important;background-size:cover!important;background-position:center!important;}
body[data-theme] .card:before{content:""!important;display:none!important}
body[data-theme]::after{content:""!important;background-image:none!important}
body[data-theme] .top{background:linear-gradient(135deg,color-mix(in srgb,var(--panel) 74%,transparent),color-mix(in srgb,var(--panel2) 66%,transparent));backdrop-filter:blur(13px) saturate(1.25);}
body[data-theme] .card{background:linear-gradient(160deg,color-mix(in srgb,var(--panel) 80%,transparent),color-mix(in srgb,var(--panel2) 70%,transparent))!important;backdrop-filter:blur(13px) saturate(1.15);border-width:2px!important}
body[data-theme] .tile{background:linear-gradient(145deg,rgba(255,255,255,.82),color-mix(in srgb,var(--panel2) 66%,transparent))!important}
body[data-theme="fireworks"]{background-image:linear-gradient(rgba(17,10,42,.22),rgba(17,10,42,.35)),var(--monthScene)!important}
body[data-theme="spooky"]{background-image:linear-gradient(rgba(22,8,31,.18),rgba(22,8,31,.28)),var(--monthScene)!important}

/* 2.2.38 — cartoon monthly worlds: big art, no tiny emoji decorations. */
body[data-theme]{background-image:linear-gradient(rgba(255,255,255,.24),rgba(255,255,255,.34)),var(--monthScene)!important;background-size:cover!important;background-position:center!important;background-attachment:fixed!important}
body[data-theme] .card:before{content:""!important;display:none!important}
body[data-theme]::before{content:""!important;display:none!important}
body[data-theme] .top{background:linear-gradient(135deg,color-mix(in srgb,var(--panel) 91%,transparent),color-mix(in srgb,var(--panel2) 87%,transparent))!important}
body[data-theme] .card{background:linear-gradient(160deg,color-mix(in srgb,var(--panel) 93%,transparent),color-mix(in srgb,var(--panel2) 88%,transparent))!important}
body[data-theme="spooky"],body[data-theme="fireworks"]{background-image:linear-gradient(rgba(15,6,28,.14),rgba(15,6,28,.22)),var(--monthScene)!important}
body[data-theme="spooky"] .card,body[data-theme="fireworks"] .card{background:linear-gradient(160deg,rgba(36,22,60,.93),rgba(65,30,73,.90))!important}


/* 2.2.39 — Living monthly themes: soft, intermittent, non-robotic motion. */
.pb-ambient-life{position:fixed;inset:0;pointer-events:none;z-index:8;overflow:hidden}
.pb-ambient-life .pb-cat{--cat:#f4b7cf;--cat2:#fff1f6;position:absolute;right:18px;bottom:78px;width:74px;height:64px;opacity:.94;transform-origin:50% 100%;filter:drop-shadow(0 8px 10px rgba(74,39,61,.16))}
.pb-ambient-life .pb-cat-body{position:absolute;left:16px;bottom:0;width:48px;height:38px;border-radius:48% 52% 44% 44%;background:var(--cat)}
.pb-ambient-life .pb-cat-head{position:absolute;left:18px;bottom:26px;width:43px;height:38px;border-radius:48% 48% 52% 52%;background:var(--cat2);border:3px solid var(--cat)}
.pb-ambient-life .pb-cat-ear{position:absolute;top:-9px;width:16px;height:18px;background:var(--cat);clip-path:polygon(50% 0,100% 100%,0 100%)}
.pb-ambient-life .pb-cat-ear.l{left:2px;transform:rotate(-12deg)}.pb-ambient-life .pb-cat-ear.r{right:2px;transform:rotate(12deg)}
.pb-ambient-life .pb-cat-eye{position:absolute;top:15px;width:4px;height:6px;border-radius:50%;background:#51384b;transition:transform .12s}.pb-ambient-life .pb-cat-eye.l{left:10px}.pb-ambient-life .pb-cat-eye.r{right:10px}
.pb-ambient-life .pb-cat-nose{position:absolute;left:50%;top:21px;width:5px;height:4px;border-radius:50%;background:#df759d;transform:translateX(-50%)}
.pb-ambient-life .pb-cat-tail{position:absolute;right:0;bottom:8px;width:32px;height:12px;border-radius:999px;background:var(--cat);transform-origin:4px 6px;transform:rotate(-25deg)}
.pb-ambient-life .pb-bow{position:absolute;left:10px;top:4px;width:9px;height:9px;border-radius:65% 20% 65% 20%;background:#df5f98;transform:rotate(34deg)}.pb-ambient-life .pb-bow:after{content:"";position:absolute;left:7px;top:4px;width:9px;height:9px;border-radius:20% 65% 20% 65%;background:#df5f98}
.pb-ambient-life .pb-floater{position:absolute;width:13px;height:13px;opacity:0;transform:rotate(45deg);border-radius:4px;background:color-mix(in srgb,var(--accent) 72%,white);animation:pbDrift var(--dur,3.8s) ease-in-out forwards}
.pb-ambient-life .pb-floater:before,.pb-ambient-life .pb-floater:after{content:"";position:absolute;width:13px;height:13px;border-radius:50%;background:inherit}.pb-ambient-life .pb-floater:before{left:-6px}.pb-ambient-life .pb-floater:after{top:-6px}
.pb-cat.pb-blink .pb-cat-eye{transform:scaleY(.12)}
.pb-cat.pb-tail .pb-cat-tail{animation:pbTail .9s ease-in-out 1}
.pb-cat.pb-perk{animation:pbPerk .72s ease-in-out 1}
.pb-cat.pb-celebrate{animation:pbCelebrate 1.05s cubic-bezier(.2,.8,.2,1) 1}.pb-cat.pb-celebrate .pb-cat-tail{animation:pbTail .32s ease-in-out 3}
@keyframes pbTail{0%,100%{transform:rotate(-25deg)}50%{transform:rotate(22deg)}}
@keyframes pbPerk{0%,100%{transform:translateY(0) rotate(0)}35%{transform:translateY(-6px) rotate(-3deg)}65%{transform:translateY(-2px) rotate(3deg)}}
@keyframes pbCelebrate{0%,100%{transform:translateY(0) scale(1)}28%{transform:translateY(-20px) scale(1.08) rotate(-4deg)}52%{transform:translateY(-5px) scale(.98) rotate(4deg)}72%{transform:translateY(-12px) scale(1.04)}}
@keyframes pbDrift{0%{opacity:0;transform:translate(0,10px) rotate(35deg) scale(.55)}18%{opacity:.85}70%{opacity:.72}100%{opacity:0;transform:translate(var(--dx,25px),-75px) rotate(110deg) scale(1.08)}}
body[data-theme="spooky"] .pb-cat{--cat:#9e70c8;--cat2:#2c1f38}body[data-theme="winter-holiday"] .pb-cat{--cat:#e86d9d;--cat2:#fff8fb}body[data-theme="autumn"] .pb-cat{--cat:#de8b60;--cat2:#fff0df}body[data-theme="summer"] .pb-cat{--cat:#f69aac;--cat2:#fff0ad}
@media (max-width:600px){.pb-ambient-life .pb-cat{width:62px;height:56px;right:10px;bottom:74px;transform:scale(.86);transform-origin:100% 100%}.pb-ambient-life .pb-cat-body{left:14px}.pb-ambient-life .pb-cat-head{left:16px}}
@media (prefers-reduced-motion:reduce){.pb-ambient-life .pb-cat,.pb-ambient-life .pb-cat-tail,.pb-ambient-life .pb-floater{animation:none!important}.pb-ambient-life .pb-floater{display:none!important}}

/* 2.2.41 Trusted Creator + notification center */
.pbCreatorBell{position:fixed;top:max(12px,env(safe-area-inset-top));right:14px;z-index:9998;width:48px;height:48px;border:1px solid var(--field-border,var(--line));border-radius:50%;background:var(--surface,#fff);color:var(--surface-ink,var(--ink));box-shadow:0 12px 34px rgba(30,20,30,.22);font-size:21px;display:grid;place-items:center}
.pbCreatorBell span{position:absolute;right:-4px;top:-5px;min-width:22px;height:22px;padding:0 5px;border-radius:999px;background:#d63d72;color:#fff;font-size:11px;font-weight:950;display:grid;place-items:center;border:2px solid var(--surface,#fff)}
.pbCreatorBell span.hidden{display:none}.pbNotifOverlay{position:fixed;inset:0;z-index:10050;background:rgba(30,18,30,.5);backdrop-filter:blur(7px);display:flex;align-items:flex-end}.pbNotifOverlay.hidden{display:none}.pbNotifSheet{width:100%;max-width:620px;max-height:82vh;overflow:auto;margin:0 auto;background:var(--surface,#fff);color:var(--surface-ink,var(--ink));border-radius:26px 26px 0 0;padding:18px 16px calc(22px + env(safe-area-inset-bottom));box-shadow:0 -24px 70px rgba(0,0,0,.24)}.pbNotifHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.pbNotifHead h2{margin:2px 0 8px}.pbNotifRow{width:100%;border:1px solid var(--field-border,var(--line));background:var(--surface-2,#fff8fb);color:inherit;border-radius:18px;padding:13px 12px;margin:9px 0;text-align:left;display:grid;grid-template-columns:16px 1fr;gap:8px}.pbNotifRow.unread{box-shadow:inset 4px 0 0 var(--accent,#d26c98);background:color-mix(in srgb,var(--accent-soft,#f8dce8) 45%,var(--surface,#fff))}.pbNotifDot{color:var(--accent,#d26c98);font-size:11px;padding-top:4px}.pbNotifRow b,.pbNotifRow small,.pbNotifRow span span{display:block}.pbNotifRow small{opacity:.65;margin:3px 0 6px}.status.good{border-color:rgba(45,140,90,.25);background:rgba(65,175,110,.09)}

/* 2.2.42 */
.pbSuggestionDetail{margin:12px 0;padding:16px;border-radius:18px;background:var(--card,#fff);box-shadow:0 10px 30px rgba(0,0,0,.12);position:relative;z-index:10002}.pbSuggestionDetail p{white-space:pre-wrap;line-height:1.45}.roster-row .editShift{min-width:60px}.pb-quick-shift>.actions .primary{width:100%;min-height:48px;font-size:1rem}

/* 2.2.44 — Daily Store Schedule screenshot importer */
.pb-daily-import-card{border:2px solid color-mix(in srgb,var(--accent) 30%,var(--line))!important}
.pb-daily-sheet{max-height:94vh}.pb-daily-setup{display:grid;gap:12px;margin-top:14px}.pb-upload-zone{display:grid;gap:4px;text-align:center;padding:20px 14px;border:2px dashed var(--accent2);border-radius:18px;background:var(--surface-2);cursor:pointer}.pb-upload-zone b{font-size:15px}.pb-upload-zone span{font-size:11px;color:var(--surface-muted)}
.pb-daily-preview{width:100%;max-height:280px;object-fit:contain;border-radius:16px;margin:12px 0;background:#111}.pb-daily-review-head{display:flex;justify-content:space-between;gap:10px;align-items:end;margin:16px 0 6px}.pb-daily-row{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:12px 0;border-top:1px solid var(--line)}.pb-daily-row.needs-review{background:color-mix(in srgb,#f4b84a 10%,transparent);border-radius:14px;padding:12px 8px}.pb-daily-include{display:grid;place-items:center;align-content:start;gap:3px;font-size:10px;color:var(--muted)}.pb-daily-include input{width:22px;height:22px}.pb-daily-main{display:grid;gap:6px}.pb-daily-times{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pb-daily-times label{display:grid;gap:4px}.pb-daily-times label>span{font-size:10px;font-weight:850;color:var(--muted)}.pb-replace-day{margin-top:14px}

/* 2.2.47 schedule import progress + device link state */
.pb-import-progress{padding:16px}.pb-progress-track{height:12px;border-radius:999px;background:rgba(255,255,255,.10);overflow:hidden;margin:10px 0 8px}.pb-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent,#d26aa6),#9b78d0);transition:width .35s ease}.pb-progress-pct{font-variant-numeric:tabular-nums}.pill.phone-linked{background:rgba(73,183,120,.16);border-color:rgba(73,183,120,.35)}.pill.phone-unlinked{background:rgba(255,255,255,.06);opacity:.72}

/* 2.2.49 — rebuilt Schedule workspace */
.pb-source-hidden{display:none!important}
#pbScheduleTabs{display:flex;overflow-x:auto;gap:7px;scrollbar-width:none;padding-bottom:2px}
#pbScheduleTabs::-webkit-scrollbar{display:none}
#pbScheduleTabs .btn{flex:0 0 auto;min-width:104px}
#pbScheduleCalendarPanel h2,#pbScheduleAddPanel h2{margin-top:4px}
.pb-cal-head{display:grid;grid-template-columns:44px 1fr 44px;gap:10px;align-items:center;text-align:center;margin:10px 0 14px}.pb-cal-head b{font-size:21px}
.pb-cal-weekdays,.pb-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.pb-cal-weekdays{margin-bottom:5px}.pb-cal-weekdays span{text-align:center;font-size:11px;font-weight:900;color:var(--surface-muted,#6f6170)}
.pb-cal-day{min-width:0;min-height:66px;border:1px solid var(--field-border,#dacbd5);border-radius:14px;background:var(--surface,#fff);color:var(--surface-ink,#35252f);padding:7px 5px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;cursor:pointer}.pb-cal-day.outside{opacity:.42}.pb-cal-day.selected{outline:3px solid color-mix(in srgb,var(--accent,#d56b9e) 55%,transparent);border-color:var(--accent,#d56b9e)}.pb-cal-day.today .pb-cal-num{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:3px}.pb-cal-num{font-weight:950}.pb-cal-count{font-size:10px;font-weight:850;line-height:1.05}.pb-cal-empty{font-size:11px;color:var(--surface-muted,#786974)}
.pb-cal-detail{margin-top:16px;padding-top:14px;border-top:1px solid var(--field-border,#dacbd5)}.pb-cal-detail h3{margin:2px 0 0}.pb-cal-workers{margin-top:10px}
.pb-schedule-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.pb-schedule-action{border:1px solid var(--field-border,#dacbd5);border-radius:20px;background:var(--surface,#fff);color:var(--surface-ink,#35252f);padding:18px 12px;min-height:132px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px;cursor:pointer}.pb-schedule-action>span{font-size:30px}.pb-schedule-action b{font-size:16px}.pb-schedule-action small{color:var(--surface-muted,#786974)}.pb-schedule-action:active{transform:scale(.985)}
.pb-add-date{max-width:360px}.pb-edit-roster-tools{margin:8px 0 14px;padding:10px 0;border-bottom:1px solid var(--field-border,#dacbd5)}
.pb-plan-preview{display:grid;gap:8px}.pb-plan-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--field-border,#dacbd5);border-radius:15px;background:var(--surface,#fff)}.pb-plan-row>div{min-width:0}.pb-plan-row strong{text-align:right}.pb-plan-row.uncovered{border-style:dashed}
@media(max-width:560px){.pb-schedule-action-grid{grid-template-columns:1fr}.pb-schedule-action{min-height:92px;display:grid;grid-template-columns:48px 1fr;text-align:left;justify-items:start}.pb-schedule-action>span{grid-row:1/3;align-self:center}.pb-schedule-action b,.pb-schedule-action small{grid-column:2}.pb-cal-day{min-height:57px;padding:5px 3px}.pb-cal-count{font-size:9px}.pb-cal-detail>.flex{align-items:flex-start;flex-direction:column}.pb-cal-detail .btn{width:100%}}

/* 2.2.50 — fixed Schedule tabs, accordion roster, stitched original view */
#pbScheduleTabs.pb-fixed-tabs{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;overflow:visible!important;gap:7px;touch-action:manipulation}
#pbScheduleTabs.pb-fixed-tabs .btn{min-width:0!important;width:100%;white-space:normal;line-height:1.1}
.pb-retired-breaks{display:none!important}
.pb-roster-accordion{display:block!important;padding:0!important;overflow:hidden;border-radius:16px}
.pb-roster-summary{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto 24px;gap:10px;align-items:center;border:0;background:transparent;color:inherit;text-align:left;padding:13px 12px;cursor:pointer;font:inherit}
.pb-roster-summary:active{background:color-mix(in srgb,var(--accent,#d56b9e) 8%,transparent)}
.pb-roster-name{min-width:0;display:grid;gap:2px}.pb-roster-name b{overflow:hidden;text-overflow:ellipsis}.pb-roster-name small{color:var(--surface-muted,#786974)}
.pb-roster-shift{font-weight:850;text-align:right;font-size:13px}.pb-roster-chevron{font-size:20px;transition:transform .18s ease;text-align:center}.pb-roster-accordion.open .pb-roster-chevron{transform:rotate(180deg)}
.pb-roster-details{padding:0 12px 13px;border-top:1px solid var(--field-border,#dacbd5)}.pb-roster-fields{display:grid;grid-template-columns:auto minmax(120px,1fr) minmax(120px,1fr) minmax(120px,1fr);gap:9px;align-items:end;padding-top:12px}.pb-mini-field{display:grid;gap:4px}.pb-mini-field span{font-size:10px;font-weight:900;color:var(--surface-muted,#786974)}
.pb-review-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 14px}.pb-original-schedule-wrap{max-height:58vh;overflow:auto;border-radius:16px;background:#111;padding:8px;overscroll-behavior:contain}.pb-original-schedule{display:block;max-width:none;width:auto;min-width:100%;height:auto;margin:auto;border-radius:10px}.pb-review-tabs .btn{width:100%}
@media(max-width:650px){#pbScheduleTabs.pb-fixed-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}.pb-roster-summary{grid-template-columns:minmax(0,1fr) auto 22px}.pb-roster-fields{grid-template-columns:1fr 1fr}.pb-roster-fields>label:first-child,.pb-roster-fields>.statusSel{grid-column:auto}.pb-roster-shift{font-size:12px}.pb-original-schedule{min-width:780px}}

/* 2.2.51 schedule reset controls */
.pb-edit-working-actions{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 4px}.pb-edit-working-actions .btn{flex:1 1 150px}.pb-clear-help{margin:0 2px 10px}
/* 2.2.52 unmatched weekly employee review */
.pb-unknown-employee{margin:12px 0;padding:16px;border:1px solid rgba(145,105,155,.28);border-radius:20px;background:rgba(255,250,247,.86)}
.pb-unknown-employee h3{margin:4px 0 5px}.pb-unknown-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.unkLinkBox,.unkEditBox{margin-top:12px;padding-top:12px;border-top:1px solid rgba(100,80,100,.14)}
