: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;--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}.app{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;padding:var(--spacing-lg) 0;position:relative;z-index:1}.container{width:100%;max-width:1200px;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:sticky;top:0;z-index:10}.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}.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}}.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 .container{display:flex;flex-direction:column;gap:0;align-items:stretch}.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 .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-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}.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)}}.home-page{display:flex;flex-direction:column;gap:var(--spacing-lg);max-width:1200px;margin:0 auto;padding:var(--spacing-md)}.welcome-banner{text-align:center;padding:var(--spacing-lg) 0;position:relative;margin-bottom:var(--spacing-md)}.welcome-banner h1{font-size:var(--font-size-xlarge);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;max-width:800px;margin-left:auto;margin-right:auto}.welcome-banner p{color:var(--text-light);font-size:var(--font-size-medium);max-width:700px;margin:0 auto;line-height:1.6}.welcome-banner:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:150px;height:3px;background:linear-gradient(90deg,var(--primary-color),var(--accent-color));border-radius:3px}.reservations-section{width:100%;margin-bottom:var(--spacing-lg)}.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-md);overflow-x:auto;margin-top:var(--spacing-md)}.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: 768px){.home-page{padding:var(--spacing-sm)}.welcome-banner h1{font-size:calc(var(--font-size-xlarge) * .8)}.welcome-banner p{font-size:var(--font-size-normal)}.features .cards-row{grid-template-columns:1fr}.features .feature-card .card-link{transform:translateY(0);opacity:1}}@media (max-width: 480px){.welcome-banner h1{font-size:calc(var(--font-size-large))}}.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 .presets{display:flex;gap:var(--spacing-xs)}.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}.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-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)}@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-x:hidden;overflow-y:hidden;width:100%;height:100%;display:flex;flex-direction:column}.timeline-view{display:flex;flex-direction:column;height:100%;width:100%;flex:1}.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:100px;width:100px;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}.timeline-header .time-header{display:flex;width:calc(100% - 100px)}.timeline-header .header-time-slot{height:40px;display:flex;align-items:center;justify-content:flex-start;padding-left:var(--spacing-xs);border-right:1px solid var(--light-gray);font-weight:600;color:var(--dark-gray);box-sizing:border-box}.timeline-header .header-time-slot:not(:last-child){position:relative}.timeline-header .header-time-slot:not(:last-child):after{content:"";position:absolute;top:100%;right:0;width:1px;height:1000px;background-color:#64646433;z-index:1;pointer-events:none}.timeline-header .header-time-slot[data-hour-start=true]{position:relative}.timeline-header .header-time-slot[data-hour-start=true]:after{content:"";position:absolute;top:100%;right:0;width:2px;height:1000px;background-color:#3232324d;z-index:1;pointer-events:none}.timeline-body{flex:1;overflow-y:visible;overflow-x:hidden;width:100%;display:flex;flex-direction:column}.timeline-body .timeline-row{display:flex;border-bottom:1px solid var(--light-gray);min-height:80px;width:100%;flex-grow:1}.timeline-body .timeline-row:last-child{border-bottom:none}.timeline-body .timeline-row .facility-name{min-width:100px;width:100px;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}.timeline-body .timeline-row .facility-timeline{flex:1;position:relative;display:flex;min-height:80px;width:calc(100% - 100px)}.timeline-body .timeline-row .facility-timeline .time-slots-row{position:absolute;display:flex;width:100%;height:20px;top:0;background-color:#ffffff80;font-size:.75rem;color:var(--text-light);box-sizing:border-box}.timeline-body .timeline-row .facility-timeline .time-slots-row .row-time-slot{display:flex;align-items:center;justify-content:flex-start;padding-left:2px;border-right:1px solid var(--light-gray);color:var(--dark-gray);font-weight:600;height:100%;box-sizing:border-box;position:relative}.timeline-body .timeline-row .facility-timeline .time-slots-row .row-time-slot:after{content:"";position:absolute;top:20px;right:0;width:1px;height:calc(100% - 20px);background-color:#64646433;z-index:1;pointer-events:none}.timeline-body .timeline-row .facility-timeline .time-slots-row .row-time-slot[data-hour-start=true]:after{width:2px;background-color:#3232324d}.timeline-body .timeline-row .facility-timeline .time-slots-background{position:absolute;display:flex;width:100%;height:100%}.timeline-body .timeline-row .facility-timeline .time-slots-background .time-slot-bg{height:100%;position:relative}.timeline-body .timeline-row .facility-timeline .time-slots-background .time-slot-bg:after{content:"";position:absolute;top:0;right:0;width:1px;height:100%;background-color:#64646426;z-index:1}.timeline-body .timeline-row .facility-timeline .time-slots-background .time-slot-bg[data-hour-end=true]:after{width:2px;background-color:#32323240}.timeline-body .timeline-row .facility-timeline .time-slots-background .time-slot-bg.even{background-color:#d7e3fc33}.timeline-body .timeline-row .facility-timeline .time-slots-background .time-slot-bg.odd{background-color:#edf2fb33}.timeline-body .timeline-row .facility-timeline .time-slots-background .time-slot-bg.unavailable{background-color:#f0f0f066;position:relative}.timeline-body .timeline-row .facility-timeline .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}.timeline-body .timeline-row .facility-timeline .reservation-item{position:absolute;height:60px;top:20px;background-color:var(--primary-light);border-radius:var(--border-radius);padding:var(--spacing-xs);box-shadow:var(--shadow-small);cursor:pointer;overflow:hidden;transition:transform .2s,box-shadow .2s;z-index:2}.timeline-body .timeline-row .facility-timeline .reservation-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-medium)}.timeline-body .timeline-row .facility-timeline .reservation-item.status-confirmed{background-color:#06d6a033;border:1px solid var(--confirmed-color)}.timeline-body .timeline-row .facility-timeline .reservation-item.status-confirmed .reservation-content{color:var(--confirmed-color)}.timeline-body .timeline-row .facility-timeline .reservation-item.status-pending{background-color:#ffd16633;border:1px solid var(--pending-color)}.timeline-body .timeline-row .facility-timeline .reservation-item.status-pending .reservation-content{color:var(--pending-color)}.timeline-body .timeline-row .facility-timeline .reservation-item.status-cancelled{background-color:#ef476f33;border:1px solid var(--cancelled-color)}.timeline-body .timeline-row .facility-timeline .reservation-item.status-cancelled .reservation-content{color:var(--cancelled-color)}.timeline-body .timeline-row .facility-timeline .reservation-item.maintenance{background-color:#8338ec33;border:1px solid var(--accent-color)}.timeline-body .timeline-row .facility-timeline .reservation-item.maintenance .reservation-content{color:var(--accent-color)}.timeline-body .timeline-row .facility-timeline .reservation-item.room-mid{background-color:#ffa50033;border:1px solid #ff9800}.timeline-body .timeline-row .facility-timeline .reservation-item.room-mid .reservation-content{color:#e67700}.timeline-body .timeline-row .facility-timeline .reservation-item.room-south{background-color:#00bcd433;border:1px solid #00bcd4}.timeline-body .timeline-row .facility-timeline .reservation-item.room-south .reservation-content{color:#0097a7}.timeline-body .timeline-row .facility-timeline .reservation-item.room-tenant{background-color:#8bc34a33;border:1px solid #8bc34a}.timeline-body .timeline-row .facility-timeline .reservation-item.room-tenant .reservation-content{color:#689f38}.timeline-body .timeline-row .facility-timeline .reservation-item .reservation-content{display:flex;flex-direction:column;height:100%;font-size:var(--font-size-small)}.timeline-body .timeline-row .facility-timeline .reservation-item .reservation-content .reservation-time{font-weight:600}.timeline-body .timeline-row .facility-timeline .reservation-item .reservation-content .reservation-room{font-weight:600;color:var(--primary-color)}.timeline-body .timeline-row .facility-timeline .reservation-item .reservation-content .reservation-organizer{margin-top:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-body .timeline-row .facility-timeline .reservation-item .reservation-content .reservation-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.75rem;opacity:.8}@media (max-width: 768px){.facility-name,.facility-name-header{min-width:80px;width:80px}.facility-timeline,.time-header{width:calc(100% - 80px)!important}}.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}.daily-schedule-page{padding:var(--spacing-lg) 0}.daily-schedule-page h1{color:var(--primary-color);margin-bottom:var(--spacing-md);position:relative;display:inline-block}.daily-schedule-page h1: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}.daily-schedule-page .today-date-container{margin-bottom:var(--spacing-md)}.daily-schedule-page .today-date-container .today-date{display:inline-block;background:linear-gradient(120deg,var(--primary-color),var(--accent-color));color:#fff;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius);font-weight:600;box-shadow:0 4px 10px rgba(var(--primary-rgb),.25)}.daily-schedule-page .loading-indicator{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-lg) 0}.daily-schedule-page .loading-indicator .spinner{width:40px;height:40px;border:3px solid rgba(var(--primary-rgb),.2);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s ease-in-out infinite;margin-bottom:var(--spacing-md)}.daily-schedule-page .loading-indicator p{color:var(--text-light)}@keyframes spin{to{transform:rotate(360deg)}}.daily-schedule-page .schedule-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-md);margin-bottom:var(--spacing-lg);position:relative}.daily-schedule-page .schedule-container .time-indicator{border-bottom:1px dashed rgba(var(--border-rgb),.5);padding-bottom:var(--spacing-sm);margin-bottom:var(--spacing-md)}.daily-schedule-page .schedule-container .time-indicator .current-time{display:flex;align-items:center}.daily-schedule-page .schedule-container .time-indicator .current-time .time-marker{width:8px;height:8px;background-color:var(--primary-color);border-radius:50%;margin-right:var(--spacing-xs);position:relative}.daily-schedule-page .schedule-container .time-indicator .current-time .time-marker:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:16px;height:16px;background-color:rgba(var(--primary-rgb),.2);border-radius:50%;animation:pulse 2s infinite}.daily-schedule-page .schedule-container .time-indicator .current-time span{color:var(--primary-color);font-weight:500}@keyframes pulse{0%{transform:translate(-50%,-50%) scale(.8);opacity:.8}70%{transform:translate(-50%,-50%) scale(1.5);opacity:0}to{transform:translate(-50%,-50%) scale(.8);opacity:0}}.daily-schedule-page .schedule-container .reservations-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.daily-schedule-page .schedule-container .reservation-card{display:flex;background:#fff;border-radius:var(--border-radius);overflow:hidden;box-shadow:0 2px 8px #0000000d;transition:transform .3s ease,box-shadow .3s ease;border-left:4px solid var(--primary-color)}.daily-schedule-page .schedule-container .reservation-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.daily-schedule-page .schedule-container .reservation-card.status-pending{border-left-color:#ffd166}.daily-schedule-page .schedule-container .reservation-card.status-pending .reservation-time{background-color:#ffd1661a}.daily-schedule-page .schedule-container .reservation-card.status-canceled{border-left-color:#ef476f}.daily-schedule-page .schedule-container .reservation-card.status-canceled .reservation-time{background-color:#ef476f1a}.daily-schedule-page .schedule-container .reservation-card .reservation-time{width:120px;padding:var(--spacing-sm);background-color:rgba(var(--primary-rgb),.05);display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:600;color:var(--primary-color);text-align:center;line-height:1.5}.daily-schedule-page .schedule-container .reservation-card .reservation-details{flex:1;padding:var(--spacing-sm) var(--spacing-md);display:flex;flex-direction:column;justify-content:center}.daily-schedule-page .schedule-container .reservation-card .reservation-details .reservation-facility{font-weight:600;margin-bottom:var(--spacing-xs);color:var(--text-dark)}.daily-schedule-page .schedule-container .reservation-card .reservation-details .reservation-user{color:var(--text-light);font-size:var(--font-size-small);margin-bottom:var(--spacing-xs)}.daily-schedule-page .schedule-container .reservation-card .reservation-details .reservation-status .status-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:var(--font-size-xsmall);font-weight:500}.daily-schedule-page .schedule-container .reservation-card .reservation-details .reservation-status .status-badge.confirmed{background-color:#06d6a033;color:#06d6a0}.daily-schedule-page .schedule-container .reservation-card .reservation-details .reservation-status .status-badge.pending{background-color:#ffd16633;color:#d68c06}.daily-schedule-page .schedule-container .reservation-card .reservation-details .reservation-status .status-badge.canceled{background-color:#ef476f33;color:#ef476f}.daily-schedule-page .schedule-container .no-reservations{padding:var(--spacing-lg) 0}.daily-schedule-page .schedule-container .no-reservations .empty-state{display:flex;flex-direction:column;align-items:center;text-align:center}.daily-schedule-page .schedule-container .no-reservations .empty-state .empty-icon{font-size:3rem;margin-bottom:var(--spacing-md);opacity:.5}.daily-schedule-page .schedule-container .no-reservations .empty-state p{color:var(--text-light);margin-bottom:var(--spacing-xs);font-size:var(--font-size-medium)}.daily-schedule-page .schedule-container .no-reservations .empty-state .empty-sub{font-size:var(--font-size-small);color:var(--text-light)}.daily-schedule-page .schedule-summary{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-md)}.daily-schedule-page .schedule-summary h3{color:var(--primary-color);margin-bottom:var(--spacing-md);font-size:var(--font-size-medium);position:relative;display:inline-block}.daily-schedule-page .schedule-summary h3:after{content:"";position:absolute;bottom:-5px;left:0;width:100%;height:2px;background:linear-gradient(90deg,var(--primary-color),transparent)}.daily-schedule-page .schedule-summary .summary-stats{display:flex;gap:var(--spacing-md)}.daily-schedule-page .schedule-summary .summary-stats .stat-box{flex:1;background:#fff;border-radius:var(--border-radius);padding:var(--spacing-md);text-align:center;box-shadow:0 2px 8px #0000000d}.daily-schedule-page .schedule-summary .summary-stats .stat-box .stat-value{font-size:var(--font-size-large);font-weight:700;color:var(--primary-color);margin-bottom:var(--spacing-xs)}.daily-schedule-page .schedule-summary .summary-stats .stat-box .stat-label{color:var(--text-light);font-size:var(--font-size-small)}@media (max-width: 768px){.daily-schedule-page .schedule-container .reservation-card{flex-direction:column}.daily-schedule-page .schedule-container .reservation-card .reservation-time{width:100%;padding:var(--spacing-xs) var(--spacing-sm)}.daily-schedule-page .schedule-summary .summary-stats{flex-direction:column;gap:var(--spacing-sm)}}.cancellation-rules-page{padding:var(--spacing-lg) 0}.cancellation-rules-page h1{color:var(--primary-color);margin-bottom:var(--spacing-md);position:relative;display:inline-block}.cancellation-rules-page h1: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}.cancellation-rules-page .cancellation-rules-info{margin-bottom:var(--spacing-md);line-height:1.6}.cancellation-rules-page .cancellation-rules-info p{margin-bottom:var(--spacing-sm)}.cancellation-rules-page .cancellation-rules-info .note{font-size:var(--font-size-small);color:var(--text-light);position:relative;padding-left:1.2em}.cancellation-rules-page .cancellation-rules-info .note:before{content:"※";position:absolute;left:0}.cancellation-rules-page .cancellation-rules-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-md);margin-bottom:var(--spacing-lg);overflow:hidden}.cancellation-rules-page .cancellation-rules-table{width:100%;border-collapse:separate;border-spacing:0}.cancellation-rules-page .cancellation-rules-table th,.cancellation-rules-page .cancellation-rules-table td{padding:var(--spacing-sm);text-align:left;vertical-align:middle}.cancellation-rules-page .cancellation-rules-table th{background:rgba(var(--primary-rgb),.05);font-weight:600;color:var(--primary-color);border-bottom:2px solid var(--primary-color)}.cancellation-rules-page .cancellation-rules-table td{border-bottom:1px solid rgba(var(--border-rgb),.3)}.cancellation-rules-page .cancellation-rules-table tr:last-child td{border-bottom:none}.cancellation-rules-page .cancellation-rules-table input{width:60px;padding:4px 8px;border:1px solid var(--border-color);border-radius:4px}.cancellation-rules-page .cancellation-rules-table input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.2)}.cancellation-rules-page .cancellation-rules-table .input-with-unit{display:flex;align-items:center;gap:5px}.cancellation-rules-page .cancellation-rules-table .button-group{display:flex;gap:var(--spacing-xs)}.cancellation-rules-page .cancellation-rules-table .btn-edit,.cancellation-rules-page .cancellation-rules-table .btn-save,.cancellation-rules-page .cancellation-rules-table .btn-cancel{padding:4px 10px;border:none;border-radius:4px;cursor:pointer;font-size:var(--font-size-small);transition:all .2s ease}.cancellation-rules-page .cancellation-rules-table .btn-edit{background:rgba(var(--primary-rgb),.1);color:var(--primary-color)}.cancellation-rules-page .cancellation-rules-table .btn-edit:hover{background:rgba(var(--primary-rgb),.2)}.cancellation-rules-page .cancellation-rules-table .btn-save{background:var(--primary-color);color:#fff}.cancellation-rules-page .cancellation-rules-table .btn-save:hover{background:var(--primary-color-dark)}.cancellation-rules-page .cancellation-rules-table .btn-cancel{background:var(--light-gray);color:var(--text-dark)}.cancellation-rules-page .cancellation-rules-table .btn-cancel:hover{background:var(--border-color)}.cancellation-rules-page .auto-cancel-section{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-md)}.cancellation-rules-page .auto-cancel-section h2{color:var(--primary-color);margin-bottom:var(--spacing-sm);font-size:var(--font-size-large)}.cancellation-rules-page .auto-cancel-section p{margin-bottom:var(--spacing-md);color:var(--text-dark)}.cancellation-rules-page .auto-cancel-section .condition-controls{display:flex;flex-wrap:wrap;gap:var(--spacing-md);align-items:flex-end}.cancellation-rules-page .auto-cancel-section .condition-controls .condition-group{flex:1;min-width:200px}.cancellation-rules-page .auto-cancel-section .condition-controls .condition-group label{display:block;margin-bottom:var(--spacing-xs);font-weight:500;color:var(--text-dark)}.cancellation-rules-page .auto-cancel-section .condition-controls .condition-group input,.cancellation-rules-page .auto-cancel-section .condition-controls .condition-group select{width:100%;padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--border-radius);background:#fff}.cancellation-rules-page .auto-cancel-section .condition-controls .condition-group input:focus,.cancellation-rules-page .auto-cancel-section .condition-controls .condition-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.2)}.cancellation-rules-page .auto-cancel-section .condition-controls .btn{padding:10px 20px;border:none;border-radius:var(--border-radius);cursor:pointer;font-weight:500;transition:all .3s ease}.cancellation-rules-page .auto-cancel-section .condition-controls .btn.btn-secondary{background:var(--accent-color);color:#fff}.cancellation-rules-page .auto-cancel-section .condition-controls .btn.btn-secondary:hover{background:var(--accent-color-dark);transform:translateY(-2px);box-shadow:0 4px 8px rgba(var(--accent-rgb),.25)}@media (max-width: 768px){.cancellation-rules-page .condition-controls{flex-direction:column}.cancellation-rules-page .condition-controls .condition-group,.cancellation-rules-page .condition-controls .btn{width:100%}}.inventory-management-page{padding:var(--spacing-lg) 0}.inventory-management-page h1{color:var(--primary-color);margin-bottom:var(--spacing-md);position:relative;display:inline-block}.inventory-management-page h1: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}.inventory-management-page .inventory-filters{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md);flex-wrap:wrap}.inventory-management-page .inventory-filters .filter-group{display:flex;align-items:center;gap:var(--spacing-sm)}.inventory-management-page .inventory-filters .filter-group label{font-weight:500;white-space:nowrap}.inventory-management-page .inventory-filters .filter-group select{padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--border-radius);min-width:150px;background:#fff}.inventory-management-page .inventory-filters .filter-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.2)}.inventory-management-page .inventory-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-md);margin-bottom:var(--spacing-lg);overflow-x:auto}.inventory-management-page .inventory-table{width:100%;border-collapse:separate;border-spacing:0}.inventory-management-page .inventory-table th,.inventory-management-page .inventory-table td{padding:var(--spacing-sm);text-align:left;vertical-align:middle}.inventory-management-page .inventory-table th{position:sticky;top:0;background:#fffffff2;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);z-index:1;font-weight:600;color:var(--primary-color);border-bottom:2px solid var(--primary-color)}.inventory-management-page .inventory-table td{border-bottom:1px solid rgba(var(--border-rgb),.3)}.inventory-management-page .inventory-table tr{transition:background-color .2s ease}.inventory-management-page .inventory-table tr:hover{background-color:rgba(var(--primary-rgb),.05)}.inventory-management-page .inventory-table tr.status-out{background-color:#ef476f0d}.inventory-management-page .inventory-table tr.status-out:hover{background-color:#ef476f1a}.inventory-management-page .inventory-table tr.status-low{background-color:#ffd1661a}.inventory-management-page .inventory-table tr.status-low:hover{background-color:#ffd16633}.inventory-management-page .inventory-table .status-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:var(--font-size-small);font-weight:500}.inventory-management-page .inventory-table .status-badge.available{background-color:#06d6a033;color:#06d6a0}.inventory-management-page .inventory-table .status-badge.low{background-color:#ffd16633;color:#d68c06}.inventory-management-page .inventory-table .status-badge.out{background-color:#ef476f33;color:#ef476f}.inventory-management-page .inventory-table .action-buttons{display:flex;gap:var(--spacing-xs)}.inventory-management-page .inventory-table .action-buttons button{padding:4px 10px;border:none;border-radius:4px;cursor:pointer;font-size:var(--font-size-small);transition:all .2s ease}.inventory-management-page .inventory-table .action-buttons button.btn-edit{background:rgba(var(--primary-rgb),.1);color:var(--primary-color)}.inventory-management-page .inventory-table .action-buttons button.btn-edit:hover{background:rgba(var(--primary-rgb),.2)}.inventory-management-page .inventory-table .action-buttons button.btn-check{background:#06d6a01a;color:#06d6a0}.inventory-management-page .inventory-table .action-buttons button.btn-check:hover{background:#06d6a033}.inventory-management-page .no-items-found{text-align:center;padding:var(--spacing-lg) 0;color:var(--text-light)}.inventory-management-page .no-items-found:before{content:"🔍";display:block;font-size:3rem;margin-bottom:var(--spacing-md);opacity:.5}.inventory-management-page .no-items-found p{font-size:var(--font-size-medium)}@media (max-width: 992px){.inventory-management-page .inventory-filters{flex-direction:column;align-items:flex-start}.inventory-management-page .inventory-filters .filter-group{width:100%}.inventory-management-page .inventory-filters .filter-group select{flex-grow:1}}.contract-management-page{padding:var(--spacing-lg) 0}.contract-management-page h1{color:var(--primary-color);margin-bottom:var(--spacing-md);position:relative;display:inline-block}.contract-management-page h1: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}.contract-management-page .space-summary{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);overflow-x:auto;padding-bottom:var(--spacing-xs)}.contract-management-page .space-summary .summary-card{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-md);min-width:200px;flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.contract-management-page .space-summary .summary-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px #00000014}.contract-management-page .space-summary .summary-card h3{margin-bottom:var(--spacing-sm);color:var(--primary-color)}.contract-management-page .space-summary .summary-card .count-badge{background:var(--primary-color);color:#fff;border-radius:20px;padding:5px 15px;font-weight:600;font-size:var(--font-size-small)}.contract-management-page .contract-filters{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md);align-items:flex-end;flex-wrap:wrap}.contract-management-page .contract-filters .filter-group{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1;min-width:180px}.contract-management-page .contract-filters .filter-group label{font-weight:500}.contract-management-page .contract-filters .filter-group select{padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--border-radius);background:#fff}.contract-management-page .contract-filters .filter-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.2)}.contract-management-page .contract-filters .btn-add-contract{padding:10px 20px;border:none;border-radius:var(--border-radius);background:var(--primary-color);color:#fff;font-weight:500;cursor:pointer;transition:all .3s ease}.contract-management-page .contract-filters .btn-add-contract:hover{background:var(--primary-color-dark);transform:translateY(-2px);box-shadow:0 4px 8px rgba(var(--primary-rgb),.25)}.contract-management-page .contract-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-md);overflow-x:auto}.contract-management-page .contract-table{width:100%;border-collapse:separate;border-spacing:0}.contract-management-page .contract-table th,.contract-management-page .contract-table td{padding:var(--spacing-sm);text-align:left;vertical-align:middle}.contract-management-page .contract-table th{position:sticky;top:0;background:#fffffff2;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);z-index:1;font-weight:600;color:var(--primary-color);border-bottom:2px solid var(--primary-color)}.contract-management-page .contract-table td{border-bottom:1px solid rgba(var(--border-rgb),.3)}.contract-management-page .contract-table tr{transition:background-color .2s ease}.contract-management-page .contract-table tr:hover{background-color:rgba(var(--primary-rgb),.05)}.contract-management-page .contract-table tr.status-使用中{border-left:3px solid #06d6a0}.contract-management-page .contract-table tr.status-空き{border-left:3px solid #3a86ff}.contract-management-page .contract-table tr.status-予約済み{border-left:3px solid #ffd166}.contract-management-page .contract-table tr.status-工事中{border-left:3px solid #ef476f}.contract-management-page .contract-table .status-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:var(--font-size-small);font-weight:500}.contract-management-page .contract-table .status-badge.使用中{background-color:#06d6a033;color:#06d6a0}.contract-management-page .contract-table .status-badge.空き{background-color:#3a86ff33;color:#3a86ff}.contract-management-page .contract-table .status-badge.予約済み{background-color:#ffd16633;color:#d68c06}.contract-management-page .contract-table .status-badge.工事中{background-color:#ef476f33;color:#ef476f}.contract-management-page .contract-table .action-buttons{display:flex;gap:var(--spacing-xs)}.contract-management-page .contract-table .action-buttons button{padding:4px 10px;border:none;border-radius:4px;cursor:pointer;font-size:var(--font-size-small);transition:all .2s ease}.contract-management-page .contract-table .action-buttons button.btn-edit{background:rgba(var(--primary-rgb),.1);color:var(--primary-color)}.contract-management-page .contract-table .action-buttons button.btn-edit:hover{background:rgba(var(--primary-rgb),.2)}.contract-management-page .contract-table .action-buttons button.btn-new-contract{background:#3a86ff1a;color:#3a86ff}.contract-management-page .contract-table .action-buttons button.btn-new-contract:hover{background:#3a86ff33}.contract-management-page .contract-table .action-buttons button.btn-terminate{background:#ef476f1a;color:#ef476f}.contract-management-page .contract-table .action-buttons button.btn-terminate:hover{background:#ef476f33}.contract-management-page .no-contracts-found{text-align:center;padding:var(--spacing-lg) 0;color:var(--text-light)}.contract-management-page .no-contracts-found:before{content:"📄";display:block;font-size:3rem;margin-bottom:var(--spacing-md);opacity:.5}.contract-management-page .no-contracts-found p{font-size:var(--font-size-medium)}@media (max-width: 992px){.contract-management-page .space-summary{flex-wrap:wrap}.contract-management-page .space-summary .summary-card{min-width:150px}.contract-management-page .contract-filters{flex-direction:column}.contract-management-page .contract-filters .btn-add-contract{width:100%}}@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)}}.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-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}.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 .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}@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}}
