.logo-title{color:var(--primary);flex-direction:column;align-items:center;gap:6px;display:flex}.logo-title__img{flex-shrink:0;width:240px;height:auto}.logo-title__text{color:var(--primary);letter-spacing:.3px;font-size:18px;font-weight:700}.logo-title--small{flex-direction:row;align-items:center;gap:10px}.logo-title--small .logo-title__img{width:72px}.logo-title--small .logo-title__text{font-size:14px;font-weight:600}.auth-layout{background:var(--background);justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border-subtle);border-radius:16px;flex-direction:column;align-items:center;gap:32px;width:100%;max-width:420px;padding:48px 40px 40px;display:flex;box-shadow:0 1px 2px #0000000a,0 4px 16px #0000000f}.main-layout{flex-direction:column;min-height:100dvh;display:flex}.main-header{background:var(--surface);border-bottom:1px solid var(--border-subtle);z-index:100;justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex;position:sticky;top:0}.main-header__logo-link{text-decoration:none}.main-header__user{position:relative}.main-header__user-btn{color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 12px;font-size:14px;font-weight:500;display:flex}.main-header__user-btn:hover{background:var(--surface-pressed)}.main-header__chevron{transition:transform .15s}.main-header__dropdown{background:var(--surface-raised);border:1px solid var(--border);z-index:200;border-radius:8px;min-width:240px;margin-top:4px;padding:4px;position:absolute;top:100%;right:0;box-shadow:0 4px 16px #0000001a}.main-header__dropdown button{text-align:left;width:100%;color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:10px 14px;font-size:14px;display:block}.main-header__dropdown button:hover{background:var(--surface-pressed)}.main-body{flex:1;display:flex}.main-sidebar{background:var(--surface);border-right:1px solid var(--border-subtle);flex-direction:column;gap:2px;width:240px;min-width:240px;height:calc(100dvh - 64px);padding:16px 8px;display:flex;position:sticky;top:64px;overflow-y:auto}.main-sidebar__link{color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;width:100%;padding:10px 16px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.main-sidebar__link:hover{background:var(--surface-pressed);color:var(--text-primary);text-decoration:none}.main-sidebar__link--active,.main-sidebar__link--active:hover{background:var(--primary-subtle);color:var(--primary)}.main-sidebar__group-toggle{font-family:inherit}.main-sidebar__group-toggle--open .main-sidebar__chevron{transform:rotate(180deg)}.main-sidebar__chevron{transition:transform .15s}.main-sidebar__subnav{flex-direction:column;gap:2px;display:flex}.main-sidebar__sublink{padding-left:32px}.main-content{flex:1;min-width:0;padding:32px}.password-input{align-items:center;display:flex;position:relative}.password-input__input{border:1px solid var(--border);width:100%;color:var(--text-primary);background:var(--surface-container-lowest);border-radius:8px;outline:none;padding:11px 44px 11px 14px;font-family:inherit;font-size:15px;transition:border-color .15s,box-shadow .15s}.password-input__input:hover{border-color:var(--border-strong)}.password-input__input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-subtle)}.password-input__toggle{cursor:pointer;color:var(--text-tertiary);background:0 0;border:none;align-items:center;padding:0;transition:color .15s;display:flex;position:absolute;right:12px}.password-input__toggle:hover{color:var(--text-secondary)}.auth-form{flex-direction:column;gap:20px;width:100%;display:flex}.auth-form__field{flex-direction:column;gap:6px;display:flex}.auth-form__field label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;font-size:13px;font-weight:600}.auth-form__field input{border:1px solid var(--border);color:var(--text-primary);background:var(--surface-container-lowest);border-radius:8px;outline:none;padding:11px 14px;font-size:15px;transition:border-color .15s,box-shadow .15s}.auth-form__field input:hover{border-color:var(--border-strong)}.auth-form__field input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-subtle)}.auth-form__field input::placeholder{color:var(--text-tertiary)}.auth-form__row{gap:12px;display:flex}.auth-form__row .auth-form__field{flex:1}.auth-form__submit{background:var(--primary);color:var(--text-on-primary);cursor:pointer;border:none;border-radius:8px;margin-top:4px;padding:12px;font-size:15px;font-weight:600;transition:background .15s,transform .1s}.auth-form__submit:hover:not(:disabled){background:var(--primary-pressed)}.auth-form__submit:active:not(:disabled){transform:scale(.99)}.auth-form__submit:disabled{opacity:.55;cursor:not-allowed}.auth-form__links{text-align:center;font-size:14px}.auth-form__links a{color:var(--text-link);font-weight:500}.auth-form__links a:hover{color:var(--text-link-pressed);text-decoration:underline}.auth-form__error{background:var(--error-subtle);color:var(--error);border-radius:8px;padding:12px 14px;font-size:14px;font-weight:500;line-height:1.4}.auth-form__success{background:var(--success-subtle);color:var(--success);border-radius:8px;padding:12px 14px;font-size:14px;font-weight:500;line-height:1.4}.update-password-page{max-width:420px}.auth-form--inline{margin-top:24px}.page-title{color:var(--text-primary);font-size:22px;font-weight:600}.data-table__wrapper{overflow-x:auto}.data-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:14px}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.4px;color:var(--text-secondary);background:var(--surface-container-low);border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 16px;font-size:12px;font-weight:600}.data-table td{color:var(--text-primary);border-bottom:1px solid var(--border-subtle);text-overflow:ellipsis;white-space:nowrap;padding:12px 16px;overflow:hidden}.data-table tbody tr:last-child td{border-bottom:none}.data-table__row--clickable{cursor:pointer}.data-table__row--clickable:hover td{background:var(--surface-pressed)}.data-table__status{text-align:center;color:var(--text-secondary);padding:48px 16px;font-size:14px}.data-table__status--error{color:var(--error)}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-header__title{color:var(--text-primary);font-size:22px;font-weight:600}.pagination{justify-content:center;align-items:center;gap:16px;margin-top:20px;display:flex}.pagination__info{color:var(--text-secondary);font-size:14px}.pagination__btn{color:var(--primary);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:6px 14px;font-size:14px;font-weight:500;transition:background .15s}.pagination__btn:hover:not(:disabled){background:var(--surface-pressed)}.pagination__btn:disabled{color:var(--text-disabled);cursor:not-allowed}.status-badge{white-space:nowrap;border-radius:12px;padding:3px 10px;font-size:12px;font-weight:600;line-height:1.4;display:inline-block}.status-badge--active{background:var(--success-subtle);color:var(--success)}.status-badge--inactive{background:var(--surface-container);color:var(--text-tertiary)}.status-badge--danger{background:var(--error-subtle);color:var(--error)}.status-badge--warning{background:var(--warning-subtle);color:var(--warning)}.confirm-dialog__overlay{background:var(--overlay);z-index:1000;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.confirm-dialog{background:var(--surface-raised);border-radius:12px;width:100%;max-width:440px;padding:28px;box-shadow:0 8px 32px #00000029}.confirm-dialog__title{color:var(--text-primary);margin-bottom:12px;font-size:18px;font-weight:600}.confirm-dialog__body{color:var(--text-secondary);margin-bottom:20px;font-size:14px;line-height:1.5}.confirm-dialog__error{background:var(--error-subtle);color:var(--error);border-radius:6px;margin-bottom:16px;padding:10px 12px;font-size:13px}.confirm-dialog__actions{justify-content:flex-end;gap:10px;display:flex}.confirm-dialog__btn{cursor:pointer;border:none;border-radius:6px;padding:8px 18px;font-size:14px;font-weight:600;transition:background .15s}.confirm-dialog__btn:disabled{opacity:.55;cursor:not-allowed}.confirm-dialog__btn--cancel{background:var(--surface-container);color:var(--text-primary)}.confirm-dialog__btn--cancel:hover:not(:disabled){background:var(--surface-container-high)}.confirm-dialog__btn--danger{background:var(--error);color:#fff}.confirm-dialog__btn--danger:hover:not(:disabled){background:#c13030}.confirm-dialog__btn--primary{background:var(--primary);color:var(--text-on-primary)}.confirm-dialog__btn--primary:hover:not(:disabled){background:var(--primary-pressed)}.list-filters{flex-wrap:wrap;gap:16px;margin-bottom:16px;display:flex}.list-filters__field{flex-direction:column;gap:4px;min-width:180px;display:flex}.list-filters__field label{color:var(--text-secondary);font-size:13px;font-weight:500}.user-detail-layout{align-items:flex-start;gap:40px;display:flex}.user-detail-layout__left{flex:0 0 480px;max-width:480px}.user-detail-layout__right{flex:1;min-width:300px}.user-password-section{border-top:1px solid var(--border-subtle);margin-top:32px;padding-top:24px}.user-password-section__toggle{margin-bottom:16px}.user-password-section__form{background:var(--surface-container-low);border:1px solid var(--border-subtle);border-radius:10px;padding:20px}.user-qrs-section__title{color:var(--text-primary);margin-bottom:12px;font-size:16px;font-weight:600}.qr-info{flex-direction:column;gap:16px;display:flex}.qr-info__row{gap:12px;display:flex}.qr-info__label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;min-width:140px;padding-top:2px;font-size:13px;font-weight:600}.qr-info__value{color:var(--text-primary);flex:1;font-size:15px}.qr-info__sub{color:var(--text-tertiary);font-size:13px}.qr-info__actions{gap:12px;margin-top:8px;display:flex}.qr-status-display{align-items:center;gap:12px;display:flex}.qr-status-edit{align-items:center;gap:8px;display:flex}.qr-status-edit .form-select{padding:6px 10px;font-size:14px}.btn-link{color:var(--text-link);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:500}.btn-link:hover{color:var(--text-link-pressed);text-decoration:underline}.btn--small{padding:6px 14px;font-size:13px}.qr-image-section{border-top:1px solid var(--border-subtle);margin-top:32px;padding-top:24px}.qr-image-section__title{color:var(--text-primary);margin-bottom:16px;font-size:16px;font-weight:600}.qr-image-section__svg{max-width:240px;margin-bottom:12px}.qr-image-section__svg svg{width:100%;height:auto}.qr-image-section__loading{color:var(--text-secondary);padding:24px 0;font-size:14px}.qr-image-section__error{color:var(--error);align-items:center;gap:12px;padding:12px 0;font-size:14px;display:flex}.qr-assign-search{gap:8px;margin-bottom:12px;display:flex}.qr-assign-search__input{border:1px solid var(--border);border-radius:6px;outline:none;flex:1;padding:8px 12px;font-size:14px}.qr-assign-search__input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-subtle)}.qr-assign-empty{color:var(--text-tertiary);text-align:center;padding:12px 0;font-size:13px}.qr-assign-results{border:1px solid var(--border-subtle);border-radius:6px;max-height:200px;margin:0;padding:0;list-style:none;overflow-y:auto}.qr-assign-results__item{cursor:pointer;border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:10px 12px;font-size:14px;display:flex}.qr-assign-results__item:last-child{border-bottom:none}.qr-assign-results__item:hover{background:var(--surface-pressed)}.qr-assign-results__item--selected{background:var(--primary-subtle)}.qr-assign-results__email{color:var(--text-tertiary);font-size:13px}.qr-email-field{flex-direction:column;gap:4px;margin-top:12px;display:flex}.qr-email-field label{color:var(--text-secondary);text-transform:uppercase;font-size:13px;font-weight:600}.qr-email-field input{background:var(--surface-container-low)}.ub-state-card{background:var(--surface-container-low);border:1px solid var(--border-subtle);border-radius:10px;margin-top:32px;padding:20px}.ub-state-card__title{color:var(--text-primary);margin-bottom:16px;font-size:16px;font-weight:600}.ub-state-card__grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;display:grid}.ub-state-card__item{flex-direction:column;gap:4px;display:flex}.ub-state-card__label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;font-size:12px;font-weight:600}.ub-state-card__value{color:var(--text-primary);font-size:22px;font-weight:700}.tx-units--negative{color:var(--error);font-weight:600}.adjust-form{flex-direction:column;gap:14px;display:flex}.adjust-form__field{flex-direction:column;gap:4px;display:flex}.adjust-form__field label{color:var(--text-primary);font-size:14px;font-weight:600}.adjust-form__textarea{resize:vertical;min-height:80px}:root{--background:#f5f7f5;--surface:#fff;--surface-pressed:#edf0ed;--surface-raised:#fff;--overlay:#00000059;--primary:#044537;--primary-pressed:#033a2e;--primary-active:#055a47;--primary-subtle:#b3d5c9;--primary-muted:#b3d5c9;--primary-muted2:#8ac5ac;--accent:#e08e00;--accent-pressed:#c77e00;--accent-subtle:#fff3db;--tertiary:#2d7a5e;--tertiary-pressed:#246b50;--tertiary-subtle:#e8f5ef;--text-primary:#1a2e26;--text-secondary:#4a6b5e;--text-tertiary:#7a9b8e;--text-disabled:#b3c5bb;--text-on-primary:#fff;--text-on-accent:#fff;--text-link:#044537;--text-link-pressed:#033a2e;--border:#d4ddd8;--border-subtle:#e8eeeb;--border-strong:#b3c5bb;--border-focus:#044537;--success:#0d8a6a;--success-subtle:#e6f5ef;--warning:#e08e00;--warning-subtle:#fff3db;--error:#d64545;--error-subtle:#fdecec;--info:#3b82c4;--info-subtle:#e8f1fa;--surface-container:#eceeec;--surface-container-low:#f2f4f2;--surface-container-lowest:#fff;--surface-container-high:#e6e9e7;--surface-container-highest:#e1e3e1;--surface-dim:#d8dad9;--on-surface:#191c1b;--on-surface-variant:#404945;--primary-container:#044537;--on-primary:#fff;--on-primary-container:#7ab2a0;--primary-fixed-dim:#99d2bf;--secondary-container:#cee5db;--on-secondary-container:#52675f;--secondary-fixed:#d1e8de;--tertiary-fixed-dim:#ffb961;--on-tertiary-fixed:#2b1700;--outline:#707975;--outline-variant:#bfc9c4;--font-family:system-ui, "Segoe UI", Roboto, sans-serif;font-family:var(--font-family);color:var(--text-primary);background:var(--background);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;line-height:1.5}*,:before,:after{box-sizing:border-box}body{margin:0}#root{min-height:100dvh}h1,h2,h3,h4,h5,h6{color:var(--text-primary);margin:0;font-weight:600}p{margin:0}a{color:var(--text-link);text-decoration:none}a:hover{color:var(--text-link-pressed);text-decoration:underline}button{font-family:inherit;font-size:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:inherit}.btn{cursor:pointer;white-space:nowrap;border:none;border-radius:8px;justify-content:center;align-items:center;padding:9px 18px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s;display:inline-flex}.btn:hover{text-decoration:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--primary);color:var(--text-on-primary)}.btn--primary:hover:not(:disabled){background:var(--primary-pressed);color:var(--text-on-primary)}.btn--secondary{background:var(--surface-container);color:var(--text-primary)}.btn--secondary:hover:not(:disabled){background:var(--surface-container-high);color:var(--text-primary)}.btn--danger{color:var(--error);border:1px solid var(--error);background:0 0}.btn--danger:hover:not(:disabled){background:var(--error-subtle)}.form-select{border:1px solid var(--border);color:var(--text-primary);background:var(--surface-container-lowest);cursor:pointer;border-radius:8px;outline:none;padding:11px 14px;font-size:15px;transition:border-color .15s,box-shadow .15s}.form-select:hover{border-color:var(--border-strong)}.form-select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-subtle)}.field-hint{color:var(--text-tertiary);font-size:12px;line-height:1.4}.field-readonly{color:var(--text-primary);padding:11px 0;font-size:15px}.form-actions{gap:12px;margin-top:4px;display:flex}.checkbox-label{color:var(--text-primary);cursor:pointer;align-items:center;gap:8px;font-size:15px;display:flex}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}
