.app-toast-container{z-index:2147483647!important;visibility:visible!important;opacity:1!important;pointer-events:none!important;width:420px!important;max-width:calc(100vw - 32px)!important;display:block!important;position:fixed!important;inset:24px 24px auto auto!important}.app-toast-list{flex-direction:column!important;gap:12px!important;width:100%!important;display:flex!important}.app-toast-item{box-sizing:border-box!important;color:#1f2937!important;pointer-events:auto!important;visibility:visible!important;opacity:1!important;background:#fff!important;border:1px solid #d1d5db!important;border-radius:12px!important;align-items:flex-start!important;gap:12px!important;width:100%!important;min-height:70px!important;padding:16px!important;display:flex!important;position:relative!important;overflow:hidden!important;box-shadow:0 12px 30px #0003!important}.app-toast-success{border-left:5px solid #16a34a!important}.app-toast-error{border-left:5px solid #dc2626!important}.app-toast-warning{border-left:5px solid #d97706!important}.app-toast-info{border-left:5px solid #2563eb!important}.app-toast-icon{border-radius:50%!important;flex:0 0 34px!important;justify-content:center!important;align-items:center!important;width:34px!important;height:34px!important;font-size:18px!important;font-weight:800!important;line-height:1!important;display:flex!important}.app-toast-success .app-toast-icon{color:#15803d!important;background:#dcfce7!important}.app-toast-error .app-toast-icon{color:#b91c1c!important;background:#fee2e2!important}.app-toast-warning .app-toast-icon{color:#b45309!important;background:#fef3c7!important}.app-toast-info .app-toast-icon{color:#1d4ed8!important;background:#dbeafe!important}.app-toast-content{flex-direction:column!important;flex:auto!important;gap:4px!important;min-width:0!important;display:flex!important}.app-toast-title{color:#111827!important;font-size:14px!important;font-weight:700!important;line-height:1.4!important}.app-toast-message{color:#374151!important;overflow-wrap:anywhere!important;white-space:pre-line!important;font-size:14px!important;font-weight:500!important;line-height:1.5!important}.app-toast-close{color:#6b7280!important;cursor:pointer!important;background:0 0!important;border:0!important;border-radius:6px!important;flex:0 0 28px!important;width:28px!important;height:28px!important;margin:-2px 0 0!important;padding:0!important;font-size:22px!important;line-height:1!important}.app-toast-close:hover{color:#111827!important;background:#f3f4f6!important}.app-toast-progress{opacity:.35!important;transform-origin:0!important;width:100%!important;height:3px!important;animation:app-toast-progress var(--app-toast-duration) linear forwards!important;background:currentColor!important;position:absolute!important;bottom:0!important;left:0!important}@keyframes app-toast-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.app-toast-enter-active{transition:opacity .25s,transform .25s!important}.app-toast-enter-from{opacity:0!important;transform:translate(30px)scale(.98)!important}.app-toast-leave-active{transition:opacity .25s,transform .25s!important}.app-toast-leave-to{opacity:0!important;transform:translate(30px)scale(.98)!important}.app-toast-move{transition:transform .25s!important}@media (width<=600px){.app-toast-container{width:auto!important;max-width:none!important;top:12px!important;left:12px!important;right:12px!important}}.confirm-overlay[data-v-80eb11ac]{z-index:100000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0000007a;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.confirm-modal[data-v-80eb11ac]{background:var(--card-bg);width:100%;max-width:460px;color:var(--text-color);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);border-radius:16px;overflow:hidden}.confirm-header[data-v-80eb11ac]{align-items:center;gap:14px;padding:24px 24px 18px;display:flex}.confirm-heading[data-v-80eb11ac]{flex:1;min-width:0}.confirm-title[data-v-80eb11ac]{color:var(--text-color);margin:0;font-size:19px;font-weight:700;line-height:1.4}.confirm-icon[data-v-80eb11ac]{border-radius:50%;flex:0 0 44px;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;font-weight:800;line-height:1;display:flex}.confirm-body[data-v-80eb11ac]{padding:0 24px 24px}.confirm-message[data-v-80eb11ac]{color:var(--text-color);margin:0;font-size:15px;font-weight:500;line-height:1.6}.confirm-description[data-v-80eb11ac]{color:var(--text-muted);margin:10px 0 0;font-size:13px;line-height:1.6}.confirm-footer[data-v-80eb11ac]{border-top:1px solid var(--border-color);background:var(--surface-hover);justify-content:flex-end;align-items:center;gap:10px;padding:18px 24px;display:flex}.confirm-button[data-v-80eb11ac]{cursor:pointer;border-radius:9px;min-width:100px;padding:10px 18px;font-size:14px;font-weight:600;transition:background .2s,border-color .2s,color .2s,transform .1s,box-shadow .2s}.confirm-button[data-v-80eb11ac]:active{transform:translateY(1px)}.confirm-button[data-v-80eb11ac]:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.confirm-cancel[data-v-80eb11ac]{background:var(--card-bg);color:var(--text-color);border:1px solid var(--border-color)}.confirm-cancel[data-v-80eb11ac]:hover{background:var(--surface-hover)}.confirm-submit[data-v-80eb11ac]{color:#fff;border:1px solid #0000}.confirm-danger .confirm-icon[data-v-80eb11ac]{background:var(--danger-bg);color:var(--danger-color)}.confirm-submit-danger[data-v-80eb11ac]{background:var(--danger-color)}.confirm-submit-danger[data-v-80eb11ac]:hover{filter:brightness(.92)}.confirm-warning .confirm-icon[data-v-80eb11ac]{background:var(--warning-bg);color:var(--warning-color)}.confirm-submit-warning[data-v-80eb11ac]{background:var(--warning-color)}.confirm-submit-warning[data-v-80eb11ac]:hover{filter:brightness(.92)}.confirm-success .confirm-icon[data-v-80eb11ac]{background:var(--success-bg);color:var(--success-color)}.confirm-submit-success[data-v-80eb11ac]{background:var(--success-color)}.confirm-submit-success[data-v-80eb11ac]:hover{filter:brightness(.92)}.confirm-info .confirm-icon[data-v-80eb11ac]{background:var(--primary-bg);color:var(--primary-color)}.confirm-submit-info[data-v-80eb11ac]{background:var(--primary-color)}.confirm-submit-info[data-v-80eb11ac]:hover{filter:brightness(.92)}.confirm-fade-enter-active[data-v-80eb11ac],.confirm-fade-leave-active[data-v-80eb11ac]{transition:opacity .2s}.confirm-fade-enter-active .confirm-modal[data-v-80eb11ac],.confirm-fade-leave-active .confirm-modal[data-v-80eb11ac]{transition:transform .2s,opacity .2s}.confirm-fade-enter-from[data-v-80eb11ac],.confirm-fade-leave-to[data-v-80eb11ac]{opacity:0}.confirm-fade-enter-from .confirm-modal[data-v-80eb11ac],.confirm-fade-leave-to .confirm-modal[data-v-80eb11ac]{opacity:0;transform:translateY(10px)scale(.98)}@media (width<=600px){.confirm-overlay[data-v-80eb11ac]{padding:14px}.confirm-modal[data-v-80eb11ac]{border-radius:14px;max-width:none}.confirm-header[data-v-80eb11ac]{padding:20px 18px 16px}.confirm-body[data-v-80eb11ac]{padding:0 18px 20px}.confirm-footer[data-v-80eb11ac]{flex-direction:column-reverse;align-items:stretch;padding:16px 18px}.confirm-button[data-v-80eb11ac]{width:100%}}@media (prefers-reduced-motion:reduce){.confirm-fade-enter-active[data-v-80eb11ac],.confirm-fade-leave-active[data-v-80eb11ac],.confirm-fade-enter-active .confirm-modal[data-v-80eb11ac],.confirm-fade-leave-active .confirm-modal[data-v-80eb11ac]{transition:none}}:root{--secondary-bg:#f8fafc;--hover-bg:#f1f5f9;--body-bg:#f8fafc;--card-bg:#fff;--sidebar-bg:#fff;--header-bg:#fff;--text-color:#111827;--text-muted:#64748b;--text-secondary:#475569;--border-color:#e2e8f0;--input-bg:#fff;--input-border:#cbd5e1;--primary-color:#2563eb;--primary-hover:#1d4ed8;--success-color:#16a34a;--warning-color:#d97706;--danger-color:#dc2626;--active-bg:#dcfce7;--active-text:#166534;--inactive-bg:#fee2e2;--inactive-text:#991b1b;--table-header-bg:#f8fafc;--table-row-hover:#f8fafc;--modal-bg:#fff;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 8px 20px #00000014;--shadow-lg:0 16px 40px #00000026;--overlay-bg:#0f172a73}[data-theme=dark]{--secondary-bg:#334155;--hover-bg:#1e293b;--body-bg:#020617;--card-bg:#0f172a;--sidebar-bg:#0f172a;--header-bg:#0f172a;--text-color:#f8fafc;--text-muted:#94a3b8;--text-secondary:#cbd5e1;--border-color:#334155;--input-bg:#1e293b;--input-border:#475569;--primary-color:#3b82f6;--primary-hover:#60a5fa;--success-color:#22c55e;--warning-color:#facc15;--danger-color:#f87171;--active-bg:#22c55e26;--active-text:#86efac;--inactive-bg:#ef444426;--inactive-text:#fca5a5;--table-header-bg:#1e293b;--table-row-hover:#1e293b;--modal-bg:#1e293b;--shadow-sm:0 1px 3px #00000073;--shadow-md:0 8px 24px #0000008c;--shadow-lg:0 20px 60px #000000bf;--overlay-bg:#000000a6}.table{border-collapse:collapse;background:var(--card-bg);width:100%;color:var(--text-color)}.table thead{background:var(--table-header-bg)}.table thead th{background:var(--table-header-bg);color:var(--text-color);border-bottom:1px solid var(--border-color)}.table tbody tr{background:var(--card-bg);transition:background .2s}.table tbody tr:hover{background:var(--table-row-hover)}.table tbody td{background:var(--card-bg);color:var(--text-color);border-bottom:1px solid var(--border-color)}.btn{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;line-height:1;transition:background-color .2s,border-color .2s,color .2s,transform .15s,box-shadow .2s;display:inline-flex}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px #2563eb40}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.btn-sm{padding:8px 12px;font-size:13px}.btn-lg{padding:12px 20px;font-size:15px}.btn-block{width:100%}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:var(--secondary-bg);color:var(--text-color);border-color:var(--border-color)}.btn-secondary:hover{background:var(--hover-bg)}.btn-success{background:var(--success-color);color:#fff}.btn-success:hover{filter:brightness(.95)}.btn-warning{background:var(--warning-color);color:#fff}.btn-warning:hover{filter:brightness(.95)}.btn-danger{background:var(--danger-color);color:#fff}.btn-danger:hover{filter:brightness(.95)}.btn-info{color:#fff;background:#0ea5e9}.btn-info:hover{background:#0284c7}.btn-light{color:#111827;border-color:var(--border-color);background:#fff}[data-theme=dark] .btn-light{color:#fff;background:#334155}.btn-dark{color:#fff;background:#111827}[data-theme=dark] .btn-dark{background:#475569}.btn-outline-primary{color:var(--primary-color);border-color:var(--primary-color);background:0 0}.btn-outline-primary:hover{background:var(--primary-color);color:#fff}.btn-outline-danger{color:var(--danger-color);border-color:var(--danger-color);background:0 0}.btn-outline-danger:hover{background:var(--danger-color);color:#fff}.btn-ghost{color:var(--text-color);background:0 0}.btn-ghost:hover{background:var(--hover-bg)}.btn-icon{border-radius:10px;width:40px;height:40px;padding:0}.btn-pill{border-radius:999px}.btn-loading{pointer-events:none;position:relative}.btn-loading:after{content:"";border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:16px;height:16px;margin-left:8px;animation:.7s linear infinite btn-spin}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn-group{gap:8px;display:inline-flex}.actions{flex-wrap:wrap;gap:8px;display:flex}.btn-edit{background:var(--primary-color);color:#fff}.btn-edit:hover{background:var(--primary-hover)}.btn-delete{background:var(--danger-color);color:#fff}.btn-delete:hover{filter:brightness(.95)}.btn-save{background:var(--success-color);color:#fff}.btn-save:hover{filter:brightness(.95)}.btn-cancel{background:var(--secondary-bg);color:var(--text-color);border:1px solid var(--border-color)}.btn-cancel:hover{background:var(--hover-bg)}.btn-permissions{background:var(--warning-color);color:#fff}.btn-permissions:hover{filter:brightness(.95)}.form{flex-direction:column;gap:20px;display:flex}.form-row{gap:20px;display:flex}.form-col{flex:1}@media (width<=768px){.form-row{flex-direction:column;gap:16px}}.form-group{flex-direction:column;gap:8px;display:flex}.form-label{color:var(--text-color);font-size:14px;font-weight:600}.required:after{content:" *";color:var(--danger-color)}.form-control,.form-select,textarea{background:var(--input-bg);width:100%;min-height:44px;color:var(--text-color);border:1px solid var(--border-color);border-radius:10px;padding:10px 14px;font-size:14px;transition:border-color .2s,box-shadow .2s,background .2s}textarea{resize:vertical;min-height:120px}.form-control::placeholder,textarea::placeholder{color:var(--text-muted)}.form-control:focus,.form-select:focus,textarea:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #2563eb2e}.form-control:disabled,.form-select:disabled,textarea:disabled{opacity:.7;cursor:not-allowed}.is-valid{border-color:var(--success-color)}.is-valid:focus{box-shadow:0 0 0 3px #10b9812e}.is-invalid{border-color:var(--danger-color)}.is-invalid:focus{box-shadow:0 0 0 3px #ef44442e}.form-text{color:var(--text-muted);font-size:13px}.form-error{color:var(--danger-color);font-size:13px}.form-success{color:var(--success-color);font-size:13px}.form-check{align-items:center;gap:10px;display:flex}.form-check input{width:18px;height:18px;accent-color:var(--primary-color)}.form-check label{color:var(--text-color);cursor:pointer}.form-radio{align-items:center;gap:10px;display:flex}.form-radio input{accent-color:var(--primary-color)}.input-group{align-items:center;display:flex}.input-group .form-control{border-radius:10px 0 0 10px}.input-group .btn{border-radius:0 10px 10px 0}.search-box{position:relative}.search-box input{padding-left:42px}.search-icon{color:var(--text-muted);position:absolute;top:50%;left:14px;transform:translateY(-50%)}.form-control[readonly]{background:var(--hover-bg)}.form-file{border:2px dashed var(--border-color);text-align:center;cursor:pointer;border-radius:12px;padding:20px;transition:all .2s}.form-file:hover{border-color:var(--primary-color)}.form-section{border-bottom:1px solid var(--border-color);flex-direction:column;gap:18px;padding-bottom:20px;display:flex}.form-section:last-child{border-bottom:none}.form-title{color:var(--text-color);font-size:16px;font-weight:700}@media (width<=640px){.form-control,.form-select,textarea{font-size:16px}}.modal-overlay,.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1040;background:#0f172a8c;position:fixed;inset:0}.modal{z-index:1050;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-dialog{width:100%;max-width:520px;animation:.2s modalFade}.modal-sm{max-width:400px}.modal-lg{max-width:800px}.modal-xl{max-width:1140px}.modal-content{background:var(--card-bg);color:var(--text-color);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);border-radius:18px;flex-direction:column;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex}.modal-title{color:var(--text-color);font-size:18px;font-weight:700}.modal-close,.btn-close{width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.modal-close:hover,.btn-close:hover{background:var(--hover-bg);color:var(--text-color)}.modal-body{color:var(--text-color);padding:24px;line-height:1.6}.modal-footer{border-top:1px solid var(--border-color);justify-content:flex-end;align-items:center;gap:12px;padding:20px 24px;display:flex}.modal-icon{border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 20px;display:flex}.modal-icon.success{color:var(--success-color);background:#10b9811f}.modal-icon.warning{color:var(--warning-color);background:#f59e0b1f}.modal-icon.danger{color:var(--danger-color);background:#ef44441f}.modal-confirm{text-align:center}.modal-confirm h4{color:var(--text-color);margin-bottom:12px}.modal-confirm p{color:var(--text-muted)}.modal-scroll{max-height:70vh;overflow-y:auto}.modal-divider{border-top:1px solid var(--border-color);margin:20px 0}@keyframes modalFade{0%{opacity:0;transform:translateY(-15px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.modal{padding:16px}.modal-dialog{max-width:100%}.modal-header,.modal-body,.modal-footer{padding:18px}.modal-footer{flex-direction:column-reverse}.modal-footer .btn{width:100%}}.card{background:var(--card-bg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:18px;transition:background .25s,border-color .25s,box-shadow .25s,transform .2s}.card:hover{box-shadow:var(--shadow-md)}.card-header{border-bottom:1px solid var(--border-color);background:var(--hover-bg);justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.card-title{color:var(--text-color);margin:0;font-size:18px;font-weight:700}.card-subtitle{color:var(--text-muted);margin-top:4px;font-size:13px}.card-body{padding:22px}.card-footer{border-top:1px solid var(--border-color);background:var(--hover-bg);padding:18px 22px}.card-flat{box-shadow:none}.card-bordered{border:2px solid var(--border-color)}.card-primary{border-left:4px solid var(--primary-color)}.card-success{border-left:4px solid var(--success-color)}.card-warning{border-left:4px solid var(--warning-color)}.card-danger{border-left:4px solid var(--danger-color)}.stat-card{background:var(--card-bg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:18px;justify-content:space-between;align-items:center;padding:24px;display:flex}.stat-title{color:var(--text-muted);font-size:14px}.stat-value{color:var(--text-color);margin-top:8px;font-size:30px;font-weight:700}.stat-icon{width:58px;height:58px;color:var(--primary-color);background:#2563eb1f;border-radius:14px;justify-content:center;align-items:center;display:flex}.badge{border-radius:999px;justify-content:center;align-items:center;padding:5px 12px;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.badge-primary{color:#2563eb;background:#2563eb1f}.badge-success{color:#16a34a;background:#22c55e1f}.badge-warning{color:#d97706;background:#f59e0b26}.badge-danger{color:#dc2626;background:#ef44441f}.badge-secondary{background:var(--hover-bg);color:var(--text-color)}.badge-info{color:#0284c7;background:#0ea5e91f}.switch{width:48px;height:26px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;background:#cbd5e1;border-radius:999px;transition:all .25s;position:absolute;inset:0}.slider:before{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:all .25s;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #00000026}.switch input:checked+.slider{background:#22c55e}.switch input:checked+.slider:before{transform:translate(22px)}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{min-height:100%}html{transition:background-color .25s,color .25s}body{background:var(--body-bg);color:var(--text-color);font-family:Inter,Segoe UI,Arial,sans-serif;transition:background-color .25s,color .25s}a{color:var(--primary-color);text-decoration:none}button{font-family:inherit}input,textarea,select{background:var(--input-bg);color:var(--text-color);border:1px solid var(--input-border)}::selection{background:var(--primary-color);color:#fff}.profile-card{max-width:800px;margin:auto}.profile-image-section{text-align:center;margin-bottom:25px}.profile-image,.profile-placeholder{object-fit:cover;border-radius:50%;width:120px;height:120px}.profile-placeholder{background:var(--primary-color);color:#fff;justify-content:center;align-items:center;margin:auto;font-size:32px;font-weight:700;display:flex}.profile-image-section input{margin-top:15px}.form-group{margin-bottom:20px}
