:root{--bg: #f2f2f7;--bg-secondary: #e8e8ed;--panel-bg: rgba(255, 255, 255, .72);--panel-solid: #ffffff;--border: rgba(60, 60, 67, .12);--border-strong: rgba(60, 60, 67, .2);--text: #1c1c1e;--text-muted: #6e6e73;--text-tertiary: #8e8e93;--primary: #007aff;--primary-hover: #0a6ee0;--primary-light: rgba(0, 122, 255, .12);--accent: #007aff;--accent-hover: #0a6ee0;--success: #34c759;--success-light: rgba(52, 199, 89, .15);--danger: #ff3b30;--danger-light: rgba(255, 59, 48, .14);--warning: #ff9500;--warning-light: rgba(255, 149, 0, .14);--warning-text: #c76a00;--th-bg: rgba(60, 60, 67, .05);--stripe: rgba(60, 60, 67, .02);--radius: 14px;--radius-lg: 20px;--radius-sm: 10px;--shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 8px 24px rgba(0, 0, 0, .06);--shadow-md: 0 2px 8px rgba(0, 0, 0, .06), 0 16px 40px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 20px rgba(0, 0, 0, .1), 0 28px 60px rgba(0, 0, 0, .14);--shadow-primary: 0 4px 12px rgba(0, 122, 255, .3);--ring: 0 0 0 4px rgba(0, 122, 255, .2);--transition: .2s cubic-bezier(.4, 0, .2, 1);--glass-blur: saturate(180%) blur(20px)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.5;letter-spacing:-.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto}.app-header{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;background:#ffffffb8;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--border);box-shadow:none;position:sticky;top:0;z-index:100;will-change:backdrop-filter;animation:header-in .32s cubic-bezier(.22,1,.36,1) both}@keyframes header-in{0%{opacity:0}to{opacity:1}}.app-title{margin:0;font-size:20px;font-weight:700;letter-spacing:-.02em;color:var(--text)}.role-switch{display:flex;align-items:center;gap:8px}.role-switch[hidden]{display:none}.role-label{color:var(--text-muted);font-size:13px}.role-select{padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-bg);font-size:14px;color:var(--text);transition:border-color var(--transition)}.role-select:focus{border-color:var(--accent);outline:none}.app-tabs{display:flex;gap:4px;margin-left:24px;position:relative}.tab-indicator{position:absolute;top:0;left:0;border-radius:999px;background:var(--primary);box-shadow:0 2px 6px #007aff52;pointer-events:none;z-index:0;animation:pill-in .22s ease-out both;transition:transform .38s cubic-bezier(.32,.72,0,1),width .38s cubic-bezier(.32,.72,0,1),height .38s cubic-bezier(.32,.72,0,1);will-change:transform,width}@keyframes pill-in{0%{opacity:0}to{opacity:1}}.tab-btn{position:relative;z-index:1;padding:7px 18px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--text);font-size:14px;font-weight:500;cursor:pointer;transition:background var(--transition),color var(--transition),transform .14s cubic-bezier(.4,0,.2,1)}.tab-btn:active{transform:scale(.96)}.tab-btn:hover{background:#3c3c4314;color:var(--text)}.tab-btn.active{background:transparent;border-color:transparent;color:#fff;font-weight:600}.tab-btn.active:hover{background:transparent;color:#fff}.page-shell>*{animation:page-rise .34s cubic-bezier(.22,1,.36,1) both}.page-shell>*:nth-child(2){animation-delay:45ms}.page-shell>*:nth-child(3){animation-delay:90ms}.page-shell>*:nth-child(4){animation-delay:.13s}@keyframes page-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.page-shell>*,.tab-indicator,.app-header{animation:none!important;transition:none!important}.tab-btn:active{transform:none}}.app-main{display:flex;gap:16px;padding:16px 20px;align-items:flex-start}.panel{background:var(--panel-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:20px}.panel-title{margin:0 0 14px;font-size:17px;font-weight:700;letter-spacing:-.01em;padding-bottom:10px;border-bottom:1px solid var(--border);color:var(--text)}.panel-side{flex:0 0 240px}.panel-entry{flex:1;min-width:0}.panel-records,.panel-summary,.panel-backup{margin:0 20px 16px}.maint-section{margin-bottom:16px}.maint-section:last-child{margin-bottom:0}.maint-title{margin:0 0 6px;font-size:13px;font-weight:600;color:var(--text-muted)}.maint-body,.entry-body,.records-body,.summary-body{min-height:24px}table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}th,td{border:none;border-bottom:1px solid var(--border);padding:12px 14px;text-align:left;vertical-align:middle}th{background:var(--th-bg);font-weight:600;white-space:nowrap;color:var(--text-muted);font-size:12px;letter-spacing:.02em;text-transform:none}th:first-child{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}th:last-child{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}tbody tr{transition:background var(--transition)}tbody tr:hover{background:#007aff0f}tbody tr:nth-child(2n){background:var(--stripe)}tbody tr:nth-child(2n):hover{background:#007aff0f}tbody tr:last-child td{border-bottom:none}.text-right{text-align:right}.text-center{text-align:center}.settlement-cell{white-space:nowrap}.settlement-cell .settlement-value{margin-right:6px}.settlement-cell .muted{color:var(--text-muted);font-style:normal}.settlement-cell button.mini-edit,.settlement-cell button.mini-ok,.settlement-cell button.mini-cancel{font-size:12px;padding:2px 8px;line-height:1.5;border-radius:8px;cursor:pointer;border:1px solid transparent;transition:background var(--transition),border-color var(--transition)}.settlement-cell button.mini-edit{background:var(--primary-light);color:var(--primary);border-color:var(--primary)}.settlement-cell button.mini-edit:hover{background:var(--primary);color:#fff}.settlement-cell button.mini-ok{background:var(--success);color:#fff}.settlement-cell button.mini-ok:hover{background:#2db34d}.settlement-cell button.mini-cancel{background:var(--danger-light);color:var(--danger);border-color:var(--danger)}.settlement-cell button.mini-cancel:hover{background:var(--danger);color:#fff}.settlement-cell .settlement-value[role=button]{cursor:pointer;padding:2px 5px;border-radius:6px;transition:background var(--transition),color var(--transition)}.settlement-cell .settlement-value[role=button]:hover,.settlement-cell .settlement-value[role=button]:focus-visible{background:var(--primary-light);color:var(--primary);outline:none}.settlement-cell #settlement-input,.settlement-cell .settlement-input{width:90px;padding:4px 8px;font-size:13px}.settlement-cell .settlement-actions{display:inline-flex;gap:4px;margin-left:6px}.deduct-cell{padding-top:6px;padding-bottom:6px}.deduct-check{position:relative;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;cursor:pointer;transition:background var(--transition);-webkit-tap-highlight-color:transparent}.deduct-check:hover{background:var(--primary-light)}.deduct-check.is-locked{cursor:not-allowed;opacity:.45}.deduct-check.is-locked:hover{background:transparent}.deduct-check input{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}.deduct-box{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:1.5px solid var(--border-strong);border-radius:6px;background:var(--panel-solid);color:transparent;transition:background var(--transition),border-color var(--transition),transform var(--transition)}.deduct-box svg{width:12px;height:12px;opacity:0;transform:scale(.6);transition:opacity var(--transition),transform var(--transition)}.deduct-check:hover .deduct-box{border-color:var(--primary)}.deduct-check.is-on .deduct-box{background:var(--primary);border-color:var(--primary);color:#fff}.deduct-check.is-on .deduct-box svg{opacity:1;transform:scale(1)}.deduct-check:active .deduct-box{transform:scale(.92)}.deduct-check input:focus-visible+.deduct-box{border-color:var(--primary);box-shadow:var(--ring)}.records-body td button,.accounts-body td button,.mgmt-table td button{padding:4px 10px;font-size:13px;line-height:1.4;white-space:nowrap}.records-body td button.is-restricted,.records-body td button.is-restricted.danger{color:var(--text-tertiary);border-color:var(--border);background:transparent;opacity:.75}.records-body td button.is-restricted:hover{color:var(--text-muted);border-color:var(--border);background:#3c3c430d}.records-body td:first-child,.records-body td:last-child,.accounts-body td:last-child,.mgmt-table td:last-child{white-space:nowrap}.records-total td,.accounts-total td{background:var(--primary-light);font-weight:600;color:var(--text);border-top:1px solid var(--border-strong)}label{display:block;margin-bottom:6px;color:var(--text-muted);font-size:13px}input,select{padding:9px 13px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:15px;color:var(--text);background:#ffffffd9;transition:border-color var(--transition),box-shadow var(--transition),background var(--transition)}input:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring);background:var(--panel-solid)}input:disabled,select:disabled{background:#3c3c430f;color:var(--text-muted);cursor:not-allowed}button{padding:8px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffffd9;color:var(--text);font-size:14px;font-weight:500;cursor:pointer;transition:background var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition),transform var(--transition)}button:hover{background:#3c3c4314;border-color:var(--border);box-shadow:none;transform:none}button:active{transform:scale(.97)}button:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}button:focus-visible{outline:none;box-shadow:var(--ring);border-color:var(--accent)}button.danger:focus-visible{box-shadow:0 0 0 4px #ff3b3038;border-color:var(--danger)}button.primary{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 2px 6px #007aff47}button.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover);box-shadow:0 4px 10px #007aff57}button.danger{background:var(--danger);border-color:var(--danger);color:#fff}button.danger:hover{background:#e0352b;border-color:#e0352b;color:#fff;box-shadow:0 4px 10px #ff3b3047}.maint-list{list-style:none;margin:0 0 10px;padding:0;max-height:240px;overflow-y:auto;scrollbar-width:thin}.maint-search{margin-bottom:8px}.maint-search input{width:100%;padding:7px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;background:#3c3c430f;color:var(--text);transition:border-color var(--transition),box-shadow var(--transition),background var(--transition)}.maint-search input:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring);background:var(--panel-solid)}.maint-name{display:flex;align-items:center;gap:6px;flex:1 1 auto;min-width:0}.maint-name-text{word-break:break-all;min-width:0}.maint-list li.maint-item-col{flex-direction:column;align-items:stretch;gap:8px}.maint-item-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.maint-item-meta .project-fee-label,.maint-item-meta .project-fee-input{margin-left:0}.maint-item-meta button{margin-left:auto}.maint-count{flex:0 0 auto;font-style:normal;font-size:12px;color:var(--text-muted);background:var(--th-bg);padding:1px 7px;border-radius:999px;white-space:nowrap}.maint-list li{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:6px;transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.maint-list li:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-1px)}.maint-list li span{min-width:0}.maint-list li button{flex:0 0 auto;margin-left:8px;padding:2px 8px;font-size:12px}.project-fee-label{flex:0 0 auto;margin-left:10px;font-size:12px;color:var(--text-muted);white-space:nowrap}.project-fee-input{flex:0 0 auto;width:72px;margin-left:6px;padding:3px 7px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;background:var(--bg);color:var(--text);text-align:right;transition:border-color var(--transition),box-shadow var(--transition)}.project-fee-input:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring);background:#fff}.maint-empty{color:var(--text-muted);font-size:13px;margin:0 0 10px}.maint-add{display:flex;gap:6px}.maint-add input{flex:1;min-width:0}.maint-field-label{display:block;margin-bottom:6px;color:var(--text-muted);font-size:13px}#channel-project-select{width:100%;margin-bottom:10px}.entry-field{margin-bottom:12px;position:relative}.entry-field-owner{flex:2 1 300px!important}.autocomplete-list{position:absolute;top:100%;left:0;right:0;z-index:50;max-height:200px;overflow-y:auto;background:var(--panel-bg);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);display:none}.autocomplete-item{padding:7px 11px;cursor:pointer;font-size:14px;transition:background var(--transition)}.autocomplete-item:hover{background:var(--primary-light)}.autocomplete-item.selected{background:var(--primary-light);color:var(--primary);font-weight:500}.entry-ac-dropdown{position:fixed;z-index:300;max-height:240px;overflow-y:auto;background:var(--panel-bg);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md)}.entry-ac-dropdown .autocomplete-item{font-size:13px}.edit-indicator{display:inline-block;padding:2px 10px;border-radius:999px;background:var(--primary-light);color:var(--primary);font-size:12px;font-weight:600}[hidden]{display:none!important}.entry-field select,.entry-field input{width:100%}.entry-table-scroll{overflow-x:auto;margin-bottom:12px}.entry-table{width:100%;border-collapse:collapse;min-width:1080px}.entry-table th{padding:8px 6px;font-size:12px;font-weight:600;color:var(--text-muted);background:var(--th-bg);white-space:nowrap;text-align:left;border:1px solid var(--border)}.entry-table td{padding:4px 6px;border:1px solid var(--border);vertical-align:middle}.entry-table input{width:100%;padding:6px 8px;font-size:13px;box-sizing:border-box;min-width:70px}.entry-table td:nth-child(1) input{min-width:128px}.entry-table td:nth-child(2) input{min-width:90px}.entry-table td:nth-child(3) input{min-width:128px}.entry-table td:nth-child(4) input{min-width:90px}.entry-table td:nth-child(5) input{min-width:150px}.combo{position:relative;width:100%}.combo input{width:100%;padding-right:24px}.combo-chevron{position:absolute;right:7px;top:50%;width:12px;height:12px;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none;transition:transform var(--transition),opacity var(--transition)}.combo-chevron.is-open{transform:translateY(-50%) rotate(180deg)}.combo-clear{position:absolute;right:6px;top:50%;display:none;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;border-radius:50%;background:#3c3c431f;color:var(--text-muted);font-size:12px;line-height:1;transform:translateY(-50%);cursor:pointer}.combo:hover .combo-chevron{opacity:0}.combo:hover .combo-clear{display:flex}.combo.is-open .combo-clear{display:none}.combo.is-open .combo-chevron{opacity:1}.combo.is-invalid input{border-color:var(--danger);box-shadow:0 0 0 3px #ff3b301f}.combo-panel{position:fixed;z-index:1500;display:flex;flex-direction:column;max-height:264px;padding:5px;background:var(--panel-solid);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-md);animation:combo-in .14s cubic-bezier(.22,1,.36,1);overflow:hidden}@keyframes combo-in{0%{opacity:0}to{opacity:1}}.combo-list{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.combo-option{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:8px;font-size:13px;color:var(--text);cursor:pointer}.combo-option.is-active{background:#007aff1a}.combo-option.is-selected .combo-option-main{font-weight:600}.combo-option-main{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.combo-option-hint{margin-left:auto;flex:0 1 auto;min-width:0;max-width:52%;overflow:hidden;text-overflow:ellipsis;font-size:11.5px;color:var(--text-tertiary);white-space:nowrap}.combo-option-check{flex:0 0 auto;font-size:12px;color:var(--primary)}.combo-hit{background:#ffcc0059;color:inherit;border-radius:3px;padding:0 1px}.combo-empty{padding:10px 9px;font-size:12.5px;color:var(--text-tertiary);text-align:center}.combo-tip{margin-top:4px;padding:6px 9px 2px;border-top:1px solid var(--border);font-size:11.5px;color:var(--text-tertiary)}.ms{position:relative;width:100%;min-width:170px}.ms-box{display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-height:32px;padding:3px 6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-bg);cursor:text;transition:border-color var(--transition),box-shadow var(--transition)}.ms-box:hover{border-color:#3c3c433d}.ms.is-open .ms-box,.ms-box:focus-within{border-color:var(--primary);box-shadow:var(--ring)}.ms.is-disabled .ms-box{background:var(--bg);cursor:not-allowed}.ms-chip{display:inline-flex;align-items:center;gap:2px;max-width:100%;padding:2px 3px 2px 7px;border-radius:999px;background:var(--primary-light);color:var(--primary);font-size:12px;line-height:1.45}.ms-chip-text{max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ms-chip-x{padding:0 3px;border:none;border-radius:50%;background:transparent;color:inherit;font-size:12px;line-height:1;opacity:.55;cursor:pointer}.ms-chip-x:hover{opacity:1;background:#007aff24}.ms .ms-input,.ms .ms-input:focus{flex:1 1 60px;width:auto;min-width:56px;margin:0;padding:3px 2px;border:none;border-radius:0;outline:none;box-shadow:none;background:transparent;font-size:13px;color:var(--text)}.ms-panel{min-width:220px}.ms-option{gap:7px}.ms-check{flex:0 0 14px;width:14px;height:14px;border:1px solid var(--border);border-radius:4px;color:#fff;font-size:10px;line-height:12px;text-align:center}.ms-check.is-on{background:var(--primary);border-color:var(--primary)}.account-entry-table .ms{min-width:170px}#accounts-table .ms{min-width:158px}.account-entry-table .combo,#accounts-table .combo{min-width:128px}.account-entry-table{min-width:860px}.account-entry-table select,#accounts-table input[data-ia],#accounts-table select[data-ia]{width:100%;padding:5px 8px;font-size:13px;box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-bg);color:var(--text)}#accounts-table input[data-ia]:focus,#accounts-table select[data-ia]:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.entry-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.row-del{padding:2px 8px;line-height:1;font-size:16px;color:var(--danger);border-color:transparent;background:transparent;cursor:pointer}.row-del:hover{background:var(--danger-light);border-radius:var(--radius-sm)}.summary-filters{display:flex;gap:16px;margin-bottom:12px;flex-wrap:wrap}.summary-field{display:flex;flex-direction:column}.summary-field label{margin-bottom:4px}.summary-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.summary-actions select{min-width:140px}.summary-status{margin-top:10px;font-size:13px;color:var(--text-muted)}.summary-status.error{color:var(--danger)}.clear-hint{padding:16px 18px;margin-bottom:16px;background:var(--danger-light);border:1px solid rgba(255,59,48,.24);border-radius:var(--radius)}.clear-hint p{margin:0 0 10px;font-size:14px;color:var(--text);line-height:1.6}.clear-hint p:last-child{margin-bottom:0}.clear-hint ul{margin:0 0 10px;padding-left:20px}.clear-hint li{font-size:13px;color:var(--text-muted);line-height:1.8}.clear-hint .clear-keep{color:var(--success);font-size:13px}.records-filter{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:14px;padding:14px;background:#3c3c430a;border:1px solid var(--border);border-radius:var(--radius-sm)}.filter-field{display:flex;flex-direction:column}.filter-field label{margin-bottom:4px}.filter-field .combo-filter{width:172px}.filter-field .combo-filter input{width:100%;font-size:14px}.records-filter button{align-self:flex-end}.records-pager{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:12px;font-size:13px;color:var(--text-muted)}.records-pager-info{color:var(--text-muted)}.records-pager-size{display:flex;align-items:center;gap:6px}.records-pager-size select{padding:4px 6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-size:13px}.records-pager-nav{display:flex;align-items:center;gap:10px}.records-pager-page{white-space:nowrap;color:var(--text)}.records-pager-nav button{padding:4px 12px;font-size:13px}.panel-accounts{margin:0 20px 16px}.accounts-form{margin-bottom:16px}.accounts-form-row{display:flex;gap:12px;flex-wrap:wrap}.accounts-form-row .entry-field{flex:1;min-width:150px;margin-bottom:12px}.accounts-form-row .entry-field input,.accounts-form-row .entry-field select{width:100%}.accounts-filter{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:14px;padding:14px;background:#3c3c430a;border:1px solid var(--border);border-radius:var(--radius-sm)}.accounts-filter button{align-self:flex-end}.accounts-body .edit-indicator{margin-right:8px}.account-status{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.6;white-space:nowrap}.account-status.status-active{background:var(--success-light);color:#1f9d4d}.account-status.status-pending{background:var(--primary-light);color:var(--accent)}.account-status.status-dead{background:var(--danger-light);color:var(--danger)}.account-status.status-clear{background:var(--warning-light);color:var(--warning-text)}.account-status.status-nocost{background:#3c3c4314;color:var(--text-muted)}.account-status.status-nomaterial{background:#007aff1a;color:var(--accent)}.account-balance-tag{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:6px;font-size:12px;font-weight:600;background:var(--warning-light);color:var(--warning-text);white-space:nowrap}.account-clear-input{width:110px;padding:5px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-bg);color:var(--text);font-size:13px}.account-clear-input:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}@media (prefers-reduced-transparency: reduce){.app-header,.panel,.dash-card,.port-balance-card,.modal-card,.toast{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:var(--panel-solid)!important}}.panel-dashboard{margin:16px 20px}.dashboard-body{min-height:24px}.dash-filter{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:18px;padding:12px 16px;background:#3c3c430a;border:1px solid var(--border);border-radius:var(--radius-sm)}.dash-anchors{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.dash-anchors a{padding:6px 14px;font-size:13px;color:var(--text);text-decoration:none;border:1px solid var(--border);border-radius:999px;background:#ffffffb3;transition:color var(--transition),border-color var(--transition),background var(--transition)}.dash-anchors a:hover{color:var(--primary);border-color:var(--primary);background:var(--primary-light)}.dash-filter-label{font-size:13px;color:var(--text-muted)}.dash-filter-sep{color:var(--text-muted)}.dash-filter input[type=date]{padding:5px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-bg);color:var(--text)}.dash-filter-desc{font-size:13px;color:var(--accent);font-weight:600}.dashboard-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.dash-card{padding:20px;background:var(--panel-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);text-align:left;transition:transform var(--transition),box-shadow var(--transition)}.dash-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.dash-card-label{font-size:13px;color:var(--text-muted);margin-bottom:8px}.dash-card-value{font-size:28px;font-weight:700;letter-spacing:-.02em;color:var(--text);line-height:1.2;font-variant-numeric:tabular-nums}.dash-card-settlement{color:var(--accent)}.dash-card-profit.positive,.dash-card-rate.positive{color:var(--success)}.dash-card-profit.negative,.dash-card-rate.negative{color:var(--danger)}.dash-card-recharge{color:var(--accent)}.dash-card-pending{color:var(--warning-text)}.recharge-cards{margin-bottom:20px}.dash-section-head{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}.dash-section-head .dash-section-title{margin:0}.dash-section-note{font-size:12px;color:var(--text-tertiary)}.pending-cards{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:28px}.pending-card{display:flex;align-items:center;gap:14px;flex:1 1 240px;max-width:320px;padding:16px 18px}.pending-card:hover{transform:none;box-shadow:var(--shadow)}.pending-ring{flex:none;display:block}.pending-ring-track{stroke:#3c3c431a;transition:stroke .32s ease}.pending-ring-track.is-clear{stroke:#34c75938}.pending-ring-arc{stroke:var(--warning);transition:stroke-dashoffset .6s cubic-bezier(.23,1,.32,1)}.pending-ring-arc.is-clear{stroke:var(--success)}.pending-meta{min-width:0}.pending-card .dash-card-label{margin-bottom:4px}.pending-value{display:flex;align-items:baseline;gap:6px;font-variant-numeric:tabular-nums}.pending-num{font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.15}.pending-num.is-pending{color:var(--warning-text)}.pending-num.is-clear{color:var(--success)}.pending-unit{font-size:12px;color:var(--text-muted)}.daily-recharge-table{margin-bottom:28px}.dash-section-title{margin:0 0 12px;font-size:14px;font-weight:700;color:var(--text)}.dashboard-body td.positive{color:var(--success);font-weight:600}.dashboard-body td.negative{color:var(--danger);font-weight:600}.member-board-table{margin-bottom:28px}.member-board-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.member-board-table th.sortable:hover{color:var(--accent)}.dashboard-body table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.dashboard-body table th.sortable:hover{color:var(--accent)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;background:#00000052;backdrop-filter:blur(8px) saturate(160%);-webkit-backdrop-filter:blur(8px) saturate(160%);animation:modal-fade-in .2s cubic-bezier(.4,0,.2,1)}.modal-card{position:relative;width:100%;max-width:360px;background:#ffffffeb;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow-lg);padding:32px 28px 24px;text-align:center;animation:modal-pop-in .24s cubic-bezier(.4,0,.2,1)}.modal-close{position:absolute;top:12px;right:12px;width:32px;height:32px;padding:0;border:none;border-radius:999px;background:transparent;color:var(--text-muted);font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--th-bg);color:var(--text);box-shadow:none;transform:none}.modal-icon{width:60px;height:60px;margin:0 auto 14px;border-radius:18px;background:var(--primary-light);color:var(--primary);display:flex;align-items:center;justify-content:center}.modal-title{margin:0 0 6px;font-size:19px;font-weight:700;letter-spacing:-.01em;color:var(--text)}.modal-desc{margin:0 0 20px;font-size:13px;color:var(--text-muted)}.modal-input{width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:15px;text-align:center;letter-spacing:2px;background:var(--bg);color:var(--text);transition:border-color var(--transition),box-shadow var(--transition),background var(--transition)}.modal-input:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring);background:#fff}.modal-error{margin:10px 0 0;font-size:13px;color:var(--danger)}.modal-actions{display:flex;gap:10px;margin-top:22px}.modal-actions button{flex:1;padding:11px 16px}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-pop-in{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.login-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;overflow-y:auto;padding:48px 24px;background-color:var(--bg);background-image:radial-gradient(58% 46% at 50% 44%,#ffffffd1,#fff0 76%),radial-gradient(52% 44% at 10% 2%,#007aff16,#007aff00 70%),radial-gradient(48% 42% at 92% 10%,#af52de12,#af52de00 68%),radial-gradient(58% 48% at 82% 100%,#5ac8fa16,#5ac8fa00 72%),radial-gradient(50% 46% at 4% 98%,#ff95000a,#ff950000 70%),linear-gradient(180deg,#f8f8fb,#f2f2f7 48%,#edeef4);background-repeat:no-repeat}.login-card{position:relative;margin:auto;width:100%;max-width:344px;text-align:center;animation:modal-pop-in .32s cubic-bezier(.4,0,.2,1)}.login-logo{width:68px;height:68px;margin:0 auto 18px;display:flex;align-items:center;justify-content:center}.login-logo img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.login-title{margin:0 0 8px;font-size:30px;font-weight:700;letter-spacing:-.03em;color:#0b0b0c}h2.login-title{line-height:1.25}.login-subtitle{margin:0 0 26px;font-size:13.5px;color:#8b8b8f;letter-spacing:-.01em}.login-form{display:block}.login-field{position:relative;margin-bottom:10px;text-align:left}.login-field label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.login-field input{width:100%;padding:13px 16px;font-size:15px;color:#0b0b0c;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:12px;box-shadow:0 1px 2px #0000000a;transition:border-color var(--transition),box-shadow var(--transition)}.login-field input::placeholder{color:#a5a5a9}.login-field input:focus{outline:none;border-color:#0b0b0c;box-shadow:0 0 0 3px #0000000f}.login-error,.login-success{margin:0 0 12px;padding:8px 12px;border-radius:10px;font-size:12.5px;line-height:1.5;text-align:center}.login-error{background:#ff3b3014;color:#b42318}.login-success{background:#0000000d;color:#3a3a3c}.login-remember{display:inline-flex;align-items:center;gap:7px;margin:4px 0 16px;font-size:12.5px;color:#8b8b8f;cursor:pointer;-webkit-user-select:none;user-select:none}.login-remember input{width:14px;height:14px;margin:0;accent-color:#0b0b0c;cursor:pointer}.login-submit{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:6px;padding:14px 16px;border:none;border-radius:12px;background:#0b0b0c;color:#fff;font-family:inherit;font-size:15px;font-weight:600;letter-spacing:.02em;cursor:pointer;box-shadow:0 6px 18px #0000002e;transition:background var(--transition),transform var(--transition),box-shadow var(--transition),opacity var(--transition)}.login-submit:hover:not(:disabled){background:#000;box-shadow:0 8px 22px #0000003d}.login-submit:active:not(:disabled){transform:scale(.988)}.login-submit:disabled{opacity:.55;cursor:default;box-shadow:none}.login-submit svg,.login-alt svg{flex:0 0 auto}.login-divider{display:flex;align-items:center;gap:12px;margin:18px 0 12px;color:#a0a0a4;font-size:12px}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:#00000014}.login-divider span{white-space:nowrap}.login-alt{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 16px;border:1px solid rgba(0,0,0,.06);border-radius:12px;background:#fff;color:#0b0b0c;font-family:inherit;font-size:14px;font-weight:500;cursor:pointer;box-shadow:0 1px 2px #0000000d,0 8px 24px #00000012;transition:transform var(--transition),box-shadow var(--transition),opacity var(--transition)}.login-alt:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 4px #0000000f,0 12px 28px #00000017}.login-alt:active:not(:disabled){transform:scale(.99)}.login-alt:disabled{opacity:.6;cursor:default}.login-submit:focus-visible,.login-alt:focus-visible{outline:2px solid #0b0b0c;outline-offset:3px}body.logged-out .app-header,body.logged-out .panel{display:none!important}.user-name{font-size:13px;color:var(--text-muted);font-weight:500;margin-right:4px}.logout-btn{margin-left:4px}.port-balance-subtitle{font-size:15px;font-weight:600;color:var(--text);margin:20px 0 12px}.port-register{display:flex;flex-direction:column;gap:10px;padding:14px 16px;margin-bottom:4px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.port-register-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.port-register-input{width:240px;padding:7px 10px;font-size:13px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-bg);color:var(--text)}.port-register-input:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.port-register-tip{font-size:12px;color:var(--text-tertiary)}.port-chips{display:flex;flex-wrap:wrap;gap:8px}.port-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 4px 3px 10px;font-size:12px;color:var(--text);background:var(--primary-light);border:1px solid var(--border);border-radius:999px}.port-chip-del{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;border-radius:50%;background:#3c3c431f;color:var(--text-muted);font-size:12px;line-height:1;cursor:pointer}.port-chip-del:hover{background:var(--danger);color:#fff}.port-balance-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-bottom:8px}.port-balance-total{display:flex;flex-wrap:wrap;gap:12px;padding:14px 18px;margin-bottom:16px;background:var(--primary-light);border:1px solid var(--border);border-radius:var(--radius)}.port-balance-total-item{display:flex;align-items:center;gap:8px;font-size:13px}.port-balance-total-item span{color:var(--text-muted)}.port-balance-total-item b{font-weight:700;font-size:15px;color:var(--text);font-variant-numeric:tabular-nums}.port-balance-total-item.total-balance b{font-size:17px;color:var(--success)}.port-balance-total-item.total-balance b.negative{color:var(--danger)}.port-balance-card{background:var(--panel-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow);transition:transform .15s ease,box-shadow .15s ease}.port-balance-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.port-balance-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border)}.port-balance-port{font-size:15px;font-weight:600;color:var(--text);word-break:break-all}.port-balance-value{font-size:22px;font-weight:700;color:var(--success);white-space:nowrap;font-variant-numeric:tabular-nums}.port-balance-value.negative{color:var(--danger)}.port-balance-detail{display:flex;flex-direction:column;gap:8px}.port-balance-detail>div{display:flex;align-items:center;justify-content:space-between;font-size:13px}.port-balance-detail span{color:var(--text-muted)}.port-balance-detail b{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}.port-balance-detail b.refund-neg{color:var(--danger)}.port-balance-detail b.service-in{color:var(--success)}.port-balance-detail b.negative{color:var(--danger)}.port-balance-actions{margin-top:12px;display:flex;justify-content:flex-end}.port-balance-actions button{padding:4px 14px;font-size:13px}.port-refund-form{margin-top:12px;padding-top:12px;border-top:1px dashed var(--border);display:flex;flex-direction:column;gap:8px}.port-refund-form label{font-size:12px;color:var(--text-muted);margin-bottom:-4px}.port-refund-form input{width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;background:var(--bg);color:var(--text);transition:border-color var(--transition),box-shadow var(--transition)}.port-refund-form input:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring);background:#fff}.port-refund-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.port-refund-actions button{padding:4px 12px;font-size:13px}.logs-body .accounts-filter{margin-bottom:16px}.log-time{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.log-badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600}.log-action-create{background:var(--success-light);color:var(--success)}.log-action-update{background:var(--primary-light);color:var(--primary)}.log-action-delete{background:var(--danger-light);color:var(--danger)}.log-action-import{background:var(--warning-light);color:var(--warning-text)}.port-balance-overview-table{margin-bottom:24px}.port-balance-overview-table td.refund-neg{color:var(--danger)}.port-balance-overview-table td.service-in{color:var(--success)}.accounts-mgmt-section{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border)}.mgmt-hint{padding:12px 16px;margin-bottom:16px;border-radius:var(--radius-sm);background:var(--primary-light);color:var(--primary);font-size:13px;line-height:1.6}.mgmt-table{width:100%;border-collapse:collapse}.mgmt-table th,.mgmt-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border);vertical-align:middle}.mgmt-table th{background:var(--th-bg);font-weight:600;color:var(--text-muted);font-size:13px}.mgmt-name{font-weight:600;color:var(--text)}.mgmt-self{font-style:normal;font-size:12px;color:var(--primary);margin-left:6px}.role-badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600}.role-admin{background:var(--primary-light);color:var(--primary)}.role-member{background:var(--success-light);color:#1f9d4d}.role-finance{background:var(--warning-light);color:var(--warning-text)}.role-business{background:#af52de24;color:#8e3fc4}.mgmt-role-select{padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-bg);color:var(--text);font-size:13px}.mgmt-pwd-input{padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-bg);color:var(--text);font-size:13px;width:140px}.mgmt-pwd-input:focus,.mgmt-role-select:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.toast-container{position:fixed;top:16px;right:16px;z-index:3000;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{max-width:320px;padding:10px 16px;border-radius:var(--radius-sm);background:#1c1c1eeb;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);color:#fff;font-size:14px;line-height:1.5;box-shadow:var(--shadow-lg);opacity:0;transform:translateY(-8px);transition:opacity .25s cubic-bezier(.4,0,.2,1),transform .25s cubic-bezier(.4,0,.2,1)}.toast.toast-show{opacity:1;transform:translateY(0)}.toast.toast-hide{opacity:0;transform:translateY(-8px)}.toast.toast-success{background:var(--primary)}.toast.toast-error{background:var(--danger)}.records-body,.accounts-body,.recharge-body,.port-balance-body,.logs-body,.dashboard-body,.summary-body,.accounts-mgmt-body{overflow-x:auto}@media (pointer: coarse){button,.tab-btn,input,select{min-height:44px}.dash-anchors a{min-height:40px;display:inline-flex;align-items:center}}@media (max-width: 768px){.app-header{flex-wrap:wrap;padding:12px 16px;gap:8px}.app-title{font-size:16px}.app-tabs{order:3;width:100%;margin-left:0;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;-webkit-overflow-scrolling:touch}.tab-btn{flex:0 0 auto;padding:8px 14px;font-size:13px;white-space:nowrap}.role-switch{margin-left:auto;flex-wrap:wrap}.pending-card{max-width:none}.dash-section-note{font-size:11px}.app-main{flex-direction:column;padding:12px;gap:12px}.panel-side{flex:none;width:100%}.panel-entry{width:100%}.panel{padding:14px}.panel-records,.panel-summary,.panel-backup,.panel-dashboard{margin:0 12px 12px}.dash-filter,.records-filter{flex-wrap:wrap}.dash-anchors{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.dash-anchors a{flex:0 0 auto;white-space:nowrap}table{font-size:12px}th,td{padding:8px 10px}.login-screen{padding:32px 20px}.login-card{max-width:100%}.login-title{font-size:26px}.modal-card{margin:0 12px}.toast-container{left:16px;right:16px;top:12px}.toast{max-width:none}}.panel-accounts-mgmt{padding:22px 24px 20px}.um-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.um-head .panel-title{margin:0}.um-sub{margin:4px 0 0;font-size:13px;color:var(--text-muted)}.um-add-btn{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;padding:8px 16px;font-size:13.5px;white-space:nowrap}.um-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.um-search{position:relative;flex:1 1 200px;max-width:300px}.um-search>svg{position:absolute;left:11px;top:50%;width:15px;height:15px;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}.um-search input{width:100%;padding:7px 30px 7px 32px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffffb3;color:var(--text);font-family:inherit;font-size:13.5px;transition:border-color var(--transition),box-shadow var(--transition),background var(--transition)}.um-search input::placeholder{color:var(--text-tertiary)}.um-search input:focus{outline:none;background:var(--panel-solid);border-color:var(--primary);box-shadow:var(--ring)}.um-search-clear{position:absolute;right:5px;top:50%;width:22px;height:22px;padding:0;transform:translateY(-50%);border:none;border-radius:999px;background:transparent;color:var(--text-tertiary);font-size:15px;line-height:1}.um-search-clear:hover{background:var(--th-bg);color:var(--text)}.um-filters{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.um-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--text-muted);font-size:13px;white-space:nowrap;transition:background var(--transition),color var(--transition),box-shadow var(--transition)}.um-chip:hover{background:#3c3c4314;color:var(--text)}.um-chip.is-active{background:var(--panel-solid);border-color:var(--border);color:var(--text);font-weight:600;box-shadow:0 1px 3px #00000012}.um-chip-count{font-size:11.5px;font-weight:500;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.um-chip.is-active .um-chip-count{color:var(--primary)}.um-list{--um-cols: 38px minmax(150px, 200px) minmax(0, 1fr) 165px 205px 175px minmax(0, 1fr) 186px;border:1px solid var(--border);border-radius:var(--radius);background:#ffffff73;overflow:hidden}.um-list-head{display:grid;grid-template-columns:var(--um-cols);grid-template-areas:"user user . status last joined . actions";align-items:center;gap:14px;padding:8px 16px;background:#3c3c4309;border-bottom:1px solid var(--border);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary);white-space:nowrap}.um-list-head .um-col-user{grid-area:user}.um-list-head .um-col-actions{grid-area:actions;justify-self:end;text-transform:none;letter-spacing:0}.um-list-head .um-col-status,.um-list-head .um-col-last,.um-list-head .um-col-joined{justify-self:center;text-align:center}.um-row{display:grid;grid-template-columns:var(--um-cols);grid-template-areas:"avatar id . status last joined . actions";align-items:center;gap:14px;padding:11px 16px;transition:background var(--transition)}.um-row+.um-row{border-top:1px solid var(--border)}.um-row:hover{background:#fffc}.um-avatar{grid-area:avatar;flex:0 0 auto;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;font-size:15px;font-weight:600;letter-spacing:0;-webkit-user-select:none;user-select:none}.um-avatar-sm{width:24px;height:24px;font-size:12px}.um-avatar.role-admin{background:#007aff24;color:#0a6ee0}.um-avatar.role-finance{background:var(--warning-light);color:var(--warning-text)}.um-avatar.role-business{background:#af52de24;color:#8e3fc4}.um-avatar.role-member{background:var(--success-light);color:#1f9d4d}.um-id{grid-area:id;min-width:0}.um-name-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.um-name{font-size:14.5px;font-weight:600;color:var(--text)}.um-self{padding:1px 7px;border-radius:999px;background:var(--primary-light);color:var(--primary);font-size:11px;font-weight:600}.um-meta{display:flex;align-items:center;flex-wrap:wrap;gap:2px 5px;margin-top:2px;font-size:12.5px;color:var(--text-tertiary)}.um-sep{opacity:.6}.um-pwd{display:inline-flex;align-items:center;gap:5px}.um-pwd:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--warning)}.um-pwd.is-set:before{background:var(--success)}.um-actions{grid-area:actions;display:flex;align-items:center;justify-content:flex-end;justify-self:end;gap:2px;flex:0 0 auto}.um-actions button{white-space:nowrap}.um-edit{padding:5px 12px;font-size:13px;background:var(--panel-solid);border:1px solid var(--border);border-radius:999px;color:var(--text)}.um-edit:hover{border-color:var(--border-strong);background:var(--panel-solid)}.um-del{padding:5px 8px;border:none;border-radius:999px;background:transparent;color:var(--danger);font-size:13px}.um-del:hover{background:var(--danger-light);color:var(--danger)}.um-foot{margin:12px 2px 0;font-size:12px;line-height:1.6;color:var(--text-tertiary)}.um-empty{padding:44px 16px;text-align:center;font-size:13.5px;color:var(--text-muted);line-height:1.9}.um-empty button{padding:5px 14px;font-size:13px}.modal-card.um-modal{max-width:440px;text-align:left}.um-modal .modal-title{margin-bottom:16px}.um-form{display:flex;flex-direction:column;gap:16px}.um-field-label{display:block;margin-bottom:6px;font-size:12px;font-weight:600;color:var(--text-muted)}.um-input{width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-solid);color:var(--text);font-family:inherit;font-size:14px;transition:border-color var(--transition),box-shadow var(--transition)}.um-input::placeholder{color:var(--text-tertiary)}.um-input:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.um-static-name{display:flex;align-items:center;gap:8px;padding:7px 12px;border-radius:var(--radius-sm);background:var(--th-bg);font-size:14px;font-weight:600}.um-hint{margin:6px 0 0;font-size:11.5px;color:var(--text-tertiary)}.um-hint-inline{margin:0;font-weight:400;font-size:11.5px;color:var(--text-tertiary)}.um-roles{display:grid;grid-template-columns:1fr 1fr;gap:8px}.um-role{position:relative;display:flex;flex-direction:column;gap:2px;padding:9px 12px;border:1px solid var(--border);border-radius:12px;background:#fff9;cursor:pointer;transition:border-color var(--transition),background var(--transition),box-shadow var(--transition)}.um-role input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.um-role:hover{border-color:var(--border-strong);background:var(--panel-solid)}.um-role.is-on{border-color:var(--primary);background:var(--primary-light)}.um-role:focus-within{box-shadow:var(--ring)}.um-role-name{font-size:13.5px;font-weight:600;color:var(--text)}.um-role.is-on .um-role-name{color:var(--primary)}.um-role-desc{font-size:11.5px;line-height:1.35;color:var(--text-tertiary)}@media (max-width: 640px){.panel-accounts-mgmt{padding:18px 14px 16px}.um-head{align-items:center}.um-search{flex-basis:100%;max-width:none}.um-row{padding:11px 12px}.um-edit,.um-toggle,.um-del{padding:5px 10px;font-size:12.5px}.um-roles{grid-template-columns:1fr}}.um-badge-disabled{padding:1px 8px;border-radius:999px;background:#3c3c431a;color:var(--text-muted);font-size:11px;font-weight:600}.um-row.is-disabled{background:#3c3c4308}.um-row.is-disabled .um-avatar,.um-row.is-disabled .um-name{opacity:.5}.um-contact{display:inline-block;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.um-toggle{padding:5px 8px;border:none;border-radius:999px;background:transparent;color:var(--warning-text);font-size:13px}.um-toggle:hover{background:var(--warning-light);color:var(--warning-text)}.um-toggle.is-enable{color:#1f9d4d}.um-toggle.is-enable:hover{background:var(--success-light);color:#1f9d4d}.um-badge-pending{padding:1px 8px;border-radius:999px;background:var(--warning-light);color:var(--warning-text);font-size:11px;font-weight:600}.um-row.is-pending{background:#ff95000b}.um-status.is-pending{color:var(--warning-text)}.um-status.is-pending:before{background:var(--warning);box-shadow:0 0 0 3px #ff950029}.um-approve{padding:5px 12px;border:none;border-radius:999px;background:var(--success-light);color:#1f9d4d;font-size:13px;font-weight:600}.um-approve:hover{background:#34c7593d;color:#1f9d4d}.um-chip-pending .um-chip-count{color:var(--warning-text)}.um-chip-pending.is-zero,.um-chip-pending.is-zero .um-chip-count{color:var(--text-tertiary)}.um-chip-pending.is-active{color:var(--warning-text);background:var(--warning-light);box-shadow:inset 0 0 0 1px #ff950059}.um-chip-pending.is-active .um-chip-count{color:var(--warning-text)}.um-filters-sep{flex:0 0 auto;width:1px;height:16px;margin:0 6px;background:var(--border)}@media (max-width: 720px){.um-filters-sep{display:none}}.um-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.um-optional{margin-left:5px;font-size:11px;font-weight:400;color:var(--text-tertiary)}.profile-btn{padding:3px 9px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-muted);font-size:12px;line-height:1.5}.profile-btn:hover{background:#3c3c4314;border-color:var(--border);color:var(--text)}@media (max-width: 640px){.um-form-row{grid-template-columns:1fr}.um-contact{max-width:46vw}.um-toggle{padding:5px 6px;font-size:12.5px}}.um-col-status{grid-area:status}.um-col-last{grid-area:last}.um-col-joined{grid-area:joined}.um-status{display:inline-flex;align-items:center;justify-self:center;gap:6px;font-size:12.5px;font-weight:500;color:var(--text-muted);white-space:nowrap}.um-status:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px #34c75924}.um-status.is-off{color:var(--text-tertiary)}.um-status.is-off:before{background:var(--text-tertiary);box-shadow:0 0 0 3px #3c3c431a}.um-time{justify-self:center;text-align:center;font-size:12.5px;color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.um-time.is-empty{color:var(--text-tertiary)}.um-narrow-only{display:none}@media (max-width: 1180px){.um-list{--um-cols: 38px minmax(150px, 200px) minmax(0, 1fr) 150px 190px minmax(0, 1fr) 186px}.um-list-head{grid-template-areas:"user user . status last . actions"}.um-row{grid-template-areas:"avatar id . status last . actions"}.um-col-joined{display:none}}@media (max-width: 960px){.um-list{--um-cols: 38px minmax(140px, 200px) minmax(0, 1fr) 130px minmax(0, 1fr) 186px}.um-list-head{grid-template-areas:"user user . status . actions"}.um-row{grid-template-areas:"avatar id . status . actions"}.um-col-last{display:none}}@media (max-width: 720px){.um-list-head{display:none}.um-list{--um-cols: 38px minmax(0, 1fr)}.um-row{grid-template-areas:"avatar id" "actions actions";row-gap:8px}.um-col-status{display:none}.um-actions{gap:2px;justify-self:end}.um-narrow-only{display:inline-block}}@media (max-width: 1120px) and (min-width: 769px){.app-header{flex-wrap:wrap;gap:8px 12px;padding:12px 18px}.app-tabs{flex-shrink:0;margin-left:0;max-width:100%;overflow-x:auto}.role-switch{margin-left:auto}.tab-btn{white-space:nowrap}}
