.pms-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:8px;font-family:var(--font-family-kr);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-default);outline:none;position:relative;overflow:hidden}.pms-button:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.pms-button:disabled{opacity:.5;cursor:not-allowed}.pms-button--primary{background-color:var(--color-primary-500);color:var(--color-white)}.pms-button--primary:hover:not(:disabled){background-color:var(--color-primary-600)}.pms-button--primary:active:not(:disabled){background-color:var(--color-primary-700)}.pms-button--secondary{background-color:transparent;color:var(--color-primary-500);border:1px solid var(--color-primary-500)}.pms-button--secondary:hover:not(:disabled){background-color:var(--color-primary-50)}.pms-button--outline{background-color:var(--color-white);color:var(--color-text-primary);border:1px solid var(--color-border-default)}.pms-button--outline:hover:not(:disabled){background-color:var(--color-background-hover)}.pms-button--ghost{background-color:transparent;color:var(--color-text-primary)}.pms-button--ghost:hover:not(:disabled){background-color:var(--color-background-hover)}.pms-button--danger{background-color:var(--color-error-500);color:var(--color-white)}.pms-button--danger:hover:not(:disabled){background-color:var(--color-error-700)}.pms-button--xs{height:28px;padding:4px 12px;font-size:var(--font-size-sm)}.pms-button--sm{height:32px;padding:6px 16px;font-size:13px}.pms-button--md{height:40px;padding:10px 20px;font-size:var(--font-size-base)}.pms-button--lg{height:48px;padding:12px 24px;font-size:var(--font-size-md)}.pms-button--loading .pms-button__content{opacity:.7}.pms-button__spinner{display:inline-flex;align-items:center;justify-content:center;animation:spin 1s linear infinite}.pms-button--full-width{width:100%}.pms-input-wrapper{display:flex;flex-direction:column;gap:8px;width:100%}.pms-input-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);display:flex;align-items:center;gap:4px}.pms-input-required{color:var(--color-error-500)}.pms-input-container{position:relative;display:flex;align-items:center;width:100%}.pms-input{width:100%;height:40px;padding:12px 16px;font-family:var(--font-family-kr);font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-white);border:1px solid var(--color-border-default);border-radius:var(--border-radius-md);outline:none;transition:all var(--transition-default)}.pms-input::placeholder{color:var(--color-gray-500)}.pms-input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 2px var(--color-primary-100)}.pms-input:disabled{background-color:var(--color-gray-100);color:var(--color-text-disabled);cursor:not-allowed}.pms-input--sm{height:32px;padding:8px 12px;font-size:var(--font-size-sm)}.pms-input--md{height:40px;padding:12px 16px;font-size:var(--font-size-base)}.pms-input--lg{height:48px;padding:14px 20px;font-size:var(--font-size-md)}.pms-input--error,.pms-input--error:focus{border-color:var(--color-error-500)}.pms-input--error:focus{box-shadow:0 0 0 2px var(--color-error-100)}.pms-input--success,.pms-input--success:focus{border-color:var(--color-success-500)}.pms-input--success:focus{box-shadow:0 0 0 2px var(--color-success-100)}.pms-input--has-icon{padding-left:40px}.pms-input-icon{position:absolute;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);pointer-events:none}.pms-input-icon--left{left:12px}.pms-input-icon--right{right:12px}.pms-input--has-icon .pms-input-icon--right{padding-right:0}.pms-input-message{font-size:var(--font-size-sm);line-height:1.5}.pms-input-message--error{color:var(--color-error-500)}.pms-input-message--success{color:var(--color-success-500)}.pms-input-message:not(.pms-input-message--error):not(.pms-input-message--success){color:var(--color-text-secondary)}.pms-card{background-color:var(--color-white);border-radius:var(--border-radius-md);padding:16px;border:1px solid var(--color-border-default);box-shadow:var(--shadow-md);transition:all var(--transition-default)}.pms-card--elevated{box-shadow:var(--shadow-lg);border:none}.pms-card--outlined{box-shadow:none;border:1px solid var(--color-border-default)}.pms-card--clickable{cursor:pointer}.pms-card--clickable:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.pms-card__header{padding-bottom:16px;border-bottom:1px solid var(--color-border-light)}.pms-card__body,.pms-card__header{margin-bottom:16px}.pms-card__footer{margin-top:16px;padding-top:16px;border-top:1px solid var(--color-border-light);display:flex;justify-content:flex-end;gap:8px}.pms-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1;white-space:nowrap}.pms-badge--primary{background-color:var(--color-primary-100);color:var(--color-primary-700)}.pms-badge--success{background-color:var(--color-success-100);color:var(--color-success-700)}.pms-badge--warning{background-color:var(--color-warning-100);color:var(--color-warning-700)}.pms-badge--error{background-color:var(--color-error-100);color:var(--color-error-700)}.pms-badge--neutral{background-color:var(--color-gray-100);color:var(--color-gray-700)}.pms-typography{margin:0;font-family:var(--font-family-kr)}.pms-typography--h1{font-size:var(--typography-h1-font-size);font-weight:var(--typography-h1-font-weight);line-height:var(--typography-h1-line-height);letter-spacing:var(--typography-h1-letter-spacing);color:var(--color-text-primary)}.pms-typography--h2{font-size:var(--typography-h2-font-size);font-weight:var(--typography-h2-font-weight);line-height:var(--typography-h2-line-height);letter-spacing:var(--typography-h2-letter-spacing);color:var(--color-text-primary)}.pms-typography--h3{font-size:var(--typography-h3-font-size);font-weight:var(--typography-h3-font-weight);line-height:var(--typography-h3-line-height);color:var(--color-text-primary)}.pms-typography--h4{font-size:var(--typography-h4-font-size);font-weight:var(--typography-h4-font-weight);line-height:var(--typography-h4-line-height);color:var(--color-text-primary)}.pms-typography--bodyLarge{font-size:var(--typography-body-large-font-size);font-weight:var(--typography-body-large-font-weight);line-height:var(--typography-body-large-line-height);color:var(--color-text-primary)}.pms-typography--body{font-size:var(--typography-body-font-size);font-weight:var(--typography-body-font-weight);line-height:var(--typography-body-line-height);color:var(--color-text-primary)}.pms-typography--bodySmall{font-size:var(--typography-body-small-font-size);font-weight:var(--typography-body-small-font-weight);line-height:var(--typography-body-small-line-height);color:var(--color-text-secondary)}.pms-typography--caption{font-size:var(--typography-caption-font-size);font-weight:var(--typography-caption-font-weight);line-height:var(--typography-caption-line-height);color:var(--color-text-secondary)}.pms-spinner{display:inline-flex;align-items:center;justify-content:center}.pms-spinner__svg{animation:spin 1s linear infinite}.pms-spinner__circle{animation:dash 1.5s ease-in-out infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}.pms-spinner--xs .pms-spinner__svg{width:12px;height:12px}.pms-spinner--sm .pms-spinner__svg{width:16px;height:16px}.pms-spinner--md .pms-spinner__svg{width:20px;height:20px}.pms-spinner--lg .pms-spinner__svg{width:32px;height:32px}.pms-spinner--primary{color:var(--color-primary-500)}.pms-spinner--white{color:var(--color-white)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pms-modal__overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.pms-modal{background-color:var(--color-white);border-radius:8px;box-shadow:0 8px 32px rgba(0,0,0,.2);display:flex;flex-direction:column;max-height:90vh;max-width:90vw;outline:none;animation:slideUp .3s ease-out;overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.pms-modal--sm{width:400px}.pms-modal--md{width:600px}.pms-modal--lg{width:800px}.pms-modal--xl{width:1000px}.pms-modal--full{width:90vw;height:90vh}.pms-modal__header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--color-border-default);flex-shrink:0}.pms-modal__title{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:1.4}.pms-modal__close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;margin-left:16px;background:none;border:none;border-radius:4px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-default);flex-shrink:0}.pms-modal__close:hover{background-color:var(--color-background-hover);color:var(--color-text-primary)}.pms-modal__close:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.pms-modal__close svg{width:20px;height:20px}.pms-modal__content{flex:1;overflow-y:auto;padding:24px}.pms-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid var(--color-border-default);flex-shrink:0;background-color:var(--color-background-paper)}@media (max-width:768px){.pms-modal__overlay{padding:0;align-items:flex-end}.pms-modal{width:100%;max-width:100%;max-height:90vh;border-radius:16px 16px 0 0;animation:slideUpMobile .3s ease-out}@keyframes slideUpMobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.pms-modal--lg,.pms-modal--md,.pms-modal--sm,.pms-modal--xl{width:100%}.pms-modal__header{padding:16px 20px}.pms-modal__content{padding:20px}.pms-modal__footer{padding:12px 20px;flex-direction:column-reverse}.pms-modal__footer>*{width:100%}}.pms-dropdown{position:relative;display:inline-block}.pms-dropdown--full-width{width:100%}.pms-dropdown__trigger{display:flex;align-items:center;justify-content:space-between;width:100%;min-width:200px;padding:10px 12px;background-color:var(--color-white);border:1px solid var(--color-border-default);border-radius:4px;font-family:var(--font-family-kr);font-size:var(--font-size-base);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-default);outline:none;text-align:left}.pms-dropdown__trigger:hover:not(:disabled){border-color:var(--color-primary-500)}.pms-dropdown__trigger:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.pms-dropdown__trigger:disabled{background-color:var(--color-gray-100);color:var(--color-text-disabled);cursor:not-allowed;opacity:.6}.pms-dropdown--error .pms-dropdown__trigger{border-color:var(--color-error-500)}.pms-dropdown--error .pms-dropdown__trigger:hover:not(:disabled){border-color:var(--color-error-700)}.pms-dropdown--open .pms-dropdown__trigger{border-color:var(--color-primary-500)}.pms-dropdown__value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pms-dropdown__trigger:disabled .pms-dropdown__value{color:var(--color-text-disabled)}.pms-dropdown__icon{flex-shrink:0;margin-left:8px;color:var(--color-text-secondary);transition:transform var(--transition-default)}.pms-dropdown--open .pms-dropdown__icon{transform:rotate(180deg)}.pms-dropdown__trigger:disabled .pms-dropdown__icon{color:var(--color-text-disabled)}.pms-dropdown--sm .pms-dropdown__trigger{height:32px;padding:6px 10px;font-size:var(--font-size-sm)}.pms-dropdown--md .pms-dropdown__trigger{height:40px;padding:10px 12px;font-size:var(--font-size-base)}.pms-dropdown--lg .pms-dropdown__trigger{height:48px;padding:12px 16px;font-size:var(--font-size-md)}.pms-dropdown__error-message{margin-top:4px;font-size:var(--font-size-sm);color:var(--color-error-500);line-height:1.4}.pms-dropdown__menu{position:fixed;z-index:1000;max-height:300px;overflow-y:auto;background-color:var(--color-white);border:1px solid var(--color-border-default);border-radius:4px;box-shadow:0 4px 12px rgba(0,0,0,.15);margin-top:4px;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.pms-dropdown__option{padding:10px 12px;font-family:var(--font-family-kr);font-size:var(--font-size-base);color:var(--color-text-primary);cursor:pointer;transition:background-color var(--transition-default);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pms-dropdown__option:hover:not(.pms-dropdown__option--disabled){background-color:var(--color-background-hover)}.pms-dropdown__option--selected{background-color:var(--color-primary-50);color:var(--color-primary-700);font-weight:var(--font-weight-medium)}.pms-dropdown__option--disabled{color:var(--color-text-disabled);cursor:not-allowed;opacity:.6}.pms-dropdown__divider{height:1px;background-color:var(--color-border-default);margin:4px 0}@media (max-width:768px){.pms-dropdown__menu{max-height:250px}}.pms-table__wrapper{width:100%;overflow-x:auto;border:1px solid var(--color-border-default);border-radius:4px}.pms-table{width:100%;border-collapse:collapse;font-family:var(--font-family-kr);font-size:var(--font-size-base);background-color:var(--color-white)}.pms-table__header{background-color:var(--color-gray-100)}.pms-table__header-cell{padding:12px 16px;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-align:left;border-bottom:2px solid var(--color-border-default);white-space:nowrap}.pms-table__header-cell--center{text-align:center}.pms-table__header-cell--right{text-align:right}.pms-table__header-cell--sortable{cursor:pointer;user-select:none}.pms-table__header-cell--sortable:hover{background-color:var(--color-background-hover)}.pms-table__sort-button{display:flex;align-items:center;gap:8px;width:100%;padding:0;background:none;border:none;font-family:inherit;font-weight:inherit;font-size:inherit;color:inherit;cursor:pointer;text-align:inherit}.pms-table__sort-label{flex:1}.pms-table__sort-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:16px;height:16px;color:var(--color-text-secondary)}.pms-table__header-cell--sort-asc .pms-table__sort-icon,.pms-table__header-cell--sort-desc .pms-table__sort-icon{color:var(--color-primary-500)}.pms-table__body{background-color:var(--color-white)}.pms-table__row{border-bottom:1px solid var(--color-border-default);transition:background-color var(--transition-default)}.pms-table__row:last-child{border-bottom:none}.pms-table--hover .pms-table__row:hover{background-color:var(--color-background-hover)}.pms-table--striped .pms-table__row:nth-child(2n){background-color:var(--color-gray-50)}.pms-table__row--selected{background-color:var(--color-primary-50)}.pms-table__row--selected:hover{background-color:var(--color-primary-100)}.pms-table__row--clickable{cursor:pointer}.pms-table__cell{padding:12px 16px;color:var(--color-text-primary);text-align:left;vertical-align:middle}.pms-table__cell--center{text-align:center}.pms-table__cell--right{text-align:right}.pms-table--compact .pms-table__cell,.pms-table--compact .pms-table__header-cell{padding:8px 12px;font-size:var(--font-size-sm)}.pms-table__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px;color:var(--color-text-secondary)}.pms-table__empty,.pms-table__loading span{font-size:var(--font-size-base)}.pms-table__empty{padding:40px;text-align:center;color:var(--color-text-secondary)}.pms-table__cell input[type=checkbox],.pms-table__header-cell input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary-500)}@media (max-width:768px){.pms-table__cell,.pms-table__header-cell{padding:8px 12px;font-size:var(--font-size-sm)}.pms-table--compact .pms-table__cell,.pms-table--compact .pms-table__header-cell{padding:6px 8px;font-size:var(--font-size-xs)}}