.auth-page{align-items:center;background:linear-gradient(135deg,#eef2ff,#e0f2fe 50%,#fce7f3);display:flex;justify-content:center;min-height:100vh;padding:1rem}.auth-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe6;border-radius:1.5rem;box-shadow:0 15px 30px #0000001a;max-width:28rem;padding:2.5rem;transition:box-shadow .3s ease;width:100%}.auth-card:hover{box-shadow:0 25px 45px #00000026}.auth-title{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;font-size:2.25rem;font-weight:800;margin-bottom:2rem;text-align:center}.auth-form{display:flex;flex-direction:column;gap:1.5rem}.auth-input{position:relative}.auth-input label{color:#374151;display:block;font-size:.875rem;margin-bottom:.25rem}.auth-input input{border:2px solid #d1d5db;border-radius:.75rem;box-sizing:border-box;padding:.75rem 3rem .75rem 1rem;transition:border-color .3s ease,transform .2s ease;width:100%}.auth-input input:hover{border-color:#a78bfa}.auth-input input:focus{border-color:#3b82f6;outline:none;transform:scale(1.02)}.auth-input .icon{color:#9ca3af;position:absolute;right:1rem;top:50%;transform:translateY(-50%)}.auth-button{background-color:#3b82f6;border:none;border-radius:.75rem;color:#fff;cursor:pointer;font-weight:600;padding:.75rem;transition:background-color .2s ease,transform .1s ease}.auth-button:hover{background-color:#2563eb}.auth-button:active{transform:scale(.96)}.auth-button:focus{box-shadow:0 0 0 3px #3b82f680;outline:none}.auth-toggle{color:#6b7280;font-size:.875rem;text-align:center}.auth-toggle button{background:none;border:none;color:#6366f1;cursor:pointer;font-weight:500;transition:-webkit-text-decoration .2s;transition:text-decoration .2s;transition:text-decoration .2s,-webkit-text-decoration .2s}.auth-toggle button:hover{text-decoration:underline}.auth-error{animation:pulse 1s ease-in-out infinite alternate;color:#dc2626;font-weight:500;text-align:center}@keyframes pulse{to{opacity:.6}}@media (max-width:640px){.auth-card{border-radius:1rem;padding:1.5rem}.auth-title{font-size:2rem;margin-bottom:1.5rem}}:root{--shadow:0 2px 6px #0000001a;--gap:1.5rem;--gap-sm:1rem;--font-base:"Segoe UI",sans-serif}html{box-sizing:border-box;font-size:16px}*,:after,:before{box-sizing:inherit}body{color:#333;font-family:Segoe UI,sans-serif;font-family:var(--font-base);line-height:1.5}.po-container{margin:0 auto;max-width:1200px;width:100%}.po-container,.po-header-card{padding:1.5rem;padding:var(--gap)}.po-header-card{border-radius:var(--radius);box-shadow:0 2px 6px #0000001a;box-shadow:var(--shadow);margin-bottom:1.5rem}.po-header-left,.po-header-right{flex:1 1 auto}.po-header-left h1{color:var(--blue);font-size:1.75rem;margin:0;text-align:left}.po-header-left p{color:#555;font-size:1rem;margin:.25rem 0 0;word-break:break-word}.po-header-right{gap:1rem;gap:var(--gap-sm);justify-content:flex-end;margin-top:.5rem}.status-badge{border-radius:999px;flex-shrink:1;font-size:.85rem;font-weight:600;padding:.25em .75em;text-transform:capitalize}.status-onschedule{background:#4caf50;color:#fff}.status-slightdelay{background:#ffb300;color:#333}.status-delayed{background:#d32f2f;color:#fff}.reports-button{background:#0000;border:1px solid #1976d2;border:1px solid var(--blue);border-radius:4px;color:#1976d2;color:var(--blue);cursor:pointer;flex-shrink:0;font-size:1.05rem;font-weight:600;padding:.75em 1.25em;transition:background .2s,color .2s}.reports-button:hover{background:#1976d2;background:var(--blue);color:#fff}.edit-button{background:#0000;border:1px solid #1976d2;border:1px solid var(--blue);border-radius:4px;color:#1976d2;color:var(--blue);margin-left:1rem;margin-left:var(--gap-sm);padding:.5em 1em;transition:background .2s,color .2s}.edit-button:hover{background:#1976d2;background:var(--blue);color:#fff}.po-cards{grid-gap:1.5rem;grid-gap:var(--gap);display:grid;gap:1.5rem;gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:1.5rem;margin-bottom:var(--gap)}.po-info-card{background:#fff;border-radius:8px;border-radius:var(--radius);box-shadow:0 2px 6px #0000001a;box-shadow:var(--shadow);padding:1.5rem;padding:var(--gap)}.po-info-card h2{color:#1976d2;color:var(--blue);font-size:1.25rem;margin-top:0}.po-info-table{border-collapse:collapse;width:100%}.po-info-table td,.po-info-table th{border-bottom:1px solid #eee;padding:.75rem}.po-info-table th{background:#f5f5f5;text-align:left;width:35%}.po-progress-card{background:#fff;border-radius:8px;border-radius:var(--radius);box-shadow:0 2px 6px #0000001a;box-shadow:var(--shadow);padding:1.5rem;padding:var(--gap)}.po-progress-card h2{color:#1976d2;color:var(--blue);font-size:1.25rem;margin-top:0}.po-progress-card .inside-progress{display:flex;flex-direction:column;gap:1rem;gap:var(--gap-sm);margin-top:1.5rem;margin-top:var(--gap)}.progress-line{align-items:center;display:flex;margin-bottom:1rem}.progress-line span{color:#444;font-size:.95rem;line-height:1}.progress-line span:first-child{flex:1 1 auto}.progress-line span:nth-child(2){flex:0 0 auto;margin-left:.5rem;text-align:right}.bar-bg{background:#eee;border-radius:5px;flex:2 1 auto;height:10px;margin:0 .75rem;overflow:hidden}.bar-fill{background:#1976d2;background:var(--blue);height:100%;transition:width .3s ease;width:0}.po-progress-card .estimated{align-items:center;display:flex;gap:.5rem;justify-content:center;margin-top:.25rem;text-align:right}.po-progress-card .estimated-label{color:#555;font-weight:600}.po-progress-card .estimated-date{align-items:center;background:#eaf2fe;border:none;border-radius:999px;box-shadow:none;color:#1565c0;cursor:default;display:inline-flex;font-weight:600;gap:.4rem;padding:.25rem .75rem;-webkit-user-select:text;user-select:text}.po-incidents{align-items:center;background:#fff;border-radius:8px;border-radius:var(--radius);box-shadow:0 2px 6px #0000001a;box-shadow:var(--shadow);display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:1.5rem;margin-bottom:var(--gap);padding:1rem 1.5rem;padding:var(--gap-sm) var(--gap)}.po-incidents .reports-button+.piles-button,.po-incidents button+button{margin-left:1rem;margin-left:var(--gap-sm)}.po-incidents .piles-button,.po-incidents .reports-button{align-items:center;box-sizing:border-box;display:inline-flex;font-size:1.05rem;font-weight:600;height:44px;padding:.75em 1.25em}.po-incidents h2{color:#1976d2;color:var(--blue);flex:1 1 auto;margin:0}.incident-button{background:#1976d2;background:var(--blue);border:none;border-radius:4px;color:#fff;cursor:pointer;flex-shrink:0;padding:.5em 1em;transition:background .2s}.incident-button:hover{background:#1565c0}.po-piles{align-items:center;background:#fff;border-radius:8px;border-radius:var(--radius);box-shadow:0 2px 6px #0000001a;box-shadow:var(--shadow);display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:1.5rem;margin-bottom:var(--gap);padding:1rem 1.5rem;padding:var(--gap-sm) var(--gap)}.po-piles h2{color:#1976d2;color:var(--blue);flex:1 1 auto;margin:0}.piles-button{background:#1976d2;font-size:1.05rem;font-weight:600;padding:.75em 1.25em}.daily-records{background:#fff;border-radius:8px;border-radius:var(--radius);box-shadow:0 2px 6px #0000001a;box-shadow:var(--shadow);margin-bottom:1.5rem;margin-bottom:var(--gap);padding:1.5rem;padding:var(--gap)}.daily-records h2{color:#1976d2;color:var(--blue);margin:0 0 1rem;margin:0 0 var(--gap-sm)}.new-record{display:flex;flex-wrap:wrap;gap:1rem;gap:var(--gap-sm);margin-bottom:1.5rem;margin-bottom:var(--gap)}.new-record input,.new-record select{border:1px solid #ccc;border-radius:4px;flex:1 1 120px;font-size:.95rem;padding:.5em .75em}.new-record .btn-primary{background:#1976d2;background:var(--blue);border:none;border-radius:4px;color:#fff;cursor:pointer;flex:0 0 auto;padding:.5em 1em;transition:background .2s}.new-record .btn-primary:hover{background:#1565c0}.records-table{border-collapse:collapse}.records-table td,.records-table th{border:1px solid #eee;padding:.75rem;text-align:center}.dashboard-widgets{grid-gap:1.5rem;grid-gap:var(--gap);display:grid;gap:1.5rem;gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:1.5rem 0;margin:var(--gap) 0}.widget{background:#fff;border-radius:8px;border-radius:var(--radius);box-shadow:0 2px 6px #0000001a;box-shadow:var(--shadow);padding:1rem;padding:var(--gap-sm);text-align:center}.po-kpis{grid-row-gap:1rem;grid-row-gap:var(--gap-sm);display:grid;grid-template-columns:1fr;row-gap:1rem;row-gap:var(--gap-sm)}.kpi-card{background:#fafafa;border-radius:8px;border-radius:var(--radius);box-shadow:0 1px 4px #0000000d;padding:1rem;padding:var(--gap-sm);text-align:center}.kpi-card h3{color:#555;font-size:1rem;margin-bottom:.5rem}.kpi-card p{font-size:1.2rem;font-weight:700;margin:0}.weather-button{background:#1976d2;background:var(--blue);border:none;cursor:pointer;margin-bottom:1.5rem;margin-bottom:var(--gap)}.weather-day{font-size:.9rem;margin-bottom:1rem;margin-bottom:var(--gap-sm)}@media (max-width:768px){.po-header-card{align-items:flex-start;flex-direction:column}.po-header-right{margin-top:1rem;margin-top:var(--gap-sm)}.dashboard-widgets,.po-cards,.po-kpis{grid-template-columns:1fr}}@media (max-width:480px){html{font-size:14px}.po-container{padding:1rem;padding:var(--gap-sm)}.incident-button,.reports-button,.status-badge,.weather-button{text-align:center;width:100%}}.widget{align-items:center;display:flex;flex-direction:column}.gauge-wrapper{height:160px;position:relative;width:160px}.gauge-wrapper svg{display:block;height:100%;width:100%}.gauge-label{font-size:2rem;font-weight:700;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%)}.widget--failure .gauge-wrapper svg circle:nth-of-type(2){stroke:#d32f2f!important}.po-upload{margin-top:2rem}.po-upload h2{font-size:1.5rem;margin-bottom:.5rem}.po-upload .incident-button{background-color:#1976d2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.6em 1.2em;transition:background-color .2s ease}.po-upload .incident-button:hover{background-color:#1565c0}.upload-close-button{background:#eee;border-radius:50%;position:absolute;right:1rem;top:1rem;transition:background-color .2s;z-index:10}.upload-close-button:hover{background:#ddd}.po-map{margin-bottom:1.5rem}.map-grid{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(auto-fill,24px)}.map-cell{background:#f0f0f0;border-radius:50%;height:24px;transition:background .2s,transform .1s;width:24px}.map-cell.filled{background:#4caf50}.map-cell:hover{transform:scale(1.1)}.upload-modal-overlay{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.upload-modal-content{background:#0000;border:none;overflow:visible;padding:0;position:relative}.upload-modal-container{background:#fff;border-radius:8px;box-shadow:0 4px 12px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:800px;overflow:hidden;width:80vw}.upload-modal-header{align-items:center;background:#1976d2;color:#fff;cursor:grab;display:flex;flex:0 0 auto;justify-content:space-between;padding:.75rem 1rem}.upload-modal-header:active{cursor:grabbing}.upload-modal-header h2{flex:1 1;margin:0}.upload-close-button{align-items:center;background:#0000;border:none;color:#fff;cursor:pointer;display:flex;font-size:1.25rem;height:32px;justify-content:center;line-height:1;padding:0;width:32px}.upload-modal-body{flex:1 1 auto;padding:1rem}body.modal-open{overflow:hidden}.upload-modal-body .file-item{border-bottom:1px solid #eee;margin-bottom:1.5rem;margin-bottom:var(--gap);padding-bottom:1rem;padding-bottom:var(--gap-sm)}.upload-modal-body .file-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.upload-modal-body .file-item h3{color:#1976d2;color:var(--blue);font-size:1.125rem;margin:0 0 1rem;margin:0 0 var(--gap-sm) 0}.upload-modal-body .file-item .preview{border:1px solid #ccc;border-radius:8px;border-radius:var(--radius);display:block;max-height:60vh;overflow:hidden;width:100%}.upload-modal-body .file-item img.preview,.upload-modal-body .file-item object.preview,.upload-modal-body .file-item video.preview{height:auto;width:100%}.upload-modal-body .preview,.upload-modal-body object.preview{border:none;display:block;height:calc(90vh - 80px);width:100%}.upload-modal-body .file-item .no-preview{color:#666;font-style:italic}.upload-modal-body{max-height:80vh;overflow-y:auto}@media (max-width:768px){.upload-modal-container{width:90vw}}.po-upload .incident-button:not(:last-child){margin-right:1rem;margin-right:var(--gap-sm)}.file-viewer-container{background:#fff;cursor:pointer;overflow:hidden;position:relative}.file-preview,.file-preview-object,.file-preview-video{height:100%;object-fit:contain;width:100%}.loading-placeholder{color:#666;line-height:1.5;text-align:center}.dxf-svg-container{background:#f9f9f9;height:100%;overflow:auto;position:relative;width:100%}.dxf-svg-container .dxf-svg-inner svg{display:block;height:100%!important;width:100%!important}.dxf-text-overlay{color:#333;font-size:12px;transform:translate(-50%,-100%);white-space:nowrap}.dxf-text-overlay,.fullscreen-hint{pointer-events:none;position:absolute}.fullscreen-hint{background:#0009;border-radius:3px;bottom:8px;color:#fff;font-size:11px;padding:2px 6px;right:8px}.file-viewer-container:-webkit-full-screen,.file-viewer-container:fullscreen{height:100vh!important;width:100vw!important}.dxf-svg-container svg{height:100%;width:100%}.file-viewer-container:-moz-full-screen,.file-viewer-container:-ms-fullscreen,.file-viewer-container:-webkit-full-screen,.file-viewer-container:fullscreen{background:#fff;height:100vh!important;left:0!important;margin:0;padding:0;position:fixed!important;top:0!important;width:100vw!important;z-index:9999}.file-viewer-container .dxf-svg-container,.file-viewer-container .dxf-svg-container svg{display:block;height:100%!important;width:100%!important}.fs-button{background:#0009;border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:.85rem;padding:.3rem .6rem;position:absolute;right:.5rem;top:.5rem;z-index:10000}.fs-button:hover{background:#000c}.fv-view-button{font-size:1rem}.file-viewer-container.expanded{align-items:center;display:flex;justify-content:center;overflow:hidden}.file-viewer-container.expanded .dxf-svg-container,.file-viewer-container.expanded img,.file-viewer-container.expanded object,.file-viewer-container.expanded video{height:100%;object-fit:contain;width:100%}.fv-exit-button{background:#00000080;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:.5rem .75rem;right:1rem;top:1rem;z-index:10}.fv-exit-button,.fv-loading{font-size:1.25rem;position:absolute}.fv-loading{left:50%;top:50%;transform:translate(-50%,-50%)}.file-row{align-items:center;border-bottom:1px solid #ececec;display:flex;justify-content:space-between;padding:.5rem 1rem}.file-name{color:#333;flex:1 1;font-size:1rem;font-weight:500;margin-right:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fv-view-button{background:linear-gradient(135deg,#4a90e2,#357ab8);border:none;border-radius:4px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1rem;transition:background .2s ease,transform .1s ease}.fv-view-button:hover{background:linear-gradient(135deg,#5aa0f2,#468cd0)}.fv-view-button:active{background:linear-gradient(135deg,#316ea4,#245f92);transform:scale(.97)}@media (max-width:768px){.file-viewer-container.expanded{align-items:center;background:#fff;display:flex;height:100vh!important;justify-content:center;left:0;position:fixed!important;top:0;width:100vw!important;z-index:9999}}.file-viewer-container.expanded .dxf-svg-container{height:90vh;overflow:auto;width:90vw}.file-viewer-container.expanded .dxf-svg-inner svg{display:block;height:100%;object-fit:contain;width:100%}.po-header-card{align-items:center}.po-header-left{flex:1 1}.po-header-right{display:inline-flex;flex:0 1 auto;flex-wrap:wrap;justify-content:center}.status-badge{display:inline-block;flex:0 0 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:480px){.status-badge{font-size:.8rem;padding:.25em .5em}}.records-table-wrapper{width:100%}.records-table{min-width:0;table-layout:fixed}.records-table td,.records-table th{overflow:hidden;padding:.5rem .75rem;text-overflow:ellipsis;white-space:nowrap}html{font-size:clamp(.875rem,1.2vw,1.125rem)}.po-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}@media (max-width:1024px){.dashboard-widgets,.po-cards,.po-kpis{grid-template-columns:1fr}}@media (max-width:760px){.upload-modal-container{border-radius:0;display:flex;flex-direction:column;height:100vh;margin:0;max-height:100vh;max-width:100vw;overflow-x:hidden;width:100vw}.upload-modal-overlay{overflow-x:hidden;padding:0}.upload-modal-content{height:100vh;max-height:100vh;max-width:100vw;overflow-x:hidden;width:100vw}.upload-modal-header{border-radius:0;min-height:60px;padding:1rem 1.5rem}.upload-modal-header h2{font-size:1.5rem;font-weight:600}.upload-close-button{font-size:1.5rem;height:40px;width:40px}.upload-modal-body{-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;height:calc(100vh - 60px);max-width:100vw;overflow-x:hidden;overflow-y:auto;padding:1.5rem 1.5rem 0;position:relative}.upload-modal-body .rp-form{align-items:stretch;box-sizing:border-box;display:flex;flex:0 0 auto;flex-direction:column;margin-bottom:0;max-width:100%;padding:0 1.5rem;width:100%}.upload-modal-body .rp-form input[type=file]{background:#fafafa;border:1px solid #ccc;border-radius:6px;box-sizing:border-box;flex-shrink:0;font-size:.9rem!important;margin-bottom:0;max-height:48px!important;max-width:100%;min-height:44px!important;padding:.6rem .75rem!important;width:100%}.upload-modal-body .rp-form input[type=file]::-webkit-file-upload-button{font-size:.85rem!important;margin-right:.5rem;min-height:32px!important;padding:.45rem .9rem!important}.upload-modal-body .rp-form input[type=file]::file-selector-button{font-size:.85rem!important;margin-right:.5rem;min-height:32px!important;padding:.45rem .9rem!important}.upload-modal-body .rp-form .run-ocr-btn,.upload-modal-body .rp-form .take-photo-btn{display:none}.upload-modal-body .rp-status{align-items:center;display:flex;flex:1 1 auto;flex-direction:column;justify-content:center;max-width:100%;min-height:0;overflow-x:hidden;overflow-y:auto;padding:1rem 0;text-align:center;width:100%}.upload-modal-body .rp-status p{word-wrap:break-word;margin:.5rem 0;max-width:100%;overflow-wrap:break-word;width:100%}.upload-modal-body .concrete-buttons-container{background:#fff;bottom:0;box-sizing:border-box;display:flex;flex-direction:column;flex-shrink:0;gap:1rem;left:0;margin-left:0;margin-right:0;margin-top:auto;max-width:100%;padding:1rem 1.5rem 1.5rem;position:-webkit-sticky;position:sticky;right:0;width:100%;z-index:10}.upload-modal-body .concrete-buttons-container .run-ocr-btn,.upload-modal-body .concrete-buttons-container .take-photo-btn{border-radius:8px;box-sizing:border-box;display:block;font-size:1.1rem;font-weight:600;min-height:52px;padding:1rem 1.5rem;width:100%}.upload-modal-body .concrete-buttons-container .run-ocr-btn{background:#1976d2;border:none;color:#fff}.upload-modal-body .concrete-buttons-container .run-ocr-btn:hover:not(:disabled){background:#1565c0}.upload-modal-body .concrete-buttons-container .run-ocr-btn:disabled{background:#ccc;cursor:not-allowed}.upload-modal-body .rp-form .run-ocr-btn:hover:not(:disabled){background:#1565c0}.upload-modal-body .rp-form .run-ocr-btn:disabled{background:#ccc;cursor:not-allowed}.upload-modal-body .rp-status{flex-shrink:0;margin-top:1rem}}@media (max-width:480px){.upload-modal-container{border-radius:0;padding:0;width:100vw}.incident-button,.piles-button,.reports-button,.weather-button{text-align:center;width:100%}}.records-table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.records-table{min-width:600px;width:100%}.po-files-table{background:#fff;border-collapse:initial;border-radius:12px;border-spacing:0;min-width:0;overflow:hidden;table-layout:fixed}.po-files-table thead th{background:#f7f9fc;border-bottom:1px solid #e3e9f2;border-right:none;border-top:1px solid #e3e9f2;color:#2c3e50;font-weight:600;position:-webkit-sticky;position:sticky;text-align:center;top:0;z-index:1}.po-files-table thead th:first-child{border-left:1px solid #e3e9f2;border-top-left-radius:12px}.po-files-table thead th:last-child{border-right:1px solid #e3e9f2;border-top-right-radius:12px}.po-files-table thead th+th{border-left:none}.po-files-table td,.po-files-table th{overflow:hidden;padding:.75rem .875rem;text-overflow:ellipsis;white-space:nowrap}.po-files-table td{border:none}.po-files-table tbody td{border-top:1px solid #e3e9f2!important}.po-files-table tbody tr:first-child td{border-top:none}.po-files-table tbody tr{transition:background .15s ease}.po-files-table tbody tr:nth-child(2n){background:#fff}.po-files-table tbody tr:hover{background:#eef5ff}.po-files-name{max-width:340px}@media (max-width:760px){.po-files-name{max-width:180px}}.po-files-type{font-size:.9rem}.po-files-type-badge{background:#eaf2fe;border:1px solid #cfe3ff;border-radius:999px;color:#1565c0;display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.02em;padding:.1rem .45rem}.po-files-actions{display:flex;justify-content:flex-end;text-align:right}.po-files-actions-head,.po-files-table thead th.po-files-actions-head{text-align:right}.po-files-action-btn{align-items:center;background:#eaf2fe;border:1px solid #cfe3ff;border-radius:6px;color:#1565c0;display:inline-inline-flex;display:inline-flex;font-size:.8rem;font-weight:700;gap:6px;padding:.35rem .6rem;text-decoration:none}.po-files-action-btn:hover{background:#dceaff}.po-files-action-btn svg{color:#1565c0}.po-files-download-btn,.po-files-view-btn{cursor:pointer}.po-files-actions-stack{align-items:center;display:inline-flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}@media (max-width:760px){.po-files-actions-stack{justify-content:center;width:100%}.po-files-actions{justify-content:center;text-align:center}.po-files-table thead th.po-files-actions-head{text-align:center}.po-files-action-btn span{display:none}.po-files-action-btn{padding:.3rem .4rem}.po-files-name{max-width:140px}.po-files-table thead th{font-size:.9rem}}@media (min-width:100px) and (max-width:1024px){.po-header-card{align-items:flex-start;flex-direction:column;text-align:left}.po-header-left{text-align:left;width:100%}.po-header-right{display:flex;justify-content:flex-end;margin-top:1rem;margin-top:var(--gap-sm);width:100%}}.fs-btn{background:#0000001a;border:none;border-radius:4px;cursor:pointer;font-size:1rem;padding:4px;position:absolute;right:8px;top:8px;z-index:1}.trend-chart-widget,.widget{position:relative}.weather-button{background-color:#00acc1;border-radius:4px;color:#fff;flex-shrink:0;margin-bottom:0!important;padding:.5em 1em;transition:background .2s,color .2s}.weather-button:hover{background-color:#0097a7}.po-kpis .widget-link,.po-kpis .widget-link:hover{color:inherit;text-decoration:none}@media (max-width:480px){.po-incidents{flex-wrap:nowrap;justify-content:flex-start}.po-incidents h2{flex:1 1 auto;font-size:1.1rem;text-align:left}.po-incidents .piles-button,.po-incidents .reports-button{font-size:.95rem;text-align:center;width:auto}.po-incidents .reports-button{margin-left:auto}.po-incidents .piles-button{font-size:.9rem;padding:.6em .9em;white-space:nowrap}}.rp-container{color:#333;font-family:Segoe UI,sans-serif;margin:2rem auto;max-width:800px;padding:0 1rem}.rp-card{background:#fff;border-radius:12px;box-shadow:0 2px 6px #0000001a;margin-bottom:2rem;padding:1.5rem}.rp-card h1{font-size:1.8rem;margin-top:0;text-align:center}.rp-form{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin:1rem 0}.rp-form button{background:#1976d2;border:none;border-radius:6px;color:#fff;cursor:pointer;flex:0 0 auto;font-size:1rem;padding:.6rem 1.2rem;transition:background .2s}.rp-form button:disabled{background:#ccc;cursor:not-allowed}.rp-form button:hover:not(:disabled){background:#1565c0}.rp-status{margin:1rem 0;text-align:center}.rp-status p{font-size:1.1rem;margin:.5rem 0}.rp-result{background:#fafafa;border-radius:8px;font-family:monospace;padding:1rem;white-space:pre-wrap;word-break:break-word}.rp-result-fullscreen-overlay{z-index:3000}.rp-result-fullscreen,.rp-result-fullscreen-overlay{background:#fff;bottom:0;height:100vh;left:0;max-width:100vw;overflow-x:hidden;position:fixed;right:0;top:0;width:100vw}.rp-result-fullscreen{-webkit-overflow-scrolling:touch;border-radius:0;display:flex;flex-direction:column;margin:0;overflow-y:auto;padding:0;z-index:3001}.rp-result-header{align-items:center;background:#1976d2;box-shadow:0 2px 4px #0000001a;color:#fff;display:flex;gap:1rem;padding:1rem 1.5rem;position:-webkit-sticky;position:sticky;top:0;z-index:10}.rp-result-header h3{flex:1 1;font-size:1.25rem;font-weight:600;left:50%;margin:0;position:absolute;text-align:center;transform:translateX(-50%);width:auto}.rp-result-content{display:flex;flex:1 1;flex-direction:column;max-width:100%;min-height:0;overflow-x:hidden;overflow-y:auto;padding:1.5rem;width:100%}.rp-result pre{background:#f6f6f6;border-radius:4px;max-height:40vh;overflow:auto;padding:1rem;white-space:pre-wrap;word-break:break-word}@media (max-width:760px){.rp-result pre,.rp-result-content pre{word-wrap:break-word!important;max-width:100%!important;overflow-wrap:break-word!important;overflow-x:hidden!important;white-space:pre-wrap!important;word-break:break-word!important}.rp-result,.rp-result-content{max-width:100%!important;overflow-x:hidden!important;width:100%!important}.rp-result ul,.rp-result-content ul{word-wrap:break-word!important;max-width:100%!important;overflow-x:hidden!important}.rp-result li,.rp-result-content li{word-wrap:break-word!important;max-width:100%!important;overflow-wrap:break-word!important}}.rp-error{color:#c62828;font-weight:700;margin-top:1rem;text-align:center}.rp-select-container{align-items:flex-end;display:flex;gap:1rem;margin-bottom:1.5rem}.rp-select-container label{color:#555;display:flex;flex-direction:column;font-size:.9rem}.rp-select{background:#fff;border:1px solid #ccc;border-radius:6px;cursor:pointer;font-size:1rem;margin-top:.25rem;padding:.5rem .75rem;transition:border-color .2s,box-shadow .2s}.rp-select:focus{border-color:#1976d2;box-shadow:0 0 0 3px #1976d233;outline:none}.rp-select:disabled{background:#f5f5f5;cursor:not-allowed}.rp-json-viewer{background:#eef3f8;border-radius:8px;box-shadow:inset 0 1px 3px #0000001a;font-family:monospace;font-size:.9rem;line-height:1.4;margin-bottom:1.5rem;max-height:300px;overflow:auto;padding:1rem}.rp-json-viewer strong{color:#333;display:block;margin-bottom:.5rem}.rp-json-viewer pre{margin:0;white-space:pre-wrap;word-break:break-word}@media (max-width:600px){.rp-form,.rp-select-container{align-items:stretch;flex-direction:column}.rp-form{gap:1rem}.rp-form input[type=file]{border-radius:8px;font-size:.9rem;margin-left:0;min-height:40px;order:1;padding:.5rem .75rem;text-align:center;width:100%}.rp-form .run-ocr-btn,.rp-form .take-photo-btn,.rp-form button{border-radius:8px;font-size:1.1rem;margin-left:0;min-height:52px;padding:1rem 1.5rem;width:100%}.rp-form .take-photo-btn{order:2}.rp-form .run-ocr-btn{order:3}.rp-form input[type=file]::-webkit-file-upload-button{font-size:.85rem;font-weight:600;min-height:32px;padding:.4rem .9rem}.rp-form input[type=file]::file-selector-button{font-size:.85rem;font-weight:600;min-height:32px;padding:.4rem .9rem}.rp-status{margin:1.5rem 0}.rp-status p{font-size:1.2rem;margin:1rem 0}.rp-result{font-size:1.05rem;margin-top:1.5rem;padding:1.5rem}.rp-result strong{display:block;font-size:1.3rem;margin-bottom:1rem;margin-top:1.5rem}.rp-result strong:first-child{margin-top:0}.rp-result pre{font-size:.95rem;line-height:1.6;margin:1rem 0;padding:1rem}.rp-result ul{font-size:1.05rem;line-height:1.8;padding-left:1.5rem}.rp-result li{margin-bottom:1rem;padding:.75rem 0}.rp-result li b{display:block;font-size:1.1rem;margin-bottom:.5rem}.rp-actions{flex-direction:column;gap:1rem;margin-top:2rem;width:100%}.rp-actions .MuiButton-root,.rp-actions button{font-size:1.1rem!important;margin:0!important;min-height:52px;padding:1rem 1.5rem!important;width:100%!important}.rp-error{border-radius:8px;font-size:1.1rem;margin:1rem 0;padding:1rem}.take-photo-btn{border-radius:8px!important;font-size:1.1rem!important;font-weight:600;margin:0!important;min-height:52px;padding:1rem 1.5rem!important;width:100%!important}.rp-card{margin-bottom:1.5rem;padding:1.5rem}.rp-card h1{font-size:1.8rem;margin-bottom:1.5rem}.rp-form{margin:1.5rem 0}.rp-result ul li{border-bottom:1px solid #eee;padding-bottom:1rem}.rp-result ul li:last-child{border-bottom:none}}.rp-modal-backdrop{background:#00000080;height:100vh;left:0;top:0;width:100vw}.rp-modal{box-shadow:0 4px 12px #0000004d;max-height:80%;max-width:90%}.rp-modal-close{right:.5rem;top:.5rem}.rp-button{align-items:center;background:#1976d2;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:1rem;margin-left:auto;padding:.6rem 1.2rem;transition:background .2s}.rp-button:disabled{background:#ccc;cursor:not-allowed}.rp-button:hover:not(:disabled){background:#1565c0}.rp-form input[type=file]{background:#fafafa;border:1px solid #ccc;border-radius:6px;cursor:pointer;flex:1 1 200px;font-size:1rem;padding:.6rem .75rem}.rp-form input[type=file]::-webkit-file-upload-button{background:#1976d2;border:1px solid #ccc;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;margin-right:.5rem;padding:.6rem 1.2rem;-webkit-transition:background .2s;transition:background .2s}.rp-form input[type=file]::file-selector-button{background:#1976d2;border:1px solid #ccc;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;margin-right:.5rem;padding:.6rem 1.2rem;transition:background .2s}.rp-form input[type=file]::-webkit-file-upload-button:hover{background:#1565c0}.rp-form input[type=file]::file-selector-button:hover{background:#1565c0}.rp-form input[type=file]{text-align:left}.rp-form input[type=file]::-webkit-file-upload-button{display:inline-block}.rp-form input[type=file]::file-selector-button{display:inline-block}.rp-form input[type=file]:not(:placeholder-shown){text-align:center}@media (max-width:600px){.rp-form input[type=file]{background:#fff;border:2px solid #1976d2;font-size:1.05rem;min-height:48px;padding:1rem}.rp-form input[type=file]::-webkit-file-upload-button{font-size:1.05rem;font-weight:600;min-height:44px;padding:.75rem 1.5rem}.rp-form input[type=file]::file-selector-button{font-size:1.05rem;font-weight:600;min-height:44px;padding:.75rem 1.5rem}}.rp-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-bottom:0;margin-top:auto;padding-top:1.5rem;width:100%}.rp-result-fullscreen .rp-actions{background:#fff;bottom:0;position:-webkit-sticky;position:sticky;z-index:5}.rp-actions .MuiButton-root{flex:0 0 auto}.rp-actions .rp-button{border:none;border-radius:.25rem;cursor:pointer;flex:1 1;font-size:1rem;padding:.5rem 1rem;transition:background-color .2s ease}.take-photo-btn{background:#fff;border:1px solid #1976d2;border-radius:6px;color:#1976d2;cursor:pointer;flex:0 0 auto;font-size:1rem;font-weight:500;padding:.6rem 1.2rem;transition:all .2s}.take-photo-btn:hover:not(:disabled){background:#1976d2;color:#fff}.take-photo-btn:disabled{background:#f5f5f5;border-color:#ccc;color:#ccc;cursor:not-allowed}.run-ocr-btn{background:#1976d2;border:none;border-radius:6px;color:#fff;cursor:pointer;flex:0 0 auto;font-size:1rem;padding:.6rem 1.2rem;transition:background .2s}.run-ocr-btn:hover:not(:disabled){background:#1565c0}.run-ocr-btn:disabled{background:#ccc;cursor:not-allowed}@media (max-width:760px){.rp-form button,.take-photo-btn{font-size:1.1rem;min-height:52px;padding:1rem 1.5rem}}.rp-actions .rp-button:first-of-type{background-color:#2196f3;color:#fff}.rp-actions .rp-button:first-of-type:hover:not(:disabled){background-color:#2196f3}.rp-actions .rp-button:last-of-type{background-color:#4caf50;color:#fff}.rp-actions .rp-button:last-of-type:hover:not(:disabled){background-color:#4caf50}.rp-actions .rp-button:disabled{cursor:not-allowed;opacity:.6}.config-fields{margin-top:1rem;max-height:400px;overflow-y:auto}.config-item{margin-bottom:1rem}.config-item strong{color:#1976d2;display:block;margin-bottom:.25rem}.config-item-details{display:flex;flex-direction:column;gap:.25rem;margin-top:.5rem}.config-pair{align-items:center;display:flex;gap:.5rem}.config-key{font-weight:600;white-space:nowrap}.config-value{text-align:left;white-space:pre-wrap}.config-json{background:#f4f4f4;border-radius:.25rem;font-family:monospace;font-size:.9rem;overflow-x:auto;padding:.75rem}.config-item p,.config-item pre{background:#f1f1f1;border-radius:4px;font-size:.9rem;line-height:1.4;padding:.75rem}.rp-modal-backdrop{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;position:fixed;z-index:2100}.rp-modal{background:#fff;border-radius:8px;max-height:90vh;max-width:800px;overflow:auto;padding:1.5rem;position:relative}.rp-modal-close{background:#0000;border:none;cursor:pointer;font-size:1.5rem;position:absolute;right:.75rem;top:.75rem}.po-header-card{align-items:flex-start;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #00000014;display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:var(--gap);padding:1rem 1.25rem;transition:all .2s ease}.po-header-card:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000001a}.po-header-left{flex:1 1 auto;min-width:0;text-align:left}.po-header-left h1{color:#1976d2;font-size:1.5rem;font-weight:700;letter-spacing:-.01em;line-height:1.3;margin:0 0 .25rem}.po-location-section{display:flex;flex-direction:column;gap:.625rem;margin-top:0;width:100%}.po-location-with-weather{align-items:center;color:#6b7280;display:flex;flex-wrap:wrap;font-size:.9rem;gap:.5rem}.weather-inline-wrapper{display:inline-block;margin-left:.25rem;position:relative}.weather-inline-display{align-items:center;background:#0000;border:none;border-radius:0;cursor:pointer;display:inline-flex;gap:.35rem;padding:.25rem .5rem;transition:all .2s ease}.weather-inline-display:hover{background:#e5e5e599;border-radius:6px;box-shadow:0 1px 3px #0000001a;transform:translateY(-1px)}.weather-inline-icon{align-items:center;display:flex;font-size:1.1rem;line-height:1}.weather-inline-temp{color:#1976d2;font-size:.9rem;font-weight:600}.weather-popup-overlay{display:none}.weather-popup{animation:popupSlideIn .2s ease;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 10px 40px #00000026,0 4px 12px #0000001a;left:0;max-width:450px;min-width:320px;padding:1rem;position:absolute;top:calc(100% + .5rem);transition:opacity .2s ease,transform .2s ease;width:-webkit-max-content;width:max-content;z-index:1000}.weather-popup-closing{animation:popupSlideOut .2s ease;animation-fill-mode:forwards}@keyframes popupSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes popupSlideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}@keyframes popupSlideOutMobile{0%{opacity:1;transform:translateY(-.5rem)}to{opacity:0;transform:translateY(-1rem)}}@keyframes popupSlideInCenter{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}.weather-popup-header{align-items:flex-start;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.75rem}.weather-popup-left{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.weather-popup-location{color:#374151;font-size:.9rem;font-weight:500}.weather-popup-temp-large{color:#1976d2;font-size:2rem;font-weight:700;line-height:1}.weather-popup-right{align-items:flex-start;display:flex;justify-content:flex-end}.weather-popup-icon-large{align-items:center;color:#1976d2;display:flex;font-size:2.5rem;justify-content:center}.weather-popup-hourly{display:flex;gap:.5rem;overflow-x:auto;padding:.5rem 0;scrollbar-color:#fff3 #0000;scrollbar-width:thin}.weather-popup-hourly::-webkit-scrollbar{height:3px}.weather-popup-hourly::-webkit-scrollbar-track{background:#0000}.weather-popup-hourly::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.weather-popup-hour-item{align-items:center;display:flex;flex-direction:column;flex-shrink:0;gap:.35rem;justify-content:center;min-width:60px;padding:.5rem .4rem}.weather-popup-hour-time{color:#6b7280;font-size:.65rem;font-weight:500;letter-spacing:.3px;text-transform:uppercase}.weather-popup-hour-icon{align-items:center;color:#1976d2;display:flex;font-size:1.4rem;height:1.6rem;justify-content:center;line-height:1}.weather-popup-hour-precip{background:#e3f2fd;border-radius:6px;color:#1976d2;font-size:.6rem;font-weight:600;padding:.1rem .35rem}.weather-popup-hour-temp{color:#374151;font-size:.8rem;font-weight:600;line-height:1}.weather-current-left{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.weather-location{font-size:.7rem;font-weight:500;letter-spacing:.1px;opacity:.95}.weather-current-temp{font-size:1.35rem;font-weight:700;letter-spacing:-.3px;line-height:1}.weather-current-right{flex-direction:column;gap:.2rem;padding-left:.6rem}.weather-current-icon,.weather-current-right{align-items:center;display:flex;justify-content:center}.weather-current-icon{color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));font-size:1.6rem}.weather-current-condition{font-size:.6rem;font-weight:600;letter-spacing:.3px;opacity:.95;text-transform:uppercase}.weather-loading{color:#666;font-size:.85rem;font-style:italic;margin-left:.5rem}.weather-error{cursor:help;font-size:.9rem;margin-left:.5rem;opacity:.7}.weather-hourly-forecast{-webkit-overflow-scrolling:touch;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:.5rem;justify-content:flex-start;overflow-x:auto;overflow-y:hidden;padding:.5rem;scrollbar-color:#d1d5db #0000;scrollbar-width:thin}.weather-hourly-forecast::-webkit-scrollbar{height:4px}.weather-hourly-forecast::-webkit-scrollbar-track{background:#0000;border-radius:4px}.weather-hourly-forecast::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.weather-hourly-forecast::-webkit-scrollbar-thumb:hover{background:#9ca3af}.weather-hour-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 1px 2px #0000000a;display:flex;flex-direction:column;flex-shrink:0;gap:.35rem;justify-content:center;min-width:60px;padding:.5rem .4rem;transition:all .2s ease}.weather-hour-item:hover{background:#fff;border-color:#1976d2;box-shadow:0 2px 6px #00000014;transform:translateY(-1px)}.weather-hour-time{color:#546e7a;font-size:.6rem;font-weight:600;letter-spacing:.25px;text-transform:uppercase;white-space:nowrap}.weather-hour-icon{align-items:center;display:flex;font-size:1.2rem;height:1.4rem;justify-content:center;line-height:1}.weather-hour-precip{background:#e3f2fd;border-radius:6px;color:#1976d2;font-size:.55rem;font-weight:600;padding:.08rem .3rem;white-space:nowrap}.weather-hour-temp{color:#263238;font-size:.75rem;font-weight:700;line-height:1}.po-header-right{align-items:center;align-self:flex-end;display:flex;flex-shrink:0;gap:.5rem;margin-left:auto;padding-left:1rem}.po-header-card .po-header-right{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.po-header-card .po-header-right .status-badge{border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 1px 2px #0000000d;font-size:.75rem;font-weight:600;letter-spacing:.01em;padding:.4rem .75rem;text-transform:capitalize;transition:all .2s ease}.po-header-card .po-header-right .status-badge:hover{box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.po-header-card .po-header-right .edit-button{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 1px 2px #0000000d;color:#374151;font-size:.8rem;font-weight:600;margin-left:0;padding:.4rem .75rem;transition:all .2s ease}.po-header-card .po-header-right .edit-button:hover{background:#1976d2;border-color:#1976d2;box-shadow:0 2px 4px #1976d233;color:#fff;transform:translateY(-1px)}.u-hidden-ui{clip:rect(0 0 0 0)!important;border:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}@media (max-width:1024px){.po-header-card{align-items:flex-start;flex-direction:column;padding:.875rem 1rem;text-align:left}.po-header-left{text-align:left;width:100%}.po-header-left h1{font-size:1.35rem;margin-bottom:.15rem}.po-header-right{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1.25rem;padding-left:0;width:100%}}@media (max-width:480px){.po-header-card{border-radius:8px;padding:.75rem}.po-header-left h1{font-size:1.15rem;margin-bottom:.15rem}.po-header-left p{font-size:.85rem}.po-header-right{gap:.4rem;margin-top:1.25rem}.po-header-card .po-header-right{align-items:center;flex-wrap:wrap;gap:.4rem;justify-content:flex-end;max-width:100%}.po-header-card .po-header-right .edit-button,.po-header-card .po-header-right .status-badge{align-items:center;display:inline-flex;flex:0 0 auto}.po-header-card .status-badge{display:inline-block;flex:0 0 auto!important;font-size:.7rem;max-width:-webkit-max-content;max-width:max-content;overflow:hidden;padding:.35rem .65rem;text-overflow:ellipsis;white-space:nowrap;width:auto!important}.po-header-card .edit-button{font-size:.8rem;padding:.35rem .65rem;white-space:nowrap}.weather-current-card{margin-bottom:.5rem;padding:.6rem .75rem}.weather-current-left{gap:.25rem}.weather-location{font-size:.7rem}.weather-current-temp{font-size:1.3rem}.weather-current-right{gap:.2rem;padding-left:.5rem}.weather-current-icon{font-size:1.6rem}.weather-current-condition{font-size:.6rem}.weather-hourly-forecast{-webkit-overflow-scrolling:touch;gap:.35rem;justify-content:center;padding:.5rem;width:100%}.weather-hourly-forecast:after,.weather-hourly-forecast:before{content:"";flex:1 1 auto;min-width:.5rem}.weather-hour-item{gap:.3rem;min-width:55px;padding:.4rem .35rem}.weather-hour-time{font-size:.6rem}.weather-hour-icon{font-size:1.2rem;height:1.4rem}.weather-hour-precip{font-size:.55rem;padding:.08rem .25rem}.weather-hour-temp{font-size:.75rem}}@media (max-width:768px){.weather-popup-overlay{display:none}.po-header-card,.po-location-section{position:relative}.weather-inline-wrapper{position:static}.weather-popup{animation:popupSlideIn .2s ease;left:.85rem;max-height:none;max-width:360px;min-width:auto;overflow-y:visible;position:absolute;right:auto;top:calc(100% + .5rem);transform:translateY(-.5rem);transition:opacity .2s ease,transform .2s ease;width:-webkit-max-content;width:max-content;z-index:1000}.weather-popup-closing{animation:popupSlideOutMobile .2s ease;animation-fill-mode:forwards}.weather-popup-header{align-items:flex-start;flex-direction:row}.weather-popup-temp-large{font-size:1.75rem}.weather-popup-icon-large{font-size:2rem}.weather-popup-hourly{gap:.4rem}.weather-popup-hour-item{min-width:55px;padding:.4rem .35rem}.weather-popup-hour-icon{font-size:1.2rem;height:1.4rem}}@media (max-width:480px){.weather-popup-overlay{display:none}.po-header-card,.po-location-section{position:relative}.weather-inline-wrapper{position:static}.weather-popup{animation:popupSlideIn .2s ease;left:.85rem;max-height:none;max-width:360px;overflow-y:visible;padding:.875rem;position:absolute;right:auto;top:calc(100% + .5rem);transform:translateY(-.5rem);transition:opacity .2s ease,transform .2s ease;width:-webkit-max-content;width:max-content;z-index:1000}.weather-popup-closing{animation:popupSlideOutMobile .2s ease;animation-fill-mode:forwards}.weather-popup-header{flex-direction:row;gap:.5rem}.weather-popup-location{font-size:.85rem}.weather-popup-temp-large{font-size:1.5rem}.weather-popup-icon-large{font-size:1.75rem}.weather-popup-hourly{gap:.35rem;padding:.4rem 0}.weather-popup-hour-item{gap:.3rem;min-width:50px;padding:.35rem .3rem}.weather-popup-hour-time{font-size:.6rem}.weather-popup-hour-icon{font-size:1.1rem;height:1.3rem}.weather-popup-hour-temp{font-size:.75rem}}@media (max-width:360px){.weather-current-card{padding:.5rem .65rem}.weather-current-temp{font-size:1.2rem}.weather-current-icon{font-size:1.4rem}.weather-hour-item{min-width:50px;padding:.35rem .3rem}.weather-hour-time{font-size:.55rem}.weather-hour-icon{font-size:1.1rem;height:1.3rem}.weather-popup{padding:.875rem;width:calc(100vw - 1.5rem)}.weather-popup-hour-item{min-width:50px;padding:.35rem .3rem}}.it-table{border-collapse:collapse;box-sizing:border-box;font-size:.95rem;margin:0;table-layout:fixed;width:100%}.it-table .MuiTableHead-root{background:#1976d2}.it-table .MuiTableHead-root .MuiTableCell-head{color:#fff;font-weight:500}.it-table .MuiTableCell-root{padding:8px 12px;white-space:normal;word-break:break-word}.it-table .MuiTableBody-root .MuiTableRow-root:nth-of-type(2n){background:#fbfbfb}.it-table .MuiTableBody-root .MuiTableRow-root:hover{background:#e3f2fd}.it-badge{border-radius:4px;display:inline-block;text-transform:capitalize}.it-badge,.it-edit{font-size:.85rem;padding:.25rem .5rem}.it-edit{background:#1976d2;border:none;border-radius:4px;color:#fff;cursor:pointer;transition:background .2s}.it-edit:hover{background:#1565c0}body{counter-reset:page;font-family:Arial;font-size:16px}h1{font-size:1.5em}h2{font-size:1.4em}h3{font-size:1.3em}h4{font-size:1.2em}div.page{break-after:always}.page,div.page{page-break-after:always}.page{height:297mm;overflow:hidden;position:relative;width:210mm}.footer,.page{box-sizing:border-box}.footer{border-top:1px dashed #434190;bottom:0;padding:4mm 0;position:running(footer);text-align:center;width:100%}@page{size:A4;margin:10mm 10mm 35mm 10mm;@bottom-center{border-top:1px dashed #434190;content:element(footer);width:16cm}@bottom-right{border-top:1px dashed #434190;content:counter(page) " / " counter(pages)}@bottom-left{border-top:1px dashed #434190;content:""}}.report_table_header{font-size:1.6em}.organisatie{font-size:2em;font-weight:700}.organisatie_details,.titel{font-size:1.5em;font-weight:700}.noborder{border:none}div.slagdiagram{max-width:20cm}div.boorstaat,div.paalnummerlijst,div.slagdiagram{table{break-inside:avoid;page-break-inside:avoid;td,th{font-size:.5em}}table.heiregister{border:3px solid #000;border-collapse:collapse;table-layout:fixed;width:100%}table.heiregister td{border:1px solid #000;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paalinfo td:first-child{font-weight:700}.paalinfo td:not(:first-child){text-align:center}.kalender.grijs td:nth-child(n+3){background-color:silver}table.heiregister .kalender td{border:none;text-align:center}table.heiregister .kalender td:nth-child(n+3){border:1px dotted #cecece}table.heiregister .kalender td:nth-child(2){border-right:1px solid #000}table.heiregister .kalender.indicator td:nth-child(n+2){border-bottom:1px solid #000}table.heiregister .kalender.indicator.laatste td:nth-child(2){background-color:#b6b6ff}table.heiregister .paalinfo_eind td{border:none}table.heiregister .paalinfo_eind td:first-child{border-bottom:1px solid #000;border-right:0!important}table.heiregister .paalinfo_eind td:nth-child(2){border-bottom:1px solid #000;border-left:0!important;font-weight:700}table.heiregister .paalinfo_eind td:nth-child(n+3){border:1px dotted #cecece;border-bottom:1px solid #000;text-align:cennter}table.heiregister .eind_opmerkingen td{border:0;border-bottom:1px solid #000}table.heiregister .noborder td{border:0}table.heiregister .noborder td.withborder{border:1px solid #000}tr.header td{background-color:#b6b6ff;font-weight:700}tr.header td,tr.paal td{text-align:center;text-overflow:clip;white-space:pre-wrap;word-break:auto-phrase}tr.paal td{height:50px}}div.paalnummerlijst{td{white-space:normal!important}tr.bigborder td{border-bottom:2px solid #000}.bigborderright{border-right:2px solid #000!important}}div.voorblad{break-inside:avoid;page-break-inside:avoid;div.logo{text-align:left}div.titel{margin-top:.5cm}div.betreffende,div.titel{font-size:1.5em;font-weight:700}div.betreffende{margin-bottom:.5cm}div.project{font-size:2em;font-weight:700}div.plaatje{margin-bottom:.5cm;margin-top:.5cm}div.project_info{font-size:1.5em}div.parties{margin-left:3cm;margin-top:.5cm}div.party{font-size:1em;margin-top:.5cm;vertical-align:top;.left{width:6cm}.left,.right{display:inline-block;vertical-align:top}.right{width:9cm}}}div.dagboek_entry{break-inside:avoid;page-break-inside:avoid;table{break-inside:avoid;page-break-inside:avoid;td,th{padding:8px}}.attachments_wrapper{break-inside:avoid;page-break-inside:avoid}.header{display:flex;justify-content:space-between}}div.attachments{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);margin-bottom:1.5em;margin-top:1.5em;div.attachment{break-inside:avoid;page-break-inside:avoid;img{break-inside:avoid;display:block;height:auto;margin-bottom:.5em;margin-left:auto;margin-right:auto;max-width:100%;page-break-inside:avoid}p{font-weight:700;margin:0;text-align:center}}}div.outerborder{border:2px solid #000}.blue_background{background-color:#b6b6ff}.black_background{background-color:#000;color:#fff}.red{color:red}.blue{color:blue}.green{color:green}.purple{color:purple}td.border{border:1px solid #000!important}td.border_bottom{border-bottom:1px solid #000!important}.paal1_bg{background-color:red}.paal2_bg{background-color:blue}.paal3_bg{background-color:green}.paal4_bg{background-color:purple}.solid{stroke:solid}.dashed{stroke-dasharray:5,5}.heiregister{align-self:center;border-collapse:collapse;margin:0!important;table-layout:fixed;width:100%!important}.heiregister td,.heiregister th{word-wrap:break-word;border:1px solid #000!important;font-size:.6em;overflow:hidden;padding:1px 4px;text-overflow:ellipsis}.heiregister th{background:#f0f0f0;font-weight:700}.heiregister .noborder td{border:none}.heiregister .organisatie,.heiregister .organisatie_details,.heiregister .titel{font-size:1em;line-height:1.1}.center{text-align:center}.bold{font-weight:700}.heiregister td.numeric{text-align:center}.daily-summary{line-height:1.45;margin:8px 0 16px 12px}.daily-summary h2{font-weight:500;margin:4px 0}.daily-summary h2+h2{margin-top:2px}.attachments-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));list-style:none;margin:4px 0 16px;padding:0}.attachments-grid a,.attachments-grid figure{background:#fafafa;border:1px solid #ccc;box-sizing:border-box;break-inside:avoid;padding:4px;page-break-inside:avoid}.attachments-grid img{display:block;height:auto;width:100%}.attachments-grid figcaption{font-size:.8rem;margin-top:4px;text-align:center;word-break:break-word}@media print{.page table.heiregister{transform:scale(.95);transform-origin:top left}}.slagdiagram-svg-container svg{width:100%!important}.if-form{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:1.5rem}.if-form input,.if-form select{border:1px solid #ccc;border-radius:6px;font-size:.95rem;padding:.6rem;transition:border-color .2s,box-shadow .2s}.if-form input:focus,.if-form select:focus{border-color:#1976d2;box-shadow:0 0 0 2px #1976d233}.if-form button{background:#1976d2;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;grid-column:1/-1;padding:.7rem;transition:background .2s}.if-form button:hover{background:#1565c0}.if-cancel{background:#f44336;grid-column:auto;margin-left:.5rem}.if-cancel:hover{background:#d32f2f}.ifText{display:flex;flex-direction:column;gap:15px;margin-bottom:16px}.ifText input,.ifText select{border:1px solid #ccc;border-radius:6px;font-size:.95rem;padding:.6rem;transition:border-color .2s,box-shadow .2s}.ifText input:focus,.ifText select:focus{border-color:#1976d2;box-shadow:0 0 0 2px #1976d233}:root{--clr-primary:#1976d2;--clr-primary-dark:#1153a6;--clr-border:#d0d7de;--radius:4px;--height:2rem;--fs:0.875rem}.incident-filters{align-items:center;display:flex;flex-wrap:wrap;font-size:.875rem;font-size:var(--fs);gap:.75rem;margin-block:0 1rem}.incident-filters button,.incident-filters select{border-radius:4px;border-radius:var(--radius);height:2rem;height:var(--height);min-width:10rem;outline-offset:2px}.incident-filters select{-webkit-appearance:none;appearance:none;background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='m1 1 5 5 5-5' stroke='%23333' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right .75rem center /12px 8px,#fff;border:1px solid #d0d7de;border:1px solid var(--clr-border);cursor:pointer;flex:1 1 16ch;padding-inline:.5rem 2.25rem;transition:border-color .15s ease-in-out}.incident-filters select:focus{border-color:#1976d2;border-color:var(--clr-primary);box-shadow:0 0 0 2px #1976d24d}.incident-filters button{background:#1976d2;background:var(--clr-primary);border:none;color:#fff;cursor:pointer;padding-inline:1.25rem;transition:background-color .2s,box-shadow .2s}.incident-filters button:hover{background:#1153a6;background:var(--clr-primary-dark)}.incident-filters button:focus{box-shadow:0 0 0 2px #1153a666}@media (max-width:600px){.incident-filters button,.incident-filters select{flex:1 1 100%}}.incident-detail{background:#fff;border-radius:8px;box-shadow:0 2px 6px #0000001a;font-family:Segoe UI,sans-serif;margin-top:1.5rem;padding:1.5rem}.incident-detail h2{color:#1976d2;margin-bottom:1rem}.incident-detail form{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.incident-detail input{border:1px solid #ccc;border-radius:4px;font-size:.95rem;padding:.5rem;transition:border-color .2s,box-shadow .2s}.incident-detail input:focus{border-color:#1976d2;box-shadow:0 0 0 2px #1976d233}.incident-detail form>button{border:none;border-radius:4px;cursor:pointer;font-size:.95rem;grid-column:1/-1;padding:.6rem 1rem;transition:background .2s}.incident-detail button[type=submit]{background:#4caf50;color:#fff}.incident-detail button[type=submit]:hover{background:#388e3c}.incident-detail button[type=button]{background:#e0e0e0;color:#333;margin-top:.5rem}.incident-detail button[type=button]:hover{background:#ccc}.incident-detail button[onClick]{background:#d32f2f;color:#fff}.incident-detail button[onClick]:hover{background:#b71c1c}.ip-container{font-family:Segoe UI,sans-serif;margin:2rem auto;max-width:900px;padding:0 1rem}.ip-container h1{color:#333;font-size:1.8rem;margin-bottom:1rem;text-align:left}.ip-card{background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000014;max-width:100%;padding:1.5rem;width:100%}.incident-filters{margin-top:20px}.side-menu{background:#fff;bottom:0;box-shadow:2px 0 8px #0000001a;left:0;overflow:hidden;position:fixed;top:0;transition:width .3s ease;width:60px;z-index:1000}.side-menu ul{flex:1 1;list-style:none;margin:0;padding:1rem 0}.side-menu li{margin-bottom:.5rem}.side-menu a{align-items:center;border-radius:4px;color:#333;display:flex;padding:.75rem;text-decoration:none;transition:background .2s}.side-menu a.active,.side-menu a:hover{background:#1976d2;color:#fff}.side-menu .icon{font-size:1.25rem;margin-right:1rem;text-align:center;width:24px}.side-menu .label{display:none}@media (min-width:769px){.side-menu ul{display:flex;flex-direction:column;height:100%}.side-menu li:nth-last-child(3){margin-top:auto}@media (hover:hover) and (pointer:fine){.side-menu:hover{width:200px}.side-menu:hover .label{display:inline}.side-menu:hover~.layout__content{margin-left:200px}}.layout__content{flex:1 1;margin-left:60px;padding:1rem;transition:margin-left .3s ease}}@media (max-width:768px){.side-menu{bottom:0;display:flex;height:60px;left:0;right:0;top:auto;width:100%}.side-menu ul{display:flex;flex:1 1;justify-content:space-around;margin:0;padding:0}.side-menu li{flex:1 1;margin:0;text-align:center}.side-menu a{align-items:center;height:100%;justify-content:center;padding:0;width:100%}.side-menu .label{display:none!important}.layout__content{margin-left:0;padding-bottom:60px}.side-menu li.language-toggle{display:flex;justify-content:center;padding:.5rem 0}.side-menu li.language-toggle .language-toggle-btn{justify-content:center!important;text-align:center}}.side-menu li.language-toggle .language-toggle-btn{align-items:center;background:#0000;border:none;color:inherit;cursor:pointer;display:flex;font-size:1rem;justify-content:flex-start;padding:.75rem 1rem;text-align:left;transition:background .2s;width:100%}.side-menu li.language-toggle .language-toggle-btn:focus,.side-menu li.language-toggle .language-toggle-btn:hover{background:#0000000d;outline:none}.language-toggle-btn.en,.language-toggle-btn.nl{border-radius:4px;justify-content:center}.language-toggle-btn{align-items:center;background:#0000;border:none;color:inherit;cursor:pointer;display:flex;font-size:1rem;padding:.75rem 1rem;transition:background .2s;width:100%}.language-toggle-btn .globe-icon{font-size:1.2rem;margin-right:.5rem}.language-toggle-btn .lang-code{margin-right:.5rem}.language-toggle-btn .lang-name{display:none;margin-left:.5rem;white-space:nowrap}.language-toggle-btn:hover .lang-name,.side-menu:hover .language-toggle-btn .lang-name{display:inline}.language-toggle-btn.en{background:var(--blue);color:#fff}.language-toggle-btn.nl{background:#9c27b0;color:#fff}.language-toggle-btn.en,.language-toggle-btn.nl{border-radius:4px;justify-content:center}.language-toggle-btn:focus,.language-toggle-btn:hover{background:#0000000d;outline:none}.container.project-list{margin:0 auto;max-width:1200px;padding:1rem}.project-list>header,.project-list>section{margin-bottom:2rem}.projects-card{background:#fff;border-radius:8px;border-radius:var(--radius);box-shadow:0 2px 6px #0000001a;box-shadow:var(--shadow-sm);overflow:hidden}.projects-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:1rem}.projects-header h3{color:#1976d2;color:var(--blue);margin:0}.projects-table{border-collapse:collapse;min-width:600px;width:100%}.projects-table td,.projects-table th{border:1px solid #ddd;padding:.75rem 1rem;text-align:left}.projects-table th{background:#f5f7fa;font-size:.9rem;font-weight:600}.projects-table tr:nth-child(2n){background:#fafafa}.chart-card.pile{max-width:100%}@media (max-width:768px){.projects-table{min-width:auto}}.help-container{background-color:#fafafa;color:#333;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh;padding:0}.help-body{background:#fff;box-shadow:0 2px 8px #0000000d;display:flex;margin:0 auto;max-width:1200px;min-height:100vh}.help-sidebar{background:#f5f5f5;border-right:1px solid #e0e0e0;flex:0 0 280px;padding:2rem 1.5rem}.sidebar-title{border-bottom:2px solid #e0e0e0;color:#1976d2;font-size:1.2rem;font-weight:600;margin:0 0 1.5rem;padding-bottom:.75rem}.category-list{display:flex;flex-direction:column;gap:.5rem}.category-button{align-items:center;background:#fff;border:1px solid #0000;border-radius:8px;color:#333;cursor:pointer;display:flex;font-size:.95rem;gap:.75rem;padding:.875rem 1rem;text-align:left;transition:all .3s ease;width:100%}.category-button:hover{background:#f0f0f0;transform:translateX(4px)}.category-button.active{background:#1976d2;border-color:#1976d2;color:#fff}.category-icon{align-items:center;color:inherit;display:flex;height:24px;justify-content:center;width:24px}.category-title{font-weight:500}.help-content{flex:1 1;overflow-y:auto;padding:2rem 3rem}.content-title{border-bottom:2px solid #e0e0e0;color:#1976d2;font-size:2rem;font-weight:600;margin:0 0 2rem;padding-bottom:1rem}.sections-container{display:flex;flex-direction:column;gap:1rem}.help-section{background:#fff;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;transition:all .3s ease}.help-section:hover{box-shadow:0 4px 12px #00000014}.section-header{align-items:center;background:#f5f7fa;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:1.25rem 1.5rem;transition:all .3s ease;width:100%}.section-header:hover{background:#edf2f7}.help-section.expanded .section-header{background:#f0f0f0;border-bottom:1px solid #e0e0e0}.section-title{color:#333;font-size:1.1rem;font-weight:600;margin:0}.section-toggle{color:#666;transition:transform .3s ease}.help-section.expanded .section-toggle{transform:rotate(180deg)}.section-content{max-height:0;overflow:hidden;padding:0;transition:max-height .3s ease-in-out}.help-section.expanded .section-content{max-height:2000px;padding:1.5rem}.help-content-body{color:#555;line-height:1.6}.help-overview{color:#555;font-size:1rem;margin:0 0 1.5rem}.help-actions,.help-features,.help-steps,.help-tips,.help-types,.help-workflow{margin:1.5rem 0}.help-actions h4,.help-features h4,.help-steps h4,.help-tips h4,.help-types h4,.help-workflow h4{color:#333;font-size:1rem;font-weight:600;margin:0 0 .75rem}.help-steps ol,.help-workflow ol{color:#555;margin:0;padding-left:1.5rem}.help-steps li,.help-workflow li{line-height:1.6;margin-bottom:.5rem}.help-actions ul,.help-features ul,.help-tips ul{color:#555;margin:0;padding-left:1.5rem}.help-actions li,.help-features li,.help-tips li{line-height:1.6;margin-bottom:.5rem}.endpoints-list,.feature-list,.gef-features-list,.roles-list,.services-list,.supported-list,.types-list{margin:0}.endpoint-item,.feature-item,.gef-feature-item,.role-item,.service-item,.supported-item,.type-item{background:#f5f5f5;border-left:3px solid #1976d2;border-radius:4px;margin-bottom:.75rem;padding:.5rem}.endpoint-item dt,.feature-item dt,.gef-feature-item dt,.role-item dt,.service-item dt,.supported-item dt,.type-item dt{color:#333;font-weight:600;margin-bottom:.25rem}.endpoint-item dd,.feature-item dd,.gef-feature-item dd,.role-item dd,.service-item dd,.supported-item dd,.type-item dd{color:#666;font-size:.95rem;margin:0}.help-configuration,.help-configurations,.help-endpoints,.help-event-types,.help-gef-features,.help-includes,.help-roles,.help-services,.help-setup,.help-severity,.help-supported,.help-tables{margin:1.5rem 0}.help-configuration h4,.help-configurations h4,.help-endpoints h4,.help-event-types h4,.help-gef-features h4,.help-includes h4,.help-roles h4,.help-services h4,.help-setup h4,.help-severity h4,.help-supported h4,.help-tables h4{color:#333;font-size:1rem;font-weight:600;margin:0 0 .75rem}.help-configuration ul,.help-configurations ul,.help-event-types ul,.help-includes ul,.help-severity ul,.help-tables ul{color:#555;margin:0;padding-left:1.5rem}.help-configuration li,.help-configurations li,.help-event-types li,.help-includes li,.help-severity li,.help-tables li{line-height:1.6;margin-bottom:.5rem}.help-setup ol{color:#555;margin:0;padding-left:1.5rem}.help-setup li{line-height:1.6;margin-bottom:.5rem}.help-tips{background:#f5f7fa;border:1px solid #e0e0e0;border-radius:8px;padding:1rem}.help-tips h4{color:#1976d2}.quick-tips-section{background:#f0f8ff;border:1px solid #d0e8ff;border-radius:8px;margin-top:2rem;padding:1.5rem}.quick-tips-section .section-title{color:#1976d2;margin-bottom:1rem}.tips-container{display:flex;flex-direction:column;gap:.75rem}.tip-item{background:#fff;border-left:3px solid #1976d2;border-radius:4px;gap:.5rem;padding:.5rem;transition:transform .2s}.tip-item:hover{box-shadow:0 2px 4px #0000001a}.tip-icon{color:#1976d2;flex-shrink:0;font-weight:700}.tip-text{color:#555;line-height:1.5}.keyboard-shortcuts-section{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;margin-top:1.5rem;padding:1.5rem}.keyboard-shortcuts-section .section-title{color:#333;margin-bottom:1rem}.shortcuts-container{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.shortcut-item{background:#fff;border:1px solid #e0e0e0;border-radius:4px;gap:1rem;padding:.5rem}.shortcut-keys{background:#f0f0f0;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 2px #0000001a;color:#333;font-family:monospace;font-size:.875rem;font-weight:500;padding:.25rem .5rem;white-space:nowrap}.shortcut-description{color:#666;font-size:.95rem}@media (max-width:1024px){.help-body{flex-direction:column}.help-sidebar{border-bottom:1px solid #e0e0e0;border-right:none;flex:none;padding:1.5rem}.category-list{flex-direction:row;flex-wrap:wrap}.category-button{flex:1 1 200px}.help-content{padding:1.5rem}.shortcuts-container{grid-template-columns:1fr}}@media (max-width:640px){.content-title{font-size:1.5rem}.help-content,.section-header{padding:1rem}.section-title{font-size:1rem}.help-section.expanded .section-content{padding:1rem}.keyboard-shortcuts-section,.quick-tips-section{border-radius:0;margin-left:-.5rem;margin-right:-.5rem;padding:1rem}}.help-tips{margin-top:1.5rem}.tips-list{list-style:none;padding:0}.tip-item{align-items:flex-start;background:#e3f2fd;border-radius:8px;display:flex;margin-bottom:.5rem;padding:.75rem 1rem;transition:all .3s ease}.tip-item:hover{background:#bbdefb;transform:translateX(4px)}.tip-icon{font-size:1.2rem;margin-right:.75rem}.help-shortcuts{margin-top:1.5rem}.shortcuts-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:0}.shortcut-item{align-items:center;background:#f5f5f5;border-radius:6px;display:flex;padding:.75rem;transition:background .2s ease}.shortcut-item:hover{background:#e8e8e8}.shortcut-item dt{font-weight:400;margin-right:1rem}kbd{background-color:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 1px #0000001a,inset 0 1px 0 #fff;color:#333;display:inline-block;font-family:Consolas,Monaco,Courier New,monospace;font-size:.875rem;line-height:1;padding:3px 8px}.help-tables{margin-top:1.5rem}.tables-list{grid-gap:.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));list-style:none;padding:0}.table-item{background:#f8f9fa;border-left:3px solid #1976d2;font-family:Consolas,Monaco,monospace;font-size:.9rem;padding:.5rem 1rem}.help-warning{background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;margin-top:1.5rem;padding:1rem}.warning-text{color:#856404;font-weight:500;margin:0}.help-event-types ul{list-style:none;padding:0}.help-event-types li{border-bottom:1px solid #eee;padding:.5rem 0}.help-event-types li:last-child{border-bottom:none}.help-content-body .gef_features{background:#f0f4f8;border-radius:8px;margin-top:1rem;padding:1rem}.help-content-body .additionalFeatures{list-style-type:circle;margin-top:1rem;padding-left:1.5rem}@media (max-width:768px){.shortcuts-list,.tables-list{grid-template-columns:1fr}}:root{--primary:#4a90e2;--primary-hover:#417fd1;--light:#f5f7fa;--white:#fff;--text:#333;--border:#d1d5db;--space:16px;--speed:.3s}.project-add-container{background:#fff;background:var(--white);border-radius:8px;border-radius:var(--radius);box-shadow:0 4px 16px #0000001a;color:#333;color:var(--text);font-family:Segoe UI,Tahoma,sans-serif;margin:50px auto;max-width:600px;padding:24px;padding:calc(var(--space)*1.5)}.project-add-container h1{color:#4a90e2;color:var(--primary);margin-bottom:32px;margin-bottom:calc(var(--space)*2);text-align:center}.project-add-form{gap:16px;gap:var(--space)}.project-add-form,.project-add-group{display:flex;flex-direction:column}.project-add-group label{font-size:.95rem;font-weight:600;margin-bottom:4px}.project-add-group input,.project-add-group select{border:1px solid #d1d5db;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius);font-size:1rem;padding:8px;transition:border-color .3s;transition:border-color var(--speed)}.project-add-group input:focus,.project-add-group select:focus{border-color:#4a90e2;border-color:var(--primary);box-shadow:0 0 0 3px #4a90e233;outline:none}.project-add-pole-types{background:#f5f7fa;background:var(--light);border:1px dashed #d1d5db;border:1px dashed var(--border);border-radius:8px;border-radius:var(--radius);padding:16px;padding:var(--space)}.pole-type-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.edit-button{background:none;border:none;cursor:pointer;font-size:1.25rem}.edit-button[disabled]{cursor:default;opacity:.3}.project-add-button{align-self:center;background:#4a90e2;background:var(--primary);border:none;border-radius:8px;border-radius:var(--radius);color:#fff;color:var(--white);cursor:pointer;font-weight:700;padding:12px 24px;transition:background .3s,transform .1s;transition:background var(--speed),transform .1s}.project-add-button:hover{background:#417fd1;background:var(--primary-hover);transform:translateY(-2px)}.modal-backdrop{align-items:center;background:#00000059;display:flex;inset:0;justify-content:center;position:fixed;z-index:999}.modal-content{background:#fff;background:var(--white);border-radius:var(--radius);box-shadow:0 4px 16px #0003;max-height:90vh;padding:16px;padding:var(--space)}.modal-content header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px;margin-bottom:var(--space)}.modal-content header .close{align-items:center;background:none;border:none;border-radius:4px;cursor:pointer;display:flex;font-size:1.25rem;gap:.5rem;padding:.5rem 1rem;transition:background-color .2s}.modal-content header .close:hover{background-color:#f5f5f5}.modal-content header .back-button{align-items:center;background:none;border:1px solid #e1e5e9;border-radius:8px;box-shadow:0 1px 2px #0000000d;color:#374151;cursor:pointer;display:flex;font-size:1.25rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.modal-content header .back-button:hover{background-color:#f8fafc;border-color:#cbd5e1;box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.entry-accordion-header{align-items:center;background:#f5f7fa;background:var(--light);border-radius:8px;border-radius:var(--radius);cursor:pointer;display:flex;margin-bottom:16px;margin-bottom:var(--space);padding:8px}.entry-title{font-weight:600}.entry-add{align-items:center;background:#fff;background:var(--white);border:1px solid #d1d5db;border:1px solid var(--border);border-radius:4px;color:#4a90e2;color:var(--primary);display:flex;font-size:1.25rem;height:28px;justify-content:center;margin-left:auto;width:28px}.entry-arrow{margin-left:8px;transition:transform .2s}.entry-arrow.open{transform:rotate(180deg)}.entry-list{list-style:none;margin:0 0 16px;margin:0 0 var(--space) 0;padding:0}.entry-item{align-items:center;border:1px solid #d1d5db;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius);cursor:pointer;display:flex;justify-content:space-between;margin-bottom:8px;padding:8px}.entry-item strong{flex:1 1 auto}.delete-button{background:none;border:none;color:#d04444;cursor:pointer;font-size:1rem}.delete-button:hover{color:#a60000}.empty{font-style:italic;margin-bottom:16px;margin-bottom:var(--space)}.modal-subtitle{color:#4a90e2;color:var(--primary);font-size:1.25rem;font-weight:600;margin:0 0 16px;margin:0 0 var(--space) 0}.add-form-grid{display:flex;flex-direction:column;gap:16px;gap:var(--space)}.field label{display:block;font-weight:600;margin-bottom:4px}.field input,.field select{background:#fff;background:var(--white);border:1px solid #d1d5db;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius);font-size:1rem;padding:8px;transition:border-color .2s,box-shadow .2s;width:100%}.field input:focus,.field select:focus{border-color:#4a90e2;border-color:var(--primary);box-shadow:0 0 0 3px #4a90e233;outline:none}.modal-footer{display:flex;gap:16px;gap:var(--space);justify-content:flex-end;margin-top:16px;margin-top:var(--space)}.modal-footer button{border:none;border-radius:8px;border-radius:var(--radius);cursor:pointer;padding:8px 16px;transition:transform .1s ease,box-shadow .2s ease}.modal-footer button:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.modal-footer .primary{background:linear-gradient(135deg,#4a90e2,#417fd1);background:linear-gradient(135deg,var(--primary),var(--primary-hover));color:#fff;color:var(--white)}.modal-footer .danger{background:#d04444;color:#fff;color:var(--white)}@media (max-width:480px){.project-add-container{padding:16px;padding:var(--space)}h1{font-size:1.75rem}}.confirm-modal-overlay{align-items:center;background:#00000080;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:1000}.confirm-modal{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0003;max-width:400px;padding:1.5rem;width:90%}.confirm-modal__title{font-size:1.25rem;margin:0 0 1rem}.confirm-modal__body{font-size:1rem;line-height:1.4;margin-bottom:1.5rem}.confirm-modal__actions{display:flex;gap:.5rem;justify-content:flex-end}.confirm-modal__button{border:none;border-radius:4px;cursor:pointer;font-size:.9rem;padding:.5rem 1rem}.confirm-modal__button--cancel{background:#e0e0e0}.confirm-modal__button--confirm{background:#1565c0;color:#fff}.profile-container{--primary:#1976d2;--secondary:#263238;--background:#fff;--surface:#eceff1;--text:#212121;--muted:#455a64;--border:#cfd8dc;--transition:0.3s;animation:fadeIn var(--transition) ease-out;margin:2rem auto;max-width:1000px;padding:1rem}body{margin:0;padding:0}.profile-header{animation:slideDown var(--transition) ease-out;background:var(--primary);box-shadow:0 2px 6px #0003;color:#fff;text-align:center}.card,.profile-header{border-radius:8px;padding:1rem}.card{background:var(--background);box-shadow:0 1px 4px #0000001a;margin-top:1.5rem;transition:transform var(--transition),box-shadow var(--transition)}.card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-6px)}.card h2{border-bottom:2px solid var(--primary);color:var(--primary);margin:0 0 .5rem;padding-bottom:.3rem}.profile-info dl{grid-row-gap:.5rem;grid-column-gap:1rem;column-gap:1rem;display:grid;grid-template-columns:auto 1fr;row-gap:.5rem}.profile-info dt{color:var(--muted);font-weight:600}.profile-info dd{margin:0}.table-wrapper{margin-top:.5rem}.login-table,.user-table{word-wrap:break-word;border-collapse:initial;border-spacing:0 8px;table-layout:fixed;width:100%}.login-table thead tr,.user-table thead tr{background:var(--surface);color:var(--secondary)}.login-table thead th,.user-table thead th{font-weight:600;padding:.75rem;text-align:left}tbody tr.row-card{background:var(--background);border-radius:8px;box-shadow:0 1px 3px #0000000d;transition:transform var(--transition),box-shadow var(--transition)}tbody tr.row-card:hover{box-shadow:0 2px 6px #0000001a;transform:translateY(-2px)}tbody td{border:none;padding:.6rem .8rem}.role-select{-webkit-appearance:none;appearance:none;background:var(--surface);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m1 1 5 5 5-5' stroke='%23455664' stroke-width='2' fill='none'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;border:1px solid var(--border);border-radius:4px;color:var(--text);cursor:pointer;font-size:.9rem;padding:.4rem 2rem .4rem .6rem;transition:border-color var(--transition)}.role-select:focus{border-color:var(--primary);outline:none}.controls,.pagination{align-items:center;display:flex;gap:.5rem;margin-top:1rem}.controls input,.controls select,.pagination button{border:1px solid var(--border);border-radius:4px;font-size:.9rem;padding:.5rem}.pagination button{background:var(--primary);border:none;color:#fff;cursor:pointer}.pagination button:disabled{background:var(--border);cursor:default}.controls input{flex:1 1}.note{color:var(--muted);font-size:.9rem;margin-top:.5rem}.error,.loader{padding:1rem;text-align:center}.error{color:#d32f2f}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.add-btn,.remove-btn{border:none;border-radius:4px;cursor:pointer;font-size:.9rem;padding:.4rem .8rem}.add-btn:disabled,.remove-btn:disabled{cursor:default;opacity:.5}.add-btn{background:var(--primary);color:#fff}.remove-btn{background:#d32f2f;color:#fff}.user-management .controls{align-items:center;display:flex;gap:.5rem}.user-management .controls .create-user-wrapper,.user-management .controls input,.user-management .controls select{align-self:center;margin-left:auto}.user-management .controls .create-user-wrapper button{box-sizing:border-box;height:2.25rem;min-height:0;min-height:auto;padding:0 1rem}.all-users-login-history .search-container{align-items:center;display:flex;gap:1rem;margin-bottom:1rem}.all-users-login-history .search-input{border:1px solid var(--border);border-radius:4px;flex:1 1;font-size:.9rem;max-width:300px;padding:.5rem;transition:border-color var(--transition)}.all-users-login-history .search-input:focus{border-color:var(--primary);outline:none}.all-users-login-history .search-results{color:var(--muted);font-size:.85rem}.all-users-login-history .login-table.all-users{width:100%}.all-users-login-history .username-cell{font-weight:500}.all-users-login-history .role-badge{border-radius:4px;font-size:.75rem;font-weight:500;padding:.2rem .5rem;text-transform:uppercase}.all-users-login-history .role-badge.role-admin{background:#d32f2f;color:#fff}.all-users-login-history .role-badge.role-supervisor{background:#ff9800;color:#fff}.all-users-login-history .role-badge.role-reporter{background:#2196f3;color:#fff}.all-users-login-history .role-badge.role-unknown{background:#757575;color:#fff}.all-users-login-history .duration-cell{color:var(--muted);font-size:.9rem}.all-users-login-history .no-data{color:var(--muted);font-style:italic;padding:2rem;text-align:center}.piles-table td,.piles-table th{border:1px solid #eee}.piles-button{background:var(--blue);border:none;border-radius:4px;color:#fff;cursor:pointer;flex-shrink:0;padding:.5em 1em;transition:background .2s}.piles-button:hover{background:#1565c0}.modal-content{background-color:#fff;border-radius:8px;box-sizing:border-box;max-height:80vh;max-width:600px;overflow-y:auto;padding:1rem;width:90%}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-body{flex:1 1;margin-bottom:1rem;overflow-y:auto}.field-row{align-items:center;display:flex;margin-bottom:.75rem}.field-row strong{flex:0 0 150px}.field-row span{flex:1 1}.field-row .piles-button{margin-left:1rem}.modal-footer{border-top:1px solid #eee;padding-top:.75rem;text-align:right}.piles-button:disabled{background-color:#ddd;border-color:#ccc;color:#888;cursor:default;opacity:1}.status-pill{display:inline-block}.status-planned{background:#f0f0f0;color:#666}.status-failed{background:#f8d6d6;color:#bf0000}.modal-tabs{border-bottom:1px solid #ddd;display:flex;margin-bottom:1rem}.tab-button{background:none;border:none;border-bottom:3px solid #0000;cursor:pointer;flex:1 1;font-weight:500;padding:.5rem}.tab-button.active{border-color:var(--blue);color:var(--blue)}.tab-button:hover{background:#f9f9f9}.field-row.hits-row{align-items:center;display:flex;gap:.5rem;margin-bottom:1rem}.field-row.hits-row .piles-button{font-size:1.25rem;height:2rem;line-height:1;padding:0;width:2rem}.field-row.hits-row .hits-count{font-size:1.25rem;font-weight:700;min-width:2rem;text-align:center}.modal-content select{font-size:.875rem;min-width:10rem;padding:.25rem}.modal-content label strong{font-weight:700}.piles-container{background:#f9f9f9;margin:0 auto;max-width:1200px;padding:1rem}.piles-header{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:1rem}.piles-header h1{color:#333;flex:1 1;font-size:1.5rem;margin:0}.highlight{color:#1565c0}.btn{border:none;border-radius:4px;cursor:pointer;font-size:1rem;padding:.5rem 1rem}.btn-primary{background:#1565c0;color:#fff}.alert-error{background:#fdecea;border-radius:4px;color:#b71c1c;margin-bottom:1rem;padding:.75rem}.empty-state,.loader{padding:2rem;text-align:center}.empty-state{color:#333}.table-responsive{background:#fff;border:1px solid #e0e0e0;border-radius:4px;overflow-x:auto}.piles-table{border-collapse:collapse;width:100%}.piles-table td,.piles-table th{border-bottom:1px solid #e0e0e0;font-size:.9rem;padding:.75rem;text-align:center}.piles-table th{background:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:1}.pill{border-radius:999px;display:inline-block;padding:.25rem .5rem;text-transform:capitalize}@media (max-width:768px){.piles-header h1{font-size:1.25rem;margin-bottom:.5rem}.btn{text-align:center;width:100%}.piles-table td,.piles-table th{font-size:.8rem;padding:.5rem}.piles-container{margin:0!important;max-width:none!important;padding:0!important}.MuiCardContent-root{padding:1.5rem 1rem!important}.MuiTypography-h3{line-height:1.3!important;margin-bottom:.75rem!important}.MuiTypography-subtitle1{font-size:1rem!important;line-height:1.4!important;margin-top:.75rem!important}}.pill{align-items:center;border-radius:50%;display:inline-flex;font-size:.75rem;height:1.5rem;justify-content:center;line-height:1;min-width:1.5rem;padding:0 .4rem;transition:background-color .3s,color .3s}.pill-in-progress{background:#d6f0f8;color:#009dbf}.pill-completed{background:#d9f6e4;color:#33a852}.pill-failed{background:#f8d6d6;color:#bf0000}.pill-planned{background:#f0f0f0;color:#666}.MuiDataGrid-root,.table-responsive{border-radius:8px;box-shadow:0 2px 8px #0000000d;overflow:hidden}.MuiDataGrid-row{transition:background-color .2s ease,transform .2s ease}.MuiDataGrid-row:hover{background-color:#1565c01a!important;cursor:pointer;transform:scale(1.01)}.MuiDataGrid-row:nth-of-type(2n){background-color:#fbfbfb}.MuiCardActions-root .piles-action-buttons{justify-content:flex-end!important;margin-left:auto!important;margin-right:0!important;margin-top:1rem!important;width:auto!important}.piles-action-buttons{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;gap:.75rem;justify-content:flex-end;margin-left:auto;width:auto}.piles-action-button{align-items:center!important;display:flex!important;flex-direction:row!important;justify-content:center!important;min-width:160px;padding:.75rem 1.5rem!important;transition:all .2s ease;white-space:nowrap}.piles-delete-button{max-width:none!important;min-width:auto!important;width:auto!important}@media (min-width:769px){.piles-action-button{font-size:.9rem!important;min-width:140px;padding:.6rem 1.25rem!important}.piles-action-button .MuiButton-startIcon{font-size:1rem!important;margin-right:6px!important}}.piles-action-button .MuiButton-startIcon{margin:0 8px 0 0!important}.piles-action-button:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}@media (max-width:600px){.MuiDataGrid-root .MuiDataGrid-cell,.MuiDataGrid-root .MuiDataGrid-columnHeader{font-size:.7rem;padding:4px 8px}.MuiDataGrid-virtualScroller{overflow-x:auto!important}.MuiDataGrid-row{height:32px}.piles-container{margin:0!important;max-width:none!important;padding:0!important}.MuiCardContent-root{padding:2rem 1.25rem!important}.MuiTypography-h3{font-size:1.75rem!important;line-height:1.2!important;margin-bottom:1rem!important}.MuiTypography-subtitle1{font-size:1.1rem!important;line-height:1.5!important;margin-top:1rem!important;padding-bottom:.5rem!important}.MuiCardActions-root .piles-action-buttons{justify-content:flex-end!important;margin-left:auto!important;margin-right:-1.5rem!important;margin-top:1rem!important;width:auto!important}.piles-action-buttons{flex-direction:row;flex-wrap:wrap;gap:.6rem;justify-content:flex-end;width:100%}.piles-action-button{align-items:center!important;display:flex!important;flex:1 1;flex-direction:row!important;font-size:.6rem!important;justify-content:center!important;max-width:120px;min-height:36px;min-width:0;padding:.6rem .8rem!important;text-align:center}.piles-delete-button{flex:0 1 auto!important;max-width:150px!important}.piles-action-button .MuiButton-startIcon{font-size:.8rem!important;margin:0 3px 0 0!important}.piles-action-button .MuiButton-startIcon svg{height:14px!important;width:14px!important}.piles-action-button .download-text-mobile{display:none}}@media (max-width:768px) and (min-width:601px){.piles-action-buttons{gap:.5rem}.piles-action-button{align-items:center!important;display:flex!important;flex-direction:row!important;font-size:.75rem!important;justify-content:center!important;min-width:120px;padding:.6rem 1rem!important}.piles-action-button .MuiButton-startIcon{margin:0 6px 0 0!important}}@media (max-width:480px){.piles-container{margin:0!important;max-width:none!important;padding:0!important}.MuiCardContent-root{padding:2.25rem 1.5rem!important}.MuiTypography-h3{font-size:1.6rem!important;line-height:1.1!important;margin-bottom:1.25rem!important}.MuiTypography-subtitle1{font-size:1.15rem!important;line-height:1.6!important;margin-top:1.25rem!important;padding-bottom:.75rem!important}.MuiCardActions-root .piles-action-buttons{justify-content:flex-end!important;margin-left:auto!important;margin-right:-1.2rem!important;margin-top:1.25rem!important;width:auto!important}.piles-action-buttons{gap:.5rem;justify-content:flex-end;padding:0 .5rem;width:auto}.piles-action-button{align-items:center!important;display:flex!important;flex-direction:row!important;font-size:.55rem!important;justify-content:center!important;line-height:1.1!important;max-width:100px;min-height:32px;min-width:0;padding:.5rem .6rem!important}.piles-action-button .MuiButton-startIcon{font-size:.7rem!important;margin:0 2px 0 0!important}.piles-action-button .MuiButton-startIcon svg{height:12px!important;width:12px!important}}@media (max-width:360px){.piles-container{margin:0!important;max-width:none!important;padding:0!important}.MuiCardContent-root{padding:2.5rem 1.75rem!important}.MuiTypography-h3{font-size:1.5rem!important;line-height:1.1!important;margin-bottom:1.5rem!important}.MuiTypography-subtitle1{font-size:1.2rem!important;line-height:1.7!important;margin-top:1.5rem!important;padding-bottom:1rem!important}.MuiCardActions-root .piles-action-buttons{justify-content:flex-end!important;margin-left:auto!important;margin-right:-1rem!important;margin-top:1.5rem!important;width:auto!important}.piles-action-buttons{gap:.4rem;justify-content:flex-end;padding:0 .3rem;width:auto}.piles-action-button{align-items:center!important;display:flex!important;flex-direction:row!important;font-size:.5rem!important;justify-content:center!important;line-height:1!important;max-width:85px;min-height:28px;min-width:0;padding:.4rem!important}.piles-action-button .MuiButton-startIcon{font-size:.6rem!important;margin-right:1px!important}.piles-action-button .MuiButton-startIcon svg{height:10px!important;width:10px!important}}.pile-details-details{padding:0}.pile-details-section{border:1px solid #e0e0e0;border-radius:8px;margin-bottom:16px;padding:16px}.pile-details-section-title{color:#333;font-size:1.1rem;font-weight:600;margin-bottom:12px}.pile-number-display{align-items:center;background:#eaf2fe;border:1px solid #cfe3ff;border-radius:999px;box-shadow:0 2px 6px #0000001a;color:#1565c0;display:inline-flex;font-size:.65rem;font-weight:900;gap:4px;letter-spacing:.02em;margin-bottom:16px;max-width:-webkit-fit-content;max-width:fit-content;padding:.3rem .6rem;transition:all .2s ease;width:auto}.pile-number-display:hover{background:#d6e7ff;border-color:#b3d9ff;box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.pile-number-label{font-weight:700!important}.pile-number-label,.pile-number-value{color:#1565c0!important;font-size:1rem!important;margin:0!important}.pile-number-value{font-weight:bolder!important}.pile-details-modal .MuiFormControl-root,.pile-details-modal .MuiTextField-root{margin-bottom:16px}.pile-details-modal .MuiButton-root{font-size:1rem;min-height:44px}.pile-hits-counter{background:#f8f9fa;border-radius:8px;display:flex;justify-content:center;padding:16px}.hit-counter{align-items:center;display:flex;gap:16px}.hit-decrement-button,.hit-increment-button{font-size:1.5rem;min-height:48px;min-width:48px}.hit-display{font-size:1.8rem;font-weight:600;min-width:60px;text-align:center}.time-display-controls,.time-edit-controls{align-items:stretch;flex-direction:column;gap:12px}.time-display-controls .MuiButton-root,.time-edit-controls .MuiButton-root{margin:4px 0;width:100%}.time-display{background:#f5f5f5;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem;margin-bottom:8px;padding:8px;text-align:center}.special-types-content{display:flex;flex-direction:column;gap:12px}.aardingspaal-label,.sondeer-paal-label{font-size:1rem}.reference-numbers-content{display:flex;flex-direction:column;gap:16px}.gef-file-linking{background:#f8f9fa;border-radius:6px;padding:12px}.linked-file-display{align-items:stretch;flex-direction:column;gap:8px}.unlink-file-button{width:100%}.code-registration-content,.subtype-registration-content{margin-top:12px}@media (min-width:768px){.pile-details-details{padding:0}.pile-details-section{margin-bottom:20px;padding:20px}.pile-details-section-title{font-size:1.2rem;margin-bottom:16px}.pile-number-display{margin-bottom:16px;padding:.3rem .6rem}.pile-number-value{font-size:1rem!important}.pile-details-modal .MuiFormControl-root,.pile-details-modal .MuiTextField-root{margin-bottom:20px}.pile-details-modal .MuiButton-root{min-height:36px}.pile-hits-counter{padding:20px}.hit-counter{gap:20px}.hit-decrement-button,.hit-increment-button{font-size:1.25rem;min-height:40px;min-width:40px}.hit-display{font-size:1.5rem;min-width:50px}.time-display-controls,.time-edit-controls{align-items:center;flex-direction:row;gap:8px}.time-display-controls .MuiButton-root,.time-edit-controls .MuiButton-root{margin:0;width:auto}.time-display{font-size:1rem;margin-bottom:0;padding:4px 8px;text-align:left}.special-types-content{flex-direction:row;gap:24px}.reference-numbers-content{gap:20px}.gef-file-linking{padding:16px}.linked-file-display{align-items:center;flex-direction:row;gap:12px}.unlink-file-button{width:auto}}@media (min-width:1024px){.pile-details-section{padding:24px}.pile-number-display{padding:.3rem .6rem}.pile-number-value{font-size:1rem!important}}:root{--sidebar-width:240px;--blue:#1976d2;--radius:8px;--shadow-sm:0 2px 6px #0000001a;--transition:.3s ease}.container.event-list{margin:0 auto;max-width:1200px;padding:1rem}body,html{background:#fafafa;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0}.event-list>header,.event-list>section{margin-bottom:2rem}.dashboard-header{align-items:center;background:#fff;border-radius:8px;border-radius:var(--radius);box-shadow:0 2px 6px #0000001a;box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;padding:1rem}.dashboard-title h2{color:#1976d2;color:var(--blue);font-size:1.75rem;margin:0}.dashboard-title p{color:#555;margin:.25rem 0 0}.dashboard-date{color:#555;font-size:.9rem;text-align:right}@media (max-width:576px){.dashboard-header{flex-direction:column;text-align:center}.dashboard-date{margin-top:.5rem}}.stats-container{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.stat-card{background:#fff;border-radius:8px;border-radius:var(--radius);box-shadow:0 2px 6px #0000001a;box-shadow:var(--shadow-sm);padding:1.25rem;text-align:center;transition:transform .3s ease;transition:transform var(--transition)}.stat-card:hover{transform:translateY(-4px)}.stat-value{color:#1976d2;color:var(--blue);font-size:2rem;font-weight:700}.stat-label{color:#666;font-size:.9rem;margin-top:.5rem}.progress-card{background:#fff;border-radius:8px;border-radius:var(--radius);box-shadow:0 2px 6px #0000001a;box-shadow:var(--shadow-sm);padding:1.5rem}.progress-card h3{color:#1976d2;color:var(--blue);font-size:1.25rem;margin:0 0 .5rem}.progress-card p{color:#555;margin:0 0 1rem}.progress-wrapper{margin-bottom:.75rem;position:relative}.progress-bar-bg{background:#eee;border-radius:8px;border-radius:var(--radius);height:14px;overflow:hidden}.progress-bar-fill{background:#1976d2;background:var(--blue);height:100%;transition:width .3s ease;transition:width var(--transition)}.progress-percent{color:#1976d2;color:var(--blue);font-weight:700;position:absolute;right:0;top:-1.75rem}.progress-footnote{color:#333;font-size:.9rem;text-align:right}.event-card{background:#fff;border-radius:8px;border-radius:var(--radius);box-shadow:0 2px 6px #0000001a;box-shadow:var(--shadow-sm);overflow:hidden}.event-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:1rem}.event-header h3{color:#1976d2;color:var(--blue);margin:0}.navbar-controls{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.navbar-controls button,.navbar-controls input,.navbar-controls select{border:1px solid #ccc;border-radius:4px;font-size:.9rem;padding:8px 12px;transition:border-color .3s ease,box-shadow .3s ease;transition:border-color var(--transition),box-shadow var(--transition)}.navbar-controls input{width:160px}.navbar-controls button{background:#1976d2;background:var(--blue);border-color:#1976d2;border-color:var(--blue);color:#fff}.navbar-controls button:hover{background:#1565c0}.navbar-controls input:focus,.navbar-controls select:focus{border-color:#1976d2;border-color:var(--blue);box-shadow:0 0 0 3px #1976d226;outline:none}.table-wrapper{overflow-x:auto}.event-table{border-collapse:collapse;min-width:600px;width:100%}.event-table td,.event-table th{border:1px solid #ddd;padding:.75rem 1rem;text-align:left}.event-table th{background:#f5f7fa;font-size:.9rem;font-weight:600}.event-table tr:nth-child(2n){background:#fafafa}.status-pill{border-radius:999px;font-size:.75rem;font-weight:500;padding:4px 12px}.status-in-progress{background:#d6f0f8;color:#009dbf}.status-completed{background:#d9f6e4;color:#33a852}.status-preparation{background:#fff2cc;color:#d7a600}.progress-inline-bg{background:#eee;border-radius:999px;display:inline-block;height:8px;overflow:hidden;width:100px}.progress-inline-fill{background:#1976d2;background:var(--blue);height:100%;transition:width .3s ease;transition:width var(--transition)}.btn-outline{background:#0000;border:1px solid #1976d2;border:1px solid var(--blue);color:#1976d2;color:var(--blue);transition:background .3s ease,color .3s ease;transition:background var(--transition),color var(--transition)}.btn-outline:hover:not(:disabled){background:#1976d2;background:var(--blue);color:#fff}.pagination-bar{border-top:1px solid #eee;display:flex;gap:1rem;justify-content:center;padding:1rem}.pagination-bar button{background:#fff;border:1px solid #ccc;border-radius:4px;padding:8px 16px;transition:background .3s ease,border-color .3s ease;transition:background var(--transition),border-color var(--transition)}.pagination-bar button:disabled{cursor:not-allowed;opacity:.5}.pagination-bar button:not(:disabled):hover{background:#f0f0f0}.charts-container{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.chart-card{background:#fff;border-radius:8px;border-radius:var(--radius);box-shadow:0 2px 6px #0000001a;box-shadow:var(--shadow-sm);padding:1.5rem}.chart-card h3{color:#1976d2;color:var(--blue);margin-top:0;text-align:center}.chart-card.pile{align-items:center;display:flex;flex-direction:column;height:360px;justify-content:center;margin:0 auto;width:550px}@media (max-width:768px){.event-table{min-width:auto}}.po-map button{margin-bottom:1rem}#chart{background:#fff;border:1px solid #ccc;display:block;margin:auto}.pile-label,svg{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.grid line{stroke:#eee;stroke-width:1}.axis{stroke:#999;stroke-width:1}circle.pile{fill:#4682b4;stroke-width:.5}.tooltip{background:#000000b3;border-radius:4px;color:#fff;display:none;font-size:12px;padding:6px 10px;pointer-events:none;position:absolute;white-space:nowrap}circle.pile{stroke:#333;stroke-width:1;cursor:pointer;opacity:1;transition:r .1s,fill .1s}circle.pile--configured{fill:#000}circle.pile{touch-action:none}.pile--highlight{fill:orange;stroke:#ff8c00;stroke-width:2px}.MuiAlert-filledWarning{background-color:#ffb74d}circle.pile:hover{fill:orange;r:6}circle.pile--planned{fill:#9e9e9e}circle.pile--in_progress{fill:#4fc3f7}circle.pile--completed{fill:#4caf50}circle.pile--failed{fill:#f44336}circle.pile--new{fill:purple!important;animation:fadeOutNew 7s forwards}.pile--highlight{fill:orange!important;stroke:#ff8c00!important;stroke-width:2px!important}.pile--multi-selected{fill:sienna!important;stroke:#552!important;stroke-width:2px}.marquee{fill:#007bff26;stroke:#007bff;stroke-width:2;stroke-dasharray:5 3}.pile--multi-selected{fill:#ff6b00;stroke:#ff6b00;stroke-width:2;r:6}.po-map{height:100%;overflow:auto;position:relative}.file-input,.toggle-input{display:none}.file-input-label{background:#1976d2;border-radius:4px;color:#fff;cursor:pointer;font-size:.875rem;padding:6px 12px;transition:background .2s;-webkit-user-select:none;user-select:none}.file-input-label:hover{background:#1565c0}.toggle-label{align-items:center;cursor:pointer;display:inline-flex;font-size:.875rem;-webkit-user-select:none;user-select:none}.toggle-box{border:1px solid #888;border-radius:3px;height:16px;margin-right:6px;position:relative;transition:background .2s,border-color .2s;width:16px}.toggle-input:checked+.toggle-label .toggle-box{background:#1976d2;border-color:#1976d2}.toggle-input:checked+.toggle-label .toggle-box:after{border:solid #fff;border-width:0 2px 2px 0;content:"";height:8px;left:4px;position:absolute;top:1px;transform:rotate(45deg);width:4px}@keyframes fadeOutNew{0%{r:8}to{r:4}}.object-viewer-container{min-height:calc(100vh - 100px);padding:2rem 0}.object-viewer-header{animation:fadeIn .3s ease-in;margin-bottom:2rem}.object-viewer-content{grid-gap:1.5rem;animation:slideUp .4s ease-out;display:grid;gap:1.5rem;grid-template-columns:300px 1fr;height:calc(100vh - 250px)}.tables-section{background:var(--background-color);border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;overflow:hidden;padding:1.5rem}.section-header{margin-bottom:1rem}.tables-list{display:flex;flex:1 1;flex-direction:column;gap:.5rem;overflow-y:auto;padding-right:.5rem}.table-item{border-left:3px solid #0000;cursor:pointer;padding:1rem;transition:all .2s ease}.table-item:hover{background-color:rgba(var(--primary-rgb),.05);transform:translateX(4px)}.table-item.selected{background-color:rgba(var(--primary-rgb),.1);border-left-color:var(--primary-color)}.table-name{color:var(--text-color);font-weight:500}.records-section{background:var(--background-color);border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;overflow:hidden;padding:1.5rem}.records-table-container{border:1px solid #0000001f;border-radius:4px;flex:1 1;overflow:auto}.records-table-container table{min-width:100%}.records-table-container th{background-color:var(--background-color);font-weight:600;white-space:nowrap}.records-table-container td{padding:12px 16px}.records-table-container tbody tr:hover{background-color:rgba(var(--primary-rgb),.04)}.empty-state{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;height:100%;justify-content:center}.record-modal{border-radius:12px}.record-modal .MuiDialogTitle-root{background-color:var(--primary-color);color:#fff;padding:1.5rem}.record-modal .MuiDialogContent-root{padding:2rem}.record-field{grid-gap:1rem;align-items:start;border-bottom:1px solid #00000014;display:grid;gap:1rem;grid-template-columns:250px 1fr;padding:1rem;transition:background-color .2s ease}.record-field:hover{background-color:#00000005}.record-field:last-child{border-bottom:none}.field-label{align-items:center;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-weight:600;gap:.5rem;word-break:break-word}.field-value{color:var(--text-color);word-break:break-word}.field-value.null-value{color:var(--text-secondary);font-style:italic}.field-value.json-value{background-color:#0000000d;border-radius:4px;font-family:Courier New,monospace;font-size:.875rem;padding:.5rem;white-space:pre-wrap}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1200px){.object-viewer-content{grid-template-columns:250px 1fr}}@media (max-width:768px){.object-viewer-content{grid-template-columns:1fr;grid-template-rows:auto 1fr;height:auto}.tables-section{max-height:300px}.records-section{min-height:500px}}.records-table-container::-webkit-scrollbar,.tables-list::-webkit-scrollbar{height:8px;width:8px}.records-table-container::-webkit-scrollbar-track,.tables-list::-webkit-scrollbar-track{background:#0000000d;border-radius:4px}.records-table-container::-webkit-scrollbar-thumb,.tables-list::-webkit-scrollbar-thumb{background:#0003;border-radius:4px}.records-table-container::-webkit-scrollbar-thumb:hover,.tables-list::-webkit-scrollbar-thumb:hover{background:#0000004d}.edit-form{display:flex;flex-direction:column;gap:1.5rem;max-height:60vh;overflow-y:auto;padding-right:.5rem}.form-field{width:100%}.field-info{align-items:center;color:var(--text-secondary);display:flex;font-size:.875rem;gap:.5rem;margin-bottom:.5rem}.field-type{background-color:#00000014;border-radius:4px;font-family:monospace;font-size:.75rem;padding:2px 8px}
/*# sourceMappingURL=main.077bad84.css.map*/