:root{--brown:#76533d;--dark:#3c2d24;--cream:#f7f2ec;--gold:#bc8a42;--red:#a33b32;--green:#2f7751;--border:#dfd4ca}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:#302822;font-family:-apple-system,BlinkMacSystemFont,"Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.7}.topbar{min-height:64px;background:var(--dark);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px max(4vw,20px)}.topbar a{color:#fff;text-decoration:none;font-weight:700}.topbar nav{display:flex;gap:18px}.container{width:min(1120px,94%);margin:34px auto 70px}.narrow{max-width:620px}.admin-container>h1{font-family:"Yu Mincho",serif}.panel,.notice{background:#fff;border:1px solid var(--border);border-radius:10px;padding:26px;margin-bottom:24px;box-shadow:0 4px 16px rgba(60,45,36,.07)}h1,h2{line-height:1.35;margin-top:0}h1{font-size:1.9rem}h2{font-size:1.35rem}.lead{color:#5f554e}.booking-form{display:grid;gap:17px;max-width:720px}.booking-form label{display:grid;gap:6px;font-weight:700}.booking-form input,.booking-form select,.booking-form textarea,.status-form select{width:100%;font:inherit;padding:12px;border:1px solid #b9aca2;border-radius:6px;background:#fff}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}.check{grid-template-columns:auto 1fr!important;align-items:start;font-weight:400!important}.check input{width:auto;margin-top:7px}.primary,.button{display:inline-block;border:0;border-radius:6px;background:var(--brown);color:#fff!important;padding:13px 24px;font:inherit;font-weight:700;text-align:center;text-decoration:none;cursor:pointer}.primary:hover{background:var(--dark)}.honeypot{position:absolute;left:-9999px}.notice.success{border-left:7px solid var(--green)}.notice.error{border-left:7px solid var(--red)}.month-nav{display:grid;grid-template-columns:100px 1fr 100px;align-items:center;text-align:center;gap:8px}.month-nav h2{margin:0}.month-nav a{color:var(--brown);font-weight:700}.small{font-size:.88rem;color:#71665f}.calendar-scroll{overflow-x:auto;border:1px solid var(--border)}table{border-collapse:collapse;white-space:nowrap;min-width:100%}th,td{border:1px solid var(--border);padding:7px;text-align:center;font-size:.82rem}thead th,tbody th{background:#f1e8df;position:sticky;left:0;z-index:1}td.open{color:var(--green)}td.busy,td.confirmed{background:#f3d8d4;color:#7e231d;font-weight:700}td.pending{background:#fff0c9;color:#6f4d00;font-weight:700}.back{text-align:center}.back a{color:var(--brown);font-weight:700}.reservation-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.reservation-card{border:1px solid var(--border);border-left:7px solid #c9a64b;border-radius:7px;padding:17px}.reservation-card.status-confirmed{border-left-color:var(--green)}.reservation-card.status-rejected,.reservation-card.status-cancelled{opacity:.63;border-left-color:#888}.reservation-heading{display:flex;justify-content:space-between;gap:12px}.reservation-heading span{font-weight:700}.status-form{display:grid;grid-template-columns:1fr auto;gap:8px}.status-form button{border:0;border-radius:5px;background:#555;color:#fff;padding:8px 14px;font-weight:700}@media(max-width:700px){body{font-size:16px}.topbar{align-items:flex-start;flex-direction:column;gap:6px}.container{margin-top:20px}.panel,.notice{padding:19px 16px}.two-cols,.reservation-list{grid-template-columns:1fr}.month-nav{grid-template-columns:72px 1fr 72px}.month-nav h2{font-size:1.1rem}h1{font-size:1.55rem}}

