#admin-users-page{background-color:#f9fafb;min-height:100vh;padding:24px}#users-header{margin-bottom:24px}#users-title-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}#users-title-section h1{font-size:28px;font-weight:700;color:#1f2937;margin:0}#users-title-section p{color:#6b7280;margin:4px 0 0;font-size:16px}#create-user-btn,#invite-user-btn{background-color:#2563eb;color:#fff;padding:12px 20px;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:background-color .2s;font-size:14px}#create-user-btn:hover,#invite-user-btn:hover{background-color:#1d4ed8}#invite-user-btn{background-color:#059669}#invite-user-btn:hover{background-color:#047857}#users-controls{display:flex;gap:16px;align-items:center;flex-wrap:wrap}#search-section{flex:1;min-width:300px}#users-search{width:100%;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background-color:#fff;transition:border-color .2s,box-shadow .2s}#users-search:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}#users-stats{display:flex;gap:16px;color:#6b7280;font-size:14px;white-space:nowrap}#users-table-section{background-color:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb;overflow:hidden}#users-table-container{width:100%}#users-table-wrapper{overflow-x:auto}#users-table{width:100%;border-collapse:collapse;background-color:#fff}#users-table-header tr{background-color:#f9fafb;border-bottom:1px solid #e5e7eb}#users-table-header th{padding:16px 24px;text-align:left;font-size:12px;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}#users-table-body tr{border-bottom:1px solid #f3f4f6;transition:background-color .2s}#users-table-body tr:hover{background-color:#f9fafb}#users-table-body tr:last-child{border-bottom:none}#users-table-body td{padding:16px 24px;vertical-align:middle}#users-table-body [id^=user-info-]{padding:16px 24px}#users-table-body [id^=user-info-] .flex{display:flex;align-items:center}#users-table-body [id^=user-avatar-]{width:40px;height:40px;background-color:#3b82f6;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:500;font-size:16px;margin-right:16px}#users-table-body [id^=user-info-] .ml-4 div:first-child{font-size:14px;font-weight:500;color:#1f2937;margin-bottom:2px}#users-table-body [id^=user-info-] .ml-4 div:last-child{font-size:14px;color:#6b7280}#users-table-body [id^=user-quotas-],#users-table-body [id^=user-usage-]{font-size:14px;color:#1f2937}#users-table-body [id^=user-quotas-] div,#users-table-body [id^=user-usage-] div{margin-bottom:2px}#users-table-body [id^=user-quotas-] div:last-child,#users-table-body [id^=user-usage-] div:last-child{margin-bottom:0}#users-table-body [id^=user-status-] .flex{display:flex;flex-direction:column;gap:4px}#users-table-body [id^=user-status-] span{display:inline-flex;padding:4px 8px;font-size:12px;font-weight:600;border-radius:6px;text-align:center;min-width:60px;justify-content:center}#users-table-body [id^=user-actions-] .flex{display:flex;gap:12px}#users-table-body [id^=user-actions-] button{background:none;border:none;font-size:14px;font-weight:500;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s}#users-table-body [id^=edit-user-]{color:#2563eb}#users-table-body [id^=edit-user-]:hover{color:#1d4ed8;background-color:#eff6ff}#users-table-body [id^=block-user-]{color:#dc2626}#users-table-body [id^=block-user-]:hover{color:#b91c1c;background-color:#fee2e2}#users-table-body [id^=unblock-user-]{color:#059669}#users-table-body [id^=unblock-user-]:hover{color:#047857;background-color:#d1fae5}#users-table-loading{display:flex;justify-content:center;align-items:center;padding:48px}#users-table-loading .animate-spin{width:32px;height:32px;border:4px solid #e5e7eb;border-top:4px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}#no-users-found{text-align:center;padding:48px;color:#6b7280}#block-user-modal{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:50}#block-user-modal-content{background-color:#fff;border-radius:12px;padding:24px;width:90%;max-width:400px;margin:16px;box-shadow:0 10px 25px #0000001a}#block-user-modal-content h3{font-size:18px;font-weight:600;color:#1f2937;margin-bottom:16px}#block-user-modal-content p{font-size:14px;color:#6b7280;margin-bottom:16px}#block-reason-input{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;resize:vertical;min-height:80px}#block-reason-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}#block-modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}#block-cancel-btn,#block-confirm-btn{padding:10px 16px;font-size:14px;font-weight:500;border-radius:8px;cursor:pointer;transition:background-color .2s;border:none}#block-cancel-btn{background-color:#f3f4f6;color:#374151}#block-cancel-btn:hover{background-color:#e5e7eb}#block-confirm-btn{background-color:#dc2626;color:#fff}#block-confirm-btn:hover:not(:disabled){background-color:#b91c1c}#block-confirm-btn:disabled{background-color:#d1d5db;cursor:not-allowed}#create-user-modal{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:50}#create-user-modal-content{background-color:#fff;border-radius:12px;padding:24px;width:90%;max-width:500px;margin:16px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 25px #0000001a}#modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}#modal-header h2{font-size:20px;font-weight:600;color:#1f2937}#modal-close-btn{background:none;border:none;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;transition:color .2s}#modal-close-btn:hover{color:#374151}#modal-close-btn svg{width:24px;height:24px}#create-user-form{display:flex;flex-direction:column;gap:16px}#create-user-form label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:4px}#create-user-form input{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:border-color .2s,box-shadow .2s}#create-user-form input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}#create-user-form input.border-red-300{border-color:#fca5a5}#create-user-form [id$=-error]{font-size:12px;color:#dc2626;margin-top:4px}#quotas-section h3{font-size:14px;font-weight:500;color:#374151;margin-bottom:12px;padding-top:8px;border-top:1px solid #e5e7eb}#form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:24px;border-top:1px solid #e5e7eb;margin-top:16px}#cancel-btn,#submit-btn{padding:10px 16px;font-size:14px;font-weight:500;border-radius:8px;cursor:pointer;transition:background-color .2s;border:none}#cancel-btn{background-color:#f3f4f6;color:#374151}#cancel-btn:hover{background-color:#e5e7eb}#submit-btn{background-color:#2563eb;color:#fff}#submit-btn:hover:not(:disabled){background-color:#1d4ed8}#submit-btn:disabled{background-color:#d1d5db;cursor:not-allowed}#mutation-loading{position:fixed;inset:0;background-color:#00000040;display:flex;align-items:center;justify-content:center;z-index:40}#mutation-loading>div{background-color:#fff;border-radius:8px;padding:16px;box-shadow:0 4px 6px #0000001a}#mutation-loading .flex{display:flex;align-items:center;gap:12px}#mutation-loading .animate-spin{width:20px;height:20px;border:2px solid #3b82f6;border-top:2px solid transparent;border-radius:50%;animation:spin 1s linear infinite}#users-error{padding:24px}#users-error>div{background-color:#fee2e2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:8px}@media (max-width: 768px){#admin-users-page{padding:16px}#users-title-section{flex-direction:column;align-items:flex-start;gap:16px}#users-controls{flex-direction:column;align-items:stretch}#search-section{min-width:auto}#users-stats{justify-content:space-between}#users-table-header th,#users-table-body td{padding:12px 16px}#create-user-modal-content,#block-user-modal-content{margin:8px;width:calc(100% - 16px)}}#admin-logs-page{background-color:#f9fafb;min-height:100vh;padding:24px}#logs-header{margin-bottom:24px}#logs-title-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}#logs-title-section h1{font-size:28px;font-weight:700;color:#1f2937;margin:0}#logs-title-section p{color:#6b7280;margin:4px 0 0;font-size:16px}#logs-title-section .flex{display:flex;gap:12px}#refresh-logs-btn,#export-logs-btn{padding:12px 16px;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:background-color .2s;font-size:14px}#refresh-logs-btn{background-color:#2563eb;color:#fff}#refresh-logs-btn:hover{background-color:#1d4ed8}#export-logs-btn{background-color:#059669;color:#fff}#export-logs-btn:hover{background-color:#047857}#logs-filters{background-color:#fff;padding:16px;border-radius:12px;border:1px solid #e5e7eb;margin-bottom:16px}#logs-filters .flex{display:flex;flex-wrap:wrap;gap:16px}#logs-filters label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:4px}#logs-filters input,#logs-filters select{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background-color:#fff;transition:border-color .2s,box-shadow .2s}#logs-filters input:focus,#logs-filters select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}#intent-filter{flex:1;min-width:160px}#logs-stats{display:flex;gap:24px;color:#6b7280;font-size:14px;margin-top:16px}#logs-table-section{background-color:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb;overflow:hidden}#logs-table-container{width:100%}#logs-table-wrapper{overflow-x:auto}#logs-table{width:100%;border-collapse:collapse;background-color:#fff}#logs-table-header tr{background-color:#f9fafb;border-bottom:1px solid #e5e7eb}#logs-table-header th{padding:16px 24px;text-align:left;font-size:12px;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}#logs-table-body tr{border-bottom:1px solid #f3f4f6;transition:background-color .2s}#logs-table-body tr:hover{background-color:#f9fafb}#logs-table-body tr:last-child{border-bottom:none}#logs-table-body td{padding:16px 24px;vertical-align:top}#logs-table-body [id^=log-timestamp-] .text-sm{font-size:14px}#logs-table-body [id^=log-timestamp-] .font-medium{font-weight:500;color:#1f2937}#logs-table-body [id^=log-timestamp-] .text-gray-500{color:#6b7280}#logs-table-body [id^=log-user-] .text-sm{font-size:14px}#logs-table-body [id^=log-user-] .font-medium{font-weight:500;color:#1f2937}#logs-table-body [id^=log-request-]{max-width:300px}#logs-table-body [id^=log-request-] .font-medium{font-weight:500;color:#1f2937;margin-bottom:4px}#logs-table-body [id^=log-request-] .text-gray-600{color:#4b5563;word-break:break-word}#logs-table-body [id^=log-intent-] span{display:inline-flex;padding:4px 8px;font-size:12px;font-weight:600;border-radius:6px;text-align:center}#logs-table-body [id^=log-tokens-] .font-medium{font-weight:500;color:#1f2937}#logs-table-body [id^=log-tokens-] .text-xs{font-size:12px;color:#6b7280}#logs-table-body [id^=log-actions-] .flex{display:flex;gap:8px}#logs-table-body [id^=log-actions-] button{background:none;border:none;font-size:14px;font-weight:500;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s}#logs-table-body [id^=expand-log-]{color:#2563eb}#logs-table-body [id^=expand-log-]:hover{color:#1d4ed8;background-color:#eff6ff}#logs-table-body [id^=view-log-]{color:#059669}#logs-table-body [id^=view-log-]:hover{color:#047857;background-color:#d1fae5}#logs-table-body [id^=log-expanded-]{background-color:#f9fafb}#logs-table-body [id^=log-details-]{padding:16px}#logs-table-body [id^=log-details-] h4{font-size:14px;font-weight:500;color:#1f2937;margin-bottom:8px}#logs-table-body [id^=log-details-] .bg-white{background-color:#fff;padding:12px;border-radius:6px;border:1px solid #e5e7eb;font-size:14px;color:#374151;max-height:128px;overflow-y:auto}#logs-table-body [id^=log-details-] .bg-red-50{background-color:#fef2f2;padding:12px;border-radius:6px;border:1px solid #fecaca;font-size:14px;color:#dc2626}#logs-table-body [id^=log-details-] .grid{display:grid;gap:16px}#logs-table-body [id^=log-details-] .grid-cols-2{grid-template-columns:repeat(2,1fr)}#logs-table-body [id^=log-details-] .grid-cols-4{grid-template-columns:repeat(4,1fr)}#logs-table-loading{display:flex;justify-content:center;align-items:center;padding:48px}#logs-table-loading .animate-spin{width:32px;height:32px;border:4px solid #e5e7eb;border-top:4px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}#no-logs-found{text-align:center;padding:48px;color:#6b7280}#log-details-modal-content{background-color:#fff;border-radius:12px;width:90%;max-width:1000px;margin:16px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 25px #0000001a}#log-details-modal #modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #e5e7eb}#log-details-modal #modal-header h2{font-size:20px;font-weight:600;color:#1f2937}#log-details-modal #modal-header p{font-size:14px;color:#6b7280;margin-top:4px}#log-details-modal #modal-close-btn{background:none;border:none;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;transition:color .2s}#log-details-modal #modal-close-btn:hover{color:#374151}#log-details-modal #modal-close-btn svg{width:24px;height:24px}#log-details-modal #modal-content{padding:24px}#log-details-modal #log-overview{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}#log-details-modal #log-overview>div{background-color:#f9fafb;padding:16px;border-radius:8px}#log-details-modal #log-overview h3{font-size:12px;font-weight:500;color:#6b7280;text-transform:uppercase;margin-bottom:4px}#log-details-modal #log-overview p{font-size:14px;color:#1f2937;margin:0}#log-details-modal #intent-section,#log-details-modal #scoring-section,#log-details-modal #tokens-section{padding:16px;border-radius:8px;margin-bottom:24px}#log-details-modal #intent-section{background-color:#eff6ff}#log-details-modal #scoring-section{background-color:#fff7ed}#log-details-modal #tokens-section{background-color:#f0fdf4}#log-details-modal #intent-section h3,#log-details-modal #scoring-section h3,#log-details-modal #tokens-section h3{font-size:18px;font-weight:500;color:#1f2937;margin-bottom:8px}#log-details-modal #scoring-section .grid,#log-details-modal #tokens-section .grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}#log-details-modal #scoring-section p,#log-details-modal #tokens-section p{margin:0}#log-details-modal #scoring-section .text-sm,#log-details-modal #tokens-section .text-sm{font-size:14px;color:#6b7280}#log-details-modal #scoring-section .text-lg,#log-details-modal #tokens-section .text-lg{font-size:18px;font-weight:500}#log-details-modal #scoring-section .text-orange-600{color:#ea580c}#log-details-modal #scoring-section .text-green-600{color:#16a34a}#log-details-modal #prompt-section,#log-details-modal #response-section,#log-details-modal #error-section{margin-bottom:24px}#log-details-modal #prompt-section h3,#log-details-modal #response-section h3{font-size:18px;font-weight:500;color:#1f2937;margin-bottom:8px}#log-details-modal #error-section h3{font-size:18px;font-weight:500;color:#dc2626;margin-bottom:8px}#log-details-modal #prompt-section .flex,#log-details-modal #response-section .flex{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}#log-details-modal #prompt-section button,#log-details-modal #response-section button{font-size:14px;color:#2563eb;background:none;border:none;cursor:pointer;transition:color .2s}#log-details-modal #prompt-section button:hover,#log-details-modal #response-section button:hover{color:#1d4ed8}#log-details-modal #modal-footer{display:flex;justify-content:flex-end;padding:24px;border-top:1px solid #e5e7eb}#log-details-modal #modal-footer button{padding:10px 16px;background-color:#f3f4f6;color:#374151;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s}#log-details-modal #modal-footer button:hover{background-color:#e5e7eb}#logs-error{padding:24px}#logs-error>div{background-color:#fee2e2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:8px}@media (max-width: 768px){#admin-logs-page{padding:16px}#logs-title-section{flex-direction:column;align-items:flex-start;gap:16px}#logs-filters .flex,#date-filters{flex-direction:column}#logs-table-header th,#logs-table-body td{padding:12px 16px}#log-details-modal-content{margin:8px;width:calc(100% - 16px);max-height:95vh}#log-details-modal #log-overview,#log-details-modal #scoring-section .grid,#log-details-modal #tokens-section .grid{grid-template-columns:1fr}}#admin-analytics-page{background-color:#f9fafb;min-height:100vh;padding:24px}#analytics-header{margin-bottom:24px}#analytics-title-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}#analytics-title-section h1{font-size:28px;font-weight:700;color:#1f2937;margin:0}#analytics-title-section p{color:#6b7280;margin:4px 0 0;font-size:16px}#analytics-title-section .flex{display:flex;gap:12px}#preset-7d-btn,#preset-30d-btn,#preset-90d-btn{padding:8px 12px;background-color:#f3f4f6;color:#374151;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s;font-size:14px}#preset-7d-btn:hover,#preset-30d-btn:hover,#preset-90d-btn:hover{background-color:#e5e7eb}#analytics-filters{background-color:#fff;padding:16px;border-radius:12px;border:1px solid #e5e7eb;margin-bottom:16px}#analytics-filters .flex{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}#analytics-filters label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:4px}#analytics-filters input,#analytics-filters select{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background-color:#fff;transition:border-color .2s,box-shadow .2s}#analytics-filters input:focus,#analytics-filters select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}#user-filter{flex:1;min-width:200px}#date-range-filters{display:flex;gap:12px}#date-range-filters>div{min-width:140px}#analytics-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:24px}#analytics-overview>div{background-color:#fff;padding:24px;border-radius:12px;border:1px solid #e5e7eb}#analytics-overview .flex{display:flex;align-items:center}#analytics-overview .flex-shrink-0>div{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px}#analytics-overview .ml-4{margin-left:16px}#analytics-overview p{margin:0}#analytics-overview .text-sm{font-size:14px;font-weight:500;color:#6b7280}#analytics-overview .text-2xl{font-size:24px;font-weight:600;color:#1f2937;margin-top:4px}#total-requests-stat .w-8{background-color:#dbeafe}#success-rate-stat .w-8{background-color:#d1fae5}#total-tokens-stat .w-8{background-color:#e9d5ff}#unique-users-stat .w-8{background-color:#fed7aa}#analytics-charts{display:grid;grid-template-columns:1fr;gap:24px;margin-bottom:24px}@media (min-width: 1024px){#analytics-charts{grid-template-columns:repeat(2,1fr)}#analytics-charts>div:first-child{grid-column:span 2}}#analytics-bottom{display:grid;grid-template-columns:1fr;gap:24px}@media (min-width: 1024px){#analytics-bottom{grid-template-columns:repeat(2,1fr)}}#top-users-section{background-color:#fff;padding:24px;border-radius:12px;border:1px solid #e5e7eb}#top-users-section h3{font-size:18px;font-weight:500;color:#1f2937;margin-bottom:16px}#top-users-section .space-y-4>div{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}#top-users-section .space-y-4>div:last-child{margin-bottom:0}#top-users-section .w-8{width:32px;height:32px;background-color:#dbeafe;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:500;color:#2563eb}#top-users-section .ml-3{margin-left:12px}#top-users-section .text-sm{font-size:14px;margin:0}#top-users-section .font-medium{font-weight:500;color:#1f2937}#top-users-section .text-xs{font-size:12px;color:#6b7280;margin-top:2px}#top-users-section .text-right .text-sm{font-weight:500;color:#1f2937}#system-health-section{background-color:#fff;padding:24px;border-radius:12px;border:1px solid #e5e7eb}#system-health-section h3{font-size:18px;font-weight:500;color:#1f2937;margin-bottom:16px}#system-health-section .space-y-3>div{display:flex;justify-content:space-between;margin-bottom:12px}#system-health-section .space-y-3>div:last-child{margin-bottom:0}#system-health-section .text-sm{font-size:14px}#system-health-section .text-gray-600{color:#6b7280}#system-health-section .font-medium{font-weight:500;color:#1f2937}#analytics-loading{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:50}#analytics-loading>div{background-color:#fff;padding:24px;border-radius:12px}#analytics-loading .flex{display:flex;align-items:center;gap:12px}#analytics-loading .animate-spin{width:24px;height:24px;border:2px solid #3b82f6;border-top:2px solid transparent;border-radius:50%;animation:spin 1s linear infinite}#analytics-loading span{color:#374151}.bg-white{background-color:#fff}.p-6{padding:24px}.rounded-lg{border-radius:12px}.border-gray-200{border:1px solid #e5e7eb}@media (max-width: 768px){#admin-analytics-page{padding:16px}#analytics-title-section{flex-direction:column;align-items:flex-start;gap:16px}#analytics-filters .flex{flex-direction:column;align-items:stretch}#date-range-filters{flex-direction:column}#analytics-overview,#analytics-charts{grid-template-columns:1fr}#analytics-charts>div:first-child{grid-column:span 1}#analytics-bottom{grid-template-columns:1fr}}#admin-tasks-page{background-color:#f9fafb;min-height:100vh;padding:24px}#tasks-header{margin-bottom:24px}#tasks-title-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}#tasks-title-section h1{font-size:28px;font-weight:700;color:#1f2937;margin:0}#tasks-title-section p{color:#6b7280;margin:4px 0 0;font-size:16px}#tasks-title-section .flex{display:flex;gap:12px}#refresh-tasks-btn,#create-task-btn{padding:12px 16px;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:background-color .2s;font-size:14px}#refresh-tasks-btn{background-color:#2563eb;color:#fff}#refresh-tasks-btn:hover{background-color:#1d4ed8}#create-task-btn{background-color:#059669;color:#fff}#create-task-btn:hover{background-color:#047857}#tasks-filters{background-color:#fff;padding:16px;border-radius:12px;border:1px solid #e5e7eb;margin-bottom:16px}#tasks-filters .flex{display:flex;flex-wrap:wrap;gap:16px}#tasks-filters label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:4px}#tasks-filters input,#tasks-filters select{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background-color:#fff;transition:border-color .2s,box-shadow .2s}#tasks-filters input:focus,#tasks-filters select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}#category-filter,#difficulty-filter{flex:1;min-width:160px}#tasks-stats{display:flex;gap:24px;color:#6b7280;font-size:14px;margin-top:16px}#tasks-table-section{background-color:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb;overflow:hidden}#tasks-table-container{width:100%}#tasks-table-wrapper{overflow-x:auto}#tasks-table{width:100%;border-collapse:collapse;background-color:#fff}#tasks-table-header tr{background-color:#f9fafb;border-bottom:1px solid #e5e7eb}#tasks-table-header th{padding:16px 24px;text-align:left;font-size:12px;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}#tasks-table-body tr{border-bottom:1px solid #f3f4f6;transition:background-color .2s}#tasks-table-body tr:hover{background-color:#f9fafb}#tasks-table-body tr:last-child{border-bottom:none}#tasks-table-body td{padding:16px 24px;vertical-align:top}#tasks-table-body [id^=task-details-] .font-medium{font-weight:500;color:#1f2937;margin-bottom:4px}#tasks-table-body [id^=task-details-] .text-gray-600{color:#4b5563;word-break:break-word;max-width:300px}#tasks-table-body [id^=task-details-] .text-xs{font-size:12px;color:#6b7280;margin-top:4px}#tasks-table-body [id^=task-category-] span,#tasks-table-body [id^=task-difficulty-] span{display:inline-flex;padding:4px 8px;font-size:12px;font-weight:600;border-radius:6px;text-align:center}#tasks-table-body [id^=task-limits-] .text-gray-900,#tasks-table-body [id^=task-usage-] .text-gray-900{color:#1f2937;font-weight:500}#tasks-table-body [id^=task-limits-] .text-gray-600,#tasks-table-body [id^=task-usage-] .text-gray-600{color:#4b5563}#tasks-table-body [id^=task-status-] span{display:inline-flex;padding:4px 8px;font-size:12px;font-weight:600;border-radius:6px;text-align:center}#tasks-table-body [id^=task-actions-] .flex{display:flex;gap:8px;flex-wrap:wrap}#tasks-table-body [id^=task-actions-] button{background:none;border:none;font-size:14px;font-weight:500;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s}#tasks-table-body [id^=edit-task-]{color:#2563eb}#tasks-table-body [id^=edit-task-]:hover{color:#1d4ed8;background-color:#eff6ff}#tasks-table-body [id^=assign-task-]{color:#059669}#tasks-table-body [id^=assign-task-]:hover{color:#047857;background-color:#d1fae5}#tasks-table-body [id^=assignments-task-]{color:#7c3aed}#tasks-table-body [id^=assignments-task-]:hover{color:#6d28d9;background-color:#e9d5ff}#tasks-table-body [id^=toggle-task-]{color:#d97706}#tasks-table-body [id^=toggle-task-]:hover{color:#b45309;background-color:#fef3c7}#tasks-table-body [id^=delete-task-]{color:#dc2626}#tasks-table-body [id^=delete-task-]:hover{color:#b91c1c;background-color:#fee2e2}#tasks-table-loading{display:flex;justify-content:center;align-items:center;padding:48px}#tasks-table-loading .animate-spin{width:32px;height:32px;border:4px solid #e5e7eb;border-top:4px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}#no-tasks-found{text-align:center;padding:48px;color:#6b7280}#no-tasks-found button{padding:12px 16px;background-color:#059669;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s}#no-tasks-found button:hover{background-color:#047857}#task-form-modal{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:50}#task-form-modal-content{background-color:#fff;border-radius:12px;width:90%;max-width:800px;margin:16px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 25px #0000001a}#task-form-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #e5e7eb}#task-form-header h2{font-size:20px;font-weight:600;color:#1f2937}#task-form-header p{font-size:14px;color:#6b7280;margin-top:4px}#task-form-close-btn{background:none;border:none;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;transition:color .2s}#task-form-close-btn:hover{color:#374151}#task-form-close-btn svg{width:24px;height:24px}#task-form-modal form{padding:24px}#task-form-modal form>div{margin-bottom:24px}#task-form-modal label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:4px}#task-form-modal input,#task-form-modal textarea,#task-form-modal select{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:border-color .2s,box-shadow .2s}#task-form-modal input:focus,#task-form-modal textarea:focus,#task-form-modal select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}#task-form-modal .border-red-300{border-color:#fca5a5}#task-form-modal .text-red-600{color:#dc2626;font-size:14px;margin-top:4px}#task-category-difficulty,#task-limits{display:grid;grid-template-columns:1fr;gap:16px}@media (min-width: 768px){#task-category-difficulty,#task-limits{grid-template-columns:repeat(2,1fr)}}#task-form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid #e5e7eb}#task-form-actions button{padding:12px 16px;border-radius:8px;font-weight:500;cursor:pointer;transition:background-color .2s;border:none;display:flex;align-items:center;gap:8px}#task-form-actions button[type=button]{background-color:#f3f4f6;color:#374151}#task-form-actions button[type=button]:hover{background-color:#e5e7eb}#task-form-actions button[type=submit]{background-color:#2563eb;color:#fff}#task-form-actions button[type=submit]:hover{background-color:#1d4ed8}#task-form-actions button:disabled{opacity:.5;cursor:not-allowed}#task-assignment-modal{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:50}#task-assignment-modal-content{background-color:#fff;border-radius:12px;width:90%;max-width:600px;margin:16px;box-shadow:0 10px 25px #0000001a}#task-assignment-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #e5e7eb}#task-assignment-header h2{font-size:20px;font-weight:600;color:#1f2937}#task-assignment-header p{font-size:14px;color:#6b7280;margin-top:4px}#task-assignment-close-btn{background:none;border:none;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;transition:color .2s}#task-assignment-close-btn:hover{color:#374151}#task-assignment-details{padding:24px;background-color:#f9fafb;border-bottom:1px solid #e5e7eb}#task-assignment-details .grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;font-size:14px}#task-assignment-details .font-medium{font-weight:500;color:#374151}#task-assignment-details p{margin:12px 0 0;font-size:14px;color:#1f2937}#task-assignment-modal form{padding:24px}#task-assignment-modal form>div{margin-bottom:16px}#assignment-form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid #e5e7eb}#assignment-form-actions button{padding:12px 16px;border-radius:8px;font-weight:500;cursor:pointer;transition:background-color .2s;border:none;display:flex;align-items:center;gap:8px}#assignment-form-actions button[type=button]{background-color:#f3f4f6;color:#374151}#assignment-form-actions button[type=button]:hover{background-color:#e5e7eb}#assignment-form-actions button[type=submit]{background-color:#059669;color:#fff}#assignment-form-actions button[type=submit]:hover{background-color:#047857}#assignment-form-actions button:disabled{opacity:.5;cursor:not-allowed}#tasks-error{padding:24px}#tasks-error>div{background-color:#fee2e2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:8px}@media (max-width: 768px){#admin-tasks-page{padding:16px}#tasks-title-section{flex-direction:column;align-items:flex-start;gap:16px}#tasks-filters .flex{flex-direction:column}#tasks-table-header th,#tasks-table-body td{padding:12px 16px}#task-form-modal-content{margin:8px;width:calc(100% - 16px);max-height:95vh}#task-assignment-modal-content{margin:8px;width:calc(100% - 16px)}#task-assignment-details .grid{grid-template-columns:1fr}}#user-dashboard-page{background-color:#f9fafb;min-height:100vh;padding:24px}#dashboard-welcome h1{font-size:28px;font-weight:700;color:#1f2937;margin-bottom:8px}#dashboard-welcome p{color:#6b7280;font-size:16px;margin:0}#dashboard-alerts{margin-bottom:24px}#dashboard-alerts>div{padding:12px 16px;border-radius:8px;margin-bottom:12px}#dashboard-alerts>div:last-child{margin-bottom:0}#dashboard-alerts .flex{display:flex;align-items:flex-start}#dashboard-alerts .font-medium{font-weight:500;margin-bottom:4px}#dashboard-alerts .text-sm{font-size:14px}#dashboard-alerts .bg-red-50{background-color:#fef2f2;border-color:#fecaca;color:#b91c1c}#dashboard-alerts .bg-yellow-50{background-color:#fefce8;border-color:#fde68a;color:#d97706}#dashboard-alerts .bg-orange-50{background-color:#fff7ed;border-color:#fed7aa;color:#ea580c}#quota-overview{display:grid;grid-template-columns:1fr;gap:24px;margin-bottom:24px}@media (min-width: 768px){#quota-overview{grid-template-columns:repeat(2,1fr)}}#daily-quota-card,#monthly-quota-card{background-color:#fff;padding:24px;border-radius:12px;border:1px solid #e5e7eb}#daily-quota-card .flex,#monthly-quota-card .flex{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}#daily-quota-card h3,#monthly-quota-card h3{font-size:18px;font-weight:500;color:#1f2937;margin:0}#daily-quota-card .space-y-3>div,#monthly-quota-card .space-y-3>div{margin-bottom:12px}#daily-quota-card .space-y-3>div:last-child,#monthly-quota-card .space-y-3>div:last-child{margin-bottom:0}.w-full.bg-gray-200{width:100%;background-color:#e5e7eb;border-radius:9999px;height:12px}.bg-green-500{background-color:#10b981}.bg-yellow-500{background-color:#f59e0b}.bg-red-500{background-color:#ef4444}#usage-stats{display:grid;grid-template-columns:1fr;gap:24px;margin-bottom:24px}@media (min-width: 768px){#usage-stats{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){#usage-stats{grid-template-columns:repeat(4,1fr)}}#total-requests-card,#success-rate-card,#tokens-used-card,#deviation-score-card{background-color:#fff;padding:24px;border-radius:12px;border:1px solid #e5e7eb}#usage-stats .flex{display:flex;align-items:center}#usage-stats .flex-shrink-0>div{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px}#usage-stats .ml-4{margin-left:16px}#usage-stats p{margin:0}#usage-stats .text-sm{font-size:14px;font-weight:500;color:#6b7280}#usage-stats .text-2xl{font-size:24px;font-weight:600;color:#1f2937;margin-top:4px}#total-requests-card .w-8{background-color:#dbeafe}#success-rate-card .w-8{background-color:#d1fae5}#tokens-used-card .w-8{background-color:#e9d5ff}#deviation-score-card .w-8{background-color:#fed7aa}#dashboard-bottom{display:grid;grid-template-columns:1fr;gap:24px}@media (min-width: 1024px){#dashboard-bottom{grid-template-columns:repeat(2,1fr)}}#active-tasks-card{background-color:#fff;padding:24px;border-radius:12px;border:1px solid #e5e7eb}#active-tasks-card h3{font-size:18px;font-weight:500;color:#1f2937;margin-bottom:16px}#active-tasks-card .space-y-4>div{margin-bottom:16px}#active-tasks-card .space-y-4>div:last-child{margin-bottom:0}#active-tasks-card [id^=task-]{border:1px solid #e5e7eb;border-radius:8px;padding:16px}#active-tasks-card [id^=task-] .flex{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}#active-tasks-card [id^=task-] h4{font-weight:500;color:#1f2937;margin:0}#active-tasks-card [id^=task-] span{padding:4px 8px;font-size:12px;font-weight:600;border-radius:9999px}#active-tasks-card [id^=task-] p{font-size:14px;color:#6b7280;margin-bottom:12px}#active-tasks-card [id^=task-] .text-xs{font-size:12px;color:#6b7280;display:flex;justify-content:space-between}#active-tasks-card .text-center a{color:#2563eb;font-size:14px;font-weight:500;text-decoration:none;transition:color .2s}#active-tasks-card .text-center a:hover{color:#1d4ed8}#quick-stats-card{background-color:#fff;padding:24px;border-radius:12px;border:1px solid #e5e7eb}#quick-stats-card h3{font-size:18px;font-weight:500;color:#1f2937;margin-bottom:16px}#quick-stats-card .space-y-3>div{display:flex;justify-content:space-between;margin-bottom:12px}#quick-stats-card .space-y-3>div:last-child{margin-bottom:0}#quick-stats-card .text-sm{font-size:14px}#quick-stats-card .text-gray-600{color:#6b7280}#quick-stats-card .font-medium{font-weight:500;color:#1f2937}#dashboard-loading{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:50}#dashboard-loading>div{background-color:#fff;padding:24px;border-radius:12px}#dashboard-loading .flex{display:flex;align-items:center;gap:12px}#dashboard-loading .animate-spin{width:24px;height:24px;border:2px solid #3b82f6;border-top:2px solid transparent;border-radius:50%;animation:spin 1s linear infinite}#dashboard-loading span{color:#374151}@media (max-width: 768px){#user-dashboard-page{padding:16px}#dashboard-welcome h1{font-size:24px}#quota-overview,#usage-stats,#dashboard-bottom{grid-template-columns:1fr}#daily-quota-card,#monthly-quota-card,#total-requests-card,#success-rate-card,#tokens-used-card,#deviation-score-card,#active-tasks-card,#quick-stats-card{padding:16px}}#user-usage-page{background-color:#f9fafb;min-height:100vh;padding:24px}#usage-header{margin-bottom:24px}#usage-title-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}#usage-title-section h1{font-size:28px;font-weight:700;color:#1f2937;margin:0}#usage-title-section p{color:#6b7280;margin:4px 0 0;font-size:16px}#usage-title-section .flex{display:flex;gap:8px}#range-7d-btn,#range-30d-btn,#range-90d-btn{padding:8px 12px;font-size:14px;border-radius:8px;border:none;cursor:pointer;transition:all .2s;font-weight:500}#range-7d-btn.bg-blue-600,#range-30d-btn.bg-blue-600,#range-90d-btn.bg-blue-600{background-color:#2563eb;color:#fff}#range-7d-btn.bg-gray-100,#range-30d-btn.bg-gray-100,#range-90d-btn.bg-gray-100{background-color:#f3f4f6;color:#374151}#range-7d-btn.bg-gray-100:hover,#range-30d-btn.bg-gray-100:hover,#range-90d-btn.bg-gray-100:hover{background-color:#e5e7eb}#quota-status-section{margin-bottom:24px}#quota-status-section h2{font-size:18px;font-weight:500;color:#1f2937;margin-bottom:16px}#quota-status-section .grid{display:grid;grid-template-columns:1fr;gap:24px}@media (min-width: 768px){#quota-status-section .grid{grid-template-columns:repeat(2,1fr)}}#daily-quota-detail,#monthly-quota-detail{background-color:#fff;padding:24px;border-radius:12px;border:1px solid #e5e7eb}#daily-quota-detail .flex,#monthly-quota-detail .flex{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}#daily-quota-detail h3,#monthly-quota-detail h3{font-size:18px;font-weight:500;color:#1f2937;margin:0}#daily-quota-detail .space-y-4>div,#monthly-quota-detail .space-y-4>div{margin-bottom:16px}#daily-quota-detail .space-y-4>div:last-child,#monthly-quota-detail .space-y-4>div:last-child{margin-bottom:0}#daily-quota-detail .w-full,#monthly-quota-detail .w-full{width:100%;background-color:#e5e7eb;border-radius:9999px;height:16px}#daily-quota-detail .bg-green-500,#monthly-quota-detail .bg-green-500{background-color:#10b981;border-radius:9999px;height:16px;transition:all .3s ease}#daily-quota-detail .bg-yellow-500,#monthly-quota-detail .bg-yellow-500{background-color:#f59e0b;border-radius:9999px;height:16px;transition:all .3s ease}#daily-quota-detail .bg-red-500,#monthly-quota-detail .bg-red-500{background-color:#ef4444;border-radius:9999px;height:16px;transition:all .3s ease}#daily-quota-detail .grid,#monthly-quota-detail .grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;font-size:14px}#daily-quota-detail .text-gray-600,#monthly-quota-detail .text-gray-600{color:#6b7280;display:block;margin-bottom:4px}#daily-quota-detail .font-medium,#monthly-quota-detail .font-medium{font-weight:500;color:#1f2937;margin:0}#usage-charts-section{margin-bottom:24px}#usage-charts-section h2{font-size:18px;font-weight:500;color:#1f2937;margin-bottom:16px}#usage-charts-section .grid{display:grid;grid-template-columns:1fr;gap:24px}@media (min-width: 1024px){#usage-charts-section .grid{grid-template-columns:repeat(2,1fr)}}#detailed-stats-section h2{font-size:18px;font-weight:500;color:#1f2937;margin-bottom:16px}#detailed-stats-section .grid{display:grid;grid-template-columns:1fr;gap:24px}@media (min-width: 768px){#detailed-stats-section .grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){#detailed-stats-section .grid{grid-template-columns:repeat(3,1fr)}}#requests-breakdown,#performance-stats,#token-usage-stats{background-color:#fff;padding:24px;border-radius:12px;border:1px solid #e5e7eb}#requests-breakdown h3,#performance-stats h3,#token-usage-stats h3{font-size:18px;font-weight:500;color:#1f2937;margin-bottom:16px}#requests-breakdown .space-y-3>div,#performance-stats .space-y-3>div,#token-usage-stats .space-y-3>div{display:flex;justify-content:space-between;margin-bottom:12px}#requests-breakdown .space-y-3>div:last-child,#performance-stats .space-y-3>div:last-child,#token-usage-stats .space-y-3>div:last-child{margin-bottom:0}#requests-breakdown .text-gray-600,#performance-stats .text-gray-600,#token-usage-stats .text-gray-600{color:#6b7280;font-size:14px}#requests-breakdown .font-medium,#performance-stats .font-medium,#token-usage-stats .font-medium{font-weight:500;font-size:14px}.text-green-600{color:#16a34a}.text-yellow-600{color:#d97706}.text-red-600{color:#dc2626}.text-blue-600{color:#2563eb}.text-purple-600{color:#9333ea}.text-gray-900{color:#1f2937}#usage-loading{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:50}#usage-loading>div{background-color:#fff;padding:24px;border-radius:12px}#usage-loading .flex{display:flex;align-items:center;gap:12px}#usage-loading .animate-spin{width:24px;height:24px;border:2px solid #3b82f6;border-top:2px solid transparent;border-radius:50%;animation:spin 1s linear infinite}#usage-loading span{color:#374151}@media (max-width: 768px){#user-usage-page{padding:16px}#usage-title-section{flex-direction:column;align-items:flex-start;gap:16px}#usage-title-section h1{font-size:24px}#quota-status-section .grid,#usage-charts-section .grid,#detailed-stats-section .grid{grid-template-columns:1fr}#daily-quota-detail,#monthly-quota-detail,#requests-breakdown,#performance-stats,#token-usage-stats{padding:16px}#daily-quota-detail .grid,#monthly-quota-detail .grid{grid-template-columns:1fr}}#user-history-page{background-color:#f9fafb;min-height:100vh;padding:24px}#history-header{margin-bottom:24px}#history-title-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}#history-title-section h1{font-size:28px;font-weight:700;color:#1f2937;margin:0}#history-title-section p{color:#6b7280;margin:4px 0 0;font-size:16px}#history-title-section .flex{display:flex;gap:12px}#refresh-history-btn,#export-history-btn{padding:12px 16px;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:background-color .2s;font-size:14px}#refresh-history-btn{background-color:#2563eb;color:#fff}#refresh-history-btn:hover{background-color:#1d4ed8}#export-history-btn{background-color:#059669;color:#fff}#export-history-btn:hover{background-color:#047857}#history-filters{background-color:#fff;padding:16px;border-radius:12px;border:1px solid #e5e7eb;margin-bottom:16px}#history-filters .flex{display:flex;flex-wrap:wrap;gap:16px}#history-filters label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:4px}#history-filters input,#history-filters select{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background-color:#fff;transition:border-color .2s,box-shadow .2s}#history-filters input:focus,#history-filters select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}#task-filter{flex:1;min-width:200px}#status-filter{flex:1;min-width:130px}#search-filter{flex:1;min-width:250px}#date-filters{display:flex;gap:8px}#date-filters>div{min-width:120px}#clear-filters-btn{padding:8px 16px;color:#6b7280;border:1px solid #d1d5db;border-radius:8px;background-color:#fff;cursor:pointer;transition:background-color .2s;font-size:14px;height:-moz-fit-content;height:fit-content;margin-top:auto}#clear-filters-btn:hover{background-color:#f9fafb}#history-stats{display:flex;gap:24px;color:#6b7280;font-size:14px;margin-top:16px}#history-table-section{background-color:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb;overflow:hidden}#history-table-section .overflow-x-auto{overflow-x:auto}#history-table-section table{width:100%;border-collapse:collapse}#history-table-section thead{background-color:#f9fafb;border-bottom:1px solid #e5e7eb}#history-table-section th{padding:16px 24px;text-align:left;font-size:12px;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}#history-table-section tbody{background-color:#fff}#history-table-section tr{border-bottom:1px solid #f3f4f6;transition:background-color .2s}#history-table-section tr:hover{background-color:#f9fafb}#history-table-section tr:last-child{border-bottom:none}#history-table-section td{padding:16px 24px;vertical-align:top}#history-table-section .text-sm{font-size:14px}#history-table-section .font-medium{font-weight:500;color:#1f2937}#history-table-section .text-gray-900{color:#1f2937}#history-table-section .text-gray-600{color:#4b5563;word-break:break-word}#history-table-section .text-gray-500{color:#6b7280}#history-table-section .text-blue-600{color:#2563eb}#history-table-section .text-xs{font-size:12px}#history-table-section .inline-flex{display:inline-flex;padding:4px 8px;font-size:12px;font-weight:600;border-radius:6px;text-align:center}.bg-green-100{background-color:#dcfce7;color:#166534}.bg-red-100{background-color:#fee2e2;color:#dc2626}.bg-yellow-100{background-color:#fef3c7;color:#d97706}.bg-gray-100{background-color:#f3f4f6;color:#374151}.bg-blue-100{background-color:#dbeafe;color:#1e40af}.bg-purple-100{background-color:#e9d5ff;color:#7c3aed}.bg-indigo-100{background-color:#e0e7ff;color:#3730a3}.bg-teal-100{background-color:#ccfbf1;color:#0f766e}#history-table-section button{color:#2563eb;font-size:14px;font-weight:500;background:none;border:none;cursor:pointer;transition:color .2s}#history-table-section button:hover{color:#1d4ed8}#no-history-found{text-align:center;padding:48px;color:#6b7280}#log-details-modal{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:50}#log-details-modal>div{background-color:#fff;border-radius:12px;width:90%;max-width:1000px;margin:16px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 25px #0000001a}#log-details-modal .flex{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #e5e7eb}#log-details-modal h2{font-size:20px;font-weight:600;color:#1f2937}#log-details-modal h3{font-size:18px;font-weight:500;color:#1f2937;margin-bottom:8px}#log-details-modal .text-sm{font-size:14px;color:#6b7280;margin-top:4px}#log-details-modal button{background:none;border:none;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;transition:color .2s}#log-details-modal button:hover{color:#374151}#log-details-modal svg{width:24px;height:24px}#log-details-modal .p-6{padding:24px}#log-details-modal .space-y-6>div{margin-bottom:24px}#log-details-modal .space-y-6>div:last-child{margin-bottom:0}#log-details-modal .bg-gray-50{background-color:#f9fafb;padding:16px;border-radius:8px;max-height:256px;overflow-y:auto}#log-details-modal .bg-red-50{background-color:#fef2f2;padding:16px;border-radius:8px;border:1px solid #fecaca}#log-details-modal pre{font-size:14px;color:#374151;white-space:pre-wrap;word-break:break-word;margin:0}#log-details-modal .text-red-700{color:#b91c1c}#log-details-modal .text-red-900{color:#7f1d1d}#log-details-modal .border-t{border-top:1px solid #e5e7eb}#log-details-modal .justify-end{display:flex;justify-content:flex-end;padding:24px;border-top:1px solid #e5e7eb}#log-details-modal .justify-end button{padding:10px 16px;background-color:#f3f4f6;color:#374151;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s}#log-details-modal .justify-end button:hover{background-color:#e5e7eb}#history-table-section .flex.justify-center{display:flex;justify-content:center;align-items:center;padding:48px}#history-table-section .animate-spin{width:32px;height:32px;border:4px solid #e5e7eb;border-top:4px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}#history-error{padding:24px}#history-error>div{background-color:#fee2e2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:8px}@media (max-width: 768px){#user-history-page{padding:16px}#history-title-section{flex-direction:column;align-items:flex-start;gap:16px}#history-title-section h1{font-size:24px}#history-filters .flex,#date-filters{flex-direction:column}#history-table-section th,#history-table-section td{padding:12px 16px}#log-details-modal>div{margin:8px;width:calc(100% - 16px);max-height:95vh}}#user-profile-page{background-color:#f9fafb;min-height:100vh;padding:24px}#profile-header{margin-bottom:24px}#profile-header h1{font-size:28px;font-weight:700;color:#1f2937;margin:0}#profile-header p{color:#6b7280;margin:4px 0 0;font-size:16px}#user-profile-page .grid{display:grid;gap:24px}#user-profile-page .grid-cols-1{grid-template-columns:1fr}@media (min-width: 1024px){#user-profile-page .grid-cols-1.lg\\:grid-cols-2{grid-template-columns:repeat(2,1fr)}}@media (min-width: 768px){#account-stats-section .grid-cols-1.md\\:grid-cols-2{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){#account-stats-section .grid-cols-1.md\\:grid-cols-2.lg\\:grid-cols-4{grid-template-columns:repeat(4,1fr)}}#profile-info-section,#security-section,#account-stats-section{background-color:#fff;padding:24px;border-radius:12px;border:1px solid #e5e7eb}#profile-info-section .flex,#security-section .flex{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}#profile-info-section h2,#security-section h2,#account-stats-section h2{font-size:18px;font-weight:500;color:#1f2937;margin:0}#edit-profile-btn,#change-password-btn{color:#2563eb;font-size:14px;font-weight:500;background:none;border:none;cursor:pointer;transition:color .2s}#edit-profile-btn:hover,#change-password-btn:hover{color:#1d4ed8}#profile-info-section .space-y-4>div,#security-section .space-y-4>div{margin-bottom:16px}#profile-info-section .space-y-4>div:last-child,#security-section .space-y-4>div:last-child{margin-bottom:0}#profile-info-section label,#security-section label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:4px}#profile-info-section input,#security-section input{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;background-color:#fff;transition:border-color .2s,box-shadow .2s}#profile-info-section input:focus,#security-section input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}#profile-info-section p{margin-top:4px;color:#1f2937;font-size:14px}#profile-info-section .text-xs{font-size:12px;color:#6b7280}#profile-form-actions,#password-form-actions{display:flex;gap:12px;margin-top:16px}#profile-form-actions button,#password-form-actions button{padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s;border:none}#profile-form-actions button[type=submit],#password-form-actions button[type=submit]{background-color:#2563eb;color:#fff}#profile-form-actions button[type=submit]:hover,#password-form-actions button[type=submit]:hover{background-color:#1d4ed8}#profile-form-actions button[type=submit]:disabled,#password-form-actions button[type=submit]:disabled{opacity:.5;cursor:not-allowed}#profile-form-actions button[type=button],#password-form-actions button[type=button]{background-color:#f3f4f6;color:#374151}#profile-form-actions button[type=button]:hover,#password-form-actions button[type=button]:hover{background-color:#e5e7eb}#profile-info-section .text-red-600,#security-section .text-red-600{color:#dc2626;font-size:14px;margin-top:4px}#security-section .bg-red-50{background-color:#fef2f2;border:1px solid #fecaca;color:#b91c1c;padding:12px;border-radius:8px}#security-section .bg-blue-50{background-color:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;padding:12px;border-radius:8px}#security-section .bg-blue-50 p{font-size:14px;margin:0}#security-section .bg-blue-50 strong{font-weight:600}#account-stats-section{margin-top:24px}#account-stats-section .grid{display:grid;gap:16px}#account-stats-section .bg-gray-50{background-color:#f9fafb;padding:16px;border-radius:8px}#account-stats-section .bg-gray-50 label{display:block;font-size:14px;font-weight:500;color:#6b7280;margin-bottom:4px}#account-stats-section .bg-gray-50 p{font-size:24px;font-weight:600;color:#1f2937;margin:0}#profile-loading{padding:24px}#profile-loading .flex{display:flex;align-items:center;gap:12px}#profile-loading .animate-spin{width:24px;height:24px;border:2px solid #3b82f6;border-top:2px solid transparent;border-radius:50%;animation:spin 1s linear infinite}#profile-loading span{color:#374151}#profile-error{padding:24px}#profile-error>div{background-color:#fee2e2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:8px}@media (max-width: 1024px){#user-profile-page .grid.lg\\:grid-cols-2{grid-template-columns:1fr}}@media (max-width: 768px){#user-profile-page{padding:16px}#profile-header h1{font-size:24px}#profile-info-section,#security-section,#account-stats-section{padding:16px}#account-stats-section .grid.md\\:grid-cols-2{grid-template-columns:1fr}#account-stats-section .grid.lg\\:grid-cols-4{grid-template-columns:repeat(2,1fr)}#profile-form-actions,#password-form-actions{flex-direction:column;gap:8px}#profile-form-actions button,#password-form-actions button{width:100%}}#user-tasks-page{background-color:#f9fafb;min-height:100vh}#user-tasks-header{border-bottom:1px solid #e5e7eb;padding-bottom:1rem;margin-bottom:2rem}#user-tasks-grid{gap:1.5rem}.user-task-card{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;border:1px solid #e5e7eb;overflow:hidden;transition:all .2s ease-in-out;display:flex;flex-direction:column;height:100%}.user-task-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.task-card-header{padding:1.5rem 1.5rem 0}.task-title{font-size:1.25rem;font-weight:600;color:#1f2937;line-height:1.4;margin:0;flex-grow:1;margin-right:1rem;word-break:break-word}.task-category-badge{background-color:#ddd6fe;color:#7c3aed;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;text-transform:capitalize;white-space:nowrap}.task-card-header .flex.justify-between.items-start{align-items:flex-start;gap:1rem}.task-card-header .flex.items-center.space-x-2{flex-wrap:wrap;gap:.5rem}.task-card-body{padding:1rem 1.5rem;flex-grow:1;display:flex;flex-direction:column}.task-description{color:#6b7280;font-size:.875rem;line-height:1.5;margin-bottom:1rem;flex-grow:1}.task-stats{background-color:#f9fafb;border-radius:8px;padding:1rem;margin-bottom:1rem}.stat-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.stat-item:last-child{margin-bottom:0}.stat-label{font-size:.875rem;color:#6b7280;font-weight:500}.stat-value{font-size:.875rem;color:#1f2937;font-weight:600}.task-limits{background-color:#fef3c7;border-radius:8px;padding:.75rem;margin-bottom:1rem}.limit-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.limit-item:last-child{margin-bottom:0}.limit-label{font-size:.75rem;color:#92400e;font-weight:500}.limit-value{font-size:.75rem;color:#92400e;font-weight:600}.progress-notes{background-color:#ecfdf5;border-left:4px solid #10b981;padding:.75rem;margin-bottom:1rem}.notes-title{font-size:.875rem;font-weight:600;color:#065f46;margin-bottom:.5rem}.notes-content{font-size:.875rem;color:#047857;line-height:1.4;margin:0}.task-card-footer{padding:1rem 1.5rem 1.5rem;border-top:1px solid #f3f4f6;background-color:#fafafa;display:flex;flex-direction:column;gap:1rem}.task-actions{display:flex;justify-content:center;margin-top:.5rem}.start-chat-btn{background-color:#3b82f6;color:#fff;padding:.75rem 1.5rem;border-radius:8px;text-decoration:none;font-weight:500;font-size:.875rem;transition:all .2s ease-in-out;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #3b82f633}.start-chat-btn:hover{background-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d;text-decoration:none;color:#fff}.task-dates{display:flex;justify-content:space-between;gap:1rem}.date-item{display:flex;flex-direction:column;align-items:center;text-align:center}.date-label{font-size:.75rem;color:#6b7280;font-weight:500;margin-bottom:.25rem}.date-value{font-size:.875rem;color:#1f2937;font-weight:600}#user-tasks-loading{background-color:#f9fafb}#no-tasks-message{background:#fff;border-radius:12px;border:2px dashed #d1d5db;margin:2rem 0}@media (max-width: 768px){#user-tasks-grid{grid-template-columns:1fr}.task-dates{flex-direction:column;gap:.5rem}.date-item{align-items:flex-start;text-align:left}}@media (min-width: 769px) and (max-width: 1024px){#user-tasks-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1025px){#user-tasks-grid{grid-template-columns:repeat(3,1fr)}}.chat-container{display:flex;height:100vh;background-color:#1a1a1a;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.task-info{margin-top:8px}.task-subtitle{font-size:14px;color:#a0a0a0;margin-bottom:8px}.token-info{display:flex;gap:16px;align-items:center;font-size:12px}.token-usage{color:#10b981;font-weight:500}.task-category{color:#3b82f6;text-transform:uppercase;font-weight:500}.error-message{background-color:#dc2626;color:#fff;padding:8px 12px;border-radius:6px;margin-top:8px;font-size:14px;display:flex;justify-content:space-between;align-items:center}.close-error{background:none;border:none;color:#fff;font-size:16px;cursor:pointer;padding:0;margin-left:8px}.loading-chats{padding:20px;text-align:center;color:#a0a0a0;font-size:14px}.session-meta{display:flex;justify-content:space-between;align-items:center;margin-top:4px}.session-tokens{font-size:11px;color:#10b981;font-weight:500}.chat-session-item{position:relative}.archive-chat-btn{position:absolute;top:8px;right:8px;background:none;border:none;color:#6b7280;font-size:16px;cursor:pointer;padding:2px;opacity:0;transition:opacity .2s ease;border-radius:4px}.chat-session-item:hover .archive-chat-btn{opacity:1}.archive-chat-btn:hover{background-color:#dc2626;color:#fff}.message-meta{display:flex;gap:12px;align-items:center;margin-top:4px;font-size:11px;color:#6b7280}.message-tokens{color:#10b981}.message-intent{color:#3b82f6}.chat-sidebar{width:260px;background-color:#1a1a1a;border-right:1px solid #2d2d2d;display:flex;flex-direction:column;flex-shrink:0}.sidebar-header{padding:12px;border-bottom:1px solid #2d2d2d}.new-chat-btn{width:100%;background:transparent;border:1px solid #3d3d3d;color:#fff;padding:10px 12px;border-radius:8px;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background-color .2s ease}.new-chat-btn:hover{background-color:#2d2d2d}.plus-icon{font-size:16px;font-weight:700}.search-container{padding:12px;border-bottom:1px solid #2d2d2d}.search-input{width:100%;background-color:#2d2d2d;border:1px solid #3d3d3d;color:#fff;padding:8px 12px;border-radius:6px;font-size:14px;outline:none}.search-input::-moz-placeholder{color:#8e8e8e}.search-input::placeholder{color:#8e8e8e}.search-input:focus{border-color:#4d4d4d}.chat-history{flex:1;overflow-y:auto;padding:8px 0}.chat-sessions{padding:0 12px}.chat-session-item{padding:12px;border-radius:8px;cursor:pointer;margin-bottom:4px;transition:background-color .2s ease;border-left:2px solid transparent}.chat-session-item:hover{background-color:#2d2d2d}.chat-session-item.active{background-color:#2d2d2d;border-left-color:#10a37f}.session-title{font-size:14px;font-weight:500;color:#fff;line-height:1.3;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-time{font-size:12px;color:#8e8e8e}.sidebar-footer{padding:12px;border-top:1px solid #2d2d2d}.user-info{display:flex;align-items:center;gap:8px;padding:8px;border-radius:8px;cursor:pointer;transition:background-color .2s ease}.user-info:hover{background-color:#2d2d2d}.user-avatar{width:28px;height:28px;background-color:#10a37f;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.user-name{font-size:14px;color:#fff;font-weight:500}.chat-main{flex:1;display:flex;flex-direction:column;background-color:#212121;position:relative}.chat-header{padding:20px;text-align:center;border-bottom:1px solid #2d2d2d}.chat-title{font-size:24px;font-weight:600;color:#fff;margin:0}.task-subtitle{font-size:14px;color:#8e8e8e;margin:4px 0 0;font-weight:400}.chat-messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;justify-content:center}.welcome-message{text-align:center;color:#8e8e8e;max-width:600px;margin:0 auto}.welcome-message h2{font-size:28px;font-weight:600;margin-bottom:12px;color:#fff}.welcome-message p{font-size:16px;line-height:1.5}.messages-list{max-width:768px;margin:0 auto;width:100%}.message{margin-bottom:24px;display:flex;flex-direction:column}.message.user{align-items:flex-end}.message.assistant{align-items:flex-start}.message-content{max-width:80%;padding:12px 16px;border-radius:18px;font-size:15px;line-height:1.4;word-wrap:break-word}.message.user .message-content{background-color:#10a37f;color:#fff}.message.assistant .message-content{background-color:#2d2d2d;color:#fff;border:1px solid #3d3d3d}.message-time{font-size:11px;color:#8e8e8e;margin-top:4px;padding:0 4px}.message.loading .message-content{padding:16px}.typing-indicator{display:flex;gap:4px;align-items:center}.typing-indicator span{width:6px;height:6px;background-color:#8e8e8e;border-radius:50%;animation:typing 1.4s infinite ease-in-out}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.chat-input-container{padding:20px;border-top:1px solid #2d2d2d;background-color:#212121}.input-wrapper{max-width:768px;margin:0 auto;position:relative;background-color:#2d2d2d;border:1px solid #3d3d3d;border-radius:12px;display:flex;align-items:flex-end;transition:border-color .2s ease}.input-wrapper:focus-within{border-color:#10a37f}.chat-input{flex:1;background:transparent;border:none;color:#fff;padding:12px 16px;font-size:16px;line-height:1.5;resize:none;outline:none;min-height:24px;max-height:120px;font-family:inherit}.chat-input::-moz-placeholder{color:#8e8e8e}.chat-input::placeholder{color:#8e8e8e}.chat-input:disabled{opacity:.6;cursor:not-allowed}.input-actions{display:flex;align-items:center;gap:8px;padding:8px 12px}.file-upload-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background-color:transparent;border:none;border-radius:6px;cursor:pointer;transition:background-color .2s ease}.file-upload-btn:hover{background-color:#3d3d3d}.hidden-file-input{display:none}.upload-icon{font-size:16px;color:#8e8e8e}.send-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background-color:#10a37f;border:none;border-radius:6px;cursor:pointer;transition:background-color .2s ease}.send-btn:hover:not(:disabled){background-color:#0d8b6b}.send-btn:disabled{background-color:#3d3d3d;cursor:not-allowed}.send-icon{font-size:16px;color:#fff;font-weight:700}@media (max-width: 768px){.chat-sidebar{width:100%;position:fixed;top:0;left:-100%;height:100vh;z-index:1000;transition:left .3s ease}.chat-sidebar.open{left:0}.chat-main{width:100%}.message-content{max-width:90%}.chat-input-container,.chat-messages{padding:12px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:#f9fafb;color:#1f2937}#app-root{min-height:100vh}#app-container{min-height:100vh;background-color:#f9fafb}#sidebar{width:256px;background-color:#fff;box-shadow:0 1px 3px #0000001a;border-right:1px solid #e5e7eb;height:100vh;position:fixed;left:0;top:0;z-index:40}#sidebar-header{padding:24px;border-bottom:1px solid #e5e7eb}#sidebar-logo{display:flex;align-items:center}#logo-icon{width:32px;height:32px;background-color:#2563eb;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:18px}#sidebar-logo span{margin-left:12px;font-size:20px;font-weight:600;color:#1f2937}#sidebar-nav{margin-top:24px}#nav-links{padding:0 12px}#nav-links a{display:flex;align-items:center;padding:8px 12px;margin-bottom:4px;border-radius:6px;text-decoration:none;font-size:14px;font-weight:500;color:#374151;transition:all .2s}#nav-links a:hover{background-color:#f3f4f6;color:#1f2937}#nav-links a.active{background-color:#eff6ff;color:#1d4ed8;border-right:2px solid #2563eb}#nav-links a span{margin-right:12px;font-size:18px}#admin-layout,#user-layout{display:flex;height:100vh;background-color:#f3f4f6}#admin-main,#user-main{flex:1;display:flex;flex-direction:column;margin-left:256px;overflow:hidden}#app-header{background-color:#fff;box-shadow:0 1px 3px #0000001a;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:30}#header-container{max-width:1280px;margin:0 auto;padding:0 16px}#header-content{display:flex;justify-content:space-between;align-items:center;padding:16px 0}#header-title h1{font-size:20px;font-weight:600;color:#1f2937}#header-actions{display:flex;align-items:center;gap:16px}#user-info{display:flex;align-items:center;gap:12px}#user-avatar{width:32px;height:32px;background-color:#3b82f6;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:500}#user-details p:first-child{font-size:14px;font-weight:500;color:#1f2937}#user-details p:last-child{font-size:12px;color:#6b7280}#logout-button{color:#6b7280;padding:8px 12px;border-radius:6px;font-size:14px;font-weight:500;background:none;border:none;cursor:pointer;transition:color .2s}#logout-button:hover{color:#374151}#admin-content,#user-content{flex:1;overflow-x:hidden;overflow-y:auto;background-color:#f9fafb;padding:24px}#admin-dashboard-placeholder,#admin-users-placeholder,#admin-tasks-placeholder,#admin-logs-placeholder,#admin-analytics-placeholder,#user-dashboard-placeholder,#user-usage-placeholder,#user-profile-placeholder{background-color:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb}#admin-dashboard-placeholder h1,#admin-users-placeholder h1,#admin-tasks-placeholder h1,#admin-logs-placeholder h1,#admin-analytics-placeholder h1,#user-dashboard-placeholder h1,#user-usage-placeholder h1,#user-profile-placeholder h1{font-size:24px;font-weight:700;color:#1f2937;margin-bottom:8px}#admin-dashboard-placeholder p,#admin-users-placeholder p,#admin-tasks-placeholder p,#admin-logs-placeholder p,#admin-analytics-placeholder p,#user-dashboard-placeholder p,#user-usage-placeholder p,#user-profile-placeholder p{color:#6b7280;font-size:16px}#login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:#f9fafb;padding:48px 16px}#login-container{max-width:400px;width:100%}#login-header{text-align:center;margin-bottom:32px}#login-header h2{font-size:28px;font-weight:800;color:#1f2937;margin-bottom:8px}#login-header p{font-size:14px;color:#6b7280}#login-form{background-color:#fff;padding:32px;border-radius:8px;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb}#login-fields{margin-bottom:24px}#email-field,#password-field{margin-bottom:16px}#email-field input,#password-field input{width:100%;padding:12px 16px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:border-color .2s}#email-field input:focus,#password-field input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}#login-error{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:6px;margin-bottom:16px}#login-submit button{width:100%;background-color:#2563eb;color:#fff;padding:12px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}#login-submit button:hover:not(:disabled){background-color:#1d4ed8}#login-submit button:disabled{opacity:.5;cursor:not-allowed}#login-loading{display:flex;align-items:center;justify-content:center}@media (max-width: 768px){#sidebar{transform:translate(-100%);transition:transform .3s}#admin-main,#user-main{margin-left:0}#user-details{display:none}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}#loading-spinner{animation:spin 1s linear infinite;border-radius:50%;width:128px;height:128px;border:2px solid #e5e7eb;border-top:2px solid #2563eb}#protected-route-loading{min-height:100vh;display:flex;align-items:center;justify-content:center}
