body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary-color:#3457d5;--secondary-color:#4a6de5;--accent-color:#ff6b6b;--text-color:#333;--light-bg:#f5f7fa;--border-color:#ddd;--success-color:#4caf50;--warning-color:#ffc107;--danger-color:#f44336;--primary-color-light:#3457d51a;--primary-color-medium:#3457d54d;--primary-color-dark:#3457d5cc;--success-color-light:#4caf501a;--warning-color-light:#ffc1071a;--danger-color-light:#f443361a}[data-theme=development-purple] .environment-badge,[data-theme=production-green] .environment-badge,[data-theme=staging-orange] .environment-badge,[data-theme=testing-red] .environment-badge{display:inline-block}[data-theme=commanders-red]{--text-on-primary:#fff;--border-on-primary:#fff3}[data-theme=commanders-red] .app-header{border-bottom:1px solid #ffb6124d;color:#fff}[data-theme=commanders-red] .environment-badge{background-color:#ff6b6b;background-color:var(--accent-color);border-color:#ffb61280;color:#141414;font-weight:700}[data-theme=commanders-red] .logout-btn{border-color:#ffb612b3;color:#ffb612}[data-theme=commanders-red] .logout-btn:hover{background-color:#ffb61233;border-color:#ffb612}[data-theme=commanders-red] .sidebar a:hover,[data-theme=commanders-red] .sidebar li.active a{background-color:#ffb6121a;border-left-color:#ffb612}[data-theme=commanders-red] .login-form h2,[data-theme=commanders-red] .stat-value{color:#ff6b6b;color:var(--accent-color)}[data-theme=commanders-red] .mini-progress-fill,[data-theme=commanders-red] .progress-fill{background-color:#ff6b6b;background-color:var(--accent-color)}[data-theme=commanders-red] .action-button,[data-theme=commanders-red] .add-button,[data-theme=commanders-red] .save-button{background-color:#3457d5;background-color:var(--primary-color);border:1px solid #ff6b6b;border:1px solid var(--accent-color)}[data-theme=commanders-red] .action-button:hover,[data-theme=commanders-red] .add-button:hover,[data-theme=commanders-red] .save-button:hover{background-color:#4a6de5;background-color:var(--secondary-color);border-color:#ff6b6b;border-color:var(--accent-color);box-shadow:0 0 8px #ffb6124d}[data-theme=commanders-red] .action-link,[data-theme=commanders-red] .status-yes{color:#ffb612}[data-theme=commanders-red] .action-link:hover{color:gold;text-shadow:0 0 3px #ffb61280}[data-theme=commanders-red] .form-group input:focus,[data-theme=commanders-red] .form-group select:focus{border-color:#ffb612;box-shadow:0 0 0 2px #ffb61233}[data-theme=commanders-red] .env-development,[data-theme=commanders-red] .env-staging{background-color:#ffb612e6;border-color:#ffd700b3;color:#141414}[data-theme=commanders-red] .env-testing{background-color:#8b0000e6;border-color:#ffb61280;color:#fff}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f5f7fa;background-color:var(--light-bg);color:#333;color:var(--text-color);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6}.app-container{display:flex;flex-direction:column;min-height:100vh}.app-header{background-color:#3457d5;background-color:var(--primary-color);box-shadow:0 2px 4px #0000001a;color:#fff;justify-content:space-between;padding:.5rem 2rem}.app-header,.logo{align-items:center;display:flex}.logo{gap:.75rem}.logo h1{font-size:1.5rem;font-weight:600;margin:0}.environment-badge{background-color:#fff3;border:1px solid #ffffff4d;border-radius:12px;display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.5px;padding:.25rem .5rem;text-transform:uppercase}.env-development{background-color:#7b1fa2e6;border-color:#9c27b080}.env-staging{background-color:#e65100e6;border-color:#ff980080}.env-testing{background-color:#c62828e6;border-color:#e5393580}.env-production{display:none}.user-info{align-items:center;display:flex;gap:1rem}.logout-btn{background-color:initial;border:1px solid #fff;border-radius:4px;color:#fff;cursor:pointer;padding:.25rem .75rem;transition:all .2s}.logout-btn:hover{background-color:#fff3}.app-content{display:flex;flex:1 1}.sidebar{background-color:#fff;box-shadow:0 0 10px #0000000d;padding:1.5rem 0;width:240px}.sidebar ul{list-style:none}.sidebar li{margin-bottom:.5rem}.sidebar a{color:#333;color:var(--text-color);display:block;font-weight:500;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s}.sidebar a:hover,.sidebar li.active a{background-color:#f5f7fa;background-color:var(--light-bg);border-left:3px solid #3457d5;border-left:3px solid var(--primary-color);color:#3457d5;color:var(--primary-color)}.main-content{flex:1 1;overflow-y:auto;padding:2rem}.login-container{align-items:center;background-color:#f5f7fa;background-color:var(--light-bg);display:flex;justify-content:center;min-height:100vh}.login-form{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;max-width:400px;padding:2rem;width:100%}.login-form h2{color:#3457d5;color:var(--primary-color);text-align:center}.form-group,.login-form h2{margin-bottom:1.5rem}.form-group label{display:block;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group select{background-color:#fff;border:1px solid #ddd;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;padding:.75rem;width:100%}.form-group select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .7rem center;background-repeat:no-repeat;background-size:1rem;cursor:pointer;padding-right:2.5rem}.form-group select:focus{border-color:#3457d5;border-color:var(--primary-color);box-shadow:0 0 0 2px #3457d51a;outline:none}.login-btn{background-color:#3457d5;background-color:var(--primary-color);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem;transition:all .2s;width:100%}.login-btn:hover{background-color:#4a6de5;background-color:var(--secondary-color)}.error-message{background-color:#f443361a;border-left:4px solid #f44336;border-left:4px solid var(--danger-color);color:#f44336;color:var(--danger-color)}.error-message,.success-message{border-radius:4px;font-weight:500;margin-bottom:1.5rem;padding:.75rem}.success-message{background-color:#4caf501a;border-left:4px solid #4caf50;border-left:4px solid var(--success-color);color:#4caf50;color:var(--success-color)}.dashboard{display:flex;flex-direction:column;gap:2rem}.stats-container{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.stat-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;padding:1.5rem}.stat-card h3{color:#333;color:var(--text-color);font-size:1.1rem;margin-bottom:.5rem}.stat-value{font-size:2.5rem;font-weight:600;margin-bottom:.5rem}.stat-link,.stat-value{color:#3457d5;color:var(--primary-color)}.stat-link{font-weight:500;margin-top:auto;text-align:right;text-decoration:none}.progress-section{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;padding:1.5rem}.progress-section h2{font-size:1.25rem;margin-bottom:1.5rem}.progress-label{display:flex;font-weight:500;justify-content:space-between;margin-bottom:.5rem}.progress-bar{background-color:#f5f7fa;background-color:var(--light-bg);border-radius:5px;height:10px;overflow:hidden;position:relative}.progress-fill{background-color:#3457d5;background-color:var(--primary-color);border-radius:5px;height:100%;transition:width .5s ease}.progress-bar span{font-size:.8rem;font-weight:500;position:absolute;right:8px;top:-20px}.action-buttons{display:flex;gap:1rem}.action-button{background-color:#3457d5;background-color:var(--primary-color);border:none;border-radius:4px;color:#fff;display:inline-block;font-weight:500;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s}.action-button:hover{background-color:#4a6de5;background-color:var(--secondary-color)}.data-table{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;margin-top:1.5rem;overflow:hidden}table{border-collapse:collapse;width:100%}td,th{border-bottom:1px solid #ddd;border-bottom:1px solid var(--border-color);padding:.75rem 1rem;text-align:left}th{background-color:#f5f7fa;background-color:var(--light-bg);font-weight:600}tr:last-child td{border-bottom:none}.status-yes{color:#4caf50;color:var(--success-color);font-weight:500}.status-no{color:#ffc107;color:var(--warning-color);font-weight:500}.action-link{color:#3457d5;color:var(--primary-color);font-weight:500;text-decoration:none}.action-link:hover{text-decoration:underline}.no-data{color:#777;padding:2rem;text-align:center}.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.add-button{background-color:#3457d5;background-color:var(--primary-color);border:none;border-radius:4px;color:#fff;display:inline-block;font-weight:500;padding:.5rem 1rem;text-decoration:none;transition:all .2s}.add-button:hover{background-color:#4a6de5;background-color:var(--secondary-color)}.filters{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding:1rem}.filter-item{display:flex;flex-direction:column;min-width:200px}.filter-item label{font-weight:500;margin-bottom:.5rem}.filter-item select{border:1px solid #ddd;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;padding:.5rem}.filters-container{margin-bottom:20px;transition:max-height .3s ease,opacity .3s ease;width:100%}@media (max-width:767px){.filters-container{max-height:0;opacity:0;overflow:hidden}.filters-container.filters-visible{max-height:400px;opacity:1}.mobile-only{display:block}}@media (min-width:768px){.filters-container{display:block!important;max-height:none;opacity:1}.mobile-only{display:none}.filters{align-items:center;display:flex;flex-wrap:wrap}.filter-item{margin-right:15px}.filter-toggle{align-items:center;display:inline-flex}}.antenna-point-detail,.distribution-detail,.remote-detail{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;padding:1.5rem}.header-actions{gap:1rem}.delete-button{background-color:#f44336;background-color:var(--danger-color);border:none;border-radius:4px;color:#fff;cursor:pointer;padding:.5rem 1rem;transition:all .2s}.delete-button:hover{background-color:#d32f2f}.form-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:1.5rem}.notes-group{grid-column:1/-1}.form-group textarea{border:1px solid #ddd;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;padding:.75rem;resize:vertical;width:100%}.status-checkboxes{background-color:#f5f7fa;background-color:var(--light-bg);border-radius:4px;display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1.5rem;padding:1rem}.checkbox-group{align-items:center;display:flex;gap:.5rem}.form-actions{display:flex;gap:1rem;margin-top:1.5rem}.save-button{background-color:#3457d5;background-color:var(--primary-color);border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.save-button:hover{background-color:#4a6de5;background-color:var(--secondary-color)}.cancel-link{background-color:#f5f5f5;border:1px solid #ddd;border:1px solid var(--border-color);border-radius:4px;color:#333;color:var(--text-color);font-weight:500;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s}.cancel-link:hover{background-color:#eee}.related-data{border-top:1px solid #ddd;border-top:1px solid var(--border-color);margin-top:2.5rem;padding-top:1.5rem}.related-data h2{margin-bottom:1rem}.color-dot{border-radius:50%;display:inline-block;height:16px;margin-right:.5rem;width:16px}.small-button{background-color:#3457d5;background-color:var(--primary-color);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;padding:.25rem .5rem;transition:all .2s}.small-button:hover{background-color:#4a6de5;background-color:var(--secondary-color)}.report-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.report-tabs button{background-color:#f5f5f5;border:1px solid #ddd;border:1px solid var(--border-color);border-radius:4px 4px 0 0;color:#333;color:var(--text-color);cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.report-tabs button.active{background-color:#fff;border-bottom-color:#fff;color:#3457d5;color:var(--primary-color)}.report-content{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;padding:1.5rem}.export-buttons{display:flex;gap:.5rem}.export-buttons button{background-color:#3457d5;background-color:var(--primary-color);border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:all .2s}.export-buttons button:hover{background-color:#4a6de5;background-color:var(--secondary-color)}.loading{align-items:center;color:#777;display:flex;font-weight:500;justify-content:center;padding:2rem}.image-gallery-section{border-top:1px solid #e0e0e0;margin-top:40px;padding-top:20px}.image-gallery-section h2{color:#333;margin-bottom:20px}.image-gallery{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-top:15px}.image-thumbnail{background-color:#fff;border-radius:6px;box-shadow:0 2px 5px #0000001a;cursor:pointer;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.image-thumbnail:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-3px)}.image-thumbnail img{display:block;height:140px;object-fit:cover;width:100%}.image-name{background-color:#fff;border-top:1px solid #f0f0f0;font-size:.9rem;overflow:hidden;padding:8px 10px;text-overflow:ellipsis;white-space:nowrap}.no-images{background-color:#f9f9f9;border-radius:6px;color:#666;grid-column:1/-1;padding:20px;text-align:center}.image-modal{align-items:center;background-color:#000000bf;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.image-modal .modal-content{background-color:#fff;border-radius:8px;max-height:90vh;max-width:800px;overflow-y:auto;padding:20px;position:relative;width:90%}.image-modal .close-button{color:#666;cursor:pointer;font-size:24px;position:absolute;right:15px;top:10px}.image-modal .close-button:hover{color:#000}.image-modal h3{padding-right:30px}.image-modal .image-container,.image-modal h3{margin-bottom:15px}.image-modal .image-container img{border-radius:4px;display:block;margin:0 auto;max-height:500px;max-width:100%;object-fit:contain}.image-modal .image-details{grid-gap:10px;background-color:#f7f7f7;border-radius:6px;display:grid;gap:10px;grid-template-columns:1fr 1fr;padding:15px}.image-modal .image-details p{margin:0}.section-divider{border-top:1px solid #ddd;border-top:1px solid var(--border-color);margin-top:2rem;padding-top:1rem}.search-container{margin-bottom:1rem;width:100%}.search-input{background-color:#fff;border:1px solid #ddd;border:1px solid var(--border-color);border-radius:4px;box-shadow:0 1px 3px #0000001a;font-size:1rem;padding:.75rem;transition:border-color .3s,box-shadow .3s;width:100%}.search-input:focus{border-color:#3457d5;border-color:var(--primary-color);box-shadow:0 0 0 2px #3457d51a;outline:none}.search-input::placeholder{color:#aaa}.results-counter{color:#666;font-size:.9rem;margin-bottom:1rem}.highlight{background-color:#fffb004d;border-radius:2px;padding:0 2px}.read-only-indicator{align-items:center;background-color:#f443361a;border-radius:4px;color:#f44336;display:inline-flex;font-size:.8rem;font-weight:500;margin-left:10px;padding:4px 8px}.read-only-icon{font-size:1rem;margin-right:5px}.read-only-warning{background-color:#f443361a;border-left:3px solid #f44336;border-radius:4px;color:#f44336;font-size:.9rem;margin:10px 0 20px;padding:10px 15px}.checkbox-wrapper{align-items:center;display:flex;margin-top:5px}.checkbox-wrapper input[type=checkbox]{margin-right:10px;width:auto}.checkbox-label{color:#666;font-size:.9rem}.input-error{background-color:#f443360d;border-color:#f44336!important}.field-error{color:#f44336;font-size:.85rem;margin-top:5px}.delete-button:disabled,.edit-button:disabled,.save-button:disabled{background-color:#ccc;cursor:not-allowed}.login-history-page .data-table{overflow-x:auto}.login-history-page .user-agent{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.login-history-page .filter-item input[type=date]{border:1px solid #ddd;border:1px solid var(--border-color);border-radius:4px;padding:.5rem}select option:disabled{background-color:#f5f5f5;color:#999;font-style:italic}.sso-divider{align-items:center;display:flex;margin:20px 0;text-align:center}.sso-divider:after,.sso-divider:before{border-bottom:1px solid #ddd;border-bottom:1px solid var(--border-color);content:"";flex:1 1}.sso-divider span{color:#666;font-size:14px;padding:0 10px}.google-login-container{display:flex;justify-content:center;margin-bottom:10px;width:100%}.progress-item{margin-bottom:1.5rem}.mini-progress-bar{background-color:#f5f7fa}.mini-progress-fill{background-color:#3457d5}.mini-progress-fill.status-high{background-color:#4caf50}.mini-progress-fill.status-medium{background-color:#ffc107}.mini-progress-fill.status-low{background-color:#f44336}.status-high{color:#4caf50}.status-medium{color:#ffc107}.status-low{color:#f44336}.mobile-navigation-container{display:none}.fab-button{background-color:#3457d5;text-decoration:none}.fab-button:hover{background-color:#4a6de5}.quick-action-button{color:#3457d5}.clear-filters,.filter-toggle,.quick-action-button{border:1px solid #ddd}.clear-filters{color:#333}.apply-filters{background-color:#3457d5}.mobile-view-toggle{border-radius:8px;box-shadow:0 1px 3px #0000001a;display:none;margin-bottom:1rem;overflow:hidden}.toggle-button.active{background-color:#3457d5}.level-progress-container{display:flex;flex-direction:column;gap:1rem}.level-progress-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;padding:1rem}.level-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.level-header h4{margin:0}.point-count{color:#666;font-weight:500}.field-note{border-left:2px solid #ffc107;color:#ffc107}@media (max-width:768px){.app-content{flex-direction:column}.sidebar{padding:1rem 0;width:100%}.sidebar ul{display:flex;overflow-x:auto;padding:0 1rem}.sidebar li{margin-bottom:0;margin-right:.5rem}.sidebar a{padding:.5rem 1rem;white-space:nowrap}.sidebar a:hover,.sidebar li.active a{border-bottom:3px solid #3457d5;border-bottom:3px solid var(--primary-color);border-left:none}.mobile-menu-button{display:block}.user-info{display:none}.sidebar{background-color:#fff;height:100vh;left:-240px;padding-top:60px;position:fixed;top:0;transition:left .3s ease;width:240px;z-index:100}.sidebar.mobile-open{display:block;left:0}.mobile-menu-overlay{background-color:#00000080;bottom:0;display:block;left:0;position:fixed;right:0;top:0;z-index:99}.filter-actions,.filter-toggle,.mobile-fab,.mobile-quick-actions,.mobile-view-toggle{display:flex}.mobile-hidden{display:none}.progress-section.active,.stats-section.active{display:block}.progress-section:not(.active),.stats-section:not(.active){display:none}.mobile-progress-overview{display:flex;flex-direction:column}.desktop-table-view{display:none}.mobile-card-view{display:block}.section-divider{margin-top:1.5rem;padding-top:.75rem}.stat-card{padding:1.25rem}.level-progress-card{margin-bottom:1rem;padding:1.25rem}.level-header{margin-bottom:1rem}.search-container{margin-bottom:.75rem}.search-input{font-size:.95rem;padding:.6rem}.results-counter{margin-bottom:.75rem}.image-gallery{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.image-modal .modal-content{padding:15px;width:95%}.image-modal .image-details{grid-template-columns:1fr}.read-only-indicator{display:none}.page-header h1 .read-only-indicator{display:inline-flex;margin-left:0;margin-top:5px}.loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:3rem 1rem}.loading:after{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#3457d5;border-top:4px solid var(--primary-color);content:"";height:40px;margin-top:1rem;width:40px}.app-container{padding-bottom:70px}}@media (max-width:640px){.data-table table,.data-table tbody,.data-table td,.data-table th,.data-table thead,.data-table tr{display:block}.data-table thead tr{left:-9999px;position:absolute;top:-9999px}.data-table tr{background-color:#fff;border:1px solid #ddd;border:1px solid var(--border-color);border-radius:8px;margin-bottom:1rem;padding:.75rem;position:relative}.data-table td{border:none;padding-bottom:.75rem;padding-left:50%;padding-top:.75rem;position:relative;text-align:right}.data-table td:before{font-weight:600;left:.75rem;position:absolute;text-align:left;white-space:nowrap;width:45%}.data-table td:first-of-type:before{content:"ID"}.data-table td:nth-of-type(2):before{content:"Name"}.data-table td:nth-of-type(3):before{content:"Location"}.data-table td:nth-of-type(4):before{content:"Level"}.data-table td:nth-of-type(5):before{content:"Remote ID"}.data-table td:nth-of-type(6):before{content:"Area Served"}.data-table td:nth-of-type(7):before{content:"Cable Length"}.data-table td:nth-of-type(8):before{content:"Installed"}.data-table td:nth-of-type(9):before{content:"Testing Complete"}.data-table td:nth-of-type(10):before{content:"Actions"}.data-table td:last-child{border-top:1px solid #ddd;border-top:1px solid var(--border-color);margin-top:.5rem;padding-left:0;padding-top:1rem;text-align:center}.data-table td:last-child:before{display:none}.data-table .action-link{background-color:#3457d5;background-color:var(--primary-color);border-radius:4px;color:#fff;display:block;padding:.75rem;text-align:center;width:100%}.data-table .action-link:hover{background-color:#4a6de5;background-color:var(--secondary-color);text-decoration:none}}.development-footer{background-color:#2c3e50;border-top:2px solid #e74c3c;bottom:0;box-shadow:0 -2px 10px #0000004d;color:#ecf0f1;font-size:.8rem;left:0;max-height:200px;overflow-y:auto;padding:10px 15px;position:fixed;right:0;z-index:1000}.development-footer .debug-info h4{align-items:center;color:#f39c12;display:flex;font-size:.9rem;gap:5px;margin:0 0 10px}.development-footer .debug-grid{grid-gap:8px;display:grid;font-size:.75rem;gap:8px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.development-footer .debug-item{background-color:#34495eb3;border-left:3px solid #3498db;border-radius:3px;display:flex;justify-content:space-between;padding:2px 5px}.development-footer .debug-item.error{background-color:#e74c3c33;border-left-color:#e74c3c}.development-footer .debug-item strong{color:#bdc3c7;flex-shrink:0;margin-right:5px}.development-footer .status-connected{color:#2ecc71;font-weight:700}.development-footer .status-disconnected{color:#e74c3c;font-weight:700}@media (min-width:768px){body.development .app-container{padding-bottom:120px}}@media (max-width:767px){body.development .app-container{padding-bottom:150px}.development-footer{font-size:.7rem;max-height:150px;position:fixed}.development-footer .debug-grid{gap:5px;grid-template-columns:1fr}.development-footer .debug-item{flex-direction:column;padding:3px 5px}.development-footer .debug-item strong{margin-bottom:2px}}.mobile-menu-overlay~.development-footer{z-index:50}.deleted-record{background-color:#f443360d!important;border-left:3px solid #f44336!important;border-left:3px solid var(--danger-color)!important;opacity:.6}.deleted-record .card-details,.deleted-record td{color:#999!important;text-decoration:line-through}.deleted-record .card-actions,.deleted-record .card-header h3,.deleted-record td:first-child,.deleted-record td:last-child{text-decoration:none}.deleted-badge{background-color:#f44336;background-color:var(--danger-color);border-radius:3px;color:#fff;display:inline-block;font-size:.7rem;font-weight:600;margin-left:8px;padding:2px 6px;text-decoration:none!important;text-transform:uppercase}.antenna-card.deleted-record{background-color:#f443360d;border:2px solid #f44336;border:2px solid var(--danger-color)}.antenna-card.deleted-record .card-header{background-color:#f443361a;border-bottom-color:#f44336;border-bottom-color:var(--danger-color)}.antenna-card.deleted-record .card-header h3{color:#333;color:var(--text-color);text-decoration:none}.antenna-card.deleted-record .detail-value{color:#999;text-decoration:line-through}.antenna-card.deleted-record .detail-label{color:#666;text-decoration:none}.card-delete-button,.delete-action{background-color:#f44336!important;background-color:var(--danger-color)!important;border:none;border-radius:4px;color:#fff!important;cursor:pointer;font-weight:500;margin-left:.5rem;padding:.5rem 1rem;text-decoration:none;transition:all .2s}.card-delete-button:hover,.delete-action:hover{background-color:#d32f2f!important;text-decoration:none!important}.card-restore-button,.restore-action{background-color:#4caf50!important;background-color:var(--success-color)!important;border:none;border-radius:4px;color:#fff!important;cursor:pointer;font-weight:500;padding:.5rem 1rem;text-decoration:none;transition:all .2s}.card-restore-button:hover,.restore-action:hover{background-color:#388e3c!important;text-decoration:none!important}.antenna-card.deleted-record .card-actions{background-color:#f443361a;border-top-color:#f44336;border-top-color:var(--danger-color)}.deleted-record:hover{background-color:#f443361a!important}.deleted-record .status-badge{opacity:.7}.deleted-record .action-link,.deleted-record .card-action-button,.deleted-record .card-delete-button,.deleted-record .card-restore-button{text-decoration:none!important}.filter-item select option[value=deleted]{color:#f44336;color:var(--danger-color);font-weight:500}.filter-item select option[value=all]{color:#3457d5;color:var(--primary-color);font-weight:500}@media (max-width:768px){.deleted-badge{font-size:.6rem;margin-left:5px;padding:1px 4px}.antenna-card.deleted-record{border-width:1px}.card-delete-button,.card-restore-button{margin-left:0;margin-top:.5rem;width:100%}}@media (max-width:640px){.data-table .deleted-record td:before{color:#666;text-decoration:none}.data-table .deleted-record .action-link{background-color:#f44336;background-color:var(--danger-color);border-radius:4px;color:#fff;padding:.5rem;text-decoration:none}.data-table .deleted-record .restore-action{background-color:#4caf50;background-color:var(--success-color)}}.loading.deleted-context{color:#f44336;color:var(--danger-color);font-style:italic}.results-counter.showing-deleted{color:#f44336;color:var(--danger-color);font-weight:500}.results-counter.showing-deleted:after{color:#666;content:" (including deleted)";font-weight:400}.restore-button{background-color:#4caf50;background-color:var(--success-color);border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:all .2s}.restore-button:hover{background-color:#388e3c}.deleted-warning{background-color:#f443361a;border-left:4px solid #f44336;border-left:4px solid var(--danger-color);border-radius:4px;color:#f44336;color:var(--danger-color);font-weight:500;margin-bottom:1.5rem;padding:1rem}input:disabled,select:disabled,textarea:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed;opacity:.7}.form-section.deleted-context{background-color:#f4433605;border:1px solid #f443361a;border-radius:8px;opacity:.8;padding:1.5rem}.deleted-record{position:relative}.deleted-record:before{background-color:#f44336;background-color:var(--danger-color);bottom:0;content:"";left:0;position:absolute;top:0;width:4px;z-index:1}.action-link+.action-link,.action-link+button,button+.action-link{margin-left:8px}.filter-status{background-color:#f443361a;border:1px solid #f4433633;border-radius:4px;color:#f44336;color:var(--danger-color);font-size:.8rem;font-weight:400;margin-left:.5rem;padding:.25rem .5rem}.filter-toggle.has-active-filters{background-color:#3457d5;background-color:var(--primary-color);border-color:#3457d5;border-color:var(--primary-color);color:#fff}@media (max-width:768px){.filter-status{display:block;font-size:.7rem;margin-left:0;margin-top:.25rem}.page-header h1{align-items:flex-start;flex-direction:column}.dashboard .mobile-quick-actions,.mobile-quick-actions,.quick-action-button.add-antenna,.quick-action-button.generate-report{display:none!important}.mobile-menu-button{align-items:center;background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;display:block;display:flex;font-size:1.75rem;height:44px;justify-content:center;padding:0;transition:background-color .2s;width:44px}.mobile-menu-button:hover{background-color:#ffffff1a}.sidebar{background-color:#fff;box-shadow:2px 0 10px #0003;height:100vh;left:-280px;overflow-y:auto;padding-top:60px;position:fixed;top:0;transition:all .3s ease;width:280px;z-index:100}.sidebar.mobile-open{display:block;left:0}.sidebar ul{display:block;overflow-x:visible;padding:0}.sidebar li{border-bottom:1px solid var(--border-color);margin-bottom:0;margin-right:0}.sidebar a{align-items:center;display:flex;padding:1rem 1.5rem;white-space:normal}.sidebar a:hover,.sidebar li.active a{border-bottom:none;border-left:3px solid var(--primary-color);padding-left:1.2rem}.mobile-menu-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#00000080;bottom:0;display:block;left:0;position:fixed;right:0;top:0;z-index:99}.bottom-nav{display:flex;justify-content:space-between;padding:.5rem .25rem}.bottom-nav a,.bottom-nav button{font-size:.7rem;padding:.5rem .25rem}.bottom-nav-icon{font-size:1.4rem}.app-container{padding-bottom:70px}}.filter-actions,.filter-toggle,.mobile-card-view,.mobile-fab,.mobile-menu-button,.mobile-menu-overlay,.mobile-quick-actions,.mobile-tabs,.view-toggle{display:none}.mobile-menu-button{background:none;border:none;color:#fff;cursor:pointer;font-size:1.5rem;padding:.5rem}.mobile-menu-overlay{background-color:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:90}.mobile-tabs{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:1rem;overflow:hidden}.mobile-tab{background:none;border:none;cursor:pointer;flex:1 1;font-weight:500;padding:.75rem;transition:all .2s}.mobile-tab.active{background-color:var(--primary-color);color:#fff}.form-section.hidden{display:none}.antenna-cards{flex-direction:column;gap:1rem;margin-bottom:1rem}.antenna-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.card-header{align-items:center;background-color:#f5f7fa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:.75rem 1rem}.card-header h3{font-size:1.1rem;margin:0}.status-badge.installed{background-color:#4caf5033;color:var(--success-color)}.status-badge.not-installed{background-color:#ffc10733;color:var(--warning-color)}.card-details{padding:.75rem 1rem}.card-detail{border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:.5rem 0}.card-detail:last-child{border-bottom:none}.detail-label{color:#666;font-weight:500}.card-actions{background-color:#f5f7fa;border-top:1px solid #e0e0e0;padding:.75rem 1rem}.card-action-button{background-color:var(--primary-color);border-radius:4px;color:#fff;display:block;font-weight:500;padding:.75rem;text-align:center;text-decoration:none;width:100%}.no-data-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#666;padding:2rem 1rem;text-align:center}.view-toggle{border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:1rem;overflow:hidden}.toggle-button{background-color:#fff;border:none;cursor:pointer;flex:1 1;font-weight:500;padding:.75rem;transition:all .2s}.toggle-button.active{background-color:var(--primary-color);color:#fff}.mobile-fab{bottom:4.5rem;position:fixed;right:1rem;z-index:80}.fab-button{align-items:center;background-color:var(--primary-color);border:none;border-radius:50%;box-shadow:0 2px 10px #0003;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:56px;justify-content:center;transition:all .2s;width:56px}.fab-button:hover{background-color:var(--secondary-color);box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.add-fab{font-size:2rem}.mobile-quick-actions{bottom:4.5rem;flex-direction:column;gap:.5rem;left:1rem;position:fixed;z-index:80}.quick-action-button{align-items:center;background-color:#fff;border:1px solid var(--border-color);border-radius:50%;box-shadow:0 2px 5px #0000001a;color:var(--primary-color);display:flex;flex-direction:column;height:56px;justify-content:center;text-decoration:none;transition:all .2s;width:56px}.quick-action-button:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.quick-action-icon{font-size:1.5rem;margin-bottom:.25rem}.quick-action-label{font-size:.6rem;font-weight:500}.filter-toggle{align-items:center;background-color:#fff;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;gap:.5rem;padding:.5rem 1rem}.filter-icon{font-size:1.2rem}.filter-actions{gap:.5rem;margin-top:1rem}.apply-filters,.clear-filters{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-weight:500;padding:.75rem 1rem}.clear-filters{background-color:#f5f5f5;border:1px solid var(--border-color);color:var(--text-color)}.apply-filters{background-color:var(--primary-color);color:#fff}.filters.hidden{display:none}.header-actions{display:flex;gap:.5rem}@media (max-width:640px){.data-table table,.data-table tbody,.data-table td,.data-table th,.data-table thead,.data-table tr{display:block}.data-table thead tr{left:-9999px;position:absolute;top:-9999px}.data-table tr{background-color:#fff;border:1px solid var(--border-color);border-radius:8px;margin-bottom:1rem;padding:.75rem;position:relative}.data-table td{border:none;padding-bottom:.75rem;padding-left:50%;padding-top:.75rem;position:relative;text-align:right}.data-table td:before{font-weight:600;left:.75rem;position:absolute;text-align:left;white-space:nowrap;width:45%}.data-table td:first-of-type:before{content:"ID"}.data-table td:nth-of-type(2):before{content:"Name"}.data-table td:nth-of-type(3):before{content:"Location"}.data-table td:nth-of-type(4):before{content:"Level"}.data-table td:nth-of-type(5):before{content:"Remote ID"}.data-table td:nth-of-type(6):before{content:"Area Served"}.data-table td:nth-of-type(7):before{content:"Cable Length"}.data-table td:nth-of-type(8):before{content:"Installed"}.data-table td:nth-of-type(9):before{content:"Testing Complete"}.data-table td:nth-of-type(10):before{content:"Actions"}.data-table td:last-child{border-top:1px solid var(--border-color);margin-top:.5rem;padding-left:0;padding-top:1rem;text-align:center}.data-table td:last-child:before{display:none}.data-table .action-link{background-color:var(--primary-color);border-radius:4px;color:#fff;display:block;padding:.75rem;text-align:center;width:100%}.data-table .action-link:hover{background-color:var(--secondary-color);text-decoration:none}}@media (max-width:768px){.loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:3rem 1rem}.loading:after{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top:4px solid var(--primary-color);content:"";height:40px;margin-top:1rem;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}}@media (max-width:768px){.mobile-menu-button{display:block}.user-info{display:none}.sidebar{background-color:#fff;height:100vh;left:-240px;padding-top:60px;position:fixed;top:0;transition:left .3s ease;width:240px;z-index:100}.sidebar.mobile-open{display:block;left:0}.mobile-menu-overlay{display:block}.filter-actions,.filter-toggle,.mobile-fab,.mobile-quick-actions,.mobile-tabs,.view-toggle{display:flex}.desktop-table-view{display:none}.mobile-card-view{display:block}.antenna-cards{display:flex}.mobile-hidden{display:none}.dashboard-section.active,.form-section.active,.related-data.active{display:block}.mobile-view-toggle{border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;margin-bottom:1rem;overflow:hidden}.progress-section.active,.stats-section.active{display:block}.progress-section:not(.active),.stats-section:not(.active){display:none}.level-progress-container,.mobile-progress-overview{display:flex;flex-direction:column}.level-progress-container{gap:1rem}.level-progress-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;padding:1rem}.level-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.level-header h4{margin:0}.point-count{color:#666;font-weight:500}}.level-progress-item,.mini-progress{margin-bottom:.75rem}.mini-progress-label{display:flex;font-size:.85rem;justify-content:space-between;margin-bottom:.25rem}.mini-progress-bar{background-color:var(--light-bg);border-radius:3px;height:6px;overflow:hidden;position:relative}.mini-progress-fill{background-color:var(--primary-color);border-radius:3px;height:100%;transition:width .5s ease}.mini-progress-fill.status-high{background-color:var(--success-color)}.mini-progress-fill.status-medium{background-color:var(--warning-color)}.mini-progress-fill.status-low{background-color:var(--danger-color)}.status-high{color:var(--success-color)}.status-medium{color:var(--warning-color)}.status-low{color:var(--danger-color)}.diagram-page{display:flex;flex-direction:column;height:100%}.diagram-container{background-color:#f0f0f0;border-radius:8px;box-shadow:inset 0 0 10px #0000001a;display:flex;flex:1 1;justify-content:center;margin-bottom:20px;min-height:60vh;overflow:auto;padding:20px}.diagram-wrapper{max-width:100%;transition:transform .3s ease}.diagram-image{background-color:#fff;border-radius:4px;box-shadow:0 2px 10px #00000040;height:auto;max-width:100%}.diagram-tools{flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem}.diagram-tools,.level-selector{align-items:center;display:flex}.level-selector{gap:.5rem}.level-select{background-color:#fff;border:1px solid var(--border-color);border-radius:4px;min-width:200px;padding:.5rem}.zoom-controls{gap:.5rem}.zoom-button,.zoom-controls{align-items:center;display:flex}.zoom-button{background-color:var(--primary-color);border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;justify-content:center;min-width:40px;padding:.5rem .75rem;transition:all .2s}.zoom-button:hover:not(:disabled){background-color:var(--secondary-color)}.zoom-button:disabled{background-color:#ccc;cursor:not-allowed}.zoom-icon{font-size:1.2rem;font-weight:700}.zoom-text{font-size:.9rem}.diagram-instructions{background-color:#fff;border-radius:8px;box-shadow:0 2px 5px #0000001a;margin-top:1rem;padding:1rem}.diagram-instructions p{color:#666;margin:.5rem 0}.diagram-container .loading{align-items:center;color:#666;display:flex;font-weight:500;height:400px;justify-content:center}@media (max-width:768px){.diagram-tools{align-items:flex-start;flex-direction:column;width:100%}.level-selector,.zoom-controls{width:100%}.level-select{flex:1 1;width:100%}.diagram-container{margin-bottom:10px;padding:10px;padding-bottom:70px}}.task-cards{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.task-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.task-card .card-header{align-items:center;background-color:#f5f7fa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:.75rem 1rem}.task-card .card-header h3{font-size:1.1rem;font-weight:600;margin:0}.task-card .card-details{padding:.75rem 1rem}.task-card .card-detail{border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:.5rem 0}.task-card .card-detail:last-child{border-bottom:none}.task-card .card-detail.description{flex-direction:column}.task-card .card-detail.description .detail-label{margin-bottom:.5rem}.task-card .card-detail.description .detail-value{text-align:left;white-space:pre-wrap}.task-card .detail-label{color:#666;font-weight:500}.task-card .card-actions{background-color:#f5f7fa;border-top:1px solid #e0e0e0;padding:.75rem 1rem}.status-badge{border-radius:4px;font-size:.8rem;font-weight:500;padding:.25rem .5rem}.status-badge.status-no{background-color:#f443361a;color:var(--danger-color)}.status-badge.status-medium{background-color:#ffc1071a;color:var(--warning-color)}.status-badge.status-yes{background-color:#4caf501a;color:var(--success-color)}.task-detail .form-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-bottom:1.5rem}.task-detail .notes-group{grid-column:1/-1}.field-note{background-color:#ffc1070d;border-left:2px solid var(--warning-color);border-radius:2px;color:var(--warning-color);font-size:.85rem;margin-top:.5rem;padding:.5rem}@media (max-width:768px){.task-detail .form-grid{grid-template-columns:1fr}.task-card .card-header{align-items:flex-start;flex-direction:column}.task-card .card-header h3{margin-bottom:.5rem}.task-card .status-badge{align-self:flex-start}}