.header{width:100%;padding:5px 20px;border-radius:0;box-shadow:0 4px 12px #00000026;margin:0;display:flex;justify-content:space-between;align-items:center;position:relative;background-size:cover;background-position:center center;background-repeat:no-repeat;background-attachment:local;min-height:100px;overflow:hidden;box-sizing:border-box}.header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#ffffff0d;border-radius:0;pointer-events:none}.header-content{width:100%;display:flex;flex-direction:column;gap:0;position:relative;z-index:1}.header-top-row{width:100%;display:flex;justify-content:space-between;align-items:center;gap:2rem;position:relative;z-index:1}.header-left,.header-title-section{display:flex;flex-direction:column;gap:4px;position:relative;z-index:1}.header-title{margin:0;font-size:36px;font-weight:700;color:#0d47a1;text-shadow:0 2px 4px rgba(255,255,255,.8),0 1px 2px rgba(255,255,255,.6);line-height:1.2;letter-spacing:.5px;width:fit-content}.header-subtitle{margin:0;font-size:22px;font-weight:600;color:#1565c0;text-shadow:0 2px 4px rgba(255,255,255,.8),0 1px 2px rgba(255,255,255,.6);line-height:1.3;letter-spacing:.3px}.header-right,#auth-section,.user-actions{display:flex;align-items:center;gap:10px;position:relative;z-index:1}.sign-in-button{padding:8px 16px;background:#e74c3c;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;display:flex;align-items:center;gap:8px}.sign-out-button{padding:8px 16px}.sign-out-button i,.sign-out-button span{font-size:14px}.sign-in-button:hover{background:#c0392b}.sign-in-button:active{transform:scale(.98)}.nav-buttons{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.nav-buttons-desktop{display:flex}.nav-buttons-mobile{display:none}.nav-btn{width:40px;height:40px;min-height:40px;display:flex;flex-direction:row;align-items:center;justify-content:center;background:#ffffffe6;border:2px solid var(--btn-color, #667eea);border-radius:8px;text-decoration:none;font-size:18px;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;box-shadow:0 2px 4px #0000001a;color:var(--btn-color, #667eea);padding:0;margin:0;gap:6px;overflow:hidden;white-space:nowrap}.nav-btn:hover{background:var(--btn-color, #667eea);color:#fff!important;transform:translateY(-2px);box-shadow:0 4px 8px #0000004d}.nav-btn.active{background:var(--btn-color, #667eea);color:#fff!important;box-shadow:0 4px 8px #0000004d;padding:0 12px;width:auto;min-width:40px}.nav-btn.active i{color:#fff!important}.nav-btn i{margin:0;font-size:18px;line-height:1;flex-shrink:0;transition:color .3s cubic-bezier(.4,0,.2,1)}.nav-btn-label{font-size:12px;font-weight:600;line-height:1;white-space:nowrap;color:#fff;opacity:0;max-width:0;overflow:hidden;transition:opacity .3s cubic-bezier(.4,0,.2,1),max-width .3s cubic-bezier(.4,0,.2,1),margin .3s cubic-bezier(.4,0,.2,1)}.nav-btn.active .nav-btn-label{opacity:1;max-width:200px;margin-left:0}#nav-home.nav-btn{border-color:#4caf50!important;color:#4caf50!important;--btn-color: #4CAF50}#nav-home.nav-btn:hover{background:#4caf50!important;box-shadow:0 4px 8px #4caf504d}#nav-home.nav-btn.active{background:#4caf50!important}#nav-dashboard.nav-btn{border-color:#9c27b0!important;color:#9c27b0!important;--btn-color: #9C27B0}#nav-dashboard.nav-btn:hover{background:#9c27b0!important;box-shadow:0 4px 8px #9c27b04d}#nav-dashboard.nav-btn.active{background:#9c27b0!important}#nav-analytics.nav-btn{border-color:#00bcd4!important;color:#00bcd4!important;--btn-color: #00BCD4}#nav-analytics.nav-btn:hover{background:#00bcd4!important;box-shadow:0 4px 8px #00bcd44d}#nav-analytics.nav-btn.active{background:#00bcd4!important}#nav-admin.nav-btn{border-color:#ff9800!important;color:#ff9800!important;--btn-color: #FF9800}#nav-admin.nav-btn:hover{background:#ff9800!important;box-shadow:0 4px 8px #ff98004d}#nav-admin.nav-btn.active{background:#ff9800!important}#nav-permissions.nav-btn{border-color:#607d8b!important;color:#607d8b!important;--btn-color: #607D8B}#nav-permissions.nav-btn:hover{background:#607d8b!important;box-shadow:0 4px 8px #607d8b4d}#nav-permissions.nav-btn.active{background:#607d8b!important}@media (max-width: 768px){.header{padding:1rem;min-height:auto}.header-content{gap:12px}.header-top-row{flex-direction:row;align-items:center;gap:1rem}.header-title{font-size:1.5rem}.header-subtitle{font-size:.875rem}.header-title-section{flex:1;min-width:0}.nav-buttons-desktop{display:none}.nav-buttons-mobile{display:flex;justify-content:center;width:100%}.nav-buttons-mobile .nav-buttons{justify-content:center;width:100%}.header-right{flex-shrink:0}.user-actions{gap:0}.sign-in-button{padding:.5rem 1rem;font-size:.875rem}.tree-icon{font-size:1.25rem}}.snow-entry-container{width:100%;padding:0}@media (max-width: 600px){.summary-header{padding:12px 16px;flex-direction:column}.summary-title-section{flex:0 0 100%;margin-bottom:12px}.summary-stats-row{flex:0 0 100%;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:12px;overflow-x:visible}.summary-percentage{display:none}.summary-stat-card{min-width:0;padding:12px 8px;width:100%}.summary-stat-total{order:1}.summary-stat-req-clearance{order:2}.summary-stat-cleared{order:3}.summary-stat-remaining{order:4}.summary-stat-volume{order:5;grid-column:1 / -1;width:100%;text-align:center}.summary-stat-volume .summary-stat-label,.summary-stat-volume .summary-stat-value{justify-content:center;text-align:center}.summary-stat-volume .summary-stat-row{justify-content:center}.summary-stat-volume .summary-stat-value{font-size:1.2em;width:100%}.summary-stat-label{font-size:14px}.summary-stat-number,.summary-stat-value{font-size:16px}.cards-row{grid-template-columns:1fr}}.min-dashboard-container{width:100%;padding:0}.summary-dashboard{background:#f8f9fa;border-radius:12px;margin-bottom:20px;overflow:hidden;box-shadow:0 2px 8px #00000014}.summary-header{padding:16px 20px;background:#fff;display:flex;align-items:center;gap:20px}.summary-title-section{flex:0 0 30%;min-width:0}.summary-title{font-size:22px;font-weight:700;color:#2c3e50;margin:0 0 6px}.summary-fall-date{font-size:16px;color:#1976d2;background:#e3f2fd;padding:6px 12px;border-radius:4px;display:inline-block;font-weight:500}.summary-fall-date i{margin-right:6px}.summary-fall-date span{font-weight:700}.summary-stats-row{display:flex;align-items:center;gap:12px;flex-wrap:nowrap;flex:0 0 70%;min-width:0;overflow-x:auto}.summary-stat-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;flex:1;min-width:150px}.summary-stat-label{font-size:20px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;display:flex;align-items:center;gap:8px}.summary-stat-icon{font-size:20px;line-height:1}.summary-stat-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;width:100%;padding:0 4px}.summary-stat-number{font-size:20px;font-weight:700;line-height:1.2;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;white-space:nowrap;text-align:left}.summary-stat-value{font-size:20px;font-weight:700;line-height:1.2;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;white-space:nowrap;text-align:right}.summary-stat-total .summary-stat-label,.summary-stat-total .summary-stat-number,.summary-stat-total .summary-stat-value,.summary-stat-total .summary-stat-icon{color:#000}.summary-stat-req-clearance .summary-stat-label,.summary-stat-req-clearance .summary-stat-number,.summary-stat-req-clearance .summary-stat-value,.summary-stat-req-clearance .summary-stat-icon{color:#2980b9}.summary-stat-cleared .summary-stat-label,.summary-stat-cleared .summary-stat-number,.summary-stat-cleared .summary-stat-value,.summary-stat-cleared .summary-stat-icon{color:#27ae60}.summary-stat-remaining .summary-stat-label,.summary-stat-remaining .summary-stat-number,.summary-stat-remaining .summary-stat-value,.summary-stat-remaining .summary-stat-icon{color:#e74c3c}.summary-stat-through-traffic .summary-stat-label,.summary-stat-through-traffic .summary-stat-number,.summary-stat-through-traffic .summary-stat-value,.summary-stat-through-traffic .summary-stat-icon{color:#27ae60}.summary-stat-volume .summary-stat-label,.summary-stat-volume .summary-stat-number,.summary-stat-volume .summary-stat-value{color:#9b59b6;font-weight:300;font-size:.85em}.summary-stat-volume .summary-stat-icon{color:#9b59b6;font-size:.9em}.summary-stat-volume{align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center}.summary-stat-volume .summary-stat-row{justify-content:center;width:100%}.summary-stat-volume .summary-stat-value{text-align:center;font-size:1.1em;width:100%}.summary-percentage{font-size:32px;font-weight:700;color:#2c3e50;padding:0 16px;flex-shrink:0}.summary-progress-bar{height:12px;background:#e9ecef;overflow:hidden}.summary-progress-fill{height:100%;background:#27ae60;transition:width .5s ease,background .3s ease;width:0%}.summary-progress-fill.low{background:#27ae60}.summary-progress-fill.medium{background:#f39c12}.summary-progress-fill.high{background:#27ae60}.cards-pocket{margin-bottom:24px}.cards-pocket-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}.cards-pocket-header h3{font-size:22px;font-weight:700;color:#2c3e50;margin:0}.cards-count{font-size:13px;color:#777;font-weight:600}.cards-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;align-items:stretch}.cards-row-scroll{overflow-x:auto;overflow-y:hidden}.road-card{cursor:pointer;transition:box-shadow .15s ease}.road-card:hover{box-shadow:0 4px 12px #00000026}.empty-cards-message{grid-column:1 / -1;text-align:center;padding:40px 20px;color:#999;font-size:16px;font-style:italic}@media (max-width: 1200px){.summary-header{flex-direction:column;align-items:flex-start}.summary-title-section{flex:0 0 100%;width:100%;margin-bottom:16px}.summary-stats-row{flex:0 0 100%;width:100%;flex-wrap:nowrap;overflow-x:auto}.summary-stat-card{min-width:140px;flex:1 1 auto}.summary-percentage{flex-shrink:0;padding:0 16px}}@media (max-width: 600px){.summary-header{padding:12px 16px;flex-direction:column;align-items:center}.summary-title-section{flex:0 0 100%;width:100%;margin-bottom:12px;text-align:center}.summary-title{text-align:center}.summary-fall-date{display:inline-block;margin:0 auto}.summary-stats-row{flex:0 0 100%;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:12px;overflow-x:visible}.summary-percentage{display:none}.summary-stat-card{min-width:0;padding:12px 8px;width:100%}.summary-stat-total{order:1}.summary-stat-req-clearance{order:2}.summary-stat-cleared{order:3}.summary-stat-remaining{order:4}.summary-stat-volume{order:5;grid-column:1 / -1;width:100%;text-align:center}.summary-stat-volume .summary-stat-label,.summary-stat-volume .summary-stat-value{justify-content:center;text-align:center}.summary-stat-volume .summary-stat-row{justify-content:center}.summary-stat-volume .summary-stat-value{font-size:1.2em;width:100%}.summary-stat-label{font-size:14px}.summary-stat-number,.summary-stat-value{font-size:16px}.cards-row{grid-template-columns:1fr}}.snow-progress-card{width:100%;min-width:0;background:#fff;border-radius:12px;border:1px solid #e1e4e8;padding:12px;cursor:default;transition:box-shadow .15s ease,border-color .15s ease;box-shadow:0 2px 6px #0000001a;position:relative;overflow:visible;box-sizing:border-box;z-index:1}.snow-progress-card:hover{z-index:2;box-shadow:0 2px 6px #0000001a;border-color:#e1e4e8}.snow-progress-card-required{min-height:300px;display:flex;flex-direction:row;gap:12px;align-items:stretch;overflow:visible}.snow-progress-card-required:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#16a08599,#16a08533);opacity:1;transition:opacity .3s ease;z-index:0}.snow-progress-card-not-required{min-height:100px;display:flex;flex-direction:column;justify-content:space-between}.snow-progress-status-indicator{position:absolute;top:10px;right:10px;width:22px;height:22px;border-radius:50%;background:#fffffff2;box-shadow:0 2px 6px #0003;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.8);pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:20;font-size:14px;color:#16a085}.snow-progress-status-indicator.visible{opacity:1;transform:scale(1)}.snow-progress-status-indicator.saving:before{content:"";width:14px;height:14px;border-radius:50%;border:2px solid rgba(22,160,133,.25);border-top-color:#16a085;animation:snow-progress-spin .7s linear infinite}.snow-progress-status-indicator.saved:before{content:"✓";font-weight:700;color:#16a085}@keyframes snow-progress-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.snow-progress-content{display:flex;flex-direction:row;gap:0;flex:1;align-items:stretch;min-width:0;overflow:visible}.snow-progress-main-content{flex:1;display:flex;flex-direction:column;gap:0;min-width:0}.snow-progress-title-row{display:flex;align-items:flex-start;gap:0;margin-bottom:0;min-height:0;flex:1}.snow-progress-title-full-width{font-size:20px;font-weight:700;color:#2c3e50;line-height:1.4;flex:1;word-wrap:break-word;overflow-wrap:break-word;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;min-height:0}.snow-progress-progress-container{width:100%;margin-top:12px;margin-bottom:2px;position:relative;padding:4px 0}.snow-progress-progress-container:before{content:"";position:absolute;top:0;left:0;right:0;height:100%;background:linear-gradient(180deg,#16a08514,#16a08505);border-radius:16px;z-index:0;pointer-events:none}.snow-progress-progress-button{width:100%;height:32px;padding:0;border:none;border-radius:16px;background:transparent;cursor:pointer;position:relative;overflow:hidden;transition:box-shadow .15s ease}.snow-progress-progress-button:hover,.snow-progress-progress-button:active{box-shadow:0 2px 8px #00000026}.snow-progress-progress-bar-wrapper-static{width:100%;height:100%;background:#3498db;background-image:repeating-linear-gradient(45deg,transparent,transparent 3px,rgba(255,255,255,.9) 3px,rgba(255,255,255,.9) 12px);border-radius:16px;position:relative;overflow:hidden}.snow-progress-progress-bar-fill{height:100%;background:#27ae60;border-radius:16px;transition:width .2s ease;position:relative;min-width:0;box-shadow:0 0 12px #27ae6066,inset 0 1px 2px #ffffff4d;z-index:2}.snow-progress-stats-row{display:flex;justify-content:space-between;align-items:flex-start;gap:4px;padding:4px 0;margin-top:0;font-size:14px;min-width:0;flex-wrap:wrap}.snow-progress-stat-item{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1;min-width:0;flex-basis:0}.snow-progress-stat-label{font-size:11px;color:#888;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.snow-progress-stat-label.cleared-label{color:#16a085;font-weight:600}.snow-progress-stat-label.remaining-label{color:#ff6b6b}.snow-progress-stat-value{font-size:18px;font-weight:700;color:#6c757d;display:flex;align-items:center;gap:4px;white-space:nowrap;font-size:clamp(14px,2vw,18px)}.snow-progress-stat-value.cleared{color:#16a085;font-size:20px}.snow-progress-stat-value.remaining{color:#ff6b6b;font-size:16px}.snow-progress-stat-icon{font-size:16px;line-height:1}.snow-progress-stat-icon.cleared-icon{font-size:18px;color:#16a085}.snow-progress-stat-icon.remaining-icon{font-size:14px;color:#ff6b6b}.snow-progress-stat-icon.total-icon{font-size:16px;color:#6c757d}.snow-progress-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding-top:2px;margin-top:0;flex-wrap:wrap;min-width:0;position:relative;z-index:1}.snow-progress-footer-left{display:flex;align-items:flex-start;gap:15px;flex:1;min-width:0}.snow-progress-footer-column{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0;justify-content:flex-start;align-items:stretch;position:relative}.snow-progress-footer-label{font-size:14px;color:#555;font-weight:600;flex-shrink:0}.snow-progress-footer-actions{display:flex;flex-direction:column;align-items:center;gap:8px;flex-shrink:0}.snow-progress-action-btn{width:36px;height:36px;border:2px solid #d0d7de;border-radius:8px;background-color:#fff;color:#2c3e50;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s,border-color .2s,box-shadow .2s;padding:0}.snow-progress-action-btn:hover{background-color:#f5f5f5;border-color:#3498db;box-shadow:0 2px 4px #0000001a}.snow-progress-action-btn:active{box-shadow:0 1px 2px #0000001a}.snow-progress-action-btn i{font-size:16px;line-height:1}.snow-progress-snow-depth-btn{padding:10px 14px;border:2px solid #3498db;border-radius:8px;background-color:#fff;color:#2c3e50;font-size:13px;font-weight:600;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:all .2s;flex-shrink:0;width:100%;box-shadow:0 2px 4px #00000026;height:48px;box-sizing:border-box}.snow-progress-snow-depth-btn:hover{background-color:#e8f4f8;border-color:#2980b9;box-shadow:0 3px 6px #0003}.snow-progress-snow-depth-btn:active{background-color:#d5e8f0;box-shadow:0 1px 2px #0000001a}.snow-depth-btn-value-mm{color:#2c3e50;font-weight:600;line-height:1.2;font-size:13px}.snow-depth-btn-value-ft{color:#555;font-weight:600;font-size:13px;line-height:1.2}.snow-depth-warning{color:#dc3545!important;animation:heartbeat 1.5s ease-in-out infinite}@keyframes heartbeat{0%,to{opacity:1}14.28%{opacity:.3}28.57%{opacity:1}42.85%{opacity:.3}57.14%{opacity:1}71.42%{opacity:.3}85.71%{opacity:1}}.custom-dropdown{position:relative;width:100%;z-index:9998}.custom-dropdown-button{font-size:13px;padding:10px 14px 10px 36px;border-radius:8px;border:2px solid #d0d7de;background-color:#fff;color:#333;min-width:140px;max-width:100%;width:100%;cursor:pointer;font-weight:600;transition:border-color .2s ease,box-shadow .2s ease;position:relative;box-sizing:border-box;height:48px;line-height:1.2;display:flex;align-items:center;justify-content:space-between;text-align:left}.custom-dropdown-button:hover{border-color:#3498db}.custom-dropdown-button:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db40}.custom-dropdown-selected{flex:1}.custom-dropdown-arrow{font-size:10px;color:#666;transition:transform .2s ease;margin-left:8px}.custom-dropdown.open .custom-dropdown-arrow{transform:rotate(180deg)}.custom-dropdown.required-status .custom-dropdown-button{border-color:#16a085;box-shadow:0 0 0 1px #16a0851a}.custom-dropdown.required-status .custom-dropdown-button:before{content:"✓";position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#16a085;font-weight:700;font-size:16px;z-index:1;pointer-events:none}.custom-dropdown-menu{position:absolute;top:100%;left:0;right:0;background:#fff;border:2px solid #d0d7de;border-radius:8px;box-shadow:0 4px 12px #00000026;margin-top:4px;z-index:12000;overflow:hidden;max-height:200px;overflow-y:auto}.custom-dropdown-item{padding:12px 14px;font-size:13px;font-weight:700;color:#2c3e50;cursor:pointer;transition:background-color .15s ease,color .15s ease;border-bottom:1px solid #f0f0f0;text-align:center}.custom-dropdown-item:last-child{border-bottom:none}.custom-dropdown-item:hover{background-color:#e8f4f8;color:#2980b9}.custom-dropdown-item.selected{background-color:#3498db;color:#fff}.custom-dropdown-item.selected:hover{background-color:#2980b9;color:#fff}.custom-dropdown-portal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:11000}.custom-dropdown-menu-portal{position:fixed;right:auto;margin-top:0}.snow-depth-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:2000}.snow-depth-dialog{position:fixed;z-index:2001;background:#fff;border-radius:8px;box-shadow:0 10px 40px #0000004d;min-width:200px;max-width:250px;border:1px solid #e0e0e0;padding:0}.snow-depth-dialog-content{display:flex;flex-direction:column;padding:8px;gap:10px}.snow-depth-dialog-row{display:flex;flex-direction:row;align-items:center;gap:10px;height:40px}.snow-depth-label-col{flex:1;display:flex;align-items:center;justify-content:flex-end;min-width:0;padding-right:8px}.snow-depth-label{font-size:14px;font-weight:600;color:#2c3e50;margin:0;line-height:1;text-align:right}.snow-depth-input-col{flex:3;display:flex;align-items:center;min-width:0}.snow-depth-input{padding:10px 12px;border:2px solid #d0d7de;border-radius:6px;font-size:14px;font-weight:500;outline:none;transition:border-color .2s,box-shadow .2s;width:100%;box-sizing:border-box;height:40px;background-color:#fff;color:#2c3e50}.snow-depth-feet-inches-group{display:flex;flex-direction:row;align-items:center;gap:8px;height:40px;width:100%;box-sizing:border-box}.snow-depth-input-with-suffix{position:relative;flex:1;display:flex;align-items:center;height:40px}.snow-depth-feet-input,.snow-depth-inches-input{width:100%;padding-right:24px;box-sizing:border-box;height:40px}.snow-depth-input-suffix{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:14px;font-weight:600;color:#2c3e50;pointer-events:none;line-height:1}.snow-depth-input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db26}.snow-depth-button-col{flex:1;display:flex;align-items:center;justify-content:center;min-width:0}.snow-depth-btn-ok,.snow-depth-btn-close{width:36px;height:36px;border:none;border-radius:6px;cursor:pointer;font-size:20px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0}.snow-depth-btn-ok{background-color:#28a745;color:#fff}.snow-depth-btn-ok:hover{background-color:#218838;transform:scale(1.05)}.snow-depth-btn-ok:active{background-color:#1e7e34;transform:scale(.95)}.snow-depth-btn-close{background-color:#dc3545;color:#fff}.snow-depth-btn-close:hover{background-color:#c82333;transform:scale(1.05)}.snow-depth-btn-close:active{background-color:#bd2130;transform:scale(.95)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:2000}.modal{background:#fff;border-radius:10px;box-shadow:0 10px 30px #00000040;max-width:900px;width:90%;max-height:90vh;display:flex;flex-direction:column;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2001}.modal-header{padding:16px 20px;border-bottom:1px solid #e1e4e8;display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;font-size:18px;color:#2c3e50}.modal-close{border:none;background:transparent;font-size:22px;line-height:1;cursor:pointer;color:#7f8c8d;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:#2c3e50}.modal-body{padding:16px 20px 20px;overflow-y:auto}.road-details-table-container{padding:16px;overflow-x:auto}.road-details-table{width:100%;border-collapse:collapse;font-size:14px}.road-details-row{border-bottom:1px solid #e0e0e0}.road-details-row:last-child{border-bottom:none}.road-details-row:nth-child(2n){background-color:#f8f9fa}.road-details-row:nth-child(odd){background-color:#fff}.road-details-label{font-weight:600;color:#555;padding:12px 16px 12px 0;vertical-align:top;white-space:nowrap;width:40%;min-width:150px}.road-details-value{font-weight:500;color:#2c3e50;padding:12px 0;word-break:break-word;vertical-align:top}.road-details-content{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px 24px}.road-details-item{display:flex;flex-direction:column;gap:4px;padding:8px 12px;border-radius:4px}.clearance-card{width:100%}.card-header{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:2px solid #e1e4e8;margin-bottom:16px}.card-road-title{font-size:18px;font-weight:700;color:#2c3e50}.card-total-length{font-size:14px;color:#777;font-weight:600}.card-body,.fall-detail-section{width:100%}@media (max-width: 768px){.road-details-content{grid-template-columns:1fr}.modal{width:95%;max-height:95vh}}.home-page{width:100%;padding:20px;box-sizing:border-box}.login-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.login-modal{background:#fff;border-radius:8px;padding:24px 28px 28px;max-width:420px;width:90%;box-shadow:0 10px 30px #0000004d;position:relative}.login-modal h2{margin-top:0;margin-bottom:8px}.login-modal p{margin-top:0;margin-bottom:16px;font-size:.95rem;color:#555}.login-modal-close{position:absolute;top:8px;right:10px;border:none;background:transparent;font-size:1.5rem;cursor:pointer;line-height:1}.dashboard-accordion-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #00000014;overflow:hidden;transition:box-shadow .2s ease;max-width:100%}.dashboard-accordion-card:hover{box-shadow:0 4px 8px #0000001f}.dashboard-accordion-header{display:flex;align-items:flex-start;padding:16px 20px;background:#f8f9fa;cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid #e0e0e0;transition:background .2s ease;gap:12px}.dashboard-accordion-header:hover{background:#e9ecef}.accordion-chevron{font-size:14px;color:#667eea;transition:transform .2s ease;min-width:20px;text-align:center;margin-top:2px;flex-shrink:0}.accordion-chevron.expanded{transform:rotate(0)}.accordion-header-content{flex:1;display:flex;flex-direction:column;gap:12px;min-width:0}.accordion-title-section{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.accordion-group-name{font-size:21.6px;font-weight:700;color:#2c3e50;text-align:center;flex:1;min-width:0}.accordion-progress-percent{font-size:24px;font-weight:700;color:#2c3e50;flex-shrink:0}.accordion-progress-bar-container{width:100%}.accordion-progress-bar{width:100%;height:10px;background:#e9ecef;border-radius:5px;overflow:hidden}.accordion-progress-fill{height:100%;background:linear-gradient(90deg,#27ae60,#2ecc71);transition:width .5s ease;border-radius:5px}.dashboard-accordion-content{padding:20px;display:block}.dashboard-stats-table{width:100%;border-collapse:collapse;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;display:table;table-layout:fixed}.dashboard-stats-table tbody{display:table-row-group}.dashboard-stats-table thead{background:#f8f9fa;display:table-header-group}.dashboard-stats-table th{padding:12px 16px;text-align:left;font-size:17.55px;font-weight:700;color:#34495e;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e0e0e0}.dashboard-stats-table th:first-child{width:40%}.dashboard-stats-table th:nth-child(2),.dashboard-stats-table th:nth-child(3){width:30%;text-align:right}.dashboard-stats-table tbody tr{border-bottom:1px solid #f0f0f0;display:table-row}.dashboard-stats-table tbody tr:last-child{border-bottom:none}.dashboard-stats-table tbody tr:hover{background-color:#f8f9fa}.dashboard-stats-table td{padding:14px 16px;font-size:18.9px;display:table-cell;vertical-align:middle}.dashboard-stats-table .stat-label{font-weight:600;color:#2c3e50}.dashboard-stats-table .stat-value{text-align:right;color:#555}.dashboard-stats-table .stat-row-total .stat-label,.dashboard-stats-table .stat-row-total .stat-value{color:#000}.dashboard-stats-table .stat-row-req-clearance .stat-label,.dashboard-stats-table .stat-row-req-clearance .stat-value{color:#2980b9}.dashboard-stats-table .stat-row-cleared .stat-label,.dashboard-stats-table .stat-row-cleared .stat-value{color:#27ae60}.dashboard-stats-table .stat-row-balance .stat-label,.dashboard-stats-table .stat-row-balance .stat-value{color:#e74c3c}.dashboard-stats-table .stat-row-through-traffic .stat-label,.dashboard-stats-table .stat-row-through-traffic .stat-value{color:#27ae60}.dashboard-stats-table .stat-row-volume .stat-label,.dashboard-stats-table .stat-row-volume .stat-value{color:#9b59b6;font-weight:300;font-size:.9em}.progress-card-max-snow-container{margin-top:20px;padding-top:16px;border-top:1px solid #e0e0e0}.progress-card-max-snow{font-size:15px;color:#555;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;cursor:help}.progress-card-max-snow .max-snow-label{font-weight:600;color:#2c3e50;flex-shrink:0}.progress-card-max-snow .max-snow-value{font-weight:600;color:#27ae60;text-align:right;flex:1;min-width:0}.progress-card-max-snow .max-snow-info-icon{background:none;border:none;color:#2980b9;cursor:pointer;padding:4px;display:block;flex-shrink:0;font-size:16px;line-height:1;transition:color .2s ease}.progress-card-max-snow .max-snow-info-icon:hover{color:#1565c0}.progress-card-max-snow .max-snow-info-icon:active{color:#0d47a1}.max-snow-tooltip{margin-top:8px;padding:8px 12px;background:#e3f2fd;border:1px solid #90caf9;border-radius:4px;font-size:13px;color:#1565c0;font-weight:500;animation:fadeIn .2s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 600px){.accordion-group-name{font-size:18px}.accordion-progress-percent{font-size:20px}.dashboard-stats-table td{font-size:16px;padding:10px 12px;display:table-cell}.dashboard-stats-table tbody tr{display:table-row}.progress-card-max-snow{justify-content:flex-start}.progress-card-max-snow .max-snow-value{text-align:left;flex:0 1 auto;margin-left:auto}}.dashboard-table-view{width:100%;margin-bottom:20px}.dashboard-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #00000014;overflow-x:auto;overflow-y:visible}.dashboard-table{width:100%;border-collapse:collapse;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;min-width:1200px}.dashboard-table thead{background:#f8f9fa;position:sticky;top:0;z-index:10}.dashboard-table th{padding:14px 16px;text-align:left;font-size:14px;font-weight:700;color:#34495e;text-transform:uppercase;letter-spacing:.5px;border:1px solid #000000;border-bottom:2px solid #000000;white-space:nowrap}.dashboard-table th.table-col-group-name{min-width:200px;width:15%}.dashboard-table th.table-col-total-length,.dashboard-table th.table-col-req-clearance,.dashboard-table th.table-col-cleared,.dashboard-table th.table-col-balance,.dashboard-table th.table-col-trafficable{text-align:center;min-width:150px;width:12%}.dashboard-table th.table-col-trafficable-percent{text-align:right;min-width:100px;width:8%}.dashboard-table th.table-col-volume{text-align:right;min-width:140px;width:11%}.dashboard-table tbody tr{border-bottom:1px solid #000000;transition:background-color .2s ease}.dashboard-table tbody tr:hover{background-color:#f8f9fa}.dashboard-table tbody tr:nth-child(2n){background-color:#fafafa}.dashboard-table tbody tr:nth-child(2n):hover{background-color:#f0f0f0}.dashboard-table .table-cell{padding:14px 16px;font-size:15px;vertical-align:middle;border:1px solid #000000}.dashboard-table .table-cell-group-name{font-weight:600;color:#2c3e50}.dashboard-table .table-cell-total{text-align:center}.dashboard-table .table-cell-total .table-cell-count,.dashboard-table .table-cell-total .table-cell-length{color:#000;font-weight:600}.dashboard-table .table-cell-req-clearance,.dashboard-table .table-cell-cleared,.dashboard-table .table-cell-balance,.dashboard-table .table-cell-trafficable{text-align:center}.dashboard-table .table-cell-trafficable-percent{text-align:right;font-weight:600;color:#27ae60}.dashboard-table .table-cell-volume{text-align:right;color:#9b59b6;font-weight:500}.table-cell-value-container{display:flex;flex-direction:column;gap:4px;align-items:center}.table-cell-count{font-weight:600;font-size:14px}.table-cell-length{font-size:13px;color:#666}.table-cell-req-clearance .table-cell-count,.table-cell-req-clearance .table-cell-length{color:#2980b9}.table-cell-cleared .table-cell-count,.table-cell-cleared .table-cell-length{color:#27ae60}.table-cell-balance .table-cell-count,.table-cell-balance .table-cell-length{color:#e74c3c}.table-cell-trafficable .table-cell-count,.table-cell-trafficable .table-cell-length{color:#27ae60}.dashboard-table-empty{padding:40px 20px;text-align:center;color:#999;font-size:16px;font-style:italic;background:#fff;border-radius:8px;box-shadow:0 2px 4px #00000014}@media (max-width: 1400px){.dashboard-table{min-width:1000px}.dashboard-table th,.dashboard-table .table-cell{padding:12px 14px;font-size:14px}.table-cell-count{font-size:13px}.table-cell-length{font-size:12px}}@media (max-width: 768px){.dashboard-table-container{border-radius:4px}.dashboard-table{min-width:900px}.dashboard-table th{padding:10px 12px;font-size:12px}.dashboard-table .table-cell{padding:10px 12px;font-size:13px}.table-cell-value-container{gap:2px}.table-cell-count{font-size:12px}.table-cell-length{font-size:11px}}.toast{position:relative;min-width:400px;max-width:700px;background:#424242;border-radius:8px;box-shadow:0 4px 12px #0000004d;animation:slideInDown .3s ease-out}.toast-info,.toast-success,.toast-warning,.toast-error{background:#424242}.toast-content{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;gap:12px}.toast-message{flex:1;font-size:18px;line-height:1.5;color:#fff;font-weight:400}.toast-message-structured{flex:1;font-size:18px;line-height:1.6;color:#fff}.toast-road-name{font-size:18px;font-weight:400;color:#e0e0e0}.toast-parameter{font-size:22px;font-weight:700;color:#fff}.toast-label{font-size:18px;font-weight:400;color:#e0e0e0}.toast-value-old{font-size:24px;font-weight:700;color:#ffcc80}.toast-value-new{font-size:24px;font-weight:700;color:#81c784}.toast-close{background:none;border:none;cursor:pointer;padding:4px;color:#fff;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;transition:color .2s;opacity:.8}.toast-close:hover{color:#fff;opacity:1}@keyframes slideInDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.toast-container{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:10000;display:flex;flex-direction:column;gap:12px;max-width:700px;width:auto}@media (max-width: 600px){.toast-container{top:auto;bottom:20px;left:50%;transform:translate(-50%);right:auto;max-width:calc(100% - 40px);width:auto}.toast{min-width:auto;max-width:none;width:100%;animation:slideInUp .3s ease-out}.toast-message,.toast-message-structured,.toast-road-name{font-size:16px}.toast-parameter{font-size:20px}.toast-label{font-size:16px}.toast-value-old,.toast-value-new{font-size:22px}}.dashboard-page{width:100%;padding:20px;box-sizing:border-box}.dashboard-mini-container{margin-bottom:20px}.dashboard-grouping-bar{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;border-radius:999px;background:#ffffffe6;border:1px solid rgba(102,126,234,.35);box-shadow:0 2px 6px #00000014;margin-bottom:20px}.dashboard-grouping-label{font-size:14px;font-weight:600;color:#1565c0}.dashboard-grouping-select{border-radius:999px;border:1px solid #c5cae9;padding:6px 24px 6px 10px;font-size:14px;font-weight:500;color:#1a237e;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath fill='%231a237e' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E") no-repeat right 8px center;appearance:none;-webkit-appearance:none;-moz-appearance:none;min-width:190px;cursor:pointer}.dashboard-grouping-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea33}.dashboard-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px;align-items:stretch}.dashboard-view-toggle-container{position:relative;margin-bottom:20px;display:flex;justify-content:flex-end}.dashboard-view-toggle{width:48px;height:48px;border-radius:50%;border:2px solid #667eea;background:#fff;color:#667eea;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;transition:all .3s ease;box-shadow:0 2px 6px #0000001a}.dashboard-view-toggle:hover{background:#667eea;color:#fff;box-shadow:0 4px 12px #667eea4d;transform:scale(1.05)}.dashboard-view-toggle:active{transform:scale(.95)}.dashboard-view-toggle i{line-height:1}.dashboard-views-container{display:flex;flex-direction:column;gap:30px}.dashboard-view-container{width:100%}.dashboard-view-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.dashboard-view-table-container{display:flex;align-items:flex-start;gap:20px}.dashboard-view-table-controls{display:flex;flex-direction:column;align-items:flex-start;gap:12px;flex-shrink:0;min-width:200px}.dashboard-view-table-wrapper{flex:1;min-width:0}.dashboard-view-grouping-bar{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;border-radius:999px;background:#ffffffe6;border:1px solid rgba(102,126,234,.35);box-shadow:0 2px 6px #00000014;flex:1;max-width:fit-content}.dashboard-view-remove-button{width:36px;height:36px;border-radius:50%;border:2px solid #e74c3c;background:#fff;color:#e74c3c;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .3s ease;box-shadow:0 2px 4px #0000001a;flex-shrink:0}.dashboard-view-remove-button:hover{background:#e74c3c;color:#fff;box-shadow:0 4px 8px #e74c3c4d;transform:scale(1.1)}.dashboard-view-remove-button:active{transform:scale(.9)}.dashboard-view-remove-button i{line-height:1}.dashboard-add-view-container{display:flex;justify-content:center;padding:20px 0}.dashboard-add-view-button{display:inline-flex;align-items:center;gap:10px;padding:12px 24px;border-radius:8px;border:2px dashed #667eea;background:#667eea0d;color:#667eea;cursor:pointer;font-size:15px;font-weight:600;transition:all .3s ease;box-shadow:0 2px 4px #00000014}.dashboard-add-view-button:hover{background:#667eea1a;border-color:#5568d3;color:#5568d3;box-shadow:0 4px 8px #667eea33;transform:translateY(-2px)}.dashboard-add-view-button:active{transform:translateY(0)}.dashboard-add-view-button i{font-size:16px;line-height:1}.filters-card{background:#fff;border-radius:8px;padding:16px 20px;box-shadow:0 2px 4px #00000014}.filters-card h3{margin:0 0 12px;font-size:1rem}.filters-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.filters-group{flex:1 1 200px;min-width:160px}.filters-group label{display:block;margin-bottom:4px;font-size:.85rem;font-weight:600}.filters-group input,.filters-group select{width:100%;padding:6px 10px;border-radius:4px;border:1px solid #d0d7de;font-size:.9rem}.dashboard-button{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:6px;border:none;cursor:pointer;font-size:.9rem;font-weight:600;background:#eceff1;color:#37474f}.dashboard-button.primary{background:#4caf50;color:#fff}.dashboard-button .fas{font-size:.85rem}.admin-grid-table{width:100%;border-collapse:collapse;font-size:.85rem}.admin-grid-table th{background:#f5f5f5;text-align:left;padding:8px 10px;border-bottom:1px solid #e0e0e0}.admin-grid-table td{padding:8px 10px;border-bottom:1px solid #f0f0f0}.admin-log-row{display:grid;grid-template-columns:180px minmax(200px,2fr) minmax(80px,1fr) 120px minmax(120px,1fr) 120px 100px 100px;gap:8px;padding:8px 10px;border-bottom:1px solid #f0f0f0;font-size:.8rem}.admin-log-row:nth-child(odd){background:#fafafa}.admin-log-cell.timestamp{font-family:monospace;color:#555}.admin-log-cell.endpoint{font-weight:500}.admin-log-cell.count{text-align:right;font-weight:600}.admin-log-cell.user{font-size:.75rem;color:#666;overflow:hidden;text-overflow:ellipsis}.admin-log-cell.size-total,.admin-log-cell.size-avg{text-align:right;font-family:monospace;font-size:.75rem;color:#555}.log-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:600;background:#e3f2fd;color:#1565c0}.dashboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:#666;font-size:1rem}.dashboard-loading .loading-spinner{border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dashboard-error{padding:20px;text-align:center;color:#d32f2f;background:#ffebee;border-radius:8px;margin:20px}@media (max-width: 600px){.dashboard-grouping-bar{display:flex;justify-content:center;width:100%;margin:0 auto 20px}.dashboard-view-toggle-container{justify-content:center}.dashboard-view-toggle{width:44px;height:44px;font-size:18px}.dashboard-view-header{flex-direction:column;align-items:stretch}.dashboard-view-grouping-bar{width:100%;max-width:100%}.dashboard-view-remove-button{align-self:flex-end}.dashboard-view-table-container{flex-direction:column;gap:16px}.dashboard-view-table-controls{width:100%;flex-direction:row;align-items:center;justify-content:space-between;min-width:0}.dashboard-view-table-wrapper{width:100%}.dashboard-add-view-button{width:100%;justify-content:center}}.admin-page{width:100%;padding:20px;box-sizing:border-box}.admin-actions-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.admin-actions-row button{padding:8px 14px;border-radius:4px;border:none;font-size:14px;font-weight:600;cursor:pointer;background:#fff;color:#0d47a1;box-shadow:0 2px 4px #00000014;display:inline-flex;align-items:center;gap:6px;transition:background .15s ease,box-shadow .15s ease,transform .1s ease}.admin-actions-row button i{margin-right:0}.admin-actions-row button:hover{background:#f8f9ff;box-shadow:0 3px 6px #0000001f;transform:translateY(-1px)}.admin-actions-row button.primary{background:#4caf50;color:#fff}.admin-actions-row button.primary:hover{background:#43a047}.admin-actions-row button.danger{background:#f44336;color:#fff}.admin-actions-row button.danger:hover{background:#e53935}.status-bar{margin-left:auto;padding:6px 12px;background:#f9f9f9;border-radius:4px;display:flex;align-items:center;gap:12px;font-size:13px;color:#555}.admin-grid-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden;min-height:400px}#admin-tabulator{width:100%;height:calc(100vh - 260px)}.tabulator{font-size:13px}.tabulator-cell{text-align:center}.admin-error{margin-bottom:10px;padding:10px 12px;border-radius:4px;background:#ffebee;color:#c62828;font-size:14px}.admin-loading-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:2000}.admin-loading-content{background:#fff;padding:24px 32px;border-radius:10px;box-shadow:0 8px 24px #00000040;text-align:center;min-width:260px}.admin-loading-spinner{border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;width:40px;height:40px;animation:admin-spin 1s linear infinite;margin:0 auto 14px}@keyframes admin-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.admin-success-toast{position:fixed;top:16px;right:16px;background:#4caf50;color:#fff;padding:10px 16px;border-radius:6px;box-shadow:0 4px 10px #0003;z-index:2100;font-size:14px}.bulk-apply-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:3000}.bulk-apply-dialog{background:#fff;border-radius:8px;box-shadow:0 10px 30px #0000004d;min-width:225px;max-width:270px;width:100%;border:1px solid #e0e0e0}.bulk-apply-dialog-content{padding:20px;display:flex;flex-direction:column;gap:12px}.bulk-apply-title{margin:0 0 8px;font-size:18px;font-weight:700;color:#2c3e50;text-align:center}.bulk-apply-label-row{display:flex;align-items:center}.bulk-apply-label{font-size:14px;font-weight:600;color:#2c3e50;text-align:left}.bulk-apply-input-row{display:flex;align-items:center;gap:12px;width:100%;box-sizing:border-box;min-width:0}.bulk-apply-label-inline{font-size:13px;font-weight:600;color:#2c3e50;min-width:80px;text-align:right;flex-shrink:0}.bulk-apply-input{flex:1;padding:8px 10px;border-radius:6px;border:1px solid #d0d7de;font-size:14px;min-width:0;max-width:100%;box-sizing:border-box}.bulk-apply-feet-inches-group{display:flex;gap:8px;flex:1;min-width:0;box-sizing:border-box}.bulk-apply-input-with-suffix{position:relative;flex:1;display:flex;align-items:center;min-width:0;max-width:50%}.bulk-apply-input-with-suffix .bulk-apply-input{padding-right:24px;width:100%;min-width:0;box-sizing:border-box}.bulk-apply-input-suffix{position:absolute;right:10px;font-size:14px;font-weight:600;color:#666;pointer-events:none}.bulk-apply-feet-input,.bulk-apply-inches-input{width:100%;min-width:0;max-width:100%}.bulk-apply-preview-box{display:flex;align-items:center;justify-content:center;padding:8px 12px;background:#e8f5e9;border-radius:6px;border-left:3px solid #4caf50;margin-right:auto}.bulk-apply-preview-text{font-size:13px;font-weight:600;color:#2e7d32}.bulk-apply-button-row{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:4px}.bulk-apply-btn-ok,.bulk-apply-btn-close{width:32px;height:32px;border-radius:6px;border:none;cursor:pointer;font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center}.bulk-apply-btn-ok{background-color:#27ae60;color:#fff}.bulk-apply-btn-close{background-color:#e74c3c;color:#fff}.permission-card{border:1px solid #ddd;padding:20px;border-radius:8px;background:#fafafa;transition:box-shadow .2s ease;width:100%;min-width:450px;max-width:550px;position:relative}.permission-card:hover{box-shadow:0 4px 12px #0000001a}.permission-card-top-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:3px;width:100%}.permission-user-id-container{flex:0 0 auto;display:flex;align-items:flex-start;gap:12px;background:#f0f0f0;padding:5px 12px;border-radius:6px}.permission-user-type-icon{flex:0 0 auto;display:flex;align-items:center;color:#667eea;margin-top:2px}.permission-user-type-icon svg{width:20px;height:20px}.permission-user-id-content{flex:1;min-width:0}.permission-user-id-wrapper{display:flex;align-items:center;gap:8px;position:relative}.permission-user-id-wrapper strong{font-size:18px;color:#333;word-break:break-word}.permission-edit-icon{width:28px;height:28px;border-radius:50%;border:2px solid #667eea;background:#fff;color:#667eea;cursor:pointer;display:none;align-items:center;justify-content:center;transition:all .2s;padding:0;flex-shrink:0}.permission-user-id-wrapper:hover .permission-edit-icon,.permission-user-id-wrapper.is-new .permission-edit-icon{display:flex}.permission-edit-icon:hover{background:#667eea;color:#fff}.permission-edit-icon svg{width:14px;height:14px}.permission-alias{font-size:13px;color:#666;margin-top:4px;font-style:italic}.permission-right-section{display:flex;align-items:center;gap:20px;flex:0 0 auto}.permission-icons{display:flex;gap:15px;align-items:center;margin-right:40px}.permission-icon{display:flex;align-items:center;cursor:pointer;color:#999;opacity:.8;transition:all .2s}.permission-icon:hover{opacity:1;transform:scale(1.1)}.permission-icon.active{color:#4caf50;opacity:1}.permission-icon.inactive{color:#999;opacity:.6}.permission-icon svg{width:20px;height:20px}.permission-icon.snow i{font-size:18px;line-height:1}.permission-card-delete{position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:50%;border:2px solid #f44336;background:#fff;color:#f44336;cursor:pointer;display:none;align-items:center;justify-content:center;transition:all .2s;padding:0;z-index:10;flex-shrink:0}.permission-card:hover .permission-card-delete{display:flex}.permission-card-delete:hover{background:#f44336;color:#fff}.permission-card-delete svg{width:14px;height:14px}.permission-card-unsaved-actions{position:absolute;top:10px;left:10px;display:flex;gap:8px;z-index:10}.permission-card-ok-btn,.permission-card-cancel-btn{width:28px;height:28px;border-radius:50%;border:2px solid;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0;font-size:16px;font-weight:700}.permission-card-ok-btn{border-color:#28a745;background:#fff;color:#28a745}.permission-card-ok-btn:hover{background:#28a745;color:#fff}.permission-card-cancel-btn{border-color:#dc3545;background:#fff;color:#dc3545}.permission-card-cancel-btn:hover{background:#dc3545;color:#fff}.filters-section{margin-top:6px;padding-top:6px;border-top:1px solid #e0e0e0}.filters-pills-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.add-filter-pill-btn{width:32px;height:32px;border-radius:50%;border:2px solid #667eea;background:#fff;color:#667eea;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.add-filter-pill-btn:hover{background:#667eea;color:#fff}.add-filter-pill-btn svg{width:18px;height:18px}.filter-pill{position:relative;background:#fff;border:1px solid #ddd;border-radius:20px;padding:6px 12px;transition:all .2s;display:flex;align-items:center;overflow:visible}.filter-pill:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea26}.filter-pill-remove{position:absolute;top:50%;right:4px;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;border:2px solid #f44336;background:#fff;color:#f44336;cursor:pointer;display:none;align-items:center;justify-content:center;transition:all .2s;padding:0;z-index:10;flex-shrink:0}.filter-pill:hover .filter-pill-remove{display:flex}.filter-pill-remove:hover{background:#f44336;color:#fff}.filter-pill-remove svg{width:14px;height:14px}.filter-pill-content{display:flex;flex-direction:column;gap:2px;min-width:0;padding-right:0;max-width:100%;text-align:center;align-items:center}.filter-pill-label{font-size:10px;font-weight:600;color:#667eea;text-transform:uppercase;letter-spacing:.5px;line-height:1.2;text-align:center}.filter-pill-values{font-size:12px;color:#333;line-height:1.3;word-break:break-word;text-align:center}.super-admin-message,.no-filters-message{color:#999;font-style:italic;font-size:13px;padding:4px 0}.filter-add-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:transparent}.filter-add-dialog{position:fixed;z-index:2001;background:#fff;border-radius:8px;box-shadow:0 10px 40px #0000004d;min-width:280px;max-width:320px;border:1px solid #e0e0e0;padding:0}.filter-add-dialog-content{display:flex;flex-direction:column;padding:8px;gap:10px}.filter-add-dialog-main-row{display:flex;flex-direction:row;align-items:flex-start;gap:10px}.filter-add-dialog-inputs-column{flex:1;display:flex;flex-direction:column;gap:10px;min-width:0}.filter-add-dialog-buttons-column{flex:0 0 auto;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:flex-start;width:50px;padding-top:24px}.filter-add-dialog-field-group,.filter-add-dialog-input-group{display:flex;flex-direction:column;gap:4px;width:100%}.filter-add-dialog-label{font-size:12px;font-weight:600;color:#2c3e50;margin:0;line-height:1.2}.filter-add-dialog-select{padding:10px 12px;border:2px solid #d0d7de;border-radius:6px;font-size:14px;font-weight:500;outline:none;transition:border-color .2s,box-shadow .2s;width:100%;box-sizing:border-box;height:40px;background-color:#fff;color:#2c3e50;cursor:pointer}.filter-add-dialog-select:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db26}.filter-add-dialog-input{padding:10px 12px;border:2px solid #d0d7de;border-radius:6px;font-size:14px;font-weight:500;outline:none;transition:border-color .2s,box-shadow .2s;width:100%;box-sizing:border-box;height:40px;background-color:#fff;color:#2c3e50}.filter-add-dialog-input:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db26}.filter-add-dialog-input::placeholder{color:#999}.filter-add-dialog-btn-ok,.filter-add-dialog-btn-close{width:36px;height:36px;border:none;border-radius:6px;cursor:pointer;font-size:20px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0}.filter-add-dialog-btn-ok{background-color:#28a745;color:#fff}.filter-add-dialog-btn-ok:hover:not(:disabled){background-color:#218838;transform:scale(1.05)}.filter-add-dialog-btn-ok:active:not(:disabled){background-color:#1e7e34;transform:scale(.95)}.filter-add-dialog-btn-ok:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}.filter-add-dialog-btn-close{background-color:#dc3545;color:#fff}.filter-add-dialog-btn-close:hover{background-color:#c82333;transform:scale(1.05)}.filter-add-dialog-btn-close:active{background-color:#bd2130;transform:scale(.95)}.user-edit-dialog{min-width:300px;max-width:350px}.permission-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.permission-modal{background:#fff;border-radius:12px;width:90%;max-width:600px;box-shadow:0 10px 30px #0003;overflow:hidden;display:flex;flex-direction:column}.permission-modal-header{padding:16px 20px;border-bottom:1px solid #e0e0e0;display:flex;align-items:center;justify-content:space-between;background:#2c3e50;color:#fff}.permission-modal-close{background:#fff3;border:none;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center}.permission-modal-body{padding:20px;max-height:60vh;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.permission-modal-footer{padding:16px 20px;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;gap:10px;background:#f8f9fa}.permission-form-group{display:flex;flex-direction:column;gap:6px}.permission-form-label{font-weight:600;color:#333;font-size:14px}.permission-form-input{padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;transition:border-color .2s}.permission-form-input:focus{outline:none;border-color:#667eea}.permission-form-input::placeholder{color:#999}.form-help-text{margin-top:6px;font-size:12px;color:#666}.required-indicator{color:#f44336;margin-left:4px}.permissions-section{background:#f8f9fa;padding:20px;border-radius:8px;margin-top:10px}.permissions-section-title{font-weight:600;margin-bottom:16px;color:#333;font-size:16px}.checkbox-group{display:flex;flex-direction:row;gap:16px;flex-wrap:wrap}.checkbox-item{display:flex;align-items:center;padding:12px 16px;background:#fff;border-radius:6px;border:2px solid #e0e0e0;cursor:pointer;transition:all .2s;flex:1;min-width:200px}.checkbox-item:hover{border-color:#667eea;background:#f5f7ff}.checkbox-item input[type=checkbox]{width:20px;height:20px;margin-right:12px;cursor:pointer;accent-color:#667eea}.checkbox-item label{cursor:pointer;flex:1;font-size:14px;color:#333;-webkit-user-select:none;user-select:none}.checkbox-description{font-size:11px;color:#666;margin-left:32px;margin-top:2px;line-height:1.3}#filters-section.filters-section{margin-top:20px;padding-top:20px;border-top:2px dashed #e0e0e0}.filters-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.filters-section-title{font-weight:600;margin-bottom:12px;color:#333;font-size:14px}.add-filter-btn{background:#667eea;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:600;font-size:14px;display:flex;align-items:center;gap:8px;transition:background .2s}.add-filter-btn:hover{background:#5568d3}.filters-list{width:100%}.empty-filters-message{text-align:center;padding:30px;color:#999;font-style:italic;background:#fff;border:2px dashed #e0e0e0;border-radius:8px}.filter-row{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px;padding:16px;background:#fff;border:2px solid #e0e0e0;border-radius:8px;transition:border-color .2s}.filter-row:hover{border-color:#667eea}.filter-field-select{flex:0 0 200px}.filter-select{width:100%;padding:10px 14px;border:2px solid #e0e0e0;border-radius:6px;font-size:13px;background:#fff;cursor:pointer}.filter-select:focus{outline:none;border-color:#667eea}.filter-values-input{flex:1}.filter-input{width:100%;padding:10px 14px;border:2px solid #e0e0e0;border-radius:6px;font-size:13px;margin-bottom:12px}.filter-input:focus{outline:none;border-color:#667eea}.filter-help{font-size:11px;color:#888;font-style:italic}.filter-remove-btn{flex:0 0 auto;background:#f44336;color:#fff;border:none;padding:10px 16px;border-radius:6px;cursor:pointer;font-size:14px;transition:background .2s;display:flex;align-items:center;gap:6px}.filter-remove-btn:hover{background:#d32f2f}@media (max-width: 768px){.checkbox-group{flex-direction:column}.checkbox-item{min-width:100%}}.btn-primary{padding:10px 18px;border:none;border-radius:8px;background:#4caf50;color:#fff;font-weight:600;cursor:pointer}.btn-secondary{padding:10px 18px;border:none;border-radius:8px;background:#e0e0e0;color:#333;font-weight:600;cursor:pointer}.manage-permissions-page{width:100%;padding:20px;box-sizing:border-box}.permissions-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px;flex-wrap:wrap;gap:20px}.permissions-header h2{margin:0 0 8px;color:#333;font-size:28px}.permissions-header p{margin:0;color:#666;font-size:16px}.add-permission-btn{padding:12px 24px;background:#4caf50;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .2s}.add-permission-btn:hover{background:#45a049}.add-permission-btn i{font-size:16px}.permissions-list{display:grid;gap:20px;width:100%;grid-template-columns:repeat(auto-fit,minmax(450px,550px));justify-content:center}.empty-permissions{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:#f8f9fa;border-radius:12px;border:2px dashed #dee2e6;text-align:center}.empty-permissions i{font-size:64px;color:#6c757d;margin-bottom:20px}.empty-permissions p{margin:8px 0;color:#666;font-size:16px}.empty-note{margin-top:12px;font-style:italic;color:#999;font-size:14px}.fall-management-section{background:#f8f9fa;border:1px solid #dee2e6;border-radius:12px;padding:24px;margin-bottom:30px}.fall-management-section h3{margin:0 0 20px;color:#333;font-size:20px;font-weight:600}.fall-management-controls{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-end}.fall-control-group{display:flex;flex-direction:column;gap:8px;flex:1;min-width:200px}.fall-control-group label{font-weight:500;color:#555;font-size:14px}.active-fall-display{padding:10px 14px;background:#fff;border:1px solid #ced4da;border-radius:6px;min-height:40px;display:flex;align-items:center}.active-fall-value{color:#28a745;font-weight:600;font-size:15px}.no-active-fall{color:#6c757d;font-style:italic}.fall-loading{color:#6c757d}.fall-select{padding:10px 14px;border:1px solid #ced4da;border-radius:6px;font-size:15px;background:#fff;cursor:pointer;min-height:40px}.fall-select:disabled{background:#e9ecef;cursor:not-allowed;color:#6c757d}.add-fall-btn{padding:10px 20px;background:#007bff;color:#fff;border:none;border-radius:6px;font-size:15px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .2s;white-space:nowrap;height:40px}.add-fall-btn:hover:not(:disabled){background:#0056b3}.add-fall-btn:disabled{background:#6c757d;cursor:not-allowed}.add-fall-btn i{font-size:14px}.dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.dialog-content{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;width:100%;max-width:500px;max-height:90vh;overflow:auto;display:flex;flex-direction:column}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #dee2e6}.dialog-header h3{margin:0;color:#333;font-size:20px;font-weight:600}.dialog-close{background:none;border:none;font-size:20px;color:#6c757d;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .2s}.dialog-close:hover{background:#f8f9fa;color:#333}.dialog-body{padding:24px;flex:1}.form-group{margin-bottom:20px}.form-group:last-child{margin-bottom:0}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#555;font-size:14px}.form-group input{width:100%;padding:10px 14px;border:1px solid #ced4da;border-radius:6px;font-size:15px;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.form-group input:disabled{background:#e9ecef;cursor:not-allowed}.dialog-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid #dee2e6}.dialog-btn{padding:10px 20px;border:none;border-radius:6px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s}.dialog-btn-primary{background:#007bff;color:#fff}.dialog-btn-primary:hover:not(:disabled){background:#0056b3}.dialog-btn-primary:disabled{background:#6c757d;cursor:not-allowed}.dialog-btn-secondary{background:#6c757d;color:#fff}.dialog-btn-secondary:hover:not(:disabled){background:#5a6268}.dialog-btn-secondary:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 699px){.permissions-header{flex-direction:column}.add-permission-btn{width:100%;justify-content:center}.permissions-list{grid-template-columns:1fr;gap:16px}.permission-card{max-width:100%}.fall-management-controls{flex-direction:column}.fall-control-group{width:100%}.add-fall-btn{width:100%;justify-content:center}.dialog-content{margin:10px;max-width:calc(100% - 20px)}}.monitor-container{padding:20px;width:100%;height:calc(100vh - 100px);display:flex;flex-direction:column;font-family:Inter,sans-serif;box-sizing:border-box;overflow:hidden}.monitor-header{display:none}.monitor-header-left{display:flex;flex-direction:column;gap:12px;margin-bottom:15px;width:100%}.monitor-header-mobile{display:none}.monitor-title{margin:0;font-size:16px;font-weight:700;color:#2c3e50;white-space:nowrap;text-align:center}.monitor-actions{display:flex;flex-direction:row;gap:8px;align-items:center;width:100%;flex-wrap:wrap}.monitor-actions label{flex:0 0 auto}.monitor-actions button{flex:0 0 auto;min-width:0}.monitor-content{display:flex;gap:20px;flex:1;min-height:0;overflow:hidden;height:100%}.monitor-stats-column{display:flex;flex-direction:column;gap:15px;flex:0 0 250px;min-width:250px;max-width:250px;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}.monitor-stats-column::-webkit-scrollbar{display:none}.monitor-logs{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;overflow:hidden;position:relative;height:100%}.logs-tabulator{flex:1;min-height:0;width:100%;height:100%;position:relative}.logs-tabulator .tabulator-table{border-collapse:collapse!important;border-spacing:0!important}.logs-tabulator .tabulator-row{height:40px!important;min-height:40px!important;max-height:40px!important;vertical-align:middle!important;box-sizing:border-box!important;display:table-row!important}.logs-tabulator .tabulator-row-even{background-color:#f8f9fa}.logs-tabulator .tabulator-row-odd{background-color:#fff}.logs-tabulator .tabulator-cell{padding:8px 12px!important;vertical-align:middle!important;box-sizing:border-box!important;line-height:24px!important;height:40px!important;min-height:40px!important;max-height:40px!important;display:table-cell!important;overflow:hidden;text-overflow:ellipsis}.logs-tabulator .tabulator-row-even .tabulator-cell,.logs-tabulator .tabulator-row-odd .tabulator-cell{padding:8px 12px!important;vertical-align:middle!important;box-sizing:border-box!important;height:40px!important;line-height:24px!important}.logs-tabulator .tabulator-col[data-field=doc_count] .tabulator-cell,.logs-tabulator .tabulator-col[data-field=duration_ms] .tabulator-cell,.logs-tabulator .tabulator-row-even .tabulator-col[data-field=doc_count] .tabulator-cell,.logs-tabulator .tabulator-row-odd .tabulator-col[data-field=doc_count] .tabulator-cell,.logs-tabulator .tabulator-row-even .tabulator-col[data-field=duration_ms] .tabulator-cell,.logs-tabulator .tabulator-row-odd .tabulator-col[data-field=duration_ms] .tabulator-cell{padding:8px 12px!important}.logs-tabulator .tabulator-col[data-field=duration_ms] .tabulator-cell{text-align:right!important}.logs-tabulator .tabulator-col[data-field=doc_count] .tabulator-cell{text-align:center!important}.stat-card{background:#fff;padding:14px 18px;border-radius:8px;box-shadow:0 2px 4px #0000001a;flex-shrink:0;display:flex;flex-direction:row;gap:16px;align-items:center}.stat-card-left{flex:0 0 50%;display:flex;flex-direction:column;gap:8px}.stat-card-right{flex:0 0 50%;display:flex;align-items:center;justify-content:center}.stat-label{font-size:12px;color:#666;text-transform:uppercase;font-weight:600;white-space:nowrap;display:flex;align-items:center}.stat-value{font-size:20px;font-weight:700;color:#333;white-space:nowrap;display:flex;align-items:center}.stat-value.good{color:#27ae60}.stat-value.bad{color:#e74c3c}.stat-sub{font-size:13px;color:#888;display:flex;align-items:center;gap:10px;margin-top:0}.stat-sub-item{display:flex;align-items:center;gap:8px;font-size:13px}.stat-sub-separator{color:#ccc;margin:0 6px}.brand-icon{width:16px;height:16px;flex-shrink:0;object-fit:contain;display:inline-block}.firebase-icon{width:16px;height:16px;flex-shrink:0;display:inline-block;vertical-align:middle}.logs-table{width:100%;border-collapse:collapse;background:#fff;box-shadow:0 2px 8px #0000000d;border-radius:8px;overflow:hidden}.logs-table th{background:#f8f9fa;padding:12px;text-align:left;font-weight:600;color:#555;font-size:13px}.logs-table td{padding:10px 12px;border-bottom:1px solid #eee;font-size:13px;color:#333}.badge{padding:4px 8px;border-radius:4px;font-weight:600;font-size:11px}.badge-redis{background:#e8f5e9;color:#2e7d32}.badge-firestore{background:#ffebee;color:#c62828}.op-cell{display:flex;flex-direction:column}.op-name{font-weight:600}.op-endpoint{font-size:11px;color:#888}.slow{color:#e67e22;font-weight:700}.btn-refresh,.btn-clear{padding:8px 12px;border:none;border-radius:4px;cursor:pointer;font-weight:600;display:flex;align-items:center;justify-content:center;white-space:nowrap}.btn-refresh{background:#3498db;color:#fff}.btn-clear{background:#ecf0f1;color:#333}.auto-refresh{display:flex;align-items:center;gap:5px;font-size:13px;-webkit-user-select:none;user-select:none;flex:0 0 auto}.monitor-view-switcher{display:none;gap:16px;margin-bottom:20px;justify-content:center}.view-switch-btn{padding:0;border:none;background:transparent;color:#667eea;cursor:pointer;font-weight:600;font-size:16px;transition:all .3s ease;text-decoration:none;position:relative}.view-switch-btn.active{color:#2c3e50}.view-switch-btn:not(.active){color:#999}.view-switch-btn:hover{color:#667eea}.view-switch-btn.active:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:2px;background:#667eea}@media (max-width: 768px){.monitor-container{padding:12px;height:calc(100vh - 100px);display:flex;flex-direction:column;overflow:hidden;width:100%;max-width:100%;box-sizing:border-box}.monitor-header-left{display:none}.monitor-header-mobile{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:12px;flex-shrink:0}.monitor-title{width:100%;font-size:20px;text-align:center}.monitor-actions{width:100%;justify-content:space-between;flex-wrap:wrap;gap:8px}.monitor-view-switcher{display:flex}.monitor-content{flex-direction:column;gap:0;position:relative;overflow:hidden;flex:1;min-height:0;width:100%;max-width:100%}.monitor-stats-column{flex:1 1 100%!important;min-width:0!important;max-width:100%!important;width:100%!important;min-height:0;display:flex;flex-direction:column;gap:10px;height:100%;overflow-y:auto;overflow-x:hidden;transition:transform .3s ease,opacity .3s ease;padding:0;margin:0;box-sizing:border-box}.monitor-stats-column:not(.active){position:absolute;top:0;left:0;right:0;bottom:0;transform:translate(-100%);opacity:0;pointer-events:none;height:100%;width:100%}.monitor-stats-column.active{position:relative;transform:translate(0);opacity:1;height:100%;width:100%!important;max-width:100%!important;flex:1 1 100%!important}.stat-card{padding:14px 16px;width:100%!important;max-width:100%!important;box-sizing:border-box;flex-shrink:0;margin:0}.stat-card-left{flex:0 0 60%;min-width:0}.stat-card-right{flex:0 0 40%;min-width:0}.stat-card-content{flex-direction:column;align-items:flex-start;gap:4px}.stat-label{font-size:11px}.stat-value{font-size:20px}.stat-sub{font-size:11px}.monitor-logs{flex:1;min-width:0;width:100%;min-height:0;transition:transform .3s ease,opacity .3s ease;display:flex;flex-direction:column}.monitor-logs:not(.active){position:absolute;transform:translate(100%);opacity:0;pointer-events:none}.monitor-logs.active{transform:translate(0);opacity:1;height:100%}.logs-tabulator{flex:1;height:100%;min-height:0;width:100%}.logs-tabulator .tabulator-col{min-width:80px!important}}.weather-page{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 200px);padding:40px 20px;background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.weather-page-content{text-align:center;max-width:600px;padding:60px 40px;background:#fff;border-radius:16px;box-shadow:0 10px 40px #0000001a}.weather-page-icon{margin-bottom:30px;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.weather-page-title{font-size:2.5rem;color:#2c3e50;margin-bottom:20px;font-weight:600}.weather-page-message{font-size:1.5rem;color:#7f8c8d;margin-bottom:15px;font-weight:500}.weather-page-submessage{font-size:1rem;color:#95a5a6;line-height:1.6}*{margin:0;padding:0;box-sizing:border-box}.app{width:100vw;min-height:100vh;position:relative;background:#f5f5f5;display:flex;flex-direction:column}.app-main{flex:1;width:100%;overflow-y:auto;background:#f5f5f5}.component-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:2rem;text-align:center;color:#666}.component-placeholder h2{color:#333;margin-bottom:1rem;font-size:1.8rem}.component-placeholder>p{margin-bottom:2rem;font-size:1.1rem;color:#888}.instructions{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem;max-width:500px;text-align:left}.instructions p{margin-bottom:.75rem;font-weight:600;color:#333}.instructions ul{list-style-position:inside;color:#666}.instructions li{margin:.5rem 0;line-height:1.6}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;background-color:#fff;color:#213547}input,textarea,select{background-color:#fff;color:#213547}#root{width:100%;min-height:100vh}
