.App{background:#f5f5f5;display:flex;flex-direction:column;min-height:100vh}.app-header{padding:30px 0}.header-content h1{font-size:2.5em;margin:0 0 10px}.header-content p{font-size:1.2em}.config-warning{background:#fff3cd;border:1px solid #ffeaa7;box-shadow:0 2px 4px #0000001a;margin:20px;padding:20px}.warning-content h3,.warning-content p{color:#856404;margin:0 0 15px}.warning-content code{background:#f8f9fa;border-radius:3px;color:#e83e8c;font-family:monospace;padding:2px 6px}.warning-links{gap:15px}.warning-links a{background:#ffeaa7;color:#856404;font-weight:700;padding:8px 16px;transition:all .3s ease}.warning-links a:hover{background:#fdcb6e;transform:translateY(-2px)}.app-nav{border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px #0000000d}.nav-container{-ms-overflow-style:none;overflow-x:auto;scrollbar-width:none}.nav-container::-webkit-scrollbar{display:none}.nav-tab{color:#666;flex-shrink:0;padding:20px 30px}.nav-tab:hover{color:#333}.nav-tab.active{background:#f8f9ff}.app-main{flex:1 1;max-width:100%;overflow-x:hidden;padding:0}.app-footer{background:#2c3e50;margin-top:50px}.footer-content{grid-gap:30px;gap:30px;padding:40px 20px}.footer-section h4{color:#ecf0f1;font-size:1.1em;margin:0 0 15px}.footer-section li{margin-bottom:8px}.footer-section a{color:#bdc3c7}.footer-section a:hover{color:#ecf0f1}.status-indicators{gap:10px}.status-item{font-size:.9em;gap:8px}.status-dot{flex-shrink:0}.status-item.ok .status-dot{background:#27ae60}.status-item.error .status-dot{background:#e74c3c}.footer-bottom{background:#34495e;border-top:1px solid #34495e;padding:20px}.footer-bottom p{color:#bdc3c7;font-size:.9em;margin:0}@media (max-width:768px){.header-content h1{font-size:2em}.header-content p{font-size:1em}.nav-tab{font-size:14px;padding:15px 20px}.config-warning{margin:10px;padding:15px}.warning-links{flex-direction:column}.warning-links a{text-align:center}.footer-content{gap:20px;grid-template-columns:1fr;padding:20px}}.app-main>*{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.nav-tab:focus,.warning-links a:focus{outline:2px solid #667eea;outline-offset:2px}.app-loading{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;min-height:200px}.app-loading .spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#667eea;height:40px;margin-bottom:15px;width:40px}@media print{.app-footer,.app-header,.app-nav,.config-warning{display:none}.app-main{margin:0;padding:0}}.app-header{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 10px #0000001a;color:#fff;padding:2rem 0;text-align:center}.header-content h1{font-size:2.5rem;font-weight:700;margin:0 0 .5rem;text-shadow:0 2px 4px #0000004d}.header-content p{font-size:1.1rem;font-weight:300;margin:0;opacity:.9}@media (max-width:768px){.header-content h1{font-size:2rem}.header-content p{font-size:1rem}}.app-nav{background:#fff;border-bottom:1px solid #e1e5e9;box-shadow:0 2px 4px #0000001a;padding:0;position:sticky;top:0;z-index:100}.nav-container{display:flex;gap:0;justify-content:center;margin:0 auto;max-width:1200px}.nav-tab{color:#6b7280;font-size:1rem;min-width:140px;padding:1rem 1.5rem;position:relative;transition:all .3s ease}.nav-tab:hover{background-color:#f8fafc;color:#374151}.nav-tab.active{background-color:#eff6ff;border-bottom-color:#3b82f6;color:#3b82f6}.nav-tab:focus{box-shadow:0 0 0 2px #3b82f633;outline:none}@media (max-width:768px){.nav-container{flex-wrap:wrap;gap:0}.nav-tab{flex:1 1;font-size:.9rem;min-width:auto;padding:.75rem .5rem}}.app-footer{background:#1f2937;color:#fff;margin-top:auto;padding:3rem 0 1rem}.footer-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));padding:0 2rem}.footer-section h4{color:#f3f4f6;font-size:1.1rem;font-weight:600;margin-bottom:1rem}.footer-section ul{list-style:none;margin:0;padding:0}.footer-section li{margin-bottom:.5rem}.footer-section a{color:#d1d5db;text-decoration:none;transition:color .3s ease}.footer-section a:hover{color:#3b82f6}.status-indicators{display:flex;flex-direction:column;gap:.5rem}.status-item{align-items:center;display:flex;font-size:.9rem;gap:.5rem}.status-dot{border-radius:50%;display:inline-block;height:8px;width:8px}.status-item.ok .status-dot{background-color:#10b981}.status-item.error .status-dot{background-color:#ef4444}.footer-bottom{border-top:1px solid #374151;color:#9ca3af;font-size:.9rem;margin-top:2rem;padding-top:1rem;text-align:center}@media (max-width:768px){.footer-content{gap:1.5rem;grid-template-columns:1fr;padding:0 1rem}.app-footer{padding:2rem 0 1rem}}.google-sheets-test{margin:0 auto;max-width:1200px;padding:20px}.info-panel{background:#f8f9fa;border-left:4px solid #4285f4;border-radius:8px;margin-bottom:20px;padding:15px}.info-panel h3{color:#4285f4;margin-top:0}.controls{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.control-group{margin-bottom:15px}.control-group label{display:block;margin-bottom:5px}.control-group input{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px;width:100%}.action-buttons{flex-wrap:wrap}.action-buttons button,.info-panel button,.input-buttons button{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:700;padding:10px 20px;transition:all .3s ease}.action-buttons button{background:#4285f4;color:#fff}.action-buttons button:hover{background:#3367d6;transform:translateY(-2px)}.action-buttons button:disabled{background:#ccc;cursor:not-allowed;transform:none}.data-input{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.data-input h3{color:#333;margin-top:0}.data-input textarea{border:1px solid #ddd;border-radius:4px;font-family:monospace;font-size:13px;padding:10px;resize:vertical;width:100%}.input-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:15px 0}.input-buttons button:first-child{background:#34a853;color:#fff}.input-buttons button:first-child:hover{background:#2d8e47}.input-buttons button:last-child{background:#ea4335;color:#fff}.input-buttons button:last-child:hover{background:#d33b2c}.sample-data{background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;font-size:12px;padding:10px}.sample-data code{background:#e9ecef;border-radius:2px;font-family:monospace;padding:2px 4px}.spinner{border-top-color:#4285f4}.data-table{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.data-table h3{background:#4285f4;color:#fff;font-size:1.2em;margin:0;padding:15px 20px}.table-container{max-height:500px;overflow-x:auto;overflow-y:auto}.data-table table{border-collapse:collapse;width:100%}.data-table td,.data-table th{border-bottom:1px solid #e0e0e0;padding:12px;text-align:left}.data-table th{background:#f5f5f5;font-weight:700;position:sticky;top:0;z-index:1}.data-table tr:hover{background:#f9f9f9}.data-info{background:#f8f9fa;border-top:1px solid #e0e0e0;color:#666;font-size:14px;margin:0;padding:15px 20px}@media (max-width:768px){.google-sheets-test{padding:10px}.action-buttons,.input-buttons{flex-direction:column}.action-buttons button,.input-buttons button{width:100%}}.google-drive-test{margin:0 auto;max-width:1200px;padding:20px}.header{background:linear-gradient(135deg,#34a853,#137333)}.share-section,.upload-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.share-section h3,.upload-section h3{border-bottom:2px solid #34a853;color:#333;margin-top:0;padding-bottom:10px}.upload-area{display:flex;flex-direction:column;gap:15px}.file-input{background:#f8f9fa;border:2px dashed #34a853;border-radius:8px;cursor:pointer;padding:10px;transition:all .3s ease}.file-input:hover{background:#e8f5e8;border-color:#137333}.selected-file{align-items:center;background:#e8f5e8;border:1px solid #34a853;border-radius:6px;display:flex;justify-content:space-between;padding:10px}.file-size{color:#666;font-size:.9em}.upload-buttons{display:flex;flex-wrap:wrap;gap:10px}.folder-btn,.refresh-btn,.share-btn,.upload-btn{border:none;border-radius:6px;cursor:pointer;font-weight:700;padding:12px 20px;transition:all .3s ease}.upload-btn{background:#34a853;color:#fff}.upload-btn:hover{background:#137333;transform:translateY(-2px)}.folder-btn{background:#4285f4;color:#fff}.folder-btn:hover{background:#3367d6}.refresh-btn{background:#ff9800}.refresh-btn:hover{background:#f57c00}.share-btn{background:#ea4335;color:#fff}.share-btn:hover{background:#d33b2c}.folder-btn:disabled,.refresh-btn:disabled,.share-btn:disabled,.upload-btn:disabled{background:#ccc;cursor:not-allowed;transform:none}.share-controls{align-items:center;display:flex;flex-wrap:wrap;gap:15px}.email-input,.file-select{border:1px solid #ddd;border-radius:4px;font-size:14px;min-width:200px;padding:10px}.email-input,.file-select{flex:1 1}.spinner{border-top-color:#34a853}.file-list{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.file-list h3{background:#34a853;color:#fff;font-size:1.2em;margin:0;padding:15px 20px}.no-files{color:#666;padding:40px;text-align:center}.files-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));padding:20px}.file-item{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:15px;transition:all .3s ease}.file-item:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.file-header{align-items:flex-start;display:flex;gap:12px;margin-bottom:15px}.file-icon{flex-shrink:0;font-size:2em}.file-info{flex:1 1;min-width:0}.file-name{color:#333;font-size:1em;font-weight:700;margin:0 0 5px;word-break:break-word}.file-details{color:#666;font-size:.85em;margin:0}.file-actions{display:flex;gap:8px;justify-content:flex-end}.action-btn{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:1.1em;height:36px;justify-content:center;transition:all .3s ease;width:36px}.view-btn{background:#4285f4;color:#fff}.view-btn:hover{background:#3367d6;transform:scale(1.1)}.download-btn{background:#34a853;color:#fff}.download-btn:hover{background:#137333;transform:scale(1.1)}.delete-btn{background:#ea4335;color:#fff}.delete-btn:hover{background:#d33b2c;transform:scale(1.1)}@media (max-width:768px){.google-drive-test{padding:10px}.share-controls,.upload-buttons{flex-direction:column}.email-input,.file-select,.folder-btn,.refresh-btn,.share-btn,.upload-btn{width:100%}.files-grid{grid-template-columns:1fr}}.alert-test{margin:0 auto;max-width:1200px;padding:20px}.header{background:linear-gradient(135deg,#ea4335,#d33b2c)}.alert-section,.test-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.alert-section h3,.test-section h3{border-bottom:2px solid #ea4335;color:#333;margin-top:0;padding-bottom:10px}.test-buttons{display:flex;flex-wrap:wrap;gap:15px}.test-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:700;padding:12px 24px;transition:all .3s ease}.email-test{background:#4285f4;color:#fff}.email-test:hover{background:#3367d6;transform:translateY(-2px)}.telegram-test{background:#08c;color:#fff}.telegram-test:hover{background:#069;transform:translateY(-2px)}.test-btn:disabled{background:#ccc;cursor:not-allowed;transform:none}.email-form,.report-form,.telegram-form,.threshold-form{display:flex;flex-direction:column;gap:15px}.form-group{display:flex;flex-direction:column}.form-group label{color:#333;font-weight:700;margin-bottom:5px}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#ea4335;box-shadow:0 0 0 2px #ea433533;outline:none}.form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.send-btn{align-self:flex-start;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:700;padding:12px 24px;transition:all .3s ease}.email-btn{background:#4285f4;color:#fff}.email-btn:hover{background:#3367d6;transform:translateY(-2px)}.telegram-btn{background:#08c;color:#fff}.telegram-btn:hover{background:#069;transform:translateY(-2px)}.threshold-btn{background:#ff9800;color:#fff}.threshold-btn:hover{background:#f57c00;transform:translateY(-2px)}.report-btn{background:#34a853;color:#fff}.report-btn:hover{background:#137333;transform:translateY(-2px)}.send-btn:disabled{background:#ccc;cursor:not-allowed;transform:none}.threshold-info{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;padding:15px}.threshold-info p{color:#666;margin:5px 0}.spinner{border-top-color:#ea4335}.success{background:#d4edda;border:1px solid #c3e6cb;border-radius:8px;margin-bottom:20px;padding:20px}.success h3{color:#155724;margin-top:0}.success p{color:#155724;margin-bottom:15px}.success button{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px}.error{background:#f8d7da;border:1px solid #f5c6cb}.error h3,.error p{color:#721c24}.error button{background:#dc3545}.history-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.history-section h3{background:#ea4335;color:#fff;font-size:1.2em;margin:0;padding:15px 20px}.history-list{padding:20px}.history-item{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;gap:15px;padding:12px 0}.history-item:last-child{border-bottom:none}.alert-type{background:#ea4335;border-radius:4px;color:#fff;font-size:.8em;font-weight:700;min-width:80px;padding:4px 8px;text-align:center}.alert-content{display:flex;flex:1 1;flex-direction:column;gap:2px}.alert-time{color:#666;font-size:.8em}@media (max-width:768px){.alert-test{padding:10px}.test-buttons{flex-direction:column}.send-btn,.test-btn{width:100%}.form-row{grid-template-columns:1fr}.history-item{align-items:flex-start;flex-direction:column}}.report-dashboard{margin:0 auto;max-width:1200px;padding:20px}.header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;color:#fff;margin-bottom:30px;padding:20px;text-align:center}.header h2{font-size:2em;margin:0 0 10px}.dashboard-controls{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:20px;padding:20px}.control-group{align-items:center;display:flex;gap:10px}.control-group label{color:#333;font-weight:700}.control-group select{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:8px 12px}.action-buttons{display:flex;gap:10px}.export-btn,.refresh-btn{border:none;border-radius:6px;cursor:pointer;font-weight:700;padding:10px 20px;transition:all .3s ease}.refresh-btn{background:#4285f4;color:#fff}.refresh-btn:hover{background:#3367d6;transform:translateY(-2px)}.export-btn{background:#34a853;color:#fff}.export-btn:hover{background:#137333;transform:translateY(-2px)}.export-btn:disabled,.refresh-btn:disabled{background:#ccc;cursor:not-allowed;transform:none}.loading{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:40px;text-align:center}.spinner{border:4px solid #f3f3f3;border-top-color:#667eea;height:40px;margin:0 auto 15px;width:40px}.error{background:#fff5f5;border:1px solid #fed7d7;border-radius:8px;margin-bottom:20px;padding:20px}.error h3{color:#e53e3e;margin-top:0}.error p{color:#744210;margin-bottom:15px}.error button{background:#e53e3e;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.stat-card{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;gap:15px;padding:20px;transition:transform .3s ease}.stat-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-4px)}.stat-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;display:flex;flex-shrink:0;font-size:2.5em;height:60px;justify-content:center;width:60px}.stat-content h3{color:#333;font-size:.9em;letter-spacing:.5px;margin:0 0 5px;text-transform:uppercase}.stat-value{color:#667eea;font-size:1.8em;font-weight:700;margin:0}.charts-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-bottom:30px}.chart-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.chart-container h3{border-bottom:2px solid #667eea;color:#333;margin:0 0 20px;padding-bottom:10px;text-align:center}.performance-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.performance-section h3{border-bottom:2px solid #34a853;color:#333;margin-top:0;padding-bottom:10px}.performance-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 2fr}.performance-summary{background:#f8f9fa;border-left:4px solid #34a853;border-radius:6px;padding:15px}.performance-summary h4{color:#34a853;margin-top:0}.total-time{color:#333;font-size:1.2em;font-weight:700;margin:10px 0}.timestamp{color:#666;font-size:.9em;margin:5px 0}.service-status h4{color:#333;margin-top:0}.services-list{display:flex;flex-direction:column;gap:8px}.service-item{grid-gap:15px;align-items:center;border-radius:6px;display:grid;gap:15px;grid-template-columns:1fr auto auto;padding:10px 15px}.service-item.ok{background:#d4edda;border-left:4px solid #28a745}.service-item.error{background:#f8d7da;border-left:4px solid #dc3545}.service-name{color:#333;font-weight:700}.service-status{border-radius:4px;font-size:.8em;font-weight:700;min-width:60px;padding:4px 8px;text-align:center}.service-item.ok .service-status{background:#28a745;color:#fff}.service-item.error .service-status{background:#dc3545;color:#fff}.service-time{color:#666;font-size:.9em}.debug-section,.summary-section{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.debug-section summary,.summary-section h3{border-bottom:2px solid #667eea;color:#333;margin-top:0;padding-bottom:10px}.summary-content{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;padding:15px}.summary-content pre{word-wrap:break-word;color:#333;font-family:Courier New,monospace;font-size:.9em;line-height:1.5;margin:0;white-space:pre-wrap}.debug-section details{margin-top:15px}.debug-section summary{background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;color:#667eea;cursor:pointer;font-weight:700;padding:10px}.debug-section pre{background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;font-size:.8em;max-height:400px;overflow-x:auto;overflow-y:auto;padding:15px}@media (max-width:768px){.report-dashboard{padding:10px}.dashboard-controls{align-items:stretch;flex-direction:column}.action-buttons{justify-content:center}.export-btn,.refresh-btn{width:100%}.charts-grid,.performance-grid,.service-item,.stats-grid{grid-template-columns:1fr}.service-item{text-align:center}}.config-warning{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:8px;box-shadow:0 4px 6px #0000001a;margin:1rem auto;max-width:1200px;padding:1.5rem}.warning-content h3{color:#92400e;font-size:1.2rem;font-weight:600;margin:0 0 1rem}.warning-content p{color:#78350f;line-height:1.6;margin:0 0 1.5rem}.warning-content code{background:#0000001a;border-radius:4px;font-family:Courier New,monospace;font-size:.9rem;padding:.2rem .4rem}.warning-links{display:flex;flex-wrap:wrap;gap:1rem}.warning-links a{align-items:center;background:#f59e0b;border-radius:6px;color:#fff;display:inline-flex;font-size:.9rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;text-decoration:none;transition:background-color .3s ease}.warning-links a:hover{background:#d97706;transform:translateY(-1px)}@media (max-width:768px){.config-warning{margin:1rem;padding:1rem}.warning-links{flex-direction:column}.warning-links a{justify-content:center}}.error-boundary{align-items:center;background:linear-gradient(135deg,#f093fb,#f5576c);display:flex;justify-content:center;min-height:100vh;padding:2rem}.error-content{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000001a;max-width:500px;padding:3rem;text-align:center;width:100%}.error-content h2{color:#dc2626;font-size:1.8rem;margin-bottom:1rem}.error-content p{color:#6b7280;line-height:1.6;margin-bottom:2rem}.error-details{margin:2rem 0;text-align:left}.error-details summary{color:#374151;cursor:pointer;font-weight:500;margin-bottom:1rem}.error-details pre{background:#f3f4f6;border-radius:6px;color:#dc2626;font-size:.8rem;overflow-x:auto;padding:1rem}.error-reload-btn{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:background-color .3s ease}.error-reload-btn:hover{background:#2563eb}@media (max-width:768px){.error-content{margin:1rem;padding:2rem}.error-content h2{font-size:1.5rem}}.loading-spinner{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.spinner{animation:spin 1s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:50px;margin-bottom:1rem;width:50px}.loading-message{font-size:1.1rem;font-weight:500;margin:0;opacity:.9;text-align:center}@media (max-width:768px){.spinner{border-width:3px;height:40px;width:40px}.loading-message{font-size:1rem}}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-family:inherit;font-weight:500;gap:8px;justify-content:center;outline:none;position:relative;text-decoration:none;transition:all .2s ease}.btn:focus-visible{outline:2px solid #007bff;outline-offset:2px}.btn--sm{font-size:14px;min-height:32px;padding:8px 12px}.btn--md{font-size:16px;min-height:40px;padding:12px 16px}.btn--lg{border-radius:12px;font-size:18px;min-height:48px;padding:16px 24px}.btn--primary{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 15px #667eea4d;color:#fff}.btn--primary:hover:not(.btn--disabled):not(.btn--loading){background:linear-gradient(135deg,#5a6fd8,#6a4190);box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.btn--secondary{background:#f8f9fa;border:1px solid #dee2e6;color:#495057}.btn--secondary:hover:not(.btn--disabled):not(.btn--loading){background:#e9ecef;border-color:#adb5bd}.btn--danger{background:#dc3545;color:#fff}.btn--danger:hover:not(.btn--disabled):not(.btn--loading){background:#c82333}.btn--outline{background:#0000;border:2px solid #667eea;color:#667eea}.btn--outline:hover:not(.btn--disabled):not(.btn--loading){background:#667eea;color:#fff}.btn--disabled{box-shadow:none!important;cursor:not-allowed;opacity:.6;transform:none!important}.btn--loading{cursor:wait}.btn--loading .btn__text{opacity:.7}.btn__spinner{animation:spin 1s linear infinite;font-size:1.2em}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.btn__text{align-items:center;display:flex;gap:8px}:root{--color-primary:#ff6b35;--color-primary-light:#ff8c65;--color-primary-dark:#e55a2b;--color-secondary:#ff9500;--color-text-primary:#2c3e50;--color-text-secondary:#7f8c8d;--color-white:#fff;--color-gray-100:#f8f9fa;--color-gray-200:#e9ecef;--color-border:#dee2e6;--color-border-light:#f1f3f4;--color-success:#28a745;--color-error:#dc3545;--color-warning:#ffc107;--color-info:#17a2b8;--radius-base:8px;--radius-large:12px;--shadow-sm:0 2px 4px #0000001a;--shadow-md:0 4px 8px #0000001f;--shadow-lg:0 8px 16px #00000026;--transition-fast:0.2s ease;--transition-normal:0.3s ease}.LoginPage_loginPageWrapper__t0B\+N{background:linear-gradient(135deg,#ff6b35,#ff9500);display:flex;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh}.LoginPage_leftSidebar__RSDVB{align-items:center;color:#fff;display:flex;flex:1 1;justify-content:center;padding:3rem}.LoginPage_companyBranding__xhZJ5{max-width:500px;text-align:left}.LoginPage_brandLogo__4Sc-p{margin-bottom:3rem}.LoginPage_brandLogo__4Sc-p h1{font-size:3rem;font-weight:800;margin-bottom:.5rem;text-shadow:0 2px 4px #0000004d}.LoginPage_brandLogo__4Sc-p p{font-size:1.2rem;font-weight:300;opacity:.9}.LoginPage_featuresList__DA5uq{margin-bottom:3rem}.LoginPage_feature__tqieC{align-items:flex-start;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff1a;border-radius:12px;display:flex;margin-bottom:2rem;padding:1rem;transition:all .3s ease}.LoginPage_feature__tqieC:hover{background:#ffffff26;transform:translateX(5px)}.LoginPage_featureIcon__doyp3{flex-shrink:0;font-size:2rem;margin-right:1rem}.LoginPage_featureContent__Jxb6n h3{color:#fff;font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.LoginPage_featureContent__Jxb6n p{font-size:.9rem;line-height:1.4;margin:0;opacity:.8}.LoginPage_companyTagline__qH-0L{text-align:center}.LoginPage_companyTagline__qH-0L p{background:#ffffff1a;border-left:4px solid #ffffff4d;border-radius:12px;font-size:1.1rem;font-style:italic;font-weight:300;opacity:.9;padding:1.5rem}.LoginPage_loginCard__wANzL{align-items:center;animation:LoginPage_fadeInUp__imTEH .6s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-left:1px solid #fff3;display:flex;justify-content:center;max-width:450px;min-height:100vh;padding:2.5rem;width:100%}.LoginPage_loginPage__t6ywt{width:100%}@keyframes LoginPage_fadeInUp__imTEH{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.LoginPage_header__Jauqg .LoginPage_logo__jz-zu h1{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));font-size:2.25rem;margin-bottom:.5rem;text-shadow:0 2px 4px #ff78001a}.LoginPage_header__Jauqg h2{color:#2c3e50;color:var(--color-text-primary);font-weight:600}.LoginPage_header__Jauqg p{color:#7f8c8d;color:var(--color-text-secondary);font-size:1rem;margin:0}@keyframes LoginPage_shake__4fTTd{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}@keyframes LoginPage_pulse__1uIua{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.LoginPage_header__Jauqg{margin-bottom:2.5rem;text-align:center}.LoginPage_header__Jauqg .LoginPage_logo__jz-zu{margin-bottom:1.5rem}.LoginPage_header__Jauqg .LoginPage_logo__jz-zu h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ff6b35,#ff9500);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:800;margin:0;text-shadow:0 2px 4px #ff6b351a;transition:all .3s ease}.LoginPage_header__Jauqg .LoginPage_logo__jz-zu h1:hover{transform:scale(1.05) rotate(1deg)}.LoginPage_header__Jauqg .LoginPage_logo__jz-zu p{color:#666;font-size:.9rem;font-weight:500;margin-top:.5rem}.LoginPage_header__Jauqg h2{color:#333;font-size:1.75rem;font-weight:700;margin-bottom:.75rem;text-shadow:0 1px 2px #0000001a}.LoginPage_header__Jauqg>p{color:#666;font-size:1rem;font-weight:400;margin:0}.LoginPage_generalError__MfrFt,.LoginPage_lockoutWarning__ficki{align-items:center;animation:LoginPage_shake__4fTTd .5s ease-in-out;border-radius:8px;border-radius:var(--radius-base);display:flex;font-size:.85rem;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem}.LoginPage_generalError__MfrFt{background:linear-gradient(135deg,#fee,#fdd);border:1px solid #dc3545;border:1px solid var(--color-error);color:#dc3545;color:var(--color-error)}.LoginPage_lockoutWarning__ficki{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border:1px solid #f0ad4e;color:#856404}.LoginPage_form__tKpqT{display:flex;flex-direction:column;gap:1.5rem}.LoginPage_formGroup__pka1n{display:flex;flex-direction:column;gap:.5rem}.LoginPage_formGroup__pka1n label{align-items:center;color:#2c3e50;color:var(--color-text-primary);display:flex;font-size:.9rem;font-weight:600;gap:.5rem;transition:color .2s ease}.LoginPage_formGroup__pka1n input{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffffe6;border:2px solid #ff9d0033;border-radius:12px;font-size:1rem;padding:1rem 1.25rem;position:relative;transition:all .3s ease}.LoginPage_formGroup__pka1n input:focus{background:#fffffff2;border-color:#ff6b35;box-shadow:0 0 0 4px #ff6b3526,0 4px 12px #ff6b351a;outline:none;transform:translateY(-2px)}.LoginPage_formGroup__pka1n input::placeholder{color:#7f8c8d;color:var(--color-text-secondary);transition:opacity .2s ease}.LoginPage_formGroup__pka1n input:focus::placeholder{opacity:.7}.LoginPage_formGroup__pka1n input.LoginPage_error__GFR\+T{animation:LoginPage_shake__4fTTd .3s ease-in-out;border-color:#dc3545;border-color:var(--color-error);box-shadow:0 0 0 3px #f443361a}.LoginPage_formGroup__pka1n input:hover:not(:focus):not(.LoginPage_error__GFR\+T){border-color:#ff6b3566;box-shadow:0 2px 8px #ff6b3514;transform:translateY(-1px)}.LoginPage_formGroup__pka1n input:disabled{background:#f8f9fa;background:var(--color-gray-100);cursor:not-allowed;opacity:.7}.LoginPage_passwordContainer__thmWk{position:relative}.LoginPage_passwordContainer__thmWk input{padding-right:3rem}.LoginPage_passwordToggle__O5Iom{background:none;border:none;border-radius:4px;color:#7f8c8d;color:var(--color-text-secondary);cursor:pointer;padding:.25rem;position:absolute;right:.75rem;top:50%;transform:translateY(-50%);transition:all .2s ease}.LoginPage_passwordToggle__O5Iom:hover:not(:disabled){background:#f8f9fa;background:var(--color-gray-100);color:#ff6b35;color:var(--color-primary);transform:translateY(-50%) scale(1.1)}.LoginPage_passwordToggle__O5Iom:disabled{cursor:not-allowed;opacity:.5}.LoginPage_errorText__5Q-Vr{align-items:center;animation:LoginPage_fadeInUp__imTEH .3s ease;color:#dc3545;color:var(--color-error);display:flex;font-size:.8rem;gap:.25rem;margin-top:-.25rem}.LoginPage_errorText__5Q-Vr:before{content:"⚠️";font-size:.7rem}.LoginPage_formOptions__gjKOj{align-items:center;display:flex;font-size:.85rem;justify-content:space-between}@media(max-width:767px){.LoginPage_formOptions__gjKOj{align-items:flex-start;flex-direction:column;gap:1rem}}.LoginPage_checkbox__cwCRj{align-items:center;cursor:pointer;display:flex;gap:.5rem;transition:color .2s ease}.LoginPage_checkbox__cwCRj input[type=checkbox]{accent-color:#ff6b35;accent-color:var(--color-primary);cursor:pointer;margin:0;width:auto}.LoginPage_checkbox__cwCRj span{color:#7f8c8d;color:var(--color-text-secondary);transition:color .2s ease}.LoginPage_checkbox__cwCRj:hover span{color:#2c3e50;color:var(--color-text-primary)}.LoginPage_forgotPassword__pkRXn{background:none;border:none;border-radius:4px;color:#ff6b35;color:var(--color-primary);cursor:pointer;font-size:.85rem;padding:.25rem .5rem;transition:all .2s ease}.LoginPage_forgotPassword__pkRXn:hover:not(:disabled){background:#ff8c65;background:var(--color-primary-light);text-decoration:underline;transform:translateY(-1px)}.LoginPage_forgotPassword__pkRXn:disabled{cursor:not-allowed;opacity:.5}.LoginPage_actionButtons__ygsQb{display:flex;flex-direction:column;gap:1.5rem;margin-top:1rem}.LoginPage_submitButton__dnap\+{background:linear-gradient(135deg,#ff6b35,#ff9500)!important;border:none!important;border-radius:14px!important;box-shadow:0 4px 15px #ff6b354d;color:#fff!important;font-size:1.1rem;font-weight:700;height:52px;letter-spacing:.5px;text-transform:uppercase;transition:all .3s ease;width:100%}.LoginPage_submitButton__dnap\+:hover:not(:disabled){background:linear-gradient(135deg,#ff7849,#ffac1a)!important;box-shadow:0 8px 25px #ff6b3566,0 4px 12px #00000026;transform:translateY(-3px)}.LoginPage_submitButton__dnap\+:active:not(:disabled){transform:translateY(-1px)}.LoginPage_submitButton__dnap\+:disabled{box-shadow:0 2px 8px #ff6b3533;cursor:not-allowed;opacity:.6;transform:none}.LoginPage_footer__jl37G{margin-top:2rem;text-align:center}.LoginPage_footer__jl37G p{color:#7f8c8d;color:var(--color-text-secondary);font-size:.85rem;margin-bottom:.5rem}.LoginPage_signupLink__ZOml7{background:none;border:none;border-radius:4px;color:#ff6b35;color:var(--color-primary);cursor:pointer;font-weight:600;padding:.25rem .5rem;transition:all .2s ease}.LoginPage_signupLink__ZOml7:hover:not(:disabled){background:#ff8c65;background:var(--color-primary-light);text-decoration:underline;transform:translateY(-1px)}.LoginPage_signupLink__ZOml7:disabled{cursor:not-allowed;opacity:.5}.LoginPage_securityNote__fQFfP{align-items:center;color:#28a745;color:var(--color-success);display:flex;font-size:.75rem;font-weight:500;gap:.25rem;justify-content:center;margin-top:.5rem}.LoginPage_serverStatus__P7YUk{align-items:center;border:1px solid;border-radius:6px;display:flex;font-size:12px;font-weight:500;gap:6px;margin-top:12px;padding:8px 12px;transition:all .3s ease}.LoginPage_serverStatus__P7YUk.LoginPage_checking__YIHkY{background-color:#ffc1071a;border-color:#ffc1074d;color:#856404}.LoginPage_serverStatus__P7YUk.LoginPage_checking__YIHkY svg{animation:LoginPage_spin__hpQ3m 1s linear infinite}.LoginPage_serverStatus__P7YUk.LoginPage_online__Xda1K{background-color:#28a7451a;border-color:#28a7454d;color:#155724}.LoginPage_serverStatus__P7YUk.LoginPage_offline__ssJu1{background-color:#dc35451a;border-color:#dc35454d;color:#721c24}@keyframes LoginPage_spin__hpQ3m{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media(max-width:767px){.LoginPage_loginPageWrapper__t0B\+N{flex-direction:column;padding:0}.LoginPage_leftSidebar__RSDVB{padding:2rem 1rem;text-align:center}.LoginPage_leftSidebar__RSDVB .LoginPage_brandLogo__4Sc-p{margin-bottom:2rem}.LoginPage_leftSidebar__RSDVB .LoginPage_brandLogo__4Sc-p h1{font-size:2rem}.LoginPage_leftSidebar__RSDVB .LoginPage_brandLogo__4Sc-p p{font-size:1rem}.LoginPage_leftSidebar__RSDVB .LoginPage_featuresList__DA5uq{display:none}.LoginPage_leftSidebar__RSDVB .LoginPage_companyTagline__qH-0L{margin-bottom:1rem}.LoginPage_leftSidebar__RSDVB .LoginPage_companyTagline__qH-0L p{font-size:.9rem;padding:1rem}.LoginPage_loginCard__wANzL{border-left:none;border-top:1px solid #fff3;max-width:100%;min-height:auto;padding:1.5rem}.LoginPage_loginPage__t6ywt{max-width:100%}}.LoginPage_header__Jauqg{margin-bottom:1.5rem}.LoginPage_header__Jauqg .LoginPage_logo__jz-zu h1{font-size:1.75rem}.LoginPage_header__Jauqg h2{font-size:1.5rem}.LoginPage_form__tKpqT{gap:1.25rem}.LoginPage_formGroup__pka1n input{font-size:16px;padding:.875rem 1rem}@media(prefers-color-scheme:dark){.LoginPage_loginPage__t6ywt .LoginPage_generalError__MfrFt{background:linear-gradient(135deg,#2d1b1b,#3d1a1a)}.LoginPage_loginPage__t6ywt .LoginPage_lockoutWarning__ficki{background:linear-gradient(135deg,#2d2516,#3d3020)}.LoginPage_loginPage__t6ywt .LoginPage_demoCredentials__wjpcL{background:linear-gradient(135deg,#1a2332 10%,#243447)}}@media print{.LoginPage_loginPage__t6ywt .LoginPage_demoCredentials__wjpcL,.LoginPage_loginPage__t6ywt .LoginPage_footer__jl37G,.LoginPage_loginPage__t6ywt .LoginPage_quickActions__xBXTn{display:none}}.dashboard{background:#f8f9fa;display:flex;flex-direction:column;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh}.dashboard-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 6px #0000001a;color:#fff;display:flex;justify-content:space-between;padding:20px 32px}.header-left h1{font-size:24px;font-weight:700;margin:0 0 4px}.header-left p{font-size:14px;margin:0;opacity:.9}.header-right{align-items:center;display:flex;gap:20px}.user-info{align-items:flex-end;display:flex;flex-direction:column;gap:2px}.user-name{font-size:16px;font-weight:600}.user-role{background:#fff3;border-radius:12px;font-size:12px;font-weight:500;opacity:.8;padding:2px 8px;text-transform:uppercase}.logout-btn{background:#fff3;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s ease}.logout-btn:hover{background:#ffffff4d}.dashboard-nav{background:#fff;border-bottom:2px solid #e9ecef;overflow-x:auto;padding:0 32px}.nav-tabs{display:flex;gap:4px;min-width:fit-content}.nav-tab{background:none;border:none;border-bottom:3px solid #0000;color:#6c757d;cursor:pointer;font-size:16px;font-weight:500;padding:16px 24px;transition:all .2s ease;white-space:nowrap}.nav-tab:hover{background:#f8f9fa;color:#495057}.nav-tab.active{background:#f8f9fa;border-bottom-color:#667eea;color:#667eea}.dashboard-content{flex:1 1;margin:0 auto;max-width:1200px;padding:32px;width:100%}.dashboard-footer{background:#fff;border-top:1px solid #e9ecef;margin-top:auto;padding:20px 32px}.footer-content{margin:0 auto;max-width:1200px;text-align:center}.footer-content p{color:#6c757d;font-size:14px;margin:4px 0}.footer-content a{color:#667eea;margin-left:8px;text-decoration:none}.footer-content a:hover{text-decoration:underline}@media (max-width:768px){.dashboard-header{padding:16px 20px;text-align:center}.dashboard-header,.header-right{flex-direction:column;gap:12px}.user-info{align-items:center}.dashboard-nav{padding:0 20px}.nav-tab{font-size:14px;padding:12px 16px}.dashboard-content{padding:20px}.dashboard-footer{padding:16px 20px}}@media (max-width:480px){.nav-tabs{flex-wrap:wrap}.nav-tab{flex:1 1;min-width:calc(50% - 2px);text-align:center}.dashboard-content{padding:16px}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;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}*{box-sizing:border-box}
/*# sourceMappingURL=main.4b4ea448.css.map*/