.layout-container{display:flex;min-height:100vh;background:#f5f5f5}.sidebar{width:250px;background:linear-gradient(180deg,#2c3e50,#34495e);color:#fff;display:flex;flex-direction:column;position:fixed;height:100vh;left:0;top:0;z-index:1000;transition:transform .3s ease;box-shadow:2px 0 10px #0000001a}.sidebar-logo{padding:2rem 1.5rem;font-size:1.5rem;font-weight:700;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar nav{flex:1;padding:1rem 0}.nav-link{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;color:#fffc;text-decoration:none;transition:all .3s;border-left:3px solid transparent}.nav-link:hover{background:#ffffff1a;color:#fff}.nav-link.active{background:#ffffff26;color:#fff;border-left-color:#3498db;font-weight:600}.nav-link-icon{font-size:1.3rem}.content-wrapper{flex:1;margin-left:250px;display:flex;flex-direction:column;min-height:100vh}.header{background:#fff;padding:1rem 2rem;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100}.header-title{font-size:1.5rem;color:#2c3e50;font-weight:600}.user-section{display:flex;align-items:center;gap:1rem}.user-info{display:flex;flex-direction:column;align-items:flex-end}.user-name{font-weight:600;color:#2c3e50}.user-role{font-size:.85rem;color:#7f8c8d}.logout-button{padding:.5rem 1rem;background:#e74c3c;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .3s;font-weight:500}.logout-button:hover{background:#c0392b}.main-content{flex:1;padding:2rem;background:#f5f5f5}.hamburger-menu{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer;color:#2c3e50;padding:.5rem}@media (max-width: 768px){.sidebar{transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0)}.content-wrapper{margin-left:0}.hamburger-menu{display:block}.header{padding:1rem}.user-info{display:none}.main-content{padding:1rem}}@media (max-width: 1024px){.sidebar{width:200px}.content-wrapper{margin-left:200px}.nav-link{padding:.875rem 1rem}}.error-boundary-container{display:flex;align-items:center;justify-content:center;width:100%;color:#2c3e50}.error-boundary-content{background:#fff;border-radius:8px;box-shadow:0 6px 18px #00000014;padding:24px;max-width:720px;width:100%;margin:16px;text-align:center}.error-boundary-icon{font-size:3rem;margin-bottom:12px}.error-boundary-title{margin:0 0 8px;font-weight:700;color:#2c3e50}.error-boundary-message{margin:0 0 16px;color:#7f8c8d}.error-boundary-details{text-align:left;white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.9rem;background:#f5f5f5;color:#2c3e50;border-radius:6px;padding:12px;margin:12px 0 0;overflow:auto}.error-boundary-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:16px}.error-boundary-button-primary,.error-boundary-button-secondary{border:none;border-radius:8px;padding:10px 16px;cursor:pointer;transition:background-color .2s ease,color .2s ease,opacity .2s ease}.error-boundary-button-primary{background:#e74c3c;color:#fff}.error-boundary-button-primary:hover{background:#c0392b}.error-boundary-button-secondary{background:#7f8c8d;color:#fff}.error-boundary-button-secondary:hover{background:#6b7779}.error-boundary-app{min-height:100vh;background:#f5f5f5}.error-boundary-layout{padding:24px 0}.error-boundary-page{padding:12px 0}@media (max-width: 768px){.error-boundary-content{padding:16px}.error-boundary-icon{font-size:2.25rem}.error-boundary-actions{flex-direction:column}.error-boundary-button-primary,.error-boundary-button-secondary{width:100%}}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem}.login-card{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a;padding:3rem 2.5rem;width:100%;max-width:420px}.login-card h1{color:#2c3e50;font-size:1.8rem;margin-bottom:.5rem;text-align:center}.login-card h2{color:#7f8c8d;font-size:1rem;font-weight:400;margin-bottom:2rem;text-align:center}.login-card form{display:flex;flex-direction:column;gap:1.25rem}.login-card input{padding:.875rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .3s}.login-card input:focus{outline:none;border-color:#667eea}.login-card button{padding:.875rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,opacity .3s}.login-card button:hover:not(:disabled){transform:translateY(-2px)}.login-card button:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#fee;color:#c33;padding:.75rem;border-radius:6px;font-size:.9rem;text-align:center}.login-card p{color:#95a5a6;font-size:.85rem;text-align:center;margin-top:1rem}@media (max-width: 480px){.login-card{padding:2rem 1.5rem}.login-card h1{font-size:1.5rem}}.dashboard-container{max-width:1200px;margin:0 auto}.dashboard-container h1{color:#2c3e50;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.dashboard-container>p{color:#7f8c8d;font-size:1.1rem;margin-bottom:2rem}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin:2rem 0}.stat-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a;transition:transform .3s,box-shadow .3s;cursor:pointer;text-decoration:none;color:inherit;display:flex;flex-direction:column;align-items:center;text-align:center}.stat-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.stat-card-icon{font-size:3rem;margin-bottom:1rem}.stat-card-count{font-size:2.5rem;font-weight:700;color:#2c3e50;margin-bottom:.5rem}.stat-card-label{font-size:1.1rem;color:#7f8c8d;text-transform:uppercase;letter-spacing:.5px}.loading-state,.error-state{text-align:center;padding:2rem;color:#7f8c8d;font-size:1.1rem}.recent-activity{background:#fff;border-radius:12px;padding:2rem;margin-top:2rem;box-shadow:0 2px 8px #0000001a}.recent-activity h2{color:#2c3e50;font-size:1.5rem;margin-bottom:1rem}.recent-activity p{color:#7f8c8d;margin:0}@media (max-width: 1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.stats-grid{grid-template-columns:1fr;gap:1rem}.stat-card{padding:1.5rem}.stat-card-icon{font-size:2.5rem}.stat-card-count,.dashboard-container h1{font-size:2rem}}.pagination{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;border:1px solid #e0e0e0}.pagination-info{color:#7f8c8d;font-size:.95rem}.pagination-controls{display:flex;align-items:center;gap:.75rem}.page-size-selector{display:flex;align-items:center;gap:.5rem}.page-size-selector label{color:#7f8c8d;font-size:.9rem}.page-size-select{padding:.35rem .5rem;border:1px solid #e0e0e0;border-radius:8px;background:#fff}.page-buttons{display:flex;align-items:center;gap:.35rem}.pagination-button{padding:.4rem .7rem;border:1px solid #e0e0e0;background:#fff;border-radius:8px;color:#2c3e50;cursor:pointer}.pagination-button:hover:not(:disabled){background:#f8f9fa}.pagination-button:disabled{opacity:.5;cursor:not-allowed}.pagination-button.active{background:#667eea;color:#fff;border-color:#667eea}@media (max-width: 768px){.pagination{flex-direction:column;align-items:stretch}.pagination-controls{flex-wrap:wrap;justify-content:space-between}}.loading-state{text-align:center;padding:3rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f}.loading-state .spinner{display:inline-block;width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}.loading-state p{margin-top:1rem;color:#7f8c8d}.error-state{text-align:center;padding:3rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f}.error-state .error-icon{font-size:3rem;color:#e74c3c;margin-bottom:1rem}.error-state p{color:#7f8c8d;line-height:1.6;margin-bottom:1rem}.error-state .retry-button{margin-top:1rem}.empty-state{text-align:center;padding:3rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f}.empty-state .empty-icon{font-size:3rem;color:#bdc3c7;margin-bottom:1rem}.empty-state h3{color:#2c3e50;font-size:1.5rem;margin-bottom:1rem}.empty-state p{color:#7f8c8d;line-height:1.6;margin-bottom:1.5rem;max-width:500px;margin-left:auto;margin-right:auto}.empty-state .button{margin-top:.5rem}.developers-page.page-container{max-width:1200px;margin:0 auto}.developers-page.page-container h1{color:#2c3e50;font-size:2rem;margin-bottom:.5rem}.developers-page.page-container>p{color:#7f8c8d;margin-bottom:2rem}.developers-page .toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1rem}.developers-page .toolbar .search-input{flex:1;max-width:400px;padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .3s}.developers-page .toolbar .search-input:focus{outline:none;border-color:#667eea}.developers-page .toolbar .create-button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:transform .2s}.developers-page .toolbar .create-button:hover{transform:translateY(-2px)}.developers-page .developers-table-container{overflow-x:auto;margin-bottom:2rem}.developers-page .developers-table{width:100%;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.developers-page .developers-table thead{background:#f8f9fa}.developers-page .developers-table th{padding:1rem;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #e0e0e0}.developers-page .developers-table td{padding:1rem;border-bottom:1px solid #f0f0f0}.developers-page .developers-table tbody tr{transition:background .2s}.developers-page .developers-table tbody tr:hover{background:#f8f9fa}.developers-page .developers-table tbody tr:last-child td{border-bottom:none}.developers-page .developers-table .actions-cell{display:flex;gap:.5rem}.developers-page .developers-table .action-button{padding:.5rem 1rem;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s}.developers-page .developers-table .edit-button{background:#3498db;color:#fff}.developers-page .developers-table .edit-button:hover{background:#2980b9}.developers-page .developers-table .delete-button{background:#e74c3c;color:#fff}.developers-page .developers-table .delete-button:hover{background:#c0392b}.developers-page .developers-table .description-preview{font-size:.9rem;color:#7f8c8d;margin-top:.25rem;line-height:1.4}.developers-page .developers-table .comments-preview{font-size:.9rem;color:#7f8c8d;font-style:italic;line-height:1.4;max-width:200px;display:inline-block;word-wrap:break-word}.developers-page .developers-table code{background:#f8f9fa;padding:.25rem .5rem;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem}.developers-page .developers-table .website-link{color:#667eea;text-decoration:none}.developers-page .developers-table .website-link:hover{text-decoration:underline}.developers-page .developers-table .email-link{color:#667eea;text-decoration:none}.developers-page .developers-table .email-link:hover{text-decoration:underline}.developers-page .developers-table .transparency-link{color:#667eea;text-decoration:none;display:inline-flex;align-items:center;gap:.25rem;transition:all .2s}.developers-page .developers-table .transparency-link:hover{color:#5568d3;text-decoration:underline;transform:translate(2px)}.developers-page .developers-table .transparency-icon{font-size:1.2rem;display:inline-block}.developers-page .developers-table .no-data{color:#bdc3c7;font-style:italic}.developers-page .pagination{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;padding:1rem;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d}.developers-page .pagination-info{color:#7f8c8d;font-size:.95rem}.developers-page .pagination-controls{display:flex;gap:.5rem;align-items:center}.developers-page .page-size-selector{display:flex;align-items:center;gap:.5rem;margin-right:1rem}.developers-page .page-size-selector label{font-size:.9rem;color:#7f8c8d;margin:0}.developers-page .page-size-select{padding:.5rem;border:1px solid #e0e0e0;border-radius:6px;background:#fff;font-size:.9rem;cursor:pointer;transition:border-color .2s}.developers-page .page-size-select:focus{outline:none;border-color:#667eea}.developers-page .pagination-button{padding:.5rem 1rem;border:1px solid #e0e0e0;background:#fff;border-radius:6px;cursor:pointer;transition:all .2s}.developers-page .pagination-button:hover:not(:disabled){background:#f8f9fa;border-color:#667eea}.developers-page .pagination-button:disabled{opacity:.5;cursor:not-allowed}.developers-page .pagination-button.active{background:#667eea;color:#fff;border-color:#667eea}.developers-page .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeIn .2s}.developers-page .modal-content{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003;animation:slideUp .3s}.developers-page .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e0e0e0}.developers-page .modal-header h2{margin:0;color:#2c3e50;font-size:1.5rem}.developers-page .modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#7f8c8d;transition:color .2s}.developers-page .modal-close:hover{color:#2c3e50}.developers-page .modal-body{padding:1.5rem}.developers-page .modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid #e0e0e0}.developers-page .form-group{margin-bottom:1.5rem}.developers-page .form-group label{display:block;margin-bottom:.5rem;color:#2c3e50;font-weight:600}.developers-page .form-group input,.developers-page .form-group textarea{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .3s;box-sizing:border-box}.developers-page .form-group input:focus,.developers-page .form-group textarea:focus{outline:none;border-color:#667eea}.developers-page .form-group textarea{min-height:100px;resize:vertical}.developers-page .form-group .helper-text{font-size:.85rem;color:#7f8c8d;margin-top:.25rem}.developers-page .form-group .error-message{font-size:.85rem;color:#e74c3c;margin-top:.25rem}.developers-page .form-group.has-error input,.developers-page .form-group.has-error textarea{border-color:#e74c3c}.developers-page .general-error{background:#fee;color:#c33;padding:1rem;border-radius:6px;margin-bottom:1rem}.developers-page .button{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;font-size:1rem}.developers-page .button-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.developers-page .button-primary:hover:not(:disabled){transform:translateY(-2px)}.developers-page .button-secondary{background:#e0e0e0;color:#2c3e50}.developers-page .button-secondary:hover{background:#d0d0d0}.developers-page .button-danger{background:#e74c3c;color:#fff}.developers-page .button-danger:hover:not(:disabled){background:#c0392b}.developers-page .button:disabled{opacity:.6;cursor:not-allowed}.developers-page .dialog-content{background:#fff;border-radius:12px;padding:2rem;max-width:500px;text-align:center;box-shadow:0 10px 40px #0003}.developers-page .dialog-icon{font-size:3rem;margin-bottom:1rem}.developers-page .dialog-title{color:#2c3e50;font-size:1.5rem;margin-bottom:1rem}.developers-page .dialog-message{color:#7f8c8d;line-height:1.6;margin-bottom:2rem}.developers-page .dialog-actions{display:flex;justify-content:center;gap:1rem}.developers-page .loading-state,.developers-page .error-state,.developers-page .empty-state{text-align:center;padding:3rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.developers-page .loading-state .spinner{display:inline-block;width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}.developers-page .error-state .error-icon{font-size:3rem;color:#e74c3c;margin-bottom:1rem}.developers-page .error-state .retry-button{margin-top:1rem}.developers-page .empty-state .empty-icon{font-size:3rem;color:#bdc3c7;margin-bottom:1rem}@media (max-width: 768px){.developers-page .toolbar{flex-direction:column;align-items:stretch}.developers-page .toolbar .search-input{max-width:none}.developers-page .developers-table{font-size:.9rem}.developers-page .developers-table th,.developers-page .developers-table td{padding:.75rem .5rem}.developers-page .modal-content{width:95%;max-width:none}.developers-page .modal-body,.developers-page .modal-header,.developers-page .modal-footer{padding:1rem}.developers-page .pagination{flex-direction:column;gap:1rem}.developers-page .pagination-controls{flex-wrap:wrap;justify-content:center}.developers-page .developers-table .actions-cell{flex-direction:column}}@media (max-width: 480px){.developers-page .developers-table th:nth-child(4),.developers-page .developers-table td:nth-child(4){display:none}.developers-page .developers-table th:nth-child(6),.developers-page .developers-table td:nth-child(6){display:none}.developers-page .developers-table th:nth-child(7),.developers-page .developers-table td:nth-child(7){display:none}.developers-page .developers-table th:nth-child(8),.developers-page .developers-table td:nth-child(8){display:none}.developers-page .form-group input,.developers-page .form-group textarea{font-size:16px}.developers-page .modal-content{margin:1rem;width:calc(100% - 2rem)}}.apps-page.page-container{max-width:1200px;margin:0 auto}.apps-page.page-container h1{color:#2c3e50;font-size:2rem;margin-bottom:.5rem}.apps-page.page-container>p{color:#7f8c8d;margin-bottom:2rem}.apps-page .toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1rem;flex-wrap:wrap}.apps-page .toolbar .search-input{flex:1;min-width:250px;max-width:400px;padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .3s}.apps-page .toolbar .search-input:focus{outline:none;border-color:#667eea}.apps-page .toolbar .developer-filter{display:flex;align-items:center;gap:.5rem}.apps-page .toolbar .developer-filter label{font-size:.9rem;color:#7f8c8d;white-space:nowrap}.apps-page .toolbar .developer-filter select{padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;background:#fff;cursor:pointer;transition:border-color .3s;min-width:200px}.apps-page .toolbar .developer-filter select:focus{outline:none;border-color:#667eea}.apps-page .toolbar .create-button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:transform .2s;white-space:nowrap}.apps-page .toolbar .create-button:hover{transform:translateY(-2px)}.apps-page .apps-table-container{overflow-x:auto;margin-bottom:2rem}.apps-page .apps-table{width:100%;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a;border-collapse:collapse}.apps-page .apps-table thead{background:#f8f9fa}.apps-page .apps-table th{padding:1rem;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #e0e0e0;white-space:nowrap}.apps-page .apps-table td{padding:1rem;border-bottom:1px solid #f0f0f0;vertical-align:top}.apps-page .apps-table tbody tr{transition:background .2s}.apps-page .apps-table tbody tr:hover{background:#f8f9fa}.apps-page .apps-table tbody tr:last-child td{border-bottom:none}.apps-page .apps-table .actions-cell{display:flex;gap:.5rem;justify-content:center}.apps-page .apps-table .action-button{padding:.5rem 1rem;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s}.apps-page .apps-table code{background:#f8f9fa;padding:.25rem .5rem;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem}.apps-page .apps-table .developer-name{color:#667eea;font-weight:500}.apps-page .apps-table .no-data{color:#bdc3c7;font-style:italic}.apps-page .apps-table .app-icon{width:40px;height:40px;border-radius:8px;object-fit:cover;display:block;border:1px solid #e0e0e0;box-shadow:0 1px 3px #0000001a}.apps-page .apps-table .icon-placeholder{font-size:2rem;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0}.apps-page .apps-table .appstore-link{text-decoration:none;cursor:pointer;display:inline-block;transition:transform .2s}.apps-page .apps-table .appstore-link:hover .appstore-icon{transform:scale(1.1)}.apps-page .apps-table .appstore-icon{font-size:1.5rem;display:inline-block;transition:transform .2s}.apps-page .apps-table .videos-button{background:#667eea;color:#fff;padding:.5rem 1rem;border-radius:6px;border:none;cursor:pointer;font-size:.9rem;transition:all .2s;white-space:nowrap}.apps-page .apps-table .videos-button:hover{background:#5568d3;transform:translateY(-1px)}.apps-page .pagination{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;padding:1rem;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d}.apps-page .pagination-info{color:#7f8c8d;font-size:.95rem}.apps-page .pagination-controls{display:flex;gap:.5rem;align-items:center}.apps-page .page-size-selector{display:flex;align-items:center;gap:.5rem;margin-right:1rem}.apps-page .page-size-selector label{font-size:.9rem;color:#7f8c8d;margin:0}.apps-page .page-size-select{padding:.5rem;border:1px solid #e0e0e0;border-radius:6px;background:#fff;font-size:.9rem;cursor:pointer;transition:border-color .2s}.apps-page .page-size-select:focus{outline:none;border-color:#667eea}.apps-page .pagination-button{padding:.5rem 1rem;border:1px solid #e0e0e0;background:#fff;border-radius:6px;cursor:pointer;transition:all .2s}.apps-page .pagination-button:hover:not(:disabled){background:#f8f9fa;border-color:#667eea}.apps-page .pagination-button:disabled{opacity:.5;cursor:not-allowed}.apps-page .pagination-button.active{background:#667eea;color:#fff;border-color:#667eea}.apps-page .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeIn .2s}.apps-page .modal-content{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003;animation:slideUp .3s}.apps-page .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e0e0e0}.apps-page .modal-header h2{margin:0;color:#2c3e50;font-size:1.5rem}.apps-page .modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#7f8c8d;transition:color .2s}.apps-page .modal-close:hover{color:#2c3e50}.apps-page .modal-body{padding:1.5rem}.apps-page .modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid #e0e0e0}.apps-page .form-group{margin-bottom:1.5rem}.apps-page .form-group label{display:block;margin-bottom:.5rem;color:#2c3e50;font-weight:600}.apps-page .form-group input,.apps-page .form-group textarea,.apps-page .form-group select{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .3s;background:#fff;cursor:pointer;box-sizing:border-box}.apps-page .form-group input:focus,.apps-page .form-group textarea:focus,.apps-page .form-group select:focus{outline:none;border-color:#667eea}.apps-page .form-group.has-error input,.apps-page .form-group.has-error textarea,.apps-page .form-group.has-error select{border-color:#e74c3c}.apps-page .form-group textarea{min-height:100px;resize:vertical}.apps-page .form-group .helper-text{font-size:.85rem;color:#7f8c8d;margin-top:.25rem}.apps-page .form-group .error-message{font-size:.85rem;color:#e74c3c;margin-top:.25rem}.apps-page .general-error{background:#fee;color:#c33;padding:1rem;border-radius:6px;margin-bottom:1rem}.apps-page .button{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;font-size:1rem}.apps-page .button-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.apps-page .button-primary:hover:not(:disabled){transform:translateY(-2px)}.apps-page .button-secondary{background:#e0e0e0;color:#2c3e50}.apps-page .button-secondary:hover{background:#d0d0d0}.apps-page .button-danger{background:#e74c3c;color:#fff}.apps-page .button-danger:hover:not(:disabled){background:#c0392b}.apps-page .button:disabled{opacity:.6;cursor:not-allowed}.apps-page .dialog-content{background:#fff;border-radius:12px;padding:2rem;max-width:500px;text-align:center;box-shadow:0 10px 40px #0003}.apps-page .dialog-icon{font-size:3rem;margin-bottom:1rem}.apps-page .dialog-title{color:#2c3e50;font-size:1.5rem;margin-bottom:1rem}.apps-page .dialog-message{color:#7f8c8d;line-height:1.6;margin-bottom:2rem}.apps-page .dialog-actions{display:flex;justify-content:center;gap:1rem}.apps-page .loading-state,.apps-page .error-state,.apps-page .empty-state{text-align:center;padding:3rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.apps-page .loading-state .spinner{display:inline-block;width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}.apps-page .error-state .error-icon{font-size:3rem;color:#e74c3c;margin-bottom:1rem}.apps-page .error-state .retry-button{margin-top:1rem}.apps-page .empty-state .empty-icon{font-size:3rem;color:#bdc3c7;margin-bottom:1rem}@media (max-width: 1024px){.apps-page .toolbar{flex-wrap:wrap}.apps-page .toolbar .search-input{min-width:200px}.apps-page .toolbar .developer-filter{flex-basis:100%;order:2}.apps-page .toolbar .create-button{order:3}}@media (max-width: 768px){.apps-page .toolbar{flex-direction:column;align-items:stretch}.apps-page .toolbar .search-input{max-width:none;min-width:auto}.apps-page .toolbar .developer-filter{flex-direction:column;align-items:stretch}.apps-page .toolbar .developer-filter select{min-width:auto}.apps-page .apps-table{font-size:.9rem}.apps-page .apps-table th,.apps-page .apps-table td{padding:.75rem .5rem}.apps-page .modal-content{width:95%;max-width:none}.apps-page .modal-body,.apps-page .modal-header,.apps-page .modal-footer{padding:1rem}.apps-page .pagination{flex-direction:column;gap:1rem}.apps-page .pagination-controls{flex-wrap:wrap;justify-content:center}.apps-page .apps-table .actions-cell{flex-direction:column}}@media (max-width: 480px){.apps-page .apps-table th:nth-child(1),.apps-page .apps-table td:nth-child(1){display:none}.apps-page .apps-table th:nth-child(5),.apps-page .apps-table td:nth-child(5){display:none}.apps-page .form-group input,.apps-page .form-group textarea,.apps-page .form-group select{font-size:16px}.apps-page .modal-content{margin:1rem;width:calc(100% - 2rem)}}.videos-page.page-container{max-width:1200px;margin:0 auto}.videos-page.page-container h1{color:#2c3e50;font-size:2rem;margin-bottom:.5rem}.videos-page.page-container>p{color:#7f8c8d;margin-bottom:2rem}.videos-page .toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1rem;flex-wrap:wrap}.videos-page .toolbar .search-input{flex:1;min-width:250px;max-width:350px;padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .3s}.videos-page .toolbar .search-input:focus{outline:none;border-color:#667eea}.videos-page .toolbar .app-filter{display:flex;align-items:center;gap:.5rem}.videos-page .toolbar .app-filter label{font-size:.9rem;color:#7f8c8d;white-space:nowrap}.videos-page .toolbar .app-filter select{padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;background:#fff;cursor:pointer;transition:border-color .3s;min-width:180px}.videos-page .toolbar .app-filter select:focus{outline:none;border-color:#667eea}.videos-page .toolbar .sort-controls{display:flex;align-items:center;gap:.5rem}.videos-page .toolbar .sort-controls label{font-size:.9rem;color:#7f8c8d;white-space:nowrap}.videos-page .toolbar .sort-buttons{display:flex;gap:.25rem}.videos-page .toolbar .sort-button{padding:.5rem .75rem;border:1px solid #e0e0e0;background:#fff;border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .2s;white-space:nowrap}.videos-page .toolbar .sort-button:hover{background:#f8f9fa;border-color:#667eea}.videos-page .toolbar .sort-button.active{background:#667eea;color:#fff;border-color:#667eea;font-weight:600}.videos-page .toolbar .sort-button .sort-arrow{margin-left:.25rem;font-size:.7rem}.videos-page .toolbar .create-button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:transform .2s;white-space:nowrap}.videos-page .toolbar .create-button:hover{transform:translateY(-2px)}.videos-page .videos-table-container{overflow-x:auto;margin-bottom:2rem}.videos-page .videos-table{width:100%;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a;border-collapse:collapse}.videos-page .videos-table thead{background:#f8f9fa}.videos-page .videos-table th{padding:1rem;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #e0e0e0;white-space:nowrap}.videos-page .videos-table td{padding:1rem;border-bottom:1px solid #f0f0f0;vertical-align:top}.videos-page .videos-table tbody tr{transition:background .2s}.videos-page .videos-table tbody tr:hover{background:#f8f9fa}.videos-page .videos-table tbody tr:last-child td{border-bottom:none}.videos-page .videos-table .actions-cell{display:flex;gap:.5rem}.videos-page .videos-table .action-button{padding:.5rem 1rem;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s}.videos-page .videos-table .edit-button{background:#3498db;color:#fff}.videos-page .videos-table .edit-button:hover{background:#2980b9}.videos-page .videos-table .delete-button{background:#e74c3c;color:#fff}.videos-page .videos-table .delete-button:hover{background:#c0392b}.videos-page .videos-table code{background:#f8f9fa;padding:.25rem .5rem;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85rem;color:#667eea}.videos-page .videos-table .app-name{color:#667eea;font-weight:500}.videos-page .videos-table .developer-name{font-size:.85rem;color:#7f8c8d;margin-top:.25rem}.videos-page .videos-table .no-data{color:#bdc3c7;font-style:italic}.videos-page .videos-table .video-thumbnail{width:120px;height:68px;object-fit:cover;border-radius:6px;box-shadow:0 2px 4px #0000001a}.videos-page .videos-table .thumbnail-placeholder{width:120px;height:68px;display:flex;align-items:center;justify-content:center;background:#f8f9fa;border-radius:6px;font-size:2rem;color:#bdc3c7}.videos-page .videos-table .stats-cell{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}.videos-page .videos-table .stat-item{display:flex;align-items:center;gap:.5rem;color:#555}.videos-page .videos-table .stat-icon{font-size:1rem}.videos-page .videos-table .stat-value{font-weight:600;color:#2c3e50}.videos-page .pagination{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;padding:1rem 0;flex-wrap:wrap;gap:1rem}.videos-page .pagination-info{color:#7f8c8d;font-size:.9rem}.videos-page .pagination-controls{display:flex;gap:.5rem;align-items:center}.videos-page .page-size-selector{display:flex;align-items:center;gap:.5rem}.videos-page .page-size-selector label{font-size:.9rem;color:#7f8c8d}.videos-page .page-size-select{padding:.5rem;border:1px solid #e0e0e0;border-radius:4px;background:#fff;cursor:pointer}.videos-page .pagination-button{padding:.5rem 1rem;border:1px solid #e0e0e0;background:#fff;border-radius:6px;cursor:pointer;transition:all .2s;font-size:.9rem}.videos-page .pagination-button:hover:not(:disabled){background:#f8f9fa;border-color:#667eea}.videos-page .pagination-button:disabled{opacity:.5;cursor:not-allowed}.videos-page .pagination-button.active{background:#667eea;color:#fff;border-color:#667eea;font-weight:600}.videos-page .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.videos-page .modal-content{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 30px #0000004d;animation:slideUp .3s ease-out}.videos-page .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e0e0e0}.videos-page .modal-header h2{margin:0;color:#2c3e50;font-size:1.5rem}.videos-page .modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#7f8c8d;padding:.5rem;line-height:1}.videos-page .modal-close:hover{color:#2c3e50}.videos-page .modal-body{padding:1.5rem}.videos-page .modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid #e0e0e0}.videos-page .form-group{margin-bottom:1.5rem}.videos-page .form-row{display:flex;gap:1rem}.videos-page .form-row .form-group{flex:1}.videos-page .form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#2c3e50}.videos-page .form-group input,.videos-page .form-group textarea,.videos-page .form-group select,.videos-page .form-group input[type=number],.videos-page .form-group input[type=datetime-local]{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .3s}.videos-page .form-group select{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .3s;background:#fff;cursor:pointer}.videos-page .form-group input:focus,.videos-page .form-group textarea:focus,.videos-page .form-group select:focus{outline:none;border-color:#667eea}.videos-page .form-group input[type=number]:focus,.videos-page .form-group input[type=datetime-local]:focus,.videos-page .form-group select:focus{outline:none;border-color:#667eea}.videos-page .form-group.has-error input,.videos-page .form-group.has-error textarea,.videos-page .form-group.has-error select,.videos-page .form-group.has-error input[type=number],.videos-page .form-group.has-error input[type=datetime-local]{border-color:#e74c3c}.videos-page .helper-text{font-size:.85rem;color:#7f8c8d;margin-top:.25rem}.videos-page .error-message{color:#e74c3c;font-size:.85rem;margin-top:.25rem}.videos-page .general-error{background:#fdf2f2;color:#e74c3c;padding:1rem;border-radius:8px;margin-bottom:1rem;border:1px solid #fecaca}.videos-page .button{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block;text-align:center}.videos-page .button:disabled{opacity:.6;cursor:not-allowed}.videos-page .button-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.videos-page .button-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.videos-page .button-secondary{background:#f8f9fa;color:#2c3e50;border:1px solid #e0e0e0}.videos-page .button-secondary:hover:not(:disabled){background:#e9ecef}.videos-page .button-danger{background:#e74c3c;color:#fff}.videos-page .button-danger:hover:not(:disabled){background:#c0392b}.videos-page .dialog-content{background:#fff;border-radius:12px;padding:2rem;text-align:center;max-width:400px;width:100%;box-shadow:0 10px 30px #0000004d;animation:slideUp .3s ease-out}.videos-page .dialog-icon{font-size:3rem;margin-bottom:1rem}.videos-page .dialog-title{color:#2c3e50;margin-bottom:1rem;font-size:1.5rem}.videos-page .dialog-message{color:#7f8c8d;margin-bottom:2rem;line-height:1.5}.videos-page .dialog-actions{display:flex;gap:1rem;justify-content:center}.videos-page .loading-state,.videos-page .error-state,.videos-page .empty-state{text-align:center;padding:3rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.videos-page .spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.videos-page .error-icon,.videos-page .empty-icon{font-size:3rem;margin-bottom:1rem}.videos-page .retry-button{margin-top:1rem}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1024px){.videos-page .toolbar{flex-wrap:wrap}.videos-page .toolbar .search-input{min-width:200px}.videos-page .toolbar .app-filter{flex-basis:100%;order:2}.videos-page .toolbar .sort-controls{flex-basis:100%;order:3}.videos-page .toolbar .create-button{order:4}.videos-page .videos-table .video-thumbnail{width:80px;height:45px}}@media (max-width: 768px){.videos-page .toolbar{flex-direction:column;align-items:stretch}.videos-page .toolbar .search-input{max-width:none;min-width:auto}.videos-page .toolbar .app-filter{flex-direction:column;align-items:stretch}.videos-page .toolbar .app-filter select{min-width:auto}.videos-page .toolbar .sort-controls{flex-direction:column;align-items:stretch}.videos-page .toolbar .sort-buttons{flex-wrap:wrap;justify-content:center}.videos-page .videos-table{font-size:.85rem}.videos-page .videos-table th,.videos-page .videos-table td{padding:.75rem .5rem}.videos-page .videos-table .video-thumbnail{width:60px;height:34px}.videos-page .modal-content{width:95%;max-width:none}.videos-page .modal-body,.videos-page .modal-header,.videos-page .modal-footer{padding:1rem}.videos-page .pagination{flex-direction:column;gap:1rem}.videos-page .pagination-controls{flex-wrap:wrap;justify-content:center}.videos-page .videos-table .actions-cell{flex-direction:column}}@media (max-width: 480px){.videos-page .videos-table th:nth-child(1),.videos-page .videos-table td:nth-child(1){display:none}.videos-page .videos-table th:nth-child(4),.videos-page .videos-table td:nth-child(4){display:none}.videos-page .videos-table th:nth-child(6),.videos-page .videos-table td:nth-child(6){display:none}.videos-page .form-group input,.videos-page .form-group textarea,.videos-page .form-group select{font-size:16px}.videos-page .modal-content{margin:1rem;width:calc(100% - 2rem)}.videos-page .toolbar .sort-button{padding:.4rem .6rem;font-size:.8rem}}.task-logs-page.page-container{max-width:1200px;margin:0 auto}.task-logs-page.page-container h1{color:#2c3e50;font-size:2rem;margin-bottom:.5rem}.task-logs-page.page-container>p{color:#7f8c8d;margin-bottom:2rem}.task-logs-page .toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1rem;flex-wrap:wrap}.task-logs-page .toolbar .search-input{flex:1;min-width:250px;max-width:400px;padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .3s}.task-logs-page .toolbar .search-input:focus{outline:none;border-color:#667eea}.task-logs-page .toolbar .filter-group{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.task-logs-page .toolbar .filter-label{font-size:.9rem;color:#7f8c8d;white-space:nowrap}.task-logs-page .toolbar select,.task-logs-page .toolbar .date-input{padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;background:#fff;cursor:pointer;transition:border-color .3s}.task-logs-page .toolbar select:focus,.task-logs-page .toolbar .date-input:focus{outline:none;border-color:#667eea}.task-logs-page .toolbar .clear-filters-button{padding:.75rem 1.25rem;background:#e0e0e0;color:#2c3e50;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s,transform .2s;white-space:nowrap}.task-logs-page .toolbar .clear-filters-button:hover{background:#d0d0d0;transform:translateY(-1px)}.task-logs-page .filter-row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.task-logs-page .date-range-group{display:flex;gap:.5rem}.task-logs-page .logs-table-container{overflow-x:auto;margin-bottom:2rem}.task-logs-page .logs-table{width:100%;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a;border-collapse:collapse}.task-logs-page .logs-table thead{background:#f8f9fa}.task-logs-page .logs-table th{padding:1rem;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #e0e0e0;white-space:nowrap}.task-logs-page .logs-table td{padding:1rem;border-bottom:1px solid #f0f0f0;vertical-align:top}.task-logs-page .logs-table tbody tr{transition:background .2s}.task-logs-page .logs-table tbody tr:hover{background:#f8f9fa}.task-logs-page .logs-table code{background:#f8f9fa;padding:.25rem .5rem;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem}.task-logs-page .logs-table .no-data{color:#bdc3c7;font-style:italic}.task-logs-page .status-badge{display:inline-block;padding:.25rem .5rem;border-radius:6px;font-weight:600;text-transform:uppercase;font-size:.75rem}.task-logs-page .status-badge.started{background:#e3f2fd;color:#1976d2}.task-logs-page .status-badge.success{background:#e8f5e9;color:#388e3c}.task-logs-page .status-badge.failure{background:#ffebee;color:#d32f2f}.task-logs-page .status-badge.retry{background:#fff3e0;color:#f57c00}.task-logs-page .duration-cell{white-space:nowrap}.task-logs-page .error-preview{max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d32f2f}.task-logs-page .pagination{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;padding:1rem;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d}.task-logs-page .pagination-info{color:#7f8c8d;font-size:.95rem}.task-logs-page .pagination-controls{display:flex;gap:.5rem;align-items:center}.task-logs-page .page-size-selector{display:flex;align-items:center;gap:.5rem;margin-right:1rem}.task-logs-page .page-size-selector label{font-size:.9rem;color:#7f8c8d;margin:0}.task-logs-page .page-size-select{padding:.5rem;border:1px solid #e0e0e0;border-radius:6px;background:#fff;font-size:.9rem;cursor:pointer;transition:border-color .2s}.task-logs-page .page-size-select:focus{outline:none;border-color:#667eea}.task-logs-page .pagination-button{padding:.5rem 1rem;border:1px solid #e0e0e0;background:#fff;border-radius:6px;cursor:pointer;transition:all .2s}.task-logs-page .pagination-button:hover:not(:disabled){background:#f8f9fa;border-color:#667eea}.task-logs-page .pagination-button:disabled{opacity:.5;cursor:not-allowed}.task-logs-page .pagination-button.active{background:#667eea;color:#fff;border-color:#667eea}.task-logs-page .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeIn .2s}.task-logs-page .modal-content{background:#fff;border-radius:12px;width:90%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003;animation:slideUp .3s}.task-logs-page .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e0e0e0}.task-logs-page .modal-header h2{margin:0;color:#2c3e50;font-size:1.5rem}.task-logs-page .modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#7f8c8d;transition:color .2s}.task-logs-page .modal-close:hover{color:#2c3e50}.task-logs-page .modal-body{padding:1.5rem}.task-logs-page .modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid #e0e0e0}.task-logs-page .detail-section{margin-bottom:1.5rem}.task-logs-page .detail-section h3{margin:0 0 .75rem;color:#2c3e50}.task-logs-page .detail-label{color:#7f8c8d;font-weight:600}.task-logs-page .detail-value{color:#2c3e50}.task-logs-page .code-block,.task-logs-page .stack-trace{white-space:pre-wrap;word-break:break-word;font-family:Monaco,Menlo,Ubuntu Mono,monospace;background:#f8f9fa;padding:1rem;border-radius:8px;border:1px solid #e0e0e0;max-height:300px;overflow:auto}.task-logs-page .metadata-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem 1rem}.task-logs-page .json-viewer{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:1rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.task-logs-page .loading-state,.task-logs-page .error-state,.task-logs-page .empty-state{text-align:center;padding:3rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.task-logs-page .loading-state .spinner{display:inline-block;width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}.task-logs-page .error-state .error-icon{font-size:3rem;color:#e74c3c;margin-bottom:1rem}.task-logs-page .error-state .retry-button{margin-top:1rem}.task-logs-page .empty-state .empty-icon{font-size:3rem;color:#bdc3c7;margin-bottom:1rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 1024px){.task-logs-page .toolbar{flex-wrap:wrap}.task-logs-page .toolbar .search-input{min-width:200px}}@media (max-width: 768px){.task-logs-page .toolbar{flex-direction:column;align-items:stretch}.task-logs-page .toolbar .search-input{max-width:none;min-width:auto}.task-logs-page .logs-table{font-size:.9rem}.task-logs-page .logs-table th,.task-logs-page .logs-table td{padding:.75rem .5rem}.task-logs-page .modal-content{width:95%;max-width:none}.task-logs-page .modal-body,.task-logs-page .modal-header,.task-logs-page .modal-footer{padding:1rem}.task-logs-page .pagination{flex-direction:column;gap:1rem}}@media (max-width: 480px){.task-logs-page .logs-table th:nth-child(4),.task-logs-page .logs-table td:nth-child(4){display:none}.task-logs-page .logs-table th:nth-child(5),.task-logs-page .logs-table td:nth-child(5){display:none}.task-logs-page .modal-content{margin:1rem;width:calc(100% - 2rem)}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,-apple-system,sans-serif;color:#333}.loading-container{display:flex;justify-content:center;align-items:center;min-height:100vh;font-size:1.2rem;color:#7f8c8d}.page-container{max-width:1200px;margin:0 auto}a{text-decoration:none;color:inherit}button,input{font-family:inherit}.text-center{text-align:center}.mt-1{margin-top:1rem}.mt-2{margin-top:2rem}.mt-3{margin-top:3rem}.mb-1{margin-bottom:1rem}.mb-2{margin-bottom:2rem}.mb-3{margin-bottom:3rem}
