:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:block;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.register-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px;background-color:#f8f9fa}.register-form{background:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 10px #0000001a;width:100%;max-width:400px}.register-form h2{text-align:center;margin-bottom:24px;color:#333}.form-group input.invalid{border-color:#dc3545}.verification-input-wrapper input{width:100%;padding-right:32%}.verification-button{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:30%;padding:6px 12px;background-color:#007bff;color:#fff;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:background-color .3s;white-space:nowrap;box-sizing:border-box}.register-form button{width:100%;padding:12px;background-color:#007bff;color:#fff;border:none;border-radius:4px;font-size:16px;cursor:pointer;transition:background-color .3s}.register-form button:hover{background-color:#0069d9}.register-form button:disabled{background-color:#6c757d;cursor:not-allowed}.error-message{color:#dc3545;font-size:14px;margin-top:5px}.App.desktop .register-layout.desktop{display:flex;flex-direction:column;width:100%;height:100%;margin:0;background:#fff;border-radius:0;box-shadow:none;overflow:hidden}.register-header{padding:40px 50px 20px;background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;text-align:center}.register-header h1{font-size:36px;margin-bottom:10px;font-weight:700}.register-header .subtitle{font-size:18px;opacity:.9;margin:0}.register-content{display:flex;flex:1;min-height:0}.register-form-section{flex:1;padding:40px 50px;overflow-y:auto}.register-form.desktop{background:none;padding:0;box-shadow:none;max-width:none;width:100%}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-bottom:30px}.form-field{display:flex;flex-direction:column}.form-field label{font-size:16px;font-weight:600;margin-bottom:8px;color:#333}.form-field input{padding:14px 16px;font-size:16px;border:2px solid #e1e5e9;border-radius:8px;transition:all .3s ease;width:100%;box-sizing:border-box}.form-field input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff40}.form-field input.invalid{border-color:#dc3545}.verification-field{grid-column:span 2}.verification-input-group{position:relative;display:flex;align-items:center}.verification-input-group input{width:100%;padding-right:32%}.verification-input-group .verification-button{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:30%;padding:8px 12px;background-color:#007bff;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:background-color .3s;white-space:nowrap;box-sizing:border-box}.verification-input-group .verification-button:hover{background-color:#0069d9}.verification-input-group .verification-button:disabled{background-color:#6c757d;cursor:not-allowed}.form-actions{margin-bottom:25px}.submit-button{width:100%;padding:16px;background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;border:none;border-radius:8px;font-size:18px;font-weight:600;cursor:pointer;transition:all .3s ease}.submit-button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #007bff66}.submit-button:disabled{background:#6c757d;cursor:not-allowed;transform:none;box-shadow:none}.form-footer{text-align:center;font-size:14px;color:#666}.form-footer a{color:#007bff;text-decoration:none}.form-footer a:hover{text-decoration:underline}.register-illustration{flex:1;background:linear-gradient(135deg,#f8f9fa,#e9ecef);padding:50px 40px;display:flex;align-items:center;justify-content:center}.illustration-content h2{font-size:28px;color:#333;margin-bottom:30px;text-align:center}.illustration-content ul{list-style:none;padding:0;margin:0}.illustration-content li{font-size:18px;margin-bottom:20px;padding-left:30px;position:relative;color:#555}.illustration-content li:before{content:"✓";position:absolute;left:0;top:0;color:#28a745;font-weight:700;font-size:20px}.App.desktop .register-container.desktop{padding:0;align-items:stretch;justify-content:stretch}.register-container.mobile{padding:10px}.register-form.mobile{padding:20px;box-shadow:none;border-radius:0}.register-form.mobile h2{font-size:22px;margin-bottom:20px}.register-form.mobile .form-group label{font-size:14px}.register-form.mobile .form-group input{padding:8px;font-size:14px}.register-form.mobile .form-group input.invalid{border-color:#dc3545}.register-form.mobile .verification-input-wrapper input{padding-right:32%}.register-form.mobile .verification-button{padding:4px 8px;font-size:12px}.register-form.mobile button{padding:10px;font-size:16px}.register-form.mobile .error-message{font-size:12px}.register-container.tablet{padding:30px}.register-form.tablet{padding:30px;max-width:450px}.register-form.tablet h2{font-size:26px;margin-bottom:28px}.register-form.tablet .form-group label{font-size:15px}.register-form.tablet .form-group input{padding:10px;font-size:15px}.register-form.tablet .form-group input.invalid{border-color:#dc3545}.register-form.tablet .verification-input-wrapper input{padding-right:32%}.register-form.tablet .verification-button{padding:6px 10px;font-size:13px}.register-form.tablet button{padding:12px;font-size:17px}.register-form.tablet .error-message{font-size:13px}.App.fullscreen .register-container{min-height:calc(100vh - 80px);padding:0;align-items:stretch}.App.fullscreen .register-layout.desktop{height:calc(100vh - 80px)}@media (max-width: 768px){.register-form{padding:20px;margin:10px}.register-container{padding:10px}}@media (max-width: 1200px){.register-content{flex-direction:column}.register-illustration{padding:30px}.form-grid{grid-template-columns:1fr}.verification-field{grid-column:span 1}.verification-input-group input{padding-right:32%}.verification-input-group .verification-button{padding:6px 10px;font-size:13px}}@media (max-width: 576px){.register-header{padding:25px 20px 15px}.register-header h1{font-size:28px}.register-form-section{padding:25px 20px}.form-grid{gap:15px}.form-field label{font-size:15px}.form-field input{padding:12px 14px;font-size:15px}.form-field input.invalid{border-color:#dc3545}.verification-input-group input{padding-right:32%}.verification-input-group .verification-button{padding:5px 8px;font-size:12px}.submit-button{padding:14px;font-size:16px}.error-message{font-size:12px}}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px;background-color:#f5f5f5}.login-form{background:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 10px #0000001a;width:100%;max-width:400px}.login-form h2{text-align:center;margin-bottom:24px;color:#333}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:4px;font-weight:500;color:#555}.form-group input{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:16px;box-sizing:border-box}.verification-input-wrapper{position:relative;display:flex;align-items:center}.verification-input-wrapper input{width:100%;padding-right:32%;box-sizing:border-box}.verification-button{position:absolute;right:4px;top:4px;bottom:4px;width:30%;padding:0 4px;background-color:#007bff;color:#fff;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:background-color .3s;white-space:nowrap;box-sizing:border-box}.verification-button:hover{background-color:#0069d9}.verification-button:disabled{background-color:#6c757d;cursor:not-allowed}.form-options{display:flex;justify-content:flex-end;margin-bottom:16px}.toggle-button{background:none;border:none;color:#007bff;cursor:pointer;font-size:14px;text-decoration:underline}.toggle-button:hover{color:#0056b3}.login-form button{width:100%;padding:12px;background-color:#007bff;color:#fff;border:none;border-radius:4px;font-size:16px;cursor:pointer;transition:background-color .3s}.login-form button:hover{background-color:#0069d9}.login-form button:disabled{background-color:#6c757d;cursor:not-allowed}.message{margin-top:16px;padding:10px;border-radius:4px;text-align:center}.login-container.desktop{padding:40px}.login-form.desktop{padding:40px;max-width:500px;border-radius:12px;box-shadow:0 5px 25px #0000001a}.login-form.desktop h2{font-size:32px;margin-bottom:30px;color:#222}.login-form.desktop .form-group{margin-bottom:20px}.login-form.desktop .form-group label{font-size:18px;font-weight:600;margin-bottom:8px}.login-form.desktop .form-group input{padding:15px;font-size:18px;border-radius:8px;border:2px solid #e1e5e9;transition:all .3s ease;box-sizing:border-box}.login-form.desktop .form-group input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff40}.login-form.desktop .verification-input-wrapper input{padding:15px 32% 15px 15px;font-size:18px}.login-form.desktop .verification-button{top:6px;bottom:6px;right:6px;padding:0 6px;font-size:16px;border-radius:6px;width:30%}.login-form.desktop .form-options{margin-bottom:20px;justify-content:center}.login-form.desktop .toggle-button{font-size:16px;font-weight:500;text-decoration:none;padding:8px 16px;border-radius:6px;background-color:#f1f3f5;transition:all .3s ease}.login-form.desktop .toggle-button:hover{background-color:#e9ecef;color:#0056b3;transform:translateY(-1px)}.login-form.desktop button{padding:16px;font-size:20px;border-radius:8px;font-weight:600;margin-top:10px;transition:all .3s ease}.login-form.desktop button:hover{background-color:#0069d9;transform:translateY(-2px);box-shadow:0 4px 15px #007bff4d}.login-form.desktop button:disabled{background-color:#6c757d;cursor:not-allowed;transform:none;box-shadow:none}.login-form.desktop .message{margin-top:20px;padding:15px;font-size:18px;border-radius:8px}.login-container.mobile{padding:10px}.login-form.mobile{padding:20px;box-shadow:none;border-radius:0}.login-form.mobile h2{font-size:22px;margin-bottom:20px}.login-form.mobile .form-group label{font-size:14px}.login-form.mobile .form-group input{padding:8px;font-size:14px}.login-form.mobile .verification-input-wrapper input{padding:8px 32% 8px 8px;font-size:14px}.login-form.mobile .verification-button{top:4px;bottom:4px;right:4px;padding:0 4px;font-size:12px;width:30%}.login-form.mobile .form-options{margin-bottom:12px}.login-form.mobile .toggle-button{font-size:13px}.login-form.mobile button{padding:10px;font-size:16px}.login-container.tablet{padding:30px}.login-form.tablet{padding:30px;max-width:450px}.login-form.tablet h2{font-size:26px;margin-bottom:28px}.login-form.tablet .form-group label{font-size:15px}.login-form.tablet .form-group input{padding:10px;font-size:15px}.login-form.tablet .verification-input-wrapper input{padding:10px 32% 10px 10px;font-size:15px}.login-form.tablet .verification-button{top:5px;bottom:5px;right:5px;padding:0 5px;font-size:13px;width:30%}.login-form.tablet .form-options{margin-bottom:18px}.login-form.tablet .toggle-button{font-size:14px}.login-form.tablet button{padding:12px;font-size:17px}.App.fullscreen .login-container{min-height:calc(100vh - 80px);padding:40px;align-items:flex-start;justify-content:center}.App.fullscreen .login-form{margin-top:50px;width:100%;max-width:600px;box-shadow:0 10px 30px #00000026}.App.fullscreen .login-form.desktop{padding:50px;max-width:650px}@media (max-width: 768px){.login-form{padding:20px;margin:10px}.login-container{padding:10px}.verification-input-wrapper input{padding-right:32%}.verification-button{width:30%;height:calc(100% - 8px);right:4px}}.home-container{min-height:100vh;background-color:#f5f5f5}.home-header{display:flex;justify-content:space-between;align-items:center;padding:20px 40px;background-color:#fff;box-shadow:0 2px 4px #0000001a}.home-header h1{margin:0;color:#333}.user-info{display:flex;align-items:center;gap:20px}.logout-button{padding:8px 16px;background-color:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s}.logout-button:hover{background-color:#c82333}.home-content{max-width:1200px;margin:0 auto;padding:20px}.home-nav{display:flex;gap:10px;margin-bottom:30px;background-color:#fff;padding:10px;border-radius:8px;box-shadow:0 1px 3px #0000001a}.home-nav button{padding:12px 24px;background-color:#e0e0e0;border:none;border-radius:6px;cursor:pointer;color:#000;font-size:16px;transition:all .3s}.home-nav button.active{background-color:#007bff;color:#fff}.home-nav button:hover{background-color:#e9ecef}.home-nav button.active:hover{background-color:#0069d9}.home-main{background-color:#fff;border-radius:8px;padding:30px;box-shadow:0 1px 3px #0000001a}.loading{text-align:center;padding:20px;color:#007bff}.message{padding:15px;margin-bottom:20px;border-radius:4px;text-align:center}.message:not(:empty){background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.nodes-section h2,.work-orders-section h2,.applications-section h2{margin-top:0;margin-bottom:20px;color:#333;border-bottom:2px solid #007bff;padding-bottom:10px}.nodes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.node-card{border:1px solid #ddd;border-radius:8px;padding:20px;background-color:#f8f9fa;transition:transform .3s,box-shadow .3s}.node-card:hover{transform:translateY(-5px);box-shadow:0 4px 8px #0000001a}.node-card h3{margin-top:0;color:#007bff}.node-card p{margin:8px 0;color:#555}.work-orders-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:20px}.work-order-card{border:1px solid #ddd;border-radius:8px;padding:20px;background-color:#f8f9fa}.work-order-card h3{margin-top:0;color:#007bff}.work-order-card h4{color:#333;margin-bottom:10px}.work-order-card p{margin:8px 0;color:#555}.node-info{margin-top:15px;padding:15px;background-color:#e9ecef;border-radius:4px}.node-application-form{max-width:600px;margin:0 auto}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:5px;font-weight:500;color:#333}.form-group input{width:100%;padding:12px;border:1px solid #ddd;border-radius:4px;font-size:16px;box-sizing:border-box;background-color:#fff;color:#000}.form-group input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.form-group input::placeholder{color:#999}.cascader-wrapper{display:flex;gap:10px;flex-wrap:wrap}.cascader-select{flex:1;min-width:150px;padding:12px;border:1px solid #ddd;border-radius:4px;font-size:16px;background-color:#fff;color:#333;cursor:pointer}.cascader-select:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed}.cascader-select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.cascader-select option{color:#333;background-color:#fff}.node-application-form button{width:100%;padding:12px;background-color:#007bff;color:#fff;border:none;border-radius:4px;font-size:16px;cursor:pointer;transition:background-color .3s}.node-application-form button:hover{background-color:#0069d9}.node-application-form button:disabled{background-color:#6c757d;cursor:not-allowed}@media (max-width: 768px){.home-header{flex-direction:column;gap:15px;padding:15px 20px}.home-content{padding:15px}.home-nav{flex-wrap:wrap}.home-nav button{flex:1 0 auto;min-width:120px;margin-bottom:5px}.home-main{padding:20px}.work-orders-list{grid-template-columns:1fr}.cascader-wrapper{flex-direction:column}.cascader-select{min-width:100%}}#root{max-width:1280px;margin:0 auto;padding:0}.App{min-height:100vh;background-color:#f5f5f5}.navigation{display:flex;justify-content:center;background-color:#fff;box-shadow:0 2px 4px #0000001a;padding:10px 0}.navigation button{padding:10px 20px;margin:0 10px;border:none;border-radius:4px;background-color:#e9ecef;color:#495057;cursor:pointer;font-size:16px;transition:all .3s}.navigation button:hover{background-color:#dee2e6}.navigation button.active{background-color:#007bff;color:#fff}.fullscreen-toggle{margin-left:auto;margin-right:20px;background-color:#28a745;color:#fff}.fullscreen-toggle:hover{background-color:#218838}.content{padding:0}.device-info{position:fixed;bottom:10px;right:10px;background-color:#000000b3;color:#fff;padding:5px 10px;border-radius:4px;font-size:12px;display:none}.App.desktop{background-color:#f5f5f5;width:100%;max-width:none;margin:0}.App.desktop #root{max-width:none;margin:0;width:100%}.App.desktop .navigation{justify-content:flex-start;padding:15px 0 15px 50px}.App.desktop .navigation button{padding:12px 24px;font-size:18px;margin:0 15px;border-radius:6px;font-weight:500;box-shadow:0 2px 5px #0000001a;transition:all .3s ease}.App.desktop .navigation button:hover{transform:translateY(-2px);box-shadow:0 4px 10px #00000026}.App.desktop .navigation button.active{background-color:#007bff;color:#fff;box-shadow:0 4px 10px #007bff4d}.App.desktop .fullscreen-toggle{margin-left:auto;margin-right:50px;padding:12px 24px;font-size:18px;border-radius:6px;font-weight:500;box-shadow:0 2px 5px #0000001a}.App.desktop .fullscreen-toggle:hover{transform:translateY(-2px);box-shadow:0 4px 10px #00000026}.App.mobile #root{max-width:1280px;margin:0 auto}.App.mobile .navigation{padding:8px 0;position:sticky;top:0;z-index:100}.App.mobile .navigation button{padding:8px 16px;font-size:14px;margin:0 5px;flex:1}.App.mobile .navigation{display:flex}.App.tablet #root{max-width:1280px;margin:0 auto}.App.tablet .navigation{padding:12px 0}.App.tablet .navigation button{padding:10px 20px;font-size:16px;margin:0 10px}.App.fullscreen{height:100vh;overflow:hidden}.App.fullscreen #root{max-width:none;margin:0;height:100%}.App.fullscreen .content{height:calc(100vh - 80px);overflow-y:auto}@media (max-width: 768px){.navigation{padding:10px}.navigation button{padding:8px 16px;font-size:14px;margin:0 5px}.device-info{display:none}}@media (min-width: 769px) and (max-width: 1024px){.navigation button{padding:10px 20px;font-size:16px;margin:0 10px}}@media (min-width: 1025px){.navigation button{padding:12px 24px;font-size:18px;margin:0 15px}}
