:root{--primary-color: #005A9C;--primary-hover-color: #004B80;--primary-light: rgba(0, 90, 156, .1);--background-color: #f4f7fa;--surface-color: #ffffff;--text-color: #333333;--text-light-color: #777777;--border-color: #e0e0e0;--success-color: #28a745;--success-light: #d4edda;--error-color: #dc3545;--error-light: #f8d7da;--warning-color: #ffc107;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .15);--border-radius: 8px;--transition: all .3s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background-color:var(--background-color);color:var(--text-color);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}.loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh}.auth-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:2rem;width:100%}.auth-form{background:var(--surface-color);padding:3rem;border-radius:var(--border-radius);box-shadow:var(--shadow-lg);width:100%;max-width:440px;border:1px solid var(--border-color)}.auth-form h1{text-align:center;margin-bottom:.5rem;color:var(--primary-color);font-size:1.75rem;font-weight:700}.auth-form p{text-align:center;margin-bottom:2rem;color:var(--text-light-color);font-size:.95rem}.auth-switch{text-align:center;margin-top:1.5rem;font-size:.9rem;color:var(--text-light-color)}.auth-switch a{color:var(--primary-color);font-weight:600;cursor:pointer;text-decoration:none;transition:var(--transition)}.auth-switch a:hover{text-decoration:underline;color:var(--primary-hover-color)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-color);font-size:.9rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.85rem;border:2px solid var(--border-color);border-radius:6px;font-size:1rem;font-family:inherit;transition:var(--transition);background-color:var(--surface-color)}.form-group textarea{resize:vertical;min-height:100px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:var(--background-color);cursor:not-allowed;opacity:.6}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.75rem;border:none;border-radius:6px;background-color:var(--primary-color);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:var(--transition);text-align:center;text-decoration:none;box-shadow:var(--shadow-sm)}.btn:hover:not(:disabled){background-color:var(--primary-hover-color);transform:translateY(-1px);box-shadow:var(--shadow)}.btn:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.btn:disabled{background-color:#a0a0a0;cursor:not-allowed;transform:none;opacity:.6}.btn svg{width:18px;height:18px}.btn-secondary{background-color:#6c757d}.btn-secondary:hover:not(:disabled){background-color:#5a6268}.btn-icon{background:none;border:none;cursor:pointer;padding:.5rem;color:var(--text-light-color);transition:var(--transition);border-radius:4px;display:inline-flex;align-items:center;justify-content:center}.btn-icon:hover{color:var(--primary-color);background-color:var(--primary-light)}.btn-icon svg{width:20px;height:20px}.auth-form .btn{width:100%;margin-top:.5rem}.error-message{color:var(--error-color);background-color:var(--error-light);padding:.75rem;border-radius:6px;text-align:center;margin-top:1rem;font-size:.9rem;border:1px solid var(--error-color)}.app-layout{display:flex;height:100vh;width:100vw;overflow:hidden;position:relative}.sidebar{width:260px;background:var(--surface-color);border-right:1px solid var(--border-color);padding:1.5rem;display:flex;flex-direction:column;transition:transform .3s ease-in-out;box-shadow:var(--shadow-sm);overflow-y:auto}.sidebar-header{display:flex;align-items:center;margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:2px solid var(--border-color)}.sidebar-header .logo{color:var(--primary-color);font-size:1.75rem;font-weight:800;letter-spacing:-.5px}.nav-item{display:flex;align-items:center;padding:.9rem 1.1rem;border-radius:8px;margin-bottom:.5rem;color:var(--text-light-color);cursor:pointer;transition:var(--transition);text-decoration:none;font-weight:500;font-size:.95rem}.nav-item svg{margin-right:1rem;width:20px;height:20px;flex-shrink:0}.nav-item:hover{background-color:var(--primary-light);color:var(--primary-color);transform:translate(2px)}.nav-item.active{background-color:var(--primary-color);color:#fff;box-shadow:var(--shadow-sm)}.nav-item.active:hover{background-color:var(--primary-hover-color);transform:none}.main-content{flex-grow:1;display:flex;flex-direction:column;overflow:hidden;background-color:var(--background-color)}.header{display:flex;justify-content:flex-end;align-items:center;padding:1rem 2rem;background:var(--surface-color);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm);z-index:10}.user-info{display:flex;align-items:center;gap:1rem}.user-info span{font-weight:500;color:var(--text-color);font-size:.95rem}.logout-btn{background:none;border:none;cursor:pointer;color:var(--text-light-color);display:flex;align-items:center;padding:.5rem;border-radius:6px;transition:var(--transition)}.logout-btn:hover{color:var(--error-color);background-color:var(--error-light)}.logout-btn svg{width:20px;height:20px}.mobile-menu-btn{display:none;background:none;border:none;cursor:pointer;padding:.5rem;color:var(--text-color);border-radius:6px;transition:var(--transition)}.mobile-menu-btn:hover{background-color:var(--primary-light);color:var(--primary-color)}.mobile-menu-btn svg{width:24px;height:24px}.page-content{flex-grow:1;padding:2rem;overflow-y:auto;overflow-x:hidden}.page-header{margin-bottom:2rem}.page-header h1{font-size:2rem;font-weight:700;color:var(--text-color);margin-bottom:.5rem}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.dashboard-card{background:var(--surface-color);padding:2rem;border-radius:var(--border-radius);box-shadow:var(--shadow);border:1px solid var(--border-color);transition:var(--transition)}.dashboard-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.dashboard-card h3{color:var(--text-light-color);font-size:.95rem;margin-bottom:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.dashboard-card .metric{font-size:3rem;font-weight:700;color:var(--primary-color);line-height:1}.table-container{background:var(--surface-color);border-radius:var(--border-radius);box-shadow:var(--shadow);padding:1.5rem;border:1px solid var(--border-color)}.table-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.table-actions{display:flex;gap:1rem;flex-wrap:wrap}.table-description{color:var(--text-light-color);font-size:.9rem;line-height:1.5}.search-input{padding:.75rem 1rem;border:2px solid var(--border-color);border-radius:6px;width:100%;max-width:320px;font-size:.95rem;transition:var(--transition)}.search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}.table-wrapper{overflow-x:auto;border-radius:6px;border:1px solid var(--border-color)}table{width:100%;border-collapse:collapse;min-width:600px}th,td{padding:1rem;text-align:left;border-bottom:1px solid var(--border-color)}th{font-weight:600;color:var(--text-light-color);background-color:var(--background-color);text-transform:uppercase;font-size:.85rem;letter-spacing:.5px}tbody tr{transition:var(--transition)}tbody tr:hover{background-color:var(--primary-light)}tbody tr:last-child td{border-bottom:none}.actions-cell{display:flex;gap:.5rem;align-items:center}.actions-cell button{background:none;border:none;cursor:pointer;color:var(--text-light-color);transition:var(--transition);padding:.5rem;border-radius:4px}.actions-cell button:hover{color:var(--primary-color);background-color:var(--primary-light)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--surface-color);padding:2rem;border-radius:var(--border-radius);width:90%;max-width:540px;box-shadow:var(--shadow-lg);animation:slideUp .3s ease-out;max-height:90vh;overflow-y:auto}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--border-color)}.modal-header h2{font-size:1.5rem;font-weight:700;color:var(--primary-color)}.close-btn{background:none;border:none;font-size:1.75rem;cursor:pointer;color:var(--text-light-color);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:var(--transition)}.close-btn:hover{background-color:var(--error-light);color:var(--error-color)}.modal-body{margin-bottom:1.5rem}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.notification{position:fixed;top:20px;right:20px;padding:1rem 1.5rem;border-radius:8px;color:#fff;z-index:1001;box-shadow:var(--shadow-lg);animation:slideInRight .3s ease-out,fadeOut .3s ease-out 3.7s;max-width:400px;font-weight:500}.notification.success{background-color:var(--success-color)}.notification.error{background-color:var(--error-color)}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.reconnecting-banner{position:absolute;top:0;left:0;width:100%;background-color:var(--warning-color);color:var(--text-color);display:flex;justify-content:center;align-items:center;padding:.5rem;font-size:.9rem;font-weight:600;z-index:1100;animation:fadeIn .3s ease-out}.reconnecting-banner .loading-container{min-height:auto;flex-direction:row;gap:.5rem}.reconnecting-banner svg{width:20px;height:20px;fill:var(--text-color)}.form-page-container{max-width:1000px;margin:0 auto}.form-content-wrapper{background-color:var(--surface-color);padding:2.5rem;border-radius:var(--border-radius);box-shadow:var(--shadow);border:1px solid var(--border-color)}.form-content-wrapper h2{margin-bottom:1.5rem;text-align:center;color:var(--primary-color);font-size:1.75rem;font-weight:700}.form-section-description{margin-bottom:1.5rem;color:var(--text-light-color);text-align:center;font-size:.95rem}.progress-bar{display:flex;justify-content:space-between;margin-bottom:3rem;position:relative;padding:0 1rem}.progress-step{background:none;border:none;padding:0;font-family:inherit;color:inherit;text-align:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;flex:1;position:relative}.progress-step:hover:not(.active) .step-number{border-color:var(--primary-hover-color);box-shadow:0 0 0 4px var(--primary-light)}.progress-step:hover:not(.active) .step-label{color:var(--primary-color)}.progress-step .step-number{width:40px;height:40px;border-radius:50%;background-color:var(--surface-color);border:3px solid var(--border-color);color:var(--text-light-color);display:flex;justify-content:center;align-items:center;font-weight:700;font-size:1rem;transition:var(--transition);z-index:2;position:relative}.progress-step .step-label{font-size:.75rem;color:var(--text-light-color);margin-top:.75rem;text-align:center;font-weight:500;max-width:100px}.progress-step.active .step-number{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff;box-shadow:0 0 0 4px var(--primary-light);transform:scale(1.1)}.progress-step.active .step-label{color:var(--primary-color);font-weight:600}.progress-step.completed .step-number{background-color:var(--success-color);border-color:var(--success-color);color:#fff}.progress-step.completed .step-label{color:var(--success-color)}.progress-step:not(:last-child):after{content:"";position:absolute;top:20px;left:50%;width:100%;height:3px;background-color:var(--border-color);z-index:1}.progress-step.completed:not(:last-child):after{background-color:var(--success-color)}.form-step-fields{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem}.form-group.full-width{grid-column:1 / -1}.radio-group,.checkbox-group{display:flex;flex-wrap:wrap;gap:1rem}.radio-group label,.checkbox-group label{display:flex;align-items:center;cursor:pointer;font-weight:400;padding:.5rem .75rem;border-radius:6px;transition:var(--transition);background-color:var(--background-color);border:2px solid transparent}.radio-group label:hover,.checkbox-group label:hover{background-color:var(--primary-light);border-color:var(--primary-color)}.radio-group input,.checkbox-group input{margin-right:.5rem;width:auto;cursor:pointer}.radio-group input:checked+span,.checkbox-group input:checked+span{font-weight:600;color:var(--primary-color)}.help-text{font-size:.85rem;color:var(--text-light-color);margin-top:.25rem;font-style:italic}.form-navigation{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;padding-top:2rem;border-top:2px solid var(--border-color)}.form-navigation-steps{display:flex;gap:1rem}.monitoring-table-wrapper{width:100%;overflow-x:auto;border:none;margin-bottom:1.5rem;box-shadow:none;background:none}.monitoring-table{width:100%;border-collapse:separate;border-spacing:0 .5rem;min-width:unset;background:none}.monitoring-table thead{display:none}.monitoring-table tr{display:block;margin-bottom:1.5rem;border-radius:8px;box-shadow:var(--shadow-sm);background:var(--surface-color);border:1px solid var(--border-color);padding:.5rem .75rem}.monitoring-table td{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border:none;border-bottom:1px solid var(--border-color);font-size:1rem}.monitoring-table td:before{content:attr(data-label);flex-basis:50%;color:var(--text-light-color);font-weight:600;text-align:left;padding-right:1rem;font-size:.95rem}.monitoring-table td.day-cell{font-weight:700;color:var(--primary-color);background:none;position:static}.monitoring-table td:last-child{border-bottom:none}.monitoring-table input{width:100%;max-width:120px;padding:.5rem;border:2px solid var(--border-color);border-radius:6px;text-align:center;font-size:.95rem}.monitoring-table input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}@media (min-width: 700px){.monitoring-table-wrapper{overflow-x:auto;border:2px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);background:var(--surface-color)}.monitoring-table{min-width:500px;border-collapse:collapse}.monitoring-table thead{display:table-header-group}.monitoring-table tr{display:table-row;background:none;border:none;box-shadow:none;margin-bottom:0;border-radius:0;padding:0}.monitoring-table td,.monitoring-table th{display:table-cell;padding:.85rem;border:1px solid var(--border-color);font-size:1rem}.monitoring-table td:before{content:none}.monitoring-table th{background-color:var(--primary-color);color:#fff;font-weight:600;position:sticky;top:0;z-index:10;text-transform:uppercase;font-size:.85rem;letter-spacing:.5px}.monitoring-table td.day-cell{font-weight:600;text-align:left;background-color:var(--background-color);white-space:nowrap;position:sticky;left:0;z-index:5;color:var(--primary-color)}}@media (max-width: 480px){.page-content{padding:.75rem}.page-header{margin-bottom:1.5rem}.page-header h1{font-size:1.25rem}.btn{padding:.75rem 1.25rem;font-size:.9rem}.btn svg{width:16px;height:16px}.dashboard-card .metric{font-size:2rem}.table-container,.form-content-wrapper{padding:1rem}.form-content-wrapper h2{font-size:1.2rem}.progress-bar{gap:.5rem}.progress-step{min-width:70px}.progress-step .step-number{width:32px;height:32px;font-size:.85rem}.progress-step .step-label{font-size:.65rem;max-width:70px}.auth-form{padding:1.5rem}.modal-content{padding:1rem}.notification{left:10px;right:10px;max-width:none;font-size:.9rem}}.text-center{text-align:center}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.hidden{display:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--background-color);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px;transition:var(--transition)}::-webkit-scrollbar-thumb:hover{background:var(--text-light-color)}@media print{.sidebar,.header,.form-navigation,.table-actions,.btn,.mobile-menu-btn{display:none!important}.main-content{margin:0;padding:0}.page-content{padding:0}.table-container,.form-content-wrapper,.dashboard-card{box-shadow:none;border:1px solid #000}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}*:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.skeleton{background:linear-gradient(90deg,var(--background-color) 0%,var(--border-color) 50%,var(--background-color) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{text-align:center;padding:3rem 2rem;color:var(--text-light-color)}.empty-state svg{width:64px;height:64px;margin-bottom:1rem;opacity:.5}.empty-state h3{font-size:1.25rem;margin-bottom:.5rem;color:var(--text-color)}.empty-state p{font-size:.95rem;margin-bottom:1.5rem}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge-success{background-color:var(--success-light);color:var(--success-color)}.badge-error{background-color:var(--error-light);color:var(--error-color)}.badge-warning{background-color:#fff3cd;color:var(--warning-color)}.badge-primary{background-color:var(--primary-light);color:var(--primary-color)}.tooltip{position:relative;display:inline-block}.tooltip .tooltiptext{visibility:hidden;width:200px;background-color:var(--text-color);color:#fff;text-align:center;border-radius:6px;padding:.5rem;position:absolute;z-index:1001;bottom:125%;left:50%;margin-left:-100px;opacity:0;transition:opacity .3s;font-size:.85rem}.tooltip:hover .tooltiptext{visibility:visible;opacity:1}width: 1024px){.page-content{padding:1.5rem}.form-content-wrapper{padding:2rem}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}@media (max-width: 768px){.app-layout{flex-direction:column}.sidebar{position:fixed;left:0;top:0;bottom:0;height:100%;transform:translate(-100%);z-index:100;box-shadow:var(--shadow-lg)}.sidebar.open{transform:translate(0)}.header{justify-content:space-between;padding:1rem 1.5rem}.mobile-menu-btn{display:block}.page-content{padding:1rem}.page-header h1{font-size:1.5rem}.table-controls{flex-direction:column;align-items:stretch}.table-actions{width:100%}.table-actions .btn{flex:1}.search-input{max-width:none}.form-step-fields{grid-template-columns:1fr;gap:1.25rem}.progress-bar{overflow-x:auto;padding-bottom:1rem;justify-content:flex-start;gap:1rem}.progress-step{min-width:90px;flex:0 0 auto}.progress-step .step-number{width:36px;height:36px;font-size:.9rem}.progress-step .step-label{font-size:.7rem;max-width:80px}.form-content-wrapper{padding:1.5rem}.form-content-wrapper h2{font-size:1.4rem}.dashboard-grid{grid-template-columns:1fr;gap:1rem}.dashboard-card{padding:1.5rem}.dashboard-card .metric{font-size:2.5rem}.form-navigation{flex-direction:column;gap:1rem}.form-navigation>.btn{width:100%}.form-navigation-steps{width:100%;flex-direction:column}.form-navigation-steps>.btn,.form-navigation-steps>div{width:100%}.modal-content{width:95%;padding:1.5rem;max-height:85vh}.modal-header h2{font-size:1.25rem}.auth-form{padding:2rem}.auth-form h1{font-size:1.5rem}.radio-group,.checkbox-group{flex-direction:column;gap:.75rem}.radio-group label,.checkbox-group label{width:100%}}
