@charset "UTF-8";
:root{--ink:#172238;--muted:#667187;--blue:#244de4;--blue-soft:#eef2ff;--border:#e1e6f0;--surface:#fff;--bg:#f5f7fb;--navy:#152446;--danger:#b32e37;--radius:16px;font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;color:var(--ink);background:var(--bg);font-size:16px;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;line-height:1.6}a{color:inherit;text-decoration:none}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.7}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #7291ff;outline-offset:4px}h1,h2,h3,p{margin:0}h1{font-size:2rem;letter-spacing:-.055em;line-height:1.35;font-weight:750}h2{font-size:1.25rem;letter-spacing:-.035em}h3{font-size:1rem}p{word-break:keep-all}ul{padding-left:1.3rem}small{font-size:.875rem}img{display:block;max-width:100%}[hidden]{display:none!important}.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;left:16px;top:-80px;z-index:50;background:var(--navy);color:#fff;padding:12px}.skip:focus{top:12px}
.site-header{height:88px;background:#fff;border-bottom:1px solid var(--border)}.header-inner{max-width:1440px;height:100%;padding:0 44px;margin:auto;display:flex;align-items:center;gap:60px}.brand{display:flex;gap:12px;align-items:center;font-size:1.25rem;font-weight:750;line-height:1.2;white-space:nowrap}.brand small{display:block;font-size:.625rem;letter-spacing:.15em;margin-top:7px;color:var(--muted)}.brand-mark{background:var(--blue);color:#fff;border-radius:12px;width:42px;height:44px;text-align:center;font-size:2.25rem;line-height:44px;font-family:Georgia,serif;font-weight:400}.site-header nav{display:flex;height:100%;gap:32px;align-items:stretch}.site-header nav>a{display:flex;align-items:center;border-bottom:3px solid transparent;padding-top:3px;font-weight:600;color:var(--muted)}.site-header nav>a.active{color:var(--blue);border-bottom-color:var(--blue)}.account{display:flex;align-items:center;gap:22px;margin-left:auto;font-size:.875rem}.text-button{padding:0;border:0;background:none;color:var(--muted);font-size:.875rem}.header-caption{margin-left:auto;color:var(--muted);font-size:.875rem}.container{max-width:1440px;min-height:calc(100vh - 182px);padding:44px;margin:auto}.site-footer{max-width:1440px;padding:28px 44px;display:flex;justify-content:space-between;gap:16px;margin:auto;font-size:.8125rem;color:var(--muted)}.site-footer>span:first-child{font-weight:700}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.page-heading p{margin-top:10px}.eyebrow{font-size:.6875rem;font-weight:750;color:var(--blue);letter-spacing:.16em;display:block;margin-bottom:10px}.heading-note{font-size:.875rem;display:flex;flex-direction:column;align-items:flex-end;gap:5px}.heading-note>span{color:var(--muted)}.heading-note>strong{font-weight:650}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:30px}.narrow{max-width:510px;margin:12px auto 30px}.narrow>p{margin-top:10px;margin-bottom:24px}.button{min-height:44px;padding:10px 18px;border:1px solid var(--border);border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:.9375rem;font-weight:650;line-height:1.4;color:var(--ink);background:#fff;transition:background .15s}.button:hover{background:#f0f3fa}.button.primary{background:var(--blue);border-color:var(--blue);color:#fff}.button.primary:hover{background:#1839b9}.button.small{min-height:38px;padding:7px 13px;font-size:.875rem}.button.full{width:100%;margin-top:8px}.button.danger-outline{color:var(--danger);border-color:#eccace}.text-link{color:var(--blue);font-size:.875rem;font-weight:650;white-space:nowrap}.back-link{display:inline-block;margin-bottom:22px;font-size:.875rem;color:var(--muted)}.back-link:hover{color:var(--blue)}.badge{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;padding:5px 9px;background:#edf0f5;color:#526079;white-space:nowrap;font-size:.8125rem;line-height:1.4;font-weight:650}.badge.blue{background:var(--blue-soft);color:var(--blue)}.badge.green{background:#e8f5f0;color:#14735c}.badge.red{background:#fff0f0;color:#ad2d35}.badge.amber{background:#fff3dc;color:#865806}
.schedule-panel{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.schedule-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;border-bottom:1px solid var(--border);flex-wrap:wrap}.tabs{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.tabs a{padding:9px 15px;color:var(--muted);font-size:.9375rem;white-space:nowrap;font-weight:600;border-radius:8px}.tabs a:hover{background:#f6f8fc}.tabs a.selected{background:var(--blue-soft);color:var(--blue)}.tabs a span{font-size:.75rem;margin-left:4px;opacity:.7}.date-controls{display:flex;align-items:center;gap:10px}.date-form{display:flex;align-items:center;gap:8px}.date-form input{border:0;background:none;width:155px;padding:8px 4px;font-size:.9375rem;font-weight:600;color:var(--ink)}.icon-button{width:32px;height:38px;display:flex;justify-content:center;align-items:center;font-size:1.75rem;color:var(--muted)}.icon-button:hover{background:var(--bg);border-radius:6px}.board-caption{padding:24px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.board-caption h2{display:flex;gap:10px;align-items:center}.board-caption h2>span:not(.badge){font-size:.875rem;font-weight:400;color:var(--muted)}.legend{display:flex;gap:18px;font-size:.8125rem;color:var(--muted)}.legend>span{display:flex;align-items:center;gap:7px}.key{display:block;width:12px;height:12px;border-radius:3px}.key.free{border:1px solid #c7d5fa;background:#f4f7ff}.key.busy{background:#cbd3e1}.key.mine{background:var(--blue)}.schedule-scroll{overflow:auto;overscroll-behavior-x:contain;scrollbar-color:#b6c1d6 #f5f7fb}.timetable{border-collapse:separate;border-spacing:0;table-layout:fixed;min-width:max-content;width:100%;border-top:1px solid var(--border)}.timetable th,.timetable td{border-right:1px solid #edf0f6;border-bottom:1px solid #edf0f6;width:48px;min-width:48px;text-align:center;padding:0}.timetable thead th{height:42px;font-size:.75rem;font-weight:500;color:var(--muted);background:#f9faff}.timetable .room-heading{position:sticky;left:0;background:#fff;z-index:2;width:122px;min-width:122px;padding:10px 18px;text-align:left;border-right:1px solid var(--border);box-shadow:2px 0 5px #17223804}.timetable thead .room-heading{background:#f9faff}.room-heading strong{display:block;font-size:.9375rem;white-space:nowrap}.room-heading a,.room-heading>span{display:block;font-size:.75rem;margin-top:3px;color:var(--muted)}.room-heading a:hover{color:var(--blue)}.timetable tbody td{height:68px;padding:6px 3px}.slot{height:44px;display:flex;justify-content:center;align-items:center;border-radius:5px;font-size:.75rem;min-width:41px}.slot.free{background:#f1f5ff;border:1px solid #dce5fb;color:#6685d5}.slot.free span{opacity:0}.slot.free:hover,.slot.free:focus-visible{background:#dce6ff;border-color:#8ca8f5}.slot.free:hover span,.slot.free:focus-visible span{opacity:1}.slot.busy{background:#d7deea;color:#8693a9}.slot.mine{background:var(--blue);color:#fff;font-weight:650}.slot.past{background:#f5f6f9}.slot.closed{background:repeating-linear-gradient(135deg,#eceef3,#eceef3 3px,#f7f8fb 3px,#f7f8fb 6px)}.board-footer{padding:18px 24px;display:flex;gap:20px;justify-content:space-between;font-size:.8125rem;color:var(--muted)}
.field{margin:20px 0;min-width:0}.field>label{display:block;font-weight:650;font-size:.9375rem;margin-bottom:8px}.field input:not([type=radio]):not([type=checkbox]),.field textarea,.field select{width:100%;max-width:100%;min-width:0;border:1px solid #ccd4e2;border-radius:9px;padding:12px 13px;background:#fff;color:var(--ink);min-height:48px}.field input[type=file]{font-size:.8125rem;padding:12px!important;background:#f8faff!important}.field input::file-selector-button{background:#fff;border:1px solid var(--border);padding:7px 9px;border-radius:6px;color:var(--ink);font-family:inherit;margin-right:10px;cursor:pointer}.field textarea{resize:vertical;min-height:110px}.field input:focus,.field textarea:focus,.field select:focus{border-color:#7996ff}.required{color:var(--blue)}.help{font-size:.8125rem;line-height:1.7;color:var(--muted);margin-top:9px}.help ul{margin:8px 0 0;padding-left:18px}.help li{margin:2px 0}.field-errors,.errorlist{color:var(--danger);font-size:.875rem;margin:8px 0;list-style:none;padding:0}.form-errors{background:#fff0f0;border:1px solid #edc9cd;border-radius:10px;padding:12px 16px;color:var(--danger);font-size:.9375rem}.form-errors ul{margin:0;list-style:none;padding:0}.messages{margin-bottom:24px}.message{padding:14px 18px;border:1px solid #c6d5ff;background:#edf3ff;border-radius:10px;margin-bottom:10px}.message.error{background:#fff1f1;border-color:#efc5ca;color:var(--danger)}.notice{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:16px 20px;background:#fff5e6;border:1px solid #f1ddb8;color:#775421;border-radius:10px;margin-bottom:24px;font-size:.9375rem}.notice.neutral{background:#edf3ff;border-color:#d5e1fa;color:var(--ink);margin-top:20px}.notice p{margin-top:6px}.privacy-note{padding:14px;background:var(--bg);border-radius:9px;margin-bottom:20px}.auth-layout{display:grid;grid-template-columns:1.05fr 1fr;max-width:1060px;margin:26px auto;background:#fff;border:1px solid var(--border);border-radius:22px;overflow:hidden;min-height:590px}.auth-intro{background:var(--navy);padding:54px 44px;color:#fff;display:flex;flex-direction:column;align-items:flex-start}.eyebrow.light{color:#91a8eb}.auth-intro h1{font-size:2.625rem;line-height:1.45;letter-spacing:-.06em;margin-top:22px}.auth-intro>p{color:#c1cde7;margin-top:22px;font-size:1rem;line-height:1.8}.intro-facts{display:flex;gap:28px;margin-top:auto;padding-top:55px;width:100%}.intro-facts>div{display:flex;flex-direction:column}.intro-facts strong{font-size:2rem;font-weight:650;line-height:1.2}.intro-facts strong span{font-size:1rem;margin-left:3px}.intro-facts>div>span{font-size:.8125rem;color:#b2c0de;margin-top:10px}.intro-rooms{font-size:.75rem;color:#a6b6d6;margin-top:32px;padding-top:20px;border-top:1px solid #ffffff20;width:100%}.auth-form{padding:54px 48px}.auth-form h2{font-size:1.75rem}.auth-form>p{margin-top:8px;margin-bottom:26px}.auth-switch{font-size:.875rem;text-align:center;margin-top:28px!important;color:var(--muted)}.auth-switch>a{color:var(--blue);font-weight:650;margin-left:5px}
.split-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:1100px}.split-layout aside{align-self:start}.split-layout aside>p{font-size:.9375rem;margin-top:10px}.duration-preview{background:var(--blue-soft);color:var(--blue);border-radius:10px;padding:16px 18px;font-weight:700;margin:24px 0 15px;font-size:1.125rem}.upcoming-list{padding:0;list-style:none;margin:24px 0}.upcoming-list li{padding:15px 0;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.upcoming-list strong{font-size:.9375rem;font-weight:550}.section-tabs{margin-bottom:22px}.booking-list{display:grid;gap:14px}.booking-card{display:flex;align-items:center;gap:22px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:22px 26px;transition:border-color .15s}.booking-card:hover{border-color:#91a7eb}.room-token{width:60px;height:60px;flex-shrink:0;background:var(--blue-soft);color:var(--blue);border-radius:11px;display:flex;justify-content:center;align-items:center;font-size:1.125rem;font-weight:750}.booking-main{flex:1;min-width:0}.booking-main h2{font-size:1.0625rem}.booking-main p{font-size:.9375rem;color:var(--muted);margin-top:5px}.card-action{font-size:.8125rem;color:var(--muted);margin-left:12px}.empty{text-align:center;padding:60px 24px}.empty h2{margin:10px 0}.empty .button{margin-top:24px}.empty-symbol{font-size:3rem;color:#9dabd0}.pagination{display:flex;justify-content:center;align-items:center;gap:22px;font-size:.875rem;margin-top:30px}.reservation-summary dl{margin:0;display:flex;gap:50px;flex-wrap:wrap}.reservation-summary dl div{display:flex;flex-direction:column;gap:7px}.reservation-summary dt{font-size:.875rem;color:var(--muted)}.reservation-summary dd{margin:0;font-weight:600}.reservation-summary dd span{font-size:.875rem;margin-left:8px;font-weight:400}.actions{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}.reservation-summary>.help{margin-top:18px}.section{margin-top:36px}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}.section-heading span{font-size:.875rem}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.photo-card{border:1px solid var(--border);background:#fff;border-radius:12px;overflow:hidden}.photo-card img{aspect-ratio:4/3;width:100%;object-fit:contain;background:#e9edf5}.photo-card>div{padding:18px;display:flex;justify-content:space-between;align-items:center;gap:8px}.note{margin-top:20px}.note p{margin-top:12px}.review-panel{margin-top:28px;max-width:720px}.upload-card{padding:24px}.step-number{display:inline-flex;color:var(--blue);font-size:.875rem;font-weight:700;background:var(--blue-soft);padding:5px 9px;border-radius:6px;margin-bottom:12px}.upload-card>h2{margin-bottom:22px}.upload-card fieldset{margin:0;padding:0;border:0}.upload-card legend{font-size:.9375rem;font-weight:600;margin-bottom:12px}.upload-card fieldset label{display:flex;align-items:center;gap:8px;padding:8px 0;font-size:.9375rem;cursor:pointer}.upload-card input[type=radio]{width:18px;height:18px;accent-color:var(--blue)}.upload-card .field{margin-bottom:0}.upload-preview{width:100%;max-height:230px;object-fit:contain;border-radius:8px;background:var(--bg);margin-top:18px}.checkout-note{margin-top:24px;max-width:900px}.checkout-note .button{margin-top:22px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:26px}.stat{background:#fff;border:1px solid var(--border);border-radius:14px;padding:24px;display:flex;justify-content:space-between;align-items:center;gap:12px}.stat>span{font-size:.9375rem;color:var(--muted)}.stat strong{font-size:2rem;font-weight:700;color:var(--blue)}.stat small{font-weight:400;color:var(--muted);margin-left:7px}.search-form{display:flex;gap:8px}.search-form input{width:180px;border:1px solid var(--border);border-radius:8px;padding:8px 11px;font-size:.875rem}.table-scroll{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}.admin-table th{padding:15px 24px;background:#f9faff;color:var(--muted);font-size:.8125rem;font-weight:600;border-bottom:1px solid var(--border)}.admin-table td{padding:19px 24px;border-bottom:1px solid var(--border);font-size:.9375rem}.admin-table tr:last-child td{border-bottom:0}.admin-table small{display:block;color:var(--muted);margin-top:2px;font-size:.8125rem}.table-empty{text-align:center!important;padding:64px 24px!important;color:var(--muted)}
@media(max-width:1050px){.header-inner{padding:0 24px;gap:30px}.container{padding:30px 24px}.site-footer{padding:24px}.schedule-toolbar{padding:16px}.board-caption{padding:20px}.auth-intro{padding:40px 28px}.auth-form{padding:40px 28px}.photo-grid{gap:12px}.upload-card{padding:20px}.stat{padding:20px}.heading-note{display:none}}
@media(max-width:720px){.site-header{height:auto;min-height:82px}.header-inner{padding:16px 20px 0;gap:14px;flex-wrap:wrap}.brand{font-size:1.0625rem}.brand-mark{width:34px;height:36px;font-size:1.75rem;line-height:36px;border-radius:9px}.brand small{font-size:.5625rem;margin-top:5px}.site-header nav{order:3;width:100%;height:48px;gap:30px}.account{gap:14px;font-size:.8125rem}.text-button{font-size:.8125rem}.header-caption{font-size:.75rem;padding-bottom:16px}.header-inner:has(.header-caption){padding-bottom:16px}.container{padding:26px 16px;min-height:calc(100vh - 215px)}.site-footer{padding:22px 16px;flex-direction:column;gap:4px;font-size:.75rem}h1{font-size:1.75rem}.page-heading{align-items:flex-start;gap:16px;margin-bottom:24px;flex-wrap:wrap}.page-heading p{font-size:.9375rem}.page-heading>.button{min-height:40px;font-size:.875rem;padding:9px 13px}.eyebrow{font-size:.625rem}.panel{padding:22px}.schedule-toolbar{padding:14px 12px;gap:16px}.tabs a{padding:8px 12px;font-size:.875rem}.date-controls{width:100%;justify-content:space-between;gap:5px;border-top:1px solid var(--border);padding-top:12px}.date-form{gap:4px}.date-form input{width:142px;font-size:.875rem}.board-caption{padding:18px 14px;gap:12px}.board-caption h2{font-size:1.0625rem}.legend{font-size:.75rem;gap:12px}.timetable .room-heading{width:88px;min-width:88px;padding:8px 10px}.room-heading strong{font-size:.875rem}.timetable th,.timetable td{width:45px;min-width:45px}.slot{min-width:38px}.board-footer{padding:16px 14px;flex-direction:column;gap:5px;font-size:.75rem}.auth-layout{display:flex;flex-direction:column;min-height:0;margin:0;border-radius:16px}.auth-intro{padding:28px}.auth-intro h1{font-size:1.75rem;margin-top:6px}.auth-intro>p{display:none}.intro-facts{padding-top:24px;gap:34px;margin-top:0}.intro-facts strong{font-size:1.5rem}.intro-facts strong span{font-size:.8125rem}.intro-facts>div>span{font-size:.75rem}.intro-rooms{margin-top:22px;padding-top:15px;font-size:.6875rem}.auth-form{padding:28px}.auth-form>.eyebrow{display:none}.auth-form h2{font-size:1.5rem}.auth-form>p{margin-bottom:16px}.split-layout{grid-template-columns:1fr}.notice{font-size:.875rem;flex-wrap:wrap;gap:8px;padding:14px 16px}.booking-card{padding:18px 16px;gap:14px;flex-wrap:wrap}.room-token{width:48px;height:48px;font-size:1rem}.booking-main{flex-basis:calc(100% - 64px)}.booking-main p{font-size:.8125rem}.booking-card>.badge{margin-left:62px}.card-action{margin-left:auto}.reservation-summary dl{gap:22px;flex-direction:column}.section-heading{align-items:flex-start;flex-direction:column;gap:6px}.photo-grid{grid-template-columns:1fr}.photo-card img{max-height:360px}.upload-card{padding:24px}.upload-card fieldset label{padding:10px 0}.stats{gap:8px}.stat{flex-direction:column;align-items:flex-start;padding:15px 12px;gap:5px}.stat>span{font-size:.8125rem}.stat strong{font-size:1.625rem}.stat small{font-size:.75rem}.search-form{width:100%}.search-form input{flex:1;min-width:0}.section-tabs{gap:0}.narrow{margin:0}.actions{flex-direction:column}.actions .button{width:100%}.checkout-note .button{width:100%}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.map-topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;flex-wrap:wrap}.view-switch{display:flex;background:#e8edf6;padding:4px;border-radius:9px;gap:4px}.view-switch a{font-size:.875rem;padding:7px 18px;border-radius:6px;color:var(--muted);font-weight:600}.view-switch a.selected{background:#fff;color:var(--ink);box-shadow:0 1px 3px #18284610}.floorplan-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:26px;align-items:start;max-width:1120px}.floorplan-card{border:1px solid var(--border);border-radius:16px;background:#fff;overflow:hidden}.floorplan-title{padding:24px 28px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:16px}.floorplan-title .eyebrow{margin-bottom:5px}.floorplan-title h2{font-size:1.125rem}.map-scroll{overflow:auto;background:radial-gradient(circle,#e8edf6 1px,transparent 1px);background-size:16px 16px;padding:8px 0}.floorplan-svg{display:block;width:100%;max-width:580px;min-width:480px;height:auto;margin:0 auto}.map-corridor rect{fill:#f3f5f9;stroke:none}.map-guides text{fill:#8791a2;font-size:16px;letter-spacing:.04em}.map-stairs rect{fill:#e1e8e9;stroke:#b8c8ce;stroke-width:1}.map-stairs text{fill:#506d72;font-size:20px;font-weight:600}.map-room rect{stroke:#fff;stroke-width:4;fill:#e9edf3;transition:fill .15s}.map-room-name{font-size:22px;fill:#274dca;font-weight:700;pointer-events:none}.map-room-status{font-size:13px;fill:#6079c6;pointer-events:none}.map-room.free rect{fill:#e7eeff}.map-room.busy rect{fill:#d1d9e7}.map-room.busy text{fill:#566580}.map-room.mine rect{fill:#244de4}.map-room.mine text{fill:#fff}.map-room.past rect{fill:#edf0f5}.map-room.past text{fill:#8b95a8}.map-room.closed rect,.map-room.inactive rect{fill:#eef0f3}.map-context-name{fill:#929bac;font-size:17px;dominant-baseline:middle}.map-room.band .map-room-name{font-size:17px}.map-room:hover rect,.map-room:focus-visible rect{fill:#bed0ff;stroke:#244de4;stroke-width:3}.map-room:hover text,.map-room:focus-visible text{fill:#183aa1}.map-room.inactive:hover rect,.map-room.closed:hover rect{fill:#eef0f3;stroke:#fff;stroke-width:4}.map-bottom-label{font-size:14px;fill:#929bad}.map-sidebar{position:sticky;top:24px}.map-sidebar .panel{padding:26px}.map-sidebar h2{font-size:1.375rem}.map-sidebar .muted{font-size:.875rem;margin-top:5px}.map-time-form .field{margin:18px 0}.map-info{padding:24px 10px}.map-info>p{font-size:.875rem;margin-top:20px;color:var(--muted)}.map-info>.help{font-size:.8125rem}.map-legend{display:grid;grid-template-columns:1fr 1fr;gap:12px 8px;margin-top:16px;font-size:.8125rem;color:var(--muted)}.map-legend>span{display:flex;align-items:center;gap:8px}.key.context{background:#edf0f4;border:1px solid #dfe4eb}
@media(max-width:900px){.floorplan-layout{grid-template-columns:minmax(0,1fr) 270px;gap:18px}.map-sidebar .panel{padding:20px}.floorplan-title{padding:20px}.map-sidebar h2{font-size:1.125rem}}
@media(max-width:720px){.floorplan-layout{display:flex;flex-direction:column;gap:20px}.map-sidebar{position:static;width:100%;order:-1}.map-sidebar .panel{padding:18px 20px}.map-time-form{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.map-time-form .field{margin:10px 0 0;min-width:0}.map-time-form>.button{grid-column:1/-1;margin-top:0}.map-time-form .field input,.map-time-form .field select{display:block;width:100%;max-width:100%;min-width:0;min-height:48px;padding:10px 12px;font-size:16px}.map-sidebar .panel>.eyebrow{display:none}.map-info{padding:18px 4px 0}.map-info h3,.map-info>p{display:none}.map-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:0}.floorplan-card{width:100%}.floorplan-title{padding:18px 16px}.floorplan-title h2{font-size:1rem}.map-topbar{gap:14px}.view-switch a{padding:6px 14px;font-size:.8125rem}.floorplan-title .badge{font-size:.75rem}.floorplan-svg{min-width:0;width:100%;margin:0 auto}}

/* Keep native Safari date controls inside their fields on small screens. */
.field input[type=date],.field input[type=datetime-local]{display:block;-webkit-appearance:none;appearance:none;min-width:0;max-width:100%;text-align:left}
.field input::-webkit-date-and-time-value{min-width:0;min-height:1.6em;text-align:left}
@media(max-width:720px){
  .panel,.split-layout>*,.map-sidebar{min-width:0}
  .field input:not([type=radio]):not([type=checkbox]),.field select,.field textarea{font-size:16px}
  .floorplan-title{flex-wrap:wrap;gap:10px}
  .map-topbar>.tabs,.map-topbar>.view-switch{min-height:44px}
  .view-switch a{min-height:36px;display:flex;align-items:center}
  .date-controls{flex-wrap:wrap;justify-content:flex-start}
  .date-form{min-width:0;flex:1}
  .date-form input{width:100%;min-width:0;max-width:155px}
}

@media(min-width:721px){.photo-grid.two-photos{grid-template-columns:repeat(2,minmax(0,1fr))}}
