:root{--bg:#faf8f5;--ink:#1d1b19;--muted:#6b6560;--line:#e7e1d9;--card:#fff;--accent:#3b3bd6;--accent-2:#2a6f97;--danger:#b3261e;--warn:#9a5b00;--radius:18px;--radius-sm:10px;--shadow:0 10px 30px -18px #3c281440;--space-1:6px;--space-2:12px;--space-3:20px;--space-4:32px;--measure:820px;color:var(--ink);background:var(--bg);font-family:ui-sans-serif,-apple-system,Segoe UI,Inter,Roboto,sans-serif;line-height:1.6}*{box-sizing:border-box}body{margin:0}a{color:var(--accent-2)}.top,main,.foot{max-width:var(--measure);padding:0 var(--space-3);margin:0 auto}main{min-height:60vh}.top{justify-content:space-between;align-items:center;height:64px;display:flex}.brand{color:var(--ink);letter-spacing:-.02em;font-size:20px;font-weight:800;text-decoration:none}.brand span{color:var(--accent)}.tools-nav a,.foot-tools a{color:var(--muted);white-space:nowrap;margin-left:16px;font-size:14px;text-decoration:none}.tools-nav a[aria-current=page],.foot-tools a[aria-current=page]{color:var(--ink);font-weight:600}.foot{color:var(--muted);padding-bottom:40px;font-size:14px}.foot-tools{flex-wrap:wrap;gap:6px 0;margin:0 0 8px -16px;display:flex}.foot-tools a{padding:8px 0}.tools-nav a{padding:8px 4px}.hero{text-align:center;padding:16px 0 4px}h1{letter-spacing:-.03em;margin:0;font-size:clamp(32px,5vw,48px);line-height:1.05}.lede{color:var(--muted);max-width:600px;margin:10px auto 0;font-size:17px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin:var(--space-3) 0;box-shadow:var(--shadow);padding:22px}.card.tool{margin-top:16px}.hint{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 8px;font-size:13px}.hint2{color:var(--muted);margin:6px 0 0;font-size:13px}button,.btn{font:inherit;color:#fff;background:var(--accent);cursor:pointer;text-align:center;border:0;border-radius:999px;padding:13px 26px;font-weight:700;text-decoration:none;transition:filter .15s,transform .15s;display:inline-block}button:hover,.btn:hover{filter:brightness(1.08)}button:active,.btn:active{transform:scale(.98)}button.ghost,.ghost-btn{color:var(--ink);border:1px solid var(--line);background:0 0}button.small{padding:8px 16px}.linkbtn{color:var(--muted);background:0 0;border-radius:8px;padding:10px 6px;font-weight:500;text-decoration:underline}.linkbtn:hover{color:var(--ink);filter:none}button:disabled{opacity:.4;pointer-events:none}.actions{margin-top:var(--space-3);flex-wrap:wrap;align-items:center;gap:12px;display:flex}.actions.center{justify-content:center}.actions audio{width:100%}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;display:flex}.toolbar button{padding:10px 20px}.toolbar .spacer{flex:1}input,select{font:inherit;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);background:#fff;max-width:100%;padding:8px 10px}input[type=range]{accent-color:var(--accent);padding:0}.row{flex-wrap:wrap;align-items:flex-end;gap:12px 18px;margin-bottom:14px;display:flex}.row label,.settings label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.row .grow{flex:200px}.row .grow input{width:100%}.status{text-align:center;color:var(--muted);min-height:1.6em;margin:10px 0 0}.status.error{color:var(--danger)}.warn{color:var(--warn);min-height:1.4em;margin:10px 0 0;font-size:14px}.spinner{border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:34px;height:34px;margin:10px auto 0;animation:.8s linear infinite spin;display:none}@keyframes spin{to{transform:rotate(360deg)}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.phones{text-align:center;color:var(--muted);margin:16px 0 0;font-size:13px}.content{margin:40px 0}.content h2{letter-spacing:-.02em;margin:48px 0 12px;font-size:28px}table{border-collapse:collapse;width:100%;margin:12px 0;font-size:15px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 8px}th{color:var(--muted);font-weight:600}details{border-bottom:1px solid var(--line);padding:0}summary{cursor:pointer;min-height:44px;padding:14px 0;font-weight:600}details>p{margin:0 0 14px}.more{columns:2;padding-left:20px}.more a{padding:5px 0;display:inline-block}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=820px){.top{flex-wrap:wrap;row-gap:0;height:auto;padding-top:12px;padding-bottom:2px}.tools-nav{scrollbar-width:none;-webkit-overflow-scrolling:touch;width:calc(100% + 40px);margin:0 -20px;padding:0 20px;display:flex;overflow-x:auto}.tools-nav::-webkit-scrollbar{display:none}.tools-nav a{border-radius:999px;margin:0 2px 0 0;padding:11px 13px}.tools-nav a[aria-current=page]{background:#0000000f}.content table{display:block;overflow-x:auto}.hero{padding-top:14px}}@media (width<=640px){.card{padding:16px}.toolbar button{flex:auto}.toolbar .spacer{display:none}.actions button,.actions .btn{flex:140px}}:root{--bg:#f6faf9;--accent:#0f766e;--accent-2:#115e59}.row label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}input[type=color]{width:38px;height:34px;padding:0}input[type=number]{width:76px}.shifts-table input[type=text],.shifts-table .sh-name{width:130px}.shifts-table td{border:0;padding:4px 6px}.shifts-table th{color:var(--muted);border:0;padding:0 6px;font-size:12px;font-weight:600}.x{color:var(--muted);background:0 0;border:0;padding:4px 8px;font-size:18px;line-height:1}.x:hover{color:#b3261e;filter:none}.grid-wrap{border:1px solid var(--line);border-radius:12px;margin-top:16px;overflow-x:auto}#grid{min-width:980px;margin:0;font-size:13px}#grid th,#grid td{border-bottom:1px solid var(--line);text-align:center;padding:6px}#grid th.who,#grid td.who{text-align:left;min-width:130px}#grid .emp{width:120px}#grid select{background:#ffffffa6;width:100%;min-width:104px;padding:6px 4px;font-size:12.5px}#grid td.hrs,#grid th.hrs{width:56px;font-weight:700}#grid .foot-row td{background:#f7f7fc;font-weight:700}.print-only{display:none}h3.sub{margin:18px 0 6px;font-size:15px}#print-title{display:none}@media print{.top,.foot,.hero,.content,.controls-box,.toolbar,.warn,.noprint,.hint2,.lede{display:none!important}body{background:#fff}main{max-width:none;padding:0}.card{box-shadow:none;border:0;margin:0;padding:0}#print-title{margin:0 0 10px;font-size:22px;display:block}.grid-wrap{border:0;overflow:visible}#grid{width:100%;min-width:0;font-size:11px}#grid select,#grid .emp{display:none}.print-only{display:inline}#grid td.who:after{content:attr(data-name)}#grid td,#grid th{-webkit-print-color-adjust:exact;print-color-adjust:exact;border:1px solid #999}@page{size:landscape;margin:12mm}}.add-row .grow input{width:100%}#grid th.who,#grid td.who{z-index:1;box-shadow:1px 0 0 var(--line);background:#fff;position:sticky;left:0}#grid .foot-row td.who{background:#f7faf9}#grid .foot-row td.short{color:#b3261e;background:#fdecea}#grid select{min-height:40px}.x{min-width:40px;min-height:40px}.legend{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.chip{border:1px solid var(--line);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:inline-flex}.chip i{border:1px solid #00000026;border-radius:3px;width:12px;height:12px}.chip i.off{background:#fff}.swipe{display:none}.shifts-box{border:1px solid var(--line);border-radius:12px;margin-top:22px;padding:0 16px 14px}.shifts-box summary{font-weight:700}@media (width<=640px){.swipe{display:inline}.card.tool{padding:16px}.row label{flex:42%}.row label.grow{flex-basis:100%}.add-row label.grow{flex-basis:60%}.toolbar button{flex:auto}.toolbar .spacer{display:none}#grid{min-width:840px}#grid th.who,#grid td.who{min-width:92px}#grid .emp{width:84px}.shifts-table thead{display:none}.shifts-table,.shifts-table tbody{display:block}.shifts-table tr{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr 1fr;gap:8px;padding:12px 0;display:grid}.shifts-table td{flex-direction:column;gap:2px;padding:0;display:flex}.shifts-table td:before{content:attr(data-l);color:var(--muted);font-size:11px}.shifts-table td:first-child{grid-column:1/-1}.shifts-table td:last-child:before{content:none}.shifts-table input{width:100%}.shifts-table td:last-child{justify-content:flex-end;align-items:flex-end}}#grid td.empty{color:var(--muted);text-align:center;padding:28px}#grid td.cell small.t{color:#4b4640;margin-top:2px;font-size:11px;display:block}@media print{#grid td.cell small.t{display:none}}
