.admin-header{background:#fff;border-bottom:1px solid #ddd}.admin-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:100px}.admin-header-links{display:flex;gap:28px;flex-wrap:wrap;font-size:.875rem;font-weight:600}.admin-main{padding-top:46px;padding-bottom:70px;min-height:calc(100vh - 200px)}.admin-title .eyebrow{margin-bottom:12px}.admin-title h1{font-size:clamp(1.9rem,4vw,3rem);line-height:1.15}.admin-account{font-size:.875rem;color:#666;margin-top:15px;overflow-wrap:anywhere}.admin-intro{margin-top:22px;font-size:1rem;color:#555;max-width:760px}.admin-notice-area{margin:24px 0}.admin-notice{border:1px solid #bbb;border-left:4px solid #000;padding:15px 18px;font-size:.9375rem}.admin-notice.error{background:#fff4f2;border-color:#8c3528;color:#70281e}.admin-notice.success{background:#f3f8e7}.admin-workspace{display:grid;grid-template-columns:minmax(290px,.8fr) minmax(0,1.35fr);gap:35px;align-items:start}.booking-form-panel{background:#f4f4f4;padding:28px;border-top:3px solid #000;position:sticky;top:25px;min-width:0}.panel-heading .eyebrow{font-size:.75rem;margin-bottom:12px}.panel-heading h2,.booking-list-heading h2{font-size:1.45rem;line-height:1.3}.booking-form-panel form{margin-top:25px}.booking-form-panel fieldset{border:0;margin:0;padding:0;min-width:0}.booking-form-panel label,.admin-gate label{display:block;font-size:.875rem;font-weight:700;margin-bottom:7px}.booking-form-panel input,.access-id{display:block;width:100%;min-width:0;border:1px solid #aaa;background:#fff;color:#000;border-radius:0;font:inherit;font-size:1rem;min-height:48px;padding:10px 12px}.date-inputs{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.admin-hint{font-size:.8125rem;color:#666;line-height:1.6;margin-top:15px}.form-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.form-actions .button{font-size:.875rem;min-height:48px;padding:12px 16px}.secondary-button,.booking-actions button,.admin-calendar-controls button{background:#fff;border:1px solid #bbb;color:#000;min-height:44px;font-size:.875rem;font-weight:600;padding:9px 13px}.secondary-button:hover,.booking-actions button:hover,.admin-calendar-controls button:hover{background:#eee}button:disabled,fieldset:disabled{opacity:.6;cursor:wait}.admin-calendar{padding:25px;border:1px solid #ccc;background:#fff}.admin-calendar-top{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:22px}.admin-calendar h2{font-size:1.6rem;line-height:1.3;text-transform:capitalize}.admin-calendar-controls{display:flex;gap:5px;flex-wrap:wrap}.admin-calendar-controls button{font-size:.8125rem;padding:8px 10px}.admin-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #ddd;border-left:1px solid #ddd}.admin-day{border-bottom:1px solid #ddd;border-right:1px solid #ddd;min-height:62px;padding:10px;display:flex;align-items:flex-start;justify-content:space-between;gap:3px;font-size:.9375rem}.admin-day.empty{background:#f5f5f5}.admin-day.occupied{background:#000;color:#fff}.admin-day.today>span:first-child{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:2px}.booked-marker{font-weight:700}.booking-list-section{margin-top:30px}.booking-list-heading{display:flex;gap:16px;align-items:center;justify-content:space-between}.booking-list-heading h2{font-size:1.15rem}.booking-list{padding:0;margin:20px 0 0;list-style:none}.booking-list li{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #ccc;padding:23px 0}.booking-list h3{font-size:1.05rem;line-height:1.5;letter-spacing:-.02em;overflow-wrap:anywhere}.booking-list li>div:first-child{min-width:0}.booking-period{font-size:.875rem;color:#555;margin-bottom:5px}.booking-actions{display:flex;gap:8px;flex-shrink:0}.admin-empty{padding:25px 0;font-size:.9375rem;color:#666}.admin-gate{margin-top:35px;max-width:760px;background:#f4f4f4;border-top:3px solid #000;padding:32px}.admin-gate h2{font-size:1.6rem;line-height:1.3}.admin-gate p{margin-top:20px}.admin-gate .button{margin-top:25px}.admin-gate label{margin-top:25px}.access-id{font-family:monospace;font-size:.875rem}.admin-footer{padding:22px 0;font-size:.8125rem}.delete-dialog{width:560px;padding:30px;border-radius:0}.delete-dialog h2{font-size:1.6rem;line-height:1.3;margin-bottom:20px}.delete-dialog p{font-size:1rem;overflow-wrap:anywhere}.delete-dialog p+p{margin-top:18px}.admin-calendar .calendar-weekdays span{font-size:.875rem}
@media(max-width:1000px){.admin-workspace{grid-template-columns:minmax(260px,.8fr) minmax(0,1fr);gap:22px}.booking-form-panel,.admin-calendar{padding:20px}.date-inputs{grid-template-columns:1fr}.booking-list li{align-items:flex-start;flex-direction:column;gap:12px}.booking-actions{flex-wrap:wrap}.admin-day{padding:7px;min-height:53px}.booking-list-heading{align-items:flex-start;flex-wrap:wrap}}
@media(max-width:760px){.admin-main{padding-top:30px}.admin-workspace{grid-template-columns:1fr;gap:30px}.booking-form-panel{position:static}.date-inputs{grid-template-columns:1fr 1fr}.admin-header-inner{min-height:82px}.admin-header-links{font-size:.8125rem;gap:10px 18px}.admin-title h1{font-size:clamp(1.8rem,6vw,2.6rem)}.admin-calendar-top{gap:14px}.admin-calendar h2{font-size:1.4rem}.admin-day{min-height:55px}.admin-gate{padding:24px}.admin-gate h2{font-size:1.4rem}}
@media(max-width:400px){.date-inputs{grid-template-columns:1fr}.admin-header-links{flex-direction:column;gap:7px}.admin-calendar{padding:14px}.admin-day{font-size:.875rem;padding:5px;min-height:47px}.admin-calendar .calendar-weekdays span{font-size:.75rem;padding:5px}.booking-list-heading h2{font-size:1.05rem}.delete-dialog{padding:23px}.form-actions .button{width:100%}}
