:root{--bg:#f7f1e8;--card:#fff;--ink:#231c15;--bronze:#8b5e22;--bronze-dark:#6e4a1b;--gold-soft:#f0dfc0;--gold-wash:#fbf0dc;--line:#e7dcc9;--muted:#8a7866;--field:#fbf6ee;--red:#b3463c;--red-soft:#f6e4e1;--drawer-w:264px}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:Sora,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}button,input,select,textarea{font-family:inherit}input:focus,select:focus,textarea:focus{outline:2px solid var(--bronze);outline-offset:1px;border-color:var(--bronze)}button:focus-visible{outline:2px solid var(--bronze);outline-offset:2px}input[type=checkbox]{width:18px;height:18px;accent-color:var(--bronze);cursor:pointer}a{color:var(--bronze)}.h-serif{font-family:Fraunces,Georgia,serif;font-weight:600}.app{min-height:100vh}.main{min-width:0}.topbar{justify-content:space-between;padding:16px 20px 10px}.topbar,.topbar-left{display:flex;align-items:center;gap:12px}.topbar-left{min-width:0}.icon-btn{width:38px;height:38px;border-radius:11px;background:#fff;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink);flex-shrink:0;padding:0}.content{padding:6px 20px 40px;max-width:1100px}.page-title{font-size:24px;margin:6px 0 16px}.drawer-backdrop{position:fixed;inset:0;background:rgba(35,28,21,.45);opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:30}.drawer-backdrop.show{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;bottom:0;left:0;width:82%;max-width:300px;background:#fff;box-shadow:4px 0 20px rgba(35,28,21,.15);z-index:31;padding:22px 18px;display:flex;flex-direction:column;transform:translateX(-110%);transition:transform .3s ease;overflow-y:auto}.drawer.open{transform:translateX(0)}.nav-item{display:flex;align-items:center;gap:13px;padding:12px 10px;border-radius:12px;border:none;background:transparent;color:var(--muted);font-size:14.5px;font-weight:600;cursor:pointer;width:100%;text-align:left}.nav-item.on{background:var(--gold-wash);color:#7a5b22;font-weight:700}.nav-item.out{color:var(--red);border-top:1px solid var(--line);border-radius:0;margin-top:8px}@media (min-width:900px){.drawer{transform:none;width:var(--drawer-w);box-shadow:none;border-right:1px solid var(--line)}.drawer-backdrop{display:none}.drawer-close,.hamb,.only-mobile{display:none!important}.main{margin-left:var(--drawer-w)}.content{padding:6px 32px 48px}.topbar{padding:20px 32px 10px}}.seg{display:flex;background:#fff;border:1px solid var(--line);border-radius:14px;padding:4px;gap:4px}.seg button{flex:1 1;border:none;border-radius:11px;padding:9px 0;font-size:13px;font-weight:600;cursor:pointer;background:transparent;color:var(--muted)}.seg button.on{background:var(--bronze);color:#fff}.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch}.chip{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:8px 14px;font-size:12.5px;font-weight:600;cursor:pointer;background:#fff;color:var(--muted);border:1px solid var(--line)}.chip.on{background:var(--bronze);color:#fff;border-color:var(--bronze)}.chip .n{border-radius:999px;padding:1px 7px;font-size:11px;background:var(--gold-soft);color:#7a5b22}.chip.on .n{background:hsla(0,0%,100%,.25);color:#fff}.daystrip{display:flex;gap:6px}.daychip{flex:1 1;min-width:0;border:1px solid var(--line);border-radius:14px;padding:10px 0 8px;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;background:#fff;color:var(--ink)}.daychip .dl{font-size:10.5px;font-weight:600;text-transform:uppercase;color:var(--muted)}.daychip .dn{font-family:Fraunces,Georgia,serif;font-size:17px;font-weight:600}.daychip .dot{width:5px;height:5px;border-radius:50%;background:transparent}.daychip.has .dot,.daychip.on{background:var(--bronze)}.daychip.on{border-color:var(--bronze);color:#fff}.daychip.on .dl{color:var(--gold-soft)}.daychip.on.has .dot{background:var(--gold-soft)}.fgrid{display:grid;grid-template-columns:var(--cols,1fr);grid-gap:10px;gap:10px;align-items:start}@media (max-width:640px){.fgrid{grid-template-columns:1fr!important}.fgrid.pair{grid-template-columns:1fr 1fr!important}input,select,textarea{font-size:16px!important}}.weekgrid{display:grid;grid-template-columns:1fr;grid-gap:14px;gap:14px}@media (min-width:1100px){.weekgrid{grid-template-columns:repeat(7,1fr);gap:8px}}.hrow{display:grid;grid-template-columns:110px auto 1fr 1fr;grid-gap:8px;gap:8px;align-items:center;margin-bottom:10px}@media (max-width:640px){.hrow{grid-template-columns:1fr auto;margin-bottom:16px}.hrow>:nth-child(2){justify-self:end}}.sheet-overlay{position:fixed;inset:0;background:rgba(35,28,21,.45);z-index:40;display:flex;align-items:flex-end;justify-content:center}.sheet{background:#fff;width:100%;max-width:520px;border-radius:24px 24px 0 0;padding:14px 20px 24px;max-height:92vh;overflow-y:auto;box-shadow:0 -4px 20px rgba(35,28,21,.15);animation:slideUp .25s ease}.sheet-handle{width:36px;height:4px;border-radius:2px;background:var(--line);margin:0 auto 14px}@keyframes slideUp{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}@media (min-width:641px){.sheet-overlay{align-items:center}.sheet{border-radius:20px}.sheet-handle{display:none}}.campo{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.campo>label{font-size:12px;font-weight:600;color:var(--muted)}.x-btn{width:32px;height:32px;border-radius:50%;background:var(--field);border:1px solid var(--line);display:inline-flex;cursor:pointer;color:var(--muted);padding:0}.modal-overlay,.x-btn{align-items:center;justify-content:center}.modal-overlay{position:fixed;inset:0;background:rgba(35,28,21,.45);display:flex;z-index:50;padding:20px}