.login-container{box-sizing:border-box;background:linear-gradient(135deg,#0f172a 0%,#1e293b 50%,#0f172a 100%) fixed;justify-content:center;align-items:center;width:100%;min-height:100dvh;margin:0;padding:20px;display:flex}.login-box{-webkit-backdrop-filter:blur(20px);box-sizing:border-box;background:#ffffff0d;border:1px solid #ffffff14;border-radius:24px;width:100%;max-width:420px;padding:48px 40px;box-shadow:0 25px 80px #00000080}.login-box .logo{text-align:center;margin-bottom:32px}.login-box .logo-icon{margin-bottom:8px;font-size:52px;line-height:1;display:block}.login-box .logo-title{color:#fff;letter-spacing:-.5px;font-size:28px;font-weight:700;line-height:1.2;display:block}.login-box .logo-subtitle{color:#ffffff80;margin-top:4px;font-size:14px;font-weight:400;display:block}.login-box .form-group{margin-bottom:20px}.login-box .form-group label{color:#ffffffb3;letter-spacing:.3px;margin-bottom:6px;font-size:13px;font-weight:500;display:block}.login-box .form-group input{color:#fff;box-sizing:border-box;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:12px;outline:none;width:100%;padding:14px 16px;font-family:inherit;font-size:15px;transition:all .3s}.login-box .form-group input::placeholder{color:#ffffff40}.login-box .form-group input:focus{background:#ffffff14;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f626}.login-box .form-group input:-webkit-autofill{-webkit-text-fill-color:#fff!important;-webkit-box-shadow:inset 0 0 0 1000px #1e293b!important}.login-box .error-message{color:#f87171;background:#ef444426;border:1px solid #ef444433;border-radius:10px;margin-bottom:16px;padding:12px 16px;font-size:14px}.login-box .login-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:12px;width:100%;padding:14px;font-family:inherit;font-size:16px;font-weight:600;transition:all .3s}.login-box .login-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 30px #3b82f659}.login-box .login-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (width<=480px){.login-box{border-radius:18px;padding:32px 24px}.login-box .logo-icon{font-size:44px}.login-box .logo-title{font-size:24px}.login-box .logo-subtitle{font-size:13px}.login-box .form-group input{padding:12px 14px;font-size:16px}.login-box .login-btn{padding:12px;font-size:15px}}@media (width<=380px){.login-box{padding:24px 16px}.login-box .logo-icon{font-size:36px}.login-box .logo-title{font-size:20px}}.hub-card{cursor:pointer;text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;min-height:120px;padding:16px 10px 12px;transition:all .25s;display:flex;box-shadow:0 1px 3px #0000000a}.hub-card:hover{border-color:#94a3b8;transform:translateY(-4px);box-shadow:0 8px 24px #00000014}.hub-card-content{flex-direction:column;align-items:center;gap:4px;width:100%;margin-top:auto;margin-bottom:auto;display:flex}.hub-icon{margin-bottom:4px;font-size:32px;line-height:1.2}.hub-name{color:#0f172a;font-size:14px;font-weight:500;line-height:1.4}.hub-badge{color:#4f46e5;text-align:center;background:#eef2ff;border-radius:24px;min-width:28px;margin-top:6px;padding:2px 16px;font-size:16px;font-weight:700;transition:all .2s}.hub-card:hover .hub-badge{color:#fff;background:#4f46e5}@media (width<=1024px){.hub-icon{font-size:28px}.hub-name{font-size:13px}.hub-badge{padding:0 12px;font-size:14px}}@media (width<=768px){.hub-card{padding:12px 6px 10px}.hub-icon{font-size:24px}.hub-name{font-size:12px}.hub-badge{padding:0 10px;font-size:13px}}@media (width<=480px){.hub-card{border-radius:12px;padding:10px 4px 8px}.hub-icon{font-size:20px}.hub-name{font-size:11px}.hub-badge{min-width:20px;padding:0 8px;font-size:11px}}@media (width<=380px){.hub-card{border-radius:10px;padding:8px 4px 6px}.hub-icon{font-size:18px}.hub-name{font-size:10px}.hub-badge{min-width:16px;padding:0 6px;font-size:10px}}.tasks-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:4px 0;overflow-x:auto;box-shadow:0 1px 3px #0000000a}.tasks-table{border-collapse:collapse;width:100%;min-width:500px;font-size:14px}.tasks-table th{text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #f1f5f9;padding:14px 20px;font-size:12px;font-weight:600}.tasks-table td{color:#1e293b;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:14px 20px}.tasks-table tr:last-child td{border-bottom:none}.tasks-loading{color:#94a3b8;padding:20px 0}.empty-row{text-align:center;color:#94a3b8;padding:32px 20px}.task-tracking{color:#0f172a;font-weight:500}.task-comments-badge{color:#2563eb;background:#eff6ff;border-radius:12px;margin-left:8px;padding:1px 8px;font-size:12px;display:inline-block}.task-description{color:#64748b;white-space:nowrap;text-overflow:ellipsis;max-width:200px;overflow:hidden}@media (width<=768px){.tasks-table th,.tasks-table td{padding:10px 14px;font-size:13px}.task-description{max-width:120px}}@media (width<=480px){.tasks-table{min-width:320px;font-size:12px}.tasks-table th,.tasks-table td{padding:8px 10px}.task-description{max-width:80px}.task-comments-badge{padding:0 6px;font-size:10px}}.task-row-clickable{cursor:pointer;transition:background .15s}.task-row-clickable:hover{background:#f1f5f9}.calendar{background:#fff;border-radius:10px;width:100%;max-width:340px;padding:12px;box-shadow:0 1px 3px #0000000f}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:10px;padding:0 2px;display:flex}.calendar-month{color:#1a2332;font-size:15px;font-weight:600}.calendar-nav-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:6px;padding:2px 8px;font-size:18px;line-height:1;transition:all .2s}.calendar-nav-btn:hover{color:#1a2332;background:#f3f4f6}.calendar-grid{flex-direction:column;display:flex}.calendar-weekdays{grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:2px;display:grid}.calendar-weekdays span{text-align:center;color:#6b7280;padding:4px 0;font-size:11px;font-weight:600}.calendar-days{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendar-day{aspect-ratio:1;cursor:pointer;background:#fff;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;min-height:32px;transition:all .15s;display:flex;position:relative}.calendar-day:hover{background:#f3f4f6}.calendar-day.empty{cursor:default;background:0 0}.calendar-day.empty:hover{background:0 0}.calendar-day-number{color:#1a2332;font-size:13px;font-weight:500}.calendar-day.today{background:#eff6ff}.calendar-day.today .calendar-day-number{color:#3b82f6;font-weight:700}.calendar-day.selected{background:#667eea}.calendar-day.selected .calendar-day-number{color:#fff;font-weight:700}.calendar-day.selected:hover{background:#5a6fd6}.calendar-day.has-overdue .calendar-day-number{color:#dc2626;font-weight:700}.calendar-day.has-overdue.selected .calendar-day-number{color:#fff}.calendar-day-dots{flex-wrap:wrap;justify-content:center;gap:3px;display:flex;position:absolute;bottom:3px}.calendar-day-dot{border-radius:50%;flex-shrink:0;width:5px;height:5px}.calendar-day-dot.dot-task{background:#22c55e}.calendar-day-dot.dot-duty{background:#f59e0b}.calendar-day-dot.dot-vacation{background:#8b5cf6}.calendar-day-dot.dot-news{background:#ef4444}@media (width<=768px){.calendar{max-width:100%;padding:10px}.calendar-month{font-size:14px}.calendar-nav-btn{padding:2px 6px;font-size:16px}.calendar-weekdays span{padding:3px 0;font-size:10px}.calendar-day-number{font-size:12px}.calendar-day{min-height:28px}.calendar-day-dot{width:4px;height:4px}.calendar-day-dots{gap:2px;bottom:2px}}@media (width<=480px){.calendar{padding:6px}.calendar-month{font-size:12px}.calendar-day-number{font-size:11px}.calendar-day{min-height:24px}.calendar-day-dot{width:3px;height:3px}.calendar-day-dots{gap:1px;bottom:2px}}.calendar-event-list{background:#fff;border-radius:10px;flex-direction:column;height:100%;min-height:0;max-height:100%;padding:12px 16px;display:flex;overflow:hidden;box-shadow:0 1px 3px #0000000f}.calendar-event-list-header{border-bottom:1px solid #f3f4f6;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;margin-bottom:10px;padding-bottom:8px;display:flex}.calendar-event-list-header h3{color:#1a2332;margin:0;font-size:15px;font-weight:600}.calendar-event-list-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.calendar-event-list-hide-completed{color:#6b7280;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;font-size:12px;transition:color .2s;display:flex}.calendar-event-list-hide-completed:hover{color:#1a2332}.calendar-event-list-hide-completed input[type=checkbox]{cursor:pointer;accent-color:#667eea;flex-shrink:0;width:14px;height:14px}.calendar-event-count{color:#6b7280;white-space:nowrap;background:#f3f4f6;border-radius:10px;padding:1px 10px;font-size:12px}.calendar-event-list-empty{color:#9ca3af;text-align:center;flex:1;justify-content:center;align-items:center;padding:20px 10px;font-size:14px;display:flex}.calendar-event-list-empty p{margin:0}.calendar-event-list-items{flex-direction:column;flex:auto;gap:5px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.calendar-event-list-items::-webkit-scrollbar{width:3px}.calendar-event-list-items::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.calendar-event-list-items::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.calendar-event-item{background:#f9fafb;border-left:3px solid #d1d5db;border-radius:6px;align-items:flex-start;gap:10px;padding:8px 12px;transition:all .15s;display:flex}.calendar-event-item.clickable{cursor:pointer}.calendar-event-item.clickable:hover{background:#f3f4f6;transform:translate(2px)}.calendar-event-item.event-task{border-left-color:#22c55e}.calendar-event-item.event-duty{border-left-color:#f59e0b}.calendar-event-item.event-vacation{border-left-color:#8b5cf6}.calendar-event-item.event-news{border-left-color:#ef4444}.calendar-event-item-icon{flex-shrink:0;margin-top:1px;font-size:16px}.calendar-event-item-content{flex:1;min-width:0}.calendar-event-item-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px;margin-bottom:2px;display:flex}.calendar-event-item-type{color:#6b7280;text-transform:uppercase;letter-spacing:.3px;font-size:10px;font-weight:600}.calendar-event-item-time{color:#9ca3af;font-size:11px}.calendar-event-item-title{color:#1a2332;word-break:break-word;font-size:13px;font-weight:500;line-height:1.3}.calendar-event-item-user{color:#6b7280;margin-top:1px;font-size:12px}.calendar-event-item-description{color:#4b5563;word-break:break-word;margin-top:2px;font-size:12px;line-height:1.3}.calendar-event-item-badge{border-radius:10px;margin-top:2px;padding:1px 8px;font-size:10px;font-weight:600;display:inline-block}.calendar-event-item-badge.overdue{color:#dc2626;background:#fee2e2}.calendar-event-item-badge.completed{color:#16a34a;background:#dcfce7}.calendar-event-item-badge.days-left{color:#0284c7;background:#e0f2fe}@media (width<=768px){.calendar-event-list{min-height:200px;max-height:350px;padding:10px 14px}.calendar-event-list-header{flex-direction:column;align-items:flex-start;gap:6px}.calendar-event-list-header h3{font-size:14px}.calendar-event-list-controls{justify-content:space-between;width:100%}.calendar-event-list-hide-completed{font-size:11px}.calendar-event-item{padding:6px 10px}.calendar-event-item-icon{font-size:14px}.calendar-event-item-title{font-size:12px}.calendar-event-list-items{max-height:280px}}@media (width<=480px){.calendar-event-list{min-height:150px;max-height:300px;padding:8px 10px}.calendar-event-list-header h3{font-size:13px}.calendar-event-list-controls{flex-wrap:wrap;gap:4px}.calendar-event-list-hide-completed{font-size:10px}.calendar-event-list-hide-completed input[type=checkbox]{width:12px;height:12px}.calendar-event-count{padding:1px 8px;font-size:10px}.calendar-event-item{gap:8px;padding:5px 8px}.calendar-event-item-icon{font-size:13px}.calendar-event-item-title{font-size:11px}.calendar-event-item-type{font-size:9px}.calendar-event-item-badge{padding:0 6px;font-size:9px}.calendar-event-list-items{max-height:220px}}.calendar-event-item-subtasks{color:#6b7280;align-items:center;gap:4px;margin-top:3px;font-size:11px;display:flex}@media (width<=480px){.calendar-event-item-subtasks{font-size:10px}}.calendar-event-type-filters{flex-wrap:wrap;gap:6px;margin-right:8px;display:flex}.filter-label{cursor:pointer;-webkit-user-select:none;user-select:none;color:#9ca3af;background:#f3f4f6;border-radius:12px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;transition:all .2s;display:flex}.filter-label.active{color:#1a2332;background:#f3f4f6}.filter-label:hover{background:#e5e7eb}.filter-label input[type=checkbox]{display:none}.filter-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.filter-dot.dot-task{background:#22c55e}.filter-dot.dot-duty{background:#f59e0b}.filter-dot.dot-vacation{background:#8b5cf6}.filter-dot.dot-news{background:#ef4444}.filter-name{font-size:11px;font-weight:500}.filter-label:not(.active) .filter-name{color:#9ca3af}.filter-label:not(.active) .filter-dot{opacity:.3}@media (width<=768px){.calendar-event-type-filters{flex-wrap:wrap;gap:4px}.filter-label{padding:2px 6px;font-size:11px}.filter-dot{width:6px;height:6px}}@media (width<=480px){.calendar-event-type-filters{gap:3px}.filter-label{padding:2px 5px;font-size:10px}.filter-dot{width:5px;height:5px}.filter-name{font-size:9px}}.dashboard{background:#f1f5f9;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.main{max-width:1280px;margin:0 auto;padding:24px 32px}.hubs-section{margin-bottom:16px}.section-title{color:#0f172a;margin-bottom:20px;font-size:20px;font-weight:600}.hubs-grid{grid-template-columns:repeat(6,1fr);grid-auto-rows:1fr;gap:16px;display:grid}.tasks-section{margin-top:8px}@media (width<=1024px){.hubs-grid{grid-template-columns:repeat(4,1fr);gap:14px}}@media (width<=768px){.main{padding:16px}.hubs-grid{grid-template-columns:repeat(3,1fr);gap:12px}.section-title{font-size:18px}}@media (width<=480px){.main{padding:12px}.section-title{font-size:16px}.hubs-grid{grid-template-columns:repeat(3,1fr);gap:10px}}@media (width<=380px){.hubs-grid{grid-template-columns:repeat(2,1fr);gap:8px}}.pagination{justify-content:center;align-items:center;gap:16px;margin-top:20px;padding:12px 0;display:flex}.pagination button{color:#1e293b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:8px 20px;font-size:14px;font-weight:500;transition:all .2s}.pagination button:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8}.pagination button:disabled{opacity:.4;cursor:not-allowed}.pagination span{color:#64748b;font-size:14px}.pagination-top{margin-bottom:16px}.calendar-section{margin-top:8px;margin-bottom:24px}.calendar-container{background:0 0;grid-template-columns:.42fr 1fr;gap:20px;display:grid}.calendar-wrapper{background:#fff;border-radius:12px;padding:4px;box-shadow:0 1px 3px #0000000f}.calendar-events-wrapper{background:#fff;border-radius:12px;flex-direction:column;height:100%;min-height:320px;max-height:340px;display:flex;box-shadow:0 1px 3px #0000000f}@media (width<=1024px){.calendar-container{grid-template-columns:1fr 1.2fr;gap:16px}}@media (width<=768px){.calendar-container{grid-template-columns:1fr;gap:16px}.calendar-events-wrapper{min-height:200px}}@media (width<=480px){.calendar-container{gap:12px}.calendar-wrapper{padding:2px}}.users-content{max-width:1280px;margin:0 auto}.users-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.users-header h1{color:#0f172a;font-size:24px;font-weight:700}.users-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:4px 0;overflow-x:auto}.users-table{border-collapse:collapse;width:100%;min-width:500px;font-size:14px}.users-table th{text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #f1f5f9;padding:14px 20px;font-size:12px;font-weight:600}.users-table td{color:#1e293b;border-bottom:1px solid #f1f5f9;padding:14px 20px}.users-table tr:last-child td{border-bottom:none}.role-tag{text-transform:uppercase;border-radius:20px;padding:3px 14px;font-size:12px;font-weight:600;display:inline-block}.role-tag.admin{color:#dc2626;background:#fee2e2}.role-tag.manager{color:#1d4ed8;background:#dbeafe}.role-tag.logist{color:#d97706;background:#fef3c7}.actions .btn-delete:hover{background:#fee2e2}.modal-content .form-group input,.modal-content .form-group select{box-sizing:border-box;color:#0f172a;background:#fff;border:2px solid #e2e8f0;border-radius:10px;width:100%;padding:12px 14px;font-size:14px;transition:border-color .2s}.modal-content .form-group input:focus,.modal-content .form-group select:focus{border-color:#3b82f6;outline:none}@media (width<=768px){.users-header{flex-direction:column;align-items:stretch;gap:12px}.users-header h1{font-size:20px}.btn-add{text-align:center;width:100%}.users-table th,.users-table td{padding:10px 14px;font-size:13px}.modal-content{padding:28px 20px}}@media (width<=480px){.users-table{min-width:300px;font-size:12px}.users-table th,.users-table td{padding:8px 10px}.actions button{font-size:15px}.modal-content h2{font-size:19px}.modal-content .form-group input,.modal-content .form-group select{padding:10px 12px;font-size:16px}}.hub-selector{width:100%}.hub-selector-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin-bottom:8px;display:grid}.hub-selector-item{cursor:pointer;-webkit-user-select:none;user-select:none;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;transition:all .2s;display:flex}.hub-selector-item:hover{background:#f1f5f9;border-color:#94a3b8}.hub-selector-item.selected{background:#eef2ff;border-color:#4f46e5}.hub-selector-item.selected:hover{background:#e0e7ff}.hub-selector-check{flex-shrink:0;font-size:14px}.hub-selector-name{color:#1e293b;font-size:13px;font-weight:500}.hub-selector-info{color:#94a3b8;font-size:13px}.hub-selector-loading,.hub-selector-empty{color:#94a3b8;padding:8px 0;font-size:14px}@media (width<=480px){.hub-selector-grid{grid-template-columns:1fr 1fr}.hub-selector-item{padding:6px 10px;font-size:13px}}.roles-content{max-width:1280px;margin:0 auto}.roles-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.roles-header h1{color:#0f172a;font-size:24px;font-weight:700}.btn-add{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:10px;padding:10px 24px;font-size:14px;font-weight:600;transition:background .2s}.roles-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:4px 0;overflow-x:auto}.roles-table{border-collapse:collapse;width:100%;min-width:500px;font-size:14px}.roles-table th{text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #f1f5f9;padding:14px 20px;font-size:12px;font-weight:600}.roles-table td{color:#1e293b;border-bottom:1px solid #f1f5f9;padding:14px 20px}.roles-table tr:last-child td{border-bottom:none}.role-key{color:#1e293b;background:#f1f5f9;border-radius:4px;padding:2px 10px;font-size:13px}.actions{gap:8px;display:flex}.actions button{cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:18px;transition:background .2s}.actions .btn-edit:hover{background:#f1f5f9}.actions .btn-delete:hover:not(:disabled){background:#fee2e2}.actions .btn-delete:disabled{opacity:.3;cursor:not-allowed}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:20px;width:100%;max-width:480px;max-height:90vh;padding:40px;overflow-y:auto;box-shadow:0 25px 80px #0000004d}.modal-content h2{color:#0f172a;margin-bottom:24px;font-size:22px;font-weight:700}.modal-content .form-group{margin-bottom:18px}.modal-content .form-group label{color:#1e293b;margin-bottom:4px;font-size:13px;font-weight:600;display:block}.modal-content .form-group input{box-sizing:border-box;color:#0f172a;background:#fff;border:2px solid #e2e8f0;border-radius:10px;width:100%;padding:12px 14px;font-size:14px;transition:border-color .2s}.modal-content .form-group input:focus{border-color:#3b82f6;outline:none}.modal-content .form-group small{color:#94a3b8;margin-top:4px;font-size:12px;display:block}.modal-content .error-msg{color:#dc2626;background:#fee2e2;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:14px}.modal-actions{justify-content:flex-end;gap:12px;margin-top:8px;display:flex}.modal-actions .btn-cancel{color:#64748b;cursor:pointer;background:0 0;border:1px solid #e2e8f0;border-radius:10px;padding:10px 24px;font-size:14px;font-weight:500}.modal-actions .btn-cancel:hover{background:#f1f5f9}.modal-actions .btn-save{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:10px;padding:10px 28px;font-size:14px;font-weight:600}.modal-actions .btn-save:hover{background:#1d4ed8}@media (width<=768px){.roles-header{flex-direction:column;align-items:stretch;gap:12px}.roles-header h1{font-size:20px}.btn-add{text-align:center;width:100%}.roles-table th,.roles-table td{padding:10px 14px;font-size:13px}.modal-content{padding:28px 20px}}@media (width<=480px){.roles-table{min-width:300px;font-size:12px}.roles-table th,.roles-table td{padding:8px 10px}.actions button{font-size:15px}.modal-content h2{font-size:19px}.modal-content .form-group input{padding:10px 12px;font-size:16px}}.hub-access-tags{flex-wrap:wrap;gap:4px;display:flex}.hub-access-tag{color:#4f46e5;white-space:nowrap;background:#eef2ff;border-radius:12px;padding:2px 10px;font-size:12px;font-weight:500}.hub-access-empty{color:#94a3b8}.settings-page{background:#f1f5f9;min-height:100vh;padding:24px 32px}.settings-layout{background:0 0;gap:24px;max-width:1280px;margin:0 auto;display:flex}.settings-sidebar{background:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-shrink:0;width:240px;height:fit-content;padding:20px 12px;position:sticky;top:84px}.settings-sidebar-header{border-bottom:1px solid #e2e8f0;align-items:center;gap:10px;margin-bottom:16px;padding-bottom:16px;display:flex}.settings-sidebar-icon{font-size:20px}.settings-sidebar-title{color:#0f172a;font-size:15px;font-weight:600}.settings-sidebar-nav{flex-direction:column;gap:4px;display:flex}.settings-nav-link{color:#64748b;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;width:100%;padding:10px 14px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.settings-nav-link:hover{color:#0f172a;background:#f1f5f9}.settings-nav-link.active{color:#4f46e5;background:#eef2ff}.settings-content{background:#fff;border:1px solid #e2e8f0;border-radius:16px;flex:1;padding:32px}.settings-tab h2{color:#0f172a;margin-bottom:8px;font-size:22px;font-weight:700}.settings-tab-description{color:#94a3b8;margin-bottom:24px;font-size:14px}.settings-item{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:16px 0;display:flex}.settings-item:last-child{border-bottom:none}.settings-item-info{flex:1;margin-right:16px}.settings-item-label{color:#1e293b;margin-bottom:2px;font-size:15px;font-weight:500;display:block}.settings-item-description{color:#94a3b8;font-size:14px}.settings-toggle{flex-shrink:0;width:48px;height:28px;display:inline-block;position:relative}.settings-toggle input{opacity:0;width:0;height:0}.settings-toggle-slider{cursor:pointer;background:#cbd5e1;border-radius:34px;transition:all .3s;position:absolute;inset:0}.settings-toggle-slider:before{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:all .3s;position:absolute;bottom:4px;left:4px;box-shadow:0 2px 4px #0000001a}.settings-toggle input:checked+.settings-toggle-slider{background:#2563eb}.settings-toggle input:checked+.settings-toggle-slider:before{transform:translate(20px)}.settings-save-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:10px;margin-top:24px;padding:12px 32px;font-size:16px;font-weight:600;transition:background .2s}.settings-save-btn:hover:not(:disabled){background:#1d4ed8}.settings-save-btn:disabled{opacity:.6;cursor:not-allowed}.settings-loading{text-align:center;color:#94a3b8;padding:60px 20px;font-size:16px}@media (width<=768px){.settings-page{padding:16px}.settings-layout{flex-direction:column;gap:16px}.settings-sidebar{width:100%;padding:16px 12px;position:static}.settings-sidebar-header{display:none}.settings-sidebar-nav{flex-direction:row;gap:6px;overflow-x:auto}.settings-nav-link{white-space:nowrap;padding:8px 14px;font-size:13px}.settings-content{padding:20px}.settings-tab h2{font-size:19px}}@media (width<=480px){.settings-page{padding:12px}.settings-content{padding:16px}.settings-item{flex-direction:column;align-items:flex-start;gap:12px}.settings-item-info{margin-right:0}.settings-save-btn{width:100%}}.settings-section{border-top:1px solid #f1f5f9;margin-top:24px;padding-top:20px}.settings-section:first-of-type{border-top:none;margin-top:0;padding-top:0}.settings-section-title{color:#1e293b;margin-bottom:12px;font-size:16px;font-weight:600}.settings-section-loading,.settings-section-empty{color:#94a3b8;padding:8px 0;font-size:14px}.settings-section-list{flex-direction:column;gap:8px;display:flex}.settings-section-item{background:#f8fafc;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 14px;font-size:14px;display:flex}.settings-section-item-date{color:#1e293b}.settings-section-item-status{color:#64748b;font-size:13px;font-weight:500}.settings-section-item-status.active-duty{color:#2563eb}.settings-section-item-status.active-vacation{color:#8b5cf6}@media (width<=480px){.settings-section-item{flex-direction:column;align-items:flex-start;gap:4px}}.system-content{max-width:1280px;margin:0 auto}.system-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.system-header h1{color:#0f172a;font-size:24px;font-weight:700}.system-stats{align-items:center;gap:16px;display:flex}.stat-badge{color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:8px 16px;font-size:14px}.stat-badge strong{color:#2563eb}.btn-refresh{cursor:pointer;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;padding:8px 18px;font-size:13px;transition:background .2s}.btn-refresh:hover{background:#e2e8f0}.system-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:4px 0;overflow-x:auto}.system-table{border-collapse:collapse;width:100%;min-width:600px;font-size:14px}.system-table th{text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #f1f5f9;padding:14px 20px;font-size:12px;font-weight:600}.system-table td{color:#1e293b;border-bottom:1px solid #f1f5f9;padding:14px 20px}.system-table tr:last-child td{border-bottom:none}.client-id{color:#64748b;font-family:monospace;font-size:12px}.btn-force-close{color:#dc2626;cursor:pointer;background:#fee2e2;border:1px solid #fecaca;border-radius:6px;padding:4px 14px;font-size:12px;transition:background .2s}.btn-force-close:hover:not(:disabled){background:#fecaca}.btn-force-close:disabled{opacity:.5;cursor:not-allowed}.empty-state{text-align:center;color:#94a3b8;padding:40px 20px;font-size:16px}@media (width<=768px){.system-header{flex-direction:column;align-items:stretch}.system-stats{flex-wrap:wrap}.system-table th,.system-table td{padding:10px 14px;font-size:13px}.client-id{text-overflow:ellipsis;max-width:100px;font-size:10px;overflow:hidden}}.regional-contractors-page{max-width:900px;padding:20px}.page-header h1{color:#1e293b;margin:0 0 8px;font-size:24px}.page-description{color:#64748b;margin:0 0 20px;font-size:14px;line-height:1.5}.error-message{color:#dc2626;background:#fee2e2;border-radius:8px;margin-bottom:16px;padding:10px 16px;font-size:14px}.success-message{color:#16a34a;background:#dcfce7;border-radius:8px;margin-bottom:16px;padding:10px 16px;font-size:14px}.add-section{gap:12px;margin-bottom:24px;display:flex}.add-input{border:1px solid #e2e8f0;border-radius:8px;outline:none;flex:1;padding:10px 14px;font-size:14px;transition:border-color .2s}.add-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.btn-add{color:#fff;cursor:pointer;white-space:nowrap;background:#3b82f6;border:none;border-radius:8px;padding:10px 24px;font-size:14px;transition:background .2s}.btn-add:hover{background:#2563eb}.empty-state{text-align:center;color:#94a3b8;background:#f8fafc;border:1px dashed #e2e8f0;border-radius:12px;padding:40px}.contractors-list{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.contractors-table{border-collapse:collapse;width:100%;font-size:14px}.contractors-table th{text-align:left;color:#64748b;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:12px 16px;font-weight:600}.contractors-table td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:10px 16px}.contractors-table tr:last-child td{border-bottom:none}.contractors-table tr:hover{background:#f8fafc}.contractor-name{color:#0f172a;font-weight:500}.edit-input{border:1px solid #3b82f6;border-radius:6px;outline:none;width:100%;max-width:300px;padding:6px 10px;font-size:14px}.edit-input:focus{box-shadow:0 0 0 3px #3b82f61a}.btn-edit,.btn-delete,.btn-save,.btn-cancel{cursor:pointer;border:none;border-radius:6px;margin-right:4px;padding:4px 10px;font-size:13px;transition:all .2s}.btn-edit{color:#475569;background:#e2e8f0}.btn-edit:hover{background:#cbd5e1}.btn-delete{color:#dc2626;background:#fee2e2}.btn-delete:hover{background:#fecaca}.btn-save{color:#fff;background:#22c55e}.btn-save:hover{background:#16a34a}.btn-cancel{color:#475569;background:#e2e8f0}.btn-cancel:hover{background:#cbd5e1}.total-count{color:#64748b;background:#fafbfc;border-top:1px solid #f1f5f9;padding:12px 16px;font-size:13px}.action-btn{cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;border:none;border-radius:10px;justify-content:center;align-items:center;gap:6px;font-weight:600;transition:all .2s;display:inline-flex}.action-btn:active{transform:scale(.96)}.action-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-sm{min-height:30px;padding:4px 12px;font-size:12px}.btn-md{min-height:40px;padding:8px 20px;font-size:14px}.btn-lg{border-radius:12px;min-height:50px;padding:12px 28px;font-size:16px}.btn-primary{color:#fff;background:#2563eb}.btn-primary:hover:not(:disabled){background:#1d4ed8}.btn-success{color:#fff;background:#22c55e}.btn-success:hover:not(:disabled){background:#16a34a}.btn-danger{color:#fff;background:#ef4444}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-outline{color:#64748b;background:0 0;border:1.5px solid #e2e8f0}.btn-outline:hover:not(:disabled){background:#f1f5f9}@media (width<=480px){.btn-sm{min-height:36px;padding:6px 14px;font-size:13px}.btn-md{min-height:44px;padding:10px 18px;font-size:15px}.btn-lg{min-height:52px;padding:14px 24px;font-size:17px}}@media (hover:none) and (pointer:coarse){.action-btn{min-height:44px}}.btn-warning{color:#fff;background:#f59e0b}.btn-warning:hover:not(:disabled){background:#d97706}.icon-btn{cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.icon-btn:active{transform:scale(.92)}.icon-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.icon-btn-sm{border-radius:6px;width:28px;height:28px;font-size:14px}.icon-btn-md{border-radius:8px;width:36px;height:36px;font-size:18px}.icon-btn-lg{border-radius:10px;width:44px;height:44px;font-size:22px}.icon-btn-primary{color:#2563eb;background:0 0}.icon-btn-primary:hover:not(:disabled){color:#1d4ed8;background:#eff6ff}.icon-btn-success{color:#22c55e;background:0 0}.icon-btn-success:hover:not(:disabled){color:#16a34a;background:#f0fdf4}.icon-btn-danger{color:#ef4444;background:0 0}.icon-btn-danger:hover:not(:disabled){color:#dc2626;background:#fef2f2}.icon-btn-outline{color:#64748b;background:0 0;border:1.5px solid #e2e8f0}.icon-btn-outline:hover:not(:disabled){color:#475569;background:#f1f5f9}.icon-btn-ghost{color:#94a3b8;background:0 0}.icon-btn-ghost:hover:not(:disabled){color:#64748b;background:#f1f5f9}.photo-viewer{flex-wrap:wrap!important;gap:12px!important;margin:12px 0!important;display:flex!important}.photo-viewer .photo-thumbnail{cursor:pointer!important;background:#f1f5f9!important;border:1px solid #e2e8f0!important;border-radius:10px!important;flex-shrink:0!important;width:60px!important;height:60px!important;transition:transform .2s,box-shadow .2s!important;position:relative!important;overflow:hidden!important}.photo-viewer .photo-thumbnail:hover{z-index:1!important;transform:scale(1.05)!important;box-shadow:0 4px 12px #00000026!important}.photo-viewer .photo-thumbnail img{object-fit:cover!important;width:100%!important;height:100%!important;display:block!important}.photo-viewer .photo-more-overlay{color:#fff!important;-webkit-backdrop-filter:blur(2px)!important;backdrop-filter:blur(2px)!important;background:#0009!important;justify-content:center!important;align-items:center!important;font-size:28px!important;font-weight:700!important;display:flex!important;position:absolute!important;inset:0!important}@media (width<=480px){.photo-viewer{gap:8px!important}.photo-viewer .photo-thumbnail{border-radius:8px!important;width:60px!important;height:60px!important}.photo-viewer .photo-more-overlay{font-size:20px!important}}@media (width>=481px) and (width<=768px){.photo-viewer .photo-thumbnail{width:160px!important;height:160px!important}}@media (width>=1200px){.photo-viewer .photo-thumbnail{width:80px!important;height:80px!important}}.task-card{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;height:100%;min-height:280px;transition:all .25s;display:flex;overflow:hidden;box-shadow:0 1px 3px #0000000a}.task-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000014}.task-status-bar{text-align:center;letter-spacing:.3px;flex-shrink:0;padding:6px 16px;font-size:12px;font-weight:600}.task-status-bar.status-new{color:#d97706;background:#fef3c7}.task-status-bar.status-in_progress{color:#1d4ed8;background:#dbeafe}.task-status-bar.status-completed{color:#059669;background:#d1fae5}.task-card-body{flex-direction:column;flex:1;padding:14px 16px 12px;display:flex}.task-card-header{color:#64748b;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:13px;display:flex}.task-author{color:#1e293b;font-weight:500}.task-author-label{color:#64748b;font-weight:400}.task-date{white-space:nowrap;font-size:12px}.task-supplier{color:#1e293b;margin-bottom:8px;font-size:14px}.task-supplier strong{color:#0f172a}.task-comment-box{color:#1e293b;word-break:break-word;background:#f8fafc;border:1px solid #f1f5f9;border-radius:10px;flex:none;min-height:60px;max-height:80px;margin-bottom:10px;padding:10px 14px;font-size:14px;line-height:1.5;overflow:hidden}.task-photos-preview{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.photo-thumbnail{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;flex-shrink:0;width:56px;height:56px;overflow:hidden}.photo-thumbnail img{object-fit:cover;width:100%;height:100%}.photo-more{color:#4f46e5;background:#eef2ff;border:1px solid #e2e8f0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:13px;font-weight:600;display:flex}.task-card-footer{border-top:1px solid #f1f5f9;flex-direction:column;gap:8px;margin-top:auto;padding-top:10px;display:flex}.task-footer-row{justify-content:flex-end;align-items:center;display:flex}.task-comments-indicator{color:#64748b;background:#f1f5f9;border-radius:12px;align-items:center;gap:4px;padding:2px 10px;font-size:13px;font-weight:500;display:flex}.task-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.status-completed{color:#22c55e;font-size:13px;font-weight:600}@media (width<=480px){.task-card{border-radius:12px;min-height:220px}.task-card-body{padding:10px 12px}.task-card-header{flex-wrap:wrap;font-size:12px}.task-author,.task-supplier{font-size:13px}.task-comment-box{min-height:48px;max-height:64px;padding:8px 12px;font-size:13px}.photo-thumbnail{width:44px;height:44px}.photo-more{width:44px;height:44px;font-size:11px}.task-actions{gap:4px}.task-comments-indicator{padding:1px 8px;font-size:11px}}.task-admin-actions{align-items:center;gap:4px;margin-left:auto;display:flex}.task-status-bar{border-radius:8px 8px 0 0;justify-content:space-between;align-items:center;padding:6px 12px;font-size:13px;font-weight:500;display:flex}@media (width<=480px){.task-admin-actions{gap:2px}}.task-invoice-details span{border-radius:4px;padding:2px 10px}.task-invoice-number{color:var(--color-text-primary,#212529);margin:4px 0 8px;font-size:15px;font-weight:500}.task-invoice-title{color:var(--color-primary,#0d6efd);font-size:15px;font-weight:600}.task-invoice-details{color:var(--color-text-secondary,#495057);gap:16px;margin:8px 0;font-size:14px;display:flex}.task-invoice-field{color:var(--color-text-primary,#212529);padding:4px 0;font-size:14px;line-height:1.5}.task-invoice-field strong{color:var(--color-text-secondary,#495057);margin-right:4px;font-weight:600}.task-order-field{color:var(--color-text-primary,#212529);padding:4px 0;font-size:14px;line-height:1.5}.task-order-field strong{color:var(--color-text-secondary,#495057);margin-right:4px;font-weight:600}.task-order-title,.task-airtraffic-title{color:var(--color-primary,#0d6efd);font-size:15px;font-weight:600}.task-airtraffic-field{color:var(--color-text-primary,#212529);padding:4px 0;font-size:14px;line-height:1.5}.task-airtraffic-field strong{color:var(--color-text-secondary,#495057);margin-right:4px;font-weight:600}.task-airtraffic-image{cursor:pointer;border:1px solid #e2e8f0;border-radius:6px;max-width:200px;margin:8px 0;overflow:hidden}.task-airtraffic-img{width:100%;height:auto;transition:transform .2s;display:block}.task-airtraffic-img:hover{transform:scale(1.02)}.gallery-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;background:#000000eb;justify-content:center;align-items:center;padding:20px;animation:.3s galleryFadeIn;display:flex;position:fixed;inset:0}@keyframes galleryFadeIn{0%{opacity:0}to{opacity:1}}.gallery-content{flex-direction:column;align-items:center;width:100%;max-width:1200px;max-height:90vh;display:flex;position:relative}.gallery-close{color:#fff;cursor:pointer;z-index:10;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:24px;transition:all .2s;display:flex;position:absolute;top:-10px;right:-10px}.gallery-close:hover{background:#ffffff4d;transform:scale(1.1)}.gallery-image-container{flex:1;justify-content:center;align-items:center;width:100%;height:60vh;display:flex;position:relative;overflow:hidden}.gallery-image{object-fit:contain;-webkit-user-select:none;user-select:none;transform-origin:50%;max-width:100%;max-height:100%;transition:transform 50ms linear}.gallery-controls{justify-content:space-between;align-items:center;width:100%;max-width:600px;margin-top:20px;padding:0 10px;display:flex}.gallery-nav{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:28px;transition:all .2s;display:flex}.gallery-nav:hover:not(:disabled){background:#fff3}.gallery-nav:disabled{opacity:.3;cursor:not-allowed}.gallery-info{color:#ffffffb3;align-items:center;gap:16px;font-size:14px;display:flex}.gallery-zoom-info{align-items:center;gap:8px;display:flex}.gallery-zoom-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;padding:4px 10px;font-size:14px;transition:all .2s}.gallery-zoom-btn:hover{background:#fff3}.gallery-thumbnails{flex-wrap:wrap;justify-content:center;gap:8px;max-width:100%;margin-top:16px;padding:4px;display:flex;overflow-x:auto}.gallery-thumbnail{cursor:pointer;border:2px solid #0000;border-radius:8px;flex-shrink:0;width:56px;height:56px;transition:all .2s;overflow:hidden}.gallery-thumbnail img{object-fit:cover;width:100%;height:100%}.gallery-thumbnail:hover{border-color:#fff6}.gallery-thumbnail.active{border-color:#3b82f6}.gallery-hints{color:#ffffff4d;flex-wrap:wrap;justify-content:center;gap:20px;margin-top:12px;font-size:12px;display:flex}@media (width<=768px){.gallery-image-container{height:45vh}.gallery-nav{width:40px;height:40px;font-size:22px}.gallery-info{gap:10px;font-size:12px}.gallery-thumbnail{width:44px;height:44px}.gallery-hints{gap:12px;font-size:10px}.gallery-close{width:38px;height:38px;font-size:20px;top:0;right:0}}@media (width<=480px){.gallery-image-container{height:35vh}.gallery-controls{flex-wrap:wrap;justify-content:center;gap:10px}.gallery-nav{order:1;width:36px;height:36px;font-size:18px}.gallery-info{order:2;justify-content:center;width:100%}.gallery-thumbnail{width:36px;height:36px}.gallery-hints{display:none}}.search-bar{background:#fff;border:1.5px solid #e2e8f0;border-radius:12px;flex:1;align-items:center;max-width:400px;min-height:44px;padding:0 14px;transition:all .2s;display:flex}.search-bar:hover{border-color:#94a3b8}.search-bar-focused{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.search-icon{color:#94a3b8;flex-shrink:0;margin-right:10px;font-size:18px}.search-input{color:#1e293b;background:0 0;border:none;outline:none;flex:1;width:100%;min-height:40px;font-size:14px}.search-input::placeholder{color:#94a3b8}.search-clear{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:4px 6px;font-size:16px;transition:all .2s;display:flex}.search-clear:hover{color:#1e293b;background:#f1f5f9}@media (width<=768px){.search-bar{max-width:100%;min-height:40px;padding:0 12px}.search-input{min-height:36px;font-size:16px}.search-icon{font-size:16px}}@media (width<=480px){.search-bar{border-radius:10px;min-height:36px;padding:0 10px}.search-input{min-height:32px;font-size:15px}}.search-submit{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;justify-content:center;align-items:center;min-height:32px;margin-left:4px;padding:6px 14px;font-size:16px;transition:all .2s;display:flex}.search-submit:hover{background:#1d4ed8}.search-submit:active{transform:scale(.95)}@media (width<=480px){.search-submit{min-height:28px;padding:4px 10px;font-size:14px}}.hub-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:100%;max-width:1280px;margin:0 auto;padding:16px 0 20px;display:flex}.hub-header h1{color:#1e293b;flex-shrink:0;margin:0;font-size:24px}.hub-actions{flex-wrap:wrap;flex-shrink:1;align-items:center;gap:10px;min-width:0;display:flex}.hub-filter-checkbox{cursor:pointer;color:#475569;-webkit-user-select:none;user-select:none;white-space:nowrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-shrink:0;align-items:center;gap:6px;padding:8px 12px;font-size:14px;transition:all .2s;display:flex}.hub-filter-checkbox:hover{background:#f1f5f9;border-color:#cbd5e1}.hub-filter-checkbox input[type=checkbox]{cursor:pointer;accent-color:#2563eb;flex-shrink:0;width:16px;height:16px}.hub-filter-checkbox span{font-weight:500}.hub-sse-status{margin-left:4px;font-size:12px;animation:2s infinite hub-pulse-green}@keyframes hub-pulse-green{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}.hub-btn-create{color:#fff;cursor:pointer;white-space:nowrap;background:#2563eb;border:none;border-radius:8px;flex-shrink:0;padding:8px 20px;font-size:14px;font-weight:500;transition:all .2s}.hub-btn-create:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.hub-btn-back{color:#64748b;cursor:pointer;white-space:nowrap;background:0 0;border:1.5px solid #e2e8f0;border-radius:8px;flex-shrink:0;padding:8px 20px;font-size:14px;font-weight:500;transition:all .2s}.hub-btn-back:hover{background:#f1f5f9;border-color:#cbd5e1}@media (width<=1024px){.hub-header h1{font-size:22px}.hub-actions{gap:8px}.hub-filter-checkbox{padding:6px 10px;font-size:13px}.hub-btn-create,.hub-btn-back{padding:6px 16px;font-size:13px}}@media (width<=768px){.hub-header{flex-direction:column;align-items:stretch;gap:10px;padding:12px 0}.hub-header h1{text-align:center;font-size:20px}.hub-actions{flex-wrap:wrap;justify-content:center;gap:8px}.hub-filter-checkbox{flex-shrink:1;padding:6px 12px;font-size:13px}.hub-btn-create,.hub-btn-back{flex-shrink:1;padding:6px 14px;font-size:13px}}@media (width<=480px){.hub-header{gap:8px;padding:8px 0}.hub-header h1{font-size:18px}.hub-actions{gap:6px}.hub-filter-checkbox{border-radius:6px;padding:4px 10px;font-size:12px}.hub-filter-checkbox input[type=checkbox]{width:14px;height:14px}.hub-btn-create,.hub-btn-back{border-radius:6px;padding:5px 12px;font-size:12px}}@media (width<=360px){.hub-actions{gap:4px}.hub-filter-checkbox{padding:4px 8px;font-size:11px}.hub-btn-create,.hub-btn-back{padding:4px 10px;font-size:11px}}.photo-uploader{width:100%}.photo-uploader-actions{flex-wrap:wrap;gap:10px;display:flex}.photo-upload-btn{color:#1e293b;cursor:pointer;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.photo-upload-btn:hover:not(:disabled){background:#f1f5f9;border-color:#2563eb}.photo-upload-btn:disabled{opacity:.5;cursor:not-allowed}.photo-camera-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.photo-camera-btn:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.photo-camera-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-icon{font-size:18px}.photo-uploading-status{color:#f59e0b;align-items:center;gap:6px;margin-top:8px;font-size:14px;display:flex}.photo-uploader-preview{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.photo-uploader-item{border:1px solid #e2e8f0;border-radius:8px;width:80px;height:80px;position:relative;overflow:hidden}.photo-uploader-item img{object-fit:cover;width:100%;height:100%}.photo-remove-btn{color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;transition:all .2s;display:flex;position:absolute;top:2px;right:2px}.photo-remove-btn:hover{background:#dc2626e6;transform:scale(1.1)}@media (width<=480px){.photo-uploader-actions{flex-direction:column;gap:8px}.photo-upload-btn,.photo-camera-btn{padding:12px 16px;font-size:15px}}.hub-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.hub-modal-content{background:#fff;border-radius:20px;width:100%;max-width:500px;max-height:90vh;animation:.25s hub-modal-fade-in;overflow-y:auto;box-shadow:0 25px 80px #0000004d}@keyframes hub-modal-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.hub-modal-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.hub-modal-header h2{color:#0f172a;margin:0;font-size:20px;font-weight:700}.hub-modal-close{cursor:pointer;color:#94a3b8;background:0 0;border:none;border-radius:8px;padding:4px 8px;font-size:24px;transition:all .2s}.hub-modal-close:hover{color:#0f172a;background:#f1f5f9}.hub-modal-body{padding:24px}.hub-modal-footer{justify-content:flex-end;gap:12px;padding-top:4px;display:flex}.hub-form-group{margin-bottom:18px}.hub-form-group label{color:#1e293b;margin-bottom:4px;font-size:14px;font-weight:600;display:block}.hub-form-required{color:#ef4444}.hub-form-group input,.hub-form-group textarea{box-sizing:border-box;border:1px solid #e2e8f0;border-radius:10px;width:100%;padding:10px 14px;font-family:inherit;font-size:14px;transition:border-color .2s}.hub-form-group input:focus,.hub-form-group textarea:focus{border-color:#2563eb;outline:none}.hub-form-group textarea{resize:vertical;min-height:80px}.hub-form-error{color:#ef4444;margin-top:4px;font-size:12px}.hub-form-hint{margin-top:4px;font-size:12px}.hub-form-hint-error{color:#ef4444}.hub-form-hint-loading{color:#f59e0b}.hub-form-hint-success{color:#22c55e}.hub-btn-cancel{color:#64748b;cursor:pointer;background:0 0;border:1px solid #e2e8f0;border-radius:10px;padding:10px 24px;font-size:14px;font-weight:500;transition:all .2s}.hub-btn-cancel:hover{background:#f1f5f9}.hub-btn-submit{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:10px;padding:10px 28px;font-size:14px;font-weight:600;transition:all .2s}.hub-btn-submit:hover:not(:disabled){background:#1d4ed8}.hub-btn-submit:disabled{opacity:.6;cursor:not-allowed}@media (width<=480px){.hub-modal-content{border-radius:16px;max-width:100%;margin:0 10px}.hub-modal-header{padding:16px 18px}.hub-modal-header h2{font-size:17px}.hub-modal-body{padding:16px 18px}.hub-modal-footer{flex-direction:column}.hub-btn-cancel,.hub-btn-submit{text-align:center;justify-content:center;width:100%}}.hub-page{background:#f1f5f9;min-height:100vh;padding:24px 32px}.hub-content{max-width:1280px;margin:0 auto}.hub-tasks-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.hub-empty-state{text-align:center;color:#94a3b8;padding:60px 20px;font-size:16px}.hub-load-more-wrapper{flex-direction:column;align-items:center;gap:12px;margin-top:32px;padding:20px 0;display:flex}.hub-load-more-btn{color:#2563eb;cursor:pointer;background:0 0;border:2px solid #2563eb;border-radius:10px;min-width:200px;padding:12px 40px;font-size:15px;font-weight:600;transition:all .3s}.hub-load-more-btn:hover:not(:disabled){color:#fff;background:#2563eb;transform:translateY(-2px);box-shadow:0 4px 12px #2563eb4d}.hub-load-more-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.hub-load-more-info{color:#94a3b8;font-size:13px}@media (width<=1024px){.hub-page{padding:20px 24px}}@media (width<=768px){.hub-page{padding:16px}.hub-tasks-grid{grid-template-columns:1fr}}@media (width<=480px){.hub-page{padding:12px}.hub-load-more-btn{width:100%;min-width:150px;padding:10px 24px;font-size:14px}.hub-load-more-wrapper{gap:8px;margin-top:24px;padding:16px 0}}.regions-hub-wrapper{width:100%;position:relative}.regions-hub-header-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600;transition:all .2s}.regions-hub-header-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea59}.regions-hub-gallery-btn-container{z-index:100;position:fixed;bottom:30px;right:30px}.regions-hub-gallery-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:50px;align-items:center;gap:10px;padding:14px 28px;font-size:16px;font-weight:600;transition:all .3s;display:flex;box-shadow:0 4px 15px #667eea66}.regions-hub-gallery-btn:hover{transform:translateY(-3px);box-shadow:0 6px 25px #667eea99}.regions-hub-gallery-btn:active{transform:translateY(0)}@media (width<=768px){.regions-hub-gallery-btn-container{display:none}}.personal-task-card{cursor:pointer;background:#fff;border:1px solid #e8ecf1;border-radius:12px;flex-direction:column;transition:all .25s;display:flex;overflow:hidden;box-shadow:0 2px 8px #00000014}.personal-task-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #0000001f}.personal-task-status-bar{border-bottom:1px solid #e8ecf1;justify-content:space-between;align-items:center;padding:8px 16px;font-size:13px;font-weight:600;display:flex}.personal-task-status-bar.status-active{color:#16a34a;background:#f0fdf4}.personal-task-status-bar.status-completed{color:#6b7280;background:#f3f4f6}.personal-task-delete-btn{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:14px;transition:background .2s}.personal-task-delete-btn:hover{color:#dc2626;background:#fee2e2}.personal-task-card-body{flex-direction:column;flex:1;padding:16px;display:flex}.personal-task-card-header{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px;display:flex}.personal-task-title{color:#1a2332;flex:1;margin:0;font-size:16px;font-weight:600}.personal-task-date{color:#9ca3af;white-space:nowrap;font-size:12px}.personal-task-meta{color:#6b7280;flex-wrap:wrap;gap:12px;margin-bottom:10px;font-size:13px;display:flex}.personal-task-author,.personal-task-assigned{align-items:center;gap:4px;display:flex}.personal-task-description{color:#4b5563;-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;margin:0 0 12px;font-size:14px;line-height:1.5;display:-webkit-box;overflow:hidden}.personal-task-footer{border-top:1px solid #f3f4f6;justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;display:flex}.personal-task-stats{color:#6b7280;gap:12px;font-size:13px;display:flex}.personal-task-items,.personal-task-comments{align-items:center;gap:4px;display:flex}.personal-task-complete-btn{color:#fff;cursor:pointer;background:#22c55e;border:none;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:500;transition:background .2s}.personal-task-complete-btn:hover{background:#16a34a}.personal-task-due{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px;margin-bottom:10px;font-size:13px;display:flex}.personal-task-due-date{color:#6b7280}.personal-task-due-date.overdue{color:#dc2626;font-weight:600}.personal-task-priority{border-radius:12px;padding:2px 10px;font-size:12px;font-weight:500}.personal-task-priority.priority-low{color:#3b82f6;background:#3b82f626}.personal-task-priority.priority-medium{color:#ca8a04;background:#eab30826}.personal-task-priority.priority-high{color:#dc2626;background:#ef444426}.file-uploader{margin:4px 0}.file-uploader-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.file-upload-btn{cursor:pointer;color:#4b5563;background:#f3f4f6;border:1px dashed #d1d5db;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;transition:all .2s;display:flex}.file-upload-btn:hover{background:#e5e7eb;border-color:#9ca3af}.file-upload-btn:disabled{opacity:.5;cursor:not-allowed}.file-upload-btn .btn-icon{font-size:16px}.file-upload-hint{color:#9ca3af;font-size:12px}.file-uploading-status{color:#6b7280;padding:8px 0;font-size:13px}.file-uploader-preview{flex-direction:column;gap:4px;max-height:150px;margin-top:8px;display:flex;overflow-y:auto}.file-uploader-item{background:#f9fafb;border:1px solid #f3f4f6;border-radius:6px;align-items:center;gap:10px;padding:6px 10px;display:flex}.file-uploader-item .file-icon{font-size:20px}.file-uploader-item .file-info{flex-direction:column;flex:1;display:flex}.file-uploader-item .file-name{color:#1a2332;font-size:13px;font-weight:500}.file-uploader-item .file-size{color:#9ca3af;font-size:11px}.file-remove-btn{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:14px;transition:all .2s}.file-remove-btn:hover{color:#dc2626;background:#fee2e2}.personal-task-form-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:center;padding:20px;animation:.25s personalTaskFormFadeIn;display:flex;position:fixed;inset:0}@keyframes personalTaskFormFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.personal-task-form-content{background:#fff;border-radius:16px;width:100%;max-width:600px;max-height:90vh;padding:28px 32px;position:relative;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.personal-task-form-close{cursor:pointer;color:#6b7280;background:0 0;border:none;font-size:24px;transition:color .2s;position:absolute;top:16px;right:16px}.personal-task-form-close:hover{color:#1a2332}.personal-task-form-content h2{color:#1a2332;margin:0 0 20px;font-size:22px}.personal-task-form-field{margin-bottom:18px}.personal-task-form-field label{color:#374151;margin-bottom:4px;font-size:14px;font-weight:600;display:block}.personal-task-form-field input[type=text],.personal-task-form-field textarea{box-sizing:border-box;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:10px 14px;font-family:inherit;font-size:14px;transition:border-color .2s}.personal-task-form-field input[type=text]:focus,.personal-task-form-field textarea:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.personal-task-form-field textarea{resize:vertical;min-height:60px}.personal-task-users-list{flex-wrap:wrap;gap:8px;padding:8px 0;display:flex}.personal-task-user-checkbox{cursor:pointer;background:#f3f4f6;border-radius:20px;align-items:center;gap:6px;padding:4px 12px;font-size:14px;transition:background .2s;display:flex}.personal-task-user-checkbox:hover{background:#e5e7eb}.personal-task-user-checkbox input[type=checkbox]{cursor:pointer}.personal-task-form-hint{color:#9ca3af;margin-top:4px;font-size:12px;display:block}.personal-task-items-input{gap:8px;display:flex}.personal-task-items-input input{border:1px solid #d1d5db;border-radius:6px;flex:1;padding:8px 12px;font-size:14px}.personal-task-items-input input:focus{border-color:#667eea;outline:none}.personal-task-items-input button{color:#fff;cursor:pointer;background:#667eea;border:none;border-radius:6px;padding:8px 16px;font-weight:500;transition:background .2s}.personal-task-items-input button:hover{background:#5a6fd6}.personal-task-items-input button:disabled{opacity:.5;cursor:not-allowed}.personal-task-items-list{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.personal-task-item-tag{background:#f3f4f6;border-radius:16px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:flex}.personal-task-item-tag button{cursor:pointer;color:#6b7280;background:0 0;border:none;padding:0 2px;font-size:12px}.personal-task-item-tag button:hover{color:#dc2626}.personal-task-form-actions{gap:12px;margin-top:20px;display:flex}.personal-task-form-cancel{color:#4b5563;cursor:pointer;background:#f3f4f6;border:none;border-radius:8px;padding:10px 24px;font-size:14px;font-weight:500;transition:background .2s}.personal-task-form-cancel:hover{background:#e5e7eb}.personal-task-form-submit{color:#fff;cursor:pointer;background:#667eea;border:none;border-radius:8px;flex:1;padding:10px 24px;font-size:14px;font-weight:600;transition:background .2s}.personal-task-form-submit:hover{background:#5a6fd6}.personal-task-form-submit:disabled{opacity:.6;cursor:not-allowed}@media (width<=640px){.personal-task-form-content{padding:20px 16px}.personal-task-items-input{flex-direction:column}}.personal-task-help-btn{color:#64748b;cursor:pointer;text-align:center;background:#f8fafc;border:1px solid #d1d5db;border-radius:50%;width:22px;height:22px;margin-left:8px;padding:0;font-size:12px;font-weight:600;line-height:22px;transition:all .2s;display:inline-block}.personal-task-help-btn:hover{color:#667eea;background:#eef2ff;border-color:#667eea}.personal-task-help-box{background:#f8fafc;border-left:3px solid #667eea;border-radius:8px;margin:6px 0 10px;padding:12px 16px}.personal-task-help-box p{color:#1e293b;margin:0 0 6px;font-size:14px;font-weight:500}.personal-task-help-box ul{color:#475569;margin:0;padding-left:20px;font-size:13px}.personal-task-help-box code{background:#e2e8f0;border-radius:4px;padding:1px 6px;font-size:12px}.task-item-list{margin:8px 0 12px}.task-item-list-header{color:#374151;margin-bottom:8px;font-size:14px;font-weight:500}.task-item-list-empty{color:#9ca3af;padding:8px 0;font-size:14px}.task-item-list-items{flex-direction:column;gap:4px;display:flex}.task-item{padding:4px 0}.task-item-checkbox{cursor:pointer;color:#374151;align-items:center;gap:10px;font-size:14px;display:flex}.task-item-checkbox input[type=checkbox]{cursor:pointer;accent-color:#667eea;width:18px;height:18px}.task-item-checkbox input[type=checkbox]:disabled{cursor:not-allowed;opacity:.6}.task-item-text{transition:color .2s,-webkit-text-decoration .2s,text-decoration .2s}.task-item-text.completed{color:#9ca3af;text-decoration:line-through}.task-item-completed-by{color:#6b7280;margin-left:8px;font-size:12px;font-weight:400}.file-list{background:var(--color-bg-secondary,#f8f9fa);border-radius:8px;margin-top:8px;overflow:hidden}.file-list-header{background:var(--color-bg-tertiary,#e9ecef);color:var(--color-text-secondary,#495057);padding:8px 12px;font-size:14px;font-weight:600}.file-list-items{max-height:300px;overflow-y:auto}.file-list-item{border-bottom:1px solid var(--color-border,#dee2e6);justify-content:space-between;align-items:center;padding:8px 12px;transition:background .15s;display:flex}.file-list-item:hover{background:var(--color-bg-hover,#f1f3f5)}.file-list-item:last-child{border-bottom:none}.file-info{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.file-icon{flex-shrink:0;font-size:18px}.file-name{color:var(--color-text-primary,#212529);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.file-actions{flex-shrink:0;gap:6px;display:flex}.file-action-btn{cursor:pointer;border:none;border-radius:4px;padding:4px 10px;font-size:12px;transition:all .15s}.file-action-btn.view{background:var(--color-primary-light,#e3f0ff);color:var(--color-primary,#0d6efd)}.file-action-btn.view:hover{background:var(--color-primary,#0d6efd);color:#fff}.file-action-btn.download{background:var(--color-success-light,#d4edda);color:var(--color-success,#28a745)}.file-action-btn.download:hover{background:var(--color-success,#28a745);color:#fff}.file-list-empty{text-align:center;color:var(--color-text-muted,#6c757d);padding:16px;font-size:14px}.personal-task-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:center;padding:20px;animation:.25s personalTaskModalFadeIn;display:flex;position:fixed;inset:0}@keyframes personalTaskModalFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.personal-task-modal-content{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:700px;max-height:90vh;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 60px #0000004d}.personal-task-modal-close{color:#fff;cursor:pointer;z-index:10;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;transition:background .2s;display:flex;position:absolute;top:16px;right:16px}.personal-task-modal-close:hover{background:#000c}.personal-task-modal-status{padding:10px 24px;font-size:14px;font-weight:600}.personal-task-modal-status.status-active{color:#16a34a;background:#f0fdf4}.personal-task-modal-status.status-completed{color:#6b7280;background:#f3f4f6}.personal-task-modal-body{flex:1;padding:24px 28px 28px;overflow-y:auto}.personal-task-modal-header{margin-bottom:16px;padding-right:40px}.personal-task-modal-header h2{color:#1a2332;margin:0 0 8px;font-size:22px;font-weight:700}.personal-task-modal-meta{color:#6b7280;flex-wrap:wrap;gap:16px;font-size:14px;display:flex}.personal-task-modal-assigned{color:#4b5563;background:#f9fafb;border-radius:6px;margin-bottom:12px;padding:8px 12px;font-size:14px}.personal-task-modal-description{background:#f9fafb;border-left:3px solid #667eea;border-radius:8px;margin-bottom:16px;padding:12px 16px}.personal-task-modal-description p{color:#374151;margin:0;font-size:15px;line-height:1.6}.personal-task-modal-items,.personal-task-modal-files{margin-bottom:16px}.personal-task-modal-files h4{color:#1a2332;margin:0 0 8px;font-size:15px}.personal-task-modal-actions{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.personal-task-modal-complete-btn{color:#fff;cursor:pointer;background:#22c55e;border:none;border-radius:8px;padding:8px 20px;font-size:14px;font-weight:600;transition:background .2s}.personal-task-modal-complete-btn:hover{background:#16a34a}.personal-task-modal-delete-btn{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:8px;padding:8px 20px;font-size:14px;font-weight:600;transition:background .2s}.personal-task-modal-delete-btn:hover{background:#dc2626}.personal-task-modal-comments{border-top:1px solid #e5e7eb;padding-top:16px}.personal-task-modal-comments h4{color:#1a2332;margin:0 0 12px;font-size:16px}.personal-task-modal-no-comments{color:#9ca3af;text-align:center;padding:10px 0;font-size:14px}.personal-task-modal-comments-list{max-height:250px;margin-bottom:12px;overflow-y:auto}.personal-task-modal-comment{border-bottom:1px solid #f3f4f6;padding:10px 0}.personal-task-modal-comment:last-child{border-bottom:none}.personal-task-modal-comment-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.personal-task-modal-comment-author{color:#1a2332;font-size:14px;font-weight:600}.personal-task-modal-comment-date{color:#9ca3af;font-size:12px}.personal-task-modal-comment-text{color:#374151;margin-bottom:4px;font-size:14px;line-height:1.5}.personal-task-modal-comment-actions{gap:8px;display:flex}.personal-task-modal-comment-edit-btn,.personal-task-modal-comment-delete-btn{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:14px;transition:background .2s}.personal-task-modal-comment-edit-btn:hover{background:#e5e7eb}.personal-task-modal-comment-delete-btn:hover{background:#fee2e2}.personal-task-modal-comment-edit{margin-top:4px}.personal-task-modal-comment-edit textarea{resize:vertical;border:1px solid #d1d5db;border-radius:6px;width:100%;min-height:60px;padding:8px 12px;font-family:inherit;font-size:14px}.personal-task-modal-comment-edit textarea:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.personal-task-modal-comment-edit-actions{gap:8px;margin-top:6px;display:flex}.personal-task-modal-comment-edit-actions button{cursor:pointer;border:none;border-radius:6px;padding:4px 16px;font-size:13px;transition:all .2s}.personal-task-modal-comment-edit-actions button:first-child{color:#4b5563;background:#f3f4f6}.personal-task-modal-comment-edit-actions button:first-child:hover{background:#e5e7eb}.personal-task-modal-comment-edit-actions button:last-child{color:#fff;background:#667eea}.personal-task-modal-comment-edit-actions button:last-child:hover{background:#5a6fd6}.personal-task-modal-comment-edit-actions button:last-child:disabled{opacity:.5;cursor:not-allowed}.personal-task-modal-comment-input{align-items:flex-end;gap:12px;display:flex}.personal-task-modal-comment-input textarea{resize:vertical;border:1px solid #d1d5db;border-radius:8px;flex:1;min-height:50px;padding:8px 14px;font-family:inherit;font-size:14px;transition:border-color .2s}.personal-task-modal-comment-input textarea:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.personal-task-modal-comment-input button{color:#fff;cursor:pointer;white-space:nowrap;background:#667eea;border:none;border-radius:8px;height:fit-content;padding:8px 24px;font-size:14px;font-weight:600;transition:background .2s}.personal-task-modal-comment-input button:hover{background:#5a6fd6}.personal-task-modal-comment-input button:disabled{opacity:.5;cursor:not-allowed}@media (width<=640px){.personal-task-modal-content{max-height:95vh}.personal-task-modal-body{padding:16px}.personal-task-modal-close{width:32px;height:32px;font-size:16px;top:12px;right:12px}.personal-task-modal-comment-input{flex-direction:column;gap:8px}.personal-task-modal-comment-input button{width:100%}}.personal-task-modal-due{color:#4b5563;background:#f9fafb;border-radius:8px;flex-direction:column;gap:6px;margin-bottom:16px;padding:12px 16px;font-size:14px;display:flex}.personal-task-modal-due-date{color:#4b5563}.personal-task-modal-due-date.overdue{color:#dc2626;font-weight:600}.personal-task-modal-priority{border-radius:12px;padding:4px 12px;font-size:13px;font-weight:500;display:inline-block}.personal-task-modal-priority.priority-low{color:#3b82f6;background:#3b82f626}.personal-task-modal-priority.priority-medium{color:#ca8a04;background:#eab30826}.personal-task-modal-priority.priority-high{color:#dc2626;background:#ef444426}.personal-tasks-hub{background:#f8fafc;max-width:1400px;min-height:100vh;margin:0 auto;padding:24px 32px}.personal-tasks-header{background:#fff;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;padding:16px 20px;display:flex;box-shadow:0 1px 3px #0000000f}.personal-tasks-header h1{color:#1a2332;margin:0;font-size:24px;font-weight:700}.personal-tasks-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.personal-tasks-filter{color:#4b5563;cursor:pointer;align-items:center;gap:6px;font-size:14px;display:flex}.personal-tasks-filter input[type=checkbox]{cursor:pointer;accent-color:#667eea}.personal-tasks-btn-create{color:#fff;cursor:pointer;white-space:nowrap;background:#667eea;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s}.personal-tasks-btn-create:hover{background:#5a6fd6;transform:translateY(-1px);box-shadow:0 4px 12px #667eea59}.personal-tasks-btn-back{color:#4b5563;cursor:pointer;white-space:nowrap;background:#f3f4f6;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.personal-tasks-btn-back:hover{background:#e5e7eb}.personal-tasks-loading{text-align:center;color:#6b7280;padding:60px 20px;font-size:18px}.personal-tasks-empty{text-align:center;background:#fff;border-radius:12px;padding:80px 20px;box-shadow:0 1px 3px #0000000f}.personal-tasks-empty p{color:#6b7280;margin:0 0 8px;font-size:20px}.personal-tasks-empty-hint{color:#9ca3af!important;font-size:14px!important}.personal-tasks-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;margin-bottom:32px;display:grid}.personal-tasks-load-more{flex-direction:column;align-items:center;gap:8px;padding:20px 0;display:flex}.personal-tasks-load-more-btn{color:#4b5563;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:10px 32px;font-size:14px;font-weight:500;transition:all .2s}.personal-tasks-load-more-btn:hover{background:#f9fafb;border-color:#d1d5db}.personal-tasks-load-more-btn:disabled{opacity:.6;cursor:not-allowed}.personal-tasks-load-more-info{color:#9ca3af;font-size:13px}@media (width<=1024px){.personal-tasks-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (width<=768px){.personal-tasks-hub{padding:16px}.personal-tasks-header{flex-direction:column;align-items:stretch;gap:12px;padding:16px}.personal-tasks-header h1{text-align:center;font-size:20px}.personal-tasks-actions{flex-direction:column;width:100%}.personal-tasks-actions .search-bar{width:100%}.personal-tasks-btn-create,.personal-tasks-btn-back{justify-content:center;width:100%}.personal-tasks-grid{grid-template-columns:1fr;gap:14px}}.rdrCalendarWrapper{box-sizing:border-box;-webkit-user-select:none;user-select:none;background:#fff;flex-direction:column;display:inline-flex}.rdrDateDisplay{justify-content:space-between;display:flex}.rdrDateDisplayItem{text-align:center;width:0;color:inherit;flex:1}.rdrDateDisplayItem+.rdrDateDisplayItem{margin-left:.833em}.rdrDateDisplayItem input{text-align:inherit}.rdrDateDisplayItem input:disabled{cursor:default}.rdrMonthAndYearWrapper{box-sizing:inherit;justify-content:space-between;display:flex}.rdrMonthAndYearPickers{flex:auto;justify-content:center;align-items:center;display:flex}.rdrNextPrevButton{box-sizing:inherit;cursor:pointer;outline:none}.rdrMonths{display:flex}.rdrMonthsVertical{flex-direction:column}.rdrMonthsHorizontal>div>div>div{flex-direction:row;display:flex}.rdrMonth{width:27.667em}.rdrWeekDays{display:flex}.rdrWeekDay{box-sizing:inherit;text-align:center;flex-basis:14.2857%}.rdrDays{flex-wrap:wrap;display:flex}.rdrInfiniteMonths{overflow:auto}.rdrDateRangeWrapper{-webkit-user-select:none;user-select:none}.rdrDateInput{position:relative}.rdrDateInput input{outline:none}.rdrDateInput .rdrWarning{color:red;font-size:1.6em;line-height:1.6em;position:absolute;top:0;right:.25em}.rdrDay{box-sizing:inherit;width:14.2857%;font:inherit;cursor:pointer;position:relative}.rdrDayNumber{display:block;position:relative}.rdrDayNumber span{color:#1d2429}.rdrDayDisabled{cursor:not-allowed}@supports (-ms-ime-align:auto){.rdrDay{flex-basis:14.285%!important}}.rdrSelected,.rdrInRange,.rdrStartEdge,.rdrEndEdge,.rdrDayStartPreview,.rdrDayInPreview,.rdrDayEndPreview{pointer-events:none}.rdrDateRangePickerWrapper{-webkit-user-select:none;user-select:none;display:inline-flex}.rdrStaticRanges{flex-direction:column;display:flex}.rdrStaticRange{font-size:inherit}.rdrInputRange{display:flex}.rdrCalendarWrapper{color:#000;font-size:12px}.rdrDateDisplayWrapper{background-color:#eff2f7}.rdrDateDisplay{margin:.833em}.rdrDateDisplayItem{background-color:#fff;border:1px solid #0000;border-radius:4px;box-shadow:0 1px 2px #23394236}.rdrDateDisplayItem input{cursor:pointer;color:#849095;background:0 0;border:0;width:100%;height:2.5em;line-height:2.5em}.rdrDateDisplayItemActive{border-color:currentColor}.rdrDateDisplayItemActive input{color:#7d888d}.rdrMonthAndYearWrapper{align-items:center;height:60px;padding-top:10px}.rdrMonthAndYearPickers{font-weight:600}.rdrMonthAndYearPickers select{appearance:none;color:#3e484f;cursor:pointer;text-align:center;background:url("data:image/svg+xml;utf8,<svg width='9px' height='6px' viewBox='0 0 9 6' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'><g id='Artboard' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' transform='translate(-636.000000, -171.000000)' fill-opacity='0.368716033'><g id='input' transform='translate(172.000000, 37.000000)' fill='%230E242F' fill-rule='nonzero'><g id='Group-9' transform='translate(323.000000, 127.000000)'><path d='M142.280245,7.23952813 C141.987305,6.92353472 141.512432,6.92361662 141.219585,7.23971106 C140.926739,7.5558055 140.926815,8.06821394 141.219755,8.38420735 L145.498801,13 L149.780245,8.38162071 C150.073185,8.0656273 150.073261,7.55321886 149.780415,7.23712442 C149.487568,6.92102998 149.012695,6.92094808 148.719755,7.23694149 L145.498801,10.7113732 L142.280245,7.23952813 Z' id='arrow'></path></g></g></g></svg>") right 8px center no-repeat;border:0;border-radius:4px;outline:0;padding:10px 30px 10px 10px}.rdrMonthAndYearPickers select:hover{background-color:#00000012}.rdrMonthPicker,.rdrYearPicker{margin:0 5px}.rdrNextPrevButton{background:#eff2f7;border:0;border-radius:5px;width:24px;height:24px;margin:0 .833em;padding:0;display:block}.rdrNextPrevButton:hover{background:#e1e7f0}.rdrNextPrevButton i{text-align:center;border-style:solid;width:0;height:0;margin:auto;padding:0;display:block;transform:translate(-3px)}.rdrPprevButton i{border-width:4px 6px 4px 4px;border-color:#0000 #34495e #0000 #0000;transform:translate(-3px)}.rdrNextButton i{border-width:4px 4px 4px 6px;border-color:#0000 #0000 #0000 #34495e;margin:0 0 0 7px;transform:translate(3px)}.rdrWeekDays{padding:0 .833em}.rdrMonth{padding:0 .833em 1.666em}.rdrMonth .rdrWeekDays{padding:0}.rdrMonths.rdrMonthsVertical .rdrMonth:first-child .rdrMonthName{display:none}.rdrWeekDay{color:#849095;font-weight:400;line-height:2.667em}.rdrDay{-webkit-user-select:none;user-select:none;text-align:center;color:#1d2429;background:0 0;border:0;height:3em;padding:0;line-height:3em}.rdrDay:focus{outline:0}.rdrDayNumber{outline:0;justify-content:center;align-items:center;font-weight:300;display:flex;position:absolute;inset:5px 0}.rdrDayToday .rdrDayNumber span{font-weight:500}.rdrDayToday .rdrDayNumber span:after{content:"";background:#3d91ff;border-radius:2px;width:18px;height:2px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.rdrDayToday:not(.rdrDayPassive) .rdrInRange~.rdrDayNumber span:after,.rdrDayToday:not(.rdrDayPassive) .rdrStartEdge~.rdrDayNumber span:after,.rdrDayToday:not(.rdrDayPassive) .rdrEndEdge~.rdrDayNumber span:after,.rdrDayToday:not(.rdrDayPassive) .rdrSelected~.rdrDayNumber span:after{background:#fff}.rdrDay:not(.rdrDayPassive) .rdrInRange~.rdrDayNumber span,.rdrDay:not(.rdrDayPassive) .rdrStartEdge~.rdrDayNumber span,.rdrDay:not(.rdrDayPassive) .rdrEndEdge~.rdrDayNumber span,.rdrDay:not(.rdrDayPassive) .rdrSelected~.rdrDayNumber span{color:#ffffffd9}.rdrSelected,.rdrInRange,.rdrStartEdge,.rdrEndEdge{background:currentColor;position:absolute;inset:5px 0}.rdrSelected{left:2px;right:2px}.rdrStartEdge{border-top-left-radius:1.042em;border-bottom-left-radius:1.042em;left:2px}.rdrEndEdge{border-top-right-radius:1.042em;border-bottom-right-radius:1.042em;right:2px}.rdrSelected{border-radius:1.042em}.rdrDayStartOfMonth .rdrInRange,.rdrDayStartOfMonth .rdrEndEdge,.rdrDayStartOfWeek .rdrInRange,.rdrDayStartOfWeek .rdrEndEdge{border-top-left-radius:1.042em;border-bottom-left-radius:1.042em;left:2px}.rdrDayEndOfMonth .rdrInRange,.rdrDayEndOfMonth .rdrStartEdge,.rdrDayEndOfWeek .rdrInRange,.rdrDayEndOfWeek .rdrStartEdge{border-top-right-radius:1.042em;border-bottom-right-radius:1.042em;right:2px}.rdrDayStartOfMonth .rdrDayInPreview,.rdrDayStartOfMonth .rdrDayEndPreview,.rdrDayStartOfWeek .rdrDayInPreview,.rdrDayStartOfWeek .rdrDayEndPreview{border-left-width:1px;border-top-left-radius:1.333em;border-bottom-left-radius:1.333em;left:0}.rdrDayEndOfMonth .rdrDayInPreview,.rdrDayEndOfMonth .rdrDayStartPreview,.rdrDayEndOfWeek .rdrDayInPreview,.rdrDayEndOfWeek .rdrDayStartPreview{border-right-width:1px;border-top-right-radius:1.333em;border-bottom-right-radius:1.333em;right:0}.rdrDayStartPreview,.rdrDayInPreview,.rdrDayEndPreview{pointer-events:none;z-index:1;background:#ffffff17;border:0 solid;position:absolute;inset:3px 0}.rdrDayStartPreview{border-top-width:1px;border-bottom-width:1px;border-left-width:1px;border-top-left-radius:1.333em;border-bottom-left-radius:1.333em;left:0}.rdrDayInPreview{border-top-width:1px;border-bottom-width:1px}.rdrDayEndPreview{border-top-width:1px;border-bottom-width:1px;border-right-width:1px;border-top-right-radius:1.333em;border-bottom-right-radius:1.333em;right:0}.rdrDefinedRangesWrapper{background:#fff;border-right:1px solid #eff2f7;width:226px;font-size:12px}.rdrDefinedRangesWrapper .rdrStaticRangeSelected{color:currentColor;font-weight:600}.rdrStaticRange{cursor:pointer;background:#fff;border:0;border-bottom:1px solid #eff2f7;outline:0;padding:0;display:block}.rdrStaticRange:hover .rdrStaticRangeLabel,.rdrStaticRange:focus .rdrStaticRangeLabel{background:#eff2f7}.rdrStaticRangeLabel{text-align:left;outline:0;padding:10px 20px;line-height:18px;display:block}.rdrInputRanges{padding:10px 0}.rdrInputRange{align-items:center;padding:5px 20px}.rdrInputRangeInput{text-align:center;color:#6c767a;border:1px solid #dee7eb;border-radius:4px;width:30px;height:30px;margin-right:10px;line-height:30px}.rdrInputRangeInput:focus,.rdrInputRangeInput:hover{color:#333;border-color:#b4bfc4;outline:0}.rdrCalendarWrapper:not(.rdrDateRangeWrapper) .rdrDayHovered .rdrDayNumber:after{content:"";background:0 0;border:1px solid;border-radius:1.333em;position:absolute;inset:-2px 0}.rdrDayPassive{pointer-events:none}.rdrDayPassive .rdrDayNumber span{color:#d5dce0}.rdrDayPassive .rdrInRange,.rdrDayPassive .rdrStartEdge,.rdrDayPassive .rdrEndEdge,.rdrDayPassive .rdrSelected,.rdrDayPassive .rdrDayStartPreview,.rdrDayPassive .rdrDayInPreview,.rdrDayPassive .rdrDayEndPreview{display:none}.rdrDayDisabled{background-color:#f8f8f8}.rdrDayDisabled .rdrDayNumber span{color:#aeb9bf}.rdrDayDisabled .rdrInRange,.rdrDayDisabled .rdrStartEdge,.rdrDayDisabled .rdrEndEdge,.rdrDayDisabled .rdrSelected,.rdrDayDisabled .rdrDayStartPreview,.rdrDayDisabled .rdrDayInPreview,.rdrDayDisabled .rdrDayEndPreview{filter:grayscale()opacity(60%)}.rdrMonthName{text-align:left;color:#849095;padding:.833em;font-weight:600}.date-range-picker{width:100%;position:relative}.date-range-picker-input{cursor:pointer;box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:8px;align-items:center;gap:10px;min-height:44px;padding:10px 14px;transition:border-color .2s;display:flex}.date-range-picker-input:hover{border-color:#667eea}.date-range-picker-input.disabled{opacity:.6;cursor:not-allowed}.date-range-picker-text{color:#1a2332;flex:1;font-size:14px}.date-range-picker-icon{color:#6b7280;font-size:18px}.date-range-picker-badge{color:#667eea;background:#eef2ff;border-radius:12px;padding:2px 10px;font-size:11px;font-weight:600}.date-range-picker-popup{z-index:1000;background:#fff;border:1px solid #e2e8f0;border-radius:12px;min-width:600px;max-width:100%;padding:16px;animation:.2s datePickerFadeIn;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 20px 60px #00000026}@keyframes datePickerFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.date-range-picker-popup-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:10px;display:flex}.date-range-picker-popup-header span{color:#1a2332;font-size:14px;font-weight:600}.date-range-picker-popup-close{cursor:pointer;color:#6b7280;background:0 0;border:none;padding:4px;font-size:18px;line-height:1}.date-range-picker-popup-close:hover{color:#1a2332}.date-range-picker-popup-footer{border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-top:12px;padding-top:10px;display:flex}.date-range-picker-hint{color:#6b7280;font-size:13px}.date-range-picker-popup-apply{color:#fff;cursor:pointer;background:#667eea;border:none;border-radius:6px;padding:6px 20px;font-size:13px;font-weight:600;transition:background .2s}.date-range-picker-popup-apply:hover{background:#5a6fd6}.date-range-picker-popup .rdrCalendarWrapper{background:0 0;width:100%}.date-range-picker-popup .rdrDateRangeWrapper{width:100%}.date-range-picker-popup .rdrMonth{width:calc(50% - 8px)}.date-range-picker-popup .rdrMonths{gap:16px}.date-range-picker-popup .rdrDay{height:40px}.date-range-picker-popup .rdrDayNumber{font-size:13px}.date-range-picker-popup .rdrStartEdge,.date-range-picker-popup .rdrEndEdge{background:#667eea}.date-range-picker-popup .rdrInRange{background:#eef2ff}@media (width<=768px){.date-range-picker-popup{min-width:100%;padding:12px;left:0;right:0}.date-range-picker-popup .rdrMonths{flex-direction:column}.date-range-picker-popup .rdrMonth{width:100%}}.news-hub{max-width:1280px;margin:0 auto;padding:24px 32px}.news-hub-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.news-hub-header h1{color:#0f172a;font-size:24px;font-weight:700}.news-hub-actions{flex-wrap:wrap;gap:12px;display:flex}.news-hub-btn-create{color:#fff;cursor:pointer;background:#667eea;border:none;border-radius:10px;padding:10px 24px;font-size:14px;font-weight:600;transition:background .2s}.news-hub-btn-create:hover{background:#5a6fd6}.news-hub-btn-back{color:#1e293b;cursor:pointer;background:#f1f5f9;border:none;border-radius:10px;padding:10px 24px;font-size:14px;font-weight:600;transition:background .2s}.news-hub-btn-back:hover{background:#e2e8f0}.news-hub-loading{text-align:center;color:#94a3b8;padding:60px 20px;font-size:16px}.news-hub-empty{text-align:center;color:#94a3b8;padding:60px 20px}.news-hub-empty p{margin:0;font-size:16px}.news-hub-empty-hint{color:#cbd5e1;font-size:14px;margin-top:8px!important}.news-hub-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px;display:grid}.news-card{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;padding:20px;transition:all .2s;display:flex}.news-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000014}.news-card-hidden{opacity:.6;background:#f8fafc}.news-card-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.news-card-title{color:#0f172a;flex:1;margin:0;font-size:18px;font-weight:600}.news-card-badge{flex-shrink:0}.badge-active{color:#16a34a;background:#dcfce7;border-radius:12px;padding:2px 12px;font-size:12px;font-weight:600;display:inline-block}.badge-inactive{color:#d97706;background:#fef3c7;border-radius:12px;padding:2px 12px;font-size:12px;font-weight:600;display:inline-block}.badge-hidden{color:#dc2626;background:#fee2e2;border-radius:12px;padding:2px 12px;font-size:12px;font-weight:600;display:inline-block}.news-card-meta{color:#64748b;flex-wrap:wrap;gap:12px;margin-bottom:12px;font-size:13px;display:flex}.news-card-author,.news-card-date,.news-card-period{align-items:center;gap:4px;display:flex}.news-card-content{color:#1e293b;flex:1;margin-bottom:16px;font-size:14px;line-height:1.6;overflow:hidden}.news-card-content p{margin:0 0 8px}.news-card-content p:last-child{margin-bottom:0}.news-card-content ul,.news-card-content ol{margin:8px 0 8px 20px;padding:0}.news-card-content h1,.news-card-content h2,.news-card-content h3{margin:8px 0 4px}.news-card-actions{border-top:1px solid #f1f5f9;gap:8px;padding-top:12px;display:flex}.news-card-btn-hide{color:#1e293b;cursor:pointer;background:#f1f5f9;border:none;border-radius:6px;padding:6px 14px;font-size:13px;transition:background .2s}.news-card-btn-hide:hover{background:#e2e8f0}.news-card-btn-delete{color:#dc2626;cursor:pointer;background:#fee2e2;border:none;border-radius:6px;padding:6px 14px;font-size:13px;transition:background .2s}.news-card-btn-delete:hover{background:#fecaca}.news-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.news-modal-content{background:#fff;border-radius:16px;width:100%;max-width:600px;max-height:90vh;padding:28px 32px;position:relative;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.news-modal-close{cursor:pointer;color:#6b7280;background:0 0;border:none;font-size:24px;transition:color .2s;position:absolute;top:16px;right:16px}.news-modal-close:hover{color:#1a2332}.news-modal-content h2{color:#0f172a;margin:0 0 20px;font-size:22px}.news-form-group{margin-bottom:16px}.news-form-group label{color:#1e293b;margin-bottom:4px;font-size:14px;font-weight:600;display:block}.news-form-group input,.news-form-group textarea{box-sizing:border-box;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:10px 14px;font-family:inherit;font-size:14px;transition:border-color .2s}.news-form-group input:focus,.news-form-group textarea:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.news-form-group textarea{resize:vertical;min-height:100px}.news-form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.news-help-btn{color:#64748b;cursor:pointer;text-align:center;background:#f8fafc;border:1px solid #d1d5db;border-radius:50%;width:22px;height:22px;margin-left:8px;padding:0;font-size:12px;font-weight:600;line-height:22px;transition:all .2s;display:inline-block}.news-help-btn:hover{color:#667eea;background:#eef2ff;border-color:#667eea}.news-help-box{background:#f8fafc;border-left:3px solid #667eea;border-radius:8px;margin:6px 0 10px;padding:12px 16px}.news-help-box p{color:#1e293b;margin:0 0 6px;font-size:14px;font-weight:500}.news-help-box ul{color:#475569;margin:0;padding-left:20px;font-size:13px}.news-help-box code{background:#e2e8f0;border-radius:4px;padding:1px 6px;font-size:12px}.news-form-error{color:#dc2626;background:#fee2e2;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:14px}.news-form-actions{gap:12px;margin-top:8px;display:flex}.news-form-cancel{color:#1e293b;cursor:pointer;background:#f1f5f9;border:none;border-radius:8px;padding:10px 24px;font-size:14px;font-weight:500;transition:background .2s}.news-form-cancel:hover{background:#e2e8f0}.news-form-submit{color:#fff;cursor:pointer;background:#667eea;border:none;border-radius:8px;flex:1;padding:10px 24px;font-size:14px;font-weight:600;transition:background .2s}.news-form-submit:hover{background:#5a6fd6}.news-form-submit:disabled{opacity:.6;cursor:not-allowed}@media (width<=768px){.news-hub{padding:16px}.news-hub-header{flex-direction:column;align-items:stretch}.news-hub-actions{flex-direction:column}.news-hub-btn-create,.news-hub-btn-back{text-align:center;width:100%}.news-hub-grid,.news-form-row{grid-template-columns:1fr}.news-modal-content{padding:20px 16px}}.burger-overlay{z-index:200;background:#0000004d;justify-content:flex-end;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.burger-menu{background:#fff;flex-direction:column;width:280px;max-width:80vw;height:100%;padding:24px 20px;animation:.25s slideIn;display:flex;overflow-y:auto;box-shadow:-8px 0 40px #0000001a}.burger-menu-header{border-bottom:1px solid #e2e8f0;flex-shrink:0;margin-bottom:16px;padding-bottom:20px}.burger-user-name{color:#0f172a;margin-bottom:4px;font-size:18px;font-weight:600;display:block}.burger-role-badge{text-transform:uppercase;letter-spacing:.3px;border-radius:20px;padding:3px 14px;font-size:12px;font-weight:600;display:inline-block}.burger-role-badge.admin{color:#dc2626;background:#fee2e2}.burger-role-badge.manager{color:#1d4ed8;background:#dbeafe}.burger-role-badge.logist{color:#d97706;background:#fef3c7}.burger-nav{flex-direction:column;gap:4px;display:flex}.burger-link{color:#1e293b;border-radius:10px;padding:12px 14px;font-size:15px;font-weight:500;text-decoration:none;transition:background .2s}.burger-link:hover{background:#f1f5f9}.burger-divider{background:#e2e8f0;height:1px;margin:4px 0 8px}.burger-logout-btn{color:#ef4444;cursor:pointer;text-align:center;background:0 0;border:1px solid #fee2e2;border-radius:10px;width:100%;margin-top:12px;padding:12px 14px;font-size:15px;font-weight:500;transition:background .2s}.burger-logout-btn:hover{background:#fee2e2}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (width<=480px){.burger-menu{width:100%;max-width:100%;padding:20px 16px}}.header{z-index:100;background:#fff;border-bottom:1px solid #e2e8f0;padding:0 20px;position:sticky;top:0}.header-container{justify-content:space-between;align-items:center;max-width:1280px;height:64px;margin:0 auto;display:flex}.logo{color:#0f172a;flex-shrink:0;align-items:center;gap:10px;font-size:20px;font-weight:700;text-decoration:none;transition:opacity .2s;display:flex}.logo:hover{opacity:.8}.logo-icon{font-size:28px}.logo-text{letter-spacing:-.5px}.header-right{flex-shrink:0;align-items:center;gap:16px;display:flex}.user-profile{cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:40px;align-items:center;gap:10px;padding:6px 18px 6px 20px;transition:all .2s;display:flex}.user-profile:hover{background:#f8fafc;border-color:#94a3b8;box-shadow:0 2px 8px #0000000a}.user-name-header{color:#1e293b;white-space:nowrap;font-size:14px;font-weight:500}.role-badge{text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;border-radius:20px;padding:3px 14px;font-size:12px;font-weight:600;display:inline-block}.role-badge.admin{color:#dc2626;background:#fee2e2}.role-badge.manager{color:#1d4ed8;background:#dbeafe}.role-badge.logist{color:#d97706;background:#fef3c7}@media (width<=768px){.header{padding:0 16px}.header-container{height:56px}.logo{gap:8px;font-size:18px}.logo-icon{font-size:24px}.user-name-header{font-size:13px}.role-badge{padding:2px 10px;font-size:11px}.user-profile{gap:8px;padding:4px 14px 4px 16px}}@media (width<=480px){.header{padding:0 12px}.header-container{height:52px}.logo{gap:6px;font-size:16px}.logo-icon{font-size:20px}.logo-text{font-size:16px}.user-name-header{font-size:12px}.role-badge{padding:2px 8px;font-size:10px}.user-profile{gap:6px;padding:3px 10px 3px 12px}}@media (width<=380px){.user-name-header{display:none}.role-badge{padding:2px 6px;font-size:9px}.user-profile{padding:3px 8px}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@media (width<=768px){.sse-indicator{gap:4px;padding:2px 8px 2px 6px}.sse-label,.sse-clients{display:none}}@media (width<=480px){.sse-indicator{padding:2px 6px}.sse-dot{width:6px;height:6px}}.sse-indicator{white-space:nowrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:20px;align-items:center;gap:6px;padding:4px 12px 4px 8px;font-size:12px;display:flex}.sse-dot{border-radius:50%;width:8px;height:8px;transition:background .3s;display:inline-block}.sse-dot.sse-online{background:#22c55e;box-shadow:0 0 8px #22c55e66}.sse-dot.sse-connecting{background:#eab308;animation:1s infinite pulse}.sse-dot.sse-error{background:#ef4444}.sse-dot.sse-offline{background:#94a3b8}.sse-label{color:#64748b;font-size:11px;font-weight:500}.sse-clients{color:#94a3b8;margin-left:4px;font-size:11px}@media (width<=768px){.sse-indicator{gap:4px;padding:2px 8px 2px 6px}.sse-label,.sse-clients{display:none}}@media (width<=480px){.sse-indicator{padding:2px 6px}.sse-dot{width:6px;height:6px}}.notifications-bell{display:inline-block;position:relative}.bell-btn{cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;min-width:36px;min-height:36px;padding:4px 6px;font-size:20px;transition:background .2s;display:flex;position:relative}.bell-btn:hover{background:#f1f5f9}.bell-badge{color:#fff;background:#ef4444;border-radius:50%;justify-content:center;align-items:center;min-width:18px;height:18px;padding:1px 6px;font-size:11px;font-weight:700;line-height:1;display:flex;position:absolute;top:-2px;right:-2px}.notifications-dropdown{z-index:1000;background:#fff;border:1px solid #e2e8f0;border-radius:16px;width:380px;max-width:90vw;animation:.2s slideDown;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 12px 48px #00000026}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.notifications-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.notifications-title{color:#0f172a;font-size:16px;font-weight:600}.notifications-mark-all{color:#2563eb;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:13px;font-weight:500;transition:background .2s}.notifications-mark-all:hover{background:#eef2ff}.notifications-list{max-height:400px;padding:4px 0;overflow-y:auto}.notifications-loading,.notifications-empty{text-align:center;color:#94a3b8;padding:32px 20px;font-size:14px}.notification-item{cursor:pointer;border-bottom:1px solid #f8fafc;align-items:flex-start;gap:12px;padding:12px 20px;transition:background .15s;display:flex}.notification-item:hover{background:#f8fafc}.notification-item.unread{background:#f0f7ff}.notification-item.unread:hover{background:#e8f0fe}.notification-content{flex:1;min-width:0}.notification-title{color:#0f172a;margin-bottom:2px;font-size:14px;font-weight:600}.notification-text{color:#475569;word-break:break-word;font-size:14px;line-height:1.4}.notification-time{color:#94a3b8;margin-top:4px;font-size:12px}.notification-unread-dot{background:#2563eb;border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}@media (width<=480px){.notifications-dropdown{border-radius:0;width:100%;max-width:100%;animation:none;position:fixed;top:0;bottom:0;right:0}.notifications-list{max-height:calc(100vh - 70px)}.notifications-header{padding:14px 16px}}.toast-notification{color:#fff;z-index:10000;background:#1e293b;border-radius:12px;align-items:flex-start;gap:12px;width:100%;max-width:380px;padding:16px 20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;animation:.3s slideIn;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 32px #0000004d}.toast-notification.toast-hide{animation:.3s forwards slideOut}.toast-content{flex:1}.toast-title{margin-bottom:2px;font-size:14px;font-weight:600}.toast-text{color:#cbd5e1;font-size:13px;line-height:1.4}.toast-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:18px;line-height:1}.toast-close:hover{color:#fff}@keyframes slideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(40px)}}@media (width<=480px){.toast-notification{max-width:none;padding:14px 16px;bottom:16px;left:16px;right:16px}}.notification-actions{flex-shrink:0;align-items:center;display:flex}.notification-hide-btn{cursor:pointer;color:#94a3b8;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:16px;transition:all .2s}.notification-hide-btn:hover{color:#1e293b;background:#f1f5f9}.layout{flex-direction:column;min-height:100vh;display:flex}.layout-content{flex:1}.admin-layout-wrapper{width:100%;max-width:1280px;margin:0 auto;padding:0 20px}.admin-layout{background:#f1f5f9;gap:24px;min-height:calc(100vh - 64px);padding:20px 0;display:flex}.admin-sidebar{background:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-shrink:0;width:220px;height:fit-content;padding:20px 12px;position:sticky;top:84px}.admin-sidebar-header{border-bottom:1px solid #e2e8f0;align-items:center;gap:10px;margin-bottom:16px;padding-bottom:16px;display:flex}.admin-sidebar-icon{font-size:20px}.admin-sidebar-title{color:#0f172a;font-size:15px;font-weight:600}.admin-sidebar-nav{flex-direction:column;gap:4px;display:flex}.admin-nav-link{color:#64748b;border-radius:10px;align-items:center;gap:10px;padding:10px 14px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.admin-nav-link:hover{color:#0f172a;background:#f1f5f9}.admin-nav-link.active{color:#4f46e5;background:#eef2ff}.nav-icon{font-size:18px}.admin-content{flex:1;min-width:0}@media (width<=768px){.admin-layout-wrapper{padding:0 16px}.admin-layout{flex-direction:column;gap:16px;padding:16px 0}.admin-sidebar{width:100%;padding:16px 12px;position:static}.admin-sidebar-header{display:none}.admin-sidebar-nav{flex-flow:row;gap:6px;overflow-x:auto}.admin-nav-link{white-space:nowrap;flex-shrink:0;padding:8px 14px;font-size:13px}.admin-content{padding:0}}@media (width<=480px){.admin-layout-wrapper{padding:0 12px}.admin-layout{padding:12px 0}.admin-nav-link{gap:6px;padding:6px 10px;font-size:12px}.nav-icon{font-size:15px}}.modal-close-btn{cursor:pointer;color:#94a3b8;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;min-width:40px;min-height:40px;padding:4px 8px;font-size:24px;transition:all .2s;display:flex}.modal-close-btn:hover{color:#0f172a;background:#f1f5f9}@media (width<=480px){.modal-close-btn{min-width:36px;min-height:36px;font-size:20px}}.comment-item{background:#f8fafc;border-radius:10px;margin-bottom:8px;padding:12px 16px;position:relative}.comment-item:hover{background:#f1f5f9}.comment-header{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:4px;display:flex}.comment-author{color:#0f172a;font-size:13px;font-weight:600}.comment-edited{color:#94a3b8;font-size:11px;font-style:italic}.comment-text{color:#1e293b;word-break:break-word;font-size:14px;line-height:1.5}.comment-deleted{color:#94a3b8;background:#f1f5f9}.comment-deleted-text{font-size:14px;font-style:italic}.comment-deleted-date{color:#94a3b8;margin-left:8px;font-size:11px}.comment-actions{gap:4px;display:flex;position:absolute;top:8px;right:8px}.comment-action-btn{cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:14px;transition:background .2s}.comment-action-btn:hover{opacity:1;background:#e2e8f0}.comment-action-delete:hover{background:#fee2e2}.comment-edit{margin-top:4px}.comment-edit-input{resize:vertical;border:1px solid #e2e8f0;border-radius:8px;width:100%;min-height:50px;padding:8px 12px;font-family:inherit;font-size:14px}.comment-edit-input:focus{border-color:#2563eb;outline:none}.comment-edit-actions{gap:8px;margin-top:6px;display:flex}@media (width<=480px){.comment-item{padding:10px 12px}.comment-actions{justify-content:flex-end;margin-top:4px;position:static}.comment-header{gap:6px}}.comment-input-wrap{align-items:flex-end;gap:8px;display:flex}.comment-input{resize:vertical;border:1px solid #e2e8f0;border-radius:10px;flex:1;min-height:44px;max-height:120px;padding:10px 14px;font-family:inherit;font-size:14px;transition:border-color .2s}.comment-input:focus{border-color:#2563eb;outline:none}.comment-input:disabled{cursor:not-allowed;background:#f1f5f9}@media (width<=480px){.comment-input-wrap{flex-direction:column;gap:6px}.comment-input{min-height:40px;font-size:15px}}.comment-list{border-top:1px solid #e2e8f0;margin-top:16px;padding-top:16px}.comment-list-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.comment-list-header h4{color:#0f172a;margin:0;font-size:15px;font-weight:600}.comment-loading,.comment-empty{color:#94a3b8;padding:8px 0;font-size:14px}.comment-items{max-height:300px;margin-bottom:12px;overflow-y:auto}.comment-items::-webkit-scrollbar{width:4px}.comment-items::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.comment-items::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}@media (width<=480px){.comment-list{margin-top:12px;padding-top:12px}.comment-items{max-height:200px}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.task-modal-content{background:#fff;border-radius:20px;flex-direction:column;width:100%;max-width:700px;max-height:90vh;padding:0;animation:.25s slideIn;display:flex;overflow-y:auto;box-shadow:0 25px 80px #0000004d}.modal-status-bar{text-align:center;letter-spacing:.3px;border-radius:20px 20px 0 0;flex-shrink:0;padding:8px 20px;font-size:13px;font-weight:600}.modal-status-bar.status-new{color:#d97706;background:#fef3c7}.modal-status-bar.status-in_progress{color:#1d4ed8;background:#dbeafe}.modal-status-bar.status-completed{color:#059669;background:#d1fae5}.modal-header{border-bottom:1px solid #e2e8f0;flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 24px 12px;display:flex}.modal-header h2{color:#0f172a;margin:0;font-size:20px;font-weight:700}.modal-close{cursor:pointer;color:#94a3b8;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;min-width:40px;min-height:40px;padding:4px 8px;font-size:24px;transition:all .2s;display:flex}.modal-close:hover{color:#0f172a;background:#f1f5f9}.modal-meta{color:#64748b;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;font-size:14px;display:flex}.modal-author{color:#1e293b;font-weight:500}.modal-date{font-size:13px}.modal-body{flex:1;padding:16px 24px;overflow-y:auto}.modal-field{flex-direction:column;gap:4px;margin-bottom:16px;display:flex}.modal-field label{color:#64748b;text-transform:uppercase;letter-spacing:.3px;font-size:13px;font-weight:600}.modal-field span{color:#1e293b;font-size:15px}.modal-comment-box{color:#1e293b;background:#f8fafc;border:1px solid #f1f5f9;border-radius:10px;min-height:60px;padding:12px 16px;font-size:15px;line-height:1.6}.modal-photos{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.modal-photo{object-fit:cover;cursor:pointer;border:1px solid #e2e8f0;border-radius:8px;width:120px;height:120px;transition:transform .2s}.modal-photo:hover{transform:scale(1.05)}.modal-comments{border-top:1px solid #e2e8f0;margin-top:20px;padding-top:16px}.modal-comments h4{color:#0f172a;margin-bottom:12px;font-size:15px;font-weight:600}.comments-list{flex-direction:column;gap:8px;max-height:180px;margin-bottom:12px;display:flex;overflow-y:auto}.comment-item{background:#f8fafc;border-radius:10px;padding:10px 14px}.comment-author{color:#0f172a;font-size:13px;font-weight:600;display:block}.comment-text{color:#1e293b;margin:2px 0;font-size:14px;display:block}.comment-date{color:#94a3b8;font-size:11px}.comment-input-wrap{gap:8px;display:flex}.comment-input-wrap input{border:1px solid #e2e8f0;border-radius:10px;outline:none;flex:1;min-height:44px;padding:10px 14px;font-size:14px;transition:border-color .2s}.comment-input-wrap input:focus{border-color:#2563eb}.modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;border-radius:0 0 20px 20px;flex-wrap:wrap;flex-shrink:0;gap:12px;padding:16px 24px;display:flex}@media (width<=480px){.modal-overlay{padding:10px}.task-modal-content{border-radius:16px;max-height:95vh}.modal-status-bar{border-radius:16px 16px 0 0;padding:6px 16px;font-size:12px}.modal-header{padding:14px 16px 10px}.modal-header h2{font-size:17px}.modal-body{padding:12px 16px}.modal-meta{flex-wrap:wrap;gap:4px;font-size:13px}.modal-comment-box{padding:10px 12px;font-size:14px}.modal-photo{width:80px;height:80px}.modal-footer{flex-direction:column;gap:8px;padding:12px 16px}.comment-input-wrap{flex-direction:column}.comment-input-wrap input{min-height:48px}}.status-completed-modal{color:#16a34a;background:#f0fdf4;border-radius:10px;padding:10px 24px;font-size:16px;font-weight:600}.modal-icon-btn{cursor:pointer;background:0 0;border:1px solid #e2e8f0;border-radius:8px;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:8px 12px;font-size:18px;transition:all .2s;display:flex}.modal-icon-btn:hover{background:#f1f5f9}.modal-icon-btn-danger:hover{background:#fee2e2;border-color:#fecaca}.modal-actions-right{gap:8px;margin-left:auto;display:flex}.modal-edit-input,.modal-edit-textarea{box-sizing:border-box;border:1px solid #e2e8f0;border-radius:10px;width:100%;padding:10px 14px;font-family:inherit;font-size:15px;transition:border-color .2s}.modal-edit-input:focus,.modal-edit-textarea:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.modal-edit-textarea{resize:vertical;min-height:80px}.modal-airtraffic-image{cursor:pointer;border:1px solid #e2e8f0;border-radius:8px;max-width:300px;margin-top:4px;overflow:hidden}.modal-airtraffic-img{width:100%;height:auto;transition:transform .2s;display:block}.modal-airtraffic-img:hover{transform:scale(1.02)}.items-table-wrap{border:1px solid #e2e8f0;border-radius:8px;margin-top:8px;overflow-x:auto}.items-table{border-collapse:collapse;background:#fff;width:100%;font-size:13px}.items-table th{text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;background:#f8fafc;border-bottom:2px solid #e2e8f0;padding:8px 12px;font-size:12px;font-weight:600}.items-table td{color:#1e293b;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:6px 12px;font-size:13px}.items-table tr:last-child td{border-bottom:none}.items-table .item-main{background:#fff}.items-table .item-main td:first-child{color:#0f172a;font-weight:600}.items-table .item-storage{background:#fafbfc}.items-table .item-storage td{color:#64748b;font-size:12px}.items-table .item-storage td:first-child,.items-table .item-storage td:nth-child(2),.items-table .item-storage td:nth-child(3),.items-table .item-storage td:nth-child(4),.items-table .item-storage td:nth-child(5){color:#94a3b8}.items-table-empty{text-align:center;color:#94a3b8;background:#f8fafc;border:1px dashed #e2e8f0;border-radius:8px;padding:16px;font-size:14px}@media (width<=768px){.items-table{font-size:12px}.items-table th,.items-table td{padding:4px 8px}}.gallery-card{cursor:pointer;background:#fff;border:1px solid #e8ecf1;border-radius:12px;flex-direction:column;transition:all .25s;display:flex;overflow:hidden;box-shadow:0 2px 8px #00000014}.gallery-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #0000001f}.gallery-card-image{background:#f5f7fa;justify-content:center;align-items:center;width:100%;height:200px;display:flex;position:relative;overflow:hidden}.gallery-card-image img{object-fit:cover;width:100%;height:100%}.gallery-card-no-image{color:#d1d5db;background:#f9fafb;justify-content:center;align-items:center;width:100%;height:100%;font-size:48px;display:flex}.gallery-card-photo-count{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;border-radius:20px;padding:4px 10px;font-size:13px;font-weight:500;position:absolute;bottom:8px;right:8px}.gallery-card-body{flex-direction:column;flex:1;padding:16px;display:flex}.gallery-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.gallery-card-city{color:#1a2332;flex:1;margin:0;font-size:18px;font-weight:600}.gallery-card-delete-btn{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:4px 8px;font-size:16px;transition:background .2s}.gallery-card-delete-btn:hover{color:#dc2626;background:#fee2e2}.gallery-card-delete-btn:disabled{opacity:.5;cursor:not-allowed}.gallery-card-meta{color:#6b7280;gap:16px;margin-bottom:10px;font-size:13px;display:flex}.gallery-card-date,.gallery-card-author{align-items:center;gap:4px;display:flex}.gallery-card-description{color:#4b5563;-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;margin:0 0 12px;font-size:14px;line-height:1.5;display:-webkit-box;overflow:hidden}.gallery-card-footer{border-top:1px solid #f3f4f6;justify-content:flex-start;margin-top:auto;padding-top:12px;display:flex}.gallery-card-comments{color:#6b7280;align-items:center;gap:4px;font-size:14px;display:flex}.gallery-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:center;padding:20px;animation:.25s galleryModalFadeIn;display:flex;position:fixed;inset:0}@keyframes galleryModalFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.gallery-modal-content{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:900px;max-height:90vh;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 60px #0000004d}.gallery-modal-close{color:#fff;cursor:pointer;z-index:10;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;transition:background .2s;display:flex;position:absolute;top:16px;right:16px}.gallery-modal-close:hover{background:#000c}.gallery-modal-body{flex:1;padding:24px 28px 28px;overflow-y:auto}.gallery-modal-header{margin-bottom:20px;padding-right:40px}.gallery-modal-header h2{color:#1a2332;margin:0 0 8px;font-size:24px;font-weight:700}.gallery-modal-meta{color:#6b7280;flex-wrap:wrap;gap:16px;font-size:14px;display:flex}.gallery-modal-meta span{align-items:center;gap:4px;display:flex}.gallery-modal-photos{margin-bottom:20px}.gallery-modal-photos-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.gallery-modal-photo-item{aspect-ratio:1;cursor:pointer;background:#f3f4f6;border-radius:8px;transition:transform .2s;overflow:hidden}.gallery-modal-photo-item:hover{transform:scale(1.03)}.gallery-modal-photo-item img{object-fit:cover;width:100%;height:100%}.gallery-modal-no-photos{text-align:center;color:#9ca3af;background:#f9fafb;border-radius:8px;padding:30px 20px;font-size:16px}.gallery-modal-no-photos p{margin:0}.gallery-modal-add-photos{margin-bottom:20px}.gallery-modal-add-photos-btn{color:#4b5563;cursor:pointer;text-align:center;background:#f3f4f6;border:1px dashed #d1d5db;border-radius:8px;width:100%;padding:10px 16px;font-size:14px;font-weight:500;transition:all .2s}.gallery-modal-add-photos-btn:hover{background:#e5e7eb;border-color:#9ca3af}.gallery-modal-photo-uploader{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-top:12px;padding:16px}.gallery-modal-save-btn{color:#fff;cursor:pointer;background:#667eea;border:none;border-radius:8px;width:100%;margin-top:12px;padding:10px 20px;font-size:14px;font-weight:600;transition:background .2s}.gallery-modal-save-btn:hover{background:#5a6fd6}.gallery-modal-save-btn:disabled{opacity:.6;cursor:not-allowed}.gallery-modal-description{background:#f9fafb;border-left:3px solid #667eea;border-radius:8px;margin-bottom:20px;padding:14px 16px}.gallery-modal-description p{color:#374151;margin:0;font-size:15px;line-height:1.6}.gallery-modal-comments{border-top:1px solid #e5e7eb;padding-top:20px}.gallery-modal-comments h4{color:#1a2332;margin:0 0 16px;font-size:16px}.gallery-modal-no-comments{color:#9ca3af;text-align:center;padding:10px 0;font-size:14px}.gallery-modal-comments-list{max-height:300px;margin-bottom:16px;overflow-y:auto}.gallery-modal-comment{border-bottom:1px solid #f3f4f6;padding:12px 0}.gallery-modal-comment:last-child{border-bottom:none}.gallery-modal-comment-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.gallery-modal-comment-author{color:#1a2332;font-size:14px;font-weight:600}.gallery-modal-comment-date{color:#9ca3af;font-size:12px}.gallery-modal-comment-text{color:#374151;margin-bottom:4px;font-size:14px;line-height:1.5}.gallery-modal-comment-actions{gap:8px;display:flex}.gallery-modal-comment-edit-btn,.gallery-modal-comment-delete-btn{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:14px;transition:background .2s}.gallery-modal-comment-edit-btn:hover{background:#e5e7eb}.gallery-modal-comment-delete-btn:hover{background:#fee2e2}.gallery-modal-comment-edit{margin-top:4px}.gallery-modal-comment-edit textarea{resize:vertical;border:1px solid #d1d5db;border-radius:6px;width:100%;min-height:60px;padding:8px 12px;font-family:inherit;font-size:14px}.gallery-modal-comment-edit textarea:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.gallery-modal-comment-edit-actions{gap:8px;margin-top:6px;display:flex}.gallery-modal-comment-edit-actions button{cursor:pointer;border:none;border-radius:6px;padding:6px 16px;font-size:13px;transition:all .2s}.gallery-modal-comment-edit-actions button:first-child{color:#4b5563;background:#f3f4f6}.gallery-modal-comment-edit-actions button:first-child:hover{background:#e5e7eb}.gallery-modal-comment-edit-actions button:last-child{color:#fff;background:#667eea}.gallery-modal-comment-edit-actions button:last-child:hover{background:#5a6fd6}.gallery-modal-comment-edit-actions button:last-child:disabled{opacity:.5;cursor:not-allowed}.gallery-modal-comment-input{align-items:flex-end;gap:12px;display:flex}.gallery-modal-comment-input textarea{resize:vertical;border:1px solid #d1d5db;border-radius:8px;flex:1;min-height:50px;padding:10px 14px;font-family:inherit;font-size:14px;transition:border-color .2s}.gallery-modal-comment-input textarea:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.gallery-modal-comment-input button{color:#fff;cursor:pointer;white-space:nowrap;background:#667eea;border:none;border-radius:8px;height:fit-content;padding:10px 24px;font-size:14px;font-weight:600;transition:background .2s}.gallery-modal-comment-input button:hover{background:#5a6fd6}.gallery-modal-comment-input button:disabled{opacity:.5;cursor:not-allowed}@media (width<=768px){.gallery-modal-content{border-radius:12px;max-height:95vh}.gallery-modal-body{padding:16px}.gallery-modal-header h2{font-size:20px}.gallery-modal-photos-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.gallery-modal-close{width:32px;height:32px;font-size:16px;top:12px;right:12px}.gallery-modal-comment-input{flex-direction:column;gap:8px}.gallery-modal-comment-input button{width:100%}}@media (width<=480px){.gallery-modal-photos-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}}.gallery-hub{background:#f8fafc;max-width:1400px;min-height:100vh;margin:0 auto;padding:24px 32px}.gallery-hub-header{background:#fff;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;padding:16px 20px;display:flex;box-shadow:0 1px 3px #0000000f}.gallery-hub-header h1{color:#1a2332;margin:0;font-size:24px;font-weight:700}.gallery-hub-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.gallery-hub-btn-create{color:#fff;cursor:pointer;white-space:nowrap;background:#667eea;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s}.gallery-hub-btn-create:hover{background:#5a6fd6;transform:translateY(-1px);box-shadow:0 4px 12px #667eea59}.gallery-hub-btn-create:active{transform:translateY(0)}.gallery-hub-btn-back{color:#4b5563;cursor:pointer;white-space:nowrap;background:#f3f4f6;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.gallery-hub-btn-back:hover{background:#e5e7eb}.gallery-hub-loading{text-align:center;color:#6b7280;padding:60px 20px;font-size:18px}.gallery-hub-empty{text-align:center;background:#fff;border-radius:12px;padding:80px 20px;box-shadow:0 1px 3px #0000000f}.gallery-hub-empty p{color:#6b7280;margin:0 0 8px;font-size:20px}.gallery-hub-empty-hint{color:#9ca3af!important;font-size:14px!important}.gallery-hub-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;margin-bottom:32px;display:grid}.gallery-hub-load-more{flex-direction:column;align-items:center;gap:8px;padding:20px 0;display:flex}.gallery-hub-load-more-btn{color:#4b5563;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:10px 32px;font-size:14px;font-weight:500;transition:all .2s}.gallery-hub-load-more-btn:hover{background:#f9fafb;border-color:#d1d5db}.gallery-hub-load-more-btn:disabled{opacity:.6;cursor:not-allowed}.gallery-hub-load-more-info{color:#9ca3af;font-size:13px}@media (width<=1024px){.gallery-hub-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media (width<=768px){.gallery-hub{padding:16px}.gallery-hub-header{flex-direction:column;align-items:stretch;gap:12px;padding:16px}.gallery-hub-header h1{text-align:center;font-size:20px}.gallery-hub-actions{flex-direction:column;width:100%}.gallery-hub-actions .search-bar{width:100%}.gallery-hub-btn-create,.gallery-hub-btn-back{justify-content:center;width:100%}.gallery-hub-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.gallery-hub-empty{padding:40px 16px}.gallery-hub-empty p{font-size:17px}}@media (width<=480px){.gallery-hub-grid{grid-template-columns:1fr}}.duties-content{max-width:1280px;margin:0 auto}.duties-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.duties-header h1{color:#0f172a;font-size:24px;font-weight:700}.duties-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:4px 0;overflow-x:auto}.duties-table{border-collapse:collapse;width:100%;min-width:500px;font-size:14px}.duties-table th{text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #f1f5f9;padding:14px 20px;font-size:12px;font-weight:600}.duties-table td{color:#1e293b;border-bottom:1px solid #f1f5f9;padding:14px 20px}.duties-table tr:last-child td{border-bottom:none}.duties-empty{text-align:center;color:#9ca3af;padding:30px 20px}@media (width<=768px){.duties-header{flex-direction:column;align-items:stretch}.duties-header h1{font-size:20px}.btn-add{text-align:center;width:100%}.duties-table th,.duties-table td{padding:10px 14px;font-size:13px}}@media (width<=480px){.duties-table{min-width:300px;font-size:12px}.duties-table th,.duties-table td{padding:8px 10px}}.vacations-content{max-width:1280px;margin:0 auto}.vacations-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.vacations-header h1{color:#0f172a;font-size:24px;font-weight:700}.vacations-table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:4px 0;overflow-x:auto}.vacations-table{border-collapse:collapse;width:100%;min-width:500px;font-size:14px}.vacations-table th{text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #f1f5f9;padding:14px 20px;font-size:12px;font-weight:600}.vacations-table td{color:#1e293b;border-bottom:1px solid #f1f5f9;padding:14px 20px}.vacations-table tr:last-child td{border-bottom:none}.vacations-empty{text-align:center;color:#9ca3af;padding:30px 20px}@media (width<=768px){.vacations-header{flex-direction:column;align-items:stretch}.vacations-header h1{font-size:20px}.btn-add{text-align:center;width:100%}.vacations-table th,.vacations-table td{padding:10px 14px;font-size:13px}}@media (width<=480px){.vacations-table{min-width:300px;font-size:12px}.vacations-table th,.vacations-table td{padding:8px 10px}}.modal-content-calendar{max-width:720px!important;padding:28px 32px!important}.modal-content-calendar .date-range-picker-popup{box-shadow:none;min-width:unset;border:1px solid #e2e8f0;margin-top:8px;padding:12px;position:static}html,body,#root{height:100%;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f1f5f9;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif}h1,h2,h3,h4,h5,h6{font-weight:inherit;margin:0}
