@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=Noto+Sans+JP:wght@400;500;600;700&display=swap";:root{--sidebar-width: 260px}.admin-layout{min-height:100vh;background-color:var(--color-bg-secondary);display:flex}.admin-sidebar{display:none;position:fixed;left:0;top:0;width:var(--sidebar-width);height:100vh;background-color:var(--color-bg-card);border-right:1px solid var(--color-border-light);overflow-y:auto;z-index:30}@media(min-width:1024px){.admin-sidebar{display:block}}.admin-sidebar-header{padding:var(--space-5) var(--space-4);border-bottom:1px solid var(--color-border-light)}.admin-sidebar-logo{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text-primary);text-decoration:none;display:block}.admin-sidebar-logo:hover{color:var(--color-brand-primary)}.admin-main-wrapper{flex:1;min-width:0;display:flex;flex-direction:column}@media(min-width:1024px){.admin-main-wrapper{margin-left:var(--sidebar-width)}}.admin-mobile-header{display:flex;align-items:center;gap:var(--space-3);height:56px;padding:0 var(--space-4);background-color:var(--color-bg-card);border-bottom:1px solid var(--color-border-light);position:sticky;top:0;z-index:20}@media(min-width:1024px){.admin-mobile-header{display:none}}.admin-mobile-header-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-primary)}.admin-menu-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-md);background:none;border:none;cursor:pointer;color:var(--color-text-secondary);transition:background-color var(--transition-fast)}.admin-menu-toggle:hover{background-color:var(--color-bg-secondary)}.admin-menu-toggle-icon{width:24px;height:24px}.admin-main{flex:1;padding:var(--space-6) var(--space-4)}@media(min-width:640px){.admin-main{padding:var(--space-6)}}@media(min-width:1024px){.admin-main{padding:var(--space-8)}}.admin-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0000004d;z-index:40}@media(min-width:1024px){.admin-overlay{display:none}}.admin-sidenav-mobile{position:fixed;left:0;top:0;height:100%;width:300px;max-width:85vw;background-color:var(--color-bg-card);box-shadow:var(--shadow-lg);z-index:50;overflow-y:auto}.admin-sidenav-header{padding:var(--space-4);border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;align-items:center}.admin-sidenav-logo{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text-primary);text-decoration:none}.admin-sidenav-logo:hover{color:var(--color-brand-primary)}.admin-sidenav-close{padding:var(--space-2);border-radius:var(--radius-md);background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary)}.admin-sidenav-close:hover{background-color:var(--color-bg-secondary)}.admin-sidenav-close-icon{width:20px;height:20px}.admin-sidenav-content{padding:var(--space-4)}.admin-sidenav-content>*+*{margin-top:var(--space-5)}.admin-category-header{font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);margin:0}.admin-category-user{background-color:var(--color-primary-50);color:var(--color-primary-600)}.admin-category-staff{background-color:var(--color-success-50);color:var(--color-success-700)}.admin-category-admin{background-color:var(--color-warning-50);color:var(--color-warning-700)}.admin-menu-list{list-style:none;padding:0;margin:var(--space-2) 0 0 0}.admin-menu-list>*+*{margin-top:var(--space-1)}.admin-menu-link{display:block;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);text-decoration:none;transition:background-color var(--transition-fast)}.admin-menu-link:not(.active){color:var(--color-text-secondary)}.admin-menu-link:not(.active):hover{background-color:var(--color-bg-secondary)}.admin-menu-link.active{background-color:var(--color-primary-50);color:var(--color-primary-700)}.admin-menu-link-label{font-weight:var(--font-medium);font-size:var(--text-sm)}.admin-menu-link-desc{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px}.admin-dashboard{display:flex;flex-direction:column;gap:var(--space-8)}.admin-section{display:flex;flex-direction:column;gap:var(--space-4)}.admin-section-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text-primary)}.admin-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:var(--space-4)}@media(min-width:640px){.admin-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.admin-grid{grid-template-columns:repeat(4,1fr)}}.admin-menu-card{display:block;padding:var(--space-6);background:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light);text-decoration:none;transition:all var(--transition-normal)}.admin-menu-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-medium);transform:translateY(-2px)}.admin-icon-wrapper{width:56px;height:56px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4)}.admin-icon{width:32px;height:32px;color:#fff}.admin-icon-primary{background-color:var(--color-primary-500)}.admin-icon-secondary{background-color:var(--color-secondary-500)}.admin-icon-info{background-color:var(--color-info-500)}.admin-icon-success{background-color:var(--color-success-500)}.admin-icon-warning{background-color:var(--color-warning-500)}.admin-icon-error{background-color:var(--color-error-500)}.admin-icon-reservation{background-color:var(--color-category-reservation)}.admin-icon-facility{background-color:var(--color-category-facility)}.admin-icon-stats{background-color:var(--color-category-stats)}.admin-menu-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-primary);margin-bottom:var(--space-1)}.admin-menu-desc{font-size:var(--text-sm);color:var(--color-text-secondary)}.admin-info-card{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}.admin-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}@media(min-width:640px){.admin-info-grid{grid-template-columns:repeat(4,1fr)}}.admin-info-item dt{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-1)}.admin-info-item dd{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-primary)}.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.react-datepicker-wrapper{display:inline-block;padding:0;border:0}.react-datepicker{font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;background-color:#fff;color:#000;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative;line-height:initial}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.375em;border-bottom-right-radius:.375em}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle,.react-datepicker-popper--header-middle[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper--header-bottom[data-placement^=bottom] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker-popper--header-bottom[data-placement^=top] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select,.react-datepicker__header--middle,.react-datepicker__header--bottom){border-top-right-radius:.3rem}.react-datepicker__header--middle{border-top:1px solid #aeaeae;border-radius:0;margin-top:4px}.react-datepicker__header--bottom{border-bottom:none;border-top:1px solid #aeaeae;border-radius:0 0 .3rem .3rem}.react-datepicker__header-wrapper{position:relative}.react-datepicker__header-wrapper .react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:2px}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{display:inline-block;margin:0 15px}.react-datepicker__month-select,.react-datepicker__year-select,.react-datepicker__month-year-select{background-color:transparent;border:1px solid #aeaeae;border-radius:.3rem;color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;margin-top:5px;padding:2px 5px}.react-datepicker__month-select:focus-visible,.react-datepicker__year-select:focus-visible,.react-datepicker__month-year-select:focus-visible{outline:auto 1px}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{margin-top:0;color:#000;font-weight:700;font-size:.944rem}h2.react-datepicker__current-month{padding:0;margin:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{align-items:center;background:none;display:flex;justify-content:center;text-align:center;cursor:pointer;position:absolute;top:2px;padding:0;border:none;z-index:1;height:32px;width:32px;text-indent:-999em;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{position:relative;top:0;display:block;margin-left:auto;margin-right:auto}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover *:before{border-color:#a6a6a6}.react-datepicker__navigation-icon{position:relative;top:-1px;font-size:20px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg);left:-7px}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg);right:-7px}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.5em;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;width:5em;margin:2px}.react-datepicker__month{margin:.5em;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:5em;margin:2px}.react-datepicker__input-time-container{clear:both;width:100%;float:left;margin:5px 0 10px 15px;text-align:left}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{display:inline;border:1px solid #aeaeae;border-radius:.375em;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.375em}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:85px;overflow-x:hidden;margin:0 auto;text-align:center;border-bottom-right-radius:.375em}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + 1.0625em);overflow-y:scroll;padding-right:0;padding-left:0;width:100%;box-sizing:content-box}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:transparent}.react-datepicker__week-number{color:#ccc;display:inline-block;width:2.125em;line-height:2.125em;text-align:center;margin:.208em}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__week-number--selected{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{text-align:center;white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;display:inline-block;width:2.125em;line-height:2.125em;text-align:center;margin:.208em}.react-datepicker__day-name--disabled,.react-datepicker__day--disabled,.react-datepicker__time-name--disabled{cursor:default;color:#ccc}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{border-radius:.3rem;background-color:#3dcc4a;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{position:relative;border-radius:.3rem;background-color:#ff6803;color:#fff}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{border-radius:.3rem;background-color:#bad9f1;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90;color:#fff}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{position:absolute;bottom:70%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__input-container{position:relative;display:inline-block;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{position:absolute;padding:.625em;box-sizing:content-box}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{transform:rotate(135deg);right:-16px;top:0}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:#f0f0f0;position:absolute;width:50%;left:25%;top:30px;z-index:1;text-align:center;border-radius:.3rem;border:1px solid #aeaeae}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{line-height:20px;width:100%;display:block;margin-left:auto;margin-right:auto}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;background-color:transparent;border:0;outline:0;padding:0 6px 0 0;position:absolute;top:0;right:0;height:100%;display:table-cell;vertical-align:middle}.react-datepicker__close-icon:after{cursor:pointer;background-color:#216ba5;color:#fff;border-radius:50%;height:16px;width:16px;padding:2px;font-size:12px;line-height:1;text-align:center;display:table-cell;vertical-align:middle;content:"×"}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;cursor:pointer;text-align:center;font-weight:700;padding:5px 0;clear:left}.react-datepicker__portal{position:fixed;width:100vw;height:100vh;background-color:#000c;left:0;top:0;justify-content:center;align-items:center;display:flex;z-index:2147483647}.react-datepicker__children-container{width:17.25em;margin:.5em;padding-right:.25em;padding-left:.25em;height:auto}.react-datepicker__aria-live{position:absolute;clip-path:circle(0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;white-space:nowrap}.react-datepicker__calendar-icon{width:1em;height:1em;vertical-align:-.125em}.react-datepicker-popper-offset{margin-top:-.7em}.custom-datepicker-wrapper{width:100%}.custom-datepicker-input{width:100%;min-height:44px;padding:var(--space-3);border:1px solid var(--color-border-medium);border-radius:var(--radius-lg);font-size:max(16px,var(--text-base));font-family:var(--font-family-mono);color:var(--color-text-primary);background-color:var(--color-bg-card);transition:all var(--transition-fast);cursor:pointer}.custom-datepicker-input:hover:not(:disabled){border-color:var(--color-border-dark)}.custom-datepicker-input:focus{outline:none;border-color:var(--color-brand-primary);box-shadow:0 0 0 3px #0066cc26}.custom-datepicker-input:disabled{opacity:.5;cursor:not-allowed;background-color:var(--color-bg-secondary)}.custom-datepicker-input::placeholder{color:var(--color-text-tertiary)}.custom-datepicker-popper{z-index:9999!important}.custom-datepicker-calendar{font-family:var(--font-family-base);background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-elevated);padding:var(--space-3)}.react-datepicker__header{background:var(--color-bg-card);border-bottom:1px solid var(--color-border-light);padding:var(--space-3) var(--space-2);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.react-datepicker__current-month{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-primary);margin-bottom:var(--space-2)}.react-datepicker__navigation{top:16px;width:32px;height:32px;border-radius:var(--radius-md);transition:background-color var(--transition-fast)}.react-datepicker__navigation:hover{background-color:var(--color-bg-secondary)}.react-datepicker__navigation-icon:before{border-color:var(--color-text-secondary);border-width:2px 2px 0 0;width:8px;height:8px}.react-datepicker__navigation:hover .react-datepicker__navigation-icon:before{border-color:var(--color-text-primary)}.react-datepicker__day-names{display:flex;justify-content:space-around;margin-top:var(--space-2)}.react-datepicker__day-name{color:var(--color-text-tertiary);font-size:var(--text-xs);font-weight:var(--font-medium);width:36px;margin:0;text-align:center}.react-datepicker__month{margin:var(--space-2) 0 0 0}.react-datepicker__week{display:flex;justify-content:space-around}.react-datepicker__day{width:36px;height:36px;line-height:36px;margin:2px 0;border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-primary);transition:all var(--transition-fast)}.react-datepicker__day:hover:not(.react-datepicker__day--disabled):not(.react-datepicker__day--selected){background-color:var(--color-bg-secondary);border-radius:var(--radius-md)}.react-datepicker__day--selected,.react-datepicker__day--keyboard-selected{background-color:var(--color-brand-primary)!important;color:#fff!important;font-weight:var(--font-semibold)}.react-datepicker__day--today{font-weight:var(--font-bold);color:var(--color-brand-primary)}.react-datepicker__day--today.react-datepicker__day--selected{color:#fff}.react-datepicker__day--disabled{color:var(--color-text-tertiary);opacity:.4;cursor:not-allowed}.react-datepicker__day--outside-month{color:var(--color-text-tertiary);opacity:.5}.react-datepicker__day--in-range{background-color:#0066cc1a;border-radius:0}.react-datepicker__day--range-start{background-color:var(--color-brand-primary)!important;color:#fff!important;border-radius:var(--radius-md) 0 0 var(--radius-md)}.react-datepicker__day--range-end{background-color:var(--color-brand-primary)!important;color:#fff!important;border-radius:0 var(--radius-md) var(--radius-md) 0}.react-datepicker__day--in-selecting-range{background-color:#06c3}.react-datepicker__time-container{border-left:1px solid var(--color-border-light);width:100px}.react-datepicker__time-container .react-datepicker__time{background:var(--color-bg-card)}.react-datepicker__time-container .react-datepicker__time-box{width:100%}.react-datepicker__time-list{padding:0!important}.react-datepicker__time-list-item{padding:var(--space-2) var(--space-3)!important;font-size:var(--text-sm);transition:background-color var(--transition-fast)}.react-datepicker__time-list-item:hover{background-color:var(--color-bg-secondary)!important}.react-datepicker__time-list-item--selected{background-color:var(--color-brand-primary)!important;font-weight:var(--font-semibold)}.react-datepicker-time__header{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary)}.react-datepicker__month-wrapper{display:flex;justify-content:space-around}.react-datepicker__month-text{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);transition:all var(--transition-fast)}.react-datepicker__month-text:hover{background-color:var(--color-bg-secondary)}.react-datepicker__month-text--selected{background-color:var(--color-brand-primary)!important;color:#fff!important}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;justify-content:center;max-width:220px}.react-datepicker__year-text{padding:var(--space-2);border-radius:var(--radius-md);font-size:var(--text-sm);transition:all var(--transition-fast)}.react-datepicker__year-text:hover{background-color:var(--color-bg-secondary)}.react-datepicker__year-text--selected{background-color:var(--color-brand-primary)!important;color:#fff!important}.react-datepicker__close-icon{right:8px}.react-datepicker__close-icon:after{background-color:var(--color-text-tertiary);font-size:14px;width:18px;height:18px;line-height:16px}.react-datepicker__close-icon:hover:after{background-color:var(--color-text-secondary)}.react-datepicker--inline{border:none;box-shadow:none}@media(prefers-reduced-motion:reduce){.custom-datepicker-input,.react-datepicker__day,.react-datepicker__navigation,.react-datepicker__time-list-item,.react-datepicker__month-text,.react-datepicker__year-text{transition:none}}@media(pointer:coarse){.custom-datepicker-input{min-height:48px}.react-datepicker__day{width:40px;height:40px;line-height:40px}.react-datepicker__time-list-item{padding:var(--space-3)!important}}.reservations-page{display:flex;flex-direction:column;gap:var(--space-6)}.reservations-filter-card{background-color:var(--color-bg-card);border-radius:var(--radius-xl);padding:var(--space-4);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}.reservations-filter-row{display:flex;flex-wrap:wrap;gap:var(--space-4)}.reservations-filter-group{display:flex;flex-direction:column}.reservations-filter-group.flex-1{flex:1;min-width:200px}.reservations-filter-label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary);margin-bottom:var(--space-1)}.reservations-filter-input{padding:var(--space-2) var(--space-3);min-height:44px;border:1px solid var(--color-border-medium);border-radius:var(--radius-lg);font-size:max(16px,var(--text-sm));background-color:var(--color-bg-card);color:var(--color-text-primary)}.reservations-filter-select{padding:var(--space-2) var(--space-3);min-height:44px;border:1px solid var(--color-border-medium);border-radius:var(--radius-lg);font-size:max(16px,var(--text-sm));background-color:var(--color-bg-card);color:var(--color-text-primary);-webkit-appearance:none;-moz-appearance:none;appearance:none;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='%235F5F5F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px;cursor:pointer}.reservations-filter-input:focus,.reservations-filter-select:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-50)}.reservations-filter-input.full-width{width:100%}.reservations-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}@media(min-width:640px){.reservations-stats-grid{grid-template-columns:repeat(4,1fr)}}.reservations-stat-card{background-color:var(--color-bg-card);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}.reservations-stat-value{font-size:var(--text-2xl);font-weight:var(--font-bold);margin:0}.reservations-stat-value.total{color:var(--color-text-primary)}.reservations-stat-value.reserved{color:var(--color-primary-500)}.reservations-stat-value.checked-in{color:var(--color-success-500)}.reservations-stat-value.canceled{color:var(--color-text-muted)}.reservations-stat-label{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.reservations-table-container{background-color:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light);overflow:hidden}.reservations-table-scroll{overflow-x:auto}.reservations-table{width:100%;border-collapse:collapse}.reservations-table thead{background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-light)}.reservations-table th{padding:var(--space-3) var(--space-4);text-align:left;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary)}.reservations-table tbody tr{border-bottom:1px solid var(--color-border-lighter)}.reservations-table tbody tr:last-child{border-bottom:none}.reservations-table tbody tr:hover{background-color:var(--color-bg-secondary)}.reservations-table td{padding:var(--space-3) var(--space-4)}.reservations-table-empty{padding:var(--space-8) var(--space-4);text-align:center;color:var(--color-text-muted)}.reservations-display-id{font-family:monospace;font-weight:var(--font-bold);color:var(--color-text-primary)}.reservations-cell-text{color:var(--color-text-secondary)}.reservations-status-badge{display:inline-block;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium)}.reservations-status-badge.reserved{background-color:var(--color-primary-50);color:var(--color-primary-700)}.reservations-status-badge.checked-in{background-color:var(--color-success-50);color:var(--color-success-700)}.reservations-status-badge.canceled{background-color:var(--color-bg-secondary);color:var(--color-text-secondary)}.reservations-status-badge.no-show{background-color:var(--color-error-50);color:var(--color-error-700)}.reservations-actions{display:flex;gap:var(--space-2)}.reservations-action-btn{padding:var(--space-2) var(--space-3);min-height:36px;font-size:var(--text-sm);font-weight:var(--font-medium);border-radius:var(--radius-md);border:none;cursor:pointer;transition:background-color var(--transition-normal)}.reservations-action-btn.checkin{background-color:var(--color-success-500);color:#fff}.reservations-action-btn.checkin:hover{background-color:var(--color-success-700)}.reservations-action-btn.cancel,.reservations-action-btn.undo{background-color:var(--color-border-light);color:var(--color-text-secondary)}.reservations-action-btn.cancel:hover,.reservations-action-btn.undo:hover{background-color:var(--color-border-medium)}.reservations-notice{font-size:var(--text-sm);color:var(--color-text-muted);background-color:var(--color-warning-50);border:1px solid var(--color-warning-100);border-radius:var(--radius-lg);padding:var(--space-4)}.reservations-notice strong{color:var(--color-text-primary)}:root{--color-primary-50: #E6F0FA;--color-primary-100: #CCE0F5;--color-primary-200: #99C2EB;--color-primary-300: #66A3E0;--color-primary-400: #3385D6;--color-primary-500: #0066CC;--color-primary-600: #0052A3;--color-primary-700: #003D7A;--color-primary-800: #002952;--color-primary-900: #001429;--color-secondary-50: #E8EAF6;--color-secondary-100: #C5CAE9;--color-secondary-200: #9FA8DA;--color-secondary-300: #7986CB;--color-secondary-400: #5C6BC0;--color-secondary-500: #3F51B5;--color-secondary-600: #3949AB;--color-secondary-700: #303F9F;--color-secondary-800: #283593;--color-secondary-900: #1A237E;--color-surface-bg: #FAFAFA;--color-surface-card: #FFFFFF;--color-surface-border: #E0E0E0;--color-surface-hover: #F5F5F5;--color-text-primary: #1A1A1A;--color-text-secondary: #5F5F5F;--color-text-disabled: #9E9E9E;--color-text-inverse: #FFFFFF;--color-success-50: #E8F5E9;--color-success-100: #C8E6C9;--color-success-500: #2E7D32;--color-success-600: #258427;--color-success-700: #1B5E20;--color-warning-50: #FFF3E0;--color-warning-100: #FFE0B2;--color-warning-500: #ED6C02;--color-warning-600: #E55A00;--color-warning-700: #E65100;--color-error-50: #FFEBEE;--color-error-100: #FFCDD2;--color-error-500: #D32F2F;--color-error-600: #C62828;--color-error-700: #B71C1C;--color-info-50: #E1F5FE;--color-info-100: #B3E5FC;--color-info-500: #0288D1;--color-info-600: #0277BD;--color-info-700: #01579B;--color-accent-50: #FFF3E0;--color-accent-100: #FFE0B2;--color-accent-500: #FF6B00;--color-accent-600: #E55F00;--color-accent-700: #CC5200;--color-bg-primary: var(--color-surface-bg);--color-bg-secondary: var(--color-surface-hover);--color-bg-tertiary: #EEEEEE;--color-bg-card: var(--color-surface-card);--color-bg-overlay: rgba(0, 0, 0, .5);--color-text-tertiary: var(--color-text-secondary);--color-text-muted: var(--color-text-disabled);--color-brand-primary: var(--color-primary-500);--color-brand-primary-hover: var(--color-primary-600);--color-brand-primary-light: var(--color-primary-50);--color-brand-secondary: var(--color-secondary-500);--color-brand-secondary-hover: var(--color-secondary-600);--color-brand-secondary-light: var(--color-secondary-50);--color-brand-accent: var(--color-accent-500);--color-brand-accent-hover: var(--color-accent-600);--color-brand-accent-light: var(--color-accent-50);--color-main-50: var(--color-primary-50);--color-main-100: var(--color-primary-100);--color-main-400: var(--color-primary-400);--color-main-500: var(--color-primary-500);--color-main-600: var(--color-primary-600);--color-main-700: var(--color-primary-700);--color-base-50: var(--color-surface-bg);--color-base-100: var(--color-surface-hover);--color-base-200: #EEEEEE;--color-base-300: var(--color-surface-border);--color-base-400: #BDBDBD;--color-base-500: var(--color-text-disabled);--color-base-600: var(--color-text-secondary);--color-base-700: #424242;--color-base-800: #303030;--color-base-900: var(--color-text-primary);--color-base-white: var(--color-surface-card);--color-success: var(--color-success-500);--color-success-light: var(--color-success-50);--color-success-dark: var(--color-success-600);--color-warning: var(--color-warning-500);--color-warning-light: var(--color-warning-50);--color-warning-dark: var(--color-warning-600);--color-error: var(--color-error-500);--color-error-light: var(--color-error-50);--color-error-dark: var(--color-error-600);--color-info: var(--color-info-500);--color-info-light: var(--color-info-50);--color-info-dark: var(--color-info-600);--color-border-light: var(--color-surface-border);--color-border-medium: #BDBDBD;--color-border-focus: var(--color-primary-500);--color-category-reservation: var(--color-primary-500);--color-category-facility: var(--color-info-500);--color-category-stats: var(--color-secondary-500);--color-category-user: var(--color-success-500);--color-category-staff: var(--color-warning-500);--color-category-admin: var(--color-primary-700);--font-family-sans: "DM Sans", "Noto Sans JP", -apple-system, BlinkMacSystemFont, sans-serif;--font-family-mono: "JetBrains Mono", "SF Mono", Consolas, monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .9375rem;--text-lg: 1.0625rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(26, 24, 22, .04);--shadow-sm: 0 2px 4px rgba(26, 24, 22, .06), 0 1px 2px rgba(26, 24, 22, .04);--shadow-md: 0 4px 12px rgba(26, 24, 22, .08), 0 2px 4px rgba(26, 24, 22, .04);--shadow-lg: 0 8px 24px rgba(26, 24, 22, .1), 0 4px 8px rgba(26, 24, 22, .06);--shadow-xl: 0 16px 48px rgba(26, 24, 22, .12), 0 8px 16px rgba(26, 24, 22, .08);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .4s cubic-bezier(.34, 1.56, .64, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-family-sans);font-size:var(--text-base);font-weight:var(--font-normal);line-height:var(--leading-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary)}:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:2px}::selection{background-color:var(--color-brand-primary-light);color:var(--color-brand-primary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border-medium);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes checkmark{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}@keyframes ripple{0%{transform:scale(0);opacity:.5}to{transform:scale(2);opacity:0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade-in{animation:fadeIn var(--transition-normal) ease-out}.animate-fade-in-up{animation:fadeInUp var(--transition-slow) ease-out}.animate-fade-in-scale{animation:fadeInScale var(--transition-normal) ease-out}.animate-slide-in-right{animation:slideInRight var(--transition-normal) ease-out}.animate-pulse{animation:pulse 2s ease-in-out infinite}.stagger-1{animation-delay:50ms}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}.card{background:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}.card-elevated{box-shadow:var(--shadow-md)}.card-clickable{cursor:pointer;transition:box-shadow var(--transition-fast),transform var(--transition-fast)}.card-clickable:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-clickable:active{transform:translateY(0)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);min-height:44px;font-family:var(--font-family-sans);font-size:var(--text-base);font-weight:var(--font-semibold);line-height:1;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.btn:active:not(:disabled){transform:scale(.98);transition:transform .05s ease-out}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-brand-primary);color:var(--color-text-inverse)}.btn-primary:hover:not(:disabled){background:var(--color-brand-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--color-bg-card);color:var(--color-text-primary);border:1.5px solid var(--color-border-medium)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-secondary);border-color:var(--color-text-tertiary)}.btn-success{background:var(--color-success);color:var(--color-text-inverse)}.btn-success:hover:not(:disabled){background:var(--color-success-dark)}.btn-danger{background:var(--color-error);color:var(--color-text-inverse)}.btn-danger:hover:not(:disabled){background:var(--color-error-dark)}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--color-bg-secondary);color:var(--color-text-primary)}.btn-lg{padding:var(--space-4) var(--space-6);font-size:var(--text-lg);border-radius:var(--radius-lg)}.btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);border-radius:var(--radius-sm)}.btn-block{width:100%}.input{width:100%;padding:var(--space-3) var(--space-4);min-height:44px;font-family:var(--font-family-sans);font-size:max(16px,var(--text-base));color:var(--color-text-primary);background:var(--color-bg-card);border:1.5px solid var(--color-border-medium);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input:hover{border-color:var(--color-text-tertiary)}.input:focus{outline:none;border-color:var(--color-brand-primary);box-shadow:0 0 0 3px var(--color-brand-primary-light)}.input::placeholder{color:var(--color-text-tertiary)}.input-error{border-color:var(--color-error)}.input-error:focus{box-shadow:0 0 0 3px var(--color-error-light)}.label{display:block;margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-secondary)}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);animation:fadeInUp var(--transition-normal) ease-out}.alert-error{background:var(--color-error-light);color:var(--color-error);border:1px solid rgba(197,75,75,.2)}.alert-success{background:var(--color-success-light);color:var(--color-success);border:1px solid rgba(61,139,64,.2)}.alert-warning{background:var(--color-warning-light);color:#b7791f;border:1px solid rgba(230,162,60,.3)}.alert-info{background:var(--color-info-light);color:var(--color-info);border:1px solid rgba(91,141,239,.2)}.badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);font-size:var(--text-xs);font-weight:var(--font-semibold);border-radius:var(--radius-full)}.badge-success{background:var(--color-success-light);color:var(--color-success)}.badge-warning{background:var(--color-warning-light);color:#b7791f}.badge-error{background:var(--color-error-light);color:var(--color-error)}.progress-steps{display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.progress-step{width:36px;height:36px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--font-bold);transition:all var(--transition-normal)}.progress-step-inactive{background:var(--color-bg-tertiary);color:var(--color-text-tertiary)}.progress-step-active{background:var(--color-brand-primary);color:var(--color-text-inverse);box-shadow:0 0 0 4px var(--color-brand-primary-light)}.progress-step-completed{background:var(--color-brand-primary);color:var(--color-text-inverse)}.progress-connector{width:32px;height:2px;background:var(--color-border-light);transition:background var(--transition-normal)}.progress-connector-active{background:var(--color-brand-primary)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-bg-overlay);display:flex;align-items:center;justify-content:center;padding:var(--space-4);z-index:100;animation:fadeIn var(--transition-fast) ease-out}.modal-content{background:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:480px;width:100%;max-height:90vh;overflow-y:auto;animation:fadeInScale var(--transition-normal) ease-out}.skeleton{background:linear-gradient(90deg,var(--color-bg-secondary) 0%,var(--color-bg-tertiary) 50%,var(--color-bg-secondary) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}.mono{font-family:var(--font-family-mono);font-variant-numeric:tabular-nums;letter-spacing:.02em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:2px;box-shadow:0 0 0 4px var(--color-brand-primary-light)}@media(forced-colors:active){.btn,.input,.card{border:2px solid currentColor}}@media(pointer:coarse){.btn,.input,a{min-height:48px}a{padding:var(--space-2);margin:calc(var(--space-2) * -1)}}.select,select.input{appearance:none;-webkit-appearance:none;-moz-appearance:none;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='%235F5F5F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;padding-right:calc(var(--space-3) + 24px);cursor:pointer}.select:hover,select.input:hover{border-color:var(--color-text-tertiary)}.select:focus,select.input:focus{outline:none;border-color:var(--color-brand-primary);box-shadow:0 0 0 3px var(--color-brand-primary-light)}input[type=date].input,input[type=time].input,input[type=datetime-local].input{position:relative}input[type=date].input::-webkit-calendar-picker-indicator,input[type=time].input::-webkit-calendar-picker-indicator,input[type=datetime-local].input::-webkit-calendar-picker-indicator{cursor:pointer;padding:var(--space-1);margin-right:calc(var(--space-1) * -1);border-radius:var(--radius-sm);opacity:.7;transition:opacity var(--transition-fast),background-color var(--transition-fast)}input[type=date].input::-webkit-calendar-picker-indicator:hover,input[type=time].input::-webkit-calendar-picker-indicator:hover,input[type=datetime-local].input::-webkit-calendar-picker-indicator:hover{opacity:1;background-color:var(--color-bg-secondary)}input[type=date].input::-moz-focus-inner,input[type=time].input::-moz-focus-inner{border:0}.checkbox,input[type=checkbox]{width:20px;height:20px;margin:0;cursor:pointer;accent-color:var(--color-brand-primary);border-radius:var(--radius-sm)}.checkbox:focus-visible,input[type=checkbox]:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:2px}.radio,input[type=radio]{width:20px;height:20px;margin:0;cursor:pointer;accent-color:var(--color-brand-primary)}.radio:focus-visible,input[type=radio]:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:2px}input[type=number].input-no-spinner::-webkit-outer-spin-button,input[type=number].input-no-spinner::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number].input-no-spinner{-moz-appearance:textfield}
