:export{primaryColor:#3b82f6;menuText:#94a3b8;menuActiveText:#3b82f6;subMenuActiveText:#f1f5f9;menuBg:#1e293b;menuHover:#334155;subMenuBg:#0f172a;subMenuHover:#1e293b;sideBarWidth:260px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes dialog-appear{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8fafc;color:#1e293b;font-size:14px;line-height:1.5}#root{width:100%;height:100%}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background-color:#64748b4d;border-radius:4px}::-webkit-scrollbar-thumb:hover{background-color:#64748b80}::-webkit-scrollbar-track{background-color:transparent}a{color:#3b82f6;text-decoration:none;transition:color .15s ease}a:hover{color:#2563eb;text-decoration:underline}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit}ul,ol{list-style:none}img{max-width:100%;height:auto}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mt-5{margin-top:2rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mb-5{margin-bottom:2rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.p-5{padding:2rem}.btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:12px;cursor:pointer;font-weight:500;font-size:14px;line-height:1;transition:all .2s ease}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn{padding:12px 24px;font-size:14px;gap:10px;border-radius:12px}.btn svg{font-size:16px}.btn--primary{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:12px;cursor:pointer;font-weight:500;font-size:14px;line-height:1;transition:all .2s ease}.btn--primary:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn--primary{color:#fff;background:linear-gradient(135deg,#3b82f6,#0b5fe9);box-shadow:0 4px 14px #3b82f659}.btn--primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #3b82f673}.btn--primary:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 14px #3b82f659}.btn--secondary{color:#1e293b;background:#fff;border:2px solid #e2e8f0}.btn--secondary:hover:not(:disabled){color:#3b82f6;background:#3b82f60a;border-color:#3b82f6}.btn--success{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:12px;cursor:pointer;font-weight:500;font-size:14px;line-height:1;transition:all .2s ease}.btn--success:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn--success{background:#22c55e;color:#fff}.btn--success:hover:not(:disabled){background-color:#1dab52;transform:translateY(-2px);box-shadow:0 6px 20px #22c55e59}.btn--danger{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:12px;cursor:pointer;font-weight:500;font-size:14px;line-height:1;transition:all .2s ease}.btn--danger:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn--danger{background:#ef4444;color:#fff}.btn--danger:hover:not(:disabled){background-color:#ed2828;transform:translateY(-2px);box-shadow:0 6px 20px #ef444459}.btn--outline{color:#3b82f6;background:transparent;border:2px solid #3b82f6}.btn--outline:hover:not(:disabled){background:#3b82f6;color:#fff}.btn--small{padding:8px 16px;font-size:13px;border-radius:8px}.btn--large{padding:16px 32px;font-size:16px}.btn-submit{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:12px;cursor:pointer;font-weight:500;font-size:14px;line-height:1;transition:all .2s ease}.btn-submit:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-submit{background:#3b82f6;color:#fff}.btn-submit:hover:not(:disabled){background-color:#2563eb;transform:translateY(-2px);box-shadow:0 6px 20px #3b82f659}.btn-submit:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #3b82f64d}.btn-submit{width:100%;padding:16px;font-size:16px;font-weight:600;margin-top:12px;border-radius:12px}.btn-primary{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:12px;cursor:pointer;font-weight:500;font-size:14px;line-height:1;transition:all .2s ease}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background-color:#2563eb;transform:translateY(-2px);box-shadow:0 6px 20px #3b82f659}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #3b82f64d}.btn-primary{padding:12px 24px}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:12px;cursor:pointer;font-weight:500;font-size:14px;line-height:1;transition:all .2s ease}.btn-secondary:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-secondary{background-color:#f8fafc;color:#1e293b;border:2px solid #e2e8f0}.btn-secondary:hover:not(:disabled){background-color:#f1f5f9;border-color:#cbd5e1}.btn-secondary{padding:12px 24px}.btn-add-user,.btn-back{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:12px;cursor:pointer;font-weight:500;font-size:14px;line-height:1;transition:all .2s ease}.btn-add-user:disabled,.btn-back:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-add-user,.btn-back{color:#fff;background:linear-gradient(135deg,#3b82f6,#0b5fe9);box-shadow:0 4px 14px #3b82f659}.btn-add-user:hover:not(:disabled),.btn-back:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #3b82f673}.btn-add-user:active:not(:disabled),.btn-back:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 14px #3b82f659}.btn-add-user,.btn-back{padding:12px 24px;font-size:14px;border-radius:12px;gap:10px}.btn-add-user svg,.btn-back svg{font-size:18px}.btn-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:100px;padding:10px 14px;font-size:13px;font-weight:500;color:#3b82f6;background-color:#3b82f614;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-action:hover:not(:disabled){background-color:#3b82f6;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f640}.btn-action:active:not(:disabled){transform:translateY(0)}.btn-action:disabled{opacity:.5;cursor:not-allowed}.btn-action.btn-role-visitor{color:#64748b;background-color:#64748b1a}.btn-action.btn-role-visitor:hover:not(:disabled){background-color:#64748b;color:#fff;box-shadow:0 4px 12px #64748b40}.btn-action.btn-role-editor{color:#f59e0b;background-color:#f59e0b1a}.btn-action.btn-role-editor:hover:not(:disabled){background-color:#f59e0b;color:#fff;box-shadow:0 4px 12px #f59e0b40}.btn-action.btn-lock{color:#ef4444;background-color:#ef44441a}.btn-action.btn-lock:hover:not(:disabled){background-color:#ef4444;color:#fff;box-shadow:0 4px 12px #ef444440}.btn-action.btn-unlock{color:#22c55e;background-color:#22c55e1a}.btn-action.btn-unlock:hover:not(:disabled){background-color:#22c55e;color:#fff;box-shadow:0 4px 12px #22c55e40}.btn-action.btn-delete{color:#dc2626;background-color:#dc262614}.btn-action.btn-delete:hover:not(:disabled){background-color:#dc2626;color:#fff;box-shadow:0 4px 12px #dc262640}@media (max-width: 576px){.btn-action{min-width:0;padding:8px 10px;font-size:12px;min-height:36px}}.btn-sm{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:6px 12px;font-size:13px;font-weight:500;color:#1e293b;background-color:#f8fafc;border:1px solid #f1f5f9;border-radius:8px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.btn-sm:hover:not(:disabled){background-color:#e6edf4;border-color:#e2e8f0}.btn-sm:disabled{opacity:.5;cursor:not-allowed}.btn-info{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;color:#0ea5e9;background-color:#0ea5e91a;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.btn-info:hover:not(:disabled){background-color:#0ea5e9;color:#fff;box-shadow:0 4px 12px #0ea5e940}.btn-info:disabled{opacity:.5;cursor:not-allowed}.form-group{margin-bottom:24px}.form-group label{display:block;margin-bottom:10px;font-size:14px;font-weight:500;color:#1e293b;letter-spacing:.01em}.form-group input:not(.input-wrapper input){width:100%;padding:14px 16px;border:2px solid #e2e8f0;border-radius:12px;font-size:14px;box-sizing:border-box;background-color:#fff;color:#1e293b;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.form-group input:not(.input-wrapper input):hover:not(:focus):not(:disabled){border-color:#cbd5e1}.form-group input:not(.input-wrapper input):focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626;background-color:#fff}.form-group input:not(.input-wrapper input):disabled{background-color:#f8fafc;border-color:#f1f5f9;cursor:not-allowed;color:#64748b}.form-group input:not(.input-wrapper input)::placeholder{color:#94a3b8}.form-group select{width:100%;padding:14px 16px;border:2px solid #e2e8f0;border-radius:12px;font-size:14px;box-sizing:border-box;background-color:#fff;color:#1e293b;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.form-group select:hover:not(:focus):not(:disabled){border-color:#cbd5e1}.form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626;background-color:#fff}.form-group select:disabled{background-color:#f8fafc;border-color:#f1f5f9;cursor:not-allowed;color:#64748b}.form-group select::placeholder{color:#94a3b8}.form-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:44px}.form-group select:hover:not(:disabled){border-color:#cbd5e1}.form-group textarea{width:100%;padding:14px 16px;border:2px solid #e2e8f0;border-radius:12px;font-size:14px;box-sizing:border-box;background-color:#fff;color:#1e293b;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.form-group textarea:hover:not(:focus):not(:disabled){border-color:#cbd5e1}.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626;background-color:#fff}.form-group textarea:disabled{background-color:#f8fafc;border-color:#f1f5f9;cursor:not-allowed;color:#64748b}.form-group textarea::placeholder{color:#94a3b8}.form-group textarea{resize:vertical;font-family:inherit;min-height:120px}.form-group--wide{grid-column:span 1}@media (min-width: 601px){.form-group--wide{grid-column:span 1}.form-group--wide input,.form-group--wide textarea{width:100%}}.form-group--full{grid-column:1/-1}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.form-row+.form-row{margin-top:20px}.form-row+.form-divider{margin-top:20px}@media (max-width: 576px){.form-row{grid-template-columns:1fr;gap:16px}}.form-section{margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid #f1f5f9}.form-section:last-of-type{margin-bottom:0;padding-bottom:0;border-bottom:none}.form-section h4{margin:0 0 20px;font-size:16px;font-weight:600;color:#1e293b}.form-divider{display:block;padding:0 0 20px;margin:20px 0}.form-divider+.form-row{margin-top:0}.form-divider .alert-title{display:block;padding:12px 20px;background:linear-gradient(135deg,#3b82f614,#3b82f60a);color:#3b82f6;border:1px solid rgba(59,130,246,.15);border-radius:12px;font-size:14px;font-weight:500;margin:0}.personal-data-hidden{display:flex;align-items:center;justify-content:center;padding:40px 20px;background:linear-gradient(135deg,#f59e0b14,#f59e0b0a);border:1px dashed rgba(245,158,11,.4);border-radius:12px;margin:20px 0}.personal-data-hidden p{color:#64748b;font-size:14px;margin:0}.form-actions{flex-shrink:0;display:flex;justify-content:flex-end;gap:16px;padding:20px 24px;background:#fff;border-top:1px solid #f1f5f9}@media (max-width: 576px){.form-actions{flex-direction:column-reverse;padding:16px;gap:12px}.form-actions button{width:100%}}.input-wrapper{position:relative;display:flex;align-items:center;border:2px solid #e2e8f0;border-radius:12px;background:#fff;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.input-wrapper:hover:not(:focus-within){border-color:#cbd5e1}.input-wrapper:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626;background-color:#fff}.input-wrapper .input-icon{padding:0 16px;color:#94a3b8;display:flex;align-items:center;font-size:18px;flex-shrink:0}.input-wrapper input{flex:1;border:none;padding:14px 0;font-size:14px;background:transparent;color:#1e293b}.input-wrapper input:focus{outline:none}.input-wrapper input::placeholder{color:#94a3b8}.input-wrapper input:disabled{background-color:transparent;cursor:not-allowed;color:#64748b}.input-wrapper .toggle-password{padding:0 20px;color:#94a3b8;cursor:pointer;display:flex;align-items:center;font-size:18px;transition:color .15s ease;flex-shrink:0}.input-wrapper .toggle-password:hover{color:#475569}.hint{margin:8px 0 0;font-size:13px}.hint--error{color:#ef4444}.hint--info{color:#64748b}.required{color:#ef4444;margin-left:4px;font-weight:500}.role-select{display:flex;gap:16px}@media (max-width: 576px){.role-select{flex-direction:column}}.role-select .role-option{flex:1;display:flex;flex-direction:column;align-items:center;padding:20px 16px;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .2s ease;background:#fff}.role-select .role-option:hover{border-color:#60a5fa;background-color:#3b82f605;transform:translateY(-2px);box-shadow:0 4px 6px -1px #00000012,0 2px 4px -2px #0000000d}.role-select .role-option.selected{border-color:#3b82f6;background-color:#3b82f60a;box-shadow:0 0 0 4px #3b82f61a}.role-select .role-option input[type=radio]{display:none}.role-select .role-option .role-label{font-size:15px;font-weight:600;color:#1e293b;margin-bottom:4px}.role-select .role-option .role-desc{font-size:12px;color:#64748b}.card{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000d,0 1px 2px #0000001a;border:1px solid #f1f5f9}.card-header{padding:20px 24px;border-bottom:1px solid #f1f5f9}.card-header h3{margin:0;font-size:18px;color:#1e293b;font-weight:600}.card-body{padding:24px}table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #0000000d,0 1px 2px #0000001a}table th,table td{padding:16px 20px;text-align:left;border-bottom:1px solid #f1f5f9}table th{background-color:#f8fafc;font-weight:600;color:#1e293b;font-size:13px;text-transform:uppercase;letter-spacing:.05em}table td{color:#475569;font-size:14px}table tbody tr:last-child td{border-bottom:none}table tbody tr{transition:background-color .15s ease}table tbody tr:hover{background-color:#3b82f605}.alert{padding:16px 20px;border-radius:12px;font-size:14px;font-weight:500;margin-bottom:20px}.alert--error{padding:16px 20px;border-radius:12px;font-size:14px;font-weight:500;background-color:#ef444414;border:1px solid rgba(239,68,68,.15);color:#ef4444}.alert--success{padding:16px 20px;border-radius:12px;font-size:14px;font-weight:500;background-color:#22c55e14;border:1px solid rgba(34,197,94,.15);color:#22c55e}.alert--warning{padding:16px 20px;border-radius:12px;font-size:14px;font-weight:500;background-color:#f59e0b14;border:1px solid rgba(245,158,11,.15);color:#f59e0b}.alert--info{padding:16px 20px;border-radius:12px;font-size:14px;font-weight:500;background-color:#0ea5e914;border:1px solid rgba(14,165,233,.15);color:#0ea5e9}.error-message{padding:16px 20px;border-radius:12px;font-size:14px;font-weight:500;background-color:#ef444414;border:1px solid rgba(239,68,68,.15);color:#ef4444;margin-bottom:24px}.success-message{padding:16px 20px;border-radius:12px;font-size:14px;font-weight:500;background-color:#22c55e14;border:1px solid rgba(34,197,94,.15);color:#22c55e;margin-bottom:24px}.status-badge{display:inline-flex;align-items:center;padding:6px 14px;border-radius:9999px;font-size:12px;font-weight:500;letter-spacing:.02em}.status-active{display:inline-flex;align-items:center;padding:6px 14px;border-radius:9999px;font-size:12px;font-weight:500;letter-spacing:.02em;background-color:#22c55e1a;color:#22c55e}.status-inactive{display:inline-flex;align-items:center;padding:6px 14px;border-radius:9999px;font-size:12px;font-weight:500;letter-spacing:.02em;background-color:#f59e0b1a;color:#f59e0b}.status-locked{display:inline-flex;align-items:center;padding:6px 14px;border-radius:9999px;font-size:12px;font-weight:500;letter-spacing:.02em;background-color:#ef44441a;color:#ef4444}.role-badge{display:inline-flex;align-items:center;padding:6px 14px;border-radius:9999px;font-size:12px;font-weight:500;letter-spacing:.02em}.role-admin{display:inline-flex;align-items:center;padding:6px 14px;border-radius:9999px;font-size:12px;font-weight:500;letter-spacing:.02em;background-color:#ef44441a;color:#ef4444}.role-editor{display:inline-flex;align-items:center;padding:6px 14px;border-radius:9999px;font-size:12px;font-weight:500;letter-spacing:.02em;background-color:#f59e0b1a;color:#f59e0b}.role-visitor{display:inline-flex;align-items:center;padding:6px 14px;border-radius:9999px;font-size:12px;font-weight:500;letter-spacing:.02em;background-color:#64748b1a;color:#64748b}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:80px 24px;color:#64748b}@media (max-width: 576px){.loading-container{padding:40px 16px}}.loading-container .loading-spinner{width:48px;height:48px;border:3px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.loading{color:#64748b;font-style:italic}.error{color:#ef4444}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:80px 24px}.error-container .error-message{padding:20px 32px;background:#ef444414;color:#ef4444;border:1px solid rgba(239,68,68,.15);border-radius:12px;font-size:14px}.empty-state{text-align:center;padding:60px 24px;color:#64748b}.empty-state p{margin:0;font-size:16px}.dialog{position:fixed;top:0;left:0;right:0;bottom:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:24px}@media (max-width: 576px){.dialog{padding:12px}}.dialog__overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog__content{position:relative;background:#fff;border-radius:24px;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000000d;max-width:480px;width:100%;max-height:calc(100vh - 48px);overflow:auto;animation:dialog-appear .25s cubic-bezier(.34,1.56,.64,1)}@media (max-width: 576px){.dialog__content{max-width:100%;border-radius:16px}}.dialog__content--wide{max-width:720px;max-height:90vh}@media (max-width: 576px){.dialog__content--wide{max-width:100%}}.dialog__header{padding:24px 28px;border-bottom:1px solid #f1f5f9}@media (max-width: 576px){.dialog__header{padding:20px}}.dialog__header h3{margin:0;font-size:18px;color:#1e293b;font-weight:600}.dialog__body{padding:28px}@media (max-width: 576px){.dialog__body{padding:20px}}.dialog__description{font-size:14px;color:#64748b;margin:0 0 20px;line-height:1.6}.dialog__footer{padding:20px 28px;border-top:1px solid #f1f5f9;display:flex;justify-content:flex-end;gap:16px}@media (max-width: 576px){.dialog__footer{padding:16px 20px;gap:12px}}.caps-lock-warning{padding:10px 14px;margin-bottom:16px;font-size:13px;color:#f59e0b;background-color:#f59e0b1a;border:1px solid rgba(245,158,11,.2);border-radius:6px;display:flex;align-items:center;gap:6px}.permission-list{list-style:none;padding:0;margin:0}.permission-list li{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #f1f5f9;color:#94a3b8;font-size:14px}.permission-list li:last-child{border-bottom:none}.permission-list li.active{color:#1e293b}.permission-list .icon{font-size:14px}.info-grid{display:grid;gap:12px}.info-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background-color:#f8fafc;border-radius:6px}.info-item .label{color:#64748b;font-size:13px}.info-item .value{font-weight:500;color:#1e293b;font-size:14px}.todo-list{list-style:none;padding:0;margin:0}.todo-list li{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #f1f5f9}.todo-list li:last-child{border-bottom:none}.todo-list input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#3b82f6}.todo-list label{cursor:pointer;font-size:14px;color:#475569}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:12px}@media (max-width: 576px){.stats-grid{grid-template-columns:1fr;gap:12px}}@media (min-width: 1200px){.stats-grid{grid-template-columns:repeat(4,1fr)}}.stat-item{text-align:center;padding:20px 16px;background-color:#f8fafc;border-radius:8px;transition:background-color .15s ease}.stat-item:hover{background-color:#edf2f7}@media (max-width: 576px){.stat-item{padding:16px 12px}}.stat-value{display:block;font-size:32px;font-weight:700;color:#3b82f6}@media (max-width: 576px){.stat-value{font-size:24px}}.stat-label{display:block;font-size:13px;color:#64748b;margin-top:8px}.star-rating{display:inline-flex;align-items:center;gap:4px;min-height:40px;padding:8px 0}.star-rating__star{cursor:pointer;font-size:24px;transition:transform .15s ease,color .15s ease;display:inline-flex;align-items:center}.star-rating__star:hover{transform:scale(1.15)}.star-rating__text{margin-left:8px;font-size:14px;color:#64748b;font-weight:500}.star-rating--disabled .star-rating__star{cursor:not-allowed;opacity:.6}.star-rating--disabled .star-rating__star:hover{transform:none}.export-modal__actions{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #f1f5f9}.export-modal__count{margin-left:auto;font-size:13px;color:#64748b;font-weight:500}.export-modal__categories{display:flex;flex-direction:column;gap:20px;max-height:400px;overflow-y:auto;padding-right:8px}.export-modal__category{background:#f8fafc;border-radius:12px;padding:16px}.export-modal__category-header{display:flex;align-items:center;gap:10px;cursor:pointer;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #f1f5f9}.export-modal__category-header input[type=checkbox]{width:18px;height:18px;accent-color:#3b82f6;cursor:pointer}.export-modal__category-title{font-weight:600;font-size:14px;color:#1e293b;display:flex;align-items:center;gap:6px}.export-modal__lock-icon{color:#f59e0b;font-size:12px}.export-modal__fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px 16px}@media (max-width: 576px){.export-modal__fields{grid-template-columns:1fr}}.export-modal__field{display:flex;align-items:center;gap:8px;cursor:pointer;padding:6px 8px;border-radius:4px;transition:background-color .15s ease}.export-modal__field:hover{background-color:#3b82f60d}.export-modal__field input[type=checkbox]{width:16px;height:16px;accent-color:#3b82f6;cursor:pointer}.export-modal__field span{font-size:13px;color:#475569;display:flex;align-items:center;gap:4px}.export-modal__field-lock{color:#f59e0b;font-size:10px}.pagination-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}@media (max-width: 576px){.pagination-controls{flex-direction:column;align-items:stretch}}.pagination-controls__title{margin:0}.pagination-controls__options{display:flex;align-items:center;gap:.5rem}.pagination-controls__label{color:#64748b;font-size:13px}.pagination-controls__select{padding:.4rem .8rem;border-radius:8px;border:1px solid #e2e8f0;background:#fff;color:#1e293b;font-size:13px;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.pagination-controls__select:hover{border-color:#3b82f6}.pagination-controls__select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.pagination-controls__total{margin-left:1rem;color:#64748b;font-size:13px}@media (max-width: 576px){.pagination-controls__total{margin-left:0}}.pagination-nav{display:flex;justify-content:center;align-items:center;gap:.5rem;margin-top:1.5rem;flex-wrap:wrap}@media (max-width: 576px){.pagination-nav{gap:4px}}.pagination-nav__btn{padding:.5rem 1rem;border-radius:8px;border:1px solid #e2e8f0;background:#fff;color:#1e293b;font-size:13px;cursor:pointer;transition:all .2s ease}@media (max-width: 576px){.pagination-nav__btn{padding:8px 12px;font-size:12px}}.pagination-nav__btn:hover:not(:disabled){background:#f1f5f9;border-color:#3b82f6;color:#3b82f6}.pagination-nav__btn:disabled{opacity:.5;cursor:not-allowed;background:#f8fafc}.pagination-nav__btn--active{background:#3b82f6;border-color:#3b82f6;color:#fff}.pagination-nav__btn--active:hover:not(:disabled){background:#2563eb;border-color:#2563eb;color:#fff}.pagination-nav__info{margin:0 .75rem;color:#64748b;font-size:13px}@media (max-width: 576px){.pagination-nav__info{margin:0 4px;font-size:12px}}.pagination-nav__page-numbers{display:flex;gap:.25rem}.pagination-nav__page-btn{min-width:2.25rem;height:2.25rem;padding:0;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid #e2e8f0;background:#fff;color:#1e293b;font-size:13px;cursor:pointer;transition:all .2s ease}@media (max-width: 576px){.pagination-nav__page-btn{min-width:2rem;height:2rem;font-size:12px}}.pagination-nav__page-btn:hover:not(:disabled):not(.pagination-nav__page-btn--active){background:#f1f5f9;border-color:#3b82f6;color:#3b82f6}.pagination-nav__page-btn--active{background:#3b82f6;border-color:#3b82f6;color:#fff}.pagination-nav__page-btn--ellipsis{border:none;background:transparent;cursor:default;color:#64748b}.pagination-nav__page-btn--ellipsis:hover{background:transparent;color:#64748b}.app-wrapper{position:relative;height:100%;width:100%}.app-wrapper.hideSidebar .sidebar-container{width:72px!important}@media (max-width: 768px){.app-wrapper.hideSidebar .sidebar-container{width:260px!important}}.app-wrapper.hideSidebar .main-container{margin-left:72px}@media (max-width: 768px){.app-wrapper.hideSidebar .main-container{margin-left:0}}.main-container{min-height:100%;transition:margin-left .3s ease;margin-left:260px;position:relative;background-color:#f8fafc}@media (max-width: 768px){.main-container{margin-left:0}}.app-main{min-height:calc(100vh - 64px);padding:24px;overflow:auto}@media (max-width: 768px){.app-main{padding:16px}}@media (max-width: 576px){.app-main{padding:12px}}.sidebar-container{position:fixed;top:0;left:0;bottom:0;width:260px;background-color:#1e293b;transition:width .3s ease;z-index:1001;overflow:hidden;display:flex;flex-direction:column}.sidebar-container.is-collapsed{width:72px}.sidebar-container.is-collapsed .logo-title,.sidebar-container.is-collapsed .menu-item-text,.sidebar-container.is-collapsed .submenu-arrow,.sidebar-container.is-collapsed .submenu{display:none}.sidebar-container.is-collapsed .menu-item,.sidebar-container.is-collapsed .menu-item-title{justify-content:center;padding:0!important}.sidebar-container.is-collapsed .menu-item .menu-item-icon,.sidebar-container.is-collapsed .menu-item-title .menu-item-icon{margin-right:0;font-size:22px}.sidebar-container .sidebar-menu::-webkit-scrollbar{width:6px}.sidebar-container .sidebar-menu::-webkit-scrollbar-track{background:transparent}.sidebar-container .sidebar-menu::-webkit-scrollbar-thumb{background-color:#ffffff26;border-radius:3px}.sidebar-logo{height:64px;display:flex;align-items:center;padding:0 20px;background-color:#0f172a}.sidebar-logo a{display:flex;align-items:center;width:100%;color:#fff;text-decoration:none;overflow:hidden}.sidebar-logo .logo-icon{font-size:28px;flex-shrink:0}.sidebar-logo .logo-title{margin-left:14px;font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-menu{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px 0}.menu-item{display:flex;align-items:center;padding:0 24px;height:52px;color:#94a3b8;text-decoration:none;cursor:pointer;transition:background-color .2s ease,color .2s ease}.menu-item:hover{background-color:#334155}.menu-item.is-active{color:#3b82f6;background-color:#334155}.menu-item.is-active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background-color:#3b82f6;border-radius:0 2px 2px 0}.menu-item.has-submenu{display:block;height:auto;padding:0}.menu-item .menu-item-icon{font-size:20px;margin-right:14px;flex-shrink:0}.menu-item .menu-item-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px;font-weight:500}.menu-item-title{display:flex;align-items:center;padding:0 24px;height:52px;color:#94a3b8;cursor:pointer;transition:background-color .2s ease,color .2s ease;position:relative}.menu-item-title:hover{background-color:#334155}.menu-item-title.is-active{color:#3b82f6}.menu-item-title .menu-item-icon{font-size:20px;margin-right:14px;flex-shrink:0}.menu-item-title .menu-item-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px;font-weight:500}.menu-item-title .submenu-arrow{font-size:10px;color:#94a3b8;transition:transform .2s ease}.submenu{max-height:0;overflow:hidden;transition:max-height .3s ease ease-out;background-color:#0f172a}.submenu.is-open{max-height:500px}.submenu-item{display:flex;align-items:center;padding:0 24px 0 58px;height:46px;color:#94a3b8;text-decoration:none;transition:background-color .2s ease,color .2s ease}.submenu-item:hover{background-color:#1e293b}.submenu-item.is-active{color:#f1f5f9}.submenu-item .menu-item-icon{font-size:16px;margin-right:12px;flex-shrink:0}.submenu-item .menu-item-text{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 768px){.sidebar-container{transform:translate(-100%);transition:transform .3s ease,width .3s ease}.sidebar-container.is-open{transform:translate(0)}}.sidebar-overlay{display:none}@media (max-width: 768px){.sidebar-overlay{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0f172a80;z-index:1000;animation:fadeIn .2s ease}}.top-navbar{height:64px;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;padding:0 24px;box-shadow:0 1px 3px #0000000a}@media (max-width: 576px){.top-navbar{padding:0 12px}}.top-navbar .navbar-left{display:flex;align-items:center;gap:20px}@media (max-width: 576px){.top-navbar .navbar-left{gap:12px}}.top-navbar .navbar-right{display:flex;align-items:center;gap:20px}@media (max-width: 576px){.top-navbar .navbar-right{gap:8px}}.hamburger{cursor:pointer;padding:12px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background-color .2s ease}.hamburger:hover{background-color:#f1f5f9}.hamburger .hamburger-icon{width:20px;height:2px;background-color:#1e293b;position:relative;transition:all .3s ease;border-radius:1px}.hamburger .hamburger-icon:before,.hamburger .hamburger-icon:after{content:"";position:absolute;left:0;width:100%;height:2px;background-color:#1e293b;transition:all .3s ease;border-radius:1px}.hamburger .hamburger-icon:before{top:-6px}.hamburger .hamburger-icon:after{top:6px}.hamburger.is-active .hamburger-icon{background-color:transparent}.hamburger.is-active .hamburger-icon:before{top:0;transform:rotate(45deg)}.hamburger.is-active .hamburger-icon:after{top:0;transform:rotate(-45deg)}.user-dropdown{position:relative;display:flex;align-items:center;gap:8px;cursor:pointer;padding:6px 12px;border-radius:4px;transition:background-color .15s ease}.user-dropdown:hover{background-color:#0000000a}.user-dropdown .user-avatar{width:32px;height:32px;border-radius:50%;background-color:#3b82f6;color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600}.user-dropdown .user-name{font-size:14px;color:#1e293b;font-weight:500}.user-dropdown .user-role{font-size:12px;color:#64748b}.user-dropdown .dropdown-arrow{font-size:10px;color:#64748b;transition:transform .15s ease}.user-dropdown.is-open .dropdown-arrow{transform:rotate(180deg)}@media (max-width: 576px){.user-dropdown{padding:6px 8px}.user-dropdown .user-name,.user-dropdown .user-role{display:none}}.user-menu{position:absolute;top:100%;right:0;margin-top:8px;min-width:120px;background:#fff;border-radius:4px;box-shadow:0 1px 3px #0000000d,0 1px 2px #0000001a;z-index:100;overflow:hidden}.user-menu button{display:block;width:100%;padding:10px 16px;text-align:left;background:none;border:none;cursor:pointer;color:#475569;font-size:14px;transition:all .15s ease}.user-menu button:hover{background-color:#f8fafc;color:#3b82f6}.page-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:32px;gap:24px}@media (max-width: 576px){.page-header{flex-direction:column;align-items:flex-start;margin-bottom:20px;gap:16px}}.page-header__title h1{margin:0 0 8px;color:#1e293b;font-size:22px;font-weight:700;letter-spacing:-.02em}.page-header__title p{margin:0;color:#64748b;font-size:14px}.page-content{flex:1;display:flex;flex-direction:column;background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000d,0 1px 2px #0000001a;border:1px solid #f1f5f9;overflow:hidden}.home-page{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 112px)}.welcome-card{text-align:center;background:#fff;padding:80px 100px;border-radius:24px;box-shadow:0 10px 15px -3px #00000014,0 4px 6px -4px #0000000d;border:1px solid #f1f5f9}@media (max-width: 768px){.welcome-card{padding:48px 32px}}@media (max-width: 576px){.welcome-card{padding:32px 20px}}.welcome-card .welcome-icon{font-size:72px;margin-bottom:32px}@media (max-width: 576px){.welcome-card .welcome-icon{font-size:48px;margin-bottom:24px}}.welcome-card h1{font-size:28px;color:#1e293b;margin-bottom:20px;font-weight:700;letter-spacing:-.02em}@media (max-width: 576px){.welcome-card h1{font-size:18px}}.welcome-card p{font-size:16px;color:#64748b;margin-bottom:12px;line-height:1.75}.welcome-card p.hint{margin-top:32px;font-size:14px;color:#cbd5e1}.login-container{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;background-color:#1e293b;overflow:hidden;background:linear-gradient(135deg,#1e293b,#0f172a)}.login-container .login-form{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);width:520px;max-width:calc(100% - 48px);padding:48px 40px 32px;margin:0 auto}@media (max-width: 576px){.login-container .login-form{top:35%;padding:32px 24px 24px}}.login-container .title-container{position:relative;margin-bottom:48px}.login-container .title-container .title{font-size:32px;color:#f1f5f9;margin:0;text-align:center;font-weight:700;letter-spacing:-.02em}.login-container .error-message{background-color:#ef444426;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:16px 20px;border-radius:12px;margin-bottom:24px;font-size:14px}.login-container .form-item{border:2px solid rgba(255,255,255,.08);background:#ffffff0d;border-radius:12px;color:#454545;margin-bottom:24px;position:relative;display:flex;align-items:center;transition:border-color .2s ease,background-color .2s ease}.login-container .form-item:focus-within{border-color:#3b82f680;background:#ffffff14}.login-container .form-item .svg-container{padding:6px 8px 6px 18px;color:#94a3b8;vertical-align:middle;width:36px;display:inline-flex;align-items:center;justify-content:center;font-size:20px}.login-container .form-item input{display:inline-block;height:52px;width:85%;background:transparent;border:0;-webkit-appearance:none;border-radius:0;padding:14px 8px 14px 12px;color:#f1f5f9;caret-color:#fff;font-size:14px}.login-container .form-item input::placeholder{color:#fff6}.login-container .form-item input:focus{outline:none}.login-container .form-item input:-webkit-autofill{box-shadow:0 0 0 1000px #0f172a inset!important;-webkit-text-fill-color:#fff!important}.login-container .form-item input:disabled{opacity:.5;cursor:not-allowed}.login-container .password-item .show-pwd{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:16px;color:#94a3b8;cursor:pointer;-webkit-user-select:none;user-select:none;padding:6px;display:flex;align-items:center;transition:color .15s ease}.login-container .password-item .show-pwd:hover{color:#f1f5f9}.login-container .password-item .caps-tooltip{position:absolute;right:50px;top:50%;transform:translateY(-50%);background:#000000d9;color:#fff;padding:6px 12px;border-radius:8px;font-size:12px;white-space:nowrap;pointer-events:none}.login-container .password-item .caps-tooltip:after{content:"";position:absolute;right:-5px;top:50%;transform:translateY(-50%);border:5px solid transparent;border-left-color:#000000d9}.login-container .login-button{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:12px;cursor:pointer;font-weight:500;font-size:14px;line-height:1;transition:all .2s ease}.login-container .login-button:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.login-container .login-button{background:#3b82f6;color:#fff}.login-container .login-button:hover:not(:disabled){background-color:#2563eb;transform:translateY(-2px);box-shadow:0 6px 20px #3b82f659}.login-container .login-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #3b82f64d}.login-container .login-button{width:100%;padding:16px;margin-bottom:36px;font-size:16px;border-radius:12px}.auth-page{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e293b,#0f172a);padding:48px 24px}.auth-card{background:#fff;box-shadow:0 1px 3px #0000000d,0 1px 2px #0000001a;border:1px solid #f1f5f9;padding:48px;border-radius:24px;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000000d;width:100%;max-width:440px}.auth-card h1{text-align:center;margin-bottom:40px;color:#1e293b;font-size:22px;font-weight:700}.auth-footer{text-align:center;margin-top:24px;padding-top:24px;border-top:1px solid #f1f5f9}.auth-footer p{color:#64748b;font-size:14px}.auth-footer a{color:#3b82f6;text-decoration:none;font-weight:500}.auth-footer a:hover{text-decoration:underline}.demo-accounts{margin-top:32px;padding:16px;background-color:#f8fafc;border-radius:8px}.demo-accounts h3{margin:0 0 12px;font-size:13px;color:#64748b;font-weight:500}.demo-accounts ul{list-style:none;padding:0;margin:0}.demo-accounts li{padding:6px 0;color:#475569;font-size:13px;font-family:Monaco,Menlo,monospace}.demo-accounts strong{color:#3b82f6}.dashboard-page{max-width:1600px;margin:0 auto}.dashboard-header{margin-bottom:24px;display:flex;justify-content:space-between;align-items:flex-end}@media (max-width: 576px){.dashboard-header{flex-direction:column;align-items:flex-start;gap:12px}}.dashboard-header__title h1{margin:0 0 8px;color:#1e293b;font-size:22px;font-weight:700}.dashboard-header__title p{margin:0;color:#64748b;font-size:14px}.dashboard-header__actions{display:flex;align-items:center;gap:16px}@media (max-width: 576px){.dashboard-header__actions{width:100%;flex-wrap:wrap}}.dashboard-header__actions .last-updated{font-size:13px;color:#cbd5e1}.dashboard-header h1{margin:0 0 8px;color:#1e293b;font-size:22px;font-weight:700}.dashboard-header p{margin:0;color:#64748b;font-size:14px}.dashboard-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:24px}@media (max-width: 576px){.dashboard-content{grid-template-columns:1fr;gap:16px}}@media (min-width: 1200px){.dashboard-content{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1600px){.dashboard-content{grid-template-columns:repeat(4,1fr)}}.dashboard-card{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000d,0 1px 2px #0000001a;border:1px solid #f1f5f9;transition:transform .2s ease,box-shadow .2s ease}.dashboard-card:hover{transform:translateY(-4px);box-shadow:0 10px 15px -3px #00000014,0 4px 6px -4px #0000000d}.dashboard-card{padding:24px}@media (max-width: 576px){.dashboard-card{padding:16px}}.dashboard-card.full-width{grid-column:1/-1}.dashboard-card.stats-card{display:flex;align-items:flex-start;gap:20px;min-height:140px}.dashboard-card h2{margin:0 0 20px;font-size:16px;font-weight:600;color:#1e293b}.stats-card__icon{font-size:48px;line-height:1;flex-shrink:0}.stats-card__content{flex:1;min-width:0}.stats-card__content h2{margin:0 0 12px;font-size:14px;font-weight:500;color:#64748b}.stats-card__value{font-size:36px;font-weight:700;color:#1e293b;line-height:1.2}.stats-card__value.loading{font-size:16px;color:#cbd5e1;font-weight:400}.stats-card__value.error{color:#ef4444}.stats-card__unit{font-size:16px;font-weight:500;color:#64748b;margin-left:4px}.dashboard-error{margin-top:24px;padding:16px 20px;background-color:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:16px}.dashboard-error p{margin:0;color:#ef4444;font-size:14px}.search-panel{margin-bottom:24px}.search-panel__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}.search-panel__title{font-size:16px;font-weight:600;color:#1e293b;margin:0;display:flex;align-items:center;gap:8px}.search-panel__checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:14px;font-weight:500;color:#64748b}.search-panel__checkbox input[type=checkbox]{width:18px;height:18px;accent-color:#3b82f6;cursor:pointer}.search-panel__checkbox span{transition:color .2s ease}.search-panel__checkbox:hover span{color:#3b82f6}.search-panel__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:20px}@media (max-width: 576px){.search-panel__grid{grid-template-columns:1fr}}.search-panel__grid--advanced{padding-top:16px;border-top:1px dashed #e2e8f0}.search-panel__field{display:flex;flex-direction:column;gap:6px}.search-panel__field label{font-size:13px;font-weight:500;color:#64748b}.search-panel__input{height:50px;min-height:50px;padding:0 16px;border:2px solid #e2e8f0;border-radius:12px;font-size:14px;color:#1e293b;background:#fff;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}.search-panel__input:hover{border-color:#cbd5e1}.search-panel__input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.search-panel__input::placeholder{color:#94a3b8}.search-panel__actions{display:flex;gap:12px;justify-content:flex-start;padding-top:8px;border-top:1px solid #f1f5f9}@media (max-width: 576px){.search-panel__actions{flex-direction:column}}.btn-search{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-search:hover:not(:disabled){background:#2372f5;transform:translateY(-1px)}.btn-search:disabled{opacity:.6;cursor:not-allowed}.btn-search svg{font-size:14px}.btn-clear{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;background:#f1f5f9;color:#64748b;border:1px solid #f1f5f9;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-clear:hover:not(:disabled){background:#e6edf4;color:#1e293b}.btn-clear:disabled{opacity:.6;cursor:not-allowed}.btn-clear svg{font-size:14px}.btn-export{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;background:#22c55e;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-export:hover:not(:disabled){background:#1eaf54;transform:translateY(-1px)}.btn-export:disabled{opacity:.6;cursor:not-allowed}.btn-export svg{font-size:14px}.edit-member-page{max-width:1600px;margin:0 auto;display:flex;flex-direction:column;height:calc(100vh - 130px)}@media (max-width: 576px){.edit-member-page{height:auto;min-height:calc(100vh - 100px)}}.edit-form{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#fff;border-radius:16px;border:1px solid #f1f5f9;box-shadow:0 1px 3px #0000000d,0 1px 2px #0000001a}.edit-form .alert{padding:16px 20px;border-radius:12px;margin:24px 24px 0;font-size:14px}.edit-form .alert--error{background:#ef444414;color:#ef4444;border:1px solid rgba(239,68,68,.15)}.tab-container{flex:1;display:flex;flex-direction:column;overflow:hidden}.tab-nav{flex-shrink:0;display:flex;gap:4px;border-bottom:1px solid #f1f5f9;padding:0 24px;background:#f8fafc}@media (max-width: 768px){.tab-nav{overflow-x:auto;-webkit-overflow-scrolling:touch;padding:0 16px}}.tab-nav__item{padding:16px 28px;font-size:14px;font-weight:500;color:#64748b;background:transparent;border:none;border-bottom:3px solid transparent;margin-bottom:-1px;cursor:pointer;transition:all .2s ease ease;white-space:nowrap;border-radius:8px 8px 0 0}@media (max-width: 576px){.tab-nav__item{padding:12px 16px;font-size:13px}}.tab-nav__item:hover{color:#3b82f6;background:#3b82f60a}.tab-nav__item--active{color:#3b82f6;border-bottom-color:#3b82f6;background:#fff}.tab-nav__item--active:hover{background:#fff}.tab-pane{display:none;flex:1;overflow-y:auto;padding:28px}@media (max-width: 576px){.tab-pane{padding:16px}}.tab-pane--active{display:flex;flex-direction:column}.unauthorized-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:48px;background:linear-gradient(135deg,#1e293b,#0f172a)}@media (max-width: 576px){.unauthorized-page{padding:24px 16px}}.unauthorized-content{text-align:center;background:#fff;padding:72px 64px;border-radius:24px;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000000d;max-width:520px}@media (max-width: 768px){.unauthorized-content{padding:48px 32px}}@media (max-width: 576px){.unauthorized-content{padding:32px 20px;max-width:100%}}.unauthorized-content h1{font-size:56px;margin-bottom:20px;font-weight:700}@media (max-width: 576px){.unauthorized-content h1{font-size:40px}}.unauthorized-content p{color:#64748b;margin-bottom:12px;font-size:16px;line-height:1.75}.unauthorized-actions{display:flex;gap:20px;justify-content:center;margin-top:40px}@media (max-width: 576px){.unauthorized-actions{flex-direction:column;gap:12px}}.unauthorized-actions .btn{padding:14px 28px;border-radius:12px;text-decoration:none;font-weight:500;font-size:14px;transition:all .2s ease;border:none;cursor:pointer}.unauthorized-actions .btn:hover{transform:translateY(-2px)}@media (max-width: 576px){.permission-page .page-content{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 576px){.permission-page .users-table{min-width:600px}}.permission-page .users-table th:first-child,.permission-page .users-table td:first-child{width:60px}.permission-page .action-buttons{display:flex;gap:12px;align-items:center;flex-wrap:wrap}@media (max-width: 576px){.permission-page .action-buttons{gap:8px}}.users-table{width:100%;border-collapse:separate;border-spacing:0;margin-top:16px}.users-table th,.users-table td{padding:16px 20px;text-align:left;border-bottom:1px solid #f1f5f9}.users-table th{background-color:#f8fafc;font-weight:600;color:#1e293b;font-size:13px;text-transform:uppercase;letter-spacing:.05em}.users-table td{font-size:14px;color:#475569}.users-table tr:hover td{background-color:#3b82f605}.family-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #f1f5f9}.family-header h3{margin:0;font-size:16px;font-weight:600;color:#1e293b}.family-list{display:flex;flex-direction:column;gap:16px}.family-card{background:#f8fafc;border:1px solid #f1f5f9;border-radius:12px;overflow:hidden;transition:all .2s ease}.family-card:hover{box-shadow:0 1px 3px #0000000d,0 1px 2px #0000001a;border-color:#e2e8f0}.family-card--new{background:#3b82f608;border-color:#3b82f6;border-style:dashed}.family-card__header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#fff;border-bottom:1px solid #f1f5f9}.family-card__header-actions{display:flex;gap:8px}.family-card__title{font-size:14px;font-weight:600;color:#1e293b}.family-card__body{padding:16px}.family-card__actions{display:flex;justify-content:flex-end;gap:12px;padding:12px 16px;background:#fff;border-top:1px solid #f1f5f9}.family-info-display{cursor:pointer;padding:8px;border-radius:8px;transition:background-color .2s ease}.family-info-display:hover{background:#3b82f60d}.family-info-display:hover .family-info-hint{opacity:1}.family-info-row{display:flex;align-items:center;margin-bottom:8px}.family-info-row:last-of-type{margin-bottom:0}.family-info-label{color:#64748b;font-size:13px;min-width:120px}.family-info-value{color:#1e293b;font-size:14px}.family-info-hint{margin-top:12px;font-size:12px;color:#cbd5e1;text-align:center;opacity:0;transition:opacity .2s ease}.empty-state{text-align:center;padding:48px 24px;color:#cbd5e1}.empty-state p{margin:0;font-size:14px}.login-history-page{padding:24px}@media (max-width: 576px){.login-history-page{padding:16px}}.login-history-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.login-history-page .page-header h1{display:flex;align-items:center;gap:12px;margin:0;font-size:22px;font-weight:700;color:#1e293b}.login-history-page .stats-section{background:#fff;border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:0 1px 3px #0000000d,0 1px 2px #0000001a;border:1px solid #f1f5f9}@media (max-width: 576px){.login-history-page .stats-section{padding:16px}}.login-history-page .stats-section .stats-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.login-history-page .stats-section .stats-header h2{display:flex;align-items:center;gap:8px;margin:0;font-size:16px;font-weight:600;color:#1e293b}.login-history-page .stats-section .stats-header .stats-days-select{padding:6px 12px;border:1px solid #f1f5f9;border-radius:12px;font-size:13px;background:#fff;cursor:pointer}.login-history-page .stats-section .stats-header .stats-days-select:focus{outline:none;border-color:#3b82f6}.login-history-page .stats-section .stats-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}@media (max-width: 576px){.login-history-page .stats-section .stats-cards{grid-template-columns:repeat(2,1fr);gap:12px}}.login-history-page .stats-section .stat-card{background:#f8fafc;border-radius:12px;padding:16px;text-align:center;transition:transform .2s ease,box-shadow .2s ease}.login-history-page .stats-section .stat-card:hover{transform:translateY(-2px);box-shadow:0 1px 3px #0000000d,0 1px 2px #0000001a}.login-history-page .stats-section .stat-card .stat-value{font-size:22px;font-weight:700;color:#1e293b;margin-bottom:4px}.login-history-page .stats-section .stat-card .stat-label{font-size:13px;color:#64748b}.login-history-page .stats-section .stat-card.stat-success{background:#22c55e1a}.login-history-page .stats-section .stat-card.stat-success .stat-value{color:#22c55e}.login-history-page .stats-section .stat-card.stat-failed{background:#ef44441a}.login-history-page .stats-section .stat-card.stat-failed .stat-value{color:#ef4444}.login-history-page .filter-section{background:#fff;border-radius:16px;padding:20px;margin-bottom:24px;box-shadow:0 1px 3px #0000000d,0 1px 2px #0000001a;border:1px solid #f1f5f9}@media (max-width: 576px){.login-history-page .filter-section{padding:16px}}.login-history-page .filter-section .filter-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}@media (max-width: 576px){.login-history-page .filter-section .filter-row{flex-direction:column}}.login-history-page .filter-section .filter-item{display:flex;flex-direction:column;gap:6px;min-width:180px}@media (max-width: 576px){.login-history-page .filter-section .filter-item{min-width:0;width:100%}}.login-history-page .filter-section .filter-item label{font-size:13px;font-weight:500;color:#64748b}.login-history-page .filter-section .filter-item input,.login-history-page .filter-section .filter-item select{padding:8px 12px;border:1px solid #f1f5f9;border-radius:12px;font-size:14px;transition:border-color .15s ease}.login-history-page .filter-section .filter-item input:focus,.login-history-page .filter-section .filter-item select:focus{outline:none;border-color:#3b82f6}.login-history-page .filter-section .filter-actions{display:flex;gap:8px}@media (max-width: 576px){.login-history-page .filter-section .filter-actions{width:100%;flex-direction:column}.login-history-page .filter-section .filter-actions button{width:100%}}.login-history-page .table-section{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000000d,0 1px 2px #0000001a;border:1px solid #f1f5f9}@media (max-width: 576px){.login-history-page .table-section{padding:16px;overflow-x:auto;-webkit-overflow-scrolling:touch}}.login-history-page .table-section .table-info{font-size:13px;color:#64748b;margin-bottom:16px}.login-history-page .table-section .data-table{width:100%;border-collapse:collapse}@media (max-width: 576px){.login-history-page .table-section .data-table{min-width:600px}}.login-history-page .table-section .data-table th,.login-history-page .table-section .data-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #f1f5f9}.login-history-page .table-section .data-table th{background:#f8fafc;font-weight:600;color:#1e293b;font-size:13px}.login-history-page .table-section .data-table td{font-size:14px;color:#1e293b}.login-history-page .table-section .data-table td code{background:#f8fafc;padding:2px 6px;border-radius:4px;font-size:13px;font-family:monospace}.login-history-page .table-section .data-table tbody tr{transition:background-color .15s ease}.login-history-page .table-section .data-table tbody tr:hover{background:#3b82f605}.login-history-page .table-section .data-table .no-data{text-align:center;color:#cbd5e1;padding:48px}.login-history-page .table-section .user-id-badge{display:inline-block;margin-left:8px;padding:2px 6px;background:#f8fafc;border-radius:4px;font-size:12px;color:#cbd5e1}.login-history-page .table-section .result-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:13px;font-weight:500}.login-history-page .table-section .result-badge.result-success{background:#22c55e1a;color:#22c55e}.login-history-page .table-section .result-badge.result-failed{background:#ef44441a;color:#ef4444}.login-history-page .table-section .result-badge.result-warning{background:#f59e0b1a;color:#f59e0b}.login-history-page .pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:24px;padding-top:16px;border-top:1px solid #f1f5f9}.login-history-page .pagination .page-info{padding:0 16px;font-size:13px;color:#64748b}.login-history-page .pagination .btn-sm{padding:6px 12px;font-size:13px}.login-history-page .pagination .btn-sm:disabled{opacity:.5;cursor:not-allowed}.login-history-page .loading-spinner{text-align:center;padding:48px;color:#cbd5e1}.member-audit-log-page{padding:24px}@media (max-width: 576px){.member-audit-log-page{padding:16px}}.member-audit-log-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.member-audit-log-page .page-header h1{display:flex;align-items:center;gap:12px;margin:0;font-size:22px;font-weight:700;color:#1e293b}.member-audit-log-page .filter-section{background:#fff;border-radius:16px;padding:20px;margin-bottom:24px;box-shadow:0 1px 3px #0000000d,0 1px 2px #0000001a;border:1px solid #f1f5f9}@media (max-width: 576px){.member-audit-log-page .filter-section{padding:16px}}.member-audit-log-page .filter-section .filter-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}@media (max-width: 576px){.member-audit-log-page .filter-section .filter-row{flex-direction:column}}.member-audit-log-page .filter-section .filter-item{display:flex;flex-direction:column;gap:6px;min-width:180px}@media (max-width: 576px){.member-audit-log-page .filter-section .filter-item{min-width:0;width:100%}}.member-audit-log-page .filter-section .filter-item label{font-size:13px;font-weight:500;color:#64748b}.member-audit-log-page .filter-section .filter-item input,.member-audit-log-page .filter-section .filter-item select{padding:8px 12px;border:1px solid #f1f5f9;border-radius:12px;font-size:14px;transition:border-color .15s ease}.member-audit-log-page .filter-section .filter-item input:focus,.member-audit-log-page .filter-section .filter-item select:focus{outline:none;border-color:#3b82f6}.member-audit-log-page .filter-section .filter-actions{display:flex;gap:8px}@media (max-width: 576px){.member-audit-log-page .filter-section .filter-actions{width:100%;flex-direction:column}.member-audit-log-page .filter-section .filter-actions button{width:100%}}.member-audit-log-page .table-section{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000000d,0 1px 2px #0000001a;border:1px solid #f1f5f9}@media (max-width: 576px){.member-audit-log-page .table-section{padding:16px;overflow-x:auto;-webkit-overflow-scrolling:touch}}.member-audit-log-page .table-section .table-info{font-size:13px;color:#64748b;margin-bottom:16px}.member-audit-log-page .table-section .data-table{width:100%;border-collapse:collapse}@media (max-width: 576px){.member-audit-log-page .table-section .data-table{min-width:600px}}.member-audit-log-page .table-section .data-table th,.member-audit-log-page .table-section .data-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #f1f5f9}.member-audit-log-page .table-section .data-table th{background:#f8fafc;font-weight:600;color:#1e293b;font-size:13px}.member-audit-log-page .table-section .data-table td{font-size:14px;color:#1e293b}.member-audit-log-page .table-section .data-table tbody tr{transition:background-color .15s ease}.member-audit-log-page .table-section .data-table tbody tr:hover{background:#3b82f605}.member-audit-log-page .table-section .data-table .no-data{text-align:center;color:#cbd5e1;padding:48px}.member-audit-log-page .table-section .operation-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:13px;font-weight:500}.member-audit-log-page .table-section .operation-badge.operation-insert{background:#22c55e1a;color:#22c55e}.member-audit-log-page .table-section .operation-badge.operation-update{background:#0ea5e91a;color:#0ea5e9}.member-audit-log-page .table-section .operation-badge.operation-delete{background:#ef44441a;color:#ef4444}.member-audit-log-page .pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:24px;padding-top:16px;border-top:1px solid #f1f5f9}.member-audit-log-page .pagination .page-info{padding:0 16px;font-size:13px;color:#64748b}.member-audit-log-page .pagination .btn-sm{padding:6px 12px;font-size:13px}.member-audit-log-page .pagination .btn-sm:disabled{opacity:.5;cursor:not-allowed}.member-audit-log-page .loading-spinner{text-align:center;padding:48px;color:#cbd5e1}.data-preview-modal{max-width:900px;max-height:80vh;overflow-y:auto}@media (max-width: 576px){.data-preview-modal{max-width:100%}}.data-preview-modal .data-preview-container{display:flex;gap:24px}@media (max-width: 768px){.data-preview-modal .data-preview-container{flex-direction:column}}.data-preview-modal .data-section{flex:1;min-width:0}.data-preview-modal .data-section h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#1e293b}.data-preview-modal .json-preview{background:#f8fafc;border:1px solid #f1f5f9;border-radius:12px;padding:16px;font-family:Consolas,Monaco,monospace;font-size:13px;line-height:1.5;overflow-x:auto;white-space:pre-wrap;word-break:break-word;max-height:400px;overflow-y:auto;color:#1e293b}.audit-diff-modal{max-width:900px!important}@media (max-width: 576px){.audit-diff-modal{max-width:100%!important}}.audit-diff-modal .audit-info-summary{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;padding:16px;background:#f8fafc;border-radius:12px;margin-bottom:20px}@media (max-width: 576px){.audit-diff-modal .audit-info-summary{grid-template-columns:1fr}}.audit-diff-modal .audit-info-summary .info-item{display:flex;align-items:center;gap:8px}.audit-diff-modal .audit-info-summary .info-item .label{font-size:13px;color:#64748b;font-weight:500}.audit-diff-modal .audit-info-summary .info-item .value{font-size:14px;color:#1e293b}.audit-diff-modal .audit-info-summary .info-item .operation-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:500}.audit-diff-modal .diff-legend{display:flex;gap:20px;margin-bottom:16px;padding:12px 16px;background:#f8fafc80;border-radius:12px}@media (max-width: 576px){.audit-diff-modal .diff-legend{flex-wrap:wrap;gap:12px}}.audit-diff-modal .diff-legend .legend-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#64748b}.audit-diff-modal .diff-legend .legend-item .legend-color{width:16px;height:16px;border-radius:4px}.audit-diff-modal .diff-legend .legend-item .legend-color.added{background-color:#22c55e4d;border:1px solid #22c55e}.audit-diff-modal .diff-legend .legend-item .legend-color.modified{background-color:#f59e0b4d;border:1px solid #f59e0b}.audit-diff-modal .diff-legend .legend-item .legend-color.deleted{background-color:#ef44444d;border:1px solid #ef4444}.audit-diff-modal .diff-table-container{max-height:400px;overflow-y:auto;border:1px solid #f1f5f9;border-radius:12px}@media (max-width: 576px){.audit-diff-modal .diff-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}}.audit-diff-modal .diff-table{width:100%;border-collapse:collapse}@media (max-width: 576px){.audit-diff-modal .diff-table{min-width:500px}}.audit-diff-modal .diff-table th,.audit-diff-modal .diff-table td{padding:10px 14px;text-align:left;border-bottom:1px solid #f1f5f9}.audit-diff-modal .diff-table th{position:sticky;top:0;background:#f8fafc;font-weight:600;color:#1e293b;font-size:13px;z-index:1}.audit-diff-modal .diff-table td{font-size:13px;vertical-align:top}.audit-diff-modal .diff-table .field-name{font-weight:500;color:#1e293b;min-width:150px}.audit-diff-modal .diff-table .field-value{max-width:300px;word-break:break-word}.audit-diff-modal .diff-table .field-value code{font-family:Consolas,Monaco,monospace;font-size:12px;background:#f8fafcb3;padding:2px 6px;border-radius:4px;display:inline-block;max-width:100%;white-space:pre-wrap}.audit-diff-modal .diff-table .no-data{text-align:center;color:#cbd5e1;padding:32px}.audit-diff-modal .diff-table tr.diff-added{background-color:#22c55e1a}.audit-diff-modal .diff-table tr.diff-added .field-name{color:#1a9a49}.audit-diff-modal .diff-table tr.diff-added .new-value code{background-color:#22c55e33;color:#17843f}.audit-diff-modal .diff-table tr.diff-modified{background-color:#f59e0b1a}.audit-diff-modal .diff-table tr.diff-modified .field-name{color:#ac6f07}.audit-diff-modal .diff-table tr.diff-modified .old-value code{background-color:#ef444426;color:#eb1515;text-decoration:line-through}.audit-diff-modal .diff-table tr.diff-modified .new-value code{background-color:#22c55e33;color:#17843f}.audit-diff-modal .diff-table tr.diff-deleted{background-color:#ef44441a}.audit-diff-modal .diff-table tr.diff-deleted .field-name{color:#eb1515}.audit-diff-modal .diff-table tr.diff-deleted .old-value code{background-color:#ef444433;color:#d41212;text-decoration:line-through}.birthday-page{padding:24px}@media (max-width: 576px){.birthday-page{padding:16px}}.birthday-page .header-icon{margin-right:8px;vertical-align:middle}.birthday-page .birthday-content{padding:32px}@media (max-width: 576px){.birthday-page .birthday-content{padding:16px}}.birthday-page .month-selection{margin-bottom:32px}.birthday-page .month-selection .selection-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.birthday-page .month-selection .selection-header h3{margin:0;font-size:16px;color:#1e293b;font-weight:600}.birthday-page .month-selection .month-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px;margin-bottom:16px}@media (max-width: 576px){.birthday-page .month-selection .month-grid{grid-template-columns:repeat(3,1fr)}}.birthday-page .month-selection .month-checkbox{display:flex;align-items:center;padding:12px 16px;background:#f8fafc;border:2px solid #f1f5f9;border-radius:12px;cursor:pointer;transition:all .2s ease}.birthday-page .month-selection .month-checkbox:hover{border-color:#3b82f6;background:#3b82f60d}.birthday-page .month-selection .month-checkbox input[type=checkbox]{width:18px;height:18px;margin-right:10px;accent-color:#3b82f6;cursor:pointer}.birthday-page .month-selection .month-checkbox input[type=checkbox]:checked+.checkbox-label{color:#3b82f6;font-weight:600}.birthday-page .month-selection .month-checkbox .checkbox-label{font-size:14px;color:#1e293b;-webkit-user-select:none;user-select:none}.birthday-page .month-selection .month-checkbox:has(input:checked){border-color:#3b82f6;background:#3b82f61a}.birthday-page .month-selection .selected-info{margin-top:16px;padding:12px 16px;background:#3b82f61a;border-radius:12px;color:#3b82f6;font-size:13px;font-weight:500}.birthday-page .download-section{display:flex;justify-content:center;padding-top:16px;border-top:1px solid #f1f5f9}.birthday-page .download-section .btn-lg{padding:14px 32px;font-size:16px}.birthday-page .download-section .btn-lg svg{margin-right:8px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal-dialog{background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000000d;width:100%;max-width:400px;animation:slideUp .3s ease}@media (max-width: 576px){.modal-dialog{max-width:calc(100% - 32px);margin:0 16px}}.modal-dialog .modal-header{padding:20px 24px;border-bottom:1px solid #f1f5f9}.modal-dialog .modal-header h3{margin:0;font-size:16px;color:#1e293b;font-weight:600;display:flex;align-items:center;gap:8px}.modal-dialog .modal-body{padding:24px}.modal-dialog .modal-body .form-group label{display:block;margin-bottom:8px;font-size:13px;font-weight:500;color:#64748b}.modal-dialog .modal-body .form-group .form-control{width:100%;padding:12px 16px;font-size:14px;border:1px solid #e2e8f0;border-radius:12px;transition:border-color .2s,box-shadow .2s}.modal-dialog .modal-body .form-group .form-control:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.modal-dialog .modal-footer{padding:16px 24px;border-top:1px solid #f1f5f9;display:flex;justify-content:flex-end;gap:12px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.birthday-card-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background:#fff}.birthday-card-loading .loading-spinner{width:50px;height:50px;border:4px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}.birthday-card-loading p{margin-top:20px;font-size:18px;color:#64748b}.birthday-card-page{padding:20px;margin:0 auto;display:block;width:740px;background:#fff;font-family:medium-content-serif-font,Georgia,Cambria,Times New Roman,Times,serif}.birthday-card-content{margin:20px 0 30px;font-size:16px;color:#1e293b;letter-spacing:.5px;line-height:28px}.birthday-card-content:after{content:"";display:table;clear:both}.birthday-card-content img{max-width:100%;display:block;margin:0 auto;-ms-interpolation-mode:bicubic}.birthday-card-content p{font-weight:400;font-style:normal;font-size:18px;line-height:1.58;letter-spacing:-.003em;margin:10px 0}.birthday-card{margin-bottom:30px}.birthday-card .card-header{text-align:center;margin-bottom:20px}.birthday-card .card-header .card-logo{width:100%;max-width:600px;height:auto}.birthday-card .delivery-note{font-size:18px;margin:15px 0}.birthday-card .delivery-note strong{color:#ef4444}.birthday-card .gift-info{margin:20px 0}.birthday-card .gift-info p{font-size:18px;margin:8px 0}.birthday-card .qrcode-section{margin:20px 0;text-align:center}.birthday-card .qrcode-section .qrcode-img{width:200px;height:200px;margin:0 auto;display:block}.birthday-card .birthday-greeting{font-size:18px;margin:20px 0}.birthday-card .birthday-greeting strong{color:#ef4444}.birthday-table{width:100%;border-collapse:collapse;margin-top:20px}.birthday-table th,.birthday-table td{border:1px solid #1e293b;padding:4px 8px;text-align:center;font-size:14px}.birthday-table th{background-color:#f8fafc;font-weight:700}.birthday-table td:first-child{width:80px}.birthday-table td:last-child{width:90px}.page-break{break-after:page;page-break-after:always;height:1px;margin:40px 0}@media print{body{margin:0;padding:0}.birthday-card-page{width:100%;padding:10px;margin:0}.birthday-card-loading{display:none!important}.page-break{break-after:page;page-break-after:always}.birthday-card,.birthday-table{page-break-inside:avoid}}.Toastify__toast-container{z-index:9999}.Toastify__toast{border-radius:8px;box-shadow:0 4px 12px #00000026;font-family:inherit;padding:12px 16px;background:#fff}.Toastify__toast--success{border-left:4px solid #10b981}.Toastify__toast--error{border-left:4px solid #ef4444}.Toastify__toast--warning{border-left:4px solid #f59e0b}.Toastify__toast--info{border-left:4px solid #3b82f6}.Toastify__toast-body{padding:0;margin:0}.Toastify__close-button{color:#00000080;opacity:1}.Toastify__close-button:hover{color:#000c}.Toastify__progress-bar--success{background:#10b981}.Toastify__progress-bar--error{background:#ef4444}.Toastify__progress-bar--warning{background:#f59e0b}.Toastify__progress-bar--info{background:#3b82f6}.notify-content{color:#333}.notify-content .notify-title{font-size:15px;font-weight:600;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid rgba(0,0,0,.1)}.notify-content .notify-details{display:flex;flex-direction:column;gap:4px}.notify-content .notify-item{display:flex;align-items:center;font-size:13px;gap:8px}.notify-content .notify-label{color:#0009;min-width:80px}.notify-content .notify-value{color:#333;font-weight:500}.Toastify__toast--success .notify-content .notify-title{color:#10b981}.Toastify__toast--error .notify-content .notify-title{color:#ef4444}.Toastify__toast--warning .notify-content .notify-title{color:#f59e0b}.Toastify__toast--info .notify-content .notify-title{color:#3b82f6}:root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: hsl(6, 78%, 57%);--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-container-width: fit-content;--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-padding: 14px;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, .1);--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;width:var(--toastify-container-width);box-sizing:border-box;color:#fff;display:flex;flex-direction:column}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y: 0;position:relative;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;display:flex;flex:1 auto;align-items:center;word-break:break-word}@media only screen and (max-width: 480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width: 100%;margin-bottom:0;border-radius:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{margin-inline-end:10px;width:22px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;position:absolute;top:6px;right:6px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{position:absolute;overflow:hidden;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
