:root{--font-heading:"Unbounded",sans-serif;--font-heading-weight:700;--font-body:"Figtree",system-ui,sans-serif;--color-text:oklch(.17 .01 340);--color-neutral-100:oklch(.97 .003 340);--color-neutral-200:oklch(.93 .004 340);--color-neutral-300:oklch(.87 .005 340);--color-neutral-400:oklch(.75 .006 340);--color-neutral-500:oklch(.62 .007 340);--color-neutral-600:oklch(.51 .008 340);--color-neutral-700:oklch(.42 .008 340);--color-neutral-800:oklch(.27 .008 340);--color-neutral-900:oklch(.18 .01 340);--color-accent:oklch(.65 .21 355);--color-accent-100:oklch(.95 .04 355);--color-accent-200:oklch(.9 .08 355);--color-accent-300:oklch(.83 .12 355);--color-accent-400:oklch(.73 .17 355);--color-accent-500:oklch(.65 .21 355);--color-accent-600:oklch(.56 .2 355);--color-accent-700:oklch(.48 .17 355);--color-accent-800:oklch(.38 .14 355);--color-accent-900:oklch(.28 .1 355);--color-accent-2:var(--color-accent);--color-accent-2-100:var(--color-accent-100);--color-accent-2-200:var(--color-accent-200);--color-accent-2-300:var(--color-accent-300);--color-accent-2-400:var(--color-accent-400);--color-accent-2-500:var(--color-accent-500);--color-accent-2-600:var(--color-accent-600);--color-accent-2-700:var(--color-accent-700);--color-accent-2-800:var(--color-accent-800);--color-accent-2-900:var(--color-accent-900);--color-bg:#fefbfb;--color-surface:#fdf6f6;--pm-card-border:#f3d3da;--color-divider:color-mix(in srgb,var(--color-text)16%,transparent);--space-1:4.4px;--space-2:8.8px;--space-3:13.2px;--space-4:17.6px;--space-6:26.4px;--space-8:35.2px;--radius-sm:8px;--radius-md:16px;--radius-lg:28px;--shadow-sm:0 1px 2px #2e2b2524;--shadow-md:0 3px 10px #2e2b2529;--shadow-lg:0 12px 32px #2e2b2538}*,*:before,*:after{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-variant-numeric:tabular-nums;margin:0;font-size:15px;line-height:1.55}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:-.015em;margin:0 0 var(--space-2);line-height:1.12}p{margin:0 0 var(--space-3)}a{color:var(--color-accent-700);text-underline-offset:3px}a:hover{color:var(--color-accent-800)}img{display:block;max-width:100%}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:color-mix(in srgb,var(--color-accent)30%,transparent)}code{background:var(--color-neutral-100);border-radius:6px;padding:1px 5px;font-size:13px}.btn{display:inline-flex;cursor:pointer;text-decoration:none;font-family:var(--font-heading);color:var(--color-text);padding:var(--space-2)calc(var(--space-3)*1.2);background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items: center;gap:6px;font-size:14px;font-weight:500;line-height:1.2}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--color-accent);color:var(--color-bg)}.btn-primary:hover:not(:disabled){background:var(--color-accent-600)}.btn-primary:active:not(:disabled){background:var(--color-accent-700)}.btn-secondary{border-color:var(--color-divider)}.btn-secondary:hover{background:color-mix(in srgb,var(--color-text)7%,transparent)}.btn-ghost{color:var(--color-accent);padding-inline:var(--space-1)}.btn-ghost:hover{background:color-mix(in srgb,var(--color-accent)10%,transparent)}.btn-block{margin-top:var(--space-2);width:100%}.input{font:inherit;color:var(--color-text);caret-color:var(--color-accent);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:999px;width:100%;min-height:36px;padding:6px 14px;font-size:14px}.input:hover{border-color:color-mix(in srgb,var(--color-text)45%,transparent)}.input:focus-visible{border-color:var(--color-accent);outline-offset:0}textarea.input{resize:vertical;border-radius:var(--radius-md);min-height:90px}select.pm-select{appearance:none;-webkit-appearance:none;font:inherit;color:var(--color-text);background:var(--color-surface)url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23c2447c' stroke-width='2.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center;border:1.5px solid var(--pm-card-border);cursor:pointer;border-radius:999px;padding:8px 36px 8px 16px;font-size:13px;font-weight:600}select.pm-select:hover{border-color:var(--color-accent-400)}.card{display:flex;gap:var(--space-2);padding:var(--space-3);border-radius:calc(var(--radius-lg)*1.15);background:var(--color-surface);border:1.5px solid var(--pm-card-border);flex-direction:column}.card-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-700);font-size:12px;font-weight:800}.elev-md{box-shadow:var(--shadow-md)}.tag{display:inline-flex;letter-spacing:.02em;border-radius:999px;align-items: center;padding:3px 10px;font-size:11px}.tag-accent{background:var(--color-accent-100);color:var(--color-accent-800)}.tag-accent-2{background:var(--color-accent-2-100);color:var(--color-accent-2-800)}.tag-neutral{background:var(--color-neutral-100);color:var(--color-neutral-800)}.tag-outline{border:1px solid var(--color-accent);color:var(--color-accent);background:0 0}.nav{display:flex;background:var(--color-bg);box-shadow:var(--shadow-sm);position:sticky;z-index:20;flex-wrap:wrap;align-items: center;gap:8px 18px;padding:12px 28px;top:0}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.sticky-name th:first-child,.sticky-name td:first-child{position:sticky;background:var(--color-bg);z-index:2;left:0}@media (max-width:860px){.chip-row{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:6px;flex-wrap:nowrap!important}.chip-row .pill{white-space:nowrap;flex:none}}.admin-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-left:10px}.nav-burger{display:none;border:1px solid var(--color-neutral-300);cursor:pointer;background:0 0;border-radius:10px;padding:5px 11px;font-size:19px;line-height:1.2}.nav-menu{position:absolute;background:var(--color-bg);box-shadow:var(--shadow-md);display:flex;z-index:40;flex-direction:column;gap:4px;padding:10px 20px 16px;top:100%;left:0;right:0}.nav-menu .tab-btn{text-align:left}@media (max-width:860px){.nav{gap:10px;padding:10px 16px}.admin-tabs,.nav-extra{display:none}.nav-burger{display:inline-flex}}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--color-text)60%,transparent);padding:var(--space-2);border-bottom:1px solid var(--color-divider);font-size:11px}.table td{padding:var(--space-2);border-bottom:1px solid color-mix(in srgb,var(--color-text)8%,transparent)}.table tbody tr:hover{background:color-mix(in srgb,var(--color-text)4%,transparent)}.dialog-backdrop{position:fixed;z-index:50;display:flex;padding:var(--space-4);background:color-mix(in srgb,var(--color-neutral-900)50%,transparent);justify-content:center;align-items: center;inset:0}.dialog{display:flex;gap:var(--space-3);border-radius:calc(var(--radius-lg)*1.15);background:var(--color-surface);box-shadow:var(--shadow-lg);overflow:auto;flex-direction:column;max-height:86vh;padding:28px}.dialog-actions{display:flex;margin-top:var(--space-2);justify-content:flex-end;gap:10px}.pm-logo{background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAwIDEwMDAiPgo8Y2lyY2xlIGN4PSI1MDAiIGN5PSI1MDAiIHI9IjQ5MCIgZmlsbD0iI2Q2MmY3ZiIgLz4KPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTc4LDIzOCkgc2NhbGUoMC43MTIpIj4KPGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjMyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgo8IS0tIHNpbmdsZSBvdXRsaW5lOiB0cnVuayBmb290IC0+IGJvdHRvbSBlZGdlIHdpdGggYm90aCBsZWcgc2xvdHMgKHVwLWFyY2gtZG93bikKICAgICAtPiByaWdodCBlZGdlIC0+IHRvcCBlZGdlIC0+IGxlZnQgZWRnZSAtPiB0cnVuayBTLWN1cnZlIGJhY2sgdG8gdGhlIGZvb3QgLS0+CjxwYXRoIGQ9Ik02Miw2MDYKICBDNjIsNjM2IDg0LDY0NiAxMTgsNjQ2CiAgTDM3Miw2NDYKICBMMzcyLDM5MgogIEMzNzIsMzYwIDQzMiwzNjAgNDMyLDM5MgogIEw0MzIsNjQ2CiAgTDU3OCw2NDYKICBMNTc4LDQwMgogIEM1NzgsMzcwIDY0MiwzNzAgNjQyLDQwMgogIEw2NDIsNjQ2CiAgTDgwMiw2NDYKICBMODAyLDE2MgogIEM4MDIsMTIyIDc3OCw5OCA3MzgsOTgKICBMMjA4LDk4CiAgQzE1Miw5OCAxMTMsMTM3IDExMywxOTIKICBMMTEzLDQ3NQogIEMxMTMsNTQwIDgwLDU1OCA2Nyw1ODgKICBDNjIsNTk4IDYyLDYwMCA2Miw2MDQiIC8+CjwhLS0gdGhlIFAtYm93bCAiZWFyIjogbGVhdmVzIHRoZSB0b3AgZWRnZSwgcm91bmRzIGxpa2UgYSBjaXJjbGUsIGZ1c2VzIGludG8KICAgICB0aGUgZmlyc3QgbGVnJ3MgYXJjaCAtLT4KPHBhdGggZD0iTTM0Niw5OQogIEM0MzAsMTIwIDQ5NiwxODAgNDk2LDI1MgogIEM0OTYsMzEwIDQ2NSwzNTAgNDM0LDM2NiIgLz4KPCEtLSB0b2VzIC0tPgo8cGF0aCBkPSJNMTYyLDY0NiBMMTYyLDUyMiIgLz4KPHBhdGggZD0iTTIxNiw2NDYgTDIxNiw1MjIiIC8+CjwvZz4KPCEtLSB0cnVuay10aXAgZmxpY2s6IGZpbGxlZCBjcmVzY2VudCBzbyBpdCBjb21lcyB0byBhIHBvaW50IGxpa2UgdGhlIG9yaWdpbmFsIC0tPgo8cGF0aCBkPSJNNzYsNjQyIEM1Miw2NDggMzgsNjIwIDQ1LDU5MiBDNDksNjE0IDYwLDYyOCA3OCw2MzMgWiIgZmlsbD0iI2ZmZiIgLz4KPGVsbGlwc2UgY3g9IjI0NSIgY3k9IjIzMCIgcng9IjQ2IiByeT0iMzIiIGZpbGw9IiNmZmYiIHRyYW5zZm9ybT0icm90YXRlKC0xNSAyNDUgMjMwKSIgLz4KPC9nPgo8L3N2Zz4K) 50%/contain no-repeat}@keyframes pmpulse{0%,to{box-shadow:0 0 0 0 var(--color-accent-2-300)}50%{box-shadow:0 0 0 6px #0000}}.pulse{animation:pmpulse 1.6s infinite}.pill{border:1px solid var(--color-neutral-300);cursor:pointer;font-family:var(--font-body);color:var(--color-neutral-800);background:0 0;border-radius:999px;padding:9px 18px;font-size:15px;font-weight:600}.pill.small{padding:6px 13px;font-size:13px}.pill.active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.seg-wrap{display:flex;background:var(--color-neutral-200);border-radius:999px;gap:4px;padding:4px}.seg-btn{cursor:pointer;font-size:14px;font-weight:700;font-family:var(--font-body);color:var(--color-neutral-700);background:0 0;border:none;border-radius:999px;padding:7px 16px}.seg-btn.active{color:var(--color-neutral-900);box-shadow:var(--shadow-sm);background:#fff}.seg-btn.solid.active{background:var(--color-accent);color:#fff}.tab-btn{cursor:pointer;font-family:var(--font-body);color:var(--color-neutral-800);background:0 0;border:none;border-radius:999px;padding:8px 16px;font-size:15px;font-weight:600}.tab-btn.active{background:var(--color-accent);color:#fff}.pick-row{cursor:pointer;border-radius:var(--radius-md);border:1px solid var(--color-neutral-300);padding:10px 14px;font-size:14px}.pick-row:hover{background:var(--color-accent-100)}.who-card{cursor:pointer}.who-card:hover{background:var(--color-accent-100)}.shift-card{cursor:pointer}.shift-card.dim{opacity:.78;background:color-mix(in srgb,var(--color-surface)45%,var(--color-bg));cursor:default}.shift-card.mine{border:2px solid var(--color-accent);background:var(--color-accent-100);opacity:1}.toast{position:fixed;z-index:100;background:var(--color-accent-100);color:var(--color-accent-900);border:1.5px solid var(--color-accent-300);box-shadow:var(--shadow-lg);display:flex;border-radius:999px;align-items: center;gap:14px;padding:12px 22px;font-size:14px;font-weight:600;bottom:24px;left:50%;transform:translate(-50%)}.print-only{display:none}@media print{@page{size:letter;margin:.45in}body *{visibility:hidden}.print-area,.print-area *{visibility:visible}.print-area{position:absolute;color:#000;width:100%;top:0;left:0;box-shadow:none!important;background:#fff!important;border:none!important;border-radius:0!important;padding:0!important}.print-only{display:block!important}.no-print{display:none!important}.print-head{display:flex;letter-spacing:.06em;text-transform:uppercase;border-bottom:2px solid #000;justify-content:space-between;align-items:baseline;margin-bottom:8px;padding-bottom:4px;font-size:10px;font-weight:700}.print-area h2{display:none}.print-area .table{font-size:9.5px;min-width:0!important}.print-area .table thead{display:table-header-group}.print-area .table th{color:#000;letter-spacing:.06em;border-bottom:1.5px solid #000;padding:2px 6px;font-size:8px}.print-area .table td{border-bottom:.5px solid #aaa;padding:2.5px 6px}.print-area tr,.print-area .print-entry{break-inside:avoid}.print-area .table tbody tr:hover{background:0 0}.print-area [class*=tag],.print-area [style*="border-radius: 999"]{color:#000!important;background:0 0!important;border:1px solid #000!important}.table-scroll{overflow:visible!important}.print-cols{columns:3;column-gap:16px;display:block!important}.print-cols>div{break-inside:avoid;font-size:9.5px;border:none!important;border-bottom:.5px solid #aaa!important;border-radius:0!important;padding:3px 0 6px!important}}
