/* 軽量・シンプルなCSS */
:root{
  --bg:#ffffff; --fg:#111; --muted:#6b7280;
  --card:#f1f5f9; --line:#e5e7eb; --accent:#1f2937;
}
@media (prefers-color-scheme: dark){
  :root{ --bg:#0b0f14; --fg:#e5e7eb; --muted:#94a3b8; --card:#0f172a; --line:#1f2937; --accent:#cbd5e1;}
  body{color-scheme:dark;}
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, Roboto, "Hiragino Kaku Gothic ProN", "BIZ UDPGothic", "Noto Sans JP", "Yu Gothic UI", sans-serif;}
.topbar{display:flex;gap:.5rem;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg);}
.topbar h1{margin:0;font-size:1.1rem}
.actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
button,.import-label{background:var(--card);border:1px solid var(--line);color:var(--fg);padding:.4rem .6rem;border-radius:.5rem;cursor:pointer}
.import-label{display:inline-flex;align-items:center;gap:.25rem}
#import-file{display:none}
.import-label input{display:none}
#status{padding:.5rem 1rem;color:var(--muted)}

.grid{display:grid;grid-template-columns: 4.5rem repeat(5, 1fr); gap:.5rem; padding:1rem; max-width:980px; margin-inline:auto;}
.cell{background:var(--card);border:1px solid var(--line);border-radius:.6rem;padding:.5rem;min-height:4.5rem;display:flex;flex-direction:column;gap:.25rem}
.cell.header{background:transparent;border:none;text-align:center;padding:.25rem;min-height:unset;color:var(--muted)}
.cell .title{font-weight:600;font-size:.95rem}
.cell .room{font-size:.8rem;color:var(--muted)}
.cell[role="button"]{outline:2px dashed transparent}
.cell.editable{outline-color:var(--line);}
.time{font-size:.75rem;color:var(--muted)}

.footer{padding:1rem;color:var(--muted);text-align:center}
