@charset "UTF-8";@import"https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard-dynamic-subset.min.css";*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}:root{--color-primary: #2FB4D9;--color-primary-dark: #0096C7;--color-primary-light: #EAF7FB;--color-text: #333333;--color-text-light: #666666;--color-text-lighter: #999999;--color-text-white: #ffffff;--color-background: #ffffff;--color-background-light: #f5f5f5;--color-border: #F6F6F7;--color-error: #FF507B;--color-success: #61D167;--color-warning: #FFB628;--readyBg: #fff3d1;--readyText: #d5b485;--connectedBg: #c5e2ca;--connectedText: #7b9d81;--availableBg: #b2f2bb;--availableText: #26b541;--preparingBg: #bdfff2;--preparingText: #4ad9c1;--chargingBg: #ccf5ff;--chargingText: #39c4ea;--pauseBg: #f9d0a4;--pauseText: #de7e17;--finishingBg: #96cefb;--finishingText: #1f97f2;--reservedBg: #e5dbff;--reservedText: #c571ec;--unavailableBg: #ddc9c0;--unavailableText: #7f726c;--faultedBg: #fdcece;--faultedText: #ff667d;--blue300: #CFF0F8;--blue500: #00ACD1;--pink300: #FFC8C8;--pink500: #FF5F7F;--purple300: #E1D7FD;--purple500: #C06CE4;--green300: #B2F2BB;--green500: #54C05A;--yellow300: #FFF3D1;--yellow500: #D5B485;--red300: #FF507B;--red500: #FF3B5C;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 28px;--font-size-4xl: 32px;--touch-target-min: 32px;--border-radius-sm: 4px;--border-radius-md: 8px;--border-radius-lg: 12px;--border-radius-xl: 16px;--border-radius-max: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 0px 10px rgba(0, 0, 0, .03);--shadow-lg: 0 10px 20px rgba(0, 0, 0, .1);--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--safe-area-right: env(safe-area-inset-right, 0px)}html{font-size:16px;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}body{font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:var(--font-size-base);line-height:1.5;color:var(--color-text);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;overflow-y:auto;padding-top:var(--safe-area-top);padding-bottom:var(--safe-area-bottom);padding-left:var(--safe-area-left);padding-right:var(--safe-area-right);touch-action:pan-y;-webkit-user-select:none;user-select:none}input,textarea,[contenteditable]{-webkit-user-select:text;user-select:text}#root{width:100%;min-height:100vh;min-height:calc(100vh - var(--safe-area-top) - var(--safe-area-bottom))}a{color:var(--color-primary);text-decoration:none;-webkit-tap-highlight-color:rgba(102,126,234,.2)}a:active{opacity:.7}button{font-family:inherit;font-size:var(--font-size-base);font-weight:500;border:none;border-radius:var(--border-radius-md);cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:transparent;min-height:var(--touch-target-min);min-width:var(--touch-target-min);-webkit-touch-callout:none}button:active{transform:scale(.98);opacity:.9}button:disabled{opacity:.5;cursor:not-allowed;transform:none}input,textarea,select{font-family:inherit;font-size:var(--font-size-base);line-height:1.5;border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--spacing-md);background-color:var(--color-background);color:var(--color-text);width:100%;-webkit-appearance:none;appearance:none;font-size:16px}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}input:disabled,textarea:disabled,select:disabled{background-color:var(--color-background-light);opacity:.6;cursor:not-allowed}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;color:var(--color-text);margin:0}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-background-light)}::-webkit-scrollbar-thumb{background:var(--color-text-lighter);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-light)}.mobile-only{display:block}.desktop-only{display:none}@media(min-width:768px){.mobile-only{display:none}.desktop-only{display:block}:root{--font-size-base: 16px}}.bottom-navigation{position:fixed;bottom:0;left:0;right:0;width:100%;background:var(--color-background);border-top:1px solid var(--color-border);box-shadow:0 -2px 10px #0000000d;z-index:1000;padding-bottom:var(--safe-area-bottom);padding-top:var(--spacing-sm)}.bottom-navigation__container{display:flex;justify-content:space-around;align-items:center;max-width:100%;padding:0 var(--spacing-md);height:60px}.bottom-navigation__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-xs);flex:1;min-height:var(--touch-target-min);padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:none;cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:transparent;color:var(--color-text-light);font-size:var(--font-size-xs);font-weight:500}.bottom-navigation__item:active{transform:scale(.95)}.bottom-navigation__item--active{color:var(--color-primary)}.bottom-navigation__icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;line-height:1;transition:all .2s ease;color:inherit}.bottom-navigation__icon svg{width:100%;height:100%;fill:currentColor}.bottom-navigation__label{font-size:var(--font-size-xs);line-height:1.2;white-space:nowrap}.bottom-navigation__item--active .bottom-navigation__icon{color:var(--color-primary)}.bottom-navigation__item--active .bottom-navigation__label{color:var(--color-primary);font-weight:600}.has-bottom-navigation{padding-bottom:calc(60px + var(--safe-area-bottom) + var(--spacing-sm))}.input-wrapper{display:flex;flex-direction:column}.input-wrapper--full-width{width:100%}.input-label{display:block;margin-bottom:var(--spacing-sm);color:var(--color-text);font-weight:500;font-size:var(--font-size-sm);line-height:1.5}.input{width:100%;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);font-size:var(--font-size-base);font-family:inherit;line-height:1.5;color:var(--color-text);background-color:var(--color-background);min-height:var(--touch-target-min);transition:all .2s ease;-webkit-appearance:none;appearance:none;font-size:16px}.input::placeholder{color:var(--color-text-lighter);opacity:.6}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2fb4d91a}.input:disabled{background-color:var(--color-background-light);cursor:not-allowed;opacity:.6;color:var(--color-text-light)}.input--error{border-color:var(--color-error)}.input--error:focus{border-color:var(--color-error);box-shadow:0 0 0 3px #e74c3c1a}.input--sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);min-height:36px}.input--md{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);min-height:var(--touch-target-min)}.input--lg{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-lg);min-height:52px}.input-error{margin-top:var(--spacing-xs);color:var(--color-error);font-size:var(--font-size-xs);line-height:1.4;display:block}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-family:inherit;font-weight:600;border:none;border-radius:var(--border-radius-sm);cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:transparent;min-height:var(--touch-target-min);position:relative;white-space:nowrap}.button:active:not(:disabled){transform:scale(.98)}.button:disabled{opacity:.6;cursor:not-allowed;transform:none}.button--full-width{width:100%}.button--loading{pointer-events:none}.button--sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);min-height:32px}.button--md{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);min-height:var(--touch-target-min)}.button--lg{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-lg);min-height:52px}.button--primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-md)}.button--primary:active:not(:disabled){box-shadow:var(--shadow-sm)}.button--secondary{background:var(--color-background-light);color:var(--color-text);border:1px solid var(--color-border)}.button--secondary:active:not(:disabled){background:var(--color-border)}.button--danger{background:var(--color-error);color:#fff}.button--danger:active:not(:disabled){background:#c0392b}.button--ghost{background:transparent;color:var(--color-text);border:1px solid transparent}.button--ghost:active:not(:disabled){background:var(--color-background-light)}.button-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;flex-shrink:0}.button--secondary .button-spinner,.button--ghost .button-spinner{border-color:#0000001a;border-top-color:var(--color-text)}.button-content--loading{opacity:.7}.icon-button{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;font-family:inherit;transition:all .2s ease;-webkit-tap-highlight-color:transparent;padding:var(--spacing-xs)}.icon-button:active:not(:disabled){transform:scale(.95)}.icon-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.icon-button__circle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);transition:all .2s ease;box-shadow:var(--shadow-sm);padding:var(--spacing-md)}.icon-button__circle:active:not(:disabled){box-shadow:var(--shadow-md)}.icon-button--circle .icon-button__circle{border-radius:50%}.icon-button--rounded-sm .icon-button__circle{border-radius:var(--border-radius-sm)}.icon-button--rounded-md .icon-button__circle{border-radius:var(--border-radius-md)}.icon-button--rounded-lg .icon-button__circle{border-radius:var(--border-radius-lg)}.icon-button--square .icon-button__circle{border-radius:0}.icon-button__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.icon-button__icon svg{display:block;fill:currentColor;width:12px;height:12px}.icon-button__icon img{display:block;width:100%;height:100%;object-fit:contain}.icon-button__label{font-weight:600;text-align:center;line-height:1.2;word-break:keep-all;white-space:nowrap}.icon-button--sm .icon-button__circle{min-width:100px;min-height:100px;padding:var(--spacing-sm);gap:var(--spacing-sm)}.icon-button--sm .icon-button__icon svg,.icon-button--sm .icon-button__icon img{width:24px;height:24px}.icon-button--sm .icon-button__label{font-size:var(--font-size-sm)}.icon-button--md .icon-button__circle{min-width:100px;min-height:100px;padding:var(--spacing-md);gap:var(--spacing-md)}.icon-button--md .icon-button__icon svg,.icon-button--md .icon-button__icon img{width:32px;height:32px}.icon-button--md .icon-button__label{font-size:var(--font-size-md)}.icon-button--lg .icon-button__circle{min-width:120px;min-height:120px;padding:var(--spacing-lg);gap:var(--spacing-md)}.icon-button--lg .icon-button__icon svg,.icon-button--lg .icon-button__icon img{width:48px;height:48px}.icon-button--lg .icon-button__label{font-size:var(--font-size-base)}.icon-button--full-width .icon-button__circle{width:100%!important}.icon-button--pink .icon-button__circle{background:var(--pink300)}.icon-button--pink .icon-button__icon,.icon-button--pink .icon-button__label{color:var(--pink500)}.icon-button--blue .icon-button__circle{background:var(--blue300)}.icon-button--blue .icon-button__icon,.icon-button--blue .icon-button__label{color:var(--blue500)}.icon-button--purple .icon-button__circle{background:var(--purple300)}.icon-button--purple .icon-button__icon,.icon-button--purple .icon-button__label{color:var(--purple500)}.icon-button--green .icon-button__circle{background:var(--green300)}.icon-button--green .icon-button__icon,.icon-button--green .icon-button__label{color:var(--green500)}.icon-button--primary .icon-button__circle{background:var(--color-primary)}.icon-button--primary .icon-button__icon,.icon-button--primary .icon-button__label{color:#fff}.icon-button--secondary .icon-button__circle{background:var(--color-background-light);border:2px solid var(--color-border)}.icon-button--secondary .icon-button__icon,.icon-button--secondary .icon-button__label{color:var(--color-text)}.icon-button--danger .icon-button__circle{background:var(--color-error)}.icon-button--danger .icon-button__icon,.icon-button--danger .icon-button__label{color:#fff}.icon-button--success .icon-button__circle{background:var(--color-success)}.icon-button--success .icon-button__icon,.icon-button--success .icon-button__label{color:#fff}.select{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);font-family:inherit;color:var(--color-text);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);cursor:pointer;transition:all .2s ease;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-sm) center;padding-right:calc(var(--spacing-md) + 24px)}.select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2fb4d91a}.select:disabled{opacity:.6;cursor:not-allowed;background-color:var(--color-background-light)}.select option{padding:var(--spacing-sm)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.modal{background:#fff;box-shadow:var(--shadow-lg);width:calc(100% - 40px);max-height:90vh;display:flex;flex-direction:column;animation:scaleIn .3s ease-out;overflow:hidden}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:6px solid var(--color-border);flex-shrink:0}.modal__title{font-size:var(--font-size-xl);font-weight:700;color:var(--color-text);margin:0}.modal__close{background:transparent;border:none;font-size:24px;color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-xs);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm);transition:all .2s ease;flex-shrink:0}.modal__close:hover{background:var(--color-background-light);color:var(--color-text)}.modal__close:active{transform:scale(.95)}.modal__content{padding:var(--spacing-lg);overflow-y:auto;flex:1}.modal__content::-webkit-scrollbar{width:6px}.modal__content::-webkit-scrollbar-track{background:transparent}.modal__content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.modal__content::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.modal--sm{max-width:400px}.modal--md{max-width:500px}.modal--lg{max-width:700px}.modal--full{max-width:none;max-height:90vh}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.error-message{color:var(--color-error);background-color:#e74c3c1a;padding:var(--spacing-md);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-lg);font-size:var(--font-size-sm);line-height:1.5;border:1px solid rgba(231,76,60,.2);display:block}.header{background:var(--color-primary);padding:var(--spacing-md) var(--spacing-lg);padding-top:calc(var(--spacing-md) + var(--safe-area-top));box-shadow:var(--shadow-sm);height:96px;padding-top:40px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-sm);position:sticky;top:0;z-index:100}.header__logo{height:auto;max-height:40px;object-fit:contain}.header__actions{display:flex;align-items:center;gap:var(--spacing-sm)}.header__actions svg{width:24px;height:24px;color:#fff;cursor:pointer;transition:transform .2s ease}.header__actions svg:active{transform:scale(.95)}.header__actions button{background:transparent;border:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;min-height:var(--touch-target-min);min-width:var(--touch-target-min)}@media(max-width:480px){.header{padding:var(--spacing-md);padding-top:40px;height:auto;min-height:96px}.header__logo{max-height:40px}}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) 0}.pagination__button{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text);background:transparent;border:none;border-radius:var(--border-radius-max);cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:transparent}.pagination__button:hover:not(:disabled){background:var(--color-background-light)}.pagination__button:active:not(:disabled){transform:scale(.95)}.pagination__button:disabled{opacity:.4;cursor:not-allowed;transform:none}.pagination__button--page{font-weight:500}.pagination__button--active{background:var(--color-primary);color:var(--color-text-white);font-weight:600;min-width:36px;min-height:36px}.pagination__button--active:hover:not(:disabled){background:var(--color-primary-dark)}.pagination__button--first,.pagination__button--last,.pagination__button--prev-set,.pagination__button--next-set{color:var(--color-text-light);font-size:var(--font-size-base)}.pagination__button--first:disabled,.pagination__button--last:disabled,.pagination__button--prev-set:disabled,.pagination__button--next-set:disabled{color:var(--color-text-lighter)}.pagination__icon{display:inline-block;line-height:1;font-weight:600}@media(max-width:480px){.pagination{gap:var(--spacing-xs)}.pagination__button{min-width:28px;min-height:28px;padding:var(--spacing-xs);font-size:var(--font-size-xs)}.pagination__button--page--active{min-width:32px;min-height:32px}}.login-page{display:flex;justify-content:center;align-items:center;min-height:100vh;min-height:calc(100vh - var(--safe-area-top) - var(--safe-area-bottom));background:var(--color-background);padding:var(--spacing-md);padding-top:calc(var(--spacing-md) + var(--safe-area-top));padding-bottom:calc(var(--spacing-md) + var(--safe-area-bottom))}.login-container{background:var(--color-background);padding:var(--spacing-xl);width:100%;max-width:420px;position:relative}.login-container h1{text-align:start;margin-bottom:var(--spacing-sm);color:var(--color-text);font-size:var(--font-size-3xl);font-weight:600}.login-container p{text-align:start;margin-bottom:var(--spacing-sm);color:var(--color-text-light);font-size:var(--font-size-base)}.login-container .input-wrapper{margin-bottom:var(--spacing-sm)}.login-container button{margin-top:var(--spacing-md)}@media(max-width:480px){.login-container{padding:var(--spacing-lg);border-radius:var(--border-radius-lg);margin:var(--spacing-sm)}.login-container h1{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-lg)}}@media(orientation:landscape)and (max-height:500px){.login-page{align-items:flex-start;padding-top:var(--spacing-md);overflow-y:auto}.login-container{margin-top:var(--spacing-md);margin-bottom:var(--spacing-md)}}.home-page{min-height:100vh;min-height:calc(100vh - var(--safe-area-top) - var(--safe-area-bottom));background:var(--color-background-light);display:flex;flex-direction:column;padding-bottom:calc(60px + var(--safe-area-bottom) + var(--spacing-sm))}.main-content{padding:var(--spacing-lg) var(--spacing-md);flex:1;width:100%;max-width:100%;margin:0 auto}.welcome-card{background:var(--color-background);border-radius:var(--border-radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-lg)}.welcome-card h2{color:var(--color-text);margin-bottom:var(--spacing-md);font-size:var(--font-size-2xl);font-weight:600}.welcome-card p{color:var(--color-text-light);font-size:var(--font-size-base);margin-bottom:var(--spacing-lg);line-height:1.6}.welcome-card .roles-info{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.welcome-card .roles-info strong{display:block;margin-bottom:var(--spacing-md);color:var(--color-text);font-size:var(--font-size-base);font-weight:600}.welcome-card .roles-info ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-sm)}.welcome-card .roles-info ul li{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-background-light);border-radius:var(--border-radius-md);color:var(--color-text);font-size:var(--font-size-sm)}@media(max-width:480px){.main-content{padding:var(--spacing-md)}.welcome-card{padding:var(--spacing-lg);border-radius:var(--border-radius-lg)}.welcome-card h2{font-size:var(--font-size-xl)}.welcome-card p{font-size:var(--font-size-sm)}}@media(min-width:768px){.main-content{max-width:768px;padding:var(--spacing-xl) var(--spacing-lg);padding-top:40px}}.charger-control-page{min-height:100vh;min-height:calc(100vh - var(--safe-area-top) - var(--safe-area-bottom));background:var(--color-background-light);padding-bottom:calc(60px + var(--safe-area-bottom) + var(--spacing-sm))}.charger-control-page .page-header{background:var(--color-background);padding:var(--spacing-md) var(--spacing-lg);padding-top:calc(var(--spacing-md) + var(--safe-area-top));box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100;display:flex;flex-direction:column;gap:var(--spacing-md)}.charger-control-page .page-header h2{margin:0;font-size:var(--font-size-md);color:var(--color-primary);font-weight:600}.charger-control-page .page-header{background:var(--color-background);padding:var(--spacing-md) var(--spacing-lg);padding-top:calc(var(--spacing-md) + var(--safe-area-top));box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100}.charger-control-page .page-content{padding:var(--spacing-lg) var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.charger-control-page .page-content-header{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.charger-control-page .page-content-header p{color:var(--color-text-light);font-size:var(--font-size-xs)}.charger-control-page .content-card{background:var(--color-background);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-md)}.charger-control-page .content-card p{color:var(--color-text-light);font-size:var(--font-size-base)}.charger-control-page .badge-buttons{display:flex;gap:var(--spacing-sm)}.charger-control-page .badge-button{display:flex;align-items:center;gap:var(--spacing-xs);border-radius:var(--border-radius-max);color:var(--color-text-light);font-weight:500;background:var(--color-white);padding:0 var(--spacing-sm)}.charger-control-page .badge-button.active{background:var(--color-primary-light);color:var(--color-primary)}.total-count-text{color:var(--color-text-light);font-size:var(--font-size-sm);font-weight:500}.total-count-text .total-count{color:var(--color-primary);font-size:var(--font-size-sm)}.charger-card-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.charger-card{background:var(--color-background);border-radius:var(--border-radius-lg);padding:var(--spacing-md);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.charger-card-header{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.charger-card-header .charger-card-header-title{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.charger-card-header .charger-card-header-title h3{color:var(--color-text);font-size:var(--font-size-base);font-weight:600}.charger-card-header .charger-card-header-title .charger-card-header-title-status{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm)}.charger-card-header .charger-card-header-title .charger-card-header-title-status.disconnect{background:var(--color-background-light);color:var(--color-error)}.charger-card-header .charger-card-header-title .charger-card-header-title-status span{color:var(--color-text-light);font-size:var(--font-size-xs);font-weight:500}.charger-info-summary{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.charger-card-header-station-info{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.charger-card-header-station-info span{color:var(--color-text-light);font-size:var(--font-size-sm)}.charger-card-header-station-info .charger-card-header-station-name{color:var(--color-primary);font-size:var(--font-size-sm)}.charger-connector-list{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.charger-connector-list .charger-connector{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-sm);flex-wrap:wrap;flex:1;border-radius:var(--border-radius-md);background:var(--color-background-light);padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-light)}.charger-connector-list .charger-connector.ready{background:var(--readyBg);color:var(--readyText)}.charger-connector-list .charger-connector.connected{background:var(--connectedBg);color:var(--connectedText)}.charger-connector-list .charger-connector.available{background:var(--availableBg);color:var(--availableText)}.charger-connector-list .charger-connector.preparing{background:var(--preparingBg);color:var(--preparingText)}.charger-connector-list .charger-connector.charging{background:var(--chargingBg);color:var(--chargingText)}.charger-connector-list .charger-connector.pause{background:var(--pauseBg);color:var(--pauseText)}.charger-connector-list .charger-connector.finishing{background:var(--finishingBg);color:var(--finishingText)}.charger-connector-list .charger-connector.reserved{background:var(--reservedBg);color:var(--reservedText)}.charger-connector-list .charger-connector.unavailable{background:var(--unavailableBg);color:var(--unavailableText)}.charger-connector-list .charger-connector.faulted{background:var(--faultedBg);color:var(--faultedText)}.charger-connector-list .charger-connector div{display:flex;align-items:center;gap:var(--spacing-xs);flex-wrap:wrap}.charger-connector-list .charger-connector .charger-connector-info{font-size:var(--font-size-base)}.charger-connector-list .charger-connector .charger-connector-status{font-size:var(--font-size-sm)}.badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);background:var(--color-background-light);color:var(--color-text);font-size:var(--font-size-xs);font-weight:500}.badge--xs{padding:2px var(--spacing-xs);font-size:var(--font-size-xs)}.badge--sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.badge--md{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base)}.badge--rounded{border-radius:var(--border-radius-max)}.badge--default{background:var(--color-background-light);color:var(--color-text)}.badge--default--primary{background:var(--color-primary);color:var(--color-text-white)}.badge--default--primary-dark{background:var(--color-primary-dark);color:var(--color-text-white)}.badge--default--primary-light{background:var(--color-primary-light);color:var(--color-text)}.badge--default--error{background:var(--color-error);color:var(--color-text-white)}.badge--default--warning{background:var(--color-warning);color:var(--color-text-white)}.badge--default--success{background:var(--color-success);color:var(--color-text-white)}.badge--default--ready{background:var(--readyBg);color:var(--readyText)}.badge--default--connected{background:var(--connectedBg);color:var(--connectedText)}.badge--default--available{background:var(--availableBg);color:var(--availableText)}.badge--default--preparing{background:var(--preparingBg);color:var(--preparingText)}.badge--default--charging{background:var(--chargingBg);color:var(--chargingText)}.badge--default--pause{background:var(--pauseBg);color:var(--pauseText)}.badge--default--finishing{background:var(--finishingBg);color:var(--finishingText)}.badge--default--reserved{background:var(--reservedBg);color:var(--reservedText)}.badge--default--unavailable{background:var(--unavailableBg);color:var(--unavailableText)}.badge--default--faulted{background:var(--faultedBg);color:var(--faultedText)}.badge--border--primary{box-shadow:0 0 0 2px inset var(--color-primary);color:var(--color-primary);background:transparent}.badge--border--error{box-shadow:0 0 0 2px inset var(--color-error);color:var(--color-error);background:transparent}.badge--border--warning{box-shadow:0 0 0 2px inset var(--color-warning);color:var(--color-warning);background:transparent}.badge--border--success{box-shadow:0 0 0 2px inset var(--color-success);color:var(--color-success);background:transparent}.badge--border--primary-dark{box-shadow:0 0 0 2px inset var(--color-primary-dark);color:var(--color-primary-dark);background:transparent}.badge--border--primary-light{box-shadow:0 0 0 2px inset var(--color-primary-light);color:var(--color-primary-light);background:transparent}.member-inquiry-page{min-height:100vh;min-height:calc(100vh - var(--safe-area-top) - var(--safe-area-bottom));background:var(--color-background-light);padding-bottom:calc(60px + var(--safe-area-bottom) + var(--spacing-sm))}.page-header{background:var(--color-background);padding:var(--spacing-md) var(--spacing-lg);padding-top:calc(var(--spacing-md) + var(--safe-area-top));box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100}.page-header h1{margin:0;color:var(--color-text);font-size:var(--font-size-xl);font-weight:600}.page-content{padding:var(--spacing-lg) var(--spacing-md)}.content-card{background:var(--color-background);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-md)}.content-card p{color:var(--color-text-light);font-size:var(--font-size-base)}.unauthorized-page{display:flex;justify-content:center;align-items:center;min-height:100vh;min-height:calc(100vh - var(--safe-area-top) - var(--safe-area-bottom));background:var(--color-background-light);padding:var(--spacing-md);padding-top:calc(var(--spacing-md) + var(--safe-area-top));padding-bottom:calc(var(--spacing-md) + var(--safe-area-bottom))}.unauthorized-container{background:var(--color-background);border-radius:var(--border-radius-xl);padding:var(--spacing-2xl) var(--spacing-xl);box-shadow:var(--shadow-md);text-align:center;max-width:500px;width:100%}.unauthorized-container .icon{font-size:64px;margin-bottom:var(--spacing-lg);line-height:1}.unauthorized-container h1{color:var(--color-text);margin-bottom:var(--spacing-md);font-size:var(--font-size-3xl);font-weight:600}.unauthorized-container p{color:var(--color-text-light);line-height:1.6;margin-bottom:var(--spacing-xl);font-size:var(--font-size-base)}.unauthorized-container .actions{display:flex;flex-direction:column;gap:var(--spacing-md);justify-content:center}.unauthorized-container .actions button{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--border-radius-md);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:all .2s ease;border:none;min-height:var(--touch-target-min);width:100%}.unauthorized-container .actions button.button-primary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;box-shadow:var(--shadow-md)}.unauthorized-container .actions button.button-primary:active{transform:scale(.98);box-shadow:var(--shadow-sm)}.unauthorized-container .actions button.button-secondary{background:var(--color-background-light);color:var(--color-text);border:1px solid var(--color-border)}.unauthorized-container .actions button.button-secondary:active{transform:scale(.98);background:var(--color-border)}@media(max-width:480px){.unauthorized-container{padding:var(--spacing-xl) var(--spacing-lg);border-radius:var(--border-radius-lg)}.unauthorized-container .icon{font-size:48px;margin-bottom:var(--spacing-md)}.unauthorized-container h1{font-size:var(--font-size-2xl)}.unauthorized-container p{font-size:var(--font-size-sm);margin-bottom:var(--spacing-lg)}.unauthorized-container .actions button{padding:var(--spacing-md);font-size:var(--font-size-sm)}}@media(orientation:landscape)and (max-height:500px){.unauthorized-page{align-items:flex-start;padding-top:var(--spacing-md);overflow-y:auto}.unauthorized-container{margin-top:var(--spacing-md);margin-bottom:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-xl)}}@media(min-width:768px){.unauthorized-container .actions{flex-direction:row}.unauthorized-container .actions button{width:auto;min-width:120px}}.setting-page{min-height:100vh;min-height:calc(100vh - var(--safe-area-top) - var(--safe-area-bottom));background:var(--color-background-light);padding-bottom:calc(60px + var(--safe-area-bottom) + var(--spacing-sm))}.setting-page .page-content{padding:var(--spacing-lg) var(--spacing-md)}.setting-page .content-card{background:var(--color-background);border-radius:var(--border-radius-lg);padding:var(--spacing-md);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.setting-page .content-card p{color:var(--color-text-light);font-size:var(--font-size-base)}.charger-detail-page{min-height:100vh;min-height:calc(100vh - var(--safe-area-top) - var(--safe-area-bottom));background:var(--color-background-light);padding-bottom:calc(60px + var(--safe-area-bottom) + var(--spacing-sm))}.charger-detail-page .page-content{padding:0;display:flex;flex-direction:column;gap:var(--spacing-sm)}.charger-detail-page .charger-detail-header{display:flex;flex-direction:column;gap:var(--spacing-md);background:var(--color-background);padding:var(--spacing-lg) var(--spacing-md)}.charger-detail-page .charger-detail-header .charger-detail-header-back-button{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;width:var(--touch-target-min);height:var(--touch-target-min)}.charger-detail-page .charger-detail-header div{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.charger-detail-page .charger-detail-header h2{color:var(--color-text);font-size:var(--font-size-lg);font-weight:600}.charger-detail-page .charger-detail-info-content{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-md);background:var(--color-background)}.charger-detail-page .charger-detail-info-content h3{color:var(--color-text);font-size:var(--font-size-lg);font-weight:600}.charger-detail-page .charger-detail-info-content .charger-connector-list{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.charger-detail-page .charger-detail-info-content .charger-connector-list .charger-connector{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-sm);flex-wrap:wrap;flex:1;border-radius:var(--border-radius-md);background:var(--color-background-light);padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-light)}.charger-detail-page .charger-detail-info-content .charger-connector-list .charger-connector.ready{background:var(--readyBg);color:var(--readyText)}.charger-detail-page .charger-detail-info-content .charger-connector-list .charger-connector.connected{background:var(--connectedBg);color:var(--connectedText)}.charger-detail-page .charger-detail-info-content .charger-connector-list .charger-connector.available{background:var(--availableBg);color:var(--availableText)}.charger-detail-page .charger-detail-info-content .charger-connector-list .charger-connector.preparing{background:var(--preparingBg);color:var(--preparingText)}.charger-detail-page .charger-detail-info-content .charger-connector-list .charger-connector.charging{background:var(--chargingBg);color:var(--chargingText)}.charger-detail-page .charger-detail-info-content .charger-connector-list .charger-connector.pause{background:var(--pauseBg);color:var(--pauseText)}.charger-detail-page .charger-detail-info-content .charger-connector-list .charger-connector.finishing{background:var(--finishingBg);color:var(--finishingText)}.charger-detail-page .charger-detail-info-content .charger-connector-list .charger-connector.reserved{background:var(--reservedBg);color:var(--reservedText)}.charger-detail-page .charger-detail-info-content .charger-connector-list .charger-connector.unavailable{background:var(--unavailableBg);color:var(--unavailableText)}.charger-detail-page .charger-detail-info-content .charger-connector-list .charger-connector.faulted{background:var(--faultedBg);color:var(--faultedText)}.charger-detail-page .charger-detail-info-content .charger-connector-list .charger-connector div{display:flex;align-items:center;gap:var(--spacing-xs);flex-wrap:wrap}.charger-detail-page .charger-detail-info-content .charger-connector-list .charger-connector .charger-connector-info{font-size:var(--font-size-base)}.charger-detail-page .charger-detail-info-content .charger-connector-list .charger-connector .charger-connector-status{font-size:var(--font-size-sm)}.charger-detail-page .charger-detail-info-content .charger-detail-info-content-item-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.charger-detail-page .charger-detail-info-content .charger-detail-info-content-item-list div{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-xs);flex-wrap:wrap}.charger-detail-page .charger-detail-info-content .charger-detail-info-content-item-list div label{color:var(--color-text);font-size:var(--font-size-sm);font-weight:500}.charger-detail-page .charger-detail-info-content .charger-detail-info-content-item-list div span{color:var(--color-primary);font-size:var(--font-size-sm)}.charger-detail-page .charger-detail-control-content{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-md);background:var(--color-background)}.charger-detail-page .charger-detail-control-content h3{color:var(--color-text);font-size:var(--font-size-lg);font-weight:600}.charger-detail-page .charger-detail-control-content .charger-detail-control-buttons-wrapper{display:flex;justify-content:center;align-items:center;width:100%}.charger-detail-page .charger-detail-control-content .charger-detail-control-buttons{display:flex;justify-content:space-around;flex-wrap:wrap;width:100%;max-width:450px;gap:10px}.charger-detail-page .charger-detail-control-content .charger-detail-control-buttons button{max-width:30%}.charger-detail-page .charger-detail-control-content .charger-detail-control-more-buttons-wrapper{display:flex;justify-content:center;align-items:center;width:100%}.charger-detail-page .charger-detail-control-content .charger-detail-control-more-buttons-list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm);width:100%;max-width:450px}.charger-detail-page .charger-model-detail-modal-section{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl)}.charger-detail-page .charger-model-detail-modal-section:last-child{margin-bottom:0}.charger-detail-page .charger-model-detail-modal-section h3{color:var(--color-text);font-size:var(--font-size-lg);font-weight:600}.charger-detail-page .charger-model-detail-modal-section-item{display:flex;align-items:center;justify-content:space-between}.charger-detail-page .charger-model-detail-modal-section-item label{color:var(--color-text);font-size:var(--font-size-sm)}.charger-detail-page .charger-model-detail-modal-section-item p{color:var(--color-primary);font-size:var(--font-size-sm)}.charger-detail-page .charger-remote-control-modal-section{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl)}.charger-detail-page .charger-remote-control-modal-section:last-child{margin-bottom:0}.charger-detail-page .charger-remote-control-modal-section h3{color:var(--color-text);font-size:var(--font-size-lg);font-weight:600}.remote-control-modal .remote-control-section{margin-bottom:var(--spacing-lg)}.remote-control-modal .remote-control-section h3{font-size:var(--font-size-base);font-weight:700;color:var(--color-text);margin:0 0 var(--spacing-sm) 0}.remote-control-modal .remote-control-message-section{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.remote-control-modal .remote-control-message-section h3{font-size:var(--font-size-base);font-weight:700;color:var(--color-primary);margin:0 0 var(--spacing-md) 0}.remote-control-modal .remote-control-placeholder{text-align:center;color:var(--color-text-secondary);padding:var(--spacing-xl) 0;font-size:var(--font-size-sm)}.message-block .message-block-content{margin-bottom:var(--spacing-lg)}.message-block .message-block-content .form-group{margin-bottom:var(--spacing-md)}.message-block .message-block-content .form-group:last-child{margin-bottom:0}.message-block .message-block-content .form-group label{display:block;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-xs)}.message-block .message-block-content .form-group .json-textarea{width:100%;padding:var(--spacing-sm);font-size:var(--font-size-sm);font-family:Courier New,monospace;color:var(--color-text);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);resize:vertical;min-height:120px}.message-block .message-block-content .form-group .json-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2fb4d91a}.message-block .message-block-footer{display:flex;flex-direction:column;gap:var(--spacing-sm)}.message-block .message-block-footer .response-message{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:600;text-align:center}.message-block .message-block-footer .response-message--success{background:#4caf501a;color:#4caf50;border:1px solid rgba(76,175,80,.3)}.message-block .message-block-footer .response-message--failure{background:#f443361a;color:#f44336;border:1px solid rgba(244,67,54,.3)}.app{width:100%;min-height:100vh;min-height:calc(100vh - var(--safe-area-top) - var(--safe-area-bottom));background-color:var(--color-background);position:relative;overflow-x:hidden}.loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;min-height:calc(100vh - var(--safe-area-top) - var(--safe-area-bottom));background:var(--color-background-light);padding:var(--spacing-lg);gap:var(--spacing-md)}.loading-spinner{font-size:var(--font-size-lg);color:var(--color-text-light);display:flex;align-items:center;gap:var(--spacing-sm)}.loading-spinner:after{content:"";width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.container{width:100%;max-width:100%;margin:0 auto;padding:0 var(--spacing-md)}@media(min-width:768px){.container{max-width:768px;padding:0 var(--spacing-lg)}}.safe-area-top{padding-top:var(--safe-area-top)}.safe-area-bottom{padding-bottom:var(--safe-area-bottom)}.safe-area-left{padding-left:var(--safe-area-left)}.safe-area-right{padding-right:var(--safe-area-right)}.touch-feedback{transition:transform .1s ease,opacity .1s ease}.touch-feedback:active{transform:scale(.97);opacity:.8}.scrollable{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.grid{display:grid;gap:var(--spacing-md)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.flex{display:flex}.flex-column{flex-direction:column}.flex-center{justify-content:center;align-items:center}.flex-between{justify-content:space-between;align-items:center}.flex-wrap{flex-wrap:wrap}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.px-sm{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.px-md{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.px-lg{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}.py-sm{padding-top:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.py-md{padding-top:var(--spacing-md);padding-bottom:var(--spacing-md)}.py-lg{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg)}
