.language-switcher-top{position:absolute;right:20px;top:20px;z-index:100}.auth-container{align-items:center;background:var(--color-gradient);display:flex;justify-content:center;min-height:100vh;padding:20px;position:relative}.auth-card{border:1px solid var(--border-color);border-radius:0;box-shadow:var(--shadow-card);max-width:400px;padding:40px}.auth-card h1{color:var(--text-primary);font-size:28px;margin-bottom:24px;text-align:center}.error-message{background-color:var(--error-bg);border-left:4px solid var(--error-border);color:var(--error-text)}.error-message,.success-message{border-radius:6px;font-size:14px;margin-bottom:20px;padding:12px 16px}.success-message{background-color:var(--success-bg);border-left:4px solid var(--success-border);color:var(--success-text)}.field-error{color:var(--error-text);display:block;font-size:12px;margin-top:4px}.auth-form{margin-bottom:24px}.form-group,.form-row{margin-bottom:16px}.form-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.form-group label{margin-bottom:6px}.form-group input,.form-group label{color:var(--text-primary);font-size:14px}.form-group input{background:var(--bg-input);border:1px solid var(--border-input);border-radius:6px;box-sizing:border-box;font-family:inherit;padding:10px 12px;transition:all .3s ease;width:100%}.form-group .form-select:focus,.form-group input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #e2cfa026;outline:none}.form-group .form-select{background:var(--bg-input);border:1px solid var(--border-input);border-radius:6px;box-sizing:border-box;color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:14px;padding:10px 12px;width:100%}.form-group input:disabled{background-color:var(--bg-disabled);color:var(--text-muted);cursor:not-allowed}.form-options{align-items:center;display:flex;font-size:14px;justify-content:space-between;margin-bottom:20px}.form-options label{align-items:center;cursor:pointer;display:flex;gap:6px}.form-options a{color:var(--color-primary);text-decoration:none}.form-options a:hover{text-decoration:underline}.btn-primary{background:#0000;border:1px solid var(--color-primary);border-radius:0;color:var(--color-primary);font-size:11px;font-weight:500;letter-spacing:.18em;padding:12px;text-transform:uppercase;transition:background .2s,color .2s}.btn-primary:hover:not(:disabled){background:var(--color-primary);color:var(--bg-page)}.btn-primary:disabled{opacity:.45}.divider{align-items:center;color:var(--text-muted);display:flex;font-size:13px;margin:24px 0}.divider:after,.divider:before{background:var(--border-color);content:"";flex:1 1;height:1px}.divider span{padding:0 12px}.sso-buttons{display:flex;gap:12px;margin-bottom:20px}.sso-button img{height:18px;width:18px}.language-switcher{display:flex;gap:8px;justify-content:center;margin-bottom:16px}.lang-button{align-items:center;background:var(--bg-surface);border:1px solid var(--border-input);border-radius:6px;color:var(--text-primary);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 12px;transition:all .3s ease}.lang-button:hover{background-color:var(--bg-surface-2);border-color:var(--color-primary);transform:translateY(-2px)}.lang-button.active{background:var(--color-gradient);border-color:var(--color-primary);color:var(--color-gradient-text)}.lang-button .flag{font-size:18px}.lang-button .code{text-transform:uppercase}.auth-link{color:var(--text-secondary);font-size:14px;margin:0;text-align:center}.auth-link a{color:var(--color-primary);font-weight:600;text-decoration:none}.auth-link a:hover{text-decoration:underline}.sso-button{align-items:center;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;display:flex;flex:1 1;font-size:13px;font-weight:600;gap:6px;justify-content:center;min-height:44px;padding:10px;transition:all .3s ease}.sso-button:hover{background:var(--bg-surface-2);border-color:var(--border-input);box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.sso-button:active{transform:translateY(0)}.sso-button:disabled{cursor:not-allowed;opacity:.6}.sso-button-google{color:#4285f4}.sso-button-google:hover{background:#f8f9fa;border-color:#4285f4}.sso-button-facebook{color:#1877f2}.sso-button-facebook:hover{background:#f0f2f5;border-color:#1877f2}.sso-button-apple{color:#000}.sso-button-apple:hover{background:#f5f5f7;border-color:#000}.sso-icon{flex-shrink:0;height:20px;width:20px}.loading-spinner{align-items:center;display:flex;justify-content:center;margin:40px 0}.spinner{animation:spin 1s linear infinite;border:4px solid var(--border-color);border-radius:50%;border-top-color:var(--color-primary);height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:768px){.auth-card{max-width:440px;padding:32px 28px}}@media (max-width:640px){.auth-container{align-items:flex-start;padding:0}.auth-card{border-radius:0 0 16px 16px;box-shadow:0 4px 24px #00000026;max-width:100%;padding:80px 20px 28px}.auth-card h1{font-size:22px;margin-bottom:20px}.language-switcher-top{right:12px;top:12px}.form-group input{font-size:16px;min-height:44px;padding:12px 14px}.form-row{gap:0;grid-template-columns:1fr}.form-options{flex-wrap:wrap;gap:8px}.btn-primary{font-size:15px;min-height:48px;padding:14px}.sso-buttons{flex-direction:column;gap:10px}.sso-button{font-size:14px;gap:10px;justify-content:center;min-height:48px}.sso-button span{display:inline}.error-message,.success-message{font-size:13px;padding:10px 14px}.auth-link{font-size:13px}}@media (max-width:380px){.auth-card{padding:72px 16px 24px}.auth-card h1{font-size:20px}.sso-buttons{gap:8px}}@media (hover:none){.btn-primary:hover:not(:disabled),.sso-button:hover{box-shadow:none;transform:none}}.pw-input-wrap input{padding-right:44px}.pw-eye{font-size:16px;padding:4px;top:50%;transform:translateY(-50%)}.remember-me{align-items:center;color:var(--text-secondary);cursor:pointer;display:flex;gap:6px;-webkit-user-select:none;user-select:none}.remember-me input[type=checkbox]{accent-color:var(--color-primary);cursor:pointer;margin:0;width:auto}.auth-subtitle{font-size:14px;margin:-8px 0 20px;text-align:center}.twofa-code-input{font-family:monospace;font-size:20px;letter-spacing:6px;text-align:center}.field-hint{color:#a0aec0;display:block;font-size:12px;margin-top:6px}.link-button{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:inherit;padding:0}.link-button:hover{text-decoration:underline}.auth-logo{margin-bottom:20px;text-align:center}.auth-logo img{height:auto;width:140px}.email-banner{align-items:center;background:#fffbeb;border:1px solid #f59e0b;border-radius:8px;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem;padding:.75rem 1.25rem}.email-banner-icon{flex-shrink:0;font-size:1.25rem}.email-banner-text{color:#92400e;flex:1 1;font-size:.9rem;font-weight:500}.email-banner-btn{var(--bg-surface)-space:nowrap;background:#f59e0b;border:none;border-radius:6px;color:var(--bg-surface);cursor:pointer;font-size:.85rem;font-weight:600;padding:.4rem .9rem;transition:background .2s}.email-banner-btn:hover:not(:disabled){background:#d97706}.email-banner-btn:disabled{cursor:not-allowed;opacity:.6}.email-banner-sent{color:#065f46;font-size:.85rem;font-weight:600}@media (max-width:640px){.email-banner{align-items:flex-start;flex-direction:column;gap:.5rem}}.theme-dark{--gold:#e2cfa0;--gold-dim:#e2cfa099;--gold-border:#e2cfa02e;--gold-hover:#e2cfa01a;--glass-bg:#0a122052;--overlay:#080e1a73;--header-bg:#0a1220c7;--header-border:#e2cfa01f;--text-main:#e2cfa0;--text-dim:#e2cfa08c;--btn-color:#e2cfa0;--btn-border:#e2cfa073;--btn-hover-bg:#e2cfa01a;--placeholder-bg:#e2cfa00f;--placeholder-hover:#e2cfa024}.theme-light{--gold:#5c3a1e;--gold-dim:#5c3a1ea6;--gold-border:#5c3a1e40;--gold-hover:#5c3a1e14;--glass-bg:#fff8ee61;--overlay:#3c19052e;--header-bg:#fff5e6d1;--header-border:#5c3a1e26;--text-main:#3a1f08;--text-dim:#3a1f0899;--btn-color:#3a1f08;--btn-border:#3a1f0866;--btn-hover-bg:#3a1f0812;--placeholder-bg:#3a1f080d;--placeholder-hover:#3a1f081f}.btn-luxury-outline,.btn-luxury-solid{background:#0000;border:1px solid var(--btn-border);border-radius:0;color:var(--btn-color);cursor:pointer;font-size:11px;font-weight:500;letter-spacing:.18em;padding:9px 22px;text-transform:uppercase;transition:background .2s,border-color .2s,color .2s;white-space:nowrap}.btn-luxury-outline:hover,.btn-luxury-solid:hover{background:var(--btn-hover-bg);border-color:var(--btn-color)}.dashboard-container{display:flex;flex-direction:column;min-height:100vh}.dashboard-header{align-items:center;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:var(--header-bg);border-bottom:1px solid var(--header-border);display:flex;justify-content:space-between;left:0;padding:18px 40px;position:fixed;right:0;top:0;z-index:100}.header-brand{color:var(--text-main);font-size:13px;font-weight:500;letter-spacing:.28em;text-transform:uppercase}.header-nav{gap:14px}.btn-theme-toggle,.header-nav{align-items:center;display:flex}.btn-theme-toggle{background:#0000;border:1px solid var(--btn-border);border-radius:0;cursor:pointer;flex-shrink:0;font-size:16px;height:37px;justify-content:center;padding:0;transition:background .2s,border-color .2s;width:37px}.btn-theme-toggle:hover{background:var(--btn-hover-bg);border-color:var(--btn-color)}.dashboard-banner-wrap{left:0;margin:0 auto;max-width:900px;padding:0 1rem;position:fixed;right:0;top:65px;z-index:90}.dashboard-hero{align-items:stretch;background-position:50%;background-size:cover;display:flex;flex:1 1;justify-content:center;min-height:100vh;position:relative}.hero-overlay{background:var(--overlay);inset:0;position:absolute}.hero-frame{align-items:stretch;box-sizing:border-box;display:flex;padding:90px 5% 5%;position:relative;width:100%;z-index:1}@keyframes tv-on{0%{filter:brightness(3);opacity:.9;transform:scaleX(.04) scaleY(.005)}18%{filter:brightness(2);opacity:1;transform:scaleX(1) scaleY(.005)}38%{filter:brightness(1.6);transform:scaleX(1) scaleY(.018)}55%{filter:brightness(1.2);transform:scaleX(1) scaleY(.55)}72%{filter:brightness(1.05);transform:scaleX(1) scaleY(.88)}85%{filter:brightness(1);transform:scaleX(1) scaleY(1.02)}93%{filter:brightness(1);transform:scaleX(1) scaleY(.985)}to{filter:brightness(1);transform:scaleX(1) scaleY(1)}}.hero-glass--animate{animation:tv-on .9s cubic-bezier(.22,.61,.36,1) both}.hero-glass{backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3);background:var(--glass-bg);border:1px solid var(--gold-border);box-shadow:0 8px 48px #00000040;color:var(--text-main);display:flex;flex-direction:column;overflow:hidden;transform-origin:center center;width:100%}.glass-greeting{border-bottom:1px solid var(--gold-border)}.greeting-text{flex:1 1;padding:44px 48px 32px}.greeting-logo-box{align-items:center;border-left:1px solid var(--gold-border);display:flex;flex-shrink:0;justify-content:center;padding:24px;width:180px}.greeting-label{color:var(--text-dim);font-size:10px;letter-spacing:.38em;margin:0;text-transform:uppercase}.greeting-name{color:var(--text-main);font-size:clamp(14px,2vw,28px);font-weight:300;letter-spacing:.22em;margin:0 0 16px}.greeting-divider{background:var(--gold-dim);height:1px;margin-bottom:12px;width:50px}.greeting-sub{color:var(--text-dim);font-size:11px;letter-spacing:.3em;margin:0;text-transform:uppercase}.glass-body{display:flex;flex:1 1;min-height:0}.glass-left{border-right:1px solid var(--gold-border);display:flex;flex:1 1;flex-direction:column;overflow:hidden;padding:28px 32px}.case-table-wrap{max-height:570px;overflow-x:auto;overflow-y:auto}.case-table{border-collapse:collapse;color:var(--text-main);font-size:11px;letter-spacing:.04em;width:100%}.case-table th{color:var(--text-dim);font-size:9px;font-weight:600;letter-spacing:.18em;padding:0 12px 10px 0;text-align:left;text-transform:uppercase;white-space:nowrap}.case-table td,.case-table th{border-bottom:1px solid var(--gold-border)}.case-table td{opacity:.88;padding:9px 12px 9px 0;vertical-align:top}.case-table tr:last-child td{border-bottom:none}.case-table tr:hover td{background:var(--placeholder-bg);opacity:1}.col-id{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;width:72px}.col-desc{line-height:1.5;max-width:280px}.col-date{white-space:nowrap;width:90px}.status-chip{border:1px solid;display:inline-block;font-size:9px;font-weight:600;letter-spacing:.1em;padding:2px 8px;text-transform:uppercase;white-space:nowrap}.status-open{border-color:#6fcf9766;color:#6fcf97}.status-closed{border-color:var(--gold-border);color:var(--text-dim)}.status-pending{border-color:#f2c94c66;color:#f2c94c}.status-waiting-for-client{border-color:#56ccf266;color:#56ccf2}.status-waiting-for-partner{border-color:#bb6bd966;color:#bb6bd9}.glass-right{display:flex;flex-direction:column;flex-shrink:0;gap:16px;padding:36px 40px;width:320px}.glass-greeting{align-items:stretch;display:flex}.glass-logo{display:block;height:auto;width:100%}.section-eyebrow{color:var(--text-dim);font-size:10px;letter-spacing:.38em;margin:0 0 8px;text-transform:uppercase}.placeholder-grid{display:flex;flex-direction:column;gap:10px}.btn-placeholder{background:var(--placeholder-bg);border:1px solid var(--gold-border);border-radius:0;color:var(--text-main);cursor:pointer;font-size:11px;font-weight:400;letter-spacing:.15em;padding:13px 20px;text-align:left;text-transform:uppercase;transition:background .2s,border-color .2s;width:100%}.btn-placeholder:hover{background:var(--placeholder-hover);border-color:var(--text-main)}@media (max-width:900px){.glass-body{flex-direction:column}.glass-left{border-bottom:1px solid var(--gold-border);border-right:none;padding:28px 32px}.glass-right{padding:28px 32px;width:auto}}@media (max-width:600px){.dashboard-header{padding:14px 20px}.header-brand{font-size:11px;letter-spacing:.2em}.header-nav{gap:8px}.btn-luxury-outline,.btn-luxury-solid{font-size:10px;padding:8px 12px}.hero-frame{padding:80px 3% 3%}.glass-greeting{padding:28px 24px 20px}.glass-left,.glass-right{padding:20px 24px}}@media (hover:none){.btn-luxury-outline:hover,.btn-luxury-solid:hover,.btn-placeholder:hover{background:#0000}}.profile-page{margin:0 auto;max-width:780px}.profile-error,.profile-loading{color:var(--text-muted);font-size:16px;padding:60px 20px;text-align:center}.profile-error{color:var(--error-border)}.profile-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.btn-back-profile{background:#0000;border:1px solid var(--color-primary);border-radius:0;color:var(--color-primary);cursor:pointer;font-size:11px;font-weight:500;letter-spacing:.15em;padding:8px 14px;text-transform:uppercase;transition:background .2s,color .2s;white-space:nowrap}.btn-back-profile:hover{background:var(--color-primary);color:var(--bg-page)}.profile-header-title{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:10px}.profile-header-title h1{color:var(--text-primary);font-size:22px;margin:0}.profile-role-badge{font-size:12px;padding:4px 12px}.own-badge,.profile-role-badge{border-radius:20px;font-weight:700}.own-badge{background:#bee3f8;color:#2b6cb0;font-size:11px;padding:3px 9px}.btn-edit-profile{background:#0000;border:1px solid var(--color-primary);border-radius:0;color:var(--color-primary);cursor:pointer;font-size:11px;font-weight:500;letter-spacing:.15em;padding:9px 18px;text-transform:uppercase;transition:background .2s,color .2s;white-space:nowrap}.btn-edit-profile:hover{background:var(--color-primary);color:var(--bg-page)}.edit-actions{display:flex;gap:8px}.btn-save-profile{background:#0000;border:1px solid var(--color-primary);border-radius:0;color:var(--color-primary);cursor:pointer;font-size:11px;font-weight:500;letter-spacing:.15em;padding:9px 18px;text-transform:uppercase;transition:background .2s,color .2s;white-space:nowrap}.btn-save-profile:disabled{cursor:not-allowed;opacity:.45}.btn-save-profile:hover:not(:disabled){background:var(--color-primary);color:var(--bg-page)}.btn-cancel-profile{background:#0000;border:1px solid var(--border-color);border-radius:0;color:var(--text-secondary);cursor:pointer;font-size:11px;font-weight:500;letter-spacing:.15em;padding:9px 18px;text-transform:uppercase;transition:background .2s;white-space:nowrap}.btn-cancel-profile:hover{background:var(--bg-surface-2)}.profile-success{background:var(--success-bg);border-left:4px solid var(--success-border);color:#22543d}.profile-save-error,.profile-success{border-radius:7px;font-size:14px;margin-bottom:16px;padding:12px 16px}.profile-save-error{background:var(--error-bg);border-left:4px solid var(--error-border);color:var(--error-border)}.profile-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:0;box-shadow:var(--shadow-card);margin-bottom:1.5rem;padding:28px}.profile-avatar-section{align-items:flex-start;display:flex;flex-wrap:wrap;gap:24px;margin-bottom:24px}.profile-avatar{align-items:center;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-2));border-radius:50%;display:flex;flex-shrink:0;height:80px;justify-content:center;overflow:hidden;width:80px}.profile-avatar img{height:100%;object-fit:cover;width:100%}.avatar-initials{color:var(--bg-surface);font-size:28px;font-weight:700;text-transform:uppercase}.profile-meta{grid-gap:12px;display:grid;flex:1 1;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.meta-item{display:flex;flex-direction:column;gap:3px}.meta-label{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.status-badge-inline{font-size:13px;font-weight:600}.status-badge-inline.active{color:#22543d}.status-badge-inline.inactive{color:var(--error-border)}.profile-divider{background:var(--bg-surface-2);height:1px;margin:0 0 24px}.profile-fields{display:flex;flex-direction:column;gap:18px}.fields-row{grid-gap:18px;display:grid;gap:18px;grid-template-columns:1fr 1fr}.field-group{display:flex;flex-direction:column;gap:6px}.field-group label{color:var(--text-muted);font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.field-value{color:var(--text-primary);font-size:15px;padding:6px 0}.field-group input,.field-group select{border:1px solid var(--border-input);border-radius:7px;color:var(--text-primary);font-family:inherit;font-size:14px;padding:9px 12px;transition:border-color .2s,box-shadow .2s}.field-group input:focus,.field-group select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea26;outline:none}.toggle-label{align-items:center;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;letter-spacing:0;padding:6px 0;text-transform:none}.profile-header-btns{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.btn-export-profile{background:var(--bg-surface);border:2px solid var(--color-primary);border-radius:8px;color:var(--color-primary);cursor:pointer;font-size:.85rem;font-weight:600;padding:.45rem .9rem;transition:background .2s}.btn-export-profile:hover{background:#ebf4ff}.btn-delete-profile{background:var(--bg-surface);border:2px solid var(--error-border);border-radius:8px;color:var(--error-border);cursor:pointer;font-size:.85rem;font-weight:600;padding:.45rem .9rem;transition:background .2s}.btn-delete-profile:hover{background:var(--error-bg)}.modal-box{background:var(--bg-surface);border-radius:14px;box-shadow:0 20px 60px #0003;max-width:420px;padding:2rem;width:100%}.modal-box h3{color:var(--text-primary);font-size:1.2rem;font-weight:700;margin-bottom:.75rem}.modal-box p{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin-bottom:1.5rem}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.btn-cancel-modal{background:var(--bg-surface);border:2px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:.9rem;font-weight:600;padding:.55rem 1.2rem;transition:background .15s}.btn-cancel-modal:hover{background:var(--bg-page)}.btn-confirm-delete{border:none;border-radius:8px;color:var(--bg-surface);cursor:pointer;font-size:.9rem;font-weight:700;padding:.55rem 1.2rem;transition:background .15s}.btn-confirm-delete,.btn-confirm-delete:hover:not(:disabled){background:var(--error-border)}.btn-confirm-delete:disabled{cursor:not-allowed;opacity:.6}.toggle-label input[type=checkbox]{border:none;cursor:pointer;height:18px;padding:0;width:18px}.btn-unlock-profile{var(--bg-surface)-space:nowrap;background:#fefcbf;border:1.5px solid #f6e05e;border-radius:7px;color:#744210;cursor:pointer;font-size:13px;font-weight:600;padding:8px 14px;transition:background .15s}.btn-unlock-profile:hover{background:#faf089}.lock-status-badge{color:#c05621;font-size:.85rem;font-weight:600}.pw-change-card{background:var(--bg-surface);border-radius:14px;box-shadow:0 2px 12px #00000012;margin-bottom:1.5rem;overflow:hidden}.pw-change-toggle{align-items:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;display:flex;font-size:1rem;font-weight:600;justify-content:space-between;padding:1rem 1.5rem;text-align:left;transition:background .15s;width:100%}.pw-change-toggle:hover{background:var(--bg-page)}.pw-toggle-arrow{color:var(--text-muted);font-size:.75rem;transition:transform .2s}.pw-toggle-arrow.open{transform:rotate(180deg)}.pw-msg{border-radius:8px;font-size:.875rem;font-weight:500;margin:0 1.5rem .75rem;padding:.6rem 1rem}.pw-msg--success{background:var(--success-bg);border:1px solid var(--success-bg);color:#276749}.pw-msg--error{background:var(--error-bg);border:1px solid var(--error-bg);color:var(--error-border)}.pw-change-form{border-top:1px solid var(--bg-surface-2);gap:1rem;padding:1.25rem 1.5rem 1.5rem}.pw-change-form,.pw-field-group{display:flex;flex-direction:column}.pw-field-group{gap:.35rem}.pw-field-group label{color:var(--text-secondary);font-size:.82rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.pw-input-wrap{align-items:center;display:flex;position:relative}.pw-input{background:var(--bg-surface);border:2px solid var(--border-color);border-radius:8px;box-sizing:border-box;font-size:.9rem;outline:none;padding:.6rem 2.4rem .6rem .85rem;transition:border-color .2s;width:100%}.pw-input:focus{border-color:var(--color-primary)}.pw-input--weak{border-color:#fc8181!important}.pw-input--strong{border-color:#68d391!important}.pw-eye{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;line-height:1;padding:0;position:absolute;right:10px}.pw-eye:hover{color:var(--text-secondary)}.pw-hint{color:var(--text-muted);font-size:.78rem;margin-top:2px}.pw-hint--error{color:var(--error-border)}.pw-form-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:.25rem}@media (max-width:640px){.profile-header{align-items:flex-start;flex-direction:column;gap:12px}.fields-row{gap:14px;grid-template-columns:1fr}.profile-card{padding:20px 16px}.profile-meta{grid-template-columns:1fr 1fr}.pw-form-actions{flex-direction:column}.pw-form-actions button{width:100%}}.twofa-badge{border-radius:10px;font-size:11px;font-weight:700;margin-left:10px;padding:2px 8px;text-transform:uppercase}.twofa-badge--on{background:var(--success-bg);color:#276749}.twofa-badge--off{background:var(--border-color);color:var(--text-muted)}.twofa-body{padding:16px 20px 20px}.twofa-desc{color:var(--text-secondary);font-size:14px;margin:0 0 14px}.twofa-qr{border:1px solid var(--border-color);border-radius:8px;display:block;height:180px;margin:0 auto 12px;width:180px}.twofa-secret{color:var(--text-muted);font-size:12px;margin-bottom:14px;text-align:center;word-break:break-all}.twofa-secret code{background:var(--bg-page);border-radius:4px;font-size:12px;padding:2px 6px}.twofa-backup-box{background:#fffaf0;border:1px solid #fbd38d;border-radius:8px;margin-bottom:16px;padding:14px}.twofa-backup-hint{color:#975a16;font-size:12px;margin:6px 0 10px}.twofa-backup-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(2,1fr)}.twofa-backup-grid code{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:4px;font-size:13px;padding:4px 8px;text-align:center}.lang-pref-row{align-items:center;display:flex;gap:12px;padding:16px 20px}.lang-pref-label{color:var(--text-primary);flex:1 1;font-size:15px;font-weight:600}.lang-pref-flag{align-items:center;display:inline-flex}.lang-pref-select{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:14px;min-width:160px;padding:8px 12px}.lang-pref-select:focus{border-color:var(--color-primary);outline:none}.gdpr-card{border-left:4px solid var(--error-border)}.gdpr-row{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;padding:12px 0}.gdpr-info strong{color:var(--text-primary);display:block;font-size:14px;margin-bottom:4px}.gdpr-info p{color:var(--text-muted);font-size:13px;margin:0}.gdpr-divider{background:var(--border-color);height:1px;margin:4px 0}.btn-gdpr-export{var(--bg-surface)-space:nowrap;background:var(--bg-surface);border:1px solid var(--color-primary);border-radius:6px;color:var(--color-primary);cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:background .2s}.btn-gdpr-export:hover{background:#ebf4ff}.btn-gdpr-delete{var(--bg-surface)-space:nowrap;background:var(--bg-surface);border:1px solid var(--error-border);border-radius:6px;color:var(--error-border);cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:background .2s}.btn-gdpr-delete:hover{background:var(--error-bg)}.modal-password-input{border:1px solid var(--border-color);border-radius:6px;box-sizing:border-box;font-size:14px;margin:12px 0 4px;padding:8px 12px;width:100%}.modal-password-input:focus{border-color:var(--color-primary);outline:none}.modal-error{color:var(--error-border);font-size:13px;margin:4px 0 8px}.theme-options{display:flex;gap:12px;margin-top:8px}.theme-option-btn{align-items:center;background:var(--bg-surface-2);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:12px 16px;transition:all .2s}.theme-option-btn.active,.theme-option-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.theme-option-btn.active{background:var(--lang-option-active);font-weight:600}.theme-option-icon{font-size:18px}.sessions-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:0;box-shadow:var(--shadow-card);margin-top:1.5rem;max-width:860px;padding:1.75rem}.sessions-header{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;margin-bottom:0}.sessions-title{color:var(--text-primary);font-size:1.1rem;font-weight:700;margin:0}.sessions-toggle{color:var(--text-muted);font-size:11px}.btn-revoke-all{background:#0000;border:1px solid var(--error-border);border-radius:0;color:var(--error-border);cursor:pointer;font-size:10px;font-weight:500;letter-spacing:.12em;padding:6px 12px;text-transform:uppercase;transition:background .2s,color .2s}.btn-revoke-all:hover{background:var(--error-border);color:var(--bg-surface)}.sessions-list{display:flex;flex-direction:column;gap:.75rem}.session-item{align-items:center;background:var(--bg-page);border:1px solid var(--border-color);border-radius:10px;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:.9rem 1rem}.session-info{display:flex;flex:1 1;flex-direction:column;gap:.3rem}.session-device{color:var(--text-primary);font-size:.875rem;font-weight:500}.session-meta{color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:.8rem;gap:1rem}.btn-revoke-session{background:#0000;border:1px solid var(--error-border);border-radius:0;color:var(--error-border);cursor:pointer;font-size:10px;font-weight:500;letter-spacing:.12em;padding:5px 10px;text-transform:uppercase;transition:background .2s,color .2s;white-space:nowrap}.btn-revoke-session:hover{background:var(--error-border);color:var(--bg-surface)}.sessions-empty{color:var(--text-muted);font-size:.9rem;padding:1.5rem 0;text-align:center}@media (max-width:640px){.session-item{align-items:flex-start;flex-direction:column}}.admin-layout{background:var(--bg-page);display:flex;min-height:100vh}.admin-sidebar{background:var(--sidebar-bg);color:#fff;flex-shrink:0;height:100vh;left:0;position:fixed;top:0;transition:transform .25s ease;width:240px;z-index:200}.admin-sidebar,.sidebar-logo{display:flex;flex-direction:column}.sidebar-logo{align-items:center;border-bottom:1px solid #ffffff1a;gap:6px;padding:24px 20px 20px}.sidebar-logo-top{align-items:center;display:flex;gap:10px}.admin-badge-sm{background:#e53e3e;border-radius:4px;color:#fff;font-size:10px;font-weight:700;letter-spacing:.5px;padding:2px 7px;text-transform:uppercase}.sidebar-title{color:#fff;font-size:15px;font-weight:700;letter-spacing:.3px}.sidebar-version{color:#fff6;font-family:monospace;font-size:11px;text-align:center}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:4px;padding:16px 10px}.sidebar-link{align-items:center;border-radius:8px;color:#ffffffb3;display:flex;font-size:14px;font-weight:500;gap:12px;padding:11px 14px;text-decoration:none;transition:background .15s,color .15s}.sidebar-link:hover{background:#ffffff14;color:#fff}.sidebar-link.active{background:var(--sidebar-active);color:#fff;font-weight:600}.sidebar-icon{flex-shrink:0;font-size:18px;text-align:center;width:22px}.sidebar-footer{border-top:1px solid #ffffff1a;display:flex;flex-direction:column;gap:12px;padding:16px 14px}.sidebar-user-name{color:#fff;font-size:13px;font-weight:600}.sidebar-user-role{color:#ffffff80;font-size:11px;letter-spacing:.5px;text-transform:uppercase}.sidebar-back-btn{background:#ffffff1a;border:1px solid #fff3;border-radius:6px;color:#fffc;cursor:pointer;font-size:13px;font-weight:500;padding:8px 12px;text-align:left;transition:background .15s}.sidebar-back-btn:hover{background:#ffffff2e;color:#fff}.admin-content{display:flex;flex:1 1;flex-direction:column;margin-left:240px;min-height:100vh}.admin-topbar{align-items:center;background:var(--topbar-bg);border-bottom:1px solid var(--border-color);box-shadow:0 1px 4px #0000000f;display:flex;height:56px;justify-content:space-between;padding:0 24px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.sidebar-toggle{background:none;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;display:none;font-size:22px;padding:4px 8px}.sidebar-toggle:hover{background:var(--bg-surface-2)}.topbar-right{align-items:center;display:flex;gap:12px;margin-left:auto}.btn-topbar-logout{background:#0000;border:1px solid var(--color-primary);border-radius:0;color:var(--color-primary);cursor:pointer;font-size:11px;font-weight:500;letter-spacing:.15em;padding:7px 16px;text-transform:uppercase;transition:background .2s,color .2s;white-space:nowrap}.btn-topbar-logout:hover{background:var(--color-primary);color:var(--bg-page)}.admin-page-content{flex:1 1;padding:32px 28px}.sidebar-overlay{background:#00000080;display:none;inset:0;position:fixed;z-index:150}@media (max-width:768px){.admin-sidebar{transform:translateX(-100%)}.admin-layout.sidebar-open .admin-sidebar{transform:translateX(0)}.admin-layout.sidebar-open .sidebar-overlay{display:block}.admin-content{margin-left:0}.sidebar-toggle{display:block}.admin-page-content{padding:20px 16px}}@media (max-width:480px){.admin-topbar{padding:0 14px}.admin-page-content{padding:16px 12px}}.admin-page-title{color:var(--text-primary);font-size:20px;font-weight:600;letter-spacing:.04em;margin:0 0 24px}.admin-card{background:var(--bg-surface);border:1px solid var(--border-color);margin-bottom:24px;max-width:680px;padding:28px}.admin-card-title{color:var(--text-primary);font-size:14px;font-weight:600;letter-spacing:.18em;margin:0 0 24px;text-transform:uppercase}.config-form{gap:18px}.config-field,.config-form{display:flex;flex-direction:column}.config-field{gap:6px}.config-field label{align-items:center;color:var(--text-muted);display:flex;font-size:12px;font-weight:600;gap:8px;letter-spacing:.1em;text-transform:uppercase}.config-field input,.config-field select{background:var(--bg-input);border:1px solid var(--border-input);border-radius:0;box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:14px;padding:9px 12px;transition:border-color .2s;width:100%}.config-field input:focus,.config-field select:focus{border-color:var(--color-primary);outline:none}.config-field--grow{flex:1 1}.config-field--narrow{flex-shrink:0;width:100px}.config-row{align-items:flex-end;display:flex;gap:12px}.config-hint{color:var(--text-muted);font-size:11px}.config-badge{border:1px solid var(--color-primary);color:var(--color-primary);font-size:10px;font-weight:500;letter-spacing:.1em;padding:1px 6px;text-transform:uppercase}.config-toggles{display:flex;flex-direction:column;gap:12px}.toggle-row{align-items:center;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;gap:10px}.toggle-row input[type=checkbox]{accent-color:var(--color-primary);cursor:pointer;height:16px;width:16px}.config-actions{display:flex;flex-wrap:wrap;gap:12px}.btn-admin-primary{background:#0000;border:1px solid var(--color-primary);border-radius:0;color:var(--color-primary);cursor:pointer;font-size:11px;font-weight:500;letter-spacing:.18em;padding:9px 22px;text-transform:uppercase;transition:background .2s,color .2s;white-space:nowrap}.btn-admin-primary:hover:not(:disabled){background:var(--color-primary);color:var(--bg-page)}.btn-admin-primary:disabled{cursor:not-allowed;opacity:.45}.btn-admin-secondary{background:#0000;border:1px solid var(--border-color);border-radius:0;color:var(--text-secondary);cursor:pointer;font-size:11px;font-weight:500;letter-spacing:.18em;padding:9px 22px;text-transform:uppercase;transition:background .2s,border-color .2s;white-space:nowrap}.btn-admin-secondary:hover:not(:disabled){background:var(--bg-surface-2);border-color:var(--text-secondary)}.btn-admin-secondary:disabled{cursor:not-allowed;opacity:.45}.alert-success{background:var(--success-bg);border-left:3px solid var(--success-border);color:var(--success-text)}.alert-error,.alert-success{font-size:13px;margin-bottom:4px;padding:10px 14px}.alert-error{background:var(--error-bg);border-left:3px solid var(--error-border);color:var(--error-text)}.dash-page{padding:1.5rem}.dash-loading{align-items:center;color:var(--text-muted);display:flex;justify-content:center;padding:3rem}.dash-welcome{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.dash-role{color:var(--text-muted);font-size:.9rem;margin-bottom:1.75rem}.stat-cards{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin-bottom:1.75rem}.stat-card{background:var(--bg-surface);border:1px solid var(--bg-surface-2);border-radius:12px;box-shadow:0 2px 12px #00000012;padding:1.25rem 1rem;text-align:center;transition:transform .15s,box-shadow .15s}.stat-card.clickable{cursor:pointer}.stat-card.clickable:hover{box-shadow:0 6px 20px #667eea26;transform:translateY(-2px)}.stat-icon{font-size:1.5rem;margin-bottom:.4rem}.stat-value{color:var(--text-primary);font-size:2rem;font-weight:800;line-height:1}.stat-label{color:var(--text-muted);font-size:.78rem;font-weight:500;margin-top:.35rem}.dash-charts{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin-bottom:1.75rem}.chart-card{background:var(--bg-surface);border:1px solid var(--bg-surface-2);border-radius:12px;box-shadow:0 2px 12px #00000012;padding:1.25rem}.chart-title{color:var(--text-primary);font-size:.95rem;font-weight:700;margin-bottom:1rem}.chart-wrap{width:100%}.chart-label{color:var(--text-muted);font-size:.75rem;margin-bottom:.5rem}.chart-bars{align-items:flex-end;box-sizing:initial;display:flex;gap:2px;height:90px;padding-bottom:20px;position:relative}.chart-bars:after{background:var(--border-color);bottom:20px;content:"";height:1px;left:0;position:absolute;right:0}.chart-col{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:0;height:100%;justify-content:flex-end}.chart-bar{border-radius:3px 3px 0 0;min-height:4px;min-width:4px;transition:opacity .2s;width:100%}.chart-bar:hover{cursor:default;opacity:.75}.chart-day{var(--bg-surface)-space:nowrap;color:#b0bac5;font-size:.58rem;height:20px;line-height:20px;overflow:hidden;text-align:center;width:100%}.chart-empty{color:var(--border-input);font-size:.85rem;padding:1.5rem 0;text-align:center}.dash-bottom{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.recent-card{background:var(--bg-surface);border:1px solid var(--bg-surface-2);border-radius:12px;box-shadow:0 2px 12px #00000012;padding:1.25rem}.recent-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.recent-header h3{color:var(--text-primary);font-size:.95rem;font-weight:700;margin:0}.recent-link{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:.8rem;font-weight:600;padding:0}.recent-item{align-items:center;border-bottom:1px solid var(--bg-page);display:flex;gap:.75rem;padding:.6rem 0}.recent-item:last-child{border-bottom:none}.recent-icon{flex-shrink:0;font-size:1.1rem;text-align:center;width:24px}.recent-avatar{align-items:center;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-2));border-radius:50%;color:var(--bg-surface);display:flex;flex-shrink:0;font-size:.85rem;font-weight:700;height:32px;justify-content:center;width:32px}.recent-info{display:flex;flex:1 1;flex-direction:column;gap:1px;min-width:0}.recent-action{color:var(--text-primary);font-size:.85rem;font-weight:600}.recent-action,.recent-user{var(--bg-surface)-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-user{color:var(--text-muted);font-size:.75rem}.recent-time{color:var(--border-input);flex-shrink:0;font-size:.75rem}.recent-empty{color:var(--border-input);font-size:.85rem;padding:1.5rem 0;text-align:center}@media (max-width:900px){.dash-bottom{grid-template-columns:1fr}}@media (max-width:640px){.dash-page{padding:1rem}.stat-cards{grid-template-columns:repeat(2,1fr)}.dash-charts{grid-template-columns:1fr}.chart-day{display:none}.chart-bars{height:60px}}.dash-version{color:var(--text-muted);font-family:monospace;font-size:11px;margin-top:24px;text-align:right}.users-page{padding:1.5rem}.users-header{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:1.25rem}.users-title{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin:0}.users-header-right{align-items:center;display:flex;gap:.75rem}.users-search{border:2px solid var(--border-color);border-radius:8px;font-size:.9rem;outline:none;padding:.55rem 1rem;transition:border-color .2s;width:260px}.users-search:focus{border-color:var(--color-primary)}.users-count{var(--bg-surface)-space:nowrap;background:var(--bg-surface-2);border-radius:20px;color:var(--text-muted);font-size:.85rem;padding:.3rem .7rem}.bulk-toolbar{background:#ebf8ff;border:1.5px solid #63b3ed;border-radius:10px;display:flex;flex-direction:column;gap:.6rem;margin-bottom:1rem;padding:.75rem 1rem}.bulk-toolbar-row{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.bulk-count{var(--bg-surface)-space:nowrap;color:#2b6cb0;font-size:.9rem;font-weight:700}.bulk-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.bulk-btn{var(--bg-surface)-space:nowrap;border:none;border-radius:7px;cursor:pointer;font-size:.82rem;font-weight:600;padding:.4rem .85rem;transition:opacity .15s}.bulk-btn:disabled{cursor:not-allowed;opacity:.5}.bulk-activate{background:var(--success-bg);color:#276749}.bulk-activate:hover:not(:disabled){background:#9ae6b4}.bulk-deactivate{background:#feebc8;color:#c05621}.bulk-deactivate:hover:not(:disabled){background:#fbd38d}.bulk-role{background:#e9d8fd;color:#6b46c1}.bulk-role:hover:not(:disabled){background:#d6bcfa}.bulk-delete{background:var(--error-bg);color:var(--error-border)}.bulk-delete:hover:not(:disabled){background:#feb2b2}.bulk-unlock{background:#fefcbf;color:#744210}.bulk-unlock:hover:not(:disabled){background:#faf089}.bulk-role-group{align-items:center;display:flex;gap:.3rem}.bulk-role-select{background:var(--bg-surface);border:1.5px solid #d6bcfa;border-radius:7px;cursor:pointer;font-size:.82rem;outline:none;padding:.38rem .6rem}.bulk-msg{color:var(--text-primary);font-size:.85rem;font-weight:500}.bulk-pw-row{align-items:center;border-top:1px dashed #bee3f8;display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.4rem}.bulk-pw-label{font-size:1rem}.bulk-pw-input-wrap{align-items:center;display:flex;position:relative}.bulk-pw-input{background:var(--bg-surface);border:1.5px solid #bee3f8;border-radius:7px;font-size:.82rem;outline:none;padding:.38rem 2rem .38rem .7rem;transition:border-color .2s;width:220px}.bulk-pw-input:focus{border-color:var(--color-primary)}.bulk-pw-eye{background:none;border:none;cursor:pointer;font-size:.85rem;line-height:1;padding:0;position:absolute;right:6px}.bulk-pw-btn{var(--bg-surface)-space:nowrap;background:#bee3f8;border:none;border-radius:7px;color:#2b6cb0;cursor:pointer;font-size:.82rem;font-weight:600;padding:.38rem .85rem;transition:background .15s}.bulk-pw-btn:hover:not(:disabled){background:#90cdf4}.bulk-pw-btn:disabled{cursor:not-allowed;opacity:.5}.bulk-pw-hint{color:var(--text-muted);font-size:.75rem;font-style:italic}.admin-table-wrapper{border:1px solid var(--border-color);border-radius:12px;overflow-x:auto}.admin-table{border-collapse:collapse;font-size:.875rem;width:100%}.admin-table th{var(--bg-surface)-space:nowrap;background:var(--bg-page);border-bottom:2px solid var(--border-color);color:var(--text-secondary);font-weight:600;padding:.7rem .9rem;text-align:left}.admin-table td{border-bottom:1px solid var(--bg-surface-2);padding:.7rem .9rem;vertical-align:middle}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:var(--bg-page)}.admin-table tr.row-selected td{background:#ebf8ff}.col-check{width:40px}.col-check input[type=checkbox]{cursor:pointer;height:16px;width:16px}.cell-id{color:var(--text-muted);font-size:.8rem}.user-name{color:var(--text-primary);font-weight:600}.user-email{color:var(--text-muted);font-size:.78rem}.role-badge{border-radius:4px;display:inline-block;font-size:.78rem}.role-badge,.status-badge{font-weight:600;padding:.2rem .6rem}.status-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:.8rem;gap:5px}.status-badge.active{background:var(--success-bg);color:#276749}.status-badge.inactive{background:var(--error-bg);color:var(--error-border)}.status-dot{background:currentColor;border-radius:50%;display:inline-block;height:7px;width:7px}.verified-badge{text-align:center}.cell-date{var(--bg-surface)-space:nowrap;color:var(--text-muted);font-size:.78rem}.status-cell{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.lock-badge{cursor:help;font-size:.9rem}.row-locked td{background:#fffbeb!important}.row-locked:hover td{background:#fef3c7!important}.btn-unlock-user{background:#fefcbf;border:1px solid #f6e05e;border-radius:6px;color:#744210;cursor:pointer;font-size:.85rem;margin-right:4px;padding:.3rem .5rem;transition:background .15s}.btn-unlock-user:hover{background:#faf089}.btn-view-user{var(--bg-surface)-space:nowrap;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-2));border:none;border-radius:6px;color:var(--bg-surface);cursor:pointer;font-size:.8rem;font-weight:600;padding:.35rem .75rem;transition:opacity .15s}.btn-view-user:hover{opacity:.85}.admin-empty,.admin-loading{color:var(--text-muted);padding:2rem;text-align:center}.admin-error{background:var(--error-bg);border-radius:8px;color:var(--error-border);margin-bottom:1rem;padding:.75rem 1rem}@media (max-width:768px){.users-page{padding:1rem}.users-search{width:200px}.admin-table td:nth-child(8),.admin-table td:nth-child(9),.admin-table th:nth-child(8),.admin-table th:nth-child(9){display:none}}.audit-page{max-width:1200px;padding:1.5rem}.audit-header{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;margin-bottom:1.25rem}.audit-title{color:var(--text-primary);font-size:1.5rem;font-weight:700}.audit-count{background:var(--bg-surface-2);border-radius:20px;color:var(--text-muted);font-size:.85rem;padding:.25rem .75rem}.audit-filters{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.audit-search{border:2px solid var(--border-color);border-radius:8px;flex:1 1;font-size:.9rem;min-width:200px;outline:none;padding:.6rem 1rem;transition:border-color .2s}.audit-search:focus{border-color:var(--color-primary)}.audit-select{background:var(--bg-surface);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;font-size:.9rem;min-width:160px;outline:none;padding:.6rem 1rem;transition:border-color .2s}.audit-select:focus{border-color:var(--color-primary)}.audit-table-wrap{border:1px solid var(--border-color);border-radius:12px;overflow-x:auto}.audit-table{border-collapse:collapse;font-size:.875rem;width:100%}.audit-table th{var(--bg-surface)-space:nowrap;background:var(--bg-page);border-bottom:2px solid var(--border-color);color:var(--text-secondary);font-weight:600;padding:.75rem 1rem;text-align:left}.audit-table td{border-bottom:1px solid var(--bg-surface-2);padding:.75rem 1rem;vertical-align:top}.audit-table tr:last-child td{border-bottom:none}.audit-table tr:hover td{background:var(--bg-page)}.audit-time{var(--bg-surface)-space:nowrap;color:var(--text-muted);font-size:.8rem}.audit-user strong{color:var(--text-primary)}.audit-user small{color:var(--text-muted)}.audit-unknown{color:var(--border-input)}.audit-ip{font-family:monospace}.audit-details,.audit-ip{color:var(--text-muted);font-size:.8rem}.audit-details{max-width:280px;word-break:break-word}.audit-badge{var(--bg-surface)-space:nowrap;background:var(--bg-surface-2);border-radius:4px;color:var(--text-secondary);display:inline-block;font-size:.78rem;font-weight:600;padding:.2rem .6rem}.audit-badge--login{background:var(--success-bg);color:#276749}.audit-badge--logout{background:#e9d8fd;color:#6b46c1}.audit-badge--register{background:#bee3f8;color:#2b6cb0}.audit-badge--login-failed{background:var(--error-bg);color:var(--error-border)}.audit-badge--account-locked{background:#feebc8;color:#c05621}.audit-badge--email-verified{background:var(--success-bg);color:#276749}.audit-badge--password-reset{background:#fefcbf;color:#744210}.audit-badge--password-reset-requested{background:#fef3c7;color:#92400e}.audit-badge--session-revoked{background:#fed7e2;color:#97266d}.audit-badge--all-sessions-revoked{background:#fbb6ce;color:#97266d}.audit-badge--login-blocked{background:var(--error-bg);color:var(--error-border)}.audit-empty{color:var(--text-muted);padding:2rem;text-align:center}.audit-error{background:var(--error-bg);border-radius:8px;color:var(--error-border);margin-bottom:1rem;padding:.75rem 1rem}.audit-pagination{gap:1rem;margin-top:1.25rem}.audit-page-btn,.audit-pagination{align-items:center;display:flex;justify-content:center}.audit-page-btn{background:var(--bg-surface);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;font-size:1.25rem;height:36px;transition:background .2s,border-color .2s;width:36px}.audit-page-btn:hover:not(:disabled){background:var(--color-primary);border-color:var(--color-primary);color:var(--bg-surface)}.audit-page-btn:disabled{cursor:not-allowed;opacity:.4}.audit-page-info{color:var(--text-muted);font-size:.9rem;min-width:100px;text-align:center}@media (max-width:768px){.audit-page{padding:1rem}.audit-table td:nth-child(4),.audit-table td:nth-child(5),.audit-table th:nth-child(4),.audit-table th:nth-child(5){display:none}}.inv-page{max-width:900px;padding:1.5rem}.inv-title{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin-bottom:1.5rem}.inv-form-card,.inv-list-card{background:var(--bg-surface);border:1px solid var(--bg-surface-2);border-radius:12px;box-shadow:0 2px 12px #00000012;margin-bottom:1.25rem;padding:1.5rem}.inv-form-card h3,.inv-list-card h3{color:var(--text-primary);font-size:1rem;font-weight:700;margin-bottom:1rem}.inv-msg{border-radius:8px;font-size:.88rem;font-weight:500;margin-bottom:.75rem;padding:.65rem 1rem}.inv-msg.success{background:var(--success-bg);color:#276749}.inv-msg.error{background:var(--error-bg);color:var(--error-border)}.inv-form{align-items:center;display:flex;flex-wrap:wrap;gap:.65rem}.inv-input{border:2px solid var(--border-color);border-radius:8px;flex:1 1;font-size:.9rem;min-width:200px;outline:none;padding:.6rem 1rem;transition:border-color .2s}.inv-input:focus{border-color:var(--color-primary)}.inv-select{background:var(--bg-surface);border:2px solid var(--border-color);border-radius:8px;outline:none;padding:.6rem .75rem}.inv-btn-send,.inv-select{cursor:pointer;font-size:.9rem}.inv-btn-send{var(--bg-surface)-space:nowrap;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-2));border:none;border-radius:8px;color:var(--bg-surface);font-weight:700;padding:.6rem 1.2rem;transition:opacity .15s}.inv-btn-send:disabled{cursor:not-allowed;opacity:.6}.inv-btn-send:hover:not(:disabled){opacity:.88}.inv-table-wrap{overflow-x:auto}.inv-table{border-collapse:collapse;font-size:.875rem;width:100%}.inv-table th{var(--bg-surface)-space:nowrap;background:var(--bg-page);border-bottom:2px solid var(--border-color);color:var(--text-secondary);font-weight:600;padding:.65rem .9rem;text-align:left}.inv-table td{border-bottom:1px solid var(--bg-surface-2);padding:.65rem .9rem;vertical-align:middle}.inv-table tr:last-child td{border-bottom:none}.inv-table tr:hover td{background:var(--bg-page)}.inv-email{color:var(--text-primary);font-weight:600}.inv-by,.inv-date{color:var(--text-muted);font-size:.8rem}.inv-role-badge{background:#e9d8fd;border-radius:4px;color:#6b46c1;padding:.15rem .55rem}.inv-badge,.inv-role-badge{display:inline-block;font-size:.78rem;font-weight:600}.inv-badge{border-radius:20px;padding:.2rem .6rem}.inv-badge.pending{background:var(--success-bg);color:#276749}.inv-badge.used{background:var(--border-color);color:var(--text-muted)}.inv-badge.expired{background:var(--error-bg);color:var(--error-border)}.inv-btn-revoke{background:var(--bg-surface);border:2px solid var(--error-border);border-radius:6px;color:var(--error-border);cursor:pointer;font-size:.78rem;font-weight:600;padding:.3rem .7rem;transition:background .15s}.inv-btn-revoke:hover{background:var(--error-bg)}.inv-empty{color:var(--text-muted);font-size:.9rem;padding:1.5rem 0;text-align:center}@media (max-width:640px){.inv-page{padding:1rem}}.roles-page{max-width:860px;padding:1.5rem}.roles-title{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin-bottom:1.25rem}.roles-msg{border-radius:8px;font-size:.88rem;font-weight:500;margin-bottom:1rem;padding:.65rem 1rem}.roles-msg.success{background:var(--success-bg);color:#276749}.roles-msg.error{background:var(--error-bg);color:var(--error-border)}.roles-card{background:var(--bg-surface);border:1px solid var(--bg-surface-2);border-radius:12px;box-shadow:0 2px 12px #00000012;margin-bottom:1.25rem;padding:1.5rem}.roles-card h3{color:var(--text-primary);font-size:1rem;font-weight:700;margin-bottom:1rem}.roles-form{align-items:center;display:flex;flex-wrap:wrap;gap:.65rem}.roles-input{border:2px solid var(--border-color);border-radius:8px;flex:1 1;font-size:.9rem;min-width:150px;outline:none;padding:.6rem .9rem;transition:border-color .2s}.roles-input:focus{border-color:var(--color-primary)}.roles-color-group{align-items:center;color:var(--text-muted);display:flex;font-size:.82rem;gap:.5rem}.roles-color{border:none;border-radius:6px;cursor:pointer;height:32px;padding:2px;width:36px}.roles-preview{border-radius:4px;font-size:.82rem;font-weight:700;padding:.2rem .7rem}.roles-btn-create{var(--bg-surface)-space:nowrap;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-2));border:none;border-radius:8px;color:var(--bg-surface);cursor:pointer;font-size:.9rem;font-weight:700;padding:.6rem 1.2rem;transition:opacity .15s}.roles-btn-create:disabled{cursor:not-allowed;opacity:.6}.roles-btn-create:hover:not(:disabled){opacity:.88}.roles-list{display:flex;flex-direction:column;gap:.65rem}.role-item{background:var(--bg-page);border:1px solid var(--border-color);border-radius:10px;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:.85rem 1rem}.role-item,.role-left{align-items:center;display:flex}.role-left{flex:1 1;gap:.65rem}.role-badge-preview{border-radius:5px;font-size:.82rem;font-weight:700;padding:.2rem .7rem}.role-name{color:var(--text-muted);font-size:.82rem}.role-system-tag{background:var(--border-color);border-radius:20px;color:var(--text-muted);font-size:.7rem;padding:.1rem .5rem}.role-perms-summary{color:var(--text-muted);font-size:.82rem}.role-actions{display:flex;gap:.5rem}.roles-btn-perms{background:#e9d8fd;border:none;border-radius:7px;color:#6b46c1;cursor:pointer;font-size:.8rem;font-weight:600;padding:.35rem .8rem;transition:background .15s}.roles-btn-perms:hover{background:#d6bcfa}.roles-btn-del{border:1.5px solid #feb2b2;border-radius:7px;color:var(--error-border);cursor:pointer;font-size:.85rem;padding:.35rem .65rem;transition:background .15s}.roles-btn-del,.roles-btn-del:hover{background:var(--error-bg)}.roles-empty{color:var(--text-muted);font-size:.9rem;padding:1.5rem 0;text-align:center}.modal-overlay{align-items:center;background:#00000073;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.perm-modal{background:var(--bg-surface);border-radius:14px;box-shadow:0 20px 60px #0003;max-height:85vh;max-width:500px;overflow-y:auto;padding:2rem;width:100%}.perm-modal h3{color:var(--text-primary);font-size:1.1rem;font-weight:700;margin-bottom:1.25rem}.perm-categories{display:flex;flex-direction:column;gap:1.25rem}.perm-cat-label{color:var(--color-primary);font-size:.82rem;font-weight:700;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.perm-row{align-items:center;border-radius:6px;color:var(--text-primary);cursor:pointer;display:flex;font-size:.875rem;gap:.65rem;padding:.45rem .5rem;transition:background .1s}.perm-row:hover{background:var(--bg-page)}.perm-row input[type=checkbox]{cursor:pointer;height:16px;width:16px}.perm-modal-actions{border-top:1px solid var(--border-color);display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem}.perm-btn-cancel{background:var(--bg-surface);border:2px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:.9rem;font-weight:600;padding:.55rem 1.2rem}.perm-btn-cancel:hover{background:var(--bg-page)}.perm-btn-save{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-2));border:none;border-radius:8px;color:var(--bg-surface);cursor:pointer;font-size:.9rem;font-weight:700;padding:.55rem 1.4rem;transition:opacity .15s}.perm-btn-save:disabled{cursor:not-allowed;opacity:.6}.perm-btn-save:hover:not(:disabled){opacity:.88}@media (max-width:640px){.roles-page{padding:1rem}.role-item{align-items:flex-start;flex-direction:column}}.auth-page-container{align-items:center;background:var(--color-gradient);display:flex;justify-content:center;min-height:100vh;padding:1rem}.auth-card{background:var(--bg-surface);border-radius:16px;box-shadow:0 20px 60px #00000026;max-width:440px;padding:2.5rem 2rem;text-align:center;width:100%}.auth-logo{font-size:3rem;margin-bottom:1rem}.auth-title{color:var(--text-primary);font-size:1.6rem;font-weight:700;margin-bottom:.5rem}.auth-subtitle{color:var(--text-muted);font-size:.95rem;margin-bottom:1.5rem}.auth-form{gap:1rem;text-align:left}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.4rem}.form-group label{color:var(--text-secondary);font-size:.875rem;font-weight:600}.form-group input{border:2px solid var(--border-color);border-radius:8px;font-size:1rem;outline:none;padding:.7rem 1rem;transition:border-color .2s}.form-group input:focus{border-color:var(--color-primary)}.form-hint{color:var(--text-muted);font-size:.78rem}.btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-2));border:none;border-radius:8px;color:var(--bg-surface);cursor:pointer;display:block;font-size:1rem;font-weight:600;margin-top:.5rem;padding:.8rem;text-align:center;text-decoration:none;transition:opacity .2s;width:100%}.btn-primary:hover:not(:disabled){opacity:.9}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-secondary{background:var(--bg-surface-2);border-radius:8px;color:var(--text-secondary);display:inline-block;font-size:.9rem;font-weight:600;padding:.7rem 1.5rem;text-decoration:none;transition:background .2s}.btn-secondary:hover{background:var(--border-color)}.auth-message{border-radius:8px;font-size:.9rem;font-weight:500;margin-bottom:.5rem;padding:.8rem 1rem}.auth-message.loading{background:#ebf8ff;color:#2b6cb0}.auth-message.success{background:var(--success-bg);color:#276749}.auth-message.error{background:var(--error-bg);color:var(--error-border)}.auth-links{color:var(--text-muted);font-size:.875rem;margin-top:1.5rem}.auth-links a{color:var(--color-primary);font-weight:600;text-decoration:none}.auth-links a:hover{text-decoration:underline}@media (max-width:480px){.auth-card{padding:2rem 1.25rem}}:root,[data-theme=dark]{--bg-page:#141210;--bg-surface:#1c1915;--bg-surface-2:#242018;--bg-input:#1c1915;--bg-disabled:#1a1714;--color-primary:#e2cfa0;--color-primary-2:#c4975a;--color-primary-hover:#d4be88;--color-gradient:linear-gradient(135deg,#e2cfa0,#c4975a);--color-gradient-text:#141210;--text-primary:#e2cfa0;--text-secondary:#c4975a;--text-muted:#7a6a52;--text-on-primary:#141210;--border-color:#2a2520;--border-input:#3a2e24;--border-focus:#e2cfa0;--scrollbar-track:#1c1915;--scrollbar-thumb:#3a2e24;--scrollbar-hover:#4a3c30;--shadow-card:0 20px 60px #0009;--sidebar-bg:linear-gradient(180deg,#0e0c0a,#1c1915);--sidebar-active:#e2cfa033;--topbar-bg:#1c1915;--lang-dropdown-bg:#1c1915;--lang-option-hover:#e2cfa014;--lang-option-active:#e2cfa026;--error-bg:#2a1414;--error-text:#e57373;--error-border:#8b2323;--success-bg:#142a1a;--success-text:#6abf7a;--success-border:#2a6640}[data-theme=light]{--bg-page:#faf9f7;--bg-surface:#fff;--bg-surface-2:#f3ede4;--bg-input:#fff;--bg-disabled:#f5f0e8;--color-primary:#c4975a;--color-primary-2:#8b6914;--color-primary-hover:#b08040;--color-gradient:linear-gradient(135deg,#c4975a,#8b6914);--color-gradient-text:#fff;--text-primary:#2d2416;--text-secondary:#7a5c2e;--text-muted:#b09060;--text-on-primary:#fff;--border-color:#e8e2d8;--border-input:#d8cfc0;--border-focus:#c4975a;--scrollbar-track:#f3ede4;--scrollbar-thumb:#d8cfc0;--scrollbar-hover:#c4b49a;--shadow-card:0 20px 60px #00000026;--sidebar-bg:linear-gradient(180deg,#1a1208,#2d2010);--sidebar-active:#c4975a40;--topbar-bg:#fff;--lang-dropdown-bg:#fff;--lang-option-hover:#f3ede4;--lang-option-active:#ede4d4;--error-bg:#fff5f5;--error-text:#c53030;--error-border:#c53030;--success-bg:#f0fff4;--success-text:#276749;--success-border:#48bb78}*{box-sizing:border-box;margin:0;padding:0}body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#141210;background:var(--bg-page);color:#e2cfa0;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2}h1{font-size:32px}h2{font-size:28px}h3{font-size:24px}h4{font-size:20px}h5{font-size:18px}h6{font-size:16px}p{color:#c4975a;color:var(--text-secondary);line-height:1.6}a{color:#e2cfa0;color:var(--color-primary);text-decoration:none;transition:color .3s ease}a:hover{color:#c4975a;color:var(--color-primary-2)}button{font-family:inherit;font-size:14px}button:focus{outline:none}input,select,textarea{font-family:inherit;font-size:14px}input:focus,select:focus,textarea:focus{outline:none}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#1c1915;background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:#3a2e24;background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#4a3c30;background:var(--scrollbar-hover)}.language-switcher{display:inline-block;position:relative}@media (max-width:640px){.lang-label{display:none}.lang-trigger{gap:5px;min-height:40px;padding:8px 10px}.lang-dropdown{-webkit-overflow-scrolling:touch;left:auto;max-height:60vh;min-width:140px;overflow-y:auto;right:0}.lang-option{min-height:44px;padding:11px 12px}}.language-switcher-top .lang-trigger{background:#fff3;border-color:#fff6;color:#fff}.language-switcher-top .lang-trigger:hover{background:#ffffff4d}.language-switcher-top .lang-arrow,.language-switcher-top .lang-label{color:#fff}.lang-label{font-size:13px;margin-right:8px;opacity:.8;vertical-align:middle}.lang-label,.lang-trigger{font-weight:500;white-space:nowrap}.lang-trigger{align-items:center;background:#ffffff26;border:1px solid #ffffff4d;border-radius:8px;color:inherit;cursor:pointer;display:flex;font-size:14px;gap:6px;padding:6px 10px;transition:background .2s ease,border-color .2s ease}.lang-trigger:hover{background:#ffffff40;border-color:#ffffff80}.lang-arrow{display:inline-block;font-size:12px;line-height:1;transition:transform .2s ease}.lang-arrow.open{transform:rotate(180deg)}.lang-dropdown{animation:langDropIn .15s ease;background:#1c1915;background:var(--lang-dropdown-bg);border:1px solid #2a2520;border:1px solid var(--border-color);border-radius:10px;box-shadow:0 8px 24px #0000004d;list-style:none;margin:0;min-width:160px;padding:4px;position:absolute;right:0;top:calc(100% + 6px);z-index:1000}@keyframes langDropIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.lang-option{align-items:center;border-radius:7px;color:#e2cfa0;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;gap:10px;padding:8px 12px;transition:background .15s ease}.lang-option:hover{background:#e2cfa014;background:var(--lang-option-hover)}.lang-option.active{background:#e2cfa026;background:var(--lang-option-active);font-weight:600}.lang-check,.lang-option.active{color:#e2cfa0;color:var(--color-primary)}.lang-check{font-size:13px;margin-left:auto}.language-switcher .flag{align-items:center;display:inline-flex;font-size:18px;line-height:1}.flag-svg{border-radius:2px;box-shadow:0 0 0 1px #0000001a;display:block;height:14px;width:21px}.language-switcher .code{font-size:13px;font-weight:600;letter-spacing:.5px}.lang-name{font-size:14px}
/*# sourceMappingURL=main.4baccd94.css.map*/