:root{--glass-bg: rgba(0, 0, 0, .25);--glass-filter: blur(12px);--glass-border: rgba(255, 255, 255, .15);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .3);--card-radius: 16px;--text-primary: #ffffff;--accent-color: #0A84FF;--success-color: #30D158;--error-color: #FF453A;--font-stack: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif}*{margin:0;padding:0;box-sizing:border-box;font-family:var(--font-stack);-webkit-font-smoothing:antialiased}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;height:100%;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{display:none}*,*:before,*:after{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{display:none}body{min-height:100vh;display:flex;flex-direction:column;align-items:center;color:var(--text-primary);overflow-x:hidden;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;background-color:#222;background-repeat:no-repeat;background-position:center center;background-attachment:fixed;background-size:cover;box-shadow:inset 0 0 0 2000px #00000026;transition:background-image .5s ease}body::-webkit-scrollbar{display:none}#root{display:flex;flex-direction:column;align-items:center;min-height:100vh;width:100%}@keyframes shake{0%{transform:rotate(0)}25%{transform:rotate(1deg)}75%{transform:rotate(-1deg)}to{transform:rotate(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes cardEntrance{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes cardReveal{0%{opacity:0;transform:translateY(22px) scale(.9);filter:blur(6px)}60%{opacity:1;filter:blur(0)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes slideUpNoFade{0%{transform:translateY(30px)}to{transform:translateY(0)}}@keyframes slideDownNoFade{0%{transform:translateY(-30px)}to{transform:translateY(0)}}@keyframes menuPop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.glass-bg{background:var(--glass-bg);backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter);border:1px solid var(--glass-border)}:root{--sidebar-width: 200px;--sidebar-collapsed-width: 76px}.settings-container{display:flex;width:100%;height:100%;background:transparent;border:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;overflow:hidden;position:relative;z-index:1}.sidebar{width:var(--sidebar-width);background:#ffffff0a;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-right:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;flex-shrink:0;transition:width .3s cubic-bezier(.34,1.56,.64,1);z-index:10;overflow-y:auto;overflow-x:hidden;-ms-overflow-style:none;scrollbar-width:none}.sidebar::-webkit-scrollbar{display:none}.sidebar-header{height:70px;padding:0 20px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.05);white-space:nowrap;transition:padding .3s}.sidebar-logo{display:flex;align-items:center;gap:10px;overflow:hidden;transition:width .3s,opacity .3s;width:120px}.sidebar-logo img{width:28px;height:28px;border-radius:6px;flex-shrink:0}.logo-text{font-size:1.1rem;font-weight:700;color:#fff}.collapse-btn{background:transparent;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;transition:.2s;flex-shrink:0}.collapse-btn:hover{background:#ffffff1a}.user-profile-section{margin:10px 15px 5px;padding:0 12px;background:transparent;border:none;display:flex;align-items:center;gap:12px;transition:all .3s;position:relative;height:48px}.user-profile-section:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent;transition:background .2s}.user-profile-section.active{background:#0a84ff26;border-radius:0;margin:10px 0;padding-left:27px}.user-profile-section.active:before{background:var(--accent-color)}.user-profile-section:hover{background:#ffffff0d;border-radius:12px}.user-profile-section.active:hover{background:#0a84ff26;border-radius:0}.profile-avatar{width:36px;height:36px;border-radius:50%;background:var(--accent-color);display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:16px;flex-shrink:0}.profile-info{display:flex;flex-direction:column;gap:4px;overflow:hidden;transition:opacity .3s}.profile-name{font-size:14px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-role{font-size:10px;padding:2px 6px;border-radius:4px;display:inline-block;width:fit-content;font-weight:700}.profile-role.admin{background:#0a84ff33;color:#0a84ff;border:1px solid rgba(10,132,255,.4)}.profile-role.guest{background:#ffffff1a;color:#ccc;border:1px solid rgba(255,255,255,.2)}.sidebar-menu{display:flex;flex-direction:column;padding:10px 0;flex:1}.bottom-menu{flex:none;padding-top:0}.menu-item{height:48px;display:flex;align-items:center;gap:12px;padding:0 20px;color:#ccc;cursor:pointer;transition:background .2s,border .2s;position:relative;border-left:3px solid transparent;width:var(--sidebar-width);overflow:hidden;white-space:nowrap}.menu-item svg{flex-shrink:0;width:18px;height:18px;transition:transform .2s}.menu-item:hover{background:#ffffff0d;color:#fff}.menu-item:hover svg{transform:scale(1.1)}.menu-item.active{background:#0a84ff26;border-left-color:var(--accent-color);color:#fff;font-weight:700}.menu-text{transition:opacity .2s;font-size:13.5px}.tooltip{position:absolute;left:100%;top:50%;transform:translateY(-50%) scale(.8);background:#14141e99;backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter);padding:6px 12px;border-radius:6px;font-size:12px;color:#fff;pointer-events:none;opacity:0;transition:all .2s;white-space:nowrap;z-index:1000;border:1px solid rgba(255,255,255,.1);box-shadow:0 5px 15px #0000004d;margin-left:10px}.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar.collapsed .sidebar-header{padding:0;justify-content:center}.sidebar.collapsed .sidebar-logo{width:0;opacity:0;margin:0}.sidebar.collapsed .menu-item{width:var(--sidebar-collapsed-width);padding:0;justify-content:center}.sidebar.collapsed .menu-item svg{margin-left:-3px}.sidebar.collapsed .menu-text{display:none}.sidebar.collapsed .menu-item:hover .tooltip{opacity:1;transform:translateY(-50%) scale(1)}.sidebar.collapsed .user-profile-section{padding:10px 0;justify-content:center;margin:10px 5px 15px;border-color:transparent;background:transparent}.sidebar.collapsed .profile-info{display:none;opacity:0}.content-area{flex:1;padding:30px 40px;overflow-y:auto;position:relative;min-width:0;z-index:1}.tab-pane{display:none;animation:cardEntrance .4s cubic-bezier(.34,1.56,.64,1)}.tab-pane.active{display:block}.tab-title{font-size:1.5rem;font-weight:700;margin-bottom:25px;padding-bottom:15px;border-bottom:1px solid rgba(255,255,255,.1)}.settings-section{background:#ffffff08;border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:20px 22px;margin-bottom:18px}.settings-section:last-child{margin-bottom:0}.settings-section-header{display:flex;align-items:center;gap:12px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.06)}.settings-section-icon{width:34px;height:34px;border-radius:10px;background:#0a84ff24;color:var(--accent-color);display:flex;align-items:center;justify-content:center;flex-shrink:0}.settings-section-title{font-size:14.5px;font-weight:600;color:#fff;margin:0;letter-spacing:.01em}.settings-section-desc{font-size:12px;color:#ffffff73;margin-top:2px;font-weight:400}.settings-section-danger{background:#ff453a0d;border-color:#ff453a38}.settings-section-danger .settings-section-header{border-bottom-color:#ff453a26}.settings-section-icon-danger{background:#ff453a24;color:var(--error-color)}.settings-action-row{display:flex;gap:10px;flex-wrap:wrap}.field-label{display:flex;align-items:center;gap:6px;font-size:12.5px;color:#ffffff9e;margin-bottom:7px;font-weight:500;letter-spacing:.02em}.field-label .req{color:var(--error-color);font-weight:700}.field-label .opt{font-size:10.5px;color:#ffffff59;background:#ffffff0f;padding:1px 6px;border-radius:4px;font-weight:600;letter-spacing:.04em}.field-hint{color:#fff6;font-size:11.5px;margin-top:6px;line-height:1.5}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;background:#0000002e;border:1px solid rgba(255,255,255,.08);border-radius:12px;transition:border-color .2s,background .2s}.toggle-row:hover{border-color:#ffffff24;background:#0000003d}.toggle-row-text{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.toggle-row-title{font-size:13.5px;color:#fff;font-weight:500}.toggle-row-desc{font-size:11.5px;color:#ffffff6b;line-height:1.4}.toggle{position:relative;width:44px;height:26px;border-radius:14px;background:#ffffff1f;border:none;cursor:pointer;flex-shrink:0;transition:background .25s;padding:0}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0000004d;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.toggle.active{background:var(--accent-color)}.toggle.active:after{transform:translate(18px)}.toggle:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.slider-row{display:flex;align-items:center;gap:12px;width:100%}.slider-row .slider{flex:1}.slider-row .slider-value-box{display:flex;align-items:center;gap:4px;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:4px 8px;flex-shrink:0}.slider-row .slider-value-input{width:44px;border:none;background:transparent;color:#fff;font-size:13px;font-weight:600;text-align:center;outline:none;padding:4px 0;-moz-appearance:textfield}.slider-row .slider-value-input::-webkit-outer-spin-button,.slider-row .slider-value-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.slider-row .slider-unit{color:#fff6;font-size:12px;font-weight:500;padding-right:2px}.settings-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px;padding:14px 18px;background:#ffffff08;border:1px solid rgba(255,255,255,.07);border-radius:14px}.settings-toolbar-hint{display:inline-flex;align-items:center;gap:5px;color:#ffffff6b;font-size:11.5px;margin-left:auto;padding:5px 10px;background:transparent;border-radius:8px;font-weight:500}.settings-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:10px;border:1px solid transparent;font-weight:600;font-size:12.5px;cursor:pointer;transition:all .2s;white-space:nowrap}.settings-btn-primary{background:#0a84ff1f;color:var(--accent-color);border-color:#0a84ff40}.settings-btn-primary:hover{background:var(--accent-color);color:#fff;border-color:var(--accent-color);transform:translateY(-1px);box-shadow:0 6px 16px #0a84ff4d}.settings-btn-primary:active{transform:scale(.97)}.settings-btn-secondary{background:#ffffff0f;color:#ffffffd9;border:1px solid rgba(255,255,255,.1)}.settings-btn-secondary:hover{background:#ffffff1f;color:#fff;border-color:#fff3;transform:translateY(-1px)}.settings-btn-secondary:active{transform:scale(.97)}.settings-btn-danger{background:#ff453a1a;color:var(--error-color);border:1px solid rgba(255,69,58,.22)}.settings-btn-danger:hover{background:var(--error-color);color:#fff;border-color:var(--error-color);transform:translateY(-1px)}.settings-btn-danger:active{transform:scale(.97)}.settings-empty{text-align:center;padding:40px 20px;color:#ffffff59;font-size:13px}.settings-empty svg{display:block;margin:0 auto 12px;opacity:.4}.avatar-upload{position:relative;width:56px;height:56px;border-radius:14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer;flex-shrink:0;color:#fff6;transition:border-color .2s,transform .2s,box-shadow .2s}.avatar-upload:hover{border-color:var(--accent-color);transform:translateY(-1px);box-shadow:0 6px 18px #0a84ff40}.avatar-upload img{width:100%;height:100%;object-fit:cover}.avatar-upload-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0a84ffc7;color:#fff;opacity:0;transition:opacity .2s}.avatar-upload:hover .avatar-upload-overlay{opacity:1}.form-group{margin-bottom:18px;max-width:100%}.form-group label{display:block;font-size:13px;color:#ddd;margin-bottom:8px;font-weight:500}.settings-form{max-width:100%}.input-field{width:100%;background:var(--glass-bg);border:1px solid rgba(255,255,255,.15);padding:12px 14px;border-radius:10px;color:#fff;outline:none;font-size:13.5px;transition:.3s}.input-field:focus{border-color:var(--accent-color);background:#00000080;box-shadow:0 0 0 2px #0a84ff4d}.slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;background:#ffffff26;border-radius:3px;outline:none;cursor:pointer}.slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;background:var(--accent-color);border-radius:50%;cursor:pointer;box-shadow:0 2px 8px #0a84ff66;transition:transform .2s,box-shadow .2s}.slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 3px 12px #0a84ff99}.slider::-moz-range-thumb{width:18px;height:18px;background:var(--accent-color);border-radius:50%;cursor:pointer;border:none;box-shadow:0 2px 8px #0a84ff66}select.input-field{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="white"><path d="M2 4l4 4 4-4z"/></svg>');background-repeat:no-repeat;background-position:right 15px center;cursor:pointer}select.input-field option{background:#333;color:#fff}.btn-group{display:flex;gap:12px;margin-top:25px;max-width:100%}.btn{padding:12px 20px;border-radius:10px;border:none;font-weight:600;cursor:pointer;font-size:13px;transition:.2s;flex:1;display:flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:var(--accent-color);color:#fff;box-shadow:0 5px 15px #0a84ff4d}.btn-primary:hover{background:#0070e0;transform:translateY(-2px);box-shadow:0 8px 20px #0a84ff66}.btn-primary:active{transform:scale(.96)}.btn-danger{background:var(--error-color);color:#fff;box-shadow:0 5px 15px #ff453a4d}.btn-danger:hover{background:#ff3b30;transform:translateY(-2px);box-shadow:0 8px 20px #ff453a66}.btn-danger:active{transform:scale(.96)}.btn-secondary{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.1)}.btn-secondary:hover{background:#fff3;transform:translateY(-2px)}.btn-secondary:active{transform:scale(.96)}.user-table{width:100%;border-collapse:separate;border-spacing:0;margin-top:6px;font-size:13px;background:#ffffff08;border:1px solid rgba(255,255,255,.07);border-radius:14px;overflow:hidden}.user-table th{padding:13px 16px;text-align:left;color:#ffffff80;font-weight:600;font-size:11.5px;letter-spacing:.03em;text-transform:uppercase;background:#0003;border-bottom:1px solid rgba(255,255,255,.07)}.user-table td{padding:14px 16px;text-align:left;border-bottom:1px solid rgba(255,255,255,.05);vertical-align:middle}.user-table tbody tr:last-child td{border-bottom:none}.user-table tbody tr{transition:background .15s}.user-table tbody tr:hover{background:#ffffff08}.role-select{background:#0000004d;color:#fff;border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:7px 12px;outline:none;font-size:12px;cursor:pointer;transition:border-color .2s,background .2s}.role-select:hover{border-color:#ffffff4d}.role-select:focus{border-color:var(--accent-color);background:#00000073}.action-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.1);color:#ffffffe6;padding:7px 12px;border-radius:9px;cursor:pointer;transition:all .2s;font-size:12px;margin-right:6px;font-weight:500;display:inline-flex;align-items:center}.action-btn:last-child{margin-right:0}.action-btn:hover{background:var(--accent-color);border-color:var(--accent-color);transform:translateY(-1px)}.action-btn:active{transform:scale(.96)}.action-btn.action-save{background:#ffffff1a}.action-btn.action-edit{background:#0a84ff2e;color:var(--accent-color);border-color:#0a84ff40}.action-btn.action-edit:hover{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.action-btn.action-delete{background:#ff453a24;color:var(--error-color);border-color:#ff453a40}.action-btn.action-delete:hover{background:var(--error-color);color:#fff;border-color:var(--error-color)}.role-badge{font-size:10px;padding:1px 6px;border-radius:4px;margin-left:6px;font-weight:600;letter-spacing:.02em;vertical-align:1px}.role-badge-guest{color:#ffffff80;border:1px solid rgba(255,255,255,.2)}.role-badge-primary{color:gold;border:1px solid rgba(255,215,0,.5);background:#ffd70014}.role-tag{display:inline-block;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:6px;letter-spacing:.01em}.role-tag-muted{color:#ffffff8c;background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}.role-tag-primary{color:gold;background:#ffd70014;border:1px solid rgba(255,215,0,.35)}.role-tag-locked{color:#ffffff4d;font-size:14px;font-weight:400}.cat-list{display:flex;flex-direction:column;gap:6px}.cat-row{display:flex;align-items:center;gap:14px;padding:12px 16px;background:#ffffff06;border:1px solid rgba(255,255,255,.06);border-radius:12px;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s;-webkit-user-select:none;user-select:none}.cat-row:hover{background:#ffffff0d;border-color:#ffffff1f}.cat-row.dragging{opacity:.4;transform:scale(.98)}.cat-row.drag-over{border-color:var(--accent-color);background:#0a84ff14;box-shadow:inset 3px 0 0 var(--accent-color)}.cat-row-handle{color:#ffffff38;cursor:grab;flex-shrink:0;transition:color .2s;display:flex;align-items:center}.cat-row:hover .cat-row-handle{color:#ffffff73}.cat-row-handle:active{cursor:grabbing}.cat-row-index{font-size:11px;font-weight:600;color:#ffffff52;font-variant-numeric:tabular-nums;letter-spacing:.04em;min-width:22px;text-align:center;flex-shrink:0}.cat-row-icon{width:34px;height:34px;border-radius:9px;background:#0a84ff1a;border:1px solid rgba(10,132,255,.16);color:var(--accent-color);display:flex;align-items:center;justify-content:center;flex-shrink:0}.cat-row-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.cat-row-name{font-size:13.5px;font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-row-count{font-size:11px;color:#ffffff61;font-weight:500}.cat-row-actions{display:flex;align-items:center;gap:4px;flex-shrink:0;opacity:.4;transition:opacity .2s}.cat-row:hover .cat-row-actions{opacity:1}.cat-action{width:28px;height:28px;border:1px solid transparent;border-radius:8px;background:transparent;color:#ffffff8c;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .18s}.cat-action:hover{background:#ffffff14;color:#fff}.cat-action:active{transform:scale(.9)}.cat-action:disabled{opacity:.25;cursor:not-allowed}.cat-action:disabled:hover{background:transparent;color:#ffffff8c}.cat-action-move:hover{background:#0a84ff26;color:var(--accent-color)}.cat-action-edit:hover{background:#30d15826;color:var(--success-color)}.cat-action-delete:hover{background:#ff453a26;color:var(--error-color)}.cat-action-divider{width:1px;height:18px;background:#ffffff1a;margin:0 3px}.cat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.cat-empty-icon{width:64px;height:64px;border-radius:18px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:#ffffff4d;margin-bottom:16px}.cat-empty-title{font-size:14px;font-weight:600;color:#ffffffb3;margin-bottom:4px}.cat-empty-desc{font-size:12px;color:#fff6}.eng-row-icon{width:34px;height:34px;border-radius:9px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.eng-row-icon img{width:20px;height:20px;border-radius:4px;object-fit:cover}.eng-row-title{display:flex;align-items:center;gap:8px}.eng-default-tag{font-size:10px;font-weight:700;padding:2px 7px;border-radius:5px;background:#30d15824;color:var(--success-color);border:1px solid rgba(48,209,88,.3);letter-spacing:.04em}.eng-row-url{font-size:11px;color:#ffffff5c;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.cat-action-default:hover{background:#30d15826;color:var(--success-color)}.backup-card{background:#ffffff06;border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:18px 20px;margin-bottom:14px}.backup-card:last-child{margin-bottom:0}.backup-card-danger{background:#ff453a08;border-color:#ff453a2e}.backup-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.backup-hint{display:flex;align-items:center;gap:6px;font-size:11.5px;color:#fff6;line-height:1.5;margin:0}.backup-reset-btn{width:100%;justify-content:center;margin-top:4px}.uni-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#0000002e;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:2000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.uni-modal.active{opacity:1;visibility:visible}.uni-modal-container{background:#14161c8c;backdrop-filter:blur(28px) saturate(140%);-webkit-backdrop-filter:blur(28px) saturate(140%);max-width:90vw;border-radius:20px;border:1px solid rgba(255,255,255,.14);box-shadow:0 30px 80px #00000080,0 0 0 1px #ffffff0f inset;transform:scale(.94) translateY(16px);opacity:0;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .3s ease;overflow:hidden}.uni-modal.active .uni-modal-container{transform:scale(1) translateY(0);opacity:1}.uni-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px 10px;border-bottom:none;background:transparent}.uni-modal-title{font-size:16px;font-weight:600;color:#fff;display:flex;align-items:center;gap:10px;margin:0}.uni-modal-title svg{color:var(--accent-color)}.uni-modal-close{width:38px;height:38px;border:none;background:#ffffff1a;border-radius:10px;color:#ffffffb3;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s,transform .2s}.uni-modal-close:hover{background:#ffffff2e;color:#fff;transform:rotate(90deg)}.uni-modal-close:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}.uni-modal-body{padding:24px}.uni-modal-body .form-group{margin-bottom:20px}.uni-modal-body .form-group:last-child{margin-bottom:0}.uni-modal-body label{display:block;font-size:13px;color:#ddd;margin-bottom:8px;font-weight:500}.uni-modal-body .input-field{width:100%;background:#00000040;border:1px solid rgba(255,255,255,.15);padding:12px 14px;border-radius:12px;color:#fff;outline:none;font-size:14px;transition:.3s}.uni-modal-body .input-field:focus{border-color:var(--accent-color);background:#0006;box-shadow:0 0 0 3px #0a84ff40}.uni-modal-body select.input-field{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="white"><path d="M2 4l4 4 4-4z"/></svg>');background-repeat:no-repeat;background-position:right 15px center;cursor:pointer}.uni-modal-body select.input-field option{background:#333;color:#fff}.uni-modal-footer{display:flex;gap:12px;padding:14px 24px 18px;border-top:none;background:transparent}.uni-modal-footer .btn{flex:1;padding:12px 20px;border-radius:12px;border:none;font-weight:600;cursor:pointer;font-size:13px;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.uni-modal-footer .btn-primary{background:var(--accent-color);color:#fff;box-shadow:0 5px 15px #0a84ff4d}.uni-modal-footer .btn-primary:hover{background:#0070e0;transform:translateY(-2px);box-shadow:0 8px 20px #0a84ff66}.uni-modal-footer .btn-primary:active{transform:scale(.96)}.uni-modal-footer .btn-secondary{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.15)}.uni-modal-footer .btn-secondary:hover{background:#fff3;transform:translateY(-2px)}.uni-modal-footer .btn-secondary:active{transform:scale(.96)}.uni-modal-footer .btn-danger{background:var(--error-color);color:#fff;box-shadow:0 5px 15px #ff453a4d}.uni-modal-footer .btn-danger:hover{background:#ff3b30;transform:translateY(-2px);box-shadow:0 8px 20px #ff453a66}.uni-modal-footer .btn-danger:active{transform:scale(.96)}.mini-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:currentColor;border-radius:50%;display:inline-block;animation:miniSpin .7s linear infinite}@keyframes miniSpin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.mini-spinner{animation:none}}.perm-list{max-height:240px;overflow-y:auto;background:#00000038;border-radius:12px;padding:6px;margin-bottom:20px;border:1px solid rgba(255,255,255,.07);display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:2px}.perm-item{display:flex;align-items:center;padding:9px 10px;font-size:12.5px;cursor:pointer;color:#ffffffbf;transition:color .2s,background .2s;border-radius:8px;gap:8px;font-weight:500}.perm-item:last-child{border-bottom:none}.perm-item:hover{color:#fff;background:#ffffff0d}.perm-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-color);cursor:pointer;flex-shrink:0}@media (max-width: 768px){:root{--card-radius: 12px}.settings-container{flex-direction:column}.sidebar{width:100%!important;height:auto;min-height:60px;flex-direction:row;align-items:center;order:2;border-right:none;border-top:1px solid rgba(255,255,255,.08);background:#ffffff0a;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding-bottom:max(10px,env(safe-area-inset-bottom))}.sidebar-header{display:none}.user-profile-section{display:flex!important;order:-1;position:static;margin:0;padding:10px 0;background:transparent;border:none;width:auto;flex:1;justify-content:center;flex-direction:column;gap:4px;border-top:3px solid transparent;height:100%}.user-profile-section.active{border-top-color:var(--accent-color);background:#ffffff0d;border-radius:0;margin:0;padding:10px 0}.user-profile-section.active:before{display:none}.user-profile-section .profile-info{display:block!important;opacity:1!important;width:100%;text-align:center;overflow:hidden}.user-profile-section .profile-name{font-size:10px;font-weight:400;display:block!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#ccc;max-width:90%;margin:2px auto 0;opacity:1!important;visibility:visible!important;line-height:1.2}.user-profile-section .profile-role{display:none}.user-profile-section .profile-avatar{width:24px;height:24px;font-size:12px;box-shadow:none;margin:0 auto}.sidebar-menu,.bottom-menu{display:contents}.menu-item{flex:1;min-width:0;height:100%;flex-direction:column;justify-content:center;gap:4px;padding:10px 0;border-left:none!important;border-top:3px solid transparent}.menu-item.active{border-top-color:var(--accent-color);border-left:none;background:#ffffff0d}.menu-item svg{width:16px;height:16px}.sidebar.collapsed .menu-text,.menu-text{display:block!important;opacity:1!important;font-size:10px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90%;text-align:center}.tooltip{display:none!important}.content-area{order:1;flex:1;padding:25px 20px;height:auto}.tab-title{font-size:1.3rem;margin-bottom:20px;padding-bottom:15px}.user-table{display:block;overflow-x:auto;white-space:nowrap}.btn-group{flex-direction:column}.category-grid{grid-template-columns:1fr;gap:10px}.category-card{padding:12px}.category-icon{width:40px;height:40px}.category-name{font-size:14px}.category-btn{width:32px;height:32px}}.login-page{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;display:flex;align-items:center;justify-content:center;font-family:var(--font-stack)}.login-bg-layer{position:absolute;top:-20px;right:-20px;bottom:-20px;left:-20px;background-position:center;background-size:cover;background-repeat:no-repeat;z-index:-3;animation:loginBgDrift 24s ease-in-out infinite alternate;will-change:transform}@keyframes loginBgDrift{0%{transform:scale(1.05) translate(0)}to{transform:scale(1.12) translate(-12px,-8px)}}.login-bg-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;background:radial-gradient(ellipse at 30% 20%,rgba(10,132,255,.08),transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(120,80,255,.06),transparent 50%),#00000061}.login-bg-grain{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;opacity:.035;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.login-bg-glow{position:absolute;border-radius:50%;filter:blur(80px);z-index:-2;pointer-events:none;opacity:.5}.login-bg-glow-a{width:380px;height:380px;background:#0a84ff47;top:-80px;left:-60px;animation:loginGlowA 16s ease-in-out infinite alternate}.login-bg-glow-b{width:320px;height:320px;background:#7850ff38;bottom:-60px;right:-40px;animation:loginGlowB 19s ease-in-out infinite alternate}@keyframes loginGlowA{0%{transform:translate(0) scale(1)}to{transform:translate(60px,80px) scale(1.15)}}@keyframes loginGlowB{0%{transform:translate(0) scale(1)}to{transform:translate(-50px,-70px) scale(1.1)}}.login-loading{display:flex;flex-direction:column;align-items:center;gap:16px;color:#fff;animation:loginFadeIn .5s ease-out}.login-loading-spinner{width:32px;height:32px;border:2.5px solid rgba(255,255,255,.2);border-top-color:var(--accent-color);border-radius:50%;animation:miniSpin .7s linear infinite}.login-loading-text{font-size:13px;color:#fff9;letter-spacing:.04em}.login-stage{position:relative;z-index:1;width:100%;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{position:relative;width:100%;max-width:400px;padding:40px 38px 34px;background:#14161c4d;backdrop-filter:blur(8px) saturate(140%);-webkit-backdrop-filter:blur(8px) saturate(140%);border:1px solid rgba(255,255,255,.16);border-radius:22px;box-shadow:0 30px 80px #0006,inset 0 1px #ffffff1c;overflow:hidden;animation:loginCardReveal .9s cubic-bezier(.16,1,.3,1) both}.login-card.is-setup{max-width:420px}@keyframes loginCardReveal{0%{opacity:0;transform:translateY(28px) scale(.94);filter:blur(8px)}60%{opacity:1;filter:blur(0)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.login-card-sheen{position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:loginSheen 3.2s ease-in-out .6s infinite}@keyframes loginSheen{0%,to{opacity:.3;transform:scaleX(.6)}50%{opacity:1;transform:scaleX(1)}}.login-card.shake-on-error{animation:loginShake .4s cubic-bezier(.36,.07,.19,.97)}@keyframes loginShake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(4px)}30%,50%,70%{transform:translate(-7px)}40%,60%{transform:translate(7px)}}.login-brand{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:22px;animation:loginFadeUp .6s ease-out .1s both}.login-logo-wrap{position:relative;width:76px;height:76px;display:flex;align-items:center;justify-content:center}.login-logo-wrap:before{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border-radius:50%;background:radial-gradient(circle,rgba(10,132,255,.35) 0%,rgba(10,132,255,.08) 50%,transparent 75%);filter:blur(6px);z-index:0;animation:loginLogoGlow 3s ease-in-out infinite}@keyframes loginLogoGlow{0%,to{opacity:.55;transform:scale(1)}50%{opacity:.9;transform:scale(1.08)}}.login-logo{width:62px;height:62px;border-radius:15px;position:relative;z-index:2;box-shadow:0 6px 20px #00000059,0 0 0 1px #ffffff14,inset 0 1px #ffffff26;object-fit:cover;-webkit-mask-image:radial-gradient(circle,#000 92%,transparent 100%);mask-image:radial-gradient(circle,#000 92%,transparent 100%)}.login-logo-ring{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:19px;border:1.5px solid rgba(10,132,255,.4);z-index:1;animation:loginLogoRing 2.4s ease-in-out infinite}@keyframes loginLogoRing{0%,to{transform:scale(1);opacity:.4;border-color:#0a84ff66}50%{transform:scale(1.08);opacity:.8;border-color:#0a84ffb3}}.login-welcome-badge{font-size:10.5px;font-weight:600;letter-spacing:.12em;color:var(--accent-color);background:#0a84ff1f;border:1px solid rgba(10,132,255,.3);padding:3px 10px;border-radius:20px;text-transform:uppercase}.login-title-block{text-align:center;margin-bottom:26px;animation:loginFadeUp .6s ease-out .16s both}.login-title{font-size:1.6rem;font-weight:700;color:#fff;letter-spacing:.01em;position:relative;display:inline-block}.login-title:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:32px;height:2px;background:linear-gradient(90deg,transparent,var(--accent-color),transparent);border-radius:1px;animation:loginTitleUnderline .8s ease-out .5s both}@keyframes loginTitleUnderline{0%{width:0;opacity:0}to{width:32px;opacity:1}}.login-subtitle{margin-top:14px;font-size:12.5px;color:#ffffff80;letter-spacing:.02em}.login-form{width:100%}.login-field{position:relative;margin-bottom:22px;animation:loginFadeUp .5s ease-out both}@keyframes loginFadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.login-field input{width:100%;padding:11px 0 9px;background:transparent;border:none;border-bottom:1.5px solid rgba(255,255,255,.16);color:#fff;font-size:14.5px;font-family:var(--font-stack);caret-color:var(--accent-color);transition:border-color .25s}.login-field:has(.login-eye-btn) input{padding-right:30px}.login-field input:focus{outline:none;border-bottom-color:transparent}.login-field input::placeholder{color:transparent}.login-field label{position:absolute;top:50%;left:0;transform:translateY(-50%);font-size:13.5px;color:#ffffff73;pointer-events:none;transition:all .25s cubic-bezier(.4,0,.2,1);transform-origin:left center}.login-field input:focus+label,.login-field input:not(:placeholder-shown)+label{top:-2px;transform:translateY(0) scale(.85);color:var(--accent-color);font-weight:500;letter-spacing:.02em}.login-field-bar{position:absolute;bottom:0;left:0;width:100%;height:1.5px;background:var(--accent-color);transform:scaleX(0);transform-origin:left center;transition:transform .3s cubic-bezier(.4,0,.2,1);border-radius:1px}.login-field input:focus~.login-field-bar{transform:scaleX(1)}.login-eye-btn{position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:3;background:transparent;border:none;color:#fff6;cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;transition:color .2s}.login-eye-btn:hover{color:#fffc}.login-options{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;animation:loginFadeUp .5s ease-out both}.login-remember{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.login-remember input[type=checkbox]{position:absolute;opacity:0;pointer-events:none}.login-checkmark{width:17px;height:17px;border:1.5px solid rgba(255,255,255,.25);border-radius:5px;transition:all .2s;background:transparent;position:relative;flex-shrink:0}.login-remember:hover .login-checkmark{border-color:#ffffff80}.login-remember input:checked+.login-checkmark{background:var(--accent-color);border-color:var(--accent-color)}.login-remember input:checked+.login-checkmark:after{content:"";position:absolute;top:2px;left:5px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);animation:loginCheckPop .2s ease-out}@keyframes loginCheckPop{0%{transform:rotate(45deg) scale(0)}to{transform:rotate(45deg) scale(1)}}.login-remember-text{font-size:13px;color:#fff9;transition:color .2s}.login-remember:hover .login-remember-text{color:#ffffffd9}.login-submit{width:100%;padding:13px 20px;background:var(--accent-color);color:#fff;border:none;border-radius:12px;font-size:14.5px;font-weight:600;letter-spacing:.02em;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s;box-shadow:0 8px 24px #0a84ff59;animation:loginFadeUp .5s ease-out both}.login-submit:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.login-submit:hover{transform:translateY(-2px);box-shadow:0 12px 32px #0a84ff73}.login-submit:hover:before{left:100%}.login-submit:active{transform:scale(.97)}.login-submit:disabled{opacity:.7;cursor:not-allowed;transform:none;box-shadow:0 4px 12px #0a84ff40}.login-submit:disabled:before{display:none}.login-submit-arrow{font-size:16px;transition:transform .2s}.login-submit:hover .login-submit-arrow{transform:translate(4px)}.login-submit-spinner{width:15px;height:15px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:miniSpin .7s linear infinite}@keyframes loginFadeIn{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.login-bg-layer,.login-bg-glow,.login-card-sheen,.login-logo-ring,.login-card,.login-brand,.login-title-block,.login-field,.login-options,.login-submit{animation:none!important}}@media (max-width: 480px){.login-card{padding:32px 24px 26px;border-radius:18px}.login-title{font-size:1.4rem}.login-field input{font-size:14px}.login-stage{padding:16px}}
