:root{color-scheme:light;--bg: #eef0f3;--card: #ffffff;--muted: #f4f4f5;--muted-text: #71717a;--text: #18181b;--border: #d8dbe2;--primary: #6d28d9;--primary-soft: rgba(109, 40, 217, .12);--primary-fg: #ffffff;--nav-w: 240px}:root[data-theme=dark]{color-scheme:dark;--bg: #1c1e28;--card: #272933;--muted: #27272f;--muted-text: #a1a1aa;--text: #f4f4f5;--border: #34343c;--primary: #8b5cf6;--primary-soft: rgba(139, 92, 246, .22)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,Segoe UI,Roboto,Arial,sans-serif;overflow:auto}button,input,select,textarea{font-family:inherit;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #7c3aed;outline-offset:2px}::placeholder{color:var(--muted-text)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.app{height:100%;display:flex;padding:12px;background:var(--bg);overflow:hidden}.shell{flex:1;min-height:0;display:flex;gap:12px}.main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;gap:12px}.stage{flex:1;min-height:0;overflow:auto;padding-right:2px}.sidenav{width:var(--nav-w);flex-shrink:0;background:var(--card);border:1px solid var(--border);border-radius:14px;display:flex;flex-direction:column;overflow:hidden}.sidenav__brand{padding:16px 14px 6px}.sidenav__nav{flex:1;overflow:auto;padding:8px 12px}.sidenav__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.sidenav__link{width:100%;display:flex;align-items:center;gap:12px;border-radius:8px;padding:8px 12px;color:var(--muted-text);font-size:14px;font-weight:500;text-decoration:none}.sidenav__link svg{width:16px;height:16px;flex-shrink:0}.sidenav__link:hover{background:var(--muted);color:var(--text)}.sidenav__link--active,.sidenav__link--active:hover{background:var(--primary-soft);color:var(--primary)}.sidenav__foot{padding:12px 16px 16px;display:flex;flex-direction:column;gap:6px}.sidenav__foot a,.sidenav__foot button{border:none;background:transparent;padding:0;color:var(--primary);font-size:13px;font-weight:650;text-align:left;text-decoration:none;cursor:pointer}.sidenav__foot p{margin:4px 0 0;color:var(--muted-text);font-size:12px;line-height:1.4}.brand{display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-decoration:none;color:inherit}.brand__logo{height:28px;width:auto;max-width:92px;display:block}.brand__name{font-size:11px;font-weight:800;font-style:italic;letter-spacing:.16em;line-height:1;text-transform:lowercase;background:linear-gradient(105deg,#4338ca,#6d28d9 46%,#c026d3);-webkit-background-clip:text;background-clip:text;color:transparent}.topbar{height:64px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 14px;background:var(--card);border:1px solid var(--border);border-radius:14px}.crumbs{display:flex;align-items:center;gap:8px;min-width:0;font-size:14px;color:var(--muted-text)}.crumbs__sep{font-size:16px}.crumbs strong{color:var(--text);font-weight:650}.topbar__tools{display:flex;align-items:center;gap:8px;flex-shrink:0}.theme-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--card);color:var(--text);display:grid;place-items:center;cursor:pointer;padding:0}.theme-btn svg{width:18px;height:18px}.btn{height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--border);background:var(--card);color:var(--text);font-weight:700;font-size:14px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn--sm{height:32px;padding:0 12px;font-size:13px}.btn--go{position:relative;overflow:hidden;border:none;background:#4f46e5;color:#fff;box-shadow:0 8px 18px #4f46e547}.btn--go:hover{background:#4338ca}.btn--go:before{content:"";position:absolute;left:0;top:0;width:36px;height:3px;border-radius:999px;background:linear-gradient(90deg,transparent,#fff,transparent);offset-path:inset(4px round 999px);pointer-events:none;opacity:0}.btn--go:hover:before{opacity:1;animation:infawa-lap 1.4s linear infinite}@keyframes infawa-lap{to{offset-distance:100%}}@media (prefers-reduced-motion: reduce){.btn--go:hover:before{animation:none;opacity:0}}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--danger{color:#b91c1c;border-color:#fecaca}.btn--wa{background:#f3fbf6;border-color:#b7ebc9;color:#166534}:root[data-theme=dark] .btn--danger{color:#fca5a5;border-color:#7f1d1d;background:transparent}:root[data-theme=dark] .btn--wa{background:#2c2e36;border-color:#22c55e;color:#86efac}.kicker{margin:0 0 8px;color:#6d28d9;font-size:12px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}:root[data-theme=dark] .kicker{color:#c4b5fd}.stage__head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}.stage__head h1,.public__copy h1,.sheet h1{margin:0;font-size:32px;letter-spacing:-.03em;font-weight:750}.muted,.empty{color:var(--muted-text)}.empty{margin:8px 4px 12px;font-size:14px}.stage__head .muted{margin:6px 0 0;font-size:14px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stat,.card,.svc,.daybox,.sheet,.modal,.drawer{background:var(--card);border:1px solid var(--border);border-radius:14px}.stat{padding:16px}.stat span{display:block;color:var(--muted-text);font-size:13px}.stat strong{display:block;margin-top:8px;font-size:26px;letter-spacing:-.03em}.split2{display:grid;grid-template-columns:1.15fr .85fr;gap:12px;margin-top:12px}.card{padding:8px 8px 12px}.card__head,.drawer__head,.modal header,.modal footer,.sheet__foot,.drawer__actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.card__head{padding:8px 8px 4px}.card__head h2,.daybox h2,.drawer h2,.modal h2,.sheet h2{margin:0;font-size:18px}.card__head--stack{align-items:flex-start;flex-wrap:wrap}.bk{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--border)}.bk:last-child{border-bottom:none}.bk__hit{flex:1;min-width:0;display:flex;align-items:center;gap:12px;border:none;background:transparent;text-align:left;padding:10px 8px;cursor:pointer;border-radius:10px;font:inherit}.bk__hit:hover{background:var(--muted)}.bk.is-off{opacity:.55}.bk__when{width:42px;flex:none;display:flex;flex-direction:column;line-height:1.1}.bk__when strong{font-size:18px}.bk__when small,.bk__who small{color:var(--muted-text);font-size:12px}.bk__who{min-width:0;flex:1;display:flex;flex-direction:column}.bk__who strong,.bk__who small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bk__money{font-weight:700;font-size:14px;white-space:nowrap}.tag,.kind,.chip{display:inline-flex;align-items:center;border-radius:999px;font-size:12px;font-weight:700}.tag{padding:4px 8px;white-space:nowrap}.tag--pending{background:#fef3c7;color:#92400e}.tag--confirmed{background:var(--primary-soft);color:#5b21b6}.tag--done{background:#dcfce7;color:#166534}.tag--cancelled{background:var(--muted);color:var(--muted-text)}:root[data-theme=dark] .tag--pending{background:#fbbf2429;color:#fcd34d}:root[data-theme=dark] .tag--confirmed{color:#ddd6fe}:root[data-theme=dark] .tag--done{background:#22c55e29;color:#86efac}.kind{padding:3px 8px;background:var(--primary-soft);color:var(--primary)}.kind--stay{background:#4f46e51f;color:#4338ca}.kind--transfer{background:#0f766e1f;color:#0f766e}:root[data-theme=dark] .kind--stay{color:#c7d2fe}:root[data-theme=dark] .kind--transfer{color:#5eead4}.filters{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid var(--border);background:transparent;color:var(--muted-text);padding:6px 10px;cursor:pointer;gap:6px}.chip em{font-style:normal;color:var(--text)}.chip.is-on{background:var(--primary-soft);color:var(--primary);border-color:transparent}.search{margin-left:auto}.search input,.field input,.field select,.field textarea{height:40px;border:1px solid var(--border);border-radius:10px;background:var(--card);padding:0 12px;font-size:14px}.search input{width:min(260px,46vw)}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field span{font-size:13px;font-weight:650}.field textarea{height:84px;padding:10px 12px;resize:vertical}.field--wide{grid-column:1 / -1}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:14px}.warn{margin:0;padding:10px 12px;border-radius:10px;background:#fff7ed;color:#9a3412;font-size:13px;line-height:1.4}:root[data-theme=dark] .warn{background:#fb923c1f;color:#fdba74}.cal-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:12px;align-items:start}.cal__nav{display:flex;align-items:center;gap:6px}.icon-btn{width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:var(--card);cursor:pointer;font-size:18px;line-height:1}.cal__week,.cal__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.cal__week{padding:0 8px 6px;color:var(--muted-text);font-size:12px;font-weight:700}.cal__cell{min-height:92px;border:1px solid var(--border);border-radius:12px;background:var(--bg);padding:6px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:3px}.cal__cell.is-out{opacity:.4}.cal__cell.is-on{border-color:var(--primary);background:var(--primary-soft)}.cal__num{font-size:12px;font-weight:700}.cal__num.is-today{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#4f46e5;color:#fff}.mini{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:6px;font-size:11px;font-weight:700;padding:2px 6px;background:var(--primary-soft);color:#5b21b6}.mini--stay{background:#4f46e51f;color:#4338ca}.mini--transfer{background:#0f766e1f;color:#0f766e}:root[data-theme=dark] .mini{color:#ddd6fe}:root[data-theme=dark] .mini--stay{color:#c7d2fe}:root[data-theme=dark] .mini--transfer{color:#5eead4}.cal__more{color:var(--muted-text);font-size:11px}.daybox{position:sticky;top:0;padding:16px;display:flex;flex-direction:column;gap:8px}.daybox .btn{margin-top:8px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.svc{padding:16px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;border-top:3px solid #6d28d9}.svc--stay{border-top-color:#4f46e5}.svc--transfer{border-top-color:#0f766e}.svc h2{margin:0;font-size:18px}.svc p{margin:0}.svc .btn{margin-top:4px}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#18181b52;z-index:30;display:grid;place-items:center;padding:16px}.modal,.modal--small{width:min(640px,100%);max-height:min(860px,calc(100vh - 32px));display:flex;flex-direction:column;padding:16px;box-shadow:0 18px 50px #18181b29}.modal--small{width:min(420px,100%)}.modal header,.modal footer{flex-shrink:0}.modal__body{overflow:auto;padding:14px 0}.modal footer strong{margin-right:auto}.modal footer .btn--danger{margin-right:auto}.drawer{position:fixed;top:12px;right:12px;bottom:12px;width:min(420px,calc(100vw - 24px));z-index:31;display:flex;flex-direction:column;padding:16px;box-shadow:0 18px 50px #18181b2e}.backdrop:has(.drawer){display:block;background:#18181b47}.drawer__body{flex:1;overflow:auto;display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:8px 0 16px}.drawer__actions{flex-wrap:wrap;justify-content:flex-start}.meta{width:100%;display:grid;gap:10px;margin:0}.meta div{display:flex;justify-content:space-between;gap:12px}.meta dt{color:var(--muted-text);font-size:13px}.meta dd{margin:0;font-weight:650;text-align:right}.note{margin:0;padding:12px;border-radius:12px;background:var(--muted);font-size:14px;line-height:1.45}.toast{position:fixed;top:18px;right:18px;z-index:80;padding:14px 16px;border-radius:12px;background:#4ade80;color:#14532d;box-shadow:0 14px 32px #16653429}.public{min-height:100%;background:radial-gradient(980px 520px at 8% 8%,#ece7ff 0%,transparent 62%),radial-gradient(860px 480px at 96% 0%,#e5f0ff 0%,transparent 58%),linear-gradient(180deg,#f7f5ff,#fbfbfe 42%,#fff)}:root[data-theme=dark] .public{background:radial-gradient(980px 520px at 8% 8%,rgba(109,40,217,.28) 0%,transparent 62%),radial-gradient(860px 480px at 96% 0%,rgba(59,130,246,.18) 0%,transparent 58%),#1c1e28}.public__bar{position:sticky;top:0;z-index:4;padding:16px 0 0}.public__nav{width:min(1100px,calc(100% - 32px));margin:0 auto;padding:8px 10px 8px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#ffffffdb;border:1px solid rgba(255,255,255,.8);border-radius:999px;box-shadow:0 10px 30px #4c468c14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}:root[data-theme=dark] .public__nav{background:#1a1b20e6;border-color:var(--border);box-shadow:none}.public__actions{display:flex;align-items:center;gap:8px}.public__hero{width:min(1100px,calc(100% - 32px));margin:0 auto;padding:42px 0 72px;display:grid;grid-template-columns:.85fr 1.15fr;gap:36px;align-items:start}.public__hero--done{grid-template-columns:minmax(0,640px);justify-content:center}.public__copy h1{font-size:52px;line-height:1.02;letter-spacing:-.045em;color:#1e1b4b}.public__copy h1 em{display:block;margin-top:4px;font-style:normal;color:#6d28d9}:root[data-theme=dark] .public__copy h1{color:#f4f4f5}:root[data-theme=dark] .public__copy h1 em{color:#c4b5fd}.lead{margin:16px 0 0;color:#52525b;font-size:17px;line-height:1.55}:root[data-theme=dark] .lead{color:var(--muted-text)}.points{display:flex;gap:8px;margin:22px 0 0;padding:0;list-style:none}.points li{padding:6px 12px;border-radius:999px;background:#fffc;border:1px solid var(--border);font-size:13px;font-weight:700}:root[data-theme=dark] .points li{background:var(--card)}.sheet{padding:18px}.sheet h2{margin-bottom:14px}.pick{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.pick__card{border:1px solid var(--border);background:var(--bg);border-radius:12px;padding:10px;text-align:left;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:3px}.pick__card strong{font-size:14px}.pick__card small,.pick__card em{color:var(--muted-text);font-size:12px;font-style:normal}.pick__card.is-on{border-color:var(--primary);background:var(--primary-soft)}.sheet__foot{margin-top:14px}.sheet__foot strong{font-size:18px}@media (max-width: 980px){.stats{grid-template-columns:1fr 1fr}.split2,.cal-layout,.public__hero{grid-template-columns:1fr}.public__copy h1{font-size:40px}.daybox{position:static}}@media (max-width: 760px){.app{height:auto;min-height:100%;overflow:visible;padding:8px}.shell{flex-direction:column}.sidenav{width:auto}.sidenav__brand,.sidenav__foot{display:none}.sidenav__list{flex-direction:row;overflow:auto}.sidenav__link{width:auto;white-space:nowrap}.topbar{height:auto;flex-wrap:wrap;padding:10px}.grid2,.pick{grid-template-columns:1fr}.search{margin-left:0;width:100%}.search input{width:100%}.bk__money{display:none}}
