:root{--color-bg: #070b0a;--color-bg-alt: #0c1311;--color-ink: #ffffff;--color-ink-soft: rgba(255, 255, 255, .7);--color-ink-faint: rgba(255, 255, 255, .5);--color-line: rgba(255, 255, 255, .1);--color-line-strong: rgba(255, 255, 255, .18);--color-accent: #5ed29c;--color-accent-hover: #74dbac;--color-accent-soft: rgba(94, 210, 156, .08);--color-accent-ink: #070b0a;--color-danger: #ef4444;--color-surface: rgba(255, 255, 255, .04);--radius: 16px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:radial-gradient(circle at top,var(--color-bg-alt) 0%,var(--color-bg) 60%);color:var(--color-ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif}.page{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:48px 16px}.glass{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 8px 32px #0006}.container{width:100%;max-width:560px}h1{font-size:1.6rem;margin-bottom:4px}.subtitle{color:var(--color-ink-soft);margin-bottom:32px}.card{padding:24px;margin-bottom:20px}.day-list{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;margin-bottom:20px}.day-btn{flex:0 0 auto;padding:12px 16px;border-radius:12px;border:1px solid var(--color-line-strong);background:var(--color-surface);color:var(--color-ink);cursor:pointer;font-size:.85rem;transition:all .15s}.day-btn.active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-ink)}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.calendar-month-label{font-weight:600;text-transform:capitalize}.calendar-nav-btn{width:32px;height:32px;border-radius:8px;border:1px solid var(--color-line-strong);background:var(--color-surface);color:var(--color-ink);cursor:pointer;font-size:1.1rem;line-height:1}.calendar-nav-btn:disabled{opacity:.3;cursor:not-allowed}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:20px}.calendar-weekday{text-align:center;font-size:.75rem;color:var(--color-ink-faint);padding-bottom:4px}.calendar-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--color-ink);font-size:.85rem;cursor:pointer}.calendar-cell.empty{cursor:default}.calendar-cell.available{border:1px solid var(--color-line-strong);background:var(--color-surface)}.calendar-cell.available:hover{border-color:var(--color-accent)}.calendar-cell.disabled{color:var(--color-ink-faint);opacity:.35;cursor:not-allowed}.calendar-cell.selected{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-ink)}.window-list{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.window-btn{padding:8px 14px;border-radius:10px;border:1px solid var(--color-line-strong);background:var(--color-surface);color:var(--color-ink);cursor:pointer;font-size:.85rem}.window-btn.active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-ink)}.time-picker-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}.time-picker-row input[type=time]{width:auto}.busy-list{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:24px}.busy-pill{padding:4px 10px;border-radius:999px;border:1px solid var(--color-danger);color:var(--color-danger);font-size:.75rem}label{display:block;font-size:.85rem;color:var(--color-ink-soft);margin-bottom:6px;margin-top:16px}input,textarea,select{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--color-line-strong);background:#ffffff08;color:var(--color-ink);font-size:.95rem}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-accent)}button.primary{width:100%;margin-top:24px;padding:14px;border-radius:12px;border:none;background:var(--color-accent);color:var(--color-accent-ink);font-size:1rem;font-weight:600;cursor:pointer;transition:background .15s}button.primary:hover:not(:disabled){background:var(--color-accent-hover)}button.primary:disabled{opacity:.5;cursor:not-allowed}.error-text{color:var(--color-danger);font-size:.85rem;margin-top:12px}.success-text{color:var(--color-accent)}.empty-state{color:var(--color-ink-soft);text-align:center;padding:24px 0}table{width:100%;border-collapse:collapse;font-size:.85rem}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--color-line)}th{color:var(--color-ink-faint);font-weight:500}.cancel-btn{padding:6px 10px;border-radius:8px;border:1px solid var(--color-danger);background:transparent;color:var(--color-danger);font-size:.75rem;cursor:pointer}.cancel-btn:hover:not(:disabled){background:var(--color-danger);color:var(--color-ink)}.cancel-btn:disabled{opacity:.5;cursor:not-allowed}
