:root{--navy:#18202b;--wine:#6d2637;--gold:#b8894a;--teal:#275c66;--ivory:#f2e5d5;--ink:#302720;--paper:#fffaf2}*{box-sizing:border-box}body{margin:0;background:var(--navy);color:var(--ivory);font-family:"Noto Sans JP",system-ui,sans-serif}.brand,h1,h2,h3{font-family:Georgia,"Yu Mincho",serif;font-weight:500}.compact-hero{height:150px;padding:22px max(18px,calc((100% - 760px)/2));display:flex;align-items:flex-start;justify-content:space-between;overflow:hidden;background:linear-gradient(135deg,#18202b,#4b2938)}.compact-hero img{width:115px;height:150px;object-fit:contain;opacity:.55}.brand{font-size:22px;letter-spacing:.08em}.wrap{width:min(760px,100%);margin:auto;padding:26px 14px 70px}.panel,.admin-card{background:var(--paper);color:var(--ink);border-radius:18px;padding:clamp(18px,4vw,30px);box-shadow:0 12px 40px #0002}.page-title{font-size:28px}.steps{display:flex;gap:7px}.steps i{height:5px;flex:1;border-radius:9px;background:#d8cabb}.steps i.on{background:var(--gold)}.section{padding:20px 0;border-bottom:1px solid #e5d7c7}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}label{display:block;font-size:14px;font-weight:500;margin-bottom:6px}input,select,textarea{width:100%;padding:12px;border:1px solid #cdbda9;border-radius:9px;background:#fffdf8;color:var(--ink);font:inherit;font-size:16px}.choice-row,.seat-grid,.toolbar{display:flex;flex-wrap:wrap;gap:8px}.choice,.seat{border:1px solid #cdbda9;background:#fffdf8;color:var(--ink);border-radius:999px;padding:10px 14px;cursor:pointer;text-decoration:none}.seat{border-radius:13px;text-align:left}.choice.selected,.seat.selected{background:var(--wine);color:#fff}.seat small{display:block}.time-selects{display:flex;align-items:center;gap:9px}.time-selects select{width:105px}.check{display:flex;gap:9px;align-items:flex-start;margin:12px 0}.check input{width:auto}.notice{background:#f7ead7;border-left:4px solid var(--gold);padding:14px;border-radius:10px;line-height:1.7}.mosaic{height:8px;margin:22px 0;border-radius:99px;background:linear-gradient(90deg,var(--wine),var(--gold),var(--teal))}.mosaic-art{height:13px;background:url('assets/gaudi-mosaic.svg') center/100% 100% no-repeat}.btn{width:100%;border:0;border-radius:11px;padding:14px;background:var(--gold);color:var(--navy);font:inherit;font-weight:700;cursor:pointer}.btn.secondary{background:var(--teal);color:#fff}.status{display:none;margin-top:12px;padding:12px;border-radius:9px}.status.show{display:block}.status.error{background:#f8dede;color:#792828}.status.success{background:#dcece3;color:#1d5838}.hidden{display:none!important}.footer{text-align:center;padding:28px 12px;color:#c9bba9;font-size:12px}.footer-gaudi{display:block;width:48px;height:64px;margin:0 auto 10px}.admin-shell{min-height:100vh;background:#eef0f2;color:#26313a}.admin-head{background:var(--navy);color:var(--ivory);padding:18px 22px;display:flex;justify-content:space-between;align-items:center}.admin-head nav{display:flex;gap:8px}.admin-main{width:min(1180px,100%);margin:auto;padding:22px}.admin-card{margin-bottom:18px;background:#fff}.dashboard-title,.calendar-head{display:flex;align-items:center;justify-content:space-between}.admin-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-top:14px}.cal-dow{text-align:center;font-size:12px;font-weight:700}.cal-day{min-height:78px;border:1px solid #d6dde0;border-radius:10px;background:#fff;padding:7px;text-align:left;cursor:pointer}.cal-day strong,.cal-day small{display:block}.cal-day small{font-size:10px}.cal-day.selected{background:var(--teal);color:#fff}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px;border-bottom:1px solid #e7eaec;font-size:13px}.table-wrap{overflow-x:auto}.badge{display:inline-block;padding:4px 8px;border-radius:99px;background:#f2e5d5}.badge.alert{background:#f5dadd;color:#792838}.row-note{min-width:180px;min-height:62px}.modal{position:fixed;inset:0;background:#09101ab8;z-index:20;display:flex;align-items:flex-start;justify-content:center;padding:30px 12px;overflow-y:auto}.modal-box{width:min(760px,100%);position:relative}.modal-close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:28px}@media(max-width:620px){.grid,.grid.three{grid-template-columns:1fr}.compact-hero{height:115px}.compact-hero img{width:80px;height:105px}.wrap{padding:16px 8px}.admin-main{padding:10px}.admin-calendar{gap:3px}.cal-day{min-height:65px;padding:4px}.cal-day small{font-size:8px}.admin-head{align-items:flex-start}.admin-head nav{flex-wrap:wrap;justify-content:flex-end}.time-selects select{width:90px}}
.date-picker{position:relative}.date-picker input{padding-right:58px}.date-open{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:42px;height:42px;border:0;background:transparent;color:#7f2939;font-size:22px;cursor:pointer}.date-calendar{position:absolute;z-index:30;top:calc(100% + 8px);left:0;width:min(340px,calc(100vw - 70px));padding:14px;background:#fffaf1;border:1px solid #d7c1a6;border-radius:18px;box-shadow:0 15px 40px rgba(20,27,39,.2)}.date-calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.date-calendar-head button{border:0;background:transparent;font-size:22px;cursor:pointer}.date-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.date-calendar-grid .dow{text-align:center;font-size:12px;color:#766b61}.date-calendar-grid button{aspect-ratio:1;border:1px solid #ddcfbd;border-radius:10px;background:#fff;color:#211b17;cursor:pointer}.date-calendar-grid button.closed{background:#6f7479;color:#fff;border-color:#54595e;cursor:not-allowed}.date-calendar-grid button.closed small{display:block;font-size:9px;font-weight:700}.date-calendar-grid button.outside{background:#e7e7e7;color:#aaa;border-color:#ddd;cursor:not-allowed}.date-calendar-grid button.selected{background:#7f2939;color:#fff}.option-summary{margin:10px 0;color:#6b594c;font-size:.92rem}.option-summary strong{color:#7f2939}
.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.course-card{display:flex;gap:12px;text-align:left;border:1px solid #d8c7b2;border-radius:14px;background:#fffdf8;padding:10px;color:var(--ink);cursor:pointer}.course-card.selected{border:2px solid var(--wine);background:#f8ebed}.course-card img{width:92px;height:76px;border-radius:9px;object-fit:cover}.course-card span,.course-card small,.course-card b{display:block}.course-card small{margin:5px 0;font-weight:400}.course-card b{color:var(--wine)}@media(max-width:620px){.course-grid{grid-template-columns:1fr}}
.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.course-card{display:flex;gap:12px;text-align:left;border:1px solid #d8c7b2;border-radius:14px;background:#fffdf8;padding:10px;color:var(--ink);cursor:pointer}.course-card.selected{border:2px solid var(--wine);background:#f8ebed}.course-card img{width:92px;height:76px;border-radius:9px;object-fit:cover}.course-card span,.course-card small,.course-card b{display:block}.course-card small{margin:5px 0;font-weight:400}.course-card b{color:var(--wine)}.manage-course{display:grid;grid-template-columns:110px 1fr auto;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid #ddd}.manage-course img{width:110px;height:80px;object-fit:cover;border-radius:10px}.manage-course h3,.manage-course p{margin:0 0 6px}.manage-course small{display:block;margin-top:6px}.course-preview{display:block;width:min(360px,100%);max-height:220px;object-fit:cover;margin:10px 0;border-radius:12px}.course-people{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:15px}.course-people label{display:flex;align-items:center;gap:5px}.course-people input{width:auto}@media(max-width:620px){.course-grid{grid-template-columns:1fr}.manage-course{grid-template-columns:1fr}.manage-course img{width:100%;height:160px}}
.priority-setting{display:flex;align-items:flex-start;gap:10px;margin:16px 0;padding:14px;background:#f7ead7;border-radius:11px}.priority-setting input{width:auto;margin-top:3px}.priority-setting small{display:block;margin-top:4px;color:#6f6257}.priority-badge{display:inline-block;margin-left:8px;padding:3px 8px;border-radius:99px;background:#7b293b;color:#fff;font:12px system-ui}.order-help{font-size:13px;color:#6f6257}.order-help.order-warning{color:#842c38;font-weight:700}
.time-help{margin:7px 0 0;color:#6f6257;font-size:13px}.choice:disabled{background:#e3e3e3;color:#999;border-color:#d2d2d2;cursor:not-allowed}.time-selects select:disabled{background:#ededed;color:#999}
.login-keep{grid-column:1/-1}.login-keep small{font-weight:400;color:#6f6257}.reset-user{margin-left:6px;white-space:nowrap}
.admin-head nav{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.admin-head nav .choice{white-space:nowrap}.compact-btn{width:auto}.menu-tabs{display:flex;gap:8px;margin:15px 0 22px}.option-grid{display:grid;gap:10px;margin-top:14px}.option-card{display:grid;grid-template-columns:auto 1fr;gap:10px;border:1px solid #d8c7b2;border-radius:13px;padding:12px;background:#fffdf8}.option-card img{grid-row:1;width:86px;height:68px;object-fit:cover;border-radius:8px}.option-card input{width:auto;margin-top:4px}.option-card span,.option-card small,.option-card b,.option-card em{display:block}.option-card em{color:#7b293b;font-style:normal;font-weight:700;margin-top:5px}.option-card.disabled{background:#e5e5e5;color:#888;border-color:#d2d2d2}.pending-note{min-width:240px;min-height:72px}.inline-save-state{display:block;font-size:12px;color:#27633c;margin-top:4px}.admin-calendar .cal-day.past{background:#d9dde0!important;color:#777!important;border-color:#c5c9cc!important}.admin-calendar .cal-day.past.selected{outline:3px solid var(--teal)}
@media(max-width:760px){.admin-head{display:block}.admin-head .brand{display:block;margin-bottom:12px}.admin-head nav{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px}.option-card{grid-template-columns:auto 1fr}}
.admin-calendar .cal-day.closed-day{background:#d5d9dc!important;color:#72787d!important;border-color:#bfc5c9!important}
.admin-calendar .cal-day.closed-day.selected{outline:3px solid var(--teal);outline-offset:1px}

html.auth-checking #loginCard,html.auth-checking #settingsLogin,html.auth-checking #accountLogin{visibility:hidden}
html.auth-checking body:before{display:none}
