:root{color-scheme:light;--bg: #f5f3ed;--surface: #ffffff;--surface-alt: #f9f8f4;--ink: #1b1917;--ink-secondary: #44403c;--muted: #78716c;--line: #e7e5df;--line-strong: #d6d3cb;--accent: #0d6863;--accent-hover: #0a524e;--accent-soft: #e6f4f2;--accent-ink: #ffffff;--danger: #b91c1c;--danger-soft: #fef2f2;--warn: #b45309;--warn-soft: #fffbeb;--chip: #eeebe3;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .02);--shadow-md: 0 4px 12px rgba(28, 25, 23, .05), 0 1px 3px rgba(28, 25, 23, .03);--shadow-lg: 0 12px 28px rgba(28, 25, 23, .08), 0 4px 8px rgba(28, 25, 23, .04);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--nav-height: 3.8rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased}html.dark{color-scheme:dark;--bg: #121211;--surface: #1c1c1a;--surface-alt: #252422;--ink: #f5f4f0;--ink-secondary: #d6d3cd;--muted: #a8a29e;--line: #2e2c28;--line-strong: #44403a;--accent: #2ec4b6;--accent-hover: #48d1c4;--accent-soft: #122c2a;--accent-ink: #061c1a;--danger: #f87171;--danger-soft: #2d1414;--warn: #fbbf24;--warn-soft: #2e210b;--chip: #272522;--shadow-sm: none;--shadow-md: none;--shadow-lg: 0 8px 24px rgba(0, 0, 0, .35)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--ink);line-height:1.5;touch-action:manipulation}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .15s ease-in-out}button:active{transform:scale(.98)}a{color:inherit;text-decoration:none}.app{min-height:100dvh;padding-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom) + .8rem)}.top{position:sticky;top:0;z-index:20;display:flex;gap:.65rem;align-items:center;padding:.65rem 1rem;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand-badge{display:flex;align-items:center;gap:.4rem;font-weight:800;font-size:1.05rem;color:var(--accent);letter-spacing:-.02em;padding:.2rem .4rem;border-radius:var(--radius-sm);cursor:pointer;border:0;background:transparent}.search-wrap{position:relative;flex:1}.search-input-box{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:.85rem;color:var(--muted);pointer-events:none;display:flex;align-items:center}.search-wrap input{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:.6rem 2.2rem .6rem 2.4rem;font-size:16px;transition:border-color .2s ease,box-shadow .2s ease;box-shadow:var(--shadow-sm)}.search-wrap input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.clear-search-btn{position:absolute;right:.75rem;background:transparent;border:0;color:var(--muted);padding:.2rem .4rem;font-size:.9rem;cursor:pointer}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.85rem}.field span{font-size:.84rem;font-weight:600;color:var(--ink-secondary)}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-md);padding:.75rem .9rem;font-size:15px;transition:border-color .15s ease,box-shadow .15s ease}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}textarea{min-height:120px;resize:vertical}.primary,.ghost,.icon-btn{min-height:42px;border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;gap:.45rem;font-size:.92rem;font-weight:600;text-decoration:none}.primary{background:var(--accent);color:var(--accent-ink);border:0;padding:.65rem 1.15rem;box-shadow:0 2px 6px color-mix(in srgb,var(--accent) 25%,transparent)}.primary:hover{background:var(--accent-hover)}.ghost{background:var(--surface);border:1px solid var(--line);color:var(--ink);padding:.65rem 1rem}.ghost:hover{background:var(--surface-alt);border-color:var(--line-strong)}.primary.block,.ghost.block{width:100%}.icon-btn{min-width:40px;min-height:40px;padding:0 .65rem;background:var(--surface);border:1px solid var(--line);color:var(--ink-secondary)}.icon-btn:hover{background:var(--surface-alt)}.page{padding:.8rem 1rem 1.8rem;max-width:960px;margin:0 auto}.page h1{font-size:1.5rem;font-weight:750;letter-spacing:-.02em;margin:.3rem 0 .9rem}.page h2{font-size:1.1rem;font-weight:700;margin:1.4rem 0 .6rem;color:var(--ink-secondary)}.row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.space-between{justify-content:space-between}.list{display:flex;flex-direction:column;gap:.65rem}.card,.hit,.session{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--line);box-shadow:var(--shadow-sm);padding:.95rem 1.05rem;text-align:left;width:100%;transition:all .15s ease}.hit,.session{display:flex;flex-direction:column;gap:.3rem;cursor:pointer}.hit:hover,.session:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--line));box-shadow:var(--shadow-md);transform:translateY(-1px)}.session strong,.hit strong{font-size:1rem;color:var(--ink)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;margin:.7rem 0 1.2rem}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:.85rem .95rem;display:flex;flex-direction:column;gap:.15rem;box-shadow:var(--shadow-sm)}.stat-num{font-size:1.65rem;font-weight:800;color:var(--accent);line-height:1.1;letter-spacing:-.03em}.stat-label{font-size:.78rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.chips{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.3rem}.chip{background:var(--chip);color:var(--ink-secondary);padding:.25rem .65rem;min-height:28px;font-size:.82rem;font-weight:550;border-radius:999px;display:inline-flex;align-items:center;border:0}.chip.on{background:var(--accent);color:var(--accent-ink)}.code-badge{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem;font-weight:700;color:var(--accent);background:var(--accent-soft);padding:.15rem .45rem;border-radius:6px;display:inline-block}.nav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(4,1fr);gap:.15rem;padding:.4rem .5rem calc(.4rem + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--surface) 95%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);box-shadow:0 -2px 10px #00000008}.nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;color:var(--muted);font-size:.75rem;font-weight:600;padding:.35rem .2rem;border-radius:var(--radius-sm);transition:all .15s ease}.nav a svg{width:22px;height:22px;stroke-width:2;transition:transform .15s ease}.nav a.on{color:var(--accent)}.nav a.on svg{transform:translateY(-1px)}.results{position:absolute;left:0;right:0;top:calc(100% + 6px);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);max-height:65dvh;overflow-y:auto;box-shadow:var(--shadow-lg);z-index:50;padding:.4rem}.results-section-title{font-size:.74rem;font-weight:700;text-transform:uppercase;color:var(--muted);letter-spacing:.05em;padding:.4rem .6rem .2rem}.results button{width:100%;text-align:left;background:transparent;border:0;border-radius:var(--radius-sm);padding:.65rem .75rem;min-height:44px;display:flex;flex-direction:column;gap:.2rem;transition:background .12s ease}.results button:hover{background:var(--surface-alt)}.results button+button{border-top:1px solid var(--line)}.week-bar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.9rem}.week-range{font-weight:700;font-size:.98rem;color:var(--ink)}.day-strip{display:flex;gap:.35rem;overflow-x:auto;margin:.7rem 0 .9rem;padding-bottom:.2rem}.day-chip{min-width:3.5rem;min-height:56px;border-radius:12px;border:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.25rem .4rem;font-size:.75rem;color:var(--muted)}.day-chip strong{font-size:1.05rem;color:var(--ink)}.day-chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.day-chip.on strong{color:var(--accent-ink)}.week-board{display:none}.week-item{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;width:100%;min-height:44px;padding:.4rem .45rem;border:0;border-radius:10px;background:var(--surface);text-align:left}.week-item span{font-size:.78rem;color:var(--muted)}.agenda{display:flex;flex-direction:column;gap:.45rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:.75rem .85rem}.agenda-main{display:grid;grid-template-columns:4.2rem 1fr auto;gap:.65rem;align-items:center;width:100%;border:0;background:transparent;padding:0;text-align:left;min-height:44px}.agenda-time{font-size:1.15rem;font-weight:750;letter-spacing:-.03em}.agenda-body{display:flex;flex-direction:column;min-width:0}.agenda-body strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agenda-actions{display:flex;gap:.4rem}.agenda-actions .ghost{flex:1}.status{font-size:.78rem;font-weight:700;border-radius:999px;padding:.2rem .55rem;background:var(--chip);color:var(--ink-secondary);white-space:nowrap}.status-done{background:var(--accent-soft);color:var(--accent)}.status-cancelled,.status-no_show{background:var(--danger-soft);color:var(--danger)}.sticky-actions{position:sticky;bottom:calc(var(--nav-height) + env(safe-area-inset-bottom));display:flex;gap:.5rem;padding:.7rem 0 .2rem;background:color-mix(in srgb,var(--bg) 94%,transparent);z-index:6}.sticky-actions .primary,.sticky-actions .ghost{flex:1}.fold{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:.2rem .85rem .4rem;margin-top:.8rem}.fold summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center}.picker-hits{margin-top:.4rem}.day{background:var(--surface-alt);border:1px solid var(--line);border-radius:var(--radius-lg);padding:.75rem .85rem;display:flex;flex-direction:column;gap:.55rem}.day.is-today{border-color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 40%,var(--surface))}.day-header{display:flex;justify-content:space-between;align-items:center}.day h2{font-size:.95rem;font-weight:750;margin:0;color:var(--ink)}.today-badge{font-size:.72rem;font-weight:700;background:var(--accent);color:var(--accent-ink);padding:.1rem .45rem;border-radius:999px}.tabs{display:flex;gap:.4rem;background:var(--chip);padding:.25rem;border-radius:var(--radius-md);margin-bottom:.9rem}.tabs button{flex:1;min-height:36px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);font-weight:600;font-size:.88rem;transition:all .15s ease}.tabs button.primary{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.muted{color:var(--muted);font-size:.86rem}.error{color:var(--danger);font-size:.88rem;font-weight:500}.warn{color:var(--warn);font-size:.88rem;font-weight:500}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.login{min-height:100dvh;display:grid;place-items:center;padding:1.2rem;background:radial-gradient(circle at 50% 10%,color-mix(in srgb,var(--accent) 8%,var(--bg)),var(--bg))}.login form{width:min(420px,100%);background:var(--surface);padding:1.8rem;border-radius:var(--radius-xl);border:1px solid var(--line);box-shadow:var(--shadow-lg)}@media (min-width: 820px){.app{padding-bottom:1.5rem;padding-left:14rem}.nav{top:0;bottom:0;left:0;right:auto;width:14rem;height:100dvh;grid-template-columns:1fr;grid-template-rows:repeat(4,auto) 1fr;align-content:start;padding:1.2rem .85rem;border-top:0;border-right:1px solid var(--line);background:var(--surface)}.nav a{flex-direction:row;justify-content:flex-start;gap:.85rem;font-size:.95rem;padding:.7rem .95rem;border-radius:var(--radius-md)}.nav a.on{background:var(--accent-soft);color:var(--accent)}.top{padding:.8rem 1.8rem}.page{padding:1.4rem 1.8rem 2.5rem;max-width:1120px}.day-strip,.day-focus{display:none}.week-board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem;align-items:start}.sticky-actions{bottom:.4rem}.day{min-height:0}.stats-grid{grid-template-columns:repeat(4,1fr)}}
