:root{--primary-color: #3a86ff;--primary-light: #a0b3f8;--primary-dark: #2541c9;--accent-color: #8338ec;--secondary-color: #7209b7;--background-color: #ffffff;--background-alt: #f8f9ff;--light-bg: #f8f9ff;--text-color: #2b2d42;--text-light: #6c757d;--dark-gray: #2b2d42;--light-gray: #edf2fb;--medium-gray: #d7e3fc;--confirmed-color: #06d6a0;--pending-color: #ffd166;--cancelled-color: #ef476f;--timeline-facility-name-width: 200px;--timeline-facility-name-width-mobile: 100px;--timeline-row-height: 60px;--timeline-header-height: 40px;--timeline-time-label-height: 20px;--timeline-reservation-height: calc(var(--timeline-row-height) - var(--timeline-time-label-height) - 5px);--timeline-reservation-top-offset: 5px;--timeline-reservation-vertical-offset: calc(var(--timeline-row-height) - var(--timeline-time-label-height));--timeline-min-slot-width: 4;--timeline-slot-interval-minutes: 30;--timeline-initial-slot-width: 150;--timeline-time-slot-label-right-offset: 5;--timeline-time-slot-label-top-offset: 20;--font-family: "SF Pro Display", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;--font-size-small: .875rem;--font-size-normal: 1rem;--font-size-medium: 1.25rem;--font-size-large: 1.5rem;--font-size-xlarge: 2rem;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2.5rem;--border-radius: 12px;--border-radius-lg: 24px;--border-radius-xl: 32px;--shadow-small: 0 4px 12px rgba(0, 0, 0, .05);--shadow-medium: 0 8px 24px rgba(58, 134, 255, .12);--shadow-large: 0 12px 36px rgba(131, 56, 236, .15);--transition-speed: .3s;--transition-spring: cubic-bezier(.175, .885, .32, 1.275);--glass-bg: rgba(255, 255, 255, .7);--glass-border: 1px solid rgba(255, 255, 255, .2);--glass-shadow: 0 8px 32px rgba(31, 38, 135, .1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);font-size:var(--font-size-normal);line-height:1.5;color:var(--text-color);background-color:var(--background-color);background-image:radial-gradient(circle at 10% 20%,rgba(58,134,255,.05) 0%,transparent 20%),radial-gradient(circle at 90% 80%,rgba(131,56,236,.05) 0%,transparent 20%);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{width:100%;max-width:100%;margin:0;padding:0}.app{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;padding:60px 0 0;position:relative;z-index:1}.container{width:100%;max-width:1400px;margin:0 auto;padding:0 var(--spacing-md)}.row{display:flex;flex-wrap:wrap;margin:0 -1rem}.col{padding:0 1rem;flex:1 0 0%}.col-1{flex:0 0 8.333333%;max-width:8.333333%}.col-2{flex:0 0 16.666667%;max-width:16.666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.333333%;max-width:33.333333%}.col-5{flex:0 0 41.666667%;max-width:41.666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.333333%;max-width:58.333333%}.col-8{flex:0 0 66.666667%;max-width:66.666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.333333%;max-width:83.333333%}.col-11{flex:0 0 91.666667%;max-width:91.666667%}.col-12{flex:0 0 100%;max-width:100%}.grid{display:grid;gap:var(--spacing-md)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-auto{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.items-center{align-items:center}.items-start{align-items:start}.items-end{align-items:end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}@media (max-width: 992px){.grid-4{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-12{flex:0 0 100%;max-width:100%}.row{margin:0 -.5rem}.col{padding:0 .5rem}}@media (max-width: 576px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.col-sm-12{flex:0 0 100%;max-width:100%}}.btn,.search-button{overflow:hidden;z-index:1;transition:transform .3s ease,box-shadow .3s ease,color .2s ease;position:relative;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--border-radius);border:none;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#fff;font-weight:600;cursor:pointer}.btn:before,.search-button:before{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(to right,#fff0,#ffffff4d,#fff0);transform:skew(-25deg);z-index:2;transition:all .75s ease;opacity:0}.btn:after,.search-button:after{content:"";display:block;position:absolute;pointer-events:none;width:100%;height:100%;left:0;top:0;z-index:0;opacity:0}.btn:hover,.search-button:hover{transform:translateY(-3px);box-shadow:0 10px 20px #001e501a,0 3px 6px #0000000d}.btn:hover:before,.search-button:hover:before{animation:shine 1.5s ease-in-out}.btn:active,.search-button:active{transform:translateY(0);box-shadow:0 5px 10px #001e500d,0 2px 4px #0000000d}.btn .bubbles-container,.search-button .bubbles-container{position:absolute;width:100%;height:100%;left:0;top:0;pointer-events:none;overflow:hidden;border-radius:inherit}.btn:hover .bubble,.search-button:hover .bubble{animation-play-state:running}.btn:hover:active:after,.search-button:hover:active:after{content:"";position:absolute;width:100%;height:100%;top:0;left:0;background-color:#fff6;border-radius:inherit;animation:ripple .6s linear}.btn:active,.search-button:active{transform:translateY(0)}.btn.btn-secondary,.btn-secondary.search-button{background:linear-gradient(135deg,#8338ec,#3a86ff)}.btn.btn-accent,.btn-accent.search-button{background:linear-gradient(135deg,#ff006e,#fb5607)}.btn.btn-outline,.btn-outline.search-button{background:transparent;border:2px solid var(--primary-color);color:var(--primary-color)}.btn.btn-outline:hover,.btn-outline.search-button:hover{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#fff}.btn.btn-sm,.btn-sm.search-button{padding:.25rem .75rem;font-size:.85rem}.btn .btn-content,.search-button .btn-content{position:relative;z-index:2}.btn-with-bubbles{position:relative;overflow:hidden}.btn-with-bubbles .bubble{position:absolute;background-color:#fff9;border-radius:50%;pointer-events:none;z-index:0;opacity:0}.btn-with-bubbles .bubble:nth-child(1){width:8px;height:8px;left:20%;bottom:-20px;animation:bubble-rise 12s linear infinite;animation-delay:.2s}.btn-with-bubbles .bubble:nth-child(2){width:11px;height:11px;left:30%;bottom:-20px;animation:bubble-rise 14s linear infinite;animation-delay:.4s}.btn-with-bubbles .bubble:nth-child(3){width:14px;height:14px;left:40%;bottom:-20px;animation:bubble-rise 16s linear infinite;animation-delay:.6s}.btn-with-bubbles .bubble:nth-child(4){width:17px;height:17px;left:50%;bottom:-20px;animation:bubble-rise 18s linear infinite;animation-delay:.8s}.btn-with-bubbles .bubble:nth-child(5){width:5px;height:5px;left:60%;bottom:-20px;animation:bubble-rise 10s linear infinite;animation-delay:1s}.btn-with-bubbles .bubble:nth-child(6){width:8px;height:8px;left:70%;bottom:-20px;animation:bubble-rise 12s linear infinite;animation-delay:1.2s}.btn-with-bubbles .bubble:nth-child(7){width:11px;height:11px;left:80%;bottom:-20px;animation:bubble-rise 14s linear infinite;animation-delay:1.4s}.btn-with-bubbles .bubble:nth-child(8){width:14px;height:14px;left:90%;bottom:-20px;animation:bubble-rise 16s linear infinite;animation-delay:1.6s}.btn-with-bubbles:hover .bubble{animation-play-state:running}.btn-glass{background:var(--glass-bg)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:var(--glass-border);box-shadow:var(--glass-shadow);color:var(--primary-color)}.btn-glass:hover{background:#ffffff40!important;color:var(--primary-dark)}.search-button{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px}.card{background-color:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:var(--glass-border);border-radius:var(--border-radius-lg);padding:var(--spacing-md);box-shadow:var(--glass-shadow);transition:transform .3s,box-shadow .3s}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-large)}.card .card-title{font-weight:600;font-size:var(--font-size-medium);margin-bottom:var(--spacing-sm);background:linear-gradient(90deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.floating-shapes{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:0}.floating-shapes .shape{position:absolute;border-radius:50%;opacity:.2;animation:float 20s ease-in-out infinite}.floating-shapes .shape.shape-1{width:200px;height:200px;top:10%;left:5%;background:linear-gradient(45deg,var(--primary-color),var(--primary-light));animation-duration:25s}.floating-shapes .shape.shape-2{width:300px;height:300px;bottom:-150px;right:10%;background:linear-gradient(45deg,var(--accent-color),var(--secondary-color));animation-duration:30s;animation-delay:2s}.floating-shapes .shape.shape-3{width:150px;height:150px;top:60%;left:15%;background:linear-gradient(45deg,var(--primary-light),var(--accent-color));animation-duration:20s;animation-delay:1s}.floating-shapes .shape.shape-4{width:100px;height:100px;top:20%;right:15%;background:linear-gradient(45deg,var(--secondary-color),var(--primary-color));animation-duration:15s;animation-delay:3s}.header{background-color:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:var(--glass-border);box-shadow:var(--glass-shadow);padding:var(--spacing-md) 0;position:fixed;top:0;left:0;right:0;width:100%;z-index:10;min-height:60px;transition:padding .3s ease-in-out,min-height .3s ease-in-out,background-color .3s ease-in-out,backdrop-filter .3s ease-in-out,box-shadow .3s ease-in-out}.header.scrolled{padding:var(--spacing-sm) 0;min-height:50px;background-color:#ffffffe6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,0,0,.1);box-shadow:0 2px 20px #00000014}.header.scrolled .logo{font-size:var(--font-size-medium);transform:scale(.9);transition:transform .3s ease-in-out,font-size .3s ease-in-out}.header.scrolled .nav-menu a,.header.scrolled .nav-menu .dropdown-toggle{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-small)}.header.scrolled .user-account .account-button{padding:var(--spacing-xs)}.header.scrolled .user-account .account-button .user-initials{width:28px;height:28px}.header.scrolled .user-account .account-button .username{font-size:var(--font-size-small)}.header .container{display:flex;align-items:center;justify-content:space-between}.header .logo{font-weight:700;font-size:var(--font-size-large);color:var(--primary-color);text-decoration:none;position:relative;display:flex;align-items:center;transition:transform .3s ease-in-out,font-size .3s ease-in-out}.header .logo:after{content:"";position:absolute;bottom:-5px;left:0;width:100%;height:2px;background:linear-gradient(90deg,var(--primary-color),var(--accent-color));transform:scaleX(0);transform-origin:right;transition:transform .5s ease}.header .logo:hover:after{transform:scaleX(1);transform-origin:left}.header .logo span{color:var(--accent-color);position:relative;margin-left:5px}.header .logo span:before{content:"";position:absolute;top:-10px;right:-10px;width:20px;height:20px;background-color:#8338ec1a;border-radius:50%;z-index:-1}.header .nav-menu{display:flex;list-style:none;align-items:center;gap:var(--spacing-sm)}.header .nav-menu li{position:relative;overflow:visible}.header .nav-menu li.user-account{overflow:visible;margin-left:var(--spacing-md)}.header .nav-menu li.nav-dropdown{position:relative}.header .nav-menu li.nav-dropdown.active .dropdown-toggle{color:var(--primary-color)}.header .nav-menu li.nav-dropdown.active .dropdown-toggle:before{opacity:1;transform:scale(1)}.header .nav-menu li.nav-dropdown.active .dropdown-toggle .dropdown-arrow{transform:rotate(180deg)}.header .nav-menu li.nav-dropdown.active .dropdown-menu{opacity:1;visibility:visible;transform:translateY(5px) translate(-50%)}.header .nav-menu li.nav-dropdown .dropdown-toggle{display:flex;align-items:center;background:none;border:none;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--border-radius);cursor:pointer;color:var(--dark-gray);font-weight:500;transition:all .4s cubic-bezier(.165,.84,.44,1);position:relative;z-index:1}.header .nav-menu li.nav-dropdown .dropdown-toggle:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(120deg,#3a86ff14,#8338ec14);border-radius:var(--border-radius);opacity:0;transform:scale(.8);transition:all .4s cubic-bezier(.165,.84,.44,1);z-index:-1;box-shadow:0 4px 10px #0000}.header .nav-menu li.nav-dropdown .dropdown-toggle:hover,.header .nav-menu li.nav-dropdown .dropdown-toggle:focus{color:var(--primary-color);transform:translateY(-2px)}.header .nav-menu li.nav-dropdown .dropdown-toggle:hover:before,.header .nav-menu li.nav-dropdown .dropdown-toggle:focus:before{opacity:1;transform:scale(1);box-shadow:0 4px 10px #3a86ff26}.header .nav-menu li.nav-dropdown .dropdown-toggle .dropdown-arrow{margin-left:var(--spacing-xs);transition:transform .3s ease}.header .nav-menu li.nav-dropdown .dropdown-menu{position:absolute;top:100%;left:50%;transform:translate(-50%);min-width:180px;background:#fffffff2;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:var(--glass-border);border-radius:var(--border-radius);box-shadow:var(--glass-shadow);list-style:none;padding:var(--spacing-xs);z-index:20;opacity:0;visibility:hidden;transform:translateY(10px) translate(-50%);transition:all .3s cubic-bezier(.165,.84,.44,1)}.header .nav-menu li.nav-dropdown .dropdown-menu.show{opacity:1;visibility:visible;transform:translateY(5px) translate(-50%)}.header .nav-menu li.nav-dropdown .dropdown-menu:before{content:"";position:absolute;top:-5px;left:50%;transform:translate(-50%) rotate(45deg);width:10px;height:10px;background:#fffffff2;border-left:var(--glass-border);border-top:var(--glass-border)}.header .nav-menu li.nav-dropdown .dropdown-menu li{margin:0;width:100%}.header .nav-menu li.nav-dropdown .dropdown-menu li a{display:flex;align-items:center;padding:var(--spacing-sm) var(--spacing-md);color:var(--dark-gray);text-decoration:none;transition:all .3s ease;border-radius:var(--border-radius);margin:var(--spacing-xs) 0;font-weight:400}.header .nav-menu li.nav-dropdown .dropdown-menu li a:hover,.header .nav-menu li.nav-dropdown .dropdown-menu li a:focus{background:linear-gradient(120deg,#3a86ff1a,#8338ec1a);color:var(--accent-color);transform:translate(3px)}.header .nav-menu li.nav-dropdown .dropdown-menu li a:before,.header .nav-menu li.nav-dropdown .dropdown-menu li a:after{display:none}.header .nav-menu li.nav-dropdown .dropdown-menu li a.active{background:linear-gradient(120deg,#3a86ff26,#8338ec26);color:var(--accent-color);font-weight:600}.header .nav-menu li.nav-dropdown .dropdown-menu li a.active:before,.header .nav-menu li.nav-dropdown .dropdown-menu li a.active:after{display:none}.header .nav-menu a{color:var(--dark-gray);text-decoration:none;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--border-radius);transition:all .4s cubic-bezier(.165,.84,.44,1);position:relative;z-index:1;font-weight:500}.header .nav-menu a:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(120deg,#3a86ff14,#8338ec14);border-radius:var(--border-radius);opacity:0;transform:scale(.8);transition:all .4s cubic-bezier(.165,.84,.44,1);z-index:-1;box-shadow:0 4px 10px #0000}.header .nav-menu a:after{content:"";position:absolute;bottom:-2px;left:50%;width:0;height:2px;background:linear-gradient(90deg,var(--primary-color),var(--accent-color));transition:all .3s ease;transform:translate(-50%);opacity:0}.header .nav-menu a:hover,.header .nav-menu a:focus{color:var(--primary-color);transform:translateY(-2px)}.header .nav-menu a:hover:before,.header .nav-menu a:focus:before{opacity:1;transform:scale(1);box-shadow:0 4px 10px #3a86ff26}.header .nav-menu a:hover:after,.header .nav-menu a:focus:after{width:60%;opacity:1}.header .nav-menu a.active{color:var(--primary-color);font-weight:600}.header .nav-menu a.active:before{opacity:1;transform:scale(1);background:linear-gradient(120deg,#3a86ff1f,#8338ec1f);box-shadow:0 4px 10px #3a86ff26}.header .nav-menu a.active:after{content:"";position:absolute;bottom:-2px;left:50%;transform:translate(-50%);width:60%;height:3px;background:linear-gradient(90deg,var(--primary-color),var(--accent-color));border-radius:3px;opacity:1}.user-account{position:relative}.user-account .account-button{display:flex;align-items:center;background:none;border:none;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius);cursor:pointer;color:var(--dark-gray);transition:all .3s cubic-bezier(.165,.84,.44,1)}.user-account .account-button:hover{background-color:var(--light-gray);transform:translateY(-2px);box-shadow:0 4px 8px #0000000d}.user-account .account-button .user-initials{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;margin-right:var(--spacing-xs);box-shadow:0 2px 5px #3a86ff33;transition:transform .3s ease}.user-account .account-button:hover .user-initials{transform:scale(1.1) rotate(5deg)}.user-account .account-button .username{font-size:var(--font-size-normal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.user-account .account-dropdown{position:absolute;top:100%;right:0;width:250px;background:#ffffffd9;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.3);border-radius:var(--border-radius);box-shadow:0 10px 25px #00000014,0 2px 5px #00000008,inset 0 1px 1px #ffffffb3;z-index:100;overflow:hidden;margin-top:var(--spacing-xs);animation:dropdown-appear .3s cubic-bezier(.165,.84,.44,1) forwards}.user-account .account-dropdown:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--border-radius);padding:1px;background:linear-gradient(to bottom,#ffffffb3,#fff3);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.user-account .account-dropdown .dropdown-header{padding:var(--spacing-md);position:relative}.user-account .account-dropdown .dropdown-header .user-name{font-weight:700;margin-bottom:var(--spacing-xs);font-size:var(--font-size-medium);background:linear-gradient(90deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.user-account .account-dropdown .dropdown-header .user-email{color:var(--text-light);margin-bottom:var(--spacing-xs);font-size:var(--font-size-small);word-break:break-all}.user-account .account-dropdown .dropdown-header .organization{font-size:var(--font-size-small);background:#ffffffb3;border:1px solid rgba(131,56,236,.2);padding:2px 8px;border-radius:12px;display:inline-block;margin-top:var(--spacing-xs);box-shadow:0 2px 5px #8338ec1a}.user-account .account-dropdown .dropdown-divider{height:1px;background:linear-gradient(to right,#00000005,#0000001a,#00000005);margin:0}.user-account .account-dropdown .logout-button{width:100%;padding:var(--spacing-md);text-align:left;background:none;border:none;cursor:pointer;font-size:var(--font-size-normal);color:#ef476f;transition:all .3s ease;position:relative;overflow:hidden}.user-account .account-dropdown .logout-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background-color:#ef476f1a;border-radius:50%;transform:translate(-50%,-50%);z-index:-1;transition:width .4s ease,height .4s ease}.user-account .account-dropdown .logout-button:hover{color:var(--accent-color)}.user-account .account-dropdown .logout-button:hover:before{width:300px;height:300px}@media (max-width: 768px){.header .container{flex-direction:column}.header .container .logo{margin-bottom:var(--spacing-sm)}.header .nav-menu{width:100%;justify-content:center;flex-wrap:wrap}.header .nav-menu li{margin:0 var(--spacing-xs)}.header .nav-menu li.nav-dropdown .dropdown-menu{min-width:160px;left:0;transform:translate(0) translateY(10px)}.header .nav-menu li.nav-dropdown .dropdown-menu.show{transform:translate(0) translateY(5px)}.header .nav-menu li.nav-dropdown .dropdown-menu:before{left:20px}}.main-header{background:linear-gradient(135deg,#fffffffa,#fafbfdfa);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,0,0,.08);box-shadow:0 2px 8px #0000000a;position:fixed;top:0;left:0;right:0;z-index:1000;transition:all .3s ease;padding:.4rem 0}.main-header.scrolled{padding:.3rem 0;background:#fffffff2;box-shadow:0 4px 12px #00000014}.main-header.scrolled .container{padding:0 var(--spacing-xs)}.main-header.scrolled .logo{font-size:1.1rem}.main-header.scrolled .header-controls .building-tabs{height:32px}.main-header.scrolled .header-controls .building-tabs .building-tab{padding:.25rem .75rem;font-size:.85rem}.main-header.scrolled .header-controls .date-control-compact input{height:32px;font-size:.85rem}.main-header.scrolled .header-controls .date-control-compact .btn-icon-small{width:28px;height:28px}.main-header .container{max-width:100%;padding:0 var(--spacing-xs);display:flex;align-items:center;gap:var(--spacing-xs);transition:padding .3s ease}.main-header .logo{display:flex;align-items:center;gap:.5rem;text-decoration:none;transition:all .3s ease;white-space:nowrap;flex-shrink:0;position:relative}.main-header .logo:hover .logo-main{background-position:100% 50%;transform:scale(1.05)}.main-header .logo:hover .logo-ja{opacity:1;transform:translateY(0)}.main-header .logo .logo-main{font-size:1.4rem;font-weight:900;background:linear-gradient(90deg,var(--primary-color) 0%,var(--accent-color) 50%,var(--primary-color) 100%);background-size:200% 100%;background-position:0% 50%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.5px;transition:all .5s cubic-bezier(.23,1,.32,1)}.main-header .logo .logo-ja{font-size:.65rem;color:var(--text-light);font-weight:500;opacity:.7;transform:translateY(-2px);transition:all .3s ease;letter-spacing:.5px}.main-header .header-controls{flex:1;display:flex;align-items:center;gap:var(--spacing-xs);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.main-header .header-controls::-webkit-scrollbar{display:none}.main-header .header-controls .building-tabs{display:flex;background:#0000000a;border-radius:var(--border-radius);padding:2px;height:32px;flex-shrink:0}.main-header .header-controls .building-tabs .building-tab{padding:.25rem .75rem;background:none;border:none;color:var(--text-light);font-size:.85rem;font-weight:500;border-radius:calc(var(--border-radius) - 2px);cursor:pointer;transition:all .2s ease;white-space:nowrap}.main-header .header-controls .building-tabs .building-tab:hover:not(.active){background:#ffffff80;color:var(--text-dark)}.main-header .header-controls .building-tabs .building-tab.active{background:#fff;color:var(--primary-color);box-shadow:0 1px 3px #0000001a;font-weight:600}.main-header .header-controls .date-control-compact{display:flex;align-items:center;gap:.125rem;background:#00000005;border-radius:var(--border-radius);padding:.125rem;flex-shrink:0}.main-header .header-controls .date-control-compact .btn-icon-small{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:var(--border-radius);cursor:pointer;color:var(--text-light);transition:all .2s ease}.main-header .header-controls .date-control-compact .btn-icon-small:hover{background:var(--primary-light);color:#fff;border-color:var(--primary-light);transform:scale(1.05)}.main-header .header-controls .date-control-compact .btn-icon-small:active{transform:scale(.95)}.main-header .header-controls .date-control-compact .date-input-compact{height:30px;padding:0 .5rem;border:1px solid rgba(0,0,0,.08);border-radius:var(--border-radius);background:#fff;font-size:.85rem;min-width:120px;color:var(--text-dark);font-weight:500}.main-header .header-controls .date-control-compact .date-input-compact:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3a86ff1a}.main-header .header-controls .date-control-compact .btn-today{padding:.25rem .5rem;height:28px;background:var(--primary-color);color:#fff;border:none;border-radius:var(--border-radius);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-left:.125rem}.main-header .header-controls .date-control-compact .btn-today:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 2px 4px #3a86ff33}.main-header .header-controls .location-filter-compact{display:flex;gap:.25rem;flex-shrink:0}.main-header .header-controls .location-filter-compact .location-btn{padding:.25rem .5rem;background:#00000005;border:1px solid rgba(0,0,0,.08);border-radius:var(--border-radius);color:var(--text-light);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.main-header .header-controls .location-filter-compact .location-btn:hover{background:#0000000d;color:var(--text-dark);border-color:#00000026}.main-header .header-controls .location-filter-compact .location-btn.active{background:var(--primary-light);color:#fff;border-color:var(--primary-light)}.main-header .header-actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.main-header .header-actions .btn-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#00000005;border:1px solid rgba(0,0,0,.08);border-radius:var(--border-radius);cursor:pointer;color:var(--text-light);transition:all .2s ease;position:relative}.main-header .header-actions .btn-icon:hover{background:#0000000d;color:var(--text-dark);transform:translateY(-1px)}.main-header .header-actions .btn-icon.active{background:var(--primary-light);color:#fff;border-color:var(--primary-light)}.main-header .header-actions .btn-icon.btn-auto-refresh{position:relative;overflow:visible;border:none}.main-header .header-actions .btn-icon.btn-auto-refresh .refresh-progress-ring{position:absolute;top:-2px;left:-2px;width:36px;height:36px;pointer-events:none}.main-header .header-actions .btn-icon.btn-auto-refresh .refresh-progress-ring .refresh-progress-bg{stroke:#00000014;stroke-width:2}.main-header .header-actions .btn-icon.btn-auto-refresh .refresh-progress-ring .refresh-progress-bar{stroke:#06d6a0;stroke-linecap:round;stroke-width:2;transition:stroke-dashoffset .1s linear}.main-header .header-actions .btn-icon.btn-auto-refresh .refresh-icon{position:relative;z-index:1}.main-header .header-actions .btn-icon.btn-auto-refresh .auto-label{position:absolute;bottom:-14px;left:50%;transform:translate(-50%);font-size:.6rem;color:#06d6a0;font-weight:600;white-space:nowrap}.main-header .header-actions .btn-icon.btn-auto-refresh.active{background:#06d6a014}.main-header .header-actions .btn-icon.btn-auto-refresh.active .refresh-icon{color:#06d6a0}.main-header .header-actions .btn-icon.btn-auto-refresh.active .refresh-progress-bar{animation:pulse-opacity 2s ease-in-out infinite}.main-header .header-actions .btn-icon.btn-auto-refresh:not(.active) .auto-label{display:none}.main-header .header-actions .btn-icon.btn-primary-icon{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#fff;border:none;width:36px;height:36px}.main-header .header-actions .btn-icon.btn-primary-icon:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 4px 12px #3a86ff4d}.main-header .header-actions .btn-icon.btn-manual-refresh{display:flex;align-items:center;gap:4px;padding:0 12px;width:auto;min-width:60px;background:linear-gradient(135deg,#4a90e2,#5ba0f2);color:#fff;font-weight:600;font-size:.85rem;border:1px solid rgba(74,144,226,.2);box-shadow:0 2px 8px #4a90e226}.main-header .header-actions .btn-icon.btn-manual-refresh .refresh-label{position:static;transform:none;font-size:.85rem;color:#fff}.main-header .header-actions .btn-icon.btn-manual-refresh .manual-refresh-icon{transition:transform .3s ease}.main-header .header-actions .btn-icon.btn-manual-refresh .manual-refresh-icon.rotating{animation:rotate-continuous 1s linear infinite}.main-header .header-actions .btn-icon.btn-manual-refresh:hover:not(:disabled){background:linear-gradient(135deg,#5ba0f2,#6bb0ff);transform:translateY(-1px);box-shadow:0 4px 12px #4a90e240}.main-header .header-actions .btn-icon.btn-manual-refresh:hover:not(:disabled) .manual-refresh-icon:not(.rotating){transform:rotate(90deg)}.main-header .header-actions .btn-icon.btn-manual-refresh:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #4a90e233}.main-header .header-actions .btn-icon.btn-manual-refresh.refreshing,.main-header .header-actions .btn-icon.btn-manual-refresh:disabled{opacity:.7;cursor:not-allowed;background:linear-gradient(135deg,#8ab4e8,#9ac4f8)}.main-header .header-actions .search-wrapper{position:relative}.main-header .header-actions .search-wrapper .search-indicator{position:absolute;top:6px;right:6px;width:6px;height:6px;background:var(--primary-color);border-radius:50%}.main-header .header-actions .search-wrapper .search-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:280px;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:var(--border-radius);box-shadow:0 8px 24px #0000001f;padding:var(--spacing-sm);z-index:1001}.main-header .header-actions .search-wrapper .search-dropdown .search-input-wrapper{position:relative;margin-bottom:var(--spacing-xs)}.main-header .header-actions .search-wrapper .search-dropdown .search-input-wrapper .search-input{width:100%;padding:.5rem 2rem .5rem .75rem;border:1px solid rgba(0,0,0,.1);border-radius:var(--border-radius);font-size:.9rem}.main-header .header-actions .search-wrapper .search-dropdown .search-input-wrapper .search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3a86ff1a}.main-header .header-actions .search-wrapper .search-dropdown .search-input-wrapper .btn-clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-light);cursor:pointer;padding:.25rem}.main-header .header-actions .search-wrapper .search-dropdown .search-input-wrapper .btn-clear:hover{color:var(--text-dark)}.main-header .header-actions .search-wrapper .search-dropdown .btn-search-execute{width:100%;padding:.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:var(--border-radius);font-weight:600;cursor:pointer;transition:all .2s ease}.main-header .header-actions .search-wrapper .search-dropdown .btn-search-execute:hover{background:var(--primary-dark)}.main-header .header-actions .notification-btn{position:relative}.main-header .header-actions .notification-btn .notification-count{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;background:linear-gradient(135deg,#ff3737,#d73502);color:#fff;font-size:.7rem;font-weight:700;border-radius:9px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #d735024d;animation:pulse-badge 2s ease-in-out infinite;z-index:10}.main-header .header-actions .user-account{position:relative;margin-left:var(--spacing-xs)}.main-header .header-actions .user-account .account-button{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;background:#00000005;border:1px solid rgba(0,0,0,.08);border-radius:var(--border-radius);cursor:pointer;transition:all .2s ease}.main-header .header-actions .user-account .account-button:hover{background:#0000000d}.main-header .header-actions .user-account .account-button .user-initials{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem}.main-header .header-actions .user-account .account-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:240px;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:var(--border-radius);box-shadow:0 8px 24px #0000001f;overflow:hidden;z-index:1001}.main-header .header-actions .user-account .account-dropdown .dropdown-header{padding:var(--spacing-md)}.main-header .header-actions .user-account .account-dropdown .dropdown-header .user-name{font-weight:600;margin-bottom:.25rem;color:var(--text-dark)}.main-header .header-actions .user-account .account-dropdown .dropdown-header .user-email{font-size:.85rem;color:var(--text-light);word-break:break-all}.main-header .header-actions .user-account .account-dropdown .dropdown-divider{height:1px;background:#00000014}.main-header .header-actions .user-account .account-dropdown .logout-button{width:100%;padding:var(--spacing-md);display:flex;align-items:center;gap:.5rem;background:none;border:none;color:#ef476f;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left}.main-header .header-actions .user-account .account-dropdown .logout-button:hover{background:#ef476f14}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.7}}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}@keyframes rotate-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-opacity{0%,to{opacity:1}50%{opacity:.6}}@keyframes pulse-badge{0%,to{transform:scale(1);box-shadow:0 2px 4px #d735024d}50%{transform:scale(1.1);box-shadow:0 3px 8px #d7350280}}@keyframes rotate-continuous{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 1200px){.main-header .container{gap:var(--spacing-md);padding:0 var(--spacing-md)}.main-header .header-controls .location-filter-compact{display:none}}@media (max-width: 768px){.main-header .container{gap:var(--spacing-sm)}.main-header .logo{font-size:1rem}.main-header .logo .logo-accent{display:none}.main-header .header-controls .building-tabs .building-tab{padding:.25rem .5rem;font-size:.8rem}.main-header .header-controls .date-control-compact .date-input-compact{min-width:110px}.main-header .header-actions{gap:.25rem}.main-header .header-actions .btn-icon{width:32px;height:32px}.main-header .header-actions .btn-icon.btn-primary-icon{width:36px;height:36px}}.footer{background-color:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--dark-gray);padding:var(--spacing-md) 0;margin-top:auto;border-top:var(--glass-border);box-shadow:var(--glass-shadow)}.footer .footer-container{display:flex;flex-direction:column;gap:0;align-items:stretch;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.footer .footer-content{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md)}.footer .footer-brand{flex:1;min-width:200px;max-width:300px}.footer .footer-brand h3{font-size:var(--font-size-medium);margin-bottom:var(--spacing-xs);background:linear-gradient(90deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;display:inline-block}.footer .footer-brand p{font-size:var(--font-size-small);opacity:.8;line-height:1.4;margin-bottom:var(--spacing-sm)}.footer .footer-links-wrapper{display:flex;flex-wrap:wrap;gap:var(--spacing-lg);justify-content:flex-end;flex:2;margin-bottom:0}.footer .footer-links h4{font-size:var(--font-size-normal);margin-bottom:var(--spacing-xs);position:relative;display:inline-block;color:var(--primary-color)}.footer .footer-links h4:after{content:"";position:absolute;bottom:-3px;left:0;width:30px;height:2px;background:linear-gradient(90deg,var(--primary-color),var(--accent-color))}.footer .footer-links ul{list-style:none}.footer .footer-links ul li{margin-bottom:var(--spacing-xs)}.footer .footer-links ul a{color:var(--dark-gray);text-decoration:none;font-size:var(--font-size-small);display:inline-block;padding:2px 0;position:relative;transition:all .3s ease}.footer .footer-links ul a:after{content:"";position:absolute;width:100%;transform:scaleX(0);height:1px;bottom:0;left:0;background:linear-gradient(90deg,var(--primary-color),var(--accent-color));transform-origin:bottom right;transition:transform .4s cubic-bezier(.86,0,.07,1)}.footer .footer-links ul a:hover{color:var(--primary-color);transform:translateY(-1px)}.footer .footer-links ul a:hover:after{transform:scaleX(1);transform-origin:bottom left}.footer .footer-links ul a.active{color:var(--primary-color);font-weight:500}.footer .footer-links ul a.active:after{transform:scaleX(1)}.footer .footer-social{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.footer .footer-social a{width:28px;height:28px;border-radius:50%;background:var(--glass-bg);display:flex;align-items:center;justify-content:center;color:var(--dark-gray);transition:all .3s ease;box-shadow:var(--glass-shadow);border:var(--glass-border);position:relative;overflow:hidden}.footer .footer-social a:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(120deg,rgba(var(--primary-rgb),.1),rgba(var(--accent-rgb),.1));opacity:0;transition:opacity .3s ease}.footer .footer-social a:hover{transform:translateY(-2px);color:var(--primary-color);box-shadow:0 3px 10px rgba(var(--primary-rgb),.15)}.footer .footer-social a:hover:before{opacity:1}.footer .copyright{font-size:var(--font-size-small);opacity:.7;text-align:center;padding-top:var(--spacing-xs);margin-top:var(--spacing-xs);border-top:1px solid rgba(var(--dark-rgb),.05);padding:var(--spacing-xs) 0;line-height:1.5;width:100%;order:3}@media (max-width: 768px){.footer .container{flex-direction:column;padding-bottom:var(--spacing-sm);gap:0}.footer .footer-content{flex-direction:column}.footer .footer-brand{max-width:100%;margin-bottom:var(--spacing-sm)}.footer .footer-links-wrapper{justify-content:flex-start;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.footer .copyright{margin-top:var(--spacing-xs)}}@media (max-width: 576px){.footer .footer-links-wrapper{flex-direction:column;gap:var(--spacing-sm)}}.reservation-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding-top:80px}.reservation-modal .modal-content{background:var(--glass-bg, rgba(255, 255, 255, .85));backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:var(--glass-border, 1px solid rgba(255, 255, 255, .2));box-shadow:0 10px 25px #0000001a,0 5px 10px #0000000d;border-radius:var(--border-radius-lg, 16px);padding:var(--spacing-md, 1.25rem);width:90%;max-width:520px;min-height:0;max-height:75vh;margin-top:-40px;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;animation:modal-appear .4s cubic-bezier(.175,.885,.32,1.275)}.reservation-modal .modal-content::-webkit-scrollbar{display:none}@media (max-height: 700px){.reservation-modal .modal-content{max-height:85vh}}.reservation-modal .modal-content .modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm, .75rem);padding-bottom:var(--spacing-xs, .5rem);border-bottom:1px solid rgba(0,0,0,.08)}.reservation-modal .modal-content .modal-header h2{margin:0;font-size:1.3rem;font-weight:700;color:var(--dark-gray, #333);background:linear-gradient(90deg,var(--primary-color, #3A86FF),var(--accent-color, #8338EC));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.reservation-modal .modal-content .modal-header .close-button{background:none;border:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--dark-gray, #333);cursor:pointer;transition:all .3s ease}.reservation-modal .modal-content .modal-header .close-button:hover{background-color:#0000000d;transform:rotate(90deg);color:var(--accent-color, #8338EC)}.reservation-modal .modal-content .modal-body{display:flex;flex-direction:column;gap:var(--spacing-xs, .5rem)}.reservation-modal .modal-content .reservation-time-info{background:#ffffffb3;border-radius:var(--border-radius, 8px);padding:var(--spacing-sm, .75rem);box-shadow:0 2px 8px #0000000a}.reservation-modal .modal-content .reservation-time-info .date-display{display:flex;flex-direction:column;gap:.5rem}.reservation-modal .modal-content .reservation-time-info .date-range,.reservation-modal .modal-content .reservation-time-info .date-single{font-size:1rem;font-weight:600;color:var(--dark-gray, #333);text-align:center}.reservation-modal .modal-content .reservation-time-info .date-range .date-separator,.reservation-modal .modal-content .reservation-time-info .date-single .date-separator{margin:0 .5rem;color:var(--text-light, #666)}.reservation-modal .modal-content .reservation-time-info .time-range{display:flex;justify-content:center;gap:1.5rem;margin-top:.5rem}.reservation-modal .modal-content .reservation-time-info .time-range .time-item{display:flex;align-items:center;gap:.25rem}.reservation-modal .modal-content .reservation-time-info .time-range .time-item .time-label{font-size:.85rem;color:var(--text-light, #666)}.reservation-modal .modal-content .reservation-time-info .time-range .time-item .time-value{font-size:1.1rem;font-weight:700;color:var(--primary-color, #3A86FF);background:#3a86ff1a;padding:.2rem .6rem;border-radius:16px}.reservation-modal .modal-content .facility-info{display:flex;align-items:center;gap:var(--spacing-xs, .5rem);margin:var(--spacing-xs, .25rem) 0;padding:var(--spacing-sm, .75rem);background:#ffffffb3;border-radius:var(--border-radius, 8px);box-shadow:0 2px 4px #0000000a}.reservation-modal .modal-content .facility-info .facility-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--primary-color-light, rgba(58, 134, 255, .1));border-radius:var(--border-radius, 8px)}.reservation-modal .modal-content .facility-info .facility-icon svg{width:18px;height:18px;color:var(--primary-color, #3A86FF)}.reservation-modal .modal-content .facility-info .facility-details{flex:1}.reservation-modal .modal-content .facility-info .facility-details .facility-name{font-weight:600;font-size:1rem;color:var(--dark-gray, #333);margin-bottom:.2rem}.reservation-modal .modal-content .facility-info .facility-details .room-number{font-weight:600;font-size:.9rem;color:var(--accent-color, #8338EC);padding:.1rem .4rem;background:#8338ec1a;border-radius:12px;display:inline-block}.reservation-modal .modal-content .status-fee-container{display:flex;justify-content:flex-start;align-items:center;margin:0 0 .25rem;padding:0;border-radius:0;background:transparent}.reservation-modal .modal-content .status-fee-container .status-fee-group{display:flex;align-items:center;gap:.75rem}.reservation-modal .modal-content .status-fee-container .fee-badge{background:linear-gradient(135deg,#ff6b6b,#ff9e7d);color:#fff;padding:.35rem .85rem;border-radius:24px;font-weight:700;font-size:.95rem;box-shadow:0 2px 6px #ff6b6b40;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.reservation-modal .modal-content .status-fee-container .fee-badge:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ff6b6b59}.reservation-modal .modal-content .admin-memo{background:#f8f9facc;border-radius:var(--border-radius, 8px);padding:.6rem;margin-top:.5rem;border-left:3px solid var(--accent-color, #8338EC);box-shadow:0 2px 8px #0000000d}.reservation-modal .modal-content .admin-memo .admin-memo-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;color:var(--accent-color, #8338EC);font-weight:600;font-size:.85rem}.reservation-modal .modal-content .admin-memo .admin-memo-header .admin-icon{width:16px;height:16px}.reservation-modal .modal-content .admin-memo .admin-memo-header .admin-icon svg{width:100%;height:100%}.reservation-modal .modal-content .admin-memo .admin-memo-content{font-size:.9rem;color:var(--dark-gray, #333);line-height:1.4;padding:.25rem;background:#fff;border-radius:4px;border:1px solid rgba(131,56,236,.1)}.reservation-modal .modal-content .checkin-checkout-status{background:#f8f9facc;border-radius:var(--border-radius, 8px);padding:.6rem;margin-top:.5rem;border-left:3px solid var(--success-color, #4CAF50);box-shadow:0 2px 8px #0000000d}.reservation-modal .modal-content .checkin-checkout-status .checkin-checkout-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;color:var(--success-color, #4CAF50);font-weight:600;font-size:.85rem}.reservation-modal .modal-content .checkin-checkout-status .checkin-checkout-header .checkin-checkout-icon{width:16px;height:16px}.reservation-modal .modal-content .checkin-checkout-status .checkin-checkout-header .checkin-checkout-icon svg{width:100%;height:100%}.reservation-modal .modal-content .checkin-checkout-status .checkin-checkout-badges{display:flex;gap:.5rem}.reservation-modal .modal-content .checkin-checkout-status .checkin-checkout-badges .checkin-badge,.reservation-modal .modal-content .checkin-checkout-status .checkin-checkout-badges .checkout-badge{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;color:#fff;text-align:center;box-shadow:0 2px 4px #0000001a}.reservation-modal .modal-content .checkin-checkout-status .checkin-checkout-badges .checkin-badge{background:linear-gradient(135deg,#4caf50,#66bb6a)}.reservation-modal .modal-content .checkin-checkout-status .checkin-checkout-badges .checkout-badge{background:linear-gradient(135deg,#2196f3,#42a5f5)}.reservation-modal .modal-content .status-container{margin:0;padding:0;display:flex;justify-content:center}.reservation-modal .modal-content .reservation-status{padding:.4rem 1rem;border-radius:24px;font-weight:600;font-size:.85rem}.reservation-modal .modal-content .reservation-status .payment-method{font-size:.75rem;margin-left:.4rem}.reservation-modal .modal-content .modal-detail-row{display:grid;grid-template-columns:100px 1fr;gap:var(--spacing-xs, .25rem);align-items:baseline;padding:var(--spacing-xs, .25rem) 0}.reservation-modal .modal-content .modal-detail-row:not(:last-child){border-bottom:1px dashed rgba(0,0,0,.06);padding-bottom:var(--spacing-xs, .25rem)}.reservation-modal .modal-content .modal-detail-row .detail-label{font-weight:600;font-size:.85rem;color:var(--text-light, #666)}.reservation-modal .modal-content .modal-detail-row .detail-value{font-weight:500;font-size:.9rem;color:var(--dark-gray, #333)}.reservation-modal .modal-content .modal-actions{display:flex;gap:var(--spacing-sm, .5rem);justify-content:flex-end;margin-top:var(--spacing-sm, .75rem);padding-top:var(--spacing-xs, .5rem);border-top:1px solid rgba(0,0,0,.08)}.reservation-modal .modal-content .modal-actions .btn{padding:.4rem 1rem;border-radius:var(--border-radius, 8px);font-weight:500;font-size:.85rem;transition:all .2s ease}.reservation-modal .modal-content .modal-actions .btn.btn-outline{background:transparent;border:1px solid var(--primary-color, #3A86FF);color:var(--primary-color, #3A86FF)}.reservation-modal .modal-content .modal-actions .btn.btn-outline:hover{background:#3a86ff14}.reservation-modal .modal-content .modal-actions .btn.btn-accent{background:var(--accent-color, #8338EC);border:none;color:#fff;box-shadow:0 2px 4px #8338ec40}.reservation-modal .modal-content .modal-actions .btn.btn-accent:hover{transform:translateY(-1px);box-shadow:0 3px 6px #8338ec59}@keyframes modal-appear{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.confirmation-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1100;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.confirmation-modal .confirm-dialog{background:var(--glass-bg, rgba(255, 255, 255, .9));backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:var(--glass-border, 1px solid rgba(255, 255, 255, .2));box-shadow:0 10px 30px #0003;border-radius:var(--border-radius-lg, 16px);padding:var(--spacing-md, 1.25rem);width:90%;max-width:450px;animation:modal-appear .3s cubic-bezier(.175,.885,.32,1.275)}.confirmation-modal .confirm-dialog .confirm-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm, .75rem);padding-bottom:var(--spacing-xs, .5rem);border-bottom:1px solid rgba(0,0,0,.08)}.confirmation-modal .confirm-dialog .confirm-header h3{margin:0;font-size:1.2rem;font-weight:700;color:var(--dark-gray, #333);background:linear-gradient(90deg,var(--primary-color, #3A86FF),var(--danger-color, #FF0000));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.confirmation-modal .confirm-dialog .confirm-header .close-button{background:none;border:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--dark-gray, #333);cursor:pointer;transition:all .3s ease}.confirmation-modal .confirm-dialog .confirm-header .close-button:hover{background-color:#0000000d;transform:rotate(90deg);color:var(--danger-color, #FF0000)}.confirmation-modal .confirm-dialog .confirm-body{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm, .75rem);padding:var(--spacing-sm, .75rem) 0;text-align:center}.confirmation-modal .confirm-dialog .confirm-body .warning-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background-color:#ff3b301a;border-radius:50%;margin-bottom:var(--spacing-xs, .5rem)}.confirmation-modal .confirm-dialog .confirm-body .warning-icon svg{width:40px;height:40px;color:var(--danger-color, #FF3B30)}.confirmation-modal .confirm-dialog .confirm-body p{margin:.25rem 0;font-size:1rem;color:var(--dark-gray, #333)}.confirmation-modal .confirm-dialog .confirm-body p.reservation-preview{background:#ffffffb3;border-radius:var(--border-radius, 8px);padding:var(--spacing-sm, .75rem);margin:var(--spacing-xs, .5rem) 0;box-shadow:0 2px 8px #0000000a;width:100%}.confirmation-modal .confirm-dialog .confirm-body p.reservation-preview strong{color:var(--primary-color, #3A86FF)}.confirmation-modal .confirm-dialog .confirm-body p.warning-text{color:var(--danger-color, #FF3B30);font-weight:600;font-size:.9rem}.confirmation-modal .confirm-dialog .confirm-actions{display:flex;justify-content:space-between;gap:var(--spacing-md, 1rem);margin-top:var(--spacing-sm, .75rem);padding-top:var(--spacing-xs, .5rem);border-top:1px solid rgba(0,0,0,.08)}.confirmation-modal .confirm-dialog .confirm-actions .btn{flex:1;padding:.5rem 1rem;border-radius:var(--border-radius, 8px);font-weight:500;transition:all .2s ease;text-align:center;cursor:pointer}.confirmation-modal .confirm-dialog .confirm-actions .btn.btn-outline{background:transparent;border:1px solid var(--primary-color, #3A86FF);color:var(--primary-color, #3A86FF)}.confirmation-modal .confirm-dialog .confirm-actions .btn.btn-outline:hover{background:#3a86ff14}.confirmation-modal .confirm-dialog .confirm-actions .btn.btn-primary{background:linear-gradient(135deg,#3a86ff,#72c6ff);border:none;color:#fff;box-shadow:0 2px 6px #3a86ff4d}.confirmation-modal .confirm-dialog .confirm-actions .btn.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3a86ff66}.confirmation-modal .confirm-dialog .confirm-actions .btn.btn-danger{background:linear-gradient(135deg,#ff4136,#e74c3c);border:none;color:#fff;box-shadow:0 2px 6px #ff41364d}.confirmation-modal .confirm-dialog .confirm-actions .btn.btn-danger:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ff413666}.confirmation-modal .confirm-dialog .confirm-actions .btn:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:none}.print-preview-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:100;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding-top:80px}.print-preview-modal .modal-content{background:var(--glass-bg);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:var(--glass-border);box-shadow:0 10px 25px #0000001a,0 5px 10px #0000000d;border-radius:var(--border-radius-lg);padding:var(--spacing-lg);width:90%;max-width:1000px;max-height:85vh;overflow-y:auto;animation:modal-appear .4s cubic-bezier(.175,.885,.32,1.275);margin-top:-40px}.print-preview-modal .modal-content .modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid rgba(0,0,0,.08)}.print-preview-modal .modal-content .modal-header h2{margin:0;background:linear-gradient(90deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.print-preview-modal .modal-content .modal-header .close-button{background:none;border:none;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--dark-gray);cursor:pointer;transition:all .3s ease}.print-preview-modal .modal-content .modal-header .close-button:hover{background-color:#0000000d;transform:rotate(90deg);color:var(--accent-color)}.print-preview-modal .modal-content .preview-container{width:100%;background:#fff;border:1px solid var(--light-gray);padding:var(--spacing-md);margin-bottom:var(--spacing-md);overflow-x:auto}.print-preview-modal .modal-content .modal-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid rgba(0,0,0,.08)}.modal-content.new-reservation .step-indicator{display:flex;justify-content:space-between;align-items:center;margin:.5rem 0 1rem;position:relative}.modal-content.new-reservation .step-indicator:after{content:"";position:absolute;top:50%;left:15px;right:15px;height:2px;background:linear-gradient(to right,#3a86ff80,#8338ec80);border-radius:2px;z-index:1;transform:translateY(-50%)}.modal-content.new-reservation .confirmation-view .confirm-group h3{font-size:1rem;margin:0 0 .5rem;padding-bottom:.25rem;border-bottom:1px solid rgba(0,0,0,.05);color:var(--primary-color, #3A86FF);display:flex;align-items:center}.modal-content.new-reservation .reservation-time-info{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm, .75rem)}.modal-content.new-reservation .reservation-time-info .date-display-input{display:flex;flex-direction:column;gap:.5rem;background:#ffffffb3;border-radius:var(--border-radius, 8px);padding:var(--spacing-sm, .75rem)}.modal-content.new-reservation .reservation-time-info .date-label{font-weight:600;font-size:.95rem;color:var(--dark-gray, #333)}.modal-content.new-reservation .reservation-time-info .datetime-input-group{display:flex;gap:.5rem}.modal-content.new-reservation .reservation-time-info .datetime-input-group input{flex:1;padding:.5rem;border:1px solid rgba(0,0,0,.1);border-radius:var(--border-radius, 4px)}.modal-content.new-reservation .reservation-form,.modal-content.new-reservation .organizer-form,.modal-content.new-reservation .confirmation-view{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem}.modal-content.new-reservation .reservation-form>.reservation-time-info,.modal-content.new-reservation .reservation-form>.facility-info,.modal-content.new-reservation .reservation-form>.form-group:first-child,.modal-content.new-reservation .reservation-form>.customer-message-group,.modal-content.new-reservation .reservation-form>.admin-message-group,.modal-content.new-reservation .form-group.full-width,.modal-content.new-reservation .options-container,.modal-content.new-reservation .fee-display,.modal-content.new-reservation .error-message,.modal-content.new-reservation .datetime-container{grid-column:1/-1}.modal-content.new-reservation .form-group{margin-bottom:.5rem;position:relative}.modal-content.new-reservation .form-group.animated{animation:slide-up .3s ease-out}.modal-content.new-reservation .form-group label{display:block;margin-bottom:.25rem;font-size:.8rem;font-weight:600;color:var(--dark-gray, #333);transition:all .3s ease}.modal-content.new-reservation .form-group label .required-mark{color:var(--danger-color, #FF3B30);margin-left:.25rem;font-size:.7rem}.modal-content.new-reservation .form-group input[type=text],.modal-content.new-reservation .form-group input[type=date],.modal-content.new-reservation .form-group input[type=time],.modal-content.new-reservation .form-group input[type=email],.modal-content.new-reservation .form-group select,.modal-content.new-reservation .form-group textarea{width:100%;padding:.5rem .75rem;border:1px solid var(--light-gray, #e0e0e0);border-radius:var(--border-radius, 8px);background-color:#fffc;transition:all .25s ease;font-size:.9rem;box-shadow:0 1px 3px #00000008}.modal-content.new-reservation .form-group input[type=text]:focus,.modal-content.new-reservation .form-group input[type=date]:focus,.modal-content.new-reservation .form-group input[type=time]:focus,.modal-content.new-reservation .form-group input[type=email]:focus,.modal-content.new-reservation .form-group select:focus,.modal-content.new-reservation .form-group textarea:focus{outline:none;border-color:var(--primary-color, #3A86FF);box-shadow:0 0 0 2px #3a86ff1a;background-color:#fff}.modal-content.new-reservation .form-group input[type=text]:hover:not(:focus),.modal-content.new-reservation .form-group input[type=date]:hover:not(:focus),.modal-content.new-reservation .form-group input[type=time]:hover:not(:focus),.modal-content.new-reservation .form-group input[type=email]:hover:not(:focus),.modal-content.new-reservation .form-group select:hover:not(:focus),.modal-content.new-reservation .form-group textarea:hover:not(:focus){border-color:var(--primary-color-light, #83ADFF);background-color:#fff}.modal-content.new-reservation .form-group textarea{resize:vertical;min-height:60px;max-height:120px;line-height:1.5;font-size:.85rem}.modal-content.new-reservation .form-group textarea.customer-message{background-color:#fff9db33;border:1px solid rgba(255,193,7,.3)}.modal-content.new-reservation .form-group textarea.customer-message:focus{border-color:#ffc107cc;box-shadow:0 0 0 2px #ffc1071a}.modal-content.new-reservation .form-group textarea.admin-memo{background-color:#ececff33;border:1px solid rgba(131,56,236,.3)}.modal-content.new-reservation .form-group textarea.admin-memo:focus{border-color:#8338eccc;box-shadow:0 0 0 2px #8338ec1a}.modal-content.new-reservation .form-group .input-hint{margin-top:.25rem;font-size:.7rem;color:var(--text-light, #777);font-style:italic}.modal-content.new-reservation .form-group .fee-display{margin-top:.5rem;padding:.5rem .75rem;font-size:.85rem;color:var(--text-light, #666);background:#ffffffb3;border-radius:var(--border-radius, 8px);border:1px solid rgba(0,0,0,.05);transition:all .3s ease;text-align:center;box-shadow:0 2px 8px #00000008}.modal-content.new-reservation .form-group .fee-display .fee-amount{font-weight:700;color:var(--accent-color, #8338EC);font-size:1.1rem;margin-left:.5rem}.modal-content.new-reservation .form-group .fee-display.large{margin:.5rem 0;text-align:center;background:linear-gradient(135deg,#fffc,#fffaffe6);padding:.75rem;box-shadow:0 3px 10px #0000000d;border:1px solid rgba(255,107,107,.2)}.modal-content.new-reservation .form-group .fee-display.large .fee-label{display:block;margin-bottom:.25rem;font-weight:600;color:#666;font-size:.85rem}.modal-content.new-reservation .form-group .fee-display.large .fee-amount{font-size:1.5rem;background:linear-gradient(135deg,#ff6b6b,#ff9e7d);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;padding:.1rem .5rem;display:inline-block}.modal-content.new-reservation .form-group .message-icon{position:absolute;right:8px;top:28px;color:var(--text-light, #777);font-size:1rem}.modal-content.new-reservation .datetime-container{display:flex;gap:.75rem;background:#ffffff80;padding:.5rem .75rem;border-radius:var(--border-radius, 8px);border:1px solid rgba(58,134,255,.15);box-shadow:0 2px 6px #00000008;margin-bottom:.75rem;align-items:flex-end}.modal-content.new-reservation .datetime-container .form-group{flex:1;margin-bottom:0}.modal-content.new-reservation .datetime-container .datetime-label{font-weight:600;font-size:.85rem;color:var(--primary-color, #3A86FF);margin-bottom:.5rem}.modal-content.new-reservation .datetime-container .datetime-label .datetime-icon{margin-right:.25rem}.modal-content.new-reservation .options-container{max-height:150px;overflow-y:auto;background-color:#ffffffb3;border-radius:var(--border-radius, 8px);border:1px solid var(--light-gray, #e0e0e0);padding:.5rem;display:grid;grid-template-columns:1fr 1fr;gap:.5rem;box-shadow:0 2px 6px #00000008}.modal-content.new-reservation .options-container .option-item{display:flex;align-items:flex-start;padding:.5rem;border-radius:var(--border-radius, 8px);transition:all .2s ease;background:#fff9;border:1px solid transparent}.modal-content.new-reservation .options-container .option-item:hover{background-color:#3a86ff0d;border-color:#3a86ff33;transform:translateY(-1px)}.modal-content.new-reservation .options-container .option-item.selected{background-color:#3a86ff14;border-color:#3a86ff4d;box-shadow:0 2px 6px #3a86ff1a}.modal-content.new-reservation .options-container .option-item input[type=checkbox]{margin:.15rem .5rem 0 0;transform:scale(1.1)}.modal-content.new-reservation .options-container .option-item label{cursor:pointer;margin:0;display:flex;flex-direction:column;flex:1;font-size:.8rem}.modal-content.new-reservation .options-container .option-item .option-name{font-weight:600;color:var(--dark-gray, #333);font-size:.8rem;display:flex;justify-content:space-between}.modal-content.new-reservation .options-container .option-item .option-name .option-price{color:var(--accent-color, #8338EC);font-size:.75rem}.modal-content.new-reservation .options-container .option-item .option-description{font-size:.7rem;color:var(--text-light, #666);margin-top:.2rem;line-height:1.3}.modal-content.new-reservation .reservation-time-info{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm, .75rem);background:linear-gradient(135deg,#f5fbfff2,#f0fcfffa);border-radius:var(--border-radius, 16px);padding:1.25rem;box-shadow:0 10px 25px #0000000a,0 4px 10px #3a86ff14;border:1px solid rgba(58,134,255,.12);position:relative;overflow:hidden;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-content.new-reservation .reservation-time-info:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(to right,#3a86ff,#5393ff)}.modal-content.new-reservation .reservation-time-info .date-display-input{display:flex;flex-direction:column;gap:.75rem;background:#ffffffe6;border-radius:var(--border-radius, 12px);padding:1.125rem;box-shadow:0 6px 12px #00000008;transition:all .3s ease;border:1px solid rgba(0,0,0,.04);position:relative}.modal-content.new-reservation .reservation-time-info .date-display-input:hover{box-shadow:0 8px 16px #0000000f;transform:translateY(-2px)}.modal-content.new-reservation .reservation-time-info .date-display-input:after{content:"";position:absolute;top:12px;right:12px;width:30px;height:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%233A86FF'%3E%3Cpath d='M19 4h-1V2h-2v2H8V2H6v2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V10h14v10zm0-12H5V6h14v2zM7 12h5v5H7v-5z'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;opacity:.6;z-index:1}.modal-content.new-reservation .reservation-time-info .date-label{font-weight:700;font-size:.95rem;color:var(--primary-color, #3A86FF);display:flex;align-items:center;gap:.5rem}.modal-content.new-reservation .reservation-time-info .date-label:before{content:"";display:inline-block;width:24px;height:24px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%233A86FF'%3E%3Cpath d='M9 11H7v2h2v-2zm4 0h-2v2h2v-2zm4 0h-2v2h2v-2zm2-7h-1V2h-2v2H8V2H6v2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11z'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat}.modal-content.new-reservation .reservation-time-info .datetime-input-group{display:flex;gap:.75rem;position:relative}.modal-content.new-reservation .reservation-time-info .datetime-input-group input[type=date]{flex:1.5;padding:.7rem .8rem;border:1px solid rgba(0,0,0,.08);border-radius:var(--border-radius, 10px);background-color:#fff;box-shadow:0 2px 4px #00000008;font-family:Hiragino Kaku Gothic Pro,メイリオ,sans-serif;font-size:.95rem;color:var(--dark-gray, #333);transition:all .2s ease}.modal-content.new-reservation .reservation-time-info .datetime-input-group input[type=date]:focus{border-color:var(--primary-color, #3A86FF);box-shadow:0 0 0 3px #3a86ff1f;outline:none}.modal-content.new-reservation .reservation-time-info .datetime-input-group input[type=date]::-webkit-calendar-picker-indicator{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%233A86FF'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;opacity:.7}.modal-content.new-reservation .reservation-time-info .datetime-input-group .time-select-group{display:flex;align-items:center;background:#fff;border-radius:var(--border-radius, 10px);padding:.2rem .6rem;border:1px solid rgba(0,0,0,.08);box-shadow:0 2px 4px #00000008;position:relative}.modal-content.new-reservation .reservation-time-info .datetime-input-group .time-select-group:before{content:"";display:block;width:20px;height:20px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%233A86FF'%3E%3Cpath d='M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;margin-right:.5rem;opacity:.7}.modal-content.new-reservation .reservation-time-info .datetime-input-group .time-select-group select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;padding:.7rem .3rem;width:auto;font-size:.95rem;color:var(--dark-gray, #444);font-weight:600;text-align:center;cursor:pointer;outline:none;position:relative;z-index:1}.modal-content.new-reservation .reservation-time-info .datetime-input-group .time-select-group select:focus{color:var(--primary-color, #3A86FF)}.modal-content.new-reservation .reservation-time-info .datetime-input-group .time-select-group select:after{content:"";width:10px;height:10px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%233A86FF'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;position:absolute;right:0;top:50%;transform:translateY(-50%)}.modal-content.new-reservation .reservation-time-info .datetime-input-group .time-select-group select option{font-weight:400}.modal-content.new-reservation .reservation-time-info .time-flow-container{display:flex;flex-direction:column;align-items:center;margin:2rem 0 1rem;padding:1.25rem .75rem .75rem;grid-column:1/-1;position:relative;background:#ffffffe6;border-radius:var(--border-radius, 16px);box-shadow:0 8px 20px #0000000d;border:1px solid rgba(58,134,255,.15);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-content.new-reservation .reservation-time-info .time-flow-container .date-row{display:flex;justify-content:space-between;width:100%;margin-bottom:1.5rem;gap:1rem}.modal-content.new-reservation .reservation-time-info .time-flow-container .date-row .date-item{flex:1}.modal-content.new-reservation .reservation-time-info .time-flow-container .date-row .date-item input[type=date]{width:100%;padding:.7rem .8rem;border:1px solid rgba(0,0,0,.08);border-radius:var(--border-radius, 10px);background-color:#fff;box-shadow:0 2px 4px #00000008;font-family:Hiragino Kaku Gothic Pro,メイリオ,sans-serif;font-size:.95rem;color:var(--dark-gray, #333);transition:all .2s ease}.modal-content.new-reservation .reservation-time-info .time-flow-container .date-row .date-item input[type=date]:focus{border-color:var(--primary-color, #3A86FF);box-shadow:0 0 0 3px #3a86ff1f;outline:none}.modal-content.new-reservation .reservation-time-info .time-flow-container .date-row .date-item input[type=date]::-webkit-calendar-picker-indicator{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%233A86FF'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;opacity:.7}.modal-content.new-reservation .reservation-time-info .time-flow-container .time-points-container{display:flex;align-items:center;justify-content:space-between;width:100%;position:relative;padding:0 1rem;margin-top:.5rem;gap:2rem}.modal-content.new-reservation .reservation-time-info .time-flow-container .time-points-container:before{content:"";position:absolute;top:50%;left:25%;right:25%;height:2px;background:linear-gradient(to right,#3a86ff4d,#3a86ff4d);border-radius:3px;z-index:1;transform:translateY(-50%)}.modal-content.new-reservation .reservation-time-info .time-flow-container .time-points-container .time-point{display:flex;flex-direction:column;align-items:center;position:relative;z-index:2;background:#fff;border-radius:var(--border-radius, 12px);padding:1rem;box-shadow:0 4px 10px #0000000d;border:1px solid rgba(58,134,255,.12);width:45%;transition:all .2s ease}.modal-content.new-reservation .reservation-time-info .time-flow-container .time-points-container .time-point:hover{transform:translateY(-2px);box-shadow:0 6px 15px #00000014}.modal-content.new-reservation .reservation-time-info .time-flow-container .time-points-container .time-point .time-label{font-size:.85rem;font-weight:600;color:var(--primary-color, #3A86FF);margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.modal-content.new-reservation .reservation-time-info .time-flow-container .time-points-container .time-point .time-label:before{content:"";display:inline-block;width:18px;height:18px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%233A86FF'%3E%3Cpath d='M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;opacity:.8}.modal-content.new-reservation .reservation-time-info .time-flow-container .time-points-container .time-point .time-select-group{display:flex;align-items:center;background:#fff;border-radius:var(--border-radius, 8px);padding:.3rem .5rem;border:1px solid rgba(0,0,0,.08);box-shadow:inset 0 1px 3px #00000005}.modal-content.new-reservation .reservation-time-info .time-flow-container .time-points-container .time-point .time-select-group select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;padding:.5rem .3rem;min-width:2.5rem;font-size:1.1rem;color:var(--dark-gray, #444);font-weight:600;text-align:center;cursor:pointer;outline:none;position:relative;z-index:1}.modal-content.new-reservation .reservation-time-info .time-flow-container .time-points-container .time-point .time-select-group select:focus{color:var(--primary-color, #3A86FF)}.modal-content.new-reservation .reservation-time-info .time-flow-container .time-points-container .time-point .time-select-group select option{font-weight:400}.modal-content.new-reservation .reservation-time-info .duration-display{position:relative;top:0;left:0;transform:none;background:linear-gradient(135deg,#fff,#fff8f8);border-radius:50%;width:76px;height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 10px 20px #ff6b6b26,0 6px 10px #0000000d,inset 0 -2px 5px #ffffffb3;border:2px solid #FF6B6B;z-index:5;transition:all .3s cubic-bezier(.175,.885,.32,1.275);margin-bottom:.5rem}.modal-content.new-reservation .reservation-time-info .duration-display:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:50%;box-shadow:inset 0 2px 5px #ff6b6b26;z-index:1;pointer-events:none}.modal-content.new-reservation .reservation-time-info .duration-display:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 15px 25px #ff6b6b33,0 10px 15px #0000000d,inset 0 -2px 5px #ffffffb3}.modal-content.new-reservation .time-flow-container .duration-section{width:100%;display:flex;flex-direction:column;align-items:center;margin-top:1.5rem;position:relative;background:#fffffff2;border-radius:var(--border-radius, 16px);padding:1.5rem;border:1px solid rgba(58,134,255,.08);box-shadow:0 6px 14px #0000000a}.modal-content.new-reservation .time-flow-container .duration-card-container{display:flex;flex-direction:column;align-items:center;width:100%;position:relative}.modal-content.new-reservation .time-flow-container .duration-card{position:relative;margin-bottom:1.5rem}.modal-content.new-reservation .time-flow-container .duration-card .preset-list{position:relative;width:100%;max-width:400px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;padding:16px;background:#fffffffa;border-radius:12px;box-shadow:0 4px 12px #0000000d;margin-top:1.5rem;border:1px solid rgba(58,134,255,.08);z-index:5}.modal-content.new-reservation .time-flow-container .duration-card .preset-list:before{content:"予約タイプを選択";display:block;width:100%;text-align:center;font-size:.9rem;font-weight:600;color:#555;margin-bottom:8px;padding-bottom:8px;border-bottom:1px dashed rgba(0,0,0,.08)}.modal-content.new-reservation .time-flow-container .duration-card .preset-list .btn-preset{padding:8px 14px;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.modal-content.new-reservation .time-flow-container .duration-card .preset-list .btn-preset[data-type=overnight]{background:linear-gradient(135deg,#e0f2ff,#d6e9ff);color:#06c;border:1px solid rgba(0,102,204,.2)}.modal-content.new-reservation .time-flow-container .duration-card .preset-list .btn-preset[data-type=onetime]{background:linear-gradient(135deg,#fff0e0,#ffe6d6);color:#c60;border:1px solid rgba(204,102,0,.2)}.modal-content.new-reservation .time-flow-container .duration-card .preset-list .btn-preset[data-type=slot]{background:linear-gradient(135deg,#f0ffe0,#e6ffd6);color:#390;border:1px solid rgba(51,153,0,.2)}.modal-content.new-reservation .time-flow-container .duration-card .preset-list .btn-preset:hover,.modal-content.new-reservation .time-flow-container .duration-card .preset-list .btn-preset.active{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.modal-content.new-reservation .time-flow-container .duration-card .preset-list .overnight-settings{width:100%;margin-top:12px;padding-top:12px;border-top:1px dashed rgba(0,0,0,.1);display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.modal-content.new-reservation .time-flow-container .duration-card .preset-list .overnight-settings label{display:flex;align-items:center;font-size:.85rem;color:#333;gap:6px}.modal-content.new-reservation .time-flow-container .duration-card .preset-list .overnight-settings label input[type=number]{width:40px;padding:4px;border-radius:6px;border:1px solid #ccc;text-align:center;font-weight:600}.modal-content.new-reservation .time-flow-container .duration-card .preset-list .overnight-settings label input[type=checkbox]{width:16px;height:16px;accent-color:#0066cc}.modal-content.new-reservation .custom-time-input{grid-column:1/-1;margin-top:.75rem;background:#fffc;border-radius:var(--border-radius, 12px);padding:1rem;border:1px solid rgba(0,0,0,.06);box-shadow:0 4px 8px #00000008}.modal-content.new-reservation .custom-time-input .input-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.modal-content.new-reservation .custom-time-input .input-header h4{font-size:.9rem;font-weight:600;color:var(--dark-gray, #444);display:flex;align-items:center}.modal-content.new-reservation .custom-time-input .input-header h4:before{content:"";display:inline-block;width:18px;height:18px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%233A86FF'%3E%3Cpath d='M19.43 12.98c.04-.32.07-.64.07-.98s-.03-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.39-.3-.61-.22l-2.49 1c-.52-.4-1.08-.73-1.69-.98l-.38-2.65C14.46 2.18 14.25 2 14 2h-4c-.25 0-.46.18-.49.42l-.38 2.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.09-.49 0-.61.22l-2 3.46c-.13.22-.07.49.12.64l2.11 1.65c-.04.32-.07.65-.07.98s.03.66.07.98l-2.11 1.65c-.19.15-.24.42-.12.64l2 3.46c.12.22.39.3.61.22l2.49-1c.52.4 1.08.73 1.69.98l.38 2.65c.03.24.24.42.49.42h4c.25 0 .46-.18.49-.42l.38-2.65c.61-.25 1.17-.59 1.69-.98l2.49 1c.23.09.49 0 .61-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12 15.5c-1.93 0-3.5-1.57-3.5-3.5s1.57-3.5 3.5-3.5 3.5 1.57 3.5 3.5-1.57 3.5-3.5 3.5z'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;margin-right:.5rem;opacity:.7}.modal-content.new-reservation .custom-time-input .input-hint{font-size:.8rem;color:var(--text-light, #666);margin-top:.25rem;font-style:italic}.modal-content.new-reservation .duration-card{position:relative;display:flex;flex-direction:column;align-items:center;background:#fff;border-radius:var(--border-radius, 14px);padding:1.25rem 1.5rem;box-shadow:0 8px 16px #ff6b6b1a,0 4px 6px #00000008;border:1px solid rgba(255,107,107,.3);transition:all .3s ease;margin-bottom:1rem}.modal-content.new-reservation .duration-card:hover{transform:translateY(-2px);box-shadow:0 10px 20px #ff6b6b26,0 6px 8px #0000000d}.modal-content.new-reservation .duration-card .duration-header{display:flex;align-items:center;margin-bottom:1rem}.modal-content.new-reservation .duration-card .duration-header .duration-icon{width:24px;height:24px;margin-right:.75rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23FF6B6B'%3E%3Cpath d='M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat}.modal-content.new-reservation .duration-card .duration-header .duration-title{font-size:1rem;font-weight:600;color:#444}.modal-content.new-reservation .duration-card .duration-input-container{display:flex;align-items:center;gap:.75rem}.modal-content.new-reservation .duration-card .duration-input-container input[type=number]{width:70px;text-align:center;padding:.75rem .5rem;border:1px solid rgba(255,107,107,.3);border-radius:var(--border-radius, 10px);background-color:#fff;box-shadow:inset 0 1px 3px #0000000d;font-size:1.4rem;color:#ff6b6b;font-weight:700;-webkit-appearance:none;-moz-appearance:textfield;appearance:none}.modal-content.new-reservation .duration-card .duration-input-container input[type=number]::-webkit-outer-spin-button,.modal-content.new-reservation .duration-card .duration-input-container input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.modal-content.new-reservation .duration-card .duration-input-container input[type=number]:focus{border-color:#ff6b6b;box-shadow:0 0 0 3px #ff6b6b26;outline:none}.modal-content.new-reservation .duration-card .duration-input-container .unit{font-size:1rem;font-weight:600;color:#666}.modal-content.new-reservation .duration-card .duration-info{width:100%;margin-top:1rem;font-size:.85rem;color:#666;text-align:center;padding-top:.75rem;border-top:1px dashed rgba(0,0,0,.1)}.modal-content.new-reservation .organizer-form .form-info{background:linear-gradient(135deg,#3a86ff0d,#8338ec0d);border-radius:var(--border-radius, 8px);padding:.75rem;margin-bottom:.75rem;font-size:.85rem;color:var(--primary-color, #3A86FF);font-weight:500;border-left:3px solid var(--primary-color, #3A86FF);box-shadow:0 2px 6px #00000008;grid-column:1/-1}.modal-content.new-reservation .organizer-form .form-info .info-icon{display:inline-block;margin-right:.5rem;color:var(--primary-color, #3A86FF)}.modal-content.new-reservation .organizer-form .selected-organizer{background:linear-gradient(135deg,#4cd96414,#4cd96426);border-radius:var(--border-radius, 8px);padding:.75rem;margin-bottom:.75rem;border-left:3px solid var(--success-color, #4CD964);box-shadow:0 2px 6px #00000008;grid-column:1/-1}.modal-content.new-reservation .organizer-form .selected-organizer h3{font-size:.95rem;margin:0 0 .5rem;color:var(--success-color, #4CD964);display:flex;align-items:center}.modal-content.new-reservation .organizer-form .selected-organizer h3 .check-icon{margin-right:.5rem}.modal-content.new-reservation .organizer-form .selected-organizer .organizer-info{display:flex;justify-content:space-between;align-items:center}.modal-content.new-reservation .organizer-form .selected-organizer .organizer-info .organizer-name{font-weight:600;font-size:1rem;color:var(--dark-gray, #333)}.modal-content.new-reservation .organizer-form .selected-organizer .organizer-info .organizer-details{margin-top:.35rem;font-size:.8rem;color:var(--text-light, #666)}.modal-content.new-reservation .organizer-form .selected-organizer .organizer-info .btn-sm{padding:.25rem .5rem;font-size:.75rem}.modal-content.new-reservation .organizer-form .search-container{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;grid-column:1/-1}.modal-content.new-reservation .organizer-form .search-container .search-input-wrapper{position:relative;grid-column:1/-1}.modal-content.new-reservation .organizer-form .search-container .search-input-wrapper input{padding-right:35px;padding-left:32px}.modal-content.new-reservation .organizer-form .search-container .search-input-wrapper .search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-light, #666);font-size:.9rem}.modal-content.new-reservation .organizer-form .search-container .search-input-wrapper .search-spinner{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:16px;height:16px;border:2px solid rgba(58,134,255,.2);border-top:2px solid var(--primary-color, #3A86FF);border-radius:50%;animation:spin .8s linear infinite}.modal-content.new-reservation .organizer-form .search-container .search-results{max-height:200px;overflow-y:auto;background-color:#fff;border-radius:var(--border-radius, 8px);border:1px solid var(--light-gray, #e0e0e0);margin-top:.5rem;box-shadow:0 3px 10px #00000014;grid-column:1/-1}.modal-content.new-reservation .organizer-form .search-container .search-results .search-result-item{padding:.6rem .75rem;border-bottom:1px solid rgba(0,0,0,.05);cursor:pointer;transition:all .2s ease}.modal-content.new-reservation .organizer-form .search-container .search-results .search-result-item:hover{background-color:#3a86ff0d;transform:translate(3px)}.modal-content.new-reservation .organizer-form .search-container .search-results .search-result-item.exact-match{background:linear-gradient(135deg,#3a86ff0d,#4cd96414);border-left:3px solid var(--success-color, #4CD964)}.modal-content.new-reservation .organizer-form .search-container .search-results .search-result-item .user-name{font-weight:600;font-size:.9rem;margin-bottom:.25rem;color:var(--dark-gray, #333)}.modal-content.new-reservation .organizer-form .search-container .search-results .search-result-item .user-space-name{font-size:.75rem;color:var(--text-light, #666);display:flex;justify-content:space-between;align-items:center}.modal-content.new-reservation .organizer-form .search-container .search-results .search-result-item .user-space-name .match-badge{background:linear-gradient(135deg,var(--success-color, #4CD964),var(--success-color-dark, #34AD4A));color:#fff;font-size:.65rem;padding:.1rem .4rem;border-radius:10px;font-weight:600;box-shadow:0 1px 3px #4cd96440}.modal-content.new-reservation .organizer-form .search-container .search-results .search-result-item .user-details{margin-top:.25rem;font-size:.75rem;color:var(--text-light, #777)}.modal-content.new-reservation .organizer-form .search-container .no-results{padding:1rem .75rem;text-align:center;color:var(--text-light, #666);font-size:.85rem;background:#00000005;border-radius:var(--border-radius, 8px);grid-column:1/-1}.modal-content.new-reservation .organizer-form .search-container .no-results .no-results-icon{display:block;font-size:1.5rem;margin-bottom:.5rem;opacity:.3}.modal-content.new-reservation .organizer-form .skip-section{margin-top:.75rem;text-align:center;padding:.75rem;background:linear-gradient(135deg,#ffffffb3,#fafaffcc);border-radius:var(--border-radius, 8px);font-size:.85rem;color:var(--text-light, #666);border:1px dashed rgba(0,0,0,.1);grid-column:1/-1}.modal-content.new-reservation .search-result-item.exact-match{background:linear-gradient(135deg,#3a86ff0d,#4cd96414);border-left:3px solid var(--success-color, #4CD964)}.modal-content.new-reservation .search-result-item.exact-match .match-badge{background:linear-gradient(135deg,var(--success-color, #4CD964),var(--success-color-dark, #34AD4A));color:#fff;font-size:.65rem;padding:.1rem .4rem;border-radius:10px;font-weight:600;box-shadow:0 1px 3px #4cd96440}.modal-content.new-reservation .confirmation-view .confirm-group{margin-bottom:.75rem;padding:.75rem;background:linear-gradient(135deg,#ffffffb3,#fafaffcc);border-radius:var(--border-radius, 8px);border:1px solid rgba(0,0,0,.05);box-shadow:0 2px 6px #00000008;transition:all .3s ease;grid-column:1/-1}.modal-content.new-reservation .confirmation-view .confirm-group:hover{box-shadow:0 3px 10px #0000000d;transform:translateY(-1px)}.modal-content.new-reservation .confirmation-view .confirm-group h3{font-size:1rem;margin:0 0 .5rem;padding-bottom:.25rem;border-bottom:1px solid rgba(0,0,0,.05);color:var(--primary-color, #3A86FF);display:flex;align-items:center;justify-content:flex-start}.modal-content.new-reservation .confirmation-view .confirm-group h3 .section-icon{margin-right:.5rem;font-size:1rem}.modal-content.new-reservation .confirmation-view .confirm-group h3 .edit-btn{margin-left:auto;font-size:.85rem;background:linear-gradient(145deg,#f2f8ff,#e6f0ff);color:var(--primary-color, #3A86FF);border:1px solid rgba(58,134,255,.2);border-radius:50px;padding:.25rem .75rem;display:flex;align-items:center;transition:all .2s ease;box-shadow:0 2px 4px #3a86ff1a}.modal-content.new-reservation .confirmation-view .confirm-group h3 .edit-btn:hover{background:linear-gradient(145deg,#e6f0ff,#d9e8ff);transform:translateY(-1px);box-shadow:0 4px 8px #3a86ff26}.modal-content.new-reservation .confirmation-view .confirm-group h3 .edit-btn:active{transform:translateY(0);box-shadow:0 1px 2px #3a86ff1a}.modal-content.new-reservation .confirmation-view .confirm-group h3 .edit-btn:before{content:"✏️";font-size:.75rem;margin-right:4px}.modal-content.new-reservation .confirmation-view .confirm-group .confirm-item{display:flex;justify-content:flex-start;margin-bottom:.35rem;font-size:.85rem}.modal-content.new-reservation .confirmation-view .confirm-group .confirm-item .confirm-label{width:110px;font-weight:600;color:var(--text-light, #666)}.modal-content.new-reservation .confirmation-view .confirm-group .confirm-item .confirm-value{flex:1;color:var(--dark-gray, #333)}.modal-content.new-reservation .confirmation-view .confirm-group .option-list{margin:0;padding-left:1.25rem;font-size:.85rem;list-style-type:none}.modal-content.new-reservation .confirmation-view .confirm-group .option-list li{margin-bottom:.35rem;position:relative;padding-left:.5rem}.modal-content.new-reservation .confirmation-view .confirm-group .option-list li:before{content:"✓";position:absolute;left:-.75rem;color:var(--success-color, #4CD964);font-weight:700}.modal-content.new-reservation .confirmation-view .confirm-group .message-content{background:#ffffff80;border-radius:var(--border-radius, 8px);padding:.5rem;margin-top:.35rem;font-size:.85rem;border-left:3px solid rgba(255,193,7,.5)}.modal-content.new-reservation .confirmation-view .confirm-group .admin-memo-content{background:#ffffff80;border-radius:var(--border-radius, 8px);padding:.5rem;margin-top:.35rem;font-size:.85rem;border-left:3px solid rgba(131,56,236,.5)}.modal-content.new-reservation .confirmation-view .confirm-group .fee-edit.inline-edit{display:grid;grid-template-columns:1fr auto;gap:.75rem;margin-top:.5rem;grid-column:1/-1}.modal-content.new-reservation .confirmation-view .confirm-group .fee-edit.inline-edit .form-control{padding:.5rem .75rem;border:1px solid var(--light-gray, #e0e0e0);border-radius:var(--border-radius, 8px);background-color:#fffc;transition:all .25s ease;font-size:.9rem;box-shadow:0 1px 3px #00000008}.modal-content.new-reservation .confirmation-view .confirm-group .fee-edit.inline-edit .form-control:focus{outline:none;border-color:var(--primary-color, #3A86FF);box-shadow:0 0 0 2px #3a86ff1a;background-color:#fff}.modal-content.new-reservation .confirmation-view .confirm-group .fee-edit.inline-edit .btn-success{align-self:end;padding:.25rem .75rem;font-size:.85rem}.modal-content.new-reservation{max-width:800px;max-height:85vh;padding:var(--spacing-md, 1rem);margin-top:20px;background:linear-gradient(135deg,#fffffff2,#fafafffa);box-shadow:0 10px 30px #00000026,0 2px 8px #3a86ff1a;display:flex;flex-direction:column;overflow:hidden}.modal-content.new-reservation .error-message{background:linear-gradient(135deg,#ff3b3014,#ff3b3026);color:var(--danger-color, #FF3B30);border-radius:var(--border-radius, 8px);padding:.5rem .75rem;margin-bottom:.5rem;font-size:.85rem;font-weight:500;display:flex;align-items:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid rgba(255,59,48,.2);box-shadow:0 2px 6px #ff3b301a}.modal-content.new-reservation .error-message:before{content:"⚠️";margin-right:.5rem;font-size:.9rem}.modal-content.new-reservation .modal-body{display:flex;flex-direction:column;flex:1;overflow:auto;padding-right:.5rem}.modal-content.new-reservation .modal-body::-webkit-scrollbar{width:6px}.modal-content.new-reservation .modal-body::-webkit-scrollbar-thumb{background-color:#0000001a;border-radius:3px}.modal-content.new-reservation .step-indicator{display:flex;justify-content:center;gap:12.5rem;margin:.5rem 0 1rem;position:relative}.modal-content.new-reservation .step-indicator:after{content:"";position:absolute;top:50%;left:140px;right:140px;height:2px;background:linear-gradient(to right,#3a86ff80,#8338ec80);border-radius:2px;z-index:1;transform:translateY(-50%)}.modal-content.new-reservation .step-indicator .step{width:32px;height:32px;border-radius:50%;background:#fff;border:1px solid var(--light-gray, #e0e0e0);color:var(--text-light, #666);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.85rem;position:relative;z-index:2;transition:all .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 2px 6px #0000000d}.modal-content.new-reservation .step-indicator .step.active{background:linear-gradient(135deg,var(--primary-color, #3A86FF),var(--primary-color-dark, #2977FF));border-color:var(--primary-color, #3A86FF);color:#fff;transform:scale(1.1);box-shadow:0 3px 10px #3a86ff4d}.modal-content.new-reservation .step-indicator .step.completed{background:linear-gradient(135deg,var(--success-color, #4CD964),var(--success-color-dark, #34AD4A));border-color:var(--success-color, #4CD964);color:#fff;box-shadow:0 3px 10px #4cd9644d}.modal-content.new-reservation .step-indicator .step .step-label{position:absolute;bottom:-20px;left:50%;transform:translate(-50%);font-size:.7rem;white-space:nowrap;color:var(--text-light, #666);font-weight:500}.modal-content.new-reservation .combined-form{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.modal-content.new-reservation .combined-form .form-section{background:#ffffffb3;border-radius:var(--border-radius);padding:1rem;box-shadow:0 2px 8px #0000000d}.modal-content.new-reservation .combined-form .form-section .section-title{font-size:1rem;font-weight:600;color:var(--dark-gray);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid rgba(0,0,0,.05);display:flex;align-items:center}.modal-content.new-reservation .combined-form .form-section .section-title .required-mark{color:var(--cancelled-color);margin-left:.25rem}.modal-content.new-reservation .combined-form .form-section.facility-section{order:1}.modal-content.new-reservation .combined-form .form-section.organizer-section{order:2}.modal-content.new-reservation .combined-form .form-section.organizer-section .organizer-form .form-info{margin-top:0;margin-bottom:.75rem}.modal-content.new-reservation .combined-form .form-section.organizer-section .organizer-form .search-container{display:block;width:100%}.modal-content.new-reservation .combined-form .form-section.organizer-section .organizer-form .search-container .search-results{max-height:200px;overflow-y:auto}.modal-content.new-reservation .combined-form .form-section.organizer-section .organizer-form .skip-section{margin-top:.75rem;font-size:.85rem;color:var(--text-light);font-style:italic}.modal-content.new-reservation .combined-form .form-section.reservation-details-section{order:3}.modal-content.new-reservation .reservation-details-section{background:#ffffffd9;border-radius:var(--border-radius, 8px);box-shadow:0 4px 12px #0000001a;padding:1.5rem;margin-bottom:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.modal-content.new-reservation .reservation-details-section .section-title{grid-column:1/-1;font-size:1.2rem;font-weight:700;color:var(--primary-color, #3A86FF);margin-bottom:1rem;position:relative}.modal-content.new-reservation .reservation-details-section .section-title:after{content:"";position:absolute;left:0;bottom:-4px;width:60px;height:4px;background:var(--primary-color, #3A86FF);border-radius:2px}.modal-content.new-reservation .reservation-details-section .reservation-form{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:1rem}.modal-content.new-reservation .reservation-details-section .form-group,.modal-content.new-reservation .reservation-details-section .reservation-time-info,.modal-content.new-reservation .reservation-details-section .options-container,.modal-content.new-reservation .reservation-details-section .fee-display{background:#fff;border-radius:var(--border-radius, 8px);padding:.75rem;box-shadow:0 2px 8px #0000000d;transition:all .3s ease}.modal-content.new-reservation .reservation-details-section .form-group:hover,.modal-content.new-reservation .reservation-details-section .reservation-time-info:hover,.modal-content.new-reservation .reservation-details-section .options-container:hover,.modal-content.new-reservation .reservation-details-section .fee-display:hover{box-shadow:0 4px 12px #0000001a}.modal-content.new-reservation .reservation-details-section .reservation-time-info{display:flex;flex-direction:column;grid-column:1/-1}.modal-content.new-reservation .reservation-details-section .reservation-time-info .date-display-input{display:flex;align-items:center;justify-content:space-between}.modal-content.new-reservation .reservation-details-section .reservation-time-info .duration-group{grid-column:auto/auto}.modal-content.new-reservation .reservation-details-section .options-container{grid-column:1/-1}.modal-content.new-reservation .reservation-details-section .fee-display.large{grid-column:1/-1;background:linear-gradient(135deg,#fffc,#fafaffe6)}.modal-content.new-reservation .required-mark{color:var(--cancelled-color);margin-left:.25rem;font-weight:700}@media (max-width: 768px){.modal-content.new-reservation .combined-form .form-section{padding:.75rem}}.modal-content.new-reservation .btn{padding:.5rem 1.25rem;border-radius:var(--border-radius, 8px);font-weight:600;font-size:.9rem;transition:all .25s ease;cursor:pointer;border:none}.modal-content.new-reservation .btn:disabled{opacity:.6;cursor:not-allowed}.modal-content.new-reservation .btn.btn-outline{background:transparent;border:1px solid var(--primary-color, #3A86FF);color:var(--primary-color, #3A86FF)}.modal-content.new-reservation .btn.btn-outline:hover:not(:disabled){background:#3a86ff14}.modal-content.new-reservation .btn.btn-primary{background:linear-gradient(135deg,var(--primary-color, #3A86FF),var(--primary-color-dark, #2977FF));color:#fff;box-shadow:0 2px 6px #3a86ff40}.modal-content.new-reservation .btn.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 10px #3a86ff59}.modal-content.new-reservation .btn.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #3a86ff40}.modal-content.new-reservation .btn.btn-success{background:linear-gradient(135deg,var(--success-color, #4CD964),var(--success-color-dark, #34AD4A));color:#fff;box-shadow:0 2px 6px #4cd96440}.modal-content.new-reservation .btn.btn-success:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 10px #4cd96459}.modal-content.new-reservation .btn.btn-sm{padding:.25rem .5rem;font-size:.75rem}.modal-content.new-reservation .modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:.75rem;padding-top:.5rem;border-top:1px solid rgba(0,0,0,.08)}@keyframes form-appear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.refresh-notifications{position:fixed;top:110px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:var(--spacing-sm);max-width:300px;pointer-events:none}.refresh-notifications .notification{pointer-events:all;background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.3);border-radius:var(--border-radius);box-shadow:0 8px 32px #0000001a,0 2px 8px #0000000d;padding:var(--spacing-sm);transform:translate(100%);animation:slideIn .3s ease-out forwards;transition:all .3s ease;cursor:grab;-webkit-user-select:none;user-select:none}.refresh-notifications .notification:active{cursor:grabbing}.refresh-notifications .notification:hover{box-shadow:0 12px 40px #00000026,0 4px 12px #00000014;transform:translateY(-2px) translate(0)}.refresh-notifications .notification.notification-new_reservation{border-left:4px solid var(--success-color)}.refresh-notifications .notification.notification-new_reservation .notification-icon.success{color:var(--success-color)}.refresh-notifications .notification.notification-cancelled_reservation{border-left:4px solid var(--error-color)}.refresh-notifications .notification.notification-cancelled_reservation .notification-icon.error{color:var(--error-color)}.refresh-notifications .notification.notification-updated_reservation{border-left:4px solid var(--primary-color)}.refresh-notifications .notification.notification-updated_reservation .notification-icon.info{color:var(--primary-color)}.refresh-notifications .notification-content{display:flex;flex-direction:column;gap:var(--spacing-xs)}.refresh-notifications .notification-header{display:flex;align-items:center;gap:var(--spacing-xs)}.refresh-notifications .notification-header .notification-icon{flex-shrink:0;width:16px;height:16px}.refresh-notifications .notification-header .notification-title{flex:1;font-weight:600;color:var(--text-dark);font-size:var(--font-size-small)}.refresh-notifications .notification-header .notification-dismiss{background:#0000000d;border:1px solid rgba(0,0,0,.1);cursor:pointer;padding:var(--spacing-xs);border-radius:50%;color:var(--text-light);transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0}.refresh-notifications .notification-header .notification-dismiss:hover{background-color:#e74c3c1a;border-color:#e74c3c4d;color:#e74c3c;transform:scale(1.1)}.refresh-notifications .notification-header .notification-dismiss:active{transform:scale(.95);background-color:#e74c3c33}.refresh-notifications .notification-header .notification-dismiss svg{width:12px;height:12px}.refresh-notifications .notification-body{padding-left:20px}.refresh-notifications .notification-body .notification-message{color:var(--text-dark);font-size:var(--font-size-small);margin:0 0 var(--spacing-xs) 0;line-height:1.3}.refresh-notifications .notification-body .notification-facility{color:var(--text-light);font-size:var(--font-size-small);margin:0;font-weight:500}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@media (max-width: 768px){.refresh-notifications{top:10px;right:10px;left:10px;max-width:none}.refresh-notifications .notification{padding:var(--spacing-xs)}.refresh-notifications .notification .notification-body{padding-left:18px}}@media (max-width: 480px){.refresh-notifications .notification .notification-header .notification-title,.refresh-notifications .notification .notification-body .notification-message,.refresh-notifications .notification .notification-body .notification-facility{font-size:var(--font-size-small)}}.notification-center-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;animation:fadeIn .2s ease-out}.notification-center{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:800px;height:80vh;max-height:600px;z-index:1000;animation:slideUp .3s ease-out}.notification-center-glass{width:100%;height:100%;display:flex;flex-direction:column;background:linear-gradient(135deg,#fffffff2,#f8fafce6);backdrop-filter:blur(12px) saturate(150%);-webkit-backdrop-filter:blur(12px) saturate(150%);border:1px solid rgba(255,255,255,.8);border-radius:20px;box-shadow:0 20px 40px #00000026,0 8px 16px #0000001a,inset 0 0 0 1px #ffffff80;position:relative;overflow:hidden}.notification-center-glass:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);pointer-events:none;animation:shimmer 3s infinite}.notification-center-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(220,220,220,.3);background:#fff9}.notification-center-header .header-left{display:flex;align-items:center}.notification-center-header .header-title{display:flex;align-items:center;gap:10px;margin:0;font-size:1.25rem;font-weight:600;color:#1a1a1a}.notification-center-header .header-title svg{width:24px;height:24px;color:var(--primary-color)}.notification-center-header .unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:linear-gradient(135deg,#ff6b6b,#f03e3e);color:#fff;font-size:.75rem;font-weight:700;border-radius:10px;animation:pulse 2s infinite}.notification-center-header .header-actions{display:flex;gap:12px;align-items:center}.notification-center-header .mark-all-read-btn,.notification-center-header .close-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#fffc;border:1px solid rgba(220,220,220,.4);border-radius:10px;color:#1a1a1a;font-size:.875rem;cursor:pointer;transition:all .2s ease}.notification-center-header .mark-all-read-btn svg,.notification-center-header .close-btn svg{width:18px;height:18px}.notification-center-header .mark-all-read-btn:hover,.notification-center-header .close-btn:hover{background:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.notification-center-header .close-btn{padding:8px;background:transparent;border:none}.notification-center-header .close-btn svg{width:20px;height:20px}.notification-center-header .close-btn:hover{background:#fff3}.notification-tabs{display:flex;gap:2px;padding:12px 24px;background:#f8fafc99;border-bottom:1px solid rgba(220,220,220,.3)}.notification-tabs .tab{display:flex;align-items:center;gap:8px;padding:8px 16px;background:transparent;border:1px solid transparent;border-radius:8px;color:#4a4a4a;font-size:.925rem;font-weight:500;cursor:pointer;transition:all .2s ease}.notification-tabs .tab.active{background:#fff;border-color:#dcdcdc66;color:#1a1a1a;box-shadow:0 2px 4px #0000000d}.notification-tabs .tab.active .tab-count{background:var(--primary-color);color:#fff}.notification-tabs .tab:hover:not(.active){background:#ffffff80}.notification-tabs .tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:#00000014;color:#4a4a4a;font-size:.75rem;font-weight:700;border-radius:10px;transition:all .2s ease}.notification-tabs .tab-count.unread{background:linear-gradient(135deg,#ff6b6b,#f03e3e);color:#fff;animation:pulse 2s infinite}.notification-content-area{flex:1;overflow-y:auto;padding:16px}.notification-content-area::-webkit-scrollbar{width:8px}.notification-content-area::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.notification-content-area::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.notification-content-area::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#999}.empty-state .empty-icon{width:64px;height:64px;margin-bottom:16px;opacity:.3}.empty-state p{margin:0;font-size:.925rem}.notifications-list{display:flex;flex-direction:column;gap:8px}.notification-item{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;background:#fff;border:1px solid rgba(220,220,220,.4);border-radius:12px;cursor:pointer;transition:all .2s ease;position:relative}.notification-item.unread{background:linear-gradient(to right,#3b82f60d,#fff);border-color:#3b82f64d;box-shadow:0 0 0 2px #3b82f61a}.notification-item.selected{background:#3b82f614;border-color:#3b82f666}.notification-item:hover{background:#f8fafc;transform:translate(4px);box-shadow:0 4px 12px #00000014}.notification-item .notification-item-left{position:relative;display:flex;align-items:center}.notification-item .notification-item-left .unread-dot{position:absolute;top:0;left:-8px;width:8px;height:8px;background:linear-gradient(135deg,#ff6b6b,#f03e3e);border-radius:50%;animation:pulse 2s infinite}.notification-item .notification-icon{width:32px;height:32px;padding:6px;border-radius:8px}.notification-item .notification-icon.success{background:#4caf501a;color:#4caf50}.notification-item .notification-icon.error{background:#f443361a;color:#f44336}.notification-item .notification-icon.info{background:#2196f31a;color:#2196f3}.notification-item .notification-item-content{flex:1;min-width:0}.notification-item .notification-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.notification-item .notification-label{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.notification-item .notification-label.new_reservation{background:#4caf501a;color:#4caf50}.notification-item .notification-label.cancelled_reservation{background:#f443361a;color:#f44336}.notification-item .notification-label.updated_reservation{background:#2196f31a;color:#2196f3}.notification-item .notification-time{font-size:.75rem;color:#999}.notification-item .notification-item-body{margin-bottom:8px}.notification-item .notification-item-body .notification-facility{margin:0 0 4px;font-size:.925rem;font-weight:500;color:#1a1a1a}.notification-item .notification-item-body .notification-message{margin:0;font-size:.875rem;color:#4a4a4a;line-height:1.4}.notification-item .notification-preview{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.notification-item .notification-preview .detail-chip{display:inline-block;padding:2px 8px;background:#f8fafc;border:1px solid rgba(220,220,220,.4);border-radius:12px;font-size:.75rem;color:#4a4a4a}.notification-item .notification-preview .more-count{display:inline-block;padding:2px 8px;background:#0000000d;border-radius:12px;font-size:.75rem;color:#999}.notification-item .notification-item-action{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:8px;color:#999;cursor:pointer;transition:all .2s ease;opacity:0}.notification-item .notification-item-action svg{width:18px;height:18px}.notification-item .notification-item-action:hover{background:#f443361a;color:#f44336}.notification-item:hover .notification-item-action{opacity:1}.notification-detail-panel{position:absolute;top:0;right:0;width:320px;height:100%;background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-left:1px solid rgba(220,220,220,.4);border-radius:0 20px 20px 0;display:flex;flex-direction:column;animation:slideInRight .3s ease-out;box-shadow:-4px 0 12px #00000014}.notification-detail-panel .detail-panel-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid rgba(255,255,255,.1)}.notification-detail-panel .detail-panel-header h3{margin:0;font-size:1rem;font-weight:600;color:#333}.notification-detail-panel .detail-panel-header .detail-close-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:6px;color:#666;cursor:pointer;transition:all .2s ease}.notification-detail-panel .detail-panel-header .detail-close-btn svg{width:18px;height:18px}.notification-detail-panel .detail-panel-header .detail-close-btn:hover{background:#fff3;color:#333}.notification-detail-panel .detail-panel-content{flex:1;overflow-y:auto;padding:16px}.notification-detail-panel .detail-panel-content::-webkit-scrollbar{width:6px}.notification-detail-panel .detail-panel-content::-webkit-scrollbar-track{background:transparent}.notification-detail-panel .detail-panel-content::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.notification-detail-panel .detail-card{padding:12px;background:#fff;border:1px solid rgba(220,220,220,.3);border-radius:10px;margin-bottom:12px;box-shadow:0 2px 4px #0000000a}.notification-detail-panel .detail-card:last-child{margin-bottom:0}.notification-detail-panel .detail-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.notification-detail-panel .detail-row:last-child{margin-bottom:0}.notification-detail-panel .detail-row .detail-icon{width:16px;height:16px;color:#999;flex-shrink:0}.notification-detail-panel .detail-row .detail-label{font-size:.75rem;color:#6b7280;flex-shrink:0}.notification-detail-panel .detail-row .detail-value{flex:1;font-size:.875rem;color:#1a1a1a;font-weight:500}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes shimmer{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes pulse{0%{box-shadow:0 0 #ff6b6bb3}70%{box-shadow:0 0 0 8px #ff6b6b00}to{box-shadow:0 0 #ff6b6b00}}@media (max-width: 768px){.notification-center{width:95%;height:90vh;max-height:none}.notification-detail-panel{position:fixed;width:90%;left:50%;transform:translate(-50%);border-radius:20px 20px 0 0;border-left:none;border-top:1px solid rgba(255,255,255,.2);height:80vh;top:auto;bottom:0;animation:slideInUp .3s ease-out}}@keyframes slideInUp{0%{transform:translate(-50%) translateY(100%)}to{transform:translate(-50%) translateY(0)}}.toggle-switch{display:inline-block}.toggle-switch.disabled{opacity:.5;pointer-events:none}.toggle-switch .toggle-switch-container{position:relative;display:flex;background:#fffc;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(0,0,0,.1);border-radius:25px;padding:3px;box-shadow:inset 0 2px 4px #0000000d;transition:all .3s ease}.toggle-switch .toggle-switch-container:hover{box-shadow:inset 0 2px 4px #0000000d,0 2px 8px #00000014}.toggle-switch .toggle-option{position:relative;z-index:2;flex:1;padding:var(--spacing-xs) var(--spacing-md);background:transparent;border:none;border-radius:20px;cursor:pointer;font-size:var(--font-size-small);font-weight:500;color:var(--text-light);transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;min-width:60px}.toggle-switch .toggle-option:focus{outline:none;box-shadow:0 0 0 2px #3a86ff4d}.toggle-switch .toggle-option:disabled{cursor:not-allowed}.toggle-switch .toggle-option.active{color:#fff;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.1)}.toggle-switch .toggle-option:not(.active):hover:not(:disabled){color:var(--text-dark);transform:translateY(-1px)}.toggle-switch .toggle-slider{position:absolute;top:3px;left:3px;width:calc(50% - 3px);height:calc(100% - 6px);background:linear-gradient(135deg,var(--primary-color),var(--accent-color));border-radius:20px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #3a86ff4d,0 1px 3px #0000001a;z-index:1}.toggle-switch .toggle-slider:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.2),transparent);border-radius:20px;pointer-events:none}.toggle-switch .toggle-slider.right{transform:translate(calc(100% + 3px))}.toggle-switch .toggle-slider.left{transform:translate(0)}.toggle-switch.small .toggle-switch-container{border-radius:20px;padding:2px}.toggle-switch.small .toggle-option{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-small);min-width:50px}.toggle-switch.small .toggle-slider{border-radius:16px}.toggle-switch.large .toggle-switch-container{border-radius:30px;padding:4px}.toggle-switch.large .toggle-option{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-medium);min-width:80px}.toggle-switch.large .toggle-slider{border-radius:25px}.toggle-switch.success .toggle-slider{background:linear-gradient(135deg,var(--success-color),#22c55e);box-shadow:0 2px 8px #22c55e4d,0 1px 3px #0000001a}.toggle-switch.warning .toggle-slider{background:linear-gradient(135deg,var(--warning-color),#f59e0b);box-shadow:0 2px 8px #f59e0b4d,0 1px 3px #0000001a}.toggle-switch.error .toggle-slider{background:linear-gradient(135deg,var(--error-color),#ef4444);box-shadow:0 2px 8px #ef44444d,0 1px 3px #0000001a}@media (max-width: 768px){.toggle-switch .toggle-option{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-small);min-width:50px}}@media (max-width: 480px){.toggle-switch .toggle-switch-container{padding:2px}.toggle-switch .toggle-option{padding:var(--spacing-xs);font-size:var(--font-size-small);min-width:45px}.toggle-switch .toggle-slider{width:calc(50% - 2px);top:2px;left:2px;height:calc(100% - 4px)}.toggle-switch .toggle-slider.right{transform:translate(calc(100% + 2px))}}.api-monitor-dashboard{position:fixed;top:20px;right:20px;z-index:9999;font-family:Hiragino Kaku Gothic ProN,ヒラギノ角ゴ ProN W3,Arial,sans-serif}.api-monitor-dashboard .monitor-toggle{width:48px;height:48px;border-radius:50%;border:none;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:20px;cursor:pointer;box-shadow:0 4px 12px #00000026;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.api-monitor-dashboard .monitor-toggle:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0003}.api-monitor-dashboard .monitor-toggle.active{background:linear-gradient(135deg,#4facfe,#00f2fe)}.api-monitor-dashboard .monitor-panel{position:absolute;top:0;right:60px;width:420px;max-height:80vh;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;box-shadow:0 20px 40px #0000001a;border:1px solid rgba(255,255,255,.2);overflow:hidden;animation:slideInRight .3s ease-out}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.api-monitor-dashboard .monitor-header{padding:16px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;justify-content:space-between;align-items:center}.api-monitor-dashboard .monitor-header h3{margin:0;font-size:16px;font-weight:600}.api-monitor-dashboard .monitor-header .monitor-actions{display:flex;gap:8px}.api-monitor-dashboard .monitor-header .monitor-actions .action-btn{width:28px;height:28px;border:none;border-radius:6px;background:#fff3;color:#fff;cursor:pointer;font-size:12px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.api-monitor-dashboard .monitor-header .monitor-actions .action-btn:hover{background:#ffffff4d;transform:scale(1.1)}.api-monitor-dashboard .monitor-header .monitor-actions .action-btn.reset{background:#22c55e4d}.api-monitor-dashboard .monitor-header .monitor-actions .action-btn.clear{background:#fbbf244d}.api-monitor-dashboard .monitor-header .monitor-actions .action-btn.close{background:#ef44444d}.api-monitor-dashboard .monitor-content{padding:20px;max-height:calc(80vh - 64px);overflow-y:auto}.api-monitor-dashboard .monitor-content::-webkit-scrollbar{width:6px}.api-monitor-dashboard .monitor-content::-webkit-scrollbar-track{background:#0000000d;border-radius:3px}.api-monitor-dashboard .monitor-content::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}.api-monitor-dashboard .monitor-content::-webkit-scrollbar-thumb:hover{background:#0000004d}.api-monitor-dashboard .monitor-content h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb;padding-bottom:6px}.api-monitor-dashboard .monitor-content .status-section,.api-monitor-dashboard .monitor-content .metrics-section,.api-monitor-dashboard .monitor-content .errors-section,.api-monitor-dashboard .monitor-content .history-section{margin-bottom:24px}.api-monitor-dashboard .monitor-content .status-section:last-child,.api-monitor-dashboard .monitor-content .metrics-section:last-child,.api-monitor-dashboard .monitor-content .errors-section:last-child,.api-monitor-dashboard .monitor-content .history-section:last-child{margin-bottom:0}.api-monitor-dashboard .monitor-content .status-grid,.api-monitor-dashboard .monitor-content .metrics-grid{display:grid;grid-template-columns:1fr;gap:8px}.api-monitor-dashboard .monitor-content .status-item,.api-monitor-dashboard .monitor-content .metric-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#00000005;border-radius:8px;border:1px solid rgba(0,0,0,.05)}.api-monitor-dashboard .monitor-content .status-item .label,.api-monitor-dashboard .monitor-content .metric-item .label{font-size:13px;color:#6b7280;font-weight:500}.api-monitor-dashboard .monitor-content .status-item .value,.api-monitor-dashboard .monitor-content .metric-item .value{font-size:13px;font-weight:600;color:#111827}.api-monitor-dashboard .monitor-content .status-item .value.success,.api-monitor-dashboard .monitor-content .metric-item .value.success{color:#10b981}.api-monitor-dashboard .monitor-content .status-item .value.error,.api-monitor-dashboard .monitor-content .metric-item .value.error{color:#ef4444}.api-monitor-dashboard .monitor-content .status-item .value.warning,.api-monitor-dashboard .monitor-content .metric-item .value.warning{color:#f59e0b}.api-monitor-dashboard .monitor-content .error-list,.api-monitor-dashboard .monitor-content .history-list{display:flex;flex-direction:column;gap:6px}.api-monitor-dashboard .monitor-content .error-item,.api-monitor-dashboard .monitor-content .history-item{padding:8px 12px;background:#00000005;border-radius:6px;border-left:3px solid transparent;font-size:12px}.api-monitor-dashboard .monitor-content .error-item.error,.api-monitor-dashboard .monitor-content .history-item.error{border-left-color:#ef4444;background:#ef44440d}.api-monitor-dashboard .monitor-content .error-item.success,.api-monitor-dashboard .monitor-content .history-item.success{border-left-color:#10b981;background:#10b9810d}.api-monitor-dashboard .monitor-content .error-item.rate_limited,.api-monitor-dashboard .monitor-content .history-item.rate_limited{border-left-color:#f59e0b;background:#f59e0b0d}.api-monitor-dashboard .monitor-content .error-item.timeout,.api-monitor-dashboard .monitor-content .history-item.timeout{border-left-color:#f97316;background:#f973160d}.api-monitor-dashboard .monitor-content .error-item .time,.api-monitor-dashboard .monitor-content .history-item .time{font-weight:600;color:#374151;margin-right:8px}.api-monitor-dashboard .monitor-content .error-item .endpoint,.api-monitor-dashboard .monitor-content .history-item .endpoint{color:#6b7280;margin-right:8px;font-family:Courier New,monospace}.api-monitor-dashboard .monitor-content .error-item .status,.api-monitor-dashboard .monitor-content .history-item .status{padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;margin-right:8px}.history-item.success .api-monitor-dashboard .monitor-content .error-item .status,.history-item.success .api-monitor-dashboard .monitor-content .history-item .status{background:#dcfce7;color:#166534}.history-item.error .api-monitor-dashboard .monitor-content .error-item .status,.history-item.error .api-monitor-dashboard .monitor-content .history-item .status{background:#fee2e2;color:#991b1b}.history-item.rate_limited .api-monitor-dashboard .monitor-content .error-item .status,.history-item.rate_limited .api-monitor-dashboard .monitor-content .history-item .status{background:#fef3c7;color:#92400e}.history-item.timeout .api-monitor-dashboard .monitor-content .error-item .status,.history-item.timeout .api-monitor-dashboard .monitor-content .history-item .status{background:#fed7aa;color:#9a3412}.api-monitor-dashboard .monitor-content .error-item .response-time,.api-monitor-dashboard .monitor-content .history-item .response-time{color:#6b7280;font-family:Courier New,monospace;margin-left:auto}.api-monitor-dashboard .monitor-content .error-item .error-msg,.api-monitor-dashboard .monitor-content .history-item .error-msg{color:#ef4444;font-style:italic;word-break:break-word}.api-monitor-dashboard .monitor-content .history-item{display:flex;align-items:center;justify-content:flex-start;gap:8px}@media (max-width: 768px){.api-monitor-dashboard .monitor-panel{width:calc(100vw - 40px);right:-350px;left:20px}}@media (prefers-color-scheme: dark){.api-monitor-dashboard .monitor-panel{background:#111827f2;border:1px solid rgba(55,65,81,.3)}.api-monitor-dashboard .monitor-content h4{color:#f3f4f6;border-bottom-color:#374151}.api-monitor-dashboard .monitor-content .status-item,.api-monitor-dashboard .monitor-content .metric-item{background:#ffffff0d;border-color:#ffffff1a}.api-monitor-dashboard .monitor-content .status-item .label,.api-monitor-dashboard .monitor-content .metric-item .label{color:#9ca3af}.api-monitor-dashboard .monitor-content .status-item .value,.api-monitor-dashboard .monitor-content .metric-item .value{color:#f9fafb}.api-monitor-dashboard .monitor-content .error-item,.api-monitor-dashboard .monitor-content .history-item{background:#ffffff0d}.api-monitor-dashboard .monitor-content .error-item .time,.api-monitor-dashboard .monitor-content .history-item .time{color:#f3f4f6}.api-monitor-dashboard .monitor-content .error-item .endpoint,.api-monitor-dashboard .monitor-content .history-item .endpoint{color:#9ca3af}}.auto-refresh-status{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-background-light);border-radius:var(--border-radius);border:1px solid var(--color-border)}.auto-refresh-status .refresh-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.auto-refresh-status .refresh-info .countdown-text{font-weight:500;color:var(--color-text-primary);font-size:14px}.auto-refresh-status .refresh-info .last-update-text{font-size:12px;color:var(--color-text-secondary)}.auto-refresh-status .refresh-controls{display:flex;gap:var(--spacing-sm)}.auto-refresh-status .refresh-controls .btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:4px 12px;font-size:14px;transition:all .2s ease}.auto-refresh-status .refresh-controls .btn.btn-success{background:var(--color-success);color:#fff;border-color:var(--color-success)}.auto-refresh-status .refresh-controls .btn.btn-success:hover{opacity:.9;transform:translateY(-1px)}.auto-refresh-status .refresh-controls .btn.btn-secondary{background:var(--color-background-light);color:var(--color-text-secondary);border-color:var(--color-border)}.auto-refresh-status .refresh-controls .btn.btn-secondary:hover{background:var(--color-background-dark)}.auto-refresh-status .refresh-controls .btn.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.auto-refresh-status .refresh-controls .btn.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.auto-refresh-status .refresh-controls .btn svg{flex-shrink:0}@media (max-width: 768px){.auto-refresh-status{flex-direction:column;align-items:stretch}.auto-refresh-status .refresh-controls{justify-content:space-between}}.coming-soon{display:flex;justify-content:center;align-items:center;min-height:50vh;padding:2rem}.coming-soon .coming-soon-content{text-align:center;max-width:500px;padding:3rem;background:#ffffff1a;border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.2)}.coming-soon .coming-soon-content .coming-soon-icon{margin-bottom:1.5rem}.coming-soon .coming-soon-content .coming-soon-icon svg{width:80px;height:80px;color:#6366f1;animation:pulse 2s infinite}.coming-soon .coming-soon-content h2{font-size:2rem;font-weight:600;color:#1f2937;margin-bottom:1rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.coming-soon .coming-soon-content p{font-size:1.1rem;color:#6b7280;margin-bottom:2rem;line-height:1.6}.coming-soon .coming-soon-content .coming-soon-animation{display:flex;justify-content:center;gap:.5rem}.coming-soon .coming-soon-content .coming-soon-animation .dot{width:8px;height:8px;background:#6366f1;border-radius:50%;animation:bounce 1.4s infinite ease-in-out}.coming-soon .coming-soon-content .coming-soon-animation .dot:nth-child(1){animation-delay:-.32s}.coming-soon .coming-soon-content .coming-soon-animation .dot:nth-child(2){animation-delay:-.16s}.coming-soon .coming-soon-content .coming-soon-animation .dot:nth-child(3){animation-delay:0s}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@media (prefers-color-scheme: dark){.coming-soon .coming-soon-content h2{color:#f9fafb}.coming-soon .coming-soon-content p{color:#9ca3af}}@media (max-width: 768px){.coming-soon{padding:1rem}.coming-soon .coming-soon-content{padding:2rem}.coming-soon .coming-soon-content .coming-soon-icon svg{width:60px;height:60px}.coming-soon .coming-soon-content h2{font-size:1.5rem}.coming-soon .coming-soon-content p{font-size:1rem}}.home-page{display:flex;flex-direction:column;gap:var(--spacing-sm);max-width:100%;margin:0;padding:0}.reservations-section{width:100%;margin-bottom:var(--spacing-md)}.reservations-section h2{color:var(--primary-color);margin-bottom:var(--spacing-md);position:relative;display:inline-block}.reservations-section h2:after{content:"";position:absolute;bottom:-5px;left:0;width:40%;height:3px;background:linear-gradient(90deg,var(--primary-color),var(--accent-color));border-radius:3px}.reservations-section .timeline-container{background:#ffffffb3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:var(--border-radius);box-shadow:var(--glass-shadow);border:var(--glass-border);padding:var(--spacing-xs);overflow:hidden;margin-top:0;min-height:300px}.reservations-section .loading,.reservations-section .error,.reservations-section .no-reservations{display:flex;justify-content:center;align-items:center;min-height:200px;text-align:center;color:var(--text-light);font-size:var(--font-size-medium)}.reservations-section .error{color:var(--error-color)}.features{padding:var(--spacing-lg) 0}.features h2{text-align:center;margin-bottom:var(--spacing-lg);position:relative;color:var(--primary-color)}.features h2:after{content:"";display:block;width:50px;height:4px;background:linear-gradient(90deg,var(--primary-color),var(--accent-color));margin:var(--spacing-xs) auto 0;border-radius:2px}.features .cards-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md)}.features .feature-card{background:#ffffffb3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:var(--glass-border);border-radius:var(--border-radius);padding:var(--spacing-md);box-shadow:var(--glass-shadow);height:100%;transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column;position:relative;overflow:hidden}.features .feature-card:before{content:"";position:absolute;top:0;right:0;width:80px;height:80px;background:linear-gradient(135deg,transparent 50%,rgba(var(--primary-rgb),.05) 50%);z-index:1}.features .feature-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px #0000001a}.features .feature-card:hover .card-link{transform:translateY(0);opacity:1}.features .feature-card h3{margin-bottom:var(--spacing-sm);color:var(--primary-color);font-size:var(--font-size-medium);position:relative;z-index:2}.features .feature-card p{color:var(--text-dark);line-height:1.5;margin-bottom:var(--spacing-md);flex-grow:1;position:relative;z-index:2}.features .feature-card .card-link{color:var(--primary-color);text-decoration:none;padding:var(--spacing-xs) 0;border-top:1px solid rgba(var(--border-rgb),.2);display:flex;align-items:center;justify-content:space-between;transition:all .3s ease;transform:translateY(5px);opacity:.8;position:relative;z-index:2}.features .feature-card .card-link:after{content:"→";margin-left:var(--spacing-xs);transition:transform .3s ease}.features .feature-card .card-link:hover{color:var(--accent-color)}.features .feature-card .card-link:hover:after{transform:translate(5px)}.cta{text-align:center;padding:var(--spacing-lg) 0;background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:var(--glass-border);border-radius:var(--border-radius);box-shadow:var(--glass-shadow);margin-bottom:var(--spacing-lg)}.cta h2{margin-bottom:var(--spacing-sm);color:var(--dark-gray)}.cta p{color:var(--text-light);margin-bottom:var(--spacing-md);max-width:700px;margin-left:auto;margin-right:auto}.cta .btn{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-normal)}@media (max-width: 1200px){.home-page{max-width:100%;padding:0}}@media (max-width: 768px){.home-page{padding:0}}@media (max-width: 576px){.home-page{padding:0}.features .cards-row{grid-template-columns:1fr}}.reservations-page h1{margin-bottom:var(--spacing-md);color:var(--dark-gray);font-weight:700;font-size:var(--font-size-xlarge);position:relative;display:inline-block}.reservations-page h1:after{content:"";position:absolute;bottom:-5px;left:0;width:50px;height:4px;background:linear-gradient(90deg,var(--primary-color),var(--accent-color));border-radius:2px}.reservations-controls{margin-bottom:var(--spacing-lg);display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:linear-gradient(135deg,#e6faffd9,#c8e6ffcc,#b4dcffd9);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.6);border-radius:var(--border-radius-lg);box-shadow:0 10px 30px #64aaff26,inset 0 1px 1px #ffffffb3;position:relative;overflow:hidden}.reservations-controls:before,.reservations-controls:after{content:"";position:absolute;background:#fff9;border-radius:50%;pointer-events:none;opacity:.3}.reservations-controls:before{width:100px;height:100px;top:-50px;left:10%;filter:blur(10px);animation:float 20s infinite ease-in-out}.reservations-controls:after{width:80px;height:80px;bottom:-40px;right:15%;filter:blur(8px);animation:float 15s infinite ease-in-out reverse}.reservations-controls .date-control{display:flex;align-items:center;gap:var(--spacing-xs);min-width:240px;padding:.5rem;background:#fff6;border-radius:var(--border-radius);border:1px solid rgba(255,255,255,.7);box-shadow:0 3px 8px #0000000d}.reservations-controls .date-control .btn-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:50%;background-color:var(--primary-light);color:#fff;border:1px solid rgba(255,255,255,.5);cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.reservations-controls .date-control .btn-icon:before{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(to right,#fff0,#ffffff80,#fff0);transform:skew(-25deg);z-index:2;transition:all .75s ease;opacity:0}.reservations-controls .date-control .btn-icon:hover{transform:translateY(-3px);background-color:var(--primary-color);color:#fff;box-shadow:0 5px 15px #3a86ff4d,0 2px 5px #0000001a}.reservations-controls .date-control .btn-icon:hover:before{animation:shine 1.5s ease-in-out}.reservations-controls .date-control .btn-icon:active{transform:translateY(-1px);box-shadow:0 2px 5px #3a86ff33,0 1px 3px #0000001a}.reservations-controls .date-control .btn-icon svg{width:20px;height:20px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.1))}.reservations-controls .date-control .date-input-wrapper{display:flex;align-items:center;flex:1}.reservations-controls .date-control .date-input-wrapper label{white-space:nowrap;font-weight:600;margin-right:var(--spacing-xs);color:var(--dark-gray);text-shadow:0 1px 0 rgba(255,255,255,.5)}.reservations-controls .date-control .date-input-wrapper input[type=date]{border:1px solid rgba(200,220,255,.8);border-radius:var(--border-radius);padding:.5rem;font-family:var(--font-family);background:#ffffff80;min-width:140px;transition:all .2s ease;color:var(--text-color)}.reservations-controls .date-control .date-input-wrapper input[type=date]:hover{background:#ffffffb3}.reservations-controls .date-control .date-input-wrapper input[type=date]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3a86ff33;background:#fff}.reservations-controls .usage-type-buttons{display:flex;background:#dcf0ff80;padding:.25rem;border-radius:var(--border-radius);position:relative;border:1px solid rgba(255,255,255,.6);box-shadow:inset 0 1px 3px #0000000d,0 2px 5px #00000008;overflow:hidden}.reservations-controls .usage-type-buttons:before{content:"";position:absolute;width:50%;height:calc(100% - .5rem);top:.25rem;border-radius:calc(var(--border-radius) - 4px);transition:all .4s cubic-bezier(.17,.67,.23,.98);z-index:0}.reservations-controls .usage-type-buttons.onetime-active:before{left:.25rem;background:linear-gradient(135deg,var(--primary-light),var(--primary-color));box-shadow:0 2px 10px #3a86ff33,inset 0 1px 1px #ffffffb3}.reservations-controls .usage-type-buttons.overnight-active:before{left:calc(50% - .25rem);background:linear-gradient(135deg,var(--secondary-color),var(--accent-color));box-shadow:0 2px 10px #8338ec33,inset 0 1px #ffffff1a}.reservations-controls .usage-type-buttons .btn{flex:1;padding:.5rem .75rem;min-width:90px;z-index:1;transition:all .3s ease;background:transparent;border:none;position:relative;font-weight:500}.reservations-controls .usage-type-buttons .btn.btn-daytime{color:var(--text-color)}.reservations-controls .usage-type-buttons .btn.btn-daytime.active{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2);font-weight:600}.reservations-controls .usage-type-buttons .btn.btn-daytime.active svg{fill:#fff;stroke:#fff;filter:drop-shadow(0 1px 1px rgba(0,0,0,.2))}.reservations-controls .usage-type-buttons .btn.btn-daytime svg{fill:var(--primary-color);stroke:var(--primary-color);margin-right:4px;width:14px;height:14px}.reservations-controls .usage-type-buttons .btn.btn-overnight{color:var(--text-color)}.reservations-controls .usage-type-buttons .btn.btn-overnight.active{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);font-weight:600}.reservations-controls .usage-type-buttons .btn.btn-overnight.active svg{fill:#fff;stroke:#fff;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5))}.reservations-controls .usage-type-buttons .btn.btn-overnight svg{fill:var(--secondary-color);stroke:var(--secondary-color);margin-right:4px;width:14px;height:14px}.reservations-controls .usage-type-buttons .btn:hover{transform:translateY(-1px)}.reservations-controls .usage-type-buttons .btn .btn-content{display:flex;align-items:center;justify-content:center;white-space:nowrap}.reservations-controls .search-container{display:flex;gap:var(--spacing-xs);flex:1;min-width:200px}.reservations-controls .search-container .search-input-container{position:relative;flex:1;display:flex;align-items:center;background:#ffffff80;border-radius:var(--border-radius);border:1px solid rgba(255,255,255,.7);transition:all .3s ease}.reservations-controls .search-container .search-input-container:hover{background:#ffffffb3}.reservations-controls .search-container .search-input-container:focus-within{background:#fff;box-shadow:0 0 0 3px #3a86ff26}.reservations-controls .search-container .search-input-container .search-input{flex:1;border:none;border-radius:var(--border-radius);padding:.75rem 2.5rem .75rem 1rem;font-family:var(--font-family);background:transparent;color:var(--text-color)}.reservations-controls .search-container .search-input-container .search-input:focus{outline:none}.reservations-controls .search-container .search-input-container .search-input::placeholder{color:#6b7280b3}.reservations-controls .search-container .search-input-container .btn-clear{position:absolute;right:.75rem;background:none;border:none;padding:.25rem;color:var(--gray);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.reservations-controls .search-container .search-input-container .btn-clear:hover{color:var(--dark-gray);background:#0000000d;transform:scale(1.1)}.reservations-controls .search-container .search-input-container .btn-clear:active{transform:scale(.95)}.reservations-controls .search-container .btn{white-space:nowrap;display:flex;align-items:center;justify-content:center;min-width:64px}.reservations-controls .search-container .btn.btn-primary{text-align:center;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));box-shadow:0 4px 10px #3a86ff26,0 1px 3px #0000000d}.reservations-controls .search-container .btn.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 15px #3a86ff40,0 2px 5px #0000001a}.reservations-controls .location-navigation{display:flex;gap:var(--spacing-xs);align-items:center;flex-wrap:wrap}.reservations-controls .location-navigation .btn{padding:.5rem 1rem;min-width:80px;background:#fff6;color:var(--text-color);border:1px solid rgba(255,255,255,.7);transition:all .3s ease}.reservations-controls .location-navigation .btn:hover{background:#ffffffb3;transform:translateY(-2px);box-shadow:0 5px 15px #0000000d}.reservations-controls .location-navigation .btn.active{background:linear-gradient(135deg,var(--primary-light),var(--primary-color));color:#fff;border:1px solid transparent;box-shadow:0 4px 10px #3a86ff33}.reservations-controls .location-navigation .btn.active:hover{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));transform:translateY(-2px);box-shadow:0 6px 15px #3a86ff4d}.reservations-controls .presets{display:flex;gap:var(--spacing-xs);align-items:center}.reservations-controls .presets .preset-toggle{margin-right:var(--spacing-sm)}.reservations-controls .presets .preset-toggle .location-toggle .toggle-switch-container{background:#fff9;border:1px solid rgba(255,255,255,.8);box-shadow:0 2px 6px #0000000d}.reservations-controls .presets .preset-toggle .location-toggle .toggle-switch-container:hover{background:#fffc;box-shadow:0 4px 12px #00000014}.reservations-controls .presets .preset-toggle .location-toggle .toggle-option{font-size:var(--font-size-small);font-weight:600;color:var(--text-color)}.reservations-controls .presets .preset-toggle .location-toggle .toggle-option.active{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}.reservations-controls .presets .preset-toggle .location-toggle .toggle-slider{background:linear-gradient(135deg,var(--primary-color),var(--accent-color));box-shadow:0 2px 8px #3a86ff4d,0 1px 3px #0000001a}.reservations-controls .presets .btn{padding:.5rem 1rem;min-width:80px;background:#fff6;color:var(--text-color);border:1px solid rgba(255,255,255,.7);transition:all .3s ease}.reservations-controls .presets .btn:hover{background:#ffffffb3;transform:translateY(-2px);box-shadow:0 5px 15px #0000000d}.reservations-controls .presets .btn.active{background:linear-gradient(135deg,var(--primary-light),var(--primary-color));color:#fff;border:1px solid transparent}.reservations-controls .sort-facilities{display:flex;align-items:center;gap:var(--spacing-xs);min-width:180px;background:#fff6;border-radius:var(--border-radius);padding:.5rem;border:1px solid rgba(255,255,255,.7);box-shadow:0 3px 8px #0000000d}.reservations-controls .sort-facilities label{white-space:nowrap;font-weight:600;color:var(--dark-gray);text-shadow:0 1px 0 rgba(255,255,255,.5)}.reservations-controls .sort-facilities .sort-select{flex:1;border:1px solid rgba(200,220,255,.8);border-radius:var(--border-radius);padding:.5rem 2rem .5rem .5rem;font-family:var(--font-family);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%232b2d42' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:16px;background-color:#ffffff80;transition:all .2s ease;color:var(--text-color);cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none}.reservations-controls .sort-facilities .sort-select:hover{background-color:#ffffffb3}.reservations-controls .sort-facilities .sort-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3a86ff33;background-color:#fff}.reservations-controls .sort-facilities .sort-select option{background:#fff}.reservations-controls .action-buttons{display:flex;gap:var(--spacing-xs);margin-left:auto;align-items:center}.reservations-controls .action-buttons .auto-refresh-control{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);margin-right:var(--spacing-sm);min-width:120px}.reservations-controls .action-buttons .auto-refresh-control .auto-refresh-toggle{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs)}.reservations-controls .action-buttons .auto-refresh-control .auto-refresh-toggle .toggle-label{font-size:var(--font-size-small);font-weight:600;color:var(--text-dark);text-shadow:0 1px 0 rgba(255,255,255,.5)}.reservations-controls .action-buttons .auto-refresh-control .auto-refresh-toggle .auto-refresh-switch .toggle-switch.left .toggle-slider{background:linear-gradient(135deg,#e74c3c,#c0392b)}.reservations-controls .action-buttons .auto-refresh-control .auto-refresh-toggle .auto-refresh-switch .toggle-switch.right .toggle-slider{background:linear-gradient(135deg,#06d6a0,#1b9aaa);animation:pulse-toggle 2s infinite}.reservations-controls .action-buttons .auto-refresh-control .last-update-time-container{min-height:20px;display:flex;align-items:center;justify-content:center}.reservations-controls .action-buttons .auto-refresh-control .last-update-time-container .last-update-time{font-size:var(--font-size-small);color:var(--text-light);text-align:center;min-width:80px;white-space:nowrap}.reservations-controls .action-buttons .btn{padding:.5rem 1rem;white-space:nowrap;border:none;display:flex;align-items:center}.reservations-controls .action-buttons .btn svg{margin-right:6px;position:relative;top:-1px}.reservations-controls .action-buttons .btn.btn-add{background:linear-gradient(135deg,#06d6a0,#1b9aaa);color:#fff;border-radius:var(--border-radius);position:relative;overflow:hidden}.reservations-controls .action-buttons .btn.btn-add:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,#ffffff4d,#fff0 70%);opacity:0;transition:opacity .3s;z-index:0;pointer-events:none}.reservations-controls .action-buttons .btn.btn-add:hover{box-shadow:0 8px 15px #06d6a040,0 2px 5px #0000001a;transform:translateY(-2px)}.reservations-controls .action-buttons .btn.btn-add:hover:after{opacity:1}.reservations-controls .action-buttons .btn.btn-add span{position:relative;z-index:1}.reservations-controls .action-buttons .btn.btn-notification{background:linear-gradient(135deg,#ff9a00,#ff6b00);color:#fff;border-radius:var(--border-radius);position:relative;overflow:hidden}.reservations-controls .action-buttons .btn.btn-notification:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ffffff4d;border-radius:50%;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease}.reservations-controls .action-buttons .btn.btn-notification:hover:after{width:100%;height:100%}.reservations-controls .action-buttons .btn.btn-notification:hover{transform:translateY(-2px);box-shadow:0 12px 20px #ff9a0059,0 2px 8px #ff6b0040}.reservations-controls .action-buttons .btn.btn-notification:active{transform:translateY(0)}.reservations-controls .action-buttons .btn.btn-notification svg{fill:#fff}.reservations-controls .action-buttons .btn.btn-notification span{position:relative;z-index:1}.reservations-controls .action-buttons .btn.btn-notification .notification-badge{position:absolute;top:-8px;right:-8px;min-width:20px;height:20px;padding:0 6px;background:linear-gradient(135deg,#ff3737,#d73502);color:#fff;font-size:.7rem;font-weight:700;border-radius:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #d7350280;animation:badge-pulse 2s infinite}.reservations-controls .action-buttons .btn.btn-settings{background:linear-gradient(135deg,#7209b7,#560bad);color:#fff;border-radius:var(--border-radius);position:relative;overflow:hidden}.reservations-controls .action-buttons .btn.btn-settings:hover{box-shadow:0 8px 15px #7209b740,0 2px 5px #0000001a;transform:translateY(-2px)}@keyframes pulse{0%{box-shadow:0 0 #06d6a0b3}70%{box-shadow:0 0 0 10px #06d6a000}to{box-shadow:0 0 #06d6a000}}@keyframes pulse-toggle{0%{box-shadow:0 0 #06d6a080}70%{box-shadow:0 0 0 6px #06d6a000}to{box-shadow:0 0 #06d6a000}}@media (max-width: 1200px){.reservations-controls .date-control,.reservations-controls .usage-type-buttons,.reservations-controls .search-container,.reservations-controls .presets,.reservations-controls .sort-facilities,.reservations-controls .action-buttons{flex:1 1 auto}.reservations-controls .search-container{min-width:100%;order:1}.reservations-controls .date-control{order:2;min-width:300px}.reservations-controls .usage-type-buttons{order:3;min-width:220px}.reservations-controls .sort-facilities{order:4}.reservations-controls .presets{order:5}.reservations-controls .action-buttons{order:6;margin-left:0}}@media (max-width: 768px){.reservations-controls{flex-direction:column;align-items:stretch}.reservations-controls .date-control,.reservations-controls .usage-type-buttons,.reservations-controls .search-container,.reservations-controls .presets,.reservations-controls .sort-facilities,.reservations-controls .action-buttons{width:100%}}.timeline-container{position:relative;border-radius:var(--border-radius);background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:var(--glass-border);box-shadow:var(--glass-shadow);overflow:hidden;width:100%;min-height:300px;display:flex;flex-direction:column}.timeline-view{display:flex;flex-direction:column;height:100%;width:100%;flex:1}.timeline-body{flex:1;overflow:visible;width:100%;display:flex;flex-direction:column}.timeline-row{display:flex;border-bottom:1px solid var(--light-gray);min-height:var(--timeline-row-height);width:100%;flex-grow:1}.timeline-row:last-child{border-bottom:none}.timeline-row .facility-name{min-width:var(--timeline-facility-name-width);width:var(--timeline-facility-name-width);padding:var(--spacing-xs);background-color:#ffffffb3;border-right:1px solid var(--light-gray);display:flex;align-items:center;justify-content:center;font-weight:500;text-align:center;flex-shrink:0}.facility-timeline{flex:1;position:relative;display:flex;min-height:var(--timeline-row-height);overflow:visible}.timeline-header{display:flex;background-color:#ffffffe6;border-bottom:1px solid var(--light-gray);position:sticky;top:0;z-index:5;width:100%}.timeline-header .facility-name-header{min-width:var(--timeline-facility-name-width);width:var(--timeline-facility-name-width);padding:var(--spacing-xs);background-color:var(--primary-light);color:var(--dark-gray);font-weight:600;display:flex;align-items:center;justify-content:center;border-right:1px solid var(--light-gray);flex-shrink:0}.time-header{display:flex;flex:1;overflow:visible}.time-header .header-time-slot{height:var(--timeline-header-height);display:flex;align-items:center;justify-content:center;justify-content:flex-start;padding-left:1px;border-right:1px solid var(--light-gray);font-weight:600;font-size:.7rem;color:var(--dark-gray);box-sizing:border-box;position:relative}.time-header .header-time-slot:after{content:"";position:absolute;top:0;right:0;width:1px;height:1000px;background-color:#64646433;z-index:1;pointer-events:none}.time-header .header-time-slot[data-hour-start=true]:after{content:"";position:absolute;top:0;right:0;width:2px;height:100%;background-color:#3232324d;z-index:1;pointer-events:none}.time-header .header-time-slot[data-hour-start=true]:after{height:1000px}.time-header .header-time-slot:not(:last-child){position:relative}.time-header .header-time-slot-end{height:var(--timeline-header-height);display:flex;align-items:center;justify-content:center;justify-content:flex-start;box-sizing:border-box;position:relative;border:none}.time-slots-row{position:absolute;display:flex;width:100%;height:var(--timeline-time-label-height);top:0;background-color:#ffffff80;font-size:.75rem;color:var(--text-light);box-sizing:border-box}.time-slots-row .row-time-slot{display:flex;align-items:center;justify-content:flex-start;padding-left:1px;border-right:1px solid var(--light-gray);color:var(--dark-gray);font-weight:600;font-size:.7rem;height:100%;box-sizing:border-box;position:relative}.time-slots-row .row-time-slot:after{content:"";position:absolute;top:0;right:0;width:1px;height:calc(100% - var(--timeline-time-label-height));background-color:#64646433;z-index:1;pointer-events:none}.time-slots-row .row-time-slot:after{top:var(--timeline-time-label-height)}.time-slots-row .row-time-slot[data-hour-start=true]:after{content:"";position:absolute;top:0;right:0;width:2px;height:100%;background-color:#3232324d;z-index:1;pointer-events:none}.time-slots-row .row-time-slot[data-hour-start=true]:after{top:var(--timeline-time-label-height);height:calc(100% - var(--timeline-time-label-height))}.time-slots-row .row-time-slot-end{display:flex;align-items:center;justify-content:flex-start;height:100%;box-sizing:border-box;position:relative;border:none}.time-slots-background{position:absolute;display:flex;width:100%;height:100%}.time-slots-background .time-slot-bg{height:100%;position:relative}.time-slots-background .time-slot-bg:after{content:"";position:absolute;top:0;right:0;width:1px;height:100%;background-color:#64646426;z-index:1;pointer-events:none}.time-slots-background .time-slot-bg[data-hour-end=true]:after{content:"";position:absolute;top:0;right:0;width:2px;height:100%;background-color:#32323240;z-index:1;pointer-events:none}.time-slots-background .time-slot-bg.even{background-color:#d7e3fc33}.time-slots-background .time-slot-bg.odd{background-color:#edf2fb33}.time-slots-background .time-slot-bg.unavailable{background-color:#f0f0f066;position:relative}.time-slots-background .time-slot-bg.unavailable:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#e6e6e64d;pointer-events:none}.time-slots-background .time-slot-bg.clickable{cursor:pointer}.time-slots-background .time-slot-bg.clickable:hover{background-color:rgba(var(--primary-color-rgb),.1)}.reservation-item{position:absolute;height:var(--timeline-reservation-height);background-color:var(--primary-light);border-radius:var(--border-radius);padding:4px 6px;box-shadow:var(--shadow-small);cursor:pointer;overflow:hidden;transition:transform .2s,box-shadow .2s;z-index:2}.reservation-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-medium)}.reservation-item.status-confirmed{background-color:#06d6a033;border:1px solid var(--confirmed-color)}.reservation-item.status-confirmed .reservation-content{color:var(--confirmed-color)}.reservation-item.status-pending{background-color:#ffd16633;border:1px solid var(--pending-color)}.reservation-item.status-pending .reservation-content{color:var(--pending-color)}.reservation-item.status-cancelled{background-color:#ef476f33;border:1px solid var(--cancelled-color)}.reservation-item.status-cancelled .reservation-content{color:var(--cancelled-color)}.reservation-item.maintenance{background-color:#8338ec33;border:1px solid var(--accent-color)}.reservation-item.maintenance .reservation-content{color:var(--accent-color)}.reservation-item.room-mid{background-color:#ffa50033;border:1px solid #ff9800}.reservation-item.room-mid .reservation-content{color:#e67700}.reservation-item.room-south{background-color:#00bcd433;border:1px solid #00bcd4}.reservation-item.room-south .reservation-content{color:#0097a7}.reservation-item.room-tenant{background-color:#8bc34a33;border:1px solid #8bc34a}.reservation-item.room-tenant .reservation-content{color:#689f38}.reservation-item.size-xs{padding:0 1px;display:flex;align-items:center;justify-content:center}.reservation-item.size-xs .reservation-content .reservation-room,.reservation-item.size-xs .reservation-content .reservation-title{font-size:.5rem;letter-spacing:-1px;font-weight:800;line-height:1;margin:0;padding:0}.reservation-item.size-sm{padding:1px 2px}.reservation-item.size-sm .reservation-content .reservation-room,.reservation-item.size-sm .reservation-content .reservation-title{font-size:.6rem;letter-spacing:-.5px;font-weight:700;line-height:1;margin:0;padding:0}.reservation-item.size-md{padding:4px 6px}.reservation-item.size-md .reservation-content .reservation-room,.reservation-item.size-md .reservation-content .reservation-title{font-size:.7rem;letter-spacing:normal;font-weight:600}.reservation-item .checkin-checkout-marks{position:absolute;top:2px;left:2px;right:2px;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none}.reservation-item .checkin-checkout-marks .checkin-container{display:flex;justify-content:flex-start}.reservation-item .checkin-checkout-marks .checkout-container{display:flex;justify-content:flex-end}.reservation-item .checkin-checkout-marks .checkin-mark,.reservation-item .checkin-checkout-marks .checkout-mark{display:flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;color:#fff;box-shadow:0 1px 3px #0000004d}.reservation-item .checkin-checkout-marks .checkin-mark svg,.reservation-item .checkin-checkout-marks .checkout-mark svg{width:8px;height:8px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.3))}.reservation-item .checkin-checkout-marks .checkin-mark{background:linear-gradient(135deg,#4caf50,#66bb6a);border:1px solid #45a049}.reservation-item .checkin-checkout-marks .checkout-mark{background:linear-gradient(135deg,#2196f3,#42a5f5);border:1px solid #1976D2}.reservation-item.size-xs .checkin-checkout-marks{top:1px;left:1px;right:1px}.reservation-item.size-xs .checkin-checkout-marks .checkin-mark,.reservation-item.size-xs .checkin-checkout-marks .checkout-mark{width:10px;height:10px}.reservation-item.size-xs .checkin-checkout-marks .checkin-mark svg,.reservation-item.size-xs .checkin-checkout-marks .checkout-mark svg{width:6px;height:6px}.reservation-item.size-sm .checkin-checkout-marks{top:1px;left:1px;right:1px}.reservation-item.size-sm .checkin-checkout-marks .checkin-mark,.reservation-item.size-sm .checkin-checkout-marks .checkout-mark{width:12px;height:12px}.reservation-item.size-sm .checkin-checkout-marks .checkin-mark svg,.reservation-item.size-sm .checkin-checkout-marks .checkout-mark svg{width:7px;height:7px}.reservation-item.size-lg .checkin-checkout-marks,.reservation-item.size-xl .checkin-checkout-marks{top:3px;left:3px;right:3px}.reservation-item.size-lg .checkin-checkout-marks .checkin-mark,.reservation-item.size-lg .checkin-checkout-marks .checkout-mark,.reservation-item.size-xl .checkin-checkout-marks .checkin-mark,.reservation-item.size-xl .checkin-checkout-marks .checkout-mark{width:16px;height:16px}.reservation-item.size-lg .checkin-checkout-marks .checkin-mark svg,.reservation-item.size-lg .checkin-checkout-marks .checkout-mark svg,.reservation-item.size-xl .checkin-checkout-marks .checkin-mark svg,.reservation-item.size-xl .checkin-checkout-marks .checkout-mark svg{width:10px;height:10px}.reservation-item.size-lg{padding:4px 6px}.reservation-item.size-lg .reservation-content .reservation-room,.reservation-item.size-lg .reservation-content .reservation-title{font-size:.75rem;letter-spacing:normal;font-weight:600}.reservation-item.size-xl{padding:4px 6px}.reservation-item.size-xl .reservation-content .reservation-room,.reservation-item.size-xl .reservation-content .reservation-title{font-size:.8rem;letter-spacing:normal;font-weight:600}.reservation-item .reservation-content{display:flex;flex-direction:column;height:100%;font-size:.65rem;justify-content:center}.reservation-item .reservation-content .reservation-room{font-weight:600;color:var(--primary-color);font-size:.8rem;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reservation-item .reservation-content .reservation-room.paid{background:linear-gradient(135deg,#ffb6c199,#ff69b4cc);padding:.1rem .3rem;border-radius:4px;box-shadow:0 1px 3px #ff69b433}.reservation-item .reservation-content .reservation-title{font-weight:500;font-size:.7rem;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reservation-item.multi-day{box-shadow:0 2px 8px #00000026;border:1px solid var(--primary-color)}.reservation-item.multi-day.room-mid{border:1px solid #ff9800}.reservation-item.multi-day.room-south{border:1px solid #00bcd4}.reservation-item.multi-day.room-tenant{border:1px solid #8bc34a}.reservation-item.multi-day.start-day{border-radius:var(--border-radius) 0 0 var(--border-radius);border-right:1px dashed var(--primary-color)}.reservation-item.multi-day.start-day.room-mid{border-right:1px dashed #ff9800}.reservation-item.multi-day.start-day.room-south{border-right:1px dashed #00bcd4}.reservation-item.multi-day.start-day.room-tenant{border-right:1px dashed #8bc34a}.reservation-item.multi-day.start-day .reservation-content{padding-right:12px}.reservation-item.multi-day.start-day:after{content:"→";position:absolute;right:2px;top:50%;transform:translateY(-50%);color:var(--primary-color);font-weight:700;font-size:.6rem;z-index:10}.reservation-item.multi-day.middle-day{border-radius:0;border-left:1px dashed var(--primary-color);border-right:1px dashed var(--primary-color)}.reservation-item.multi-day.middle-day.room-mid{border-left:1px dashed #ff9800;border-right:1px dashed #ff9800}.reservation-item.multi-day.middle-day.room-south{border-left:1px dashed #00bcd4;border-right:1px dashed #00bcd4}.reservation-item.multi-day.middle-day.room-tenant{border-left:1px dashed #8bc34a;border-right:1px dashed #8bc34a}.reservation-item.multi-day.middle-day .reservation-content{padding-left:12px;padding-right:12px}.reservation-item.multi-day.middle-day:before{content:"←";position:absolute;left:2px;top:50%;transform:translateY(-50%);color:var(--primary-color);font-weight:700;font-size:.6rem;z-index:10}.reservation-item.multi-day.middle-day:after{content:"→";position:absolute;right:2px;top:50%;transform:translateY(-50%);color:var(--primary-color);font-weight:700;font-size:.6rem;z-index:10}.reservation-item.multi-day.end-day{border-radius:0 var(--border-radius) var(--border-radius) 0;border-left:1px dashed var(--primary-color)}.reservation-item.multi-day.end-day.room-mid{border-left:1px dashed #ff9800}.reservation-item.multi-day.end-day.room-south{border-left:1px dashed #00bcd4}.reservation-item.multi-day.end-day.room-tenant{border-left:1px dashed #8bc34a}.reservation-item.multi-day.end-day .reservation-content{padding-left:12px}.reservation-item.multi-day.end-day:before{content:"←";position:absolute;left:2px;top:50%;transform:translateY(-50%);color:var(--primary-color);font-weight:700;font-size:.6rem;z-index:10}.timeline-row,.timeline-row .facility-timeline{position:relative;min-height:var(--timeline-row-height)}.timeline-row .facility-timeline.has-overlaps{min-height:calc(var(--timeline-row-height) * 3 + 20px)}.location-timeline{margin-bottom:.5rem}.location-timeline .location-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs);padding:.25rem .75rem;background:#fffc;border-radius:var(--border-radius);border:1px solid var(--light-gray)}.location-timeline .location-header h3{margin:0;color:var(--primary-color);font-size:1rem;font-weight:600}.location-timeline .location-header .display-time{display:none}.location-timeline .timeline-view{background:#ffffffb3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:var(--border-radius);box-shadow:var(--glass-shadow);border:var(--glass-border);overflow:hidden}.multi-location-timeline{display:flex;flex-direction:column;gap:.75rem}.multi-time-slot-timeline{margin-bottom:.5rem}.multi-time-slot-timeline .location-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs);padding:.25rem .75rem;background:#fffc;border-radius:var(--border-radius);border:1px solid var(--light-gray)}.multi-time-slot-timeline .location-header h3{margin:0;color:var(--primary-color);font-size:1rem;font-weight:600}.multi-time-slot-timeline .location-header .display-time{display:none}.multi-time-slot-timeline .timeline-view{background:#ffffffb3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:var(--border-radius);box-shadow:var(--glass-shadow);border:var(--glass-border);overflow:hidden}.multi-time-slot-timeline .timeline-row{display:block;position:relative;min-height:var(--timeline-row-height);border-bottom:1px solid var(--light-gray)}.multi-time-slot-timeline .timeline-row:last-child{border-bottom:none}.multi-time-slot-timeline .timeline-row.primary-time-slot{border-top:none}.multi-time-slot-timeline .timeline-row.primary-time-slot .facility-name.main-cell{width:var(--timeline-facility-name-width);background-color:#ffffffb3;border-right:1px solid var(--light-gray);display:flex;align-items:center;justify-content:center}.multi-time-slot-timeline .timeline-row.primary-time-slot .facility-name.main-cell .facility-name-text{font-weight:500;font-size:.85rem;color:var(--dark-gray);text-align:center;padding:var(--spacing-xs)}.multi-time-slot-timeline .timeline-row.secondary-time-slot{border-top:1px solid rgba(var(--light-gray-rgb),.5);background:transparent}.multi-time-slot-timeline .timeline-row .facility-timeline{height:var(--timeline-row-height);position:relative}.multi-time-slot-timeline .timeline-row .facility-timeline .time-slots-row{background:transparent;border-bottom:none}.multi-time-slot-timeline .timeline-row .facility-timeline .time-slots-row .row-time-slot{font-size:.65rem;font-weight:500;color:var(--text-light);text-align:center;padding:2px}.multi-time-slot-timeline .timeline-row .facility-timeline .time-slot-label{position:absolute;right:-80px;top:20px;font-size:12px;color:#666}@media (max-width: 768px){.timeline-row .facility-name,.timeline-header .facility-name-header{min-width:var(--timeline-facility-name-width-mobile);width:var(--timeline-facility-name-width-mobile)}.facility-timeline,.time-header{flex:1;overflow:hidden}.header-time-slot,.row-time-slot{font-size:.6rem;padding-left:.5px}.reservation-item{padding:2px 4px}.reservation-item .reservation-content .reservation-room,.reservation-item .reservation-content .reservation-title{font-size:.6rem}.reservation-item.size-xs .reservation-content .reservation-room,.reservation-item.size-xs .reservation-content .reservation-title{font-size:.45rem}.reservation-item.size-sm .reservation-content .reservation-room,.reservation-item.size-sm .reservation-content .reservation-title{font-size:.55rem}.multi-time-slot-timeline .facility-name.main-cell{width:var(--timeline-facility-name-width-mobile)}.multi-time-slot-timeline .facility-name.main-cell .facility-name-text{font-size:.75rem}.multi-time-slot-timeline .facility-timeline{margin-left:var(--timeline-facility-name-width-mobile)}.multi-time-slot-timeline .facility-timeline .time-slot-label{right:-60px;font-size:10px}.location-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.location-header h3{font-size:var(--font-size-medium)}.location-header .display-time{font-size:var(--font-size-xsmall)}}.status-container{margin:.5rem 0;display:flex;justify-content:center;padding:0}.reservation-status{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1.25rem;border-radius:30px;font-weight:600;font-size:.9rem;transition:all .3s ease;box-shadow:0 2px 8px #0000001f}.reservation-status.status-paid{background:linear-gradient(135deg,var(--success-color, #4CAF50),#66BB6A);color:#fff}.reservation-status.status-paid .payment-method{margin-left:.5rem;font-size:.8rem;opacity:.9;font-weight:500}.reservation-status.status-paid:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4caf5040}.reservation-status.status-unpaid{background:linear-gradient(135deg,var(--warning-color, #FF9800),#FFA726);color:#fff}.reservation-status.status-unpaid:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ff980040}.reservation-status.status-maintenance{background:linear-gradient(135deg,var(--info-color, #2196F3),#42A5F5);color:#fff}.reservation-status.status-maintenance:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2196f340}.no-reservations{display:flex;justify-content:center;align-items:center;min-height:200px}.no-reservations p{color:var(--text-light);font-size:var(--font-size-medium)}.loading{display:flex;justify-content:center;align-items:center;min-height:200px}.loading p{color:var(--primary-color);font-size:var(--font-size-medium);font-weight:600;display:flex;align-items:center;gap:15px;padding:12px 20px;background:#fffc;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:50px;box-shadow:0 5px 15px #00000014;border:1px solid rgba(255,255,255,.7)}.loading p:before{content:"";display:block;width:24px;height:24px;border-radius:50%;background:conic-gradient(var(--primary-color) 0%,var(--accent-color) 25%,rgba(255,255,255,.6) 50%,var(--accent-color) 75%,var(--primary-color) 100%);animation:pulse-loader 1.5s ease-in-out infinite alternate,rotate-loader 2s linear infinite}@keyframes pulse-loader{0%{transform:scale(1);box-shadow:0 0 rgba(var(--primary-rgb),.2)}to{transform:scale(1.1);box-shadow:0 0 10px rgba(var(--primary-rgb),.4),0 0 20px rgba(var(--accent-rgb),.2)}}@keyframes rotate-loader{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin{0%{transform:translateY(-50%) rotate(0)}to{transform:translateY(-50%) rotate(360deg)}}.error{display:flex;justify-content:center;align-items:center;min-height:200px}.error p{color:var(--cancelled-color);font-size:var(--font-size-medium);font-weight:600;position:relative;padding-left:25px}.error p:before{content:"!";position:absolute;left:5px;top:50%;transform:translateY(-50%);width:18px;height:18px;background-color:var(--cancelled-color);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.actions-panel{margin-top:var(--spacing-lg);padding:var(--spacing-md);background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:var(--glass-border);border-radius:var(--border-radius);box-shadow:var(--glass-shadow)}.actions-panel h2{margin-bottom:var(--spacing-sm);color:var(--dark-gray);font-weight:600;font-size:var(--font-size-medium)}.actions-panel p{margin-bottom:var(--spacing-md);color:var(--text-light)}.actions-panel .condition-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.actions-panel .condition-controls .condition-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.actions-panel .condition-controls .condition-group label{font-weight:500;color:var(--dark-gray)}.actions-panel .condition-controls .condition-group input,.actions-panel .condition-controls .condition-group select{border:1px solid var(--light-gray);border-radius:var(--border-radius);padding:.5rem;font-family:var(--font-family);background:#ffffffb3}.actions-panel .condition-controls .condition-group input:focus,.actions-panel .condition-controls .condition-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3a86ff33}.facility-tabs{display:flex;margin-bottom:10px;border-bottom:1px solid #e0e0e0}.facility-tabs .tab-button{background:none;border:none;padding:8px 16px;cursor:pointer;font-size:14px;font-weight:500;color:#666;position:relative;transition:all .2s ease}.facility-tabs .tab-button.active{color:#1a73e8}.facility-tabs .tab-button.active:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:2px;background-color:#1a73e8}.facility-tabs .tab-button:hover{background-color:#1a73e80a}.form-group.full-width{width:100%}.facility-info{display:flex;align-items:center;padding:12px;background-color:#f5f7fa;border-radius:8px;margin-bottom:16px}.facility-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:#1a73e8;margin-right:12px}.facility-icon svg{width:24px;height:24px}.facility-details{flex:1}.facility-name{font-weight:500;margin-bottom:2px}.facility-building{font-size:12px;color:#666}.facility-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:16px;max-height:300px;overflow-y:auto;padding:4px}.facility-card{position:relative;display:flex;align-items:center;padding:12px;background:linear-gradient(135deg,#f9fdff,#e6f7ff);border-radius:8px;cursor:pointer;transition:all .2s ease;border:1px solid rgba(200,220,255,.3);box-shadow:0 2px 5px #0000000d}.facility-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #1a73e826;background:linear-gradient(135deg,#f0f9ff,#d6f0ff);border-color:#1a73e84d}.facility-card.selected{background:linear-gradient(135deg,#e1f5fe,#b3e5fc);border-color:#1a73e8;box-shadow:0 2px 8px #1a73e840}.facility-card-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-right:10px;background:#fffc;border-radius:50%;box-shadow:0 2px 4px #0000001a;color:#1a73e8}.facility-card-icon svg{width:20px;height:20px}.facility-card-details{flex:1}.facility-card-name{font-weight:500;font-size:14px;margin-bottom:2px;color:#333}.facility-card-building{font-size:12px;color:#666}.facility-card-selected{position:absolute;top:8px;right:8px;width:20px;height:20px;background-color:#1a73e8;border-radius:50%;display:flex;align-items:center;justify-content:center}.facility-card-selected .check-icon{color:#fff;font-size:12px}@keyframes bubble{0%{transform:scale(0);opacity:0}50%{opacity:1}to{transform:scale(1);opacity:0}}@keyframes bubble-rise{0%{opacity:0;transform:translateY(100%) scale(.3)}50%{opacity:1;transform:translateY(50%) scale(.6)}80%{opacity:.8;transform:translateY(10%) scale(.9)}to{opacity:0;transform:translateY(0) scale(1)}}@keyframes shine{0%{left:-100%;opacity:0}20%{opacity:.2}50%{opacity:.3}to{left:100%;opacity:0}}@keyframes ripple{0%{transform:scale(0);opacity:.5}to{transform:scale(5);opacity:0}}@keyframes dropdown-appear{0%{opacity:0;transform:translateY(-10px) scale(.98);box-shadow:0 5px 15px #0000000d,0 1px 3px #00000005}to{opacity:1;transform:translateY(0) scale(1);box-shadow:0 10px 25px #00000014,0 2px 5px #00000008,inset 0 1px 1px #ffffffb3}}@keyframes modal-appear{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0) translate(0)}25%{transform:translateY(-15px) translate(15px)}50%{transform:translateY(5px) translate(-5px)}75%{transform:translateY(10px) translate(10px)}}@keyframes badge-pulse{0%{transform:scale(1);box-shadow:0 2px 8px #d7350280}50%{transform:scale(1.1);box-shadow:0 2px 12px #d73502b3}to{transform:scale(1);box-shadow:0 2px 8px #d7350280}}.glass{background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--border-radius)}.login-page{display:flex;flex-direction:column;min-height:100vh;background-image:radial-gradient(circle at 0% 0%,rgba(58,134,255,.08) 0%,transparent 50%),radial-gradient(circle at 100% 100%,rgba(131,56,236,.08) 0%,transparent 50%);position:relative}.login-page .container{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg) var(--spacing-md);position:relative;z-index:2}.login-card{width:100%;max-width:450px;padding:var(--spacing-lg);background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:var(--glass-border);border-radius:var(--border-radius-lg);box-shadow:var(--glass-shadow);position:relative;overflow:hidden;z-index:1;margin:0 auto}.login-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--border-radius-lg);padding:2px;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.login-card .login-header{text-align:center;margin-bottom:var(--spacing-lg)}.login-card .login-header .app-logo{margin-bottom:var(--spacing-md)}.login-card .login-header .app-logo .login-title{font-size:var(--font-size-xlarge);font-weight:700;margin-bottom:var(--spacing-xs);background:linear-gradient(90deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.login-card .login-header .app-logo .login-title span{color:var(--accent-color)}.login-card .login-header .app-logo .logo-tagline{color:var(--text-light);font-size:var(--font-size-normal);margin-top:.5rem}.login-card .login-header .login-instruction{margin-top:var(--spacing-md)}.login-card .login-header .login-instruction p{color:var(--dark-gray);font-size:.875rem;font-weight:500;background:linear-gradient(135deg,#3a86ff1a,#8338ec1a);padding:var(--spacing-sm) var(--spacing-xs);border-radius:var(--border-radius);border:1px solid rgba(58,134,255,.2);margin:0;text-align:center;line-height:1.3;white-space:nowrap}.login-card .login-form{width:100%}.login-card .form-group{margin-bottom:var(--spacing-md)}.login-card .form-group label{display:block;margin-bottom:var(--spacing-xs);font-weight:500;color:var(--dark-gray)}.login-card .form-group input{width:100%;padding:var(--spacing-sm);border:1px solid var(--light-gray);border-radius:var(--border-radius);font-family:var(--font-family);font-size:var(--font-size-normal);transition:border-color .3s,box-shadow .3s;background:#ffffffb3}.login-card .form-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3a86ff33}.login-card .form-group input::placeholder{color:var(--text-light);opacity:.6}.login-card .remember-me{display:flex;align-items:center;margin-bottom:var(--spacing-md)}.login-card .remember-me input[type=checkbox]{margin-right:var(--spacing-xs);width:18px;height:18px;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1px solid var(--light-gray);border-radius:4px;cursor:pointer;transition:background-color .2s,border-color .2s;position:relative;flex-shrink:0}.login-card .remember-me input[type=checkbox]:checked{background-color:var(--primary-color);border-color:var(--primary-color)}.login-card .remember-me input[type=checkbox]:checked:after{content:"";position:absolute;top:3px;left:6px;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.login-card .remember-me input[type=checkbox]:focus{outline:none;box-shadow:0 0 0 3px #3a86ff33}.login-card .remember-me label{cursor:pointer;color:var(--text-light);font-size:var(--font-size-small);margin-left:4px}.login-card .login-button{z-index:1;transition:transform .3s ease,box-shadow .3s ease,color .2s ease;width:100%;padding:var(--spacing-sm) var(--spacing-md);font-weight:600;font-size:var(--font-size-normal);letter-spacing:.5px;margin-bottom:var(--spacing-md);position:relative;overflow:hidden;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#fff;border:none;border-radius:var(--border-radius);cursor:pointer}.login-card .login-button:before{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(to right,#fff0,#ffffff4d,#fff0);transform:skew(-25deg);z-index:2;transition:all .75s ease;opacity:0}.login-card .login-button:after{content:"";display:block;position:absolute;pointer-events:none;width:100%;height:100%;left:0;top:0;z-index:0;opacity:0}.login-card .login-button:hover{transform:translateY(-3px);box-shadow:0 10px 20px #001e501a,0 3px 6px #0000000d}.login-card .login-button:hover:before{animation:shine 1.5s ease-in-out}.login-card .login-button:active{transform:translateY(0);box-shadow:0 5px 10px #001e500d,0 2px 4px #0000000d}.login-card .login-button .bubble{position:absolute;background-color:#fff9;border-radius:50%;pointer-events:none;z-index:0;opacity:0}.login-card .login-button .bubble:nth-child(1){width:8px;height:8px;left:20%;bottom:-20px;animation:bubble-rise 12s linear infinite;animation-delay:.2s}.login-card .login-button .bubble:nth-child(2){width:11px;height:11px;left:30%;bottom:-20px;animation:bubble-rise 14s linear infinite;animation-delay:.4s}.login-card .login-button .bubble:nth-child(3){width:14px;height:14px;left:40%;bottom:-20px;animation:bubble-rise 16s linear infinite;animation-delay:.6s}.login-card .login-button .bubble:nth-child(4){width:17px;height:17px;left:50%;bottom:-20px;animation:bubble-rise 18s linear infinite;animation-delay:.8s}.login-card .login-button .bubble:nth-child(5){width:5px;height:5px;left:60%;bottom:-20px;animation:bubble-rise 10s linear infinite;animation-delay:1s}.login-card .login-button .bubble:nth-child(6){width:8px;height:8px;left:70%;bottom:-20px;animation:bubble-rise 12s linear infinite;animation-delay:1.2s}.login-card .login-button .bubbles-container{position:absolute;width:100%;height:100%;left:0;top:0;pointer-events:none;overflow:hidden;border-radius:inherit}.login-card .login-button:hover .bubble{animation-play-state:running}.login-card .login-button:active:after{content:"";position:absolute;width:100%;height:100%;top:0;left:0;background-color:#fff6;border-radius:inherit;animation:ripple .6s linear}.login-card .login-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.login-card .login-button .button-text{position:relative;z-index:1}.login-card .forgot-password{display:block;text-align:center;color:var(--primary-color);font-size:var(--font-size-small);text-decoration:none;transition:color .2s;margin-bottom:var(--spacing-md)}.login-card .forgot-password:hover{color:var(--primary-dark);text-decoration:underline}.login-card .login-divider{display:flex;align-items:center;margin:var(--spacing-lg) 0}.login-card .login-divider .divider-line{flex:1;height:1px;background:linear-gradient(to right,#00000005,#0000001a,#00000005)}.login-card .login-divider .divider-text{padding:0 var(--spacing-sm);color:var(--text-light);font-size:var(--font-size-small)}.login-card .social-login{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}.login-card .social-login .social-button{position:relative;overflow:hidden;z-index:1;transition:transform .3s ease,box-shadow .3s ease,color .2s ease;padding:var(--spacing-sm);border-radius:var(--border-radius);border:1px solid var(--light-gray);background:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-small);color:var(--dark-gray);cursor:pointer}.login-card .social-login .social-button:before{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(to right,#fff0,#ffffff4d,#fff0);transform:skew(-25deg);z-index:2;transition:all .75s ease;opacity:0}.login-card .social-login .social-button:after{content:"";display:block;position:absolute;pointer-events:none;width:100%;height:100%;left:0;top:0;z-index:0;opacity:0}.login-card .social-login .social-button:hover{transform:translateY(-3px);box-shadow:0 10px 20px #001e501a,0 3px 6px #0000000d}.login-card .social-login .social-button:hover:before{animation:shine 1.5s ease-in-out}.login-card .social-login .social-button:active{transform:translateY(0);box-shadow:0 5px 10px #001e500d,0 2px 4px #0000000d}.login-card .social-login .social-button img{width:20px;height:20px;margin-right:var(--spacing-xs)}.login-card .error-message{background-color:#ef476f1a;color:var(--cancelled-color);padding:var(--spacing-sm);border-radius:var(--border-radius);font-size:var(--font-size-small);margin-bottom:var(--spacing-md);display:flex;align-items:center;border:1px solid rgba(239,71,111,.3);animation:errorSlideIn .3s ease-out}.login-card .error-message:before{content:"!";display:flex;align-items:center;justify-content:center;width:16px;height:16px;background-color:var(--cancelled-color);color:#fff;border-radius:50%;margin-right:var(--spacing-xs);font-size:12px;font-weight:700;flex-shrink:0}.login-card .loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-lg);min-height:160px}.login-card .loading-container .loading-spinner{width:40px;height:40px;border:3px solid rgba(58,134,255,.3);border-top:3px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--spacing-md)}.login-card .loading-container .loading-text{color:var(--text-light);font-size:var(--font-size-normal);margin:0;font-weight:500}.login-card .login-footer{text-align:center;padding-top:var(--spacing-md);margin-top:var(--spacing-md);color:var(--text-light);font-size:var(--font-size-small);border-top:1px solid rgba(0,0,0,.05)}.login-card .login-footer a{color:var(--primary-color);text-decoration:none}.login-card .login-footer a:hover{text-decoration:underline}@keyframes errorSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.login-card{padding:var(--spacing-md);max-width:90%}}@media (max-width: 480px){.login-card{max-width:100%;border-radius:var(--border-radius)}.login-card .login-header .app-logo .login-title{font-size:1.8rem}.login-card .login-header .login-instruction p{font-size:.8rem;padding:var(--spacing-xs) .5rem}}
