:root{--ink: #1f2933;--sub: #6b7682;--line: #e1e5ea;--bg: #f5f7f9;--card: #fff;--navy: #1f3a5f;--navy-soft: #e8eef6;--busy: #eceff3;--red: #b42318;--green: #1f7a4d;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Noto Sans JP,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button{font:inherit;cursor:pointer}input,select,textarea{font:inherit;font-size:16px}a{color:var(--navy)}.top{position:sticky;top:0;z-index:10;background:var(--navy);color:#fff;padding:10px 14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.top .brand{font-weight:700;font-size:15px}.top nav{display:flex;gap:6px;margin-left:auto}.top nav a{color:#cfe0ee;text-decoration:none;padding:6px 10px;border-radius:8px;font-size:14px}.top nav a.on{background:#ffffff26;color:#fff}.page{max-width:1100px;margin:0 auto;padding:14px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:14px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn{border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 14px;min-height:40px}.btn.primary{background:var(--navy);color:#fff;border-color:var(--navy)}.btn.danger{color:var(--red);border-color:#f1c4bf}.btn.small{padding:5px 10px;min-height:32px;font-size:13px}.seg{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}.seg button{border:none;background:#fff;padding:8px 12px}.seg button.on{background:var(--navy);color:#fff}.muted{color:var(--sub);font-size:13px}.err{color:var(--red);font-size:14px;white-space:pre-wrap;margin:8px 0}.ok{color:var(--green);font-size:14px;margin:8px 0}label.f{display:block;font-size:13px;color:var(--sub);margin:10px 0 4px}.in{width:100%;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff}pre.guide{white-space:pre-wrap;word-break:break-all;background:var(--bg);border-radius:10px;padding:10px;font-size:14px;margin:8px 0}.cal-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:12px;background:#fff}.cal{display:grid;position:relative}.cal .head{position:sticky;top:0;background:#fff;z-index:2;border-bottom:1px solid var(--line);font-size:13px;text-align:center;padding:6px 2px}.cal .head.today{color:var(--navy);font-weight:700}.cal .times{border-right:1px solid var(--line)}.cal .tl{height:40px;font-size:11px;color:var(--sub);text-align:right;padding-right:4px;transform:translateY(-7px)}.cal .col{position:relative;border-right:1px solid var(--line)}.cal .slot{height:20px;border-bottom:1px dashed #f0f2f5}.cal .slot:nth-child(2n){border-bottom:1px solid var(--line)}.blk{position:absolute;left:2px;right:2px;border-radius:6px;padding:2px 5px;font-size:11.5px;line-height:1.3;overflow:hidden;cursor:pointer}.blk.event{background:var(--busy);border-left:3px solid #9aa5b1;color:var(--ink)}.blk.meeting{background:var(--navy-soft);border-left:3px solid var(--navy);color:var(--navy)}.blk .t{font-weight:700}.modal-bg{position:fixed;inset:0;background:#0f172073;z-index:50;display:flex;align-items:flex-end;justify-content:center}.modal{background:#fff;width:100%;max-width:520px;max-height:92vh;overflow-y:auto;border-radius:16px 16px 0 0;padding:16px}@media(min-width:640px){.modal-bg{align-items:center}.modal{border-radius:16px}}.modal h3{margin:0 0 8px;font-size:17px}.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px}.slots button{padding:10px 0;border:1px solid var(--line);border-radius:10px;background:#fff}.slots button.on{background:var(--navy);color:#fff;border-color:var(--navy)}.days{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.days button{flex:0 0 auto;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:14px}.days button.on{background:var(--navy);color:#fff;border-color:var(--navy)}table.t{width:100%;border-collapse:collapse;font-size:14px}table.t td{padding:8px 4px;border-bottom:1px solid var(--line);vertical-align:middle}
