:root{--bg:#f7f3ec;--surface:#fff;--ink:#1f1a16;--muted:#6d645b;--line:#e4dccf;--accent:#8c1d2f;--accent-soft:#f6e4e6;--accent-ink:#fff;--ok:#1d6b45;--ok-bg:#e3f2e9;--warn:#8a4f00;--warn-bg:#fff0d6;--bad:#a4241b;--bad-bg:#fde6e3;--radius:14px;--tap:48px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:112.5%}body{background:var(--bg);color:var(--ink);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.4}a{color:var(--accent)}h1{margin:0 0 .25rem;font-size:1.5rem;line-height:1.2}h2{margin:1.25rem 0 .5rem;font-size:1.2rem}h3{margin:0 0 .25rem;font-size:1.05rem}p{margin:.25rem 0 .75rem}.muted{color:var(--muted)}.small{font-size:.85rem}.center{text-align:center}.container{max-width:600px;margin:0 auto;padding:16px 16px 112px}.container.no-nav{padding-bottom:32px}.stack{flex-direction:column;gap:12px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row.between{justify-content:space-between}.grow{flex:1;min-width:0}.topbar{align-items:center;gap:8px;margin-bottom:12px;display:flex}.topbar .title{flex:1;min-width:0}.topbar .title strong{text-overflow:ellipsis;white-space:nowrap;font-size:1.15rem;display:block;overflow:hidden}.brand{letter-spacing:.02em;color:var(--accent);font-size:1.1rem;font-weight:800;text-decoration:none}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.card.cancelled{opacity:.7}.card.cancelled .show-title{text-decoration:line-through}.card+.card{margin-top:12px}.card-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.show-title{font-size:1.05rem;font-weight:700}.btn{min-height:var(--tap);border:2px solid var(--accent);background:var(--accent);color:var(--accent-ink);font:inherit;cursor:pointer;touch-action:manipulation;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 18px;font-weight:700;text-decoration:none;display:inline-flex}.btn.block{width:100%;display:flex}.btn.secondary{background:var(--surface);color:var(--accent)}.btn.ghost{color:var(--accent);background:0 0;border-color:#0000;padding:0 10px}.btn.danger{background:var(--surface);color:var(--bad);border-color:var(--bad)}.btn.small{min-height:40px;padding:0 14px;font-size:.9rem}.btn:disabled{opacity:.5;cursor:default}.icon-btn{border:1px solid var(--line);background:var(--surface);min-width:40px;min-height:40px;font:inherit;cursor:pointer;color:var(--ink);border-radius:999px}label.field{flex-direction:column;gap:4px;font-weight:600;display:flex}label.field .hint{color:var(--muted);font-size:.85rem;font-weight:400}input[type=text],input[type=email],input[type=number],input[type=date],input[type=time],select,textarea{font:inherit;min-height:var(--tap);color:var(--ink);background:#fff;border:1px solid #cfc5b6;border-radius:10px;width:100%;padding:8px 12px;font-weight:400}textarea{resize:vertical;min-height:180px}input[type=number]{max-width:8em}.check{min-height:var(--tap);align-items:center;gap:10px;font-weight:500;display:flex}.check input{width:24px;height:24px;accent-color:var(--accent)}fieldset{border:0;margin:0;padding:0}.errors{background:var(--bad-bg);color:var(--bad);border-radius:10px;padding:10px 14px}.errors ul{margin:0;padding-left:1.1rem}.banner{border-radius:var(--radius);padding:12px 14px;font-weight:700}.banner.ok{background:var(--ok-bg);color:var(--ok)}.banner.warn{background:var(--warn-bg);color:var(--warn)}.banner .sub{margin-top:2px;font-size:.85rem;font-weight:500;display:block}.shift{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}.shift-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.count{white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:.9rem;font-weight:800}.count.ok{background:var(--ok-bg);color:var(--ok)}.count.warn{background:var(--warn-bg);color:var(--warn)}.chips{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.chip{background:#f1ebe2;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:.95rem;display:inline-flex}.chip.me{background:var(--accent);color:var(--accent-ink)}.chip.hole{color:var(--warn);background:0 0;border:1.5px dashed #c9a36b}.chip.sup{border:1px solid var(--line);color:var(--muted);background:0 0}.chip button.pin:not(.on){filter:grayscale();opacity:.3}.chip button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:0;min-width:28px;min-height:28px;padding:0 2px}.tag{background:var(--accent-soft);color:var(--accent);border-radius:6px;padding:1px 8px;font-size:.8rem;font-weight:700;display:inline-block}.seg{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px;display:grid}.seg button{min-height:var(--tap);border:1.5px solid var(--line);background:var(--surface);font:inherit;cursor:pointer;color:var(--ink);border-radius:10px;font-weight:700}.seg button[aria-pressed=true].si{background:var(--ok);border-color:var(--ok);color:#fff}.seg button[aria-pressed=true].no{background:var(--bad);border-color:var(--bad);color:#fff}.seg button[aria-pressed=true].nose{color:#fff;background:#6d645b;border-color:#6d645b}.seg button:disabled{opacity:.45;cursor:default}.weeknav{grid-template-columns:48px 1fr 48px;align-items:center;gap:8px;margin:8px 0 12px;display:grid}.weeknav a,.weeknav span.off{background:var(--surface);border:1px solid var(--line);height:48px;color:var(--ink);border-radius:999px;justify-content:center;align-items:center;font-size:1.3rem;text-decoration:none;display:flex}.weeknav span.off{opacity:.35}.weeknav .label{text-align:center;font-weight:700}.tabs{z-index:10;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);position:fixed;bottom:0;left:0;right:0}.tabs ul{grid-template-columns:repeat(4,1fr);max-width:600px;margin:0 auto;padding:0;list-style:none;display:grid}.tabs a{min-height:60px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:0 2px;font-size:.66rem;font-weight:600;line-height:1.1;text-decoration:none;display:flex}.tabs a .ico{font-size:1.35rem;line-height:1}.tabs a[aria-current=page]{color:var(--accent)}.steps{gap:4px;margin:8px 0 16px;display:flex}.steps span{background:var(--line);border-radius:3px;flex:1;height:6px}.steps span.done{background:var(--accent)}.wizard-actions{gap:8px;margin-top:20px;display:flex}.wizard-actions .btn{flex:1}.slot-row{grid-template-columns:1fr 1fr auto;align-items:center;gap:8px;display:grid}.day{border-top:1px solid var(--line);padding:8px 0}.list-item{min-height:var(--tap);border-bottom:1px solid var(--line);align-items:center;gap:8px;display:flex}.table-wrap{border-radius:var(--radius);overflow-x:auto}table.data{border-collapse:collapse;background:var(--surface);width:100%;font-size:.9rem}table.data th,table.data td{border-bottom:1px solid var(--line);text-align:left;padding:10px 6px}table.data th.num,table.data td.num{text-align:right;font-variant-numeric:tabular-nums}table.data th{color:var(--muted);font-size:.85rem}.sheet{z-index:20;background:#140f0a73;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet>div{background:var(--surface);border-radius:18px 18px 0 0;width:100%;max-width:600px;max-height:88vh;padding:18px 16px 24px;overflow:auto}.toast{z-index:30;background:var(--ink);color:#fff;border-radius:12px;max-width:568px;margin:0 auto;padding:12px 14px;position:fixed;bottom:76px;left:16px;right:16px}details>summary{cursor:pointer;min-height:var(--tap);align-items:center;font-weight:700;display:flex}.print-sheet{background:#fff}.print-sheet table{border-collapse:collapse;width:100%;font-size:12pt}.print-sheet th,.print-sheet td{vertical-align:top;text-align:left;border:1px solid #999;padding:6px 8px}.print-sheet .hole{color:var(--bad);font-weight:700}.print-sheet .sup{color:#555;font-size:10pt}@media print{@page{size:A4 portrait;margin:12mm}html{font-size:100%}body{background:#fff}.no-print,.tabs,.topbar{display:none!important}.container{max-width:none;padding:0}}.site-footer{border-top:1px solid var(--line);text-align:center;margin-top:24px;padding-top:16px;line-height:1.5}.site-footer p{margin:0}.site-footer a{padding:6px 2px;display:inline-block}
