*{box-sizing:border-box}:root{--bg: #f2f4fa;--card: #ffffff;--ink: #1a2233;--muted: #67718a;--accent: #4f46e5;--accent-soft: #eef0ff;--danger: #dc2626;--border: #e3e7f2}body{margin:0;font:16px/1.45 system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}main{max-width:560px;margin:0 auto;padding:16px 16px 96px}header{padding:8px 4px 12px}h1{font-size:22px;margin:0 0 4px}.hello{color:var(--muted);font-size:14px;margin:0}.banner{background:#fff8e6;border:1px solid #f3dfa0;color:#7a5b12;border-radius:12px;padding:10px 12px;font-size:13px;margin:0 0 14px}.tabs{display:flex;gap:4px;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:4px;margin:0 0 16px}.tabs button{flex:1;border:0;background:transparent;padding:10px;border-radius:11px;font-size:15px;font-weight:600;color:var(--muted);cursor:pointer}.tabs button[aria-selected=true]{background:var(--accent);color:#fff}.dates{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 14px}.dates button{min-width:54px;flex-shrink:0;border:1px solid var(--border);background:var(--card);border-radius:12px;padding:8px 6px;text-align:center;cursor:pointer;color:var(--ink)}.dates button span{display:block;font-size:11px;color:var(--muted);margin-bottom:2px}.dates button strong{font-size:16px}.dates button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.dates button[aria-pressed=true] span{color:#fffc}.rooms{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.room{border:1px solid var(--border);background:var(--card);border-radius:14px;padding:12px 14px;cursor:pointer;text-align:left;color:var(--ink)}.room[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.room h3{margin:0 0 4px;font-size:15px}.room .meta{margin:0;font-size:13px;color:var(--muted)}.section-title{font-size:16px;margin:4px 0 6px}.legend{display:flex;gap:14px;font-size:12px;color:var(--muted);margin:0 0 10px}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px}.dot-free{background:#cdebd8}.dot-busy{background:#f6c8c8}.dot-mine{background:#c7c9ff}.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.slot{padding:10px 4px;border-radius:10px;border:1px solid #cdebd8;background:#f0faf3;font-size:14px;cursor:pointer;color:var(--ink)}.slot:disabled{cursor:default}.slot.busy{background:#fdeaea;border-color:#f6c8c8;color:#9f2020}.slot.mine{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.slot.selected{background:var(--accent);border-color:var(--accent);color:#fff}.panel{position:sticky;bottom:12px;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:0 8px 24px #1720331f;margin-top:18px}.panel label{display:block;font-size:13px;color:var(--muted);margin:12px 0 4px}.panel input{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border);font-size:15px;font-family:inherit}.panel input:focus{outline:2px solid var(--accent);outline-offset:1px}.btn-row{display:flex;gap:8px;margin-top:14px}.btn{flex:1;padding:12px;border:0;border-radius:12px;background:var(--accent);color:#fff;font-weight:600;font-size:15px;cursor:pointer}.btn.ghost{background:var(--bg);color:var(--ink)}.btn.danger{background:#fdeaea;color:var(--danger)}.btn.small{flex:none;padding:8px 12px;font-size:13px}.mylist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.myitem{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:12px}.myitem .when{margin:2px 0 0;font-size:13px;color:var(--muted)}.empty{text-align:center;color:var(--muted);padding:32px 12px}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:24px;background:var(--ink);color:#fff;padding:10px 18px;border-radius:999px;font-size:14px;box-shadow:0 6px 20px #0003;z-index:10}
