*{box-sizing:border-box}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.5;font-weight:400;color:#213547;background-color:#f3f6f9;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}.inline-confirm{display:flex;align-items:center;gap:10px;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:10px 14px;margin:8px 0;font-size:14px}.inline-confirm button{padding:6px 14px;border-radius:8px;border:none;cursor:pointer;font-weight:600}.inline-confirm .confirm-yes{background:#dc2626;color:#fff}.inline-confirm .confirm-no{background:#e5e7eb;color:#111827}.inline-photo{margin:10px 0}.inline-photo img{max-width:320px;width:100%;border-radius:10px;border:1px solid #dadce0;display:block}.notification-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:12px;max-width:400px}.notification{background:#fff;border-left:4px solid;box-shadow:0 4px 12px #00000026;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;min-width:300px;cursor:pointer;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.notification-success{border-left-color:#10b981}.notification-error{border-left-color:#ef4444}.notification-warning{border-left-color:#f59e0b}.notification-info{border-left-color:#004489}.notification-content{display:flex;align-items:center;gap:12px;flex:1}.notification-icon{font-size:20px;font-weight:700;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.notification-success .notification-icon{color:#10b981}.notification-error .notification-icon{color:#ef4444}.notification-warning .notification-icon{color:#f59e0b}.notification-info .notification-icon{color:#004489}.notification-message{color:#333;font-size:14px;line-height:1.5}.notification-close{background:none;border:none;color:#999;font-size:24px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;margin-left:12px;transition:color .2s}.notification-close:hover{color:#333}@media(max-width:768px){.notification-container{right:10px;left:10px;max-width:none}.notification{min-width:auto;width:100%}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:#f3f6f9;padding:20px}.login-card{background:#fff;padding:40px;width:100%;max-width:400px;box-shadow:0 2px 8px #0000001a}.login-title{color:#004489;font-size:28px;font-weight:600;margin:0 0 8px;text-align:center}.login-subtitle{color:#666;font-size:14px;margin:0 0 32px;text-align:center}.login-form{display:flex;flex-direction:column;gap:20px}.form-group input{padding:12px;border:1px solid #ddd;font-size:14px;transition:border-color .2s}.login-button{background-color:#004489;color:#fff;border:none;padding:12px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s;margin-top:8px}.login-button:hover:not(:disabled){background-color:#036}.login-button:disabled{opacity:.6;cursor:not-allowed}.error-message{background-color:#fee;color:#c33;padding:12px;font-size:14px;margin-bottom:20px}.forgot-password-link{text-align:center;margin-top:16px}.link-button{background:none;border:none;color:#004489;font-size:14px;cursor:pointer;text-decoration:underline;padding:0}.link-button:hover{color:#036}.forgot-password-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:#f3f6f9;padding:20px}.forgot-password-card{background:#fff;padding:40px;width:100%;max-width:400px;box-shadow:0 2px 8px #0000001a;border-radius:8px}.forgot-password-title{color:#004489;font-size:28px;font-weight:600;margin:0 0 16px;text-align:center}.forgot-password-subtitle{color:#666;font-size:14px;margin:0 0 32px;text-align:center;line-height:1.5}.forgot-password-form{display:flex;flex-direction:column;gap:20px}.forgot-password-message{text-align:center}.forgot-password-message p{color:#555;font-size:14px;line-height:1.6;margin:0 0 16px}.forgot-password-message .primary-button{margin-top:24px}.reset-password-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:#f3f6f9;padding:20px}.reset-password-card{background:#fff;padding:40px;width:100%;max-width:400px;box-shadow:0 2px 8px #0000001a;border-radius:8px}.reset-password-card.error{text-align:center}.reset-password-card h2{color:#004489;font-size:24px;font-weight:600;margin:0 0 16px;text-align:center}.reset-password-subtitle{color:#666;font-size:14px;margin:0 0 32px;text-align:center}.reset-password-card form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#333;font-size:14px;font-weight:500}.form-group input{padding:12px;border:1px solid #ddd;font-size:14px;transition:border-color .2s;border-radius:4px}.form-group input:focus{outline:none;border-color:#004489}.primary-button{background-color:#004489;color:#fff;border:none;padding:12px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s;margin-top:8px;border-radius:4px}.primary-button:hover:not(:disabled){background-color:#036}.reset-password-card.error p{color:#555;font-size:14px;line-height:1.6;margin:0 0 16px}.reset-password-card.error .primary-button{margin-top:24px}.av-modal-overlay{position:fixed;inset:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;z-index:60;padding:20px}.av-modal-content{background:#fff;border-radius:8px;padding:22px 26px;width:min(640px,100%);max-height:92vh;overflow-y:auto;box-shadow:0 12px 32px #00000038}.av-modal-content h3{margin:0 0 6px;color:#004489;font-size:18px}.av-modal-content h4{margin:14px 0 6px;font-size:14px;color:#2f4858}.av-hint{color:#4b5563;font-size:13px;margin:0 0 10px}.av-form{display:flex;flex-direction:column;gap:4px}.av-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}.av-grid label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:#374151}.av-grid label.av-col-2{grid-column:1 / -1}.av-grid input{padding:7px 10px;border:1px solid #cbd5e1;border-radius:5px;font:inherit}.av-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.av-primary{background:#004489;color:#fff;border:0;border-radius:5px;padding:9px 18px;font-weight:600;cursor:pointer;font-size:13px}.av-primary:disabled{opacity:.55;cursor:not-allowed}.av-secondary{background:#fff;color:#374151;border:1px solid #cbd5e1;border-radius:5px;padding:9px 16px;font-weight:500;cursor:pointer;font-size:13px}.companies-container{display:flex;flex-direction:column;gap:24px}.companies-header{display:flex;justify-content:space-between;align-items:center}.companies-header h2{color:#004489;font-size:20px;font-weight:600;margin:0}.name-cell{font-weight:500;color:#004489}.edit-button{background-color:#f3f6f9;color:#004489;border:1px solid #004489;padding:6px 12px;font-size:12px;cursor:pointer;transition:all .2s}.edit-button:hover{background-color:#004489;color:#fff}.modal-content .form-group input{width:100%;padding:10px;border:1px solid #ddd;font-size:14px;box-sizing:border-box}.modal-content .form-group input:focus,.modal-content .form-group textarea:focus{outline:none;border-color:#004489}.modal-content .form-group textarea{width:100%;padding:10px;border:1px solid #ddd;font-size:14px;box-sizing:border-box;font-family:inherit;resize:vertical}.form-hint{display:block;margin-top:4px;font-size:12px;color:#666;font-style:italic}.admins-container{display:flex;flex-direction:column;gap:24px}.admins-header{display:flex;justify-content:space-between;align-items:center}.admins-header h2{color:#004489;font-size:20px;font-weight:600;margin:0}.primary-button{background-color:#004489;color:#fff;border:none;padding:10px 20px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.primary-button:hover{background-color:#036}.table-wrapper{background:#fff;overflow-x:auto;box-shadow:0 2px 4px #0000000d}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table thead{background-color:#f3f6f9}.data-table th{padding:12px 16px;text-align:left;font-weight:600;color:#333;text-transform:uppercase;font-size:12px;letter-spacing:.5px;border-bottom:1px solid #e0e0e0}.data-table tbody tr{border-bottom:1px solid #f0f0f0}.data-table tbody tr.even-row{background-color:#fff}.data-table tbody tr.odd-row{background-color:#fafafa}.data-table tbody tr:hover{background-color:#f3f6f9}.data-table td{padding:12px 16px;color:#333;vertical-align:middle}.email-cell{color:#004489;font-weight:500}.name-cell{font-weight:500}.status-badge{display:inline-block;padding:4px 12px;font-size:12px;font-weight:500;text-transform:capitalize}.status-active{background-color:#e8f5e9;color:#2e7d32}.status-pending{background-color:#fff3e0;color:#e65100}.status-nonactive{background-color:#fef2f2;color:#dc2626}.table-actions{display:flex;gap:8px;align-items:center}.invite-button{background-color:#004489;color:#fff;border:1px solid #004489;padding:6px 12px;font-size:12px;cursor:pointer;transition:all .2s}.invite-button:hover{background-color:#036}.delete-button{background-color:#fee;color:#c33;border:1px solid #c33;padding:6px 12px;font-size:12px;cursor:pointer;transition:all .2s}.delete-button:hover{background-color:#c33;color:#fff}.modal-content{background:#fff;padding:32px;width:90%;max-width:500px;box-shadow:0 4px 16px #0003;max-height:90vh;overflow-y:auto}.modal-content h3{color:#004489;font-size:20px;font-weight:600;margin:0 0 24px}.modal-content .form-group{margin-bottom:20px}.modal-content .form-group label{display:block;margin-bottom:8px;color:#333;font-size:14px;font-weight:500}.modal-content .form-group input,.modal-content .form-group select{width:100%;padding:10px;border:1px solid #ddd;font-size:14px;box-sizing:border-box}.modal-content .form-group input:focus,.modal-content .form-group select:focus{outline:none;border-color:#004489}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.cancel-button{background-color:#f3f6f9;color:#333;border:1px solid #ddd;padding:10px 20px;font-size:14px;cursor:pointer;transition:all .2s}.cancel-button:hover{background-color:#f3f6f9}.delete-modal{max-width:450px}.delete-warning{margin:12px 0;color:#333;font-size:14px;line-height:1.5}.delete-warning strong{color:#c33}.delete-confirm-button{background-color:#c33;color:#fff;border:1px solid #c33;padding:10px 20px;font-size:14px;cursor:pointer;transition:all .2s}.delete-confirm-button:hover{background-color:#a22}.empty-state{background:#fff;padding:40px;text-align:center;color:#999;box-shadow:0 2px 4px #0000000d}.loading{text-align:center;padding:40px;color:#666}.emp-form-page{width:100%}.emp-form-header{display:flex;align-items:center;gap:14px;margin-bottom:22px}.emp-form-header h2{margin:0;font-size:24px;color:#1e293b}.emp-form-back{border:1px solid #dadce0;background:#fff;border-radius:10px;width:42px;height:42px;font-size:18px;cursor:pointer}.emp-form-back:hover{background:#f8fafc}.emp-form-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:28px 32px}.emp-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));column-gap:32px}.emp-form-grid .form-group{min-width:0}.emp-form-grid .modal-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:12px;border-top:1px solid #eef0f2;padding-top:18px;margin-top:10px}.retention-container{display:flex;flex-direction:column;gap:20px}.retention-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.retention-header h2{color:#004489;font-size:20px;font-weight:600;margin:0 0 4px}.retention-subtitle{color:#666;font-size:13px;margin:0;max-width:560px}.retention-loading{padding:24px;color:#666}.retention-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.summary-card{background:#f7f9fc;border:1px solid #d7e0ec;border-radius:6px;padding:14px 16px}.summary-label{font-size:12px;text-transform:uppercase;color:#6b7280;letter-spacing:.4px;margin-bottom:4px}.summary-value{font-size:18px;font-weight:600;color:#1f2937;font-variant-numeric:tabular-nums}.retention-container h3{font-size:15px;color:#2f4858;margin:10px 0 4px}.retention-table-wrapper{overflow-x:auto;border:1px solid #e1e7ef;border-radius:6px;background:#fff}.retention-table{width:100%;border-collapse:collapse;font-size:13px}.retention-table th,.retention-table td{padding:9px 12px;text-align:left;border-bottom:1px solid #eef1f6}.retention-table th{background:#f7f9fc;font-weight:600;color:#374151;text-transform:uppercase;font-size:11px;letter-spacing:.4px}.retention-table td.num{text-align:right;font-variant-numeric:tabular-nums}.retention-table td.empty-cell{text-align:center;color:#9ca3af;padding:18px}.retention-table td .muted{color:#9ca3af}.primary-button{background:#004489;color:#fff;border:0;border-radius:5px;padding:8px 16px;font-weight:600;cursor:pointer;font-size:13px}.primary-button:disabled{opacity:.55;cursor:not-allowed}.secondary-button{background:#fff;color:#374151;border:1px solid #cbd5e1;border-radius:5px;padding:8px 14px;font-weight:500;cursor:pointer;font-size:13px}.link-button{background:transparent;border:0;color:#004489;font-weight:600;cursor:pointer;padding:4px 0}.link-button:hover{text-decoration:underline}.modal-overlay{position:fixed;inset:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;z-index:60}.modal-content{background:#fff;border-radius:8px;padding:22px 24px;width:min(520px,92vw);box-shadow:0 10px 30px #0003}.modal-content h3{margin:0 0 8px;color:#004489;font-size:17px}.modal-hint{color:#4b5563;font-size:13px;margin:0 0 14px}.modal-field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;font-size:13px;color:#374151}.modal-field input,.modal-field textarea{padding:7px 10px;border:1px solid #cbd5e1;border-radius:5px;font:inherit;resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.sidebar-logo{font-size:18px;font-weight:600;color:#004489;margin:0;white-space:nowrap;overflow:hidden;flex:1}.sidebar.collapsed .user-email{display:none}.user-info-header{display:flex;align-items:center}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 6px #0000001a}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0}.modal-header h2{margin:0;color:#004489;font-size:24px}.modal-close{background:none;border:none;font-size:32px;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;line-height:1}.modal-close:hover{color:#000}.correction-form{padding:20px}.form-section{margin-bottom:20px}.form-section h3{margin:0 0 8px;color:#004489;font-size:18px}.form-hint{margin:0;color:#666;font-size:14px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:8px;color:#333;font-weight:500;font-size:14px}.form-group input[type=datetime-local],.form-group textarea{padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit}.form-group input[type=datetime-local]:focus,.form-group textarea:focus{outline:none;border-color:#004489;box-shadow:0 0 0 2px #0044891a}.form-group textarea{resize:vertical;min-height:80px}.form-error{background:#fee;color:#c33;padding:12px;border-radius:4px;margin-bottom:16px;font-size:14px}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.form-actions button{padding:10px 20px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.form-actions button[type=button]{background:#f5f5f5;color:#333}.form-actions button[type=button]:hover:not(:disabled){background:#e0e0e0}.form-actions button[type=submit]{background:#004489;color:#fff}.form-actions button[type=submit]:hover:not(:disabled){background:#036}.form-actions button:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.form-row{grid-template-columns:1fr}}.correction-inbox{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.correction-header,.correction-section-header,.correction-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.correction-header h2,.correction-section-header h3{margin:0}.correction-header p{margin:.25rem 0 0;color:#5d6b82}.correction-section{background:#fff;border:1px solid #d9e1ec;border-radius:16px;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.correction-row{border:1px solid #e6edf5;border-radius:12px;padding:.85rem 1rem;align-items:flex-start}.correction-row>div{display:flex;flex-direction:column;gap:.2rem;min-width:0}.correction-row span,.correction-row small{color:#5d6b82}.correction-reason{flex:1}.correction-actions{justify-content:center}.correction-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.2rem .55rem;font-size:.82rem;font-weight:700}.correction-badge-pending{background:#fff4d8;color:#915f00}.correction-badge-approved{background:#dcfce7;color:#166534}.correction-badge-rejected{background:#fee2e2;color:#991b1b}.correction-empty,.correction-error{border-radius:12px;padding:.9rem 1rem}.correction-empty{background:#f6f8fb;color:#5d6b82}.correction-error{background:#fee2e2;color:#991b1b}@media(max-width:900px){.correction-header,.correction-section-header,.correction-row{flex-direction:column;align-items:stretch}}.beacon-banner{display:flex;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;margin-bottom:1.25rem;border-radius:8px;border:1px solid;font-size:.95rem;line-height:1.4}.beacon-banner-warning{background-color:#fff8e1;border-color:#f5c93a;color:#6a4a00}.beacon-banner-error{background-color:#ffe9e9;border-color:#d73a3a;color:#7a1c1c}.beacon-banner-body{flex:1;min-width:0}.beacon-banner-title{font-weight:600;margin-bottom:.25rem}.beacon-banner-duration{font-weight:400;opacity:.75;margin-left:.25rem}.beacon-banner-detail{margin-bottom:.5rem}.beacon-banner-list{list-style:none;padding:0;margin:.25rem 0 0;display:flex;flex-direction:column;gap:.25rem}.beacon-banner-list li{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.beacon-banner-more{font-style:italic;opacity:.8}.beacon-flag{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}.beacon-flag-green{background-color:#2e9e44}.beacon-flag-yellow{background-color:#f5c93a}.beacon-flag-red{background-color:#d73a3a}.beacon-banner-dismiss{background:transparent;border:none;font-size:1.5rem;line-height:1;cursor:pointer;color:inherit;padding:0 .25rem;opacity:.7}.beacon-banner-dismiss:hover{opacity:1}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.company-settings-container{padding:0;background:#f8f9fa;min-height:100vh}.settings-page-header{background:#fff;padding:32px 32px 0;border-bottom:1px solid #e0e0e0}.settings-title{margin:0;color:#213547;font-size:32px;font-weight:600;padding-bottom:24px}.settings-tabs-container{background:#fff;border-bottom:2px solid #e0e0e0;padding:0 32px}.settings-tabs{display:flex;gap:8px;align-items:center}.settings-tab{padding:12px 24px;background:none;border:none;border-bottom:2px solid transparent;color:#666;font-size:14px;font-weight:400;cursor:pointer;transition:all .2s;white-space:nowrap;position:relative;margin-bottom:-2px;display:flex;align-items:center;gap:8px}.settings-tab:hover{color:#004489}.settings-tab.active{color:#004489;font-weight:600;border-bottom-color:#004489}.settings-content{padding:32px;background:#fff}.settings-form{background:#fff;padding:0;max-width:900px}.settings-section{margin-bottom:32px}.settings-section h3{margin:0 0 16px;color:#004489;font-size:18px;font-weight:600}.form-group{margin-bottom:24px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#333}.toggle-container{display:flex;align-items:center;justify-content:space-between;background:#f3f6f9;border-radius:8px;padding:16px 20px;margin-bottom:16px}.toggle-label{font-size:14px;font-weight:500;color:#333;margin:0;cursor:pointer;flex:1}.toggle-switch{position:relative;display:inline-block;width:48px;height:24px;cursor:pointer;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.3s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:#004489}.toggle-switch input:checked+.toggle-slider:before{transform:translate(24px)}.toggle-switch input:focus+.toggle-slider{box-shadow:0 0 1px #004489}.form-help{margin-top:4px;font-size:13px;color:#666;font-style:italic}.form-help-inline{display:block;margin-top:4px;font-size:12px;color:#666;font-weight:400;font-style:italic}.form-group input[type=number],.form-group input[type=time]{width:100%;max-width:400px;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:14px;background:#fff;color:#333;transition:border-color .2s,box-shadow .2s}.form-group input[type=number]:hover,.form-group input[type=time]:hover{border-color:#bbb}.form-group input[type=number]:focus,.form-group input[type=time]:focus{outline:none;border-color:#004489;box-shadow:0 0 0 3px #0044891a}.form-group select{width:100%;max-width:400px;padding:10px 36px 10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;background:#fff;color:#333;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.form-group select:focus{outline:none;border-color:#004489;box-shadow:0 0 0 2px #0044891a}.timezone-select{width:100%;max-width:400px;padding:12px 40px 12px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;background:#fff;color:#333;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;transition:border-color .2s,box-shadow .2s}.timezone-select:hover{border-color:#bbb}.timezone-select:focus{outline:none;border-color:#004489;box-shadow:0 0 0 3px #0044891a}.timezone-select option{padding:8px}.timezone-select optgroup{font-weight:600;color:#004489;padding:8px 0 4px}.settings-info{background:#f5f5f5;border-radius:6px;padding:16px;margin-bottom:24px}.settings-info h4{margin:0 0 12px;color:#004489;font-size:16px}.settings-info ul{margin:0;padding-left:20px;color:#555;font-size:14px;line-height:1.6}.settings-info li{margin-bottom:8px}.form-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:24px;margin-top:32px;border-top:1px solid #e0e0e0}.primary-button{background:#004489;color:#fff;border:none;padding:10px 24px;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.primary-button:hover:not(:disabled){background:#036}.primary-button:disabled{opacity:.6;cursor:not-allowed}.secondary-button,.danger-button{border:1px solid #cdd5df;background:#fff;color:#1f2937;padding:10px 18px;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer}.secondary-button:hover:not(:disabled){background:#f7fafc}.danger-button{border-color:#f1b4b4;color:#b42318}.danger-button:hover:not(:disabled){background:#fef3f2}.secondary-button:disabled,.danger-button:disabled{opacity:.6;cursor:not-allowed}.settings-inline-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:20px}.coverage-rule-editor{border:1px solid #dbe5f0;border-radius:10px;background:#f8fbff;padding:20px;margin-bottom:20px}.coverage-rule-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:12px}.coverage-rule-list{display:flex;flex-direction:column;gap:12px}.coverage-rule-card{border:1px solid #e2e8f0;border-radius:10px;background:#fff;padding:16px}.coverage-rule-card-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.coverage-rule-card-actions{display:flex;gap:8px;flex-wrap:wrap}.coverage-rule-name{font-size:16px;font-weight:600;color:#102a43;margin-bottom:6px}.coverage-rule-meta{font-size:13px;color:#52606d;margin-top:4px}.coverage-rule-empty{border:1px dashed #cbd5e1;border-radius:10px;padding:18px;text-align:center;color:#52606d;background:#fbfdff}@media(max-width:768px){.settings-page-header{padding:24px 16px 0}.settings-title{font-size:24px;padding-bottom:16px}.settings-tabs-container{padding:0 16px}.settings-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.settings-tab{padding:12px 16px;font-size:13px;white-space:nowrap}.settings-content{padding:16px}.settings-form{padding:24px}.settings-inline-header,.coverage-rule-card-header,.coverage-rule-actions{flex-direction:column}}.settings-notification{display:flex;align-items:flex-start;gap:12px;background:#fff;border:1px solid #e0e0e0;border-bottom:2px solid #2196f3;border-radius:6px;padding:14px 16px;margin-bottom:24px;box-shadow:0 1px 3px #00000014;position:relative}.notification-icon{flex-shrink:0;color:#2196f3;margin-top:2px}.notification-content{flex:1;min-width:0}.notification-text{font-size:14px;color:#333;line-height:1.5}.notification-link{color:#2196f3;text-decoration:underline;margin-left:4px;cursor:pointer;font-weight:500}.notification-link:hover{color:#1976d2;text-decoration:none}.notification-link-text{color:#2196f3;margin-left:4px;font-weight:500}.notification-close{flex-shrink:0;background:none;border:none;padding:4px;cursor:pointer;color:#999;display:flex;align-items:center;justify-content:center;margin-top:-2px;margin-right:-4px;border-radius:4px;transition:background-color .2s,color .2s}.notification-close:hover{background-color:#f5f5f5;color:#666}.notification-close:active{background-color:#eee}.attendance-container{padding:24px;background:#f8f9fa}.attendance-header{margin-bottom:24px}.attendance-header h2{margin:0;color:#004489;font-size:24px;font-weight:600}.search-date-row{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}.search-wrapper{position:relative;flex:1;max-width:500px}.date-filters-row{display:flex;align-items:flex-end;flex-shrink:0}.date-input-group{display:flex;flex-direction:column;gap:6px}.date-label{font-size:13px;color:#004489;font-weight:500;white-space:nowrap}.date-input{padding:12px 16px;border:1px solid #e0e0e0;border-radius:4px;font-size:14px;background:#fff;color:#333;min-width:160px;transition:border-color .2s,box-shadow .2s;font-family:inherit}.date-input:focus{outline:none;border-color:#004489;box-shadow:0 0 0 2px #0044891a}.date-input:hover{border-color:#bdbdbd;cursor:pointer}.calendar-wrapper{position:relative}.calendar-popup{position:absolute;top:calc(100% + 8px);right:0;z-index:1000;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;padding:20px;min-width:280px}.calendar-widget{font-family:inherit}.calendar-header{display:flex;align-items:center;justify-content:center;margin-bottom:20px;font-size:14px;font-weight:500;color:#333;gap:12px}.calendar-nav-btn{background:none;border:none;color:#333;font-size:14px;cursor:pointer;padding:4px;transition:color .2s;font-weight:500;line-height:1}.calendar-nav-btn:hover{color:#004489}.calendar-month-year{font-weight:500;color:#333;min-width:140px;text-align:center}.calendar-day-labels{display:grid;grid-template-columns:repeat(7,1fr);gap:0;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #f0f0f0}.calendar-day-label{text-align:center;font-size:11px;font-weight:500;color:#999;padding:4px 0;text-transform:uppercase;letter-spacing:.5px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:0;row-gap:8px}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:13px;color:#333;cursor:pointer;border-radius:50%;transition:all .2s;font-weight:400;min-height:32px}.calendar-day:hover:not(.other-month):not(.selected){background:#f5f5f5}.calendar-day.other-month{color:#ccc;cursor:default}.calendar-day.selected{background:#004489;color:#fff;font-weight:500}.calendar-day.empty{cursor:default}.search-input{width:100%;padding:12px 48px 12px 16px;border:1px solid #e0e0e0;border-radius:4px;font-size:14px;background:#fff;color:#333;transition:border-color .2s,box-shadow .2s}.search-input::placeholder{color:#999}.search-input:focus{outline:none;border-color:#bdbdbd;box-shadow:0 0 0 1px #0000000d}.search-icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:#999;pointer-events:none}.attendance-tabs{display:flex;gap:8px;border-bottom:2px solid #e0e0e0;margin-bottom:24px;background:#fff;padding:0 24px;margin-left:-24px;margin-right:-24px}.attendance-tab{padding:12px 24px;background:none;border:none;border-bottom:2px solid transparent;color:#666;font-weight:400;cursor:pointer;font-size:14px;margin-bottom:-2px;position:relative;display:flex;align-items:center;gap:8px;transition:all .2s}.attendance-tab:hover{color:#004489}.attendance-tab.active{color:#004489;font-weight:600;border-bottom-color:#004489}.tab-badge{padding:2px 8px;border-radius:12px;background-color:#f3f6f9;color:#666;font-size:12px;font-weight:500;min-width:20px;text-align:center}.attendance-tab.active .tab-badge{background-color:#004489;color:#fff}.attendance-content{min-height:200px}.empty-state{text-align:center;padding:48px 24px;color:#666;font-size:14px;background:#fff;border-radius:8px;border:1px solid #e0e0e0}.activity-feed{display:flex;flex-direction:column;gap:16px}.user-activity-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 1px 3px #0000000d;overflow:hidden;transition:box-shadow .2s}.user-activity-card:hover{box-shadow:0 2px 6px #0000001a}.user-activity-card-suspicious{border-left:3px solid #d32f2f}.user-activity-card-moderate{border-left:3px solid #ff9800}.user-activity-card-normal{border-left:3px solid #4caf50}.user-activity-header{padding:16px 20px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background-color .2s}.user-activity-header:hover{background-color:#f8f9fa}.user-activity-main{display:flex;align-items:center;gap:12px;flex:1}.user-activity-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center}.user-activity-info{display:flex;flex-direction:column;gap:4px}.user-activity-name{font-size:15px;font-weight:600;color:#333}.user-activity-email{font-size:13px;color:#666}.user-activity-meta{display:flex;align-items:center;gap:12px}.severity-badge{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500;text-transform:capitalize}.severity-badge-suspicious{background-color:#ffebee;color:#d32f2f}.severity-badge-moderate{background-color:#fff3e0;color:#ff9800}.severity-badge-normal{background-color:#e8f5e9;color:#4caf50}.activity-count{font-size:13px;color:#666}.expand-icon{transition:transform .2s;flex-shrink:0}.expand-icon.expanded{transform:rotate(180deg)}.user-activity-body{border-top:1px solid #f0f0f0;background:#fafafa}.activity-item{display:flex;gap:16px;padding:16px 20px;position:relative}.activity-item:not(.last){border-bottom:1px solid #f0f0f0}.activity-timeline{display:flex;flex-direction:column;align-items:center;min-width:60px;position:relative}.activity-time{font-size:12px;color:#666;font-weight:500;white-space:nowrap}.activity-line{flex:1;width:2px;background:#e0e0e0;margin:8px 0}.activity-content{flex:1}.activity-structured{display:flex;flex-direction:column;gap:8px}.activity-status-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:4px}.activity-status-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.2px;white-space:nowrap}.activity-status-detail{font-size:13px;color:#666}.activity-status-badge-review-needed{background:#fff4e5;color:#8a5300}.activity-status-badge-missing-checkout{background:#ffebee;color:#c62828}.activity-status-badge-auto-closed{background:#fff8e1;color:#8d6e00}.activity-status-badge-on-break{background:#e3f2fd;color:#1565c0}.activity-status-badge-temp-out{background:#fff3e0;color:#e65100}.activity-status-badge-checked-in{background:#e8f5e9;color:#2e7d32}.activity-status-badge-checked-out{background:#eceff1;color:#455a64}.activity-step{font-size:14px;line-height:1.6;color:#333}.step-label{font-weight:600;color:#004489;margin-right:8px}.step-value{color:#333}.step-issue{color:#d32f2f;font-weight:500}.activity-flags{margin-top:8px;padding-top:8px;border-top:1px solid #e0e0e0;font-size:13px}.flags-label{font-weight:600;color:#666;margin-right:8px}.flags-list{color:#d32f2f;font-weight:500}.break-in-progress{color:#ff9800;font-weight:500;font-style:italic}.total-list{background:#fff;border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.total-list-header{display:grid;grid-template-columns:1fr 240px 160px 260px;align-items:center;padding:10px 20px;background:#f0f4fa;border-bottom:1px solid #e0e0e0;font-size:12px;font-weight:600;color:#004489;text-transform:uppercase;letter-spacing:.5px}.total-row{display:grid;grid-template-columns:1fr 240px 160px 260px;align-items:center;padding:14px 20px;border-bottom:1px solid #f0f0f0;transition:background .15s}.total-row:last-child{border-bottom:none}.total-row:hover{background:#fafafa}.total-row-reviewable{cursor:pointer}.total-row-reviewable:hover{background:#f7f9fd}.total-row-reviewable:focus-visible{outline:2px solid #004489;outline-offset:-2px}.total-col-name{display:flex;flex-direction:column;gap:2px}.total-employee-name{font-size:14px;font-weight:600;color:#222}.total-employee-email{font-size:12px;color:#888}.total-col-status{display:flex;align-items:center}.total-status-stack{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.total-status-trigger{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:0;border:none;background:transparent;text-align:left;cursor:pointer;font:inherit}.total-status-trigger:hover .total-status-detail,.total-status-trigger:focus-visible .total-status-detail{color:#004489}.total-status-trigger:focus-visible{outline:2px solid rgba(0,68,137,.25);outline-offset:4px;border-radius:8px}.total-status-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}.total-status-badge-checked-in{background:#e8f5e9;color:#2e7d32}.total-status-badge-temp-out{background:#fff3e0;color:#e65100}.total-status-badge-checked-out{background:#f3f3f3;color:#555}.total-status-badge-review-needed{background:#fff4e5;color:#8a5300}.total-status-badge-missing-checkout{background:#ffebee;color:#c62828}.total-status-badge-auto-closed{background:#fff8e1;color:#8d6e00}.total-status-badge-on-break{background:#e3f2fd;color:#1565c0}.total-status-detail{font-size:11px;line-height:1.35;color:#666;max-width:220px}.total-col-time{display:flex;align-items:center}.total-time-live{font-size:15px;font-weight:700;color:#004489;font-variant-numeric:tabular-nums;letter-spacing:.3px}.total-time-final{font-size:15px;font-weight:600;color:#333;font-variant-numeric:tabular-nums}.total-col-actions{display:flex;justify-content:flex-end}.total-action-group{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.total-review-btn,.total-report-btn{padding:6px 14px;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s,opacity .15s}.total-review-btn{background:#004489;color:#fff;border:1px solid #004489}.total-review-btn:hover:not(:disabled){background:#003370;border-color:#003370}.total-review-btn:disabled{opacity:.55;cursor:not-allowed}.total-report-btn{background:transparent;color:#004489;border:1px solid #004489}.total-report-btn:hover{background:#004489;color:#fff}.report-modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:2000}.report-modal{background:#fff;border-radius:10px;width:420px;max-width:calc(100vw - 32px);box-shadow:0 8px 32px #0000002e;display:flex;flex-direction:column}.report-modal-header{display:flex;justify-content:space-between;align-items:center;padding:18px 20px 14px;border-bottom:1px solid #eee}.report-modal-header h3{font-size:16px;font-weight:600;color:#004489;margin:0}.report-modal-close{background:none;border:none;font-size:18px;color:#888;cursor:pointer;padding:2px 6px;border-radius:4px;line-height:1}.report-modal-close:hover{background:#f0f0f0;color:#333}.report-modal-body{padding:20px;display:flex;flex-direction:column;gap:16px}.report-employee-info{display:flex;flex-direction:column;gap:2px;padding:12px;background:#f0f4fa;border-radius:6px}.report-employee-name{font-size:15px;font-weight:600;color:#222}.report-employee-email{font-size:13px;color:#666}.report-date-range{display:grid;grid-template-columns:1fr 1fr;gap:12px}.report-date-group{display:flex;flex-direction:column;gap:6px}.report-date-group label{font-size:12px;font-weight:600;color:#004489;text-transform:uppercase;letter-spacing:.5px}.report-date-group input[type=date]{padding:9px 12px;border:1px solid #d0d0d0;border-radius:4px;font-size:14px;color:#333;font-family:inherit;background:#fff}.report-date-group input[type=date]:focus{outline:none;border-color:#004489;box-shadow:0 0 0 2px #0044891a}.report-error{padding:10px 12px;background:#ffebee;border-radius:4px;color:#c62828;font-size:13px}.report-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid #eee}.report-cancel-btn{padding:8px 18px;background:#f5f5f5;border:1px solid #d0d0d0;border-radius:4px;font-size:14px;color:#555;cursor:pointer}.report-cancel-btn:hover{background:#e8e8e8}.report-generate-btn{padding:8px 20px;background:#004489;border:none;border-radius:4px;font-size:14px;font-weight:600;color:#fff;cursor:pointer;transition:background .15s}.report-generate-btn:hover:not(:disabled){background:#003370}.report-generate-btn:disabled{opacity:.55;cursor:not-allowed}@media(max-width:768px){.attendance-container{padding:16px}.search-date-row{flex-direction:column;gap:16px}.search-wrapper{max-width:100%;width:100%}.date-filters-row{width:100%;align-items:stretch}.date-input-group{width:100%}.date-input{width:100%;min-width:auto}.attendance-tabs{padding:0 16px;margin-left:-16px;margin-right:-16px;overflow-x:auto;-webkit-overflow-scrolling:touch}.attendance-tab{white-space:nowrap;padding:12px 16px}.user-activity-header{flex-direction:column;align-items:flex-start;gap:12px}.user-activity-meta{width:100%;justify-content:space-between}.activity-item{flex-direction:column;gap:8px}.activity-timeline{flex-direction:row;align-items:center;width:100%}.activity-line,.total-list-header{display:none}.total-row{grid-template-columns:1fr;gap:10px;padding:14px 16px}.total-col-actions,.total-action-group{justify-content:flex-start}.report-date-range{grid-template-columns:1fr}}.lm-container{width:100%}.lm-scope-note{margin-bottom:16px;padding:12px 14px;border:1px solid #dbe7ff;border-radius:8px;background:#f8fbff;color:#374151;font-size:14px}.lm-filter-bar{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.lm-filter-btn{padding:6px 16px;border:1px solid #d1d5db;border-radius:20px;background:#fff;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.lm-filter-btn:hover{border-color:#6366f1;color:#4f46e5}.lm-filter-btn.active{background:#4f46e5;border-color:#4f46e5;color:#fff}.lm-list{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;background:#fff}.lm-row{display:grid;grid-template-columns:1.3fr .8fr .8fr 1.4fr .5fr 1.5fr .9fr .8fr;padding:10px 16px;font-size:14px;border-bottom:1px solid #f3f4f6;align-items:center;gap:8px}.lm-row:last-child{border-bottom:none}.lm-header-row{background:#f9fafb;font-weight:700;font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.lm-row:not(.lm-header-row):hover{background:#fafafa}.lm-employee{display:flex;flex-direction:column}.lm-emp-name{font-weight:600;color:#111827;font-size:14px}.lm-emp-email{color:#6b7280;font-size:12px}.lm-reason{color:#6b7280;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.lm-workflow{display:flex;flex-direction:column;gap:4px}.lm-workflow-label{font-weight:600;color:#1f2937;font-size:13px}.lm-overdue-flag{font-size:12px;color:#b45309;font-weight:600}.lm-step-list{display:flex;flex-direction:column;gap:2px}.lm-step-item{color:#6b7280;font-size:12px;line-height:1.35}.lm-attachment-label{margin-top:4px;font-size:11px;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lm-status-cell{display:flex;flex-direction:column;gap:4px}.lm-reviewed-by{font-size:11px;color:#6b7280}.lm-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}.lm-badge-pending{background:#fef3c7;color:#92400e}.lm-badge-approved{background:#d1fae5;color:#065f46}.lm-badge-rejected{background:#fee2e2;color:#991b1b}.lm-badge-cancelled{background:#e5e7eb;color:#374151}.lm-badge-needs-changes{background:#fef3c7;color:#92400e}.lm-review-btn{padding:4px 12px;background:#fff;border:1px solid #4f46e5;color:#4f46e5;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.lm-review-btn:hover{background:#4f46e5;color:#fff}.lm-note-preview{font-size:12px;color:#9ca3af;font-style:italic;cursor:default}.lm-action-stack{display:flex;gap:8px;flex-wrap:wrap}.lm-attachment-btn{border-color:#2563eb;color:#2563eb}.lm-attachment-btn:hover{background:#2563eb;color:#fff}.lm-escalate-btn{border-color:#b45309;color:#b45309}.lm-escalate-btn:hover{background:#b45309;color:#fff}.lm-awaiting{font-size:12px;color:#9ca3af}.lm-loading{color:#6b7280;font-size:14px;padding:32px 0;text-align:center}.lm-empty{color:#9ca3af;font-size:14px;padding:48px 0;text-align:center}.lm-error{background:#fee2e2;color:#991b1b;border-radius:6px;padding:8px 12px;font-size:13px;margin-bottom:14px}.lm-modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.lm-modal{background:#fff;border-radius:10px;padding:28px 32px;min-width:380px;max-width:480px;width:100%;box-shadow:0 20px 60px #0003}.lm-modal h3{margin:0 0 12px;font-size:18px;color:#111827}.lm-modal-employee{font-weight:600;font-size:15px;color:#374151;margin:0 0 4px}.lm-modal-period{font-size:14px;color:#6b7280;margin:0 0 8px}.lm-modal-stage{margin:0 0 12px;color:#1f2937;font-size:13px;font-weight:600}.lm-modal-reason{font-size:14px;color:#374151;background:#f9fafb;border-left:3px solid #d1d5db;padding:8px 12px;border-radius:0 4px 4px 0;margin:0 0 16px;font-style:italic}.lm-modal-overdue{margin:0 0 16px;padding:10px 12px;border:1px solid #fcd34d;border-radius:8px;background:#fffbeb;color:#92400e;font-size:13px;font-weight:600}.lm-modal-attachment{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;padding:10px 12px;border:1px solid #dbe7ff;border-radius:8px;background:#f8fbff;font-size:13px;color:#374151}.lm-modal-history{margin:0 0 16px;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;padding:12px}.lm-modal-history-title{margin-bottom:8px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#6b7280}.lm-modal-history-item{display:flex;flex-direction:column;gap:2px;font-size:13px;color:#374151}.lm-modal-history-item+.lm-modal-history-item{margin-top:8px;padding-top:8px;border-top:1px solid #e5e7eb}.lm-modal-history-note{color:#6b7280;font-size:12px}.lm-decision-row{display:flex;gap:12px;margin-bottom:16px}.lm-decision-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;color:#374151;transition:border-color .15s,background .15s}.lm-decision-btn input[type=radio]{display:none}.lm-decision-btn.selected-approve{border-color:#10b981;background:#ecfdf5;color:#065f46}.lm-decision-btn.selected-reject{border-color:#ef4444;background:#fff1f2;color:#991b1b}.lm-decision-btn.selected-changes{border-color:#f59e0b;background:#fffbeb;color:#92400e}.lm-form-row{margin-bottom:16px}.lm-form-row label{display:flex;flex-direction:column;font-size:13px;font-weight:600;color:#374151;gap:5px}.lm-form-row textarea{padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-family:inherit;resize:vertical}.lm-modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.lm-btn-secondary{padding:8px 18px;background:#fff;border:1px solid #d1d5db;color:#374151;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}.lm-btn-secondary:hover{background:#f9fafb}.lm-btn-secondary.lm-btn-escalate{border-color:#b45309;color:#b45309}.lm-btn-secondary.lm-btn-escalate:hover{background:#fff7ed}.lm-btn-primary{padding:8px 18px;background:#10b981;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}.lm-btn-primary:hover{background:#059669}.lm-btn-primary.lm-btn-reject{background:#ef4444}.lm-btn-primary.lm-btn-reject:hover{background:#dc2626}.lm-btn-primary.lm-btn-changes{background:#f59e0b}.lm-btn-primary.lm-btn-changes:hover{background:#d97706}.lm-btn-primary:disabled{opacity:.6;cursor:not-allowed}.lm-coverage-flags{margin-top:8px;display:flex;flex-direction:column;gap:4px}.lm-coverage-flag{font-size:11px;font-weight:600}.lm-coverage-flags.warning .lm-coverage-flag{color:#92400e}.lm-coverage-flags.blocking .lm-coverage-flag{color:#b42318}.lm-modal-coverage{margin:0 0 16px;border-radius:8px;padding:12px}.lm-modal-coverage.warning{background:#fffbeb;border:1px solid #facc15}.lm-modal-coverage.blocking{background:#fef2f2;border:1px solid #fca5a5}@media(max-width:900px){.lm-row{grid-template-columns:1.2fr .8fr .8fr 1fr .6fr 1.2fr .8fr}.lm-row>span:nth-child(6){display:none}}@media(max-width:600px){.lm-modal{min-width:unset;padding:20px 16px;margin:16px}}.notif-inbox{position:relative}.notif-trigger{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border:1px solid #dbe2ea;border-radius:999px;background:#f8fbff;color:#004489;font-size:13px;font-weight:600;cursor:pointer}.notif-trigger-badge{min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#ef4444;color:#fff;font-size:12px;display:inline-flex;align-items:center;justify-content:center}.notif-panel{position:absolute;right:0;top:calc(100% + 10px);width:min(380px,calc(100vw - 32px));background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 18px 40px #0f172a29;z-index:1000;overflow:hidden}.notif-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid #eef2f7}.notif-panel-header h3{margin:0 0 4px;font-size:16px;color:#111827}.notif-panel-header p{margin:0;font-size:12px;color:#6b7280}.notif-mark-read{padding:6px 10px;border:none;background:transparent;color:#004489;font-size:12px;font-weight:600;cursor:pointer}.notif-mark-read:disabled{color:#9ca3af;cursor:default}.notif-list{max-height:420px;overflow-y:auto}.notif-item{width:100%;border:none;background:#fff;text-align:left;padding:14px 18px;border-bottom:1px solid #f3f4f6;cursor:pointer}.notif-item.unread{background:#f8fbff}.notif-item:last-child{border-bottom:none}.notif-item-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.notif-type{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.notif-type-info{color:#2563eb}.notif-type-success{color:#059669}.notif-type-warning{color:#d97706}.notif-type-error{color:#dc2626}.notif-time{font-size:12px;color:#9ca3af}.notif-title{font-size:14px;font-weight:600;color:#111827;margin-bottom:4px}.notif-message{font-size:13px;color:#4b5563;line-height:1.45}.notif-empty{padding:24px 18px;text-align:center;font-size:13px;color:#6b7280}@media(max-width:768px){.notif-panel{right:auto;left:0}}.operations-board{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:20px}.operations-board-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.operations-board-header h2{margin:0 0 6px;color:#111827;font-size:22px}.operations-board-header p,.operations-empty,.operations-list-item span,.operations-warning-item span{margin:0;color:#6b7280;font-size:14px}.operations-refresh-btn{border:1px solid #d1d5db;background:#fff;color:#374151;border-radius:8px;padding:8px 12px;font-size:13px;font-weight:600;cursor:pointer}.operations-refresh-btn:hover{border-color:#9ca3af;background:#f9fafb}.operations-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.operations-pill{border-radius:999px;padding:6px 10px;background:#f3f4f6;color:#374151;font-size:12px;font-weight:700}.operations-pill-blue{background:#dbeafe;color:#1d4ed8}.operations-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px}.operations-card{border:1px solid #e5e7eb;border-radius:12px;padding:14px;background:#fcfcfd;display:flex;flex-direction:column;gap:6px}.operations-card span{color:#6b7280;font-size:13px;font-weight:600}.operations-card strong{color:#111827;font-size:28px;line-height:1}.operations-card small{color:#b91c1c;font-size:12px;font-weight:700}.operations-card-alert{border-color:#fecaca;background:#fff7f7}.operations-panels{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:16px}.operations-panel{border:1px solid #e5e7eb;border-radius:12px;padding:16px;background:#fff}.operations-panel-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.operations-panel-header h3{margin:0;color:#1f2937;font-size:17px}.operations-panel-header span{border-radius:999px;padding:4px 10px;background:#f3f4f6;color:#374151;font-size:12px;font-weight:700}.operations-list,.operations-warning-list{display:flex;flex-direction:column;gap:10px}.operations-list-item,.operations-warning-item{border:1px solid #e5e7eb;border-radius:10px;padding:10px 12px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;background:#fcfcfd}.operations-list-item div{display:flex;flex-direction:column;gap:4px}.operations-list-item strong,.operations-warning-item strong{color:#111827;font-size:14px}.operations-list-item small{color:#4b5563;font-size:12px;font-weight:600}.operations-warning-blocking{border-color:#fecaca;background:#fff7f7}.operations-loading,.operations-error{font-size:14px;margin-bottom:12px}.operations-error{color:#b91c1c}@media(max-width:900px){.operations-board-header,.operations-list-item,.operations-warning-item{flex-direction:column;align-items:flex-start}.operations-panels{grid-template-columns:1fr}}.overtime-management{display:grid;gap:1rem}.overtime-management-header,.overtime-management-summary,.overtime-management-table-wrap{background:#fff;border:1px solid #e7e5e4;border-radius:18px;box-shadow:0 18px 45px #0f172a0f}.overtime-management-header{padding:1.25rem 1.4rem;display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.overtime-management-header h2{margin:0 0 .35rem}.overtime-management-header p{margin:0;color:#57534e}.overtime-management-tools{display:flex;gap:.75rem;align-items:end}.overtime-management-tools label{display:grid;gap:.35rem;font-weight:600}.overtime-management-tools select{min-width:160px;border:1px solid #d6d3d1;border-radius:12px;padding:.7rem .85rem;font:inherit}.overtime-management-btn{border:none;border-radius:12px;padding:.75rem 1rem;font:inherit;font-weight:700;cursor:pointer}.overtime-management-btn:disabled{cursor:wait;opacity:.65}.overtime-management-btn-primary{background:#0f766e;color:#fff}.overtime-management-summary{padding:.95rem 1.4rem;display:flex;gap:1.5rem;flex-wrap:wrap;color:#374151}.overtime-management-error,.overtime-management-empty{border-radius:16px;padding:1rem 1.2rem}.overtime-management-error{background:#fef2f2;color:#b91c1c}.overtime-management-empty{background:#fff;border:1px solid #e7e5e4;color:#57534e}.overtime-management-table-wrap{overflow:auto}.overtime-management-table{width:100%;border-collapse:collapse}.overtime-management-table th,.overtime-management-table td{padding:.95rem 1rem;border-bottom:1px solid #f1f5f9;vertical-align:top;text-align:left}.overtime-management-table thead th{font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:#6b7280;background:#fafaf9}.overtime-management-employee{display:grid;gap:.2rem}.overtime-management-employee span{color:#57534e;font-size:.92rem}.overtime-management-status{display:inline-flex;align-items:center;justify-content:center;padding:.32rem .7rem;border-radius:999px;font-weight:700;font-size:.84rem}.overtime-management-status-pending{background:#fff7ed;color:#c2410c}.overtime-management-status-approved{background:#ecfdf5;color:#047857}.overtime-management-status-rejected{background:#fef2f2;color:#b91c1c}.overtime-management-status-cancelled{background:#f3f4f6;color:#4b5563}.overtime-management-note,.overtime-management-reviewed{margin-top:.45rem;color:#57534e;font-size:.9rem}.overtime-management-reviewed{display:grid;gap:.25rem}.overtime-management-modal-backdrop{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:1.25rem;z-index:1200}.overtime-management-modal{width:min(680px,100%);background:#fff;border-radius:22px;padding:1.5rem;box-shadow:0 32px 70px #0f172a3d;display:grid;gap:1rem}.overtime-management-modal-header{display:flex;justify-content:space-between;gap:1rem}.overtime-management-modal-header h3{margin:0 0 .25rem}.overtime-management-modal-header p{margin:0;color:#57534e}.overtime-management-close{border:none;background:transparent;color:#6b7280;font:inherit;cursor:pointer}.overtime-management-modal-metrics{display:flex;gap:.9rem 1.5rem;flex-wrap:wrap;color:#374151}.overtime-management-modal-reason{margin:0;color:#1f2937}.overtime-management-modal-form{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.overtime-management-modal-form label{display:grid;gap:.4rem;font-weight:600}.overtime-management-modal-form input,.overtime-management-modal-form select,.overtime-management-modal-form textarea{width:100%;border:1px solid #d6d3d1;border-radius:12px;padding:.8rem .9rem;font:inherit}.overtime-management-modal-full{grid-column:1 / -1}.overtime-management-modal-actions{display:flex;justify-content:flex-end}.service-level-report{display:flex;flex-direction:column;gap:16px;margin-top:28px;padding-top:24px;border-top:2px solid #e1e7ef}.sl-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.sl-header h2{color:#004489;font-size:19px;font-weight:600;margin:0 0 4px}.sl-subtitle{color:#666;font-size:13px;margin:0;max-width:620px}.sl-controls{display:flex;gap:10px;align-items:flex-end}.sl-controls label{display:flex;flex-direction:column;gap:2px;font-size:12px;color:#374151}.sl-controls select{padding:7px 10px;border:1px solid #cbd5e1;border-radius:5px;font:inherit;min-width:120px}.sl-primary{background:#004489;color:#fff;border:0;border-radius:5px;padding:9px 18px;font-weight:600;cursor:pointer;font-size:13px;height:36px}.sl-primary:disabled{opacity:.5;cursor:not-allowed}.sl-error{padding:10px 14px;background:#fdecec;border:1px solid #f5c6cb;color:#8f1818;border-radius:5px;font-size:13px}.sl-meta{color:#4b5563;font-size:13px;padding:8px 10px;background:#f7f9fc;border-radius:5px}.sl-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.sl-card{background:#fff;border:1px solid #e1e7ef;border-radius:6px;padding:14px 16px}.sl-card h3{margin:0 0 8px;font-size:13px;color:#2f4858;text-transform:uppercase;letter-spacing:.3px}.sl-kpi{font-size:28px;font-weight:700;color:#004489;margin-bottom:8px;font-variant-numeric:tabular-nums}.sl-card dl{margin:0;display:grid;grid-template-columns:1fr auto;gap:2px 8px;font-size:12.5px}.sl-card dt{color:#6b7280}.sl-card dd{margin:0;text-align:right;color:#1f2937;font-variant-numeric:tabular-nums}.sl-retention{background:#f7f9fc;border:1px solid #d7e0ec;border-radius:6px;padding:12px 16px}.sl-retention h3{margin:0 0 8px;font-size:14px;color:#2f4858}.sl-ret-row{display:flex;justify-content:space-between;font-size:13px;padding:3px 0;color:#374151}.sl-badge-ok{color:#2d6a4f}.sl-badge-warn{color:#b5651d}.sl-badge-bad{color:#a4161a}.sl-notes{background:#fff8e6;border:1px solid #e0c97f;border-radius:6px;padding:12px 16px}.sl-notes h3{margin:0 0 6px;font-size:14px;color:#8b5a00}.sl-notes ul{margin:0;padding-left:18px;color:#5c3e00;font-size:13px}.sl-notes li{margin-bottom:3px}.sl-empty{padding:16px;color:#6b7280;text-align:center;font-size:13px}.reports-center{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:20px}.reports-header,.reports-filter-bar,.reports-summary-bar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.reports-header{margin-bottom:16px}.reports-header h2{margin:0 0 6px;color:#111827;font-size:22px}.reports-header p,.reports-scope-note,.reports-employee-cell span{margin:0;color:#6b7280;font-size:14px}.reports-actions{display:flex;gap:8px;flex-wrap:wrap}.reports-filter-bar{margin-bottom:16px}.reports-filter-bar label{display:flex;flex-direction:column;gap:6px;color:#374151;font-size:13px;font-weight:600}.reports-filter-bar input{border:1px solid #d1d5db;border-radius:8px;padding:10px 12px;font-size:14px;color:#111827}.reports-primary-btn,.reports-secondary-btn{border-radius:8px;padding:9px 12px;font-size:13px;font-weight:700;cursor:pointer}.reports-primary-btn{border:1px solid #1d4ed8;background:#1d4ed8;color:#fff}.reports-secondary-btn{border:1px solid #d1d5db;background:#fff;color:#374151}.reports-primary-btn:hover{background:#1e40af}.reports-secondary-btn:hover{background:#f9fafb}.reports-scope-note{margin-bottom:14px;padding:10px 12px;border-radius:10px;background:#eff6ff;color:#1d4ed8;font-weight:600}.reports-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}.reports-card{border:1px solid #e5e7eb;border-radius:12px;padding:14px;background:#fcfcfd;display:flex;flex-direction:column;gap:6px}.reports-card span{color:#6b7280;font-size:13px;font-weight:600}.reports-card strong{color:#111827;font-size:26px;line-height:1}.reports-summary-bar{margin-bottom:16px;padding:12px 14px;border-radius:12px;background:#f9fafb;border:1px solid #e5e7eb}.reports-summary-bar span{color:#374151;font-size:13px;font-weight:600}.reports-table-wrap{overflow-x:auto}.reports-table{width:100%;border-collapse:collapse}.reports-table th,.reports-table td{padding:12px 10px;border-bottom:1px solid #e5e7eb;text-align:left;font-size:14px;color:#1f2937;vertical-align:top}.reports-table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#6b7280}.reports-employee-cell{display:flex;flex-direction:column;gap:4px}.reports-empty-row,.reports-loading,.reports-error{font-size:14px}.reports-empty-row{text-align:center;color:#6b7280;padding:24px 12px}.reports-error{color:#b91c1c;margin-bottom:12px}@media(max-width:900px){.reports-header,.reports-filter-bar,.reports-summary-bar{flex-direction:column;align-items:flex-start}}.shift-planner{display:flex;flex-direction:column;gap:16px}.sp-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.sp-header h2{margin:0 0 4px;font-size:1.4rem}.sp-header p{margin:0;color:#64748b;font-size:.85rem}.sp-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sp-week-label{font-weight:600;font-size:.9rem;min-width:150px;text-align:center}.sp-btn{background:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;padding:6px 12px;font-size:.82rem;cursor:pointer;color:#1e293b}.sp-btn:hover:not(:disabled){background:#e2e8f0}.sp-btn:disabled{opacity:.5;cursor:not-allowed}.sp-btn-primary{background:#2563eb;border-color:#2563eb;color:#fff}.sp-btn-primary:hover:not(:disabled){background:#1d4ed8}.sp-btn-secondary{background:#fff}.sp-sm{padding:3px 8px;font-size:.75rem}.sp-create{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px}.sp-create label{display:flex;flex-direction:column;font-size:.7rem;color:#64748b;gap:3px}.sp-create input{border:1px solid #cbd5e1;border-radius:6px;padding:5px 8px;font-size:.85rem}.sp-create .sp-grow{flex:1;min-width:140px}.sp-create .sp-grow input{width:100%;box-sizing:border-box}.sp-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;border-radius:6px;padding:10px 12px;font-size:.85rem}.sp-loading{color:#64748b;padding:24px;text-align:center}.sp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.sp-col{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;min-height:120px;display:flex;flex-direction:column}.sp-col-head{font-weight:600;font-size:.78rem;text-align:center;padding:8px 4px;border-bottom:1px solid #e2e8f0;color:#334155}.sp-col-body{padding:6px;display:flex;flex-direction:column;gap:6px}.sp-empty{color:#cbd5e1;text-align:center;padding:8px;font-size:.8rem}.sp-card{background:#fff;border:1px solid #e2e8f0;border-left:3px solid #94a3b8;border-radius:6px;padding:7px 8px;font-size:.78rem}.sp-card.sp-published{border-left-color:#16a34a}.sp-card-top{display:flex;justify-content:space-between;align-items:center}.sp-time{font-weight:600}.sp-cover{font-weight:700;font-size:.72rem;padding:1px 6px;border-radius:10px}.sp-card-meta{display:flex;gap:5px;align-items:center;margin:4px 0;flex-wrap:wrap}.sp-status{font-size:.66rem;padding:1px 6px;border-radius:10px;text-transform:uppercase;letter-spacing:.03em}.sp-status-draft{background:#f1f5f9;color:#64748b}.sp-status-published{background:#dcfce7;color:#15803d}.sp-status-cancelled{background:#fee2e2;color:#b91c1c}.sp-night{font-size:.66rem;background:#ede9fe;color:#6d28d9;padding:1px 6px;border-radius:10px}.sp-assignees{list-style:none;margin:4px 0;padding:0;display:flex;flex-direction:column;gap:3px}.sp-assignees li{display:flex;align-items:center;gap:4px}.sp-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sp-name em{color:#94a3b8}.sp-mb{font-size:.64rem;padding:1px 5px;border-radius:8px;white-space:nowrap}.sp-x{background:none;border:none;color:#cbd5e1;cursor:pointer;font-size:.95rem;line-height:1;padding:0 2px}.sp-x:hover{color:#ef4444}.sp-assign{width:100%;border:1px dashed #cbd5e1;border-radius:5px;padding:3px;font-size:.74rem;color:#475569;margin-top:2px}.sp-violations{list-style:none;margin:5px 0 0;padding:0;display:flex;flex-direction:column;gap:2px;font-size:.7rem}.sp-card-actions{display:flex;gap:5px;margin-top:6px}.sp-ok{background:#dcfce7;color:#15803d}.sp-bad{background:#fee2e2;color:#b91c1c}.sp-warn{background:#ffedd5;color:#c2410c}.sp-muted{background:#f1f5f9;color:#64748b}.sp-variance{margin-top:12px;border-top:1px solid #e2e8f0;padding-top:16px}.sp-variance-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:12px}.sp-variance-head h3{margin:0;font-size:1.1rem}.sp-variance-stats{display:flex;gap:6px}.sp-pill{font-size:.72rem;font-weight:600;padding:2px 9px;border-radius:12px}.sp-variance-controls{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-left:auto}.sp-variance-controls label{display:flex;flex-direction:column;font-size:.7rem;color:#64748b;gap:3px}.sp-variance-controls input[type=date]{border:1px solid #cbd5e1;border-radius:6px;padding:4px 7px;font-size:.82rem}.sp-check{flex-direction:row!important;align-items:center;gap:5px!important}.sp-table{width:100%;border-collapse:collapse;font-size:.82rem}.sp-table th{text-align:left;padding:8px 10px;border-bottom:2px solid #e2e8f0;color:#475569;font-weight:600}.sp-table td{padding:7px 10px;border-bottom:1px solid #f1f5f9}.sp-empty-row{text-align:center;color:#94a3b8;padding:18px}@media(max-width:900px){.sp-grid{grid-template-columns:1fr}}.sp-override-edit{display:flex;gap:4px;align-items:center;margin-top:4px;flex-basis:100%}.sp-override-edit input[type=time]{width:84px}.acc-toolbar{display:flex;align-items:center;gap:20px}.acc-archived-toggle{display:flex;align-items:center;gap:8px;font-size:14px;color:#475467;cursor:pointer;-webkit-user-select:none;user-select:none}.acc-archived-toggle input{cursor:pointer}.acc-archived-row{background-color:#f6f7f9!important;color:#98a2b3}.acc-archived-row td{color:#98a2b3}.acc-kind-badge{display:inline-block;padding:3px 10px;font-size:12px;font-weight:600;border-radius:4px;background-color:#eef2f7;color:#004489}.acc-archived-row .acc-kind-badge{background-color:#eceef1;color:#98a2b3}.acc-muted{color:#98a2b3}.acc-code-cell{font-weight:600;color:#004489}.acc-archived-row .acc-code-cell{color:#98a2b3}.acc-archived-tag{font-size:11px;font-style:italic;color:#98a2b3}.acc-checkbox-row{display:flex;align-items:center;gap:8px;margin-bottom:20px;font-size:14px;color:#333;cursor:pointer}.acc-checkbox-row input{cursor:pointer}.acc-field-hint{display:block;margin-top:4px;font-size:12px;color:#98a2b3}.ca-card{background:#fff;box-shadow:0 2px 4px #0000000d;padding:28px;display:flex;flex-direction:column;gap:20px;max-width:720px}.ca-status{display:flex;align-items:center;gap:16px;padding:20px 24px}.ca-status-active{background-color:#e8f5e9;border-left:6px solid #2e7d32}.ca-status-inactive{background-color:#f3f6f9;border-left:6px solid #98a2b3}.ca-status-label{font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#667085}.ca-status-value{font-size:30px;font-weight:700;line-height:1}.ca-status-active .ca-status-value{color:#2e7d32}.ca-status-inactive .ca-status-value{color:#667085}.ca-legal{background-color:#fff8e6;border:1px solid #f0d58a;padding:16px 18px;color:#6b4e00;font-size:14px;line-height:1.55}.ca-legal strong{color:#6b4e00}.ca-confirmation{display:flex;flex-direction:column;gap:6px;background-color:#f3f6f9;padding:16px 18px;font-size:14px;color:#333}.ca-confirmation-row{display:flex;gap:8px}.ca-confirmation-row .ca-confirmation-key{color:#667085;min-width:140px}.ca-confirmation-row .ca-confirmation-val{color:#101828;font-weight:500}.ca-form{display:flex;flex-direction:column;gap:10px}.ca-form label{font-size:14px;font-weight:500;color:#333}.ca-form input[type=text]{width:100%;padding:10px;border:1px solid #ddd;font-size:14px;box-sizing:border-box}.ca-form input[type=text]:focus{outline:none;border-color:#004489}.ca-hint{font-size:13px;color:#667085}.ca-error{background-color:#fef2f2;border:1px solid #dc2626;color:#dc2626;padding:12px 16px;font-size:14px}.ca-actions{display:flex;gap:12px}.ca-deactivate-button{background-color:#fee;color:#c33;border:1px solid #c33;padding:10px 20px;font-size:14px;cursor:pointer;transition:all .2s}.ca-deactivate-button:hover{background-color:#c33;color:#fff}.primary-button:disabled,.ca-deactivate-button:disabled{opacity:.5;cursor:not-allowed}.tb-toolbar{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;background:#fff;padding:16px;box-shadow:0 2px 4px #0000000d}.tb-field{display:flex;flex-direction:column;gap:6px}.tb-field label{font-size:13px;font-weight:500;color:#475467}.tb-field input,.tb-field select{padding:9px 10px;border:1px solid #ddd;font-size:14px;box-sizing:border-box;background:#fff}.tb-field input:focus,.tb-field select:focus{outline:none;border-color:#004489}.tb-field--employee select{min-width:260px}.tb-field--wo select{min-width:320px}.tb-card{background:#fff;padding:20px;box-shadow:0 2px 4px #0000000d}.tb-card h3{color:#004489;font-size:16px;font-weight:600;margin:0 0 16px}.tb-form-grid{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}.tb-duration{display:flex;gap:8px;align-items:flex-end}.tb-duration .tb-field input{width:80px}.tb-checkbox{display:flex;align-items:center;gap:8px;font-size:14px;color:#333;cursor:pointer;padding-bottom:9px}.tb-checkbox input{width:16px;height:16px;cursor:pointer}.tb-summary{display:flex;justify-content:flex-end;align-items:baseline;gap:10px;padding:14px 16px;background:#f3f6f9;font-size:14px;color:#333}.tb-summary strong{color:#004489;font-size:18px}.tb-badge{display:inline-block;padding:3px 10px;font-size:12px;font-weight:600;border-radius:2px;white-space:nowrap}.tb-badge--billable{background-color:#e8f5e9;color:#2e7d32}.tb-badge--nonbillable{background-color:#eceff1;color:#607d8b}.tb-badge--created{background-color:#e8f5e9;color:#2e7d32}.tb-badge--corrected{background-color:#fff3e0;color:#e65100}.tb-badge--reversed{background-color:#fef2f2;color:#dc2626}.tb-wo-name,.tb-muted{color:#667085;font-size:12px}.tb-hint{background:#eef4fb;border-left:3px solid #004489;padding:10px 14px;font-size:13px;color:#334155;margin:0 0 16px;line-height:1.5}.tb-modal-wide{max-width:760px}.tb-error{background-color:#fef2f2;color:#dc2626;padding:12px 16px;font-size:14px}.tb-required{color:#dc2626}.cr-header-sub{margin:4px 0 0;color:#667085;font-size:13px}.cr-filter-bar{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;background:#f3f6f9;border:1px solid #e0e6ed;border-radius:8px;padding:16px}.cr-filter-bar label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;color:#475467}.cr-filter-bar input[type=date]{padding:8px 10px;border:1px solid #ddd;border-radius:4px;font-size:14px}.cr-filter-bar input[type=date]:focus{outline:none;border-color:#004489}.cr-check{flex-direction:row!important;align-items:center;gap:8px!important;padding-bottom:9px;cursor:pointer}.cr-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.cr-card{background:#fff;border:1px solid #e0e6ed;border-left:3px solid #004489;border-radius:8px;padding:14px 16px;display:flex;flex-direction:column;gap:6px}.cr-card span{color:#667085;font-size:12px;text-transform:uppercase;letter-spacing:.4px}.cr-card strong{color:#101828;font-size:22px;font-weight:600}.cr-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.data-table tfoot td{padding:12px 16px;font-weight:700;color:#004489;border-top:2px solid #004489;background:#f3f6f9}.cr-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.cr-muted{color:#98a2b3}.cr-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;border-radius:8px;padding:12px 14px;font-size:14px}.cr-loading{padding:28px;text-align:center;color:#667085}.cr-audit{border-top:1px solid #e0e6ed;padding-top:20px;display:flex;flex-direction:column;gap:16px}.cr-audit-head h3{margin:0;color:#004489;font-size:17px;font-weight:600}.cr-disclaimer{background:#fffbeb;border:1px solid #fde68a;color:#92400e;border-radius:8px;padding:12px 14px;font-size:13px;line-height:1.5}.cr-audit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.cr-panel{background:#fff;border:1px solid #e0e6ed;border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:10px}.cr-panel h4{margin:0;color:#101828;font-size:14px;font-weight:600}.cr-panel p.cr-hint{margin:0;color:#667085;font-size:12px;line-height:1.4}.cr-panel-row{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}.cr-panel-row label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#475467}.cr-panel-row input[type=date]{padding:7px 9px;border:1px solid #ddd;border-radius:4px;font-size:13px}.cr-result{border-radius:6px;padding:10px 12px;font-size:13px;line-height:1.5}.cr-result.cr-ok{background:#ecfdf3;border:1px solid #abefc6;color:#027a48}.cr-result.cr-bad{background:#fef2f2;border:1px solid #fecaca;color:#b42318}.cr-result.cr-info{background:#eff8ff;border:1px solid #b2ddff;color:#175cd3}.cr-result strong{font-weight:700}.cr-idlist{margin:6px 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;word-break:break-word}.cr-breaks{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.cr-breaks li{font-size:12px}.acc-subtabs{display:flex;gap:8px;margin:16px 0;flex-wrap:wrap;border-bottom:1px solid #e2e8f0;padding-bottom:12px}.acc-subtabs button{min-width:140px}.acc-panel{margin-top:8px}.tc-container{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:20px}.tc-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.tc-header h2{margin:0 0 6px;color:#111827;font-size:20px}.tc-header p,.tc-management-header p,.tc-event-list-main p{margin:0;color:#6b7280;font-size:14px}.tc-controls,.tc-form-actions,.tc-event-list-actions{display:flex;gap:8px;flex-wrap:wrap}.tc-event-list-actions-compact{align-items:center;align-self:center}.tc-event-list-item-compact .tc-event-list-actions-compact .tc-secondary-btn,.tc-event-list-item-compact .tc-event-list-actions-compact .tc-danger-btn{padding:6px 10px;font-size:12px}.tc-nav-btn,.tc-primary-btn,.tc-secondary-btn,.tc-danger-btn{border-radius:8px;padding:8px 12px;font-size:13px;font-weight:600;cursor:pointer}.tc-nav-btn,.tc-secondary-btn{border:1px solid #d1d5db;background:#fff;color:#374151}.tc-primary-btn{border:1px solid #1d4ed8;background:#1d4ed8;color:#fff}.tc-danger-btn{border:1px solid #fecaca;background:#fff1f2;color:#b91c1c}.tc-nav-btn:hover,.tc-secondary-btn:hover{border-color:#9ca3af;background:#f9fafb}.tc-primary-btn:hover{background:#1e40af;border-color:#1e40af}.tc-danger-btn:hover{background:#ffe4e6}.tc-management-panel{margin-bottom:20px;border:1px solid #e5e7eb;border-radius:12px;padding:16px;background:#fcfcfd}.tc-management-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.tc-section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:18px 0 14px}.tc-personal-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 8px}.tc-summary-card{border:1px solid #e5e7eb;border-radius:12px;background:linear-gradient(180deg,#fff,#f8fbff);padding:12px 14px;display:flex;flex-direction:column;gap:6px;min-height:88px}.tc-summary-label{color:#6b7280;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.tc-summary-card strong{color:#111827;font-size:15px;line-height:1.3}.tc-summary-value{color:#4b5563;font-size:13px}.tc-management-header h3,.tc-toolbar h3{margin:0 0 6px;color:#1f2937;font-size:18px}.tc-event-form{border:1px solid #e5e7eb;border-radius:12px;padding:16px;background:#fff;margin-bottom:16px}.tc-form-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px}.tc-form-grid label,.tc-notes-field{display:flex;flex-direction:column;gap:6px;color:#374151;font-size:13px;font-weight:600}.tc-form-grid input,.tc-form-grid select,.tc-notes-field textarea{border:1px solid #d1d5db;border-radius:8px;padding:10px 12px;font-size:14px;color:#111827;background:#fff}.tc-notes-field{margin-top:14px}.tc-form-checks{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px}.tc-checkbox{display:inline-flex;align-items:center;gap:8px;color:#374151;font-size:13px;font-weight:600}.tc-checkbox-stacked{align-items:center;min-height:44px}.tc-empty-state,.tc-loading,.tc-error{margin-bottom:12px;font-size:14px}.tc-error{color:#b91c1c}.tc-event-list{display:flex;flex-direction:column;gap:12px}.tc-event-list-item{display:flex;justify-content:space-between;gap:16px;border:1px solid #e5e7eb;border-radius:12px;padding:14px 16px;background:#fff}.tc-event-list-item-compact{align-items:center;padding:10px 14px}.tc-event-list-item-hidden{background:#f9fafb;border-style:dashed}.tc-inline-editor{margin-top:10px;border-top:1px solid #e5e7eb;padding-top:12px}.tc-event-list-main{display:flex;flex-direction:column;gap:6px}.tc-event-list-main-compact{gap:4px;min-width:0}.tc-event-list-main strong{color:#111827}.tc-event-list-main-compact strong{font-size:15px}.tc-helper-text{color:#6b7280;font-size:13px}.tc-event-list-item-compact .tc-helper-text,.tc-event-list-item-compact .tc-event-period{font-size:12px}.tc-event-list-top{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.tc-event-list-top-compact{gap:6px}.tc-holiday-title-row,.tc-holiday-meta-line{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}.tc-holiday-meta-line{color:#6b7280;font-size:12px}.tc-badge,.tc-inline-note,.tc-legend-item{border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.tc-badge-holiday,.tc-legend-company-holiday{background:#dbeafe;color:#1d4ed8}.tc-legend-visit-exception{background:#ffedd5;color:#c2410c}.tc-badge-shutdown,.tc-legend-shutdown{background:#fee2e2;color:#b91c1c}.tc-badge-company-event{background:#ede9fe;color:#6d28d9}.tc-inline-note{background:#f3f4f6;color:#4b5563}.tc-event-list-item-compact .tc-inline-note{padding:3px 8px}.tc-event-period{color:#4b5563;font-size:13px;font-weight:600}.tc-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.tc-legend{display:flex;gap:8px;flex-wrap:wrap}.tc-legend-holiday{background:#e0f2fe;color:#0369a1}.tc-legend-approved{background:#dcfce7;color:#166534}.tc-legend-pending{background:#fef3c7;color:#92400e}.tc-grid-wrap{overflow-x:auto}.tc-day-details{border:1px solid #e5e7eb;border-radius:14px;padding:14px 16px;background:linear-gradient(180deg,#fff,#f8fbff);margin-bottom:14px}.tc-day-details-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.tc-day-details-label{display:inline-block;margin-bottom:4px;color:#6b7280;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.tc-day-details-header h3{margin:0 0 6px;color:#111827;font-size:18px}.tc-day-details-header p{margin:0;color:#6b7280;font-size:13px}.tc-day-details-stats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.tc-day-details-stat{border-radius:999px;padding:4px 10px;background:#eef2ff;color:#3730a3;font-size:12px;font-weight:700}.tc-day-details-stat-warning{background:#fef3c7;color:#92400e}.tc-day-details-stat-blocking{background:#fee2e2;color:#b91c1c}.tc-day-details-stat-exception{background:#ffedd5;color:#c2410c}.tc-visit-exception-panel{margin-bottom:12px;border:1px solid #fed7aa;border-radius:14px;padding:12px;background:#fff7ed}.tc-visit-exception-panel-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.tc-visit-exception-panel-header h4{margin:2px 0 0;color:#9a3412;font-size:15px}.tc-visit-exception-count{border-radius:999px;padding:4px 10px;background:#ffedd5;color:#9a3412;font-size:12px;font-weight:700}.tc-visit-exception-timeline{display:flex;flex-direction:column;gap:10px}.tc-visit-exception-step{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;align-items:stretch}.tc-visit-exception-rail{position:relative;display:flex;justify-content:center}.tc-visit-exception-dot{width:10px;height:10px;margin-top:7px;border-radius:999px;background:#fb923c;box-shadow:0 0 0 4px #fb923c33}.tc-visit-exception-line{position:absolute;top:18px;bottom:-10px;width:2px;border-radius:999px;background:linear-gradient(180deg,#fdba74,#fed7aa)}.tc-visit-exception-card{display:flex;flex-direction:column;gap:4px;border:1px solid #fed7aa;border-radius:12px;padding:10px 12px;background:#fff}.tc-visit-exception-card strong{color:#7c2d12;font-size:14px}.tc-visit-exception-card-top{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap}.tc-visit-exception-date{color:#9a3412;font-size:12px;font-weight:700}.tc-visit-exception-action{align-self:flex-start;border:1px solid #fdba74;border-radius:999px;padding:5px 10px;background:#fff7ed;color:#9a3412;font-size:12px;font-weight:700;cursor:pointer;transition:background-color .15s ease,transform .15s ease}.tc-visit-exception-action:hover{background:#ffedd5;transform:translateY(-1px)}.tc-event-chip{display:inline-flex;width:fit-content;align-items:center;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.tc-event-chip-default{background:#ffedd5;color:#9a3412}.tc-event-chip-skipped{background:#fee2e2;color:#b91c1c}.tc-event-chip-rescheduled{background:#dbeafe;color:#1d4ed8}.tc-event-chip-substitute{background:#dcfce7;color:#166534}.tc-event-chip-wrong-site{background:#fef3c7;color:#92400e}.tc-event-chip-override{background:#ede9fe;color:#6d28d9}.tc-event-subtitle{color:#9a3412;font-size:12px;line-height:1.45}.tc-day-details-list{display:flex;flex-direction:column;gap:8px}.tc-day-details-empty{padding:12px 14px;border:1px dashed #d1d5db;border-radius:10px;background:#fff;color:#6b7280;font-size:13px}.tc-day-detail-item{display:flex;justify-content:space-between;gap:12px;border:1px solid #e5e7eb;border-radius:10px;padding:10px 12px;background:#fff}.tc-day-detail-main{display:flex;flex-direction:column;gap:6px;min-width:0}.tc-day-detail-main strong{color:#111827;font-size:14px}.tc-day-detail-meta{color:#6b7280;font-size:12px;line-height:1.45}.tc-weekdays,.tc-grid{display:grid;grid-template-columns:repeat(7,minmax(140px,1fr))}.tc-weekday{padding:10px 12px;background:#f9fafb;color:#6b7280;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e5e7eb}.tc-cell{min-height:132px;border-right:1px solid #f3f4f6;border-bottom:1px solid #f3f4f6;padding:10px 10px 12px;background:#fff;cursor:pointer;transition:background-color .15s ease,box-shadow .15s ease,transform .15s ease;outline:none}.tc-cell:hover{background:#f9fbff}.tc-cell:focus-visible{box-shadow:inset 0 0 0 2px #60a5fa}.tc-cell:nth-child(7n){border-right:none}.tc-cell-outside{background:#fafafa}.tc-cell-today{background:#f8fbff;box-shadow:inset 0 0 0 1px #bfdbfe}.tc-cell-selected{background:#eff6ff;box-shadow:inset 0 0 0 2px #2563eb}.tc-cell-risk-warning{box-shadow:inset 0 0 0 1px #fde68a}.tc-cell-risk-blocking{box-shadow:inset 0 0 0 1px #fca5a5}.tc-cell-header{display:flex;justify-content:flex-end;margin-bottom:8px}.tc-cell-header span{font-size:12px;font-weight:700;color:#374151}.tc-events{display:flex;flex-direction:column;gap:6px}.tc-day-signals{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.tc-day-signal{border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.tc-day-signal-dayoff{background:#e0f2fe;color:#0369a1}.tc-day-signal-away{background:#dcfce7;color:#166534}.tc-day-signal-pending,.tc-day-signal-warning{background:#fef3c7;color:#92400e}.tc-day-signal-exception{background:#ffedd5;color:#c2410c}.tc-day-signal-blocking{background:#fee2e2;color:#b91c1c}.tc-event{border:none;border-radius:8px;padding:6px 8px;font-size:12px;font-weight:600;line-height:1.35;text-align:left}.tc-event:disabled{cursor:default;opacity:1}.tc-event-clickable{cursor:pointer;box-shadow:inset 0 0 0 1px #1d4ed833}.tc-event-clickable:hover{transform:translateY(-1px);box-shadow:inset 0 0 0 1px #1d4ed859}.tc-event-holiday{background:#e0f2fe;color:#0369a1}.tc-event-company-holiday{background:#dbeafe;color:#1d4ed8}.tc-event-shutdown{background:#fee2e2;color:#b91c1c}.tc-event-company-event{background:#ede9fe;color:#6d28d9}.tc-event-visit-exception{background:#ffedd5;color:#c2410c}.tc-event-visit-exception-compact{display:flex;flex-direction:column;gap:4px;padding:8px 10px}.tc-event-visit-exception-compact strong{font-size:12px;line-height:1.3}.tc-event-approved{background:#dcfce7;color:#166534}.tc-event-pending{background:#fef3c7;color:#92400e}.tc-more{color:#6b7280;font-size:12px;font-weight:600}.tc-ops-note{margin-bottom:14px}@media(max-width:900px){.tc-header,.tc-toolbar,.tc-management-header,.tc-event-list-item{flex-direction:column;align-items:flex-start}.tc-personal-summary,.tc-form-grid{grid-template-columns:1fr}.tc-event-list-item-compact,.tc-event-list-item{flex-direction:column;align-items:flex-start}.tc-event-list-actions{align-self:stretch}.tc-event-list-item-compact .tc-secondary-btn,.tc-event-list-item-compact .tc-danger-btn{flex:1 1 auto}}.dashboard-wrapper{display:flex;min-height:100vh;background-color:#f3f6f9}.sidebar{width:250px;background:#fff;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;transition:width .3s ease;box-shadow:2px 0 4px #0000000d}.sidebar.collapsed{width:70px}.sidebar-header{padding:20px;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.sidebar-logo{font-size:18px;font-weight:600;color:#004489;margin:0;white-space:nowrap;overflow:hidden}.sidebar.collapsed .sidebar-logo{display:none}.sidebar-toggle{background:transparent;border:none;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:all .2s;flex-shrink:0}.hamburger-icon{display:flex;flex-direction:column;gap:4px;width:20px;height:16px;justify-content:space-between}.hamburger-icon span{display:block;height:2px;width:100%;background-color:#004489;transition:all .3s ease}.sidebar-toggle:hover .hamburger-icon span{background-color:#036}.sidebar-nav{flex:1;padding:20px 0;display:flex;flex-direction:column;gap:8px}.sidebar-nav-group{display:flex;flex-direction:column;gap:4px;margin-top:4px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 20px;background:none;border:none;text-align:left;cursor:pointer;color:#666;font-size:14px;transition:all .2s;border-left:3px solid transparent}.nav-icon{width:18px;height:18px;flex-shrink:0;display:block}.nav-item:hover{background:#f3f6f9;color:#004489}.nav-item.active{background:#f3f6f9;color:#004489;border-left-color:#004489;font-weight:500}.nav-group-item{margin-top:2px}.sidebar-subnav{display:flex;flex-direction:column;gap:2px;margin-left:12px;padding-left:10px;border-left:1px solid #eef2f7}.sidebar-subnav .nav-item{padding:10px 16px;font-size:13px;border-left-width:2px}.sidebar-subnav .nav-item .nav-icon{width:16px;height:16px}.sidebar-subnav .nav-item.active{background:#eef4ff;color:#004489;border-left-color:#004489}.nav-label{white-space:nowrap;overflow:hidden}.sidebar.collapsed .nav-label{display:none}.sidebar.collapsed .nav-item{justify-content:center;padding:12px 20px}.sidebar.collapsed .sidebar-subnav{margin-left:0;padding-left:0;border-left:none}.sidebar.collapsed .sidebar-subnav .nav-item{justify-content:center;padding:10px 20px}.sidebar.collapsed .sidebar-subnav .nav-item .nav-icon{width:18px;height:18px}.sidebar-footer{padding:20px;border-top:1px solid #e0e0e0}.user-info-sidebar{display:flex;flex-direction:column;gap:12px}.company-name-sidebar{font-size:14px;font-weight:600;color:#004489;word-break:break-word;padding:8px 0;border-bottom:1px solid #e0e0e0;margin-bottom:4px}.user-email{font-size:12px;color:#666;word-break:break-word}.sidebar-logout{background:#004489;color:#fff;border:none;padding:8px 16px;font-size:14px;cursor:pointer;transition:background-color .2s;width:100%}.sidebar-logout:hover{background:#036}.sidebar.collapsed .user-info-sidebar{align-items:center}.sidebar.collapsed .company-name-sidebar,.sidebar.collapsed .user-email{display:none}.sidebar.collapsed .sidebar-logout{width:auto;padding:8px;min-width:32px}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.content-header{background:#fff;padding:24px 32px;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px #0000000d;display:flex;justify-content:space-between;align-items:center}.page-title{font-size:24px;font-weight:600;color:#004489;margin:0}.user-info-header{display:flex;align-items:center;gap:16px}.user-name-role{display:flex;flex-direction:column;gap:4px;align-items:flex-end}.user-name{font-size:14px;font-weight:600;color:#333}.user-role{font-size:12px;color:#004489;font-weight:400}.content-body{flex:1;padding:32px;overflow-y:auto}.dashboard-welcome{display:flex;flex-direction:column;gap:16px}.dashboard-welcome h2{color:#004489;font-size:28px;font-weight:600;margin:0 0 20px}.company-info{font-size:16px;color:#333;margin:16px 0}.company-info strong{color:#004489;font-weight:600}.coming-soon{color:#666;font-size:14px;margin-top:24px;font-style:italic}.loading{display:flex;justify-content:center;align-items:center;min-height:100vh;color:#666;font-size:16px}@media(max-width:768px){.sidebar{position:fixed;left:0;top:0;bottom:0;z-index:1000;transform:translate(-100%)}.sidebar:not(.collapsed){transform:translate(0)}.main-content{margin-left:0}.content-header{flex-direction:column;align-items:flex-start;gap:16px}.user-info-header{width:100%}.user-name-role{align-items:flex-start}}.missed-wrapper{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:20px}.missed-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.missed-header h2{margin:0 0 6px;color:#111827;font-size:22px}.missed-header p{margin:0;color:#6b7280;font-size:14px}.missed-refresh{border:1px solid #d1d5db;background:#fff;color:#374151;border-radius:8px;padding:8px 12px;font-size:13px;font-weight:600;cursor:pointer}.missed-refresh:hover:not(:disabled){border-color:#9ca3af;background:#f9fafb}.missed-refresh:disabled{opacity:.6;cursor:not-allowed}.missed-error{color:#b91c1c;background:#fff7f7;border:1px solid #fecaca;border-radius:10px;padding:10px 12px;font-size:14px}.missed-section{border:1px solid #e5e7eb;border-radius:12px;padding:16px;background:#fcfcfd}.missed-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.missed-section-header h3{margin:0;color:#1f2937;font-size:16px}.missed-count{border-radius:999px;padding:4px 10px;background:#f3f4f6;color:#374151;font-size:12px;font-weight:700}.missed-empty{margin:0;color:#6b7280;font-size:14px}.missed-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.missed-item{border:1px solid #e5e7eb;border-radius:10px;padding:12px 14px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;background:#fff}.missed-item-main{display:flex;flex-direction:column;gap:6px;min-width:0}.missed-item-main strong{color:#111827;font-size:14px}.missed-item-main small{color:#4b5563;font-size:12px}.missed-meta{display:flex;flex-wrap:wrap;gap:8px;color:#6b7280;font-size:12px;font-weight:600}.missed-meta span{background:#f3f4f6;color:#374151;border-radius:999px;padding:3px 9px}.missed-overdue{background:#fee2e2!important;color:#b91c1c!important}.missed-badge{background:#e0e7ff!important;color:#3730a3!important}.missed-badge-ok{background:#dcfce7!important;color:#166534!important}.missed-declare{border:1px solid #f59e0b;background:#f59e0b;color:#111827;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}.missed-declare:hover:not(:disabled){background:#d97706;border-color:#d97706;color:#fff}.missed-declare:disabled{opacity:.6;cursor:not-allowed}.missed-time{color:#6b7280;font-size:12px;white-space:nowrap}.missed-list-reports .missed-item{background:#fafafa}.missed-modal-backdrop{position:fixed;inset:0;background:#11182780;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.missed-modal{background:#fff;border-radius:14px;padding:24px;max-width:480px;width:100%;box-shadow:0 10px 30px #0003;display:flex;flex-direction:column;gap:14px}.missed-modal h3{margin:0;color:#111827;font-size:18px}.missed-modal-subject{margin:0;color:#374151;font-size:14px;font-weight:600}.missed-modal-note{margin:0;color:#6b7280;font-size:13px;line-height:1.5}.missed-modal-field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#374151;font-weight:600}.missed-modal-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.missed-modal-field input[type=time],.missed-modal-field select,.missed-modal-field textarea{border:1px solid #d1d5db;border-radius:8px;padding:8px 10px;font-size:14px;font-family:inherit;color:#111827;background:#fff;resize:vertical}.missed-modal-checkbox{display:flex;align-items:center;gap:8px;font-size:13px;color:#374151}.missed-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.missed-modal-actions button{border:1px solid #d1d5db;background:#fff;color:#374151;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer}.missed-modal-actions button:hover:not(:disabled){background:#f9fafb}.missed-modal-actions .missed-declare{border-color:#f59e0b;background:#f59e0b;color:#111827}.missed-modal-actions .missed-declare:hover:not(:disabled){background:#d97706;border-color:#d97706;color:#fff}@media(max-width:700px){.missed-header,.missed-item{flex-direction:column;align-items:flex-start}}.emp-section{padding:0}.emp-filter-bar{display:flex;align-items:flex-end;gap:16px;margin-bottom:20px;flex-wrap:wrap}.emp-filter-bar label{display:flex;flex-direction:column;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;gap:4px}.emp-filter-bar input[type=date]{padding:7px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff}.emp-btn-primary{padding:8px 18px;background:#4f46e5;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s}.emp-btn-primary:hover{background:#4338ca}.emp-btn-primary:disabled{background:#a5b4fc;cursor:not-allowed}.emp-btn-secondary{padding:6px 12px;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer}.emp-btn-secondary:disabled{opacity:.6;cursor:not-allowed}.emp-attendance-table-wrap{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;background:#fff}.emp-attendance-row{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr .8fr;padding:10px 16px;font-size:14px;border-bottom:1px solid #f3f4f6;align-items:center}.emp-attendance-row:last-child{border-bottom:none}.emp-attendance-header.emp-attendance-row{background:#f9fafb;font-weight:700;font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.emp-attendance-row:not(.emp-attendance-header):hover{background:#f9fafb}.emp-net-hours{font-weight:600;color:#111827}.emp-section-toolbar{margin-bottom:20px}.emp-leave-balance-card{background:linear-gradient(135deg,#eef4ff,#fff);border:1px solid #dbe7ff;border-radius:12px;padding:18px 20px;margin-bottom:20px}.emp-leave-balance-card h3{margin:0 0 8px;color:#1f2937;font-size:18px}.emp-leave-balance-card p{margin:0;color:#4b5563;font-size:14px}.emp-leave-balance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-top:14px}.emp-leave-balance-grid span{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:10px 12px;font-size:13px;font-weight:600;color:#374151}.emp-leave-list{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;background:#fff;margin-top:16px}.emp-leave-row{display:grid;grid-template-columns:.8fr 1.8fr .5fr .8fr 1fr 1.3fr .8fr;padding:10px 16px;font-size:14px;border-bottom:1px solid #f3f4f6;align-items:center;gap:8px}.emp-leave-row:last-child{border-bottom:none}.emp-leave-header.emp-leave-row{background:#f9fafb;font-weight:700;font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.emp-leave-row:not(.emp-leave-header):hover{background:#f9fafb}.emp-leave-type{font-weight:600;color:#374151}.emp-review-note{color:#6b7280;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.emp-status-stack{display:flex;flex-direction:column;gap:4px}.emp-stage-label{color:#6b7280;font-size:12px;line-height:1.35}.emp-stage-overdue{color:#b45309;font-size:12px;font-weight:600;line-height:1.35}.emp-approval-trail{display:flex;flex-direction:column;gap:2px}.emp-approval-step{color:#6b7280;font-size:11px;line-height:1.35}.emp-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}.emp-badge-active{background:#d1fae5;color:#065f46}.emp-badge-done{background:#f3f4f6;color:#374151}.emp-badge-pending{background:#fef3c7;color:#92400e}.emp-badge-approved{background:#d1fae5;color:#065f46}.emp-badge-rejected{background:#fee2e2;color:#991b1b}.emp-badge-cancelled{background:#e5e7eb;color:#374151}.emp-badge-needs-changes{background:#fef3c7;color:#92400e}.emp-leave-form{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px 24px;margin-bottom:24px;max-width:560px}.emp-leave-form h3{margin:0 0 16px;font-size:16px;color:#111827}.emp-form-error{background:#fee2e2;color:#991b1b;border-radius:6px;padding:8px 12px;font-size:13px;margin-bottom:14px}.emp-form-row{margin-bottom:14px}.emp-form-row label{display:flex;flex-direction:column;font-size:13px;font-weight:600;color:#374151;gap:5px}.emp-form-row select,.emp-form-row input[type=date],.emp-form-row input[type=file],.emp-form-row textarea{padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff;font-family:inherit;resize:vertical}.emp-form-dates{display:grid;grid-template-columns:1fr 1fr;gap:16px}.emp-form-dates label{display:flex;flex-direction:column;font-size:13px;font-weight:600;color:#374151;gap:5px}.emp-form-actions{margin-top:16px}.emp-form-hint{margin-top:6px;font-size:12px;color:#6b7280}.emp-form-hint-attention{color:#92400e;font-weight:600}.emp-review-feedback{margin-bottom:14px;border:1px solid #fde68a;background:#fffbeb;border-radius:8px;padding:10px 12px;font-size:13px;color:#92400e}.emp-leave-preview{margin-top:14px;border:1px solid #dbe7ff;background:#f8fbff;border-radius:10px;padding:12px 14px}.emp-leave-preview p{margin:0 0 6px;font-size:13px;color:#374151}.emp-leave-preview p:last-child{margin-bottom:0}.emp-coverage-preview{margin-top:10px;border-radius:8px;padding:10px 12px}.emp-coverage-preview strong{display:block;margin-bottom:6px;font-size:13px}.emp-coverage-preview-warning{border:1px solid #facc15;background:#fffbea}.emp-coverage-preview-blocking{border:1px solid #fca5a5;background:#fef2f2}.emp-coverage-item{font-size:12px;color:#374151;margin-top:4px}.emp-coverage-trail{margin-top:8px;display:flex;flex-direction:column;gap:4px}.emp-coverage-step{font-size:11px;font-weight:500}.emp-coverage-trail.warning .emp-coverage-step{color:#92400e}.emp-coverage-trail.blocking .emp-coverage-step{color:#b42318}.emp-loading{color:#6b7280;font-size:14px;padding:32px 0;text-align:center}.emp-empty{color:#9ca3af;font-size:14px;padding:48px 0;text-align:center}.emp-action-stack{display:flex;gap:8px;flex-wrap:wrap}.emp-attachment-label{margin-top:4px;font-size:11px;font-weight:500;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:768px){.emp-attendance-row{grid-template-columns:1fr 1fr 1fr;font-size:13px}.emp-attendance-row span:nth-child(4),.emp-attendance-row span:nth-child(5){display:none}.emp-leave-row{grid-template-columns:1fr 1fr 1fr 1fr;font-size:13px}.emp-leave-row span:nth-child(5),.emp-leave-row span:nth-child(6),.emp-leave-row span:nth-child(7){display:none}.emp-form-dates{grid-template-columns:1fr}}.mv{margin-bottom:24px}.mv-title{font-size:1.25rem;margin:0 0 12px}.mv-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;border-radius:8px;padding:10px 14px;margin-bottom:10px}.mv-info{color:#64748b;padding:16px}.mv-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px;margin-bottom:12px}.mv-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.mv-client{color:#64748b}.mv-badge{font-size:.76rem;font-weight:700;padding:3px 10px;border-radius:12px;white-space:nowrap}.mv-badge.ok{background:#dcfce7;color:#15803d}.mv-badge.done{background:#dbeafe;color:#1e40af}.mv-badge.open{background:#fef9c3;color:#854d0e}.mv-checklist{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:2px}.mv-check{display:flex;align-items:center;gap:12px;padding:10px 6px;font-size:1rem;cursor:pointer}.mv-check input{width:26px;height:26px;flex-shrink:0}.mv-req{color:#dc2626}.mv-actions{display:flex;gap:10px;flex-wrap:wrap}.mv-btn{padding:12px 18px;font-size:1rem;font-weight:600;border:1px solid #cbd5e1;border-radius:10px;background:#f1f5f9;color:#1e293b;cursor:pointer;min-height:48px}.mv-btn:hover:not(:disabled){background:#e2e8f0}.mv-btn:disabled{opacity:.5;cursor:not-allowed}.mv-primary{background:#16a34a;border-color:#16a34a;color:#fff}.mv-primary:hover:not(:disabled){background:#15803d}.mv-accent{background:#2563eb;border-color:#2563eb;color:#fff}.mv-accent:hover:not(:disabled){background:#1d4ed8}.mv-modal{position:fixed;inset:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;z-index:1000;padding:12px}.mv-modal-box{background:#fff;border-radius:14px;padding:18px;width:100%;max-width:480px;max-height:92vh;overflow-y:auto}.mv-modal-box h3{margin:0 0 14px}.mv-modes{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.mv-mode{padding:16px;font-size:1.05rem;font-weight:600;border:2px solid #e2e8f0;border-radius:12px;background:#fff;cursor:pointer;text-align:left;min-height:56px}.mv-mode.sel{border-color:#2563eb;background:#eff6ff;color:#1e40af}.mv-field{display:flex;flex-direction:column;gap:5px;font-size:.85rem;color:#475569;margin-bottom:12px}.mv-field input,.mv-field textarea{border:1px solid #cbd5e1;border-radius:8px;padding:10px;font-size:1rem;font-family:inherit}.mv-photo{max-width:100%;max-height:180px;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:12px}.mv-more{background:none;border:none;color:#2563eb;cursor:pointer;font-size:.9rem;padding:6px 0;margin-bottom:8px}.mv-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.employee-overtime{display:grid;gap:1.5rem}.employee-overtime-balance{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.employee-overtime-balance-card,.employee-overtime-form-card,.employee-overtime-list-card{background:#fff;border:1px solid #e7e5e4;border-radius:18px;box-shadow:0 18px 45px #0f172a0f}.employee-overtime-balance-card{padding:1rem 1.1rem}.employee-overtime-balance-card span{display:block;color:#57534e;font-size:.95rem}.employee-overtime-balance-card strong{display:block;margin-top:.35rem;font-size:1.5rem;color:#111827}.employee-overtime-balance-note{grid-column:1 / -1;margin:0;color:#57534e}.employee-overtime-form-card,.employee-overtime-list-card{padding:1.4rem}.employee-overtime-form-header h3{margin:0 0 .35rem}.employee-overtime-form-header p{margin:0;color:#57534e}.employee-overtime-form{display:grid;gap:1rem;margin-top:1.2rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.employee-overtime-form label{display:grid;gap:.45rem;font-weight:600;color:#1f2937}.employee-overtime-form input,.employee-overtime-form select,.employee-overtime-form textarea{width:100%;border:1px solid #d6d3d1;border-radius:12px;padding:.8rem .9rem;font:inherit;background:#fff}.employee-overtime-form-full{grid-column:1 / -1}.employee-overtime-actions{display:flex;gap:.75rem}.employee-overtime-error{grid-column:1 / -1;border-radius:12px;background:#fef2f2;color:#b91c1c;padding:.85rem 1rem}.employee-overtime-empty{margin-top:1rem;color:#57534e}.employee-overtime-list{display:grid;gap:1rem;margin-top:1.2rem}.employee-overtime-item{border:1px solid #e7e5e4;border-radius:16px;padding:1rem;background:#fcfcfd}.employee-overtime-item-main{display:flex;justify-content:space-between;gap:1rem}.employee-overtime-item-main strong,.employee-overtime-item-main span{display:block}.employee-overtime-item-main span{color:#57534e;margin-top:.25rem}.employee-overtime-metrics,.employee-overtime-meta{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;margin-top:.85rem;color:#374151}.employee-overtime-reason{margin:.85rem 0 0;color:#1f2937}.employee-overtime-status{align-self:flex-start;padding:.35rem .7rem;border-radius:999px;font-weight:700;font-size:.85rem}.employee-overtime-status-pending{background:#fff7ed;color:#c2410c}.employee-overtime-status-approved{background:#ecfdf5;color:#047857}.employee-overtime-status-rejected{background:#fef2f2;color:#b91c1c}.employee-overtime-status-cancelled{background:#f3f4f6;color:#4b5563}.pref-form{display:flex;flex-direction:column;gap:1.5rem;max-width:640px}.pref-section{background:#fff;border:1px solid #e5e5e5;border-radius:8px;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.75rem}.pref-section h3{margin:0;font-size:1.05rem;color:#1a1a1a}.pref-hint{margin:0;font-size:.85rem;color:#666}.pref-row{display:flex;align-items:center;gap:.75rem;font-size:.95rem;color:#222}.pref-row-times{flex-wrap:wrap}.pref-row-times label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:#555}.pref-row input[type=time],.pref-row input[type=number],.pref-row select{padding:.4rem .6rem;border:1px solid #ccc;border-radius:4px;font-size:.95rem}.pref-row input[type=time]:disabled{background-color:#f5f5f5;color:#aaa}.pref-inline-hint{font-size:.8rem;color:#888}.pref-message{padding:.75rem 1rem;border-radius:6px;font-size:.9rem}.pref-message-error{background-color:#ffe9e9;color:#7a1c1c;border:1px solid #d73a3a}.pref-message-success{background-color:#e6f7e6;color:#1b5e1f;border:1px solid #2e9e44}.pref-actions{display:flex;justify-content:flex-end}.pref-submit{padding:.6rem 1.5rem;background-color:#1976d2;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.95rem;font-weight:500}.pref-submit:hover{background-color:#1457a6}.pref-submit:disabled{opacity:.6;cursor:not-allowed}.pref-loading{padding:2rem;color:#666;text-align:center}.system-problem-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .75rem;border-radius:999px;font-size:.8rem;font-weight:600;text-decoration:none;white-space:nowrap;border:1px solid transparent;transition:background-color .15s ease}.system-problem-badge:hover{filter:brightness(.95)}.system-problem-badge-warning{background:#fef3c7;color:#92400e;border-color:#fbbf24}.system-problem-badge-error{background:#fee2e2;color:#991b1b;border-color:#f87171}.system-problem-badge-dot{width:8px;height:8px;border-radius:50%;background:currentColor;animation:system-problem-pulse 1.5s ease-in-out infinite}@keyframes system-problem-pulse{0%,to{opacity:1}50%{opacity:.4}}.system-problem-badge-text{line-height:1}.employee-details-overlay{position:fixed;inset:0;background:#0f172a7a;display:flex;align-items:center;justify-content:center;z-index:1400;padding:24px}.employee-details-modal{width:min(1180px,100%);max-height:calc(100vh - 48px);background:#fff;border-radius:16px;box-shadow:0 20px 50px #0f172a3d;display:flex;flex-direction:column;overflow:hidden}.employee-details-page-shell{width:min(1280px,100%);margin:0 auto;background:#fff;border-radius:16px;box-shadow:0 20px 50px #0f172a1f;overflow:hidden}.employee-details-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:24px 28px 18px;border-bottom:1px solid #e7edf4;background:linear-gradient(180deg,#f7fbff,#fff)}.employee-details-header h2{margin:0 0 6px;color:#004489;font-size:24px}.employee-details-header p{margin:0;color:#526071;font-size:14px}.employee-details-close{border:none;background:transparent;color:#526071;font-size:28px;line-height:1;cursor:pointer;padding:0}.employee-details-back{border:1px solid #004489;background:#fff;color:#004489;border-radius:8px;padding:10px 14px;font-size:13px;font-weight:600;cursor:pointer}.employee-details-tabs{display:flex;gap:8px;padding:14px 28px 0;border-bottom:1px solid #e7edf4;overflow-x:auto}.employee-details-tab{border:none;background:transparent;color:#526071;font-size:14px;font-weight:600;padding:10px 14px;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap}.employee-details-tab.active{color:#004489;border-bottom-color:#004489}.employee-details-body{padding:24px 28px 28px;overflow-y:auto;background:#f7f9fc}.employee-details-loading,.employee-details-error,.employee-details-empty{background:#fff;border:1px solid #e7edf4;border-radius:12px;padding:28px;text-align:center;color:#526071}.employee-details-error{color:#b42318;background:#fff6f5;border-color:#f3d2cf}.employee-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.employee-details-card{background:#fff;border:1px solid #e7edf4;border-radius:12px;padding:18px 20px}.employee-details-card-span-2{grid-column:1 / -1}.employee-details-card h3{margin:0 0 16px;color:#0f172a;font-size:16px}.employee-details-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}.employee-details-label{color:#667085;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.employee-details-value{color:#101828;font-size:14px;font-weight:500}.employee-details-metric{color:#004489;font-size:30px;font-weight:700;line-height:1.1}.employee-details-submetric{color:#667085;font-size:13px;margin-top:4px}.employee-details-chip-row{display:flex;flex-wrap:wrap;gap:10px}.employee-details-chip{border-radius:999px;padding:8px 12px;background:#eef2f6;color:#526071;font-size:13px;font-weight:600}.employee-details-chip.active{background:#dff2e6;color:#155d36}.employee-details-chip.exception-status-pending{background:#fef3c7;color:#92400e}.employee-details-chip.exception-status-rejected{background:#fee2e2;color:#b91c1c}.employee-details-section{display:flex;flex-direction:column;gap:16px}.employee-details-filter-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.employee-details-filter-bar label{display:flex;flex-direction:column;gap:6px;color:#344054;font-size:13px;font-weight:500}.employee-details-filter-bar input{min-width:160px;padding:10px 12px;border:1px solid #d0d5dd;border-radius:8px;font:inherit;background:#fff}.employee-details-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 16px}.employee-details-form-grid label,.employee-details-full-width-field{display:flex;flex-direction:column;gap:6px;color:#344054;font-size:13px;font-weight:500}.employee-details-form-grid input,.employee-details-form-grid select,.employee-details-full-width-field textarea{width:100%;padding:10px 12px;border:1px solid #d0d5dd;border-radius:8px;font:inherit;background:#fff}.employee-details-full-width-field{margin-top:16px}.employee-details-checkbox-field{justify-content:flex-end}.employee-details-checkbox-field input{width:auto;margin-right:8px}.employee-details-weekday-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:10px}.employee-details-weekday-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #d0d5dd;border-radius:10px;background:#fff;color:#344054;font-size:13px;font-weight:600;cursor:pointer}.employee-details-weekday-pill input{width:auto;margin:0}.employee-details-action-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.employee-details-inline-summary{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px;color:#526071;font-size:13px}.employee-details-inline-error{margin-top:16px;padding:12px 14px;border:1px solid #f3d2cf;border-radius:8px;background:#fff6f5;color:#b42318;font-size:13px}.employee-details-form-actions{display:flex;gap:10px;margin-top:18px}.employee-details-primary-btn,.employee-details-danger-btn{border-radius:8px;padding:10px 14px;font-size:13px;font-weight:600;cursor:pointer}.employee-details-primary-btn{border:1px solid #004489;background:#004489;color:#fff}.employee-details-danger-btn{border:1px solid #b42318;background:#fff;color:#b42318}.employee-details-row-actions{display:flex;gap:8px}.employee-details-secondary-btn{border:1px solid #004489;background:#fff;color:#004489;border-radius:8px;padding:10px 14px;font-size:13px;font-weight:600;cursor:pointer}.employee-details-secondary-btn:disabled{opacity:.6;cursor:not-allowed}.employee-details-table-wrap{overflow-x:auto}.employee-details-table{width:100%;border-collapse:collapse;font-size:14px}.employee-details-table th,.employee-details-table td{text-align:left;padding:12px 10px;border-bottom:1px solid #eef2f6;vertical-align:top}.employee-details-table th{color:#475467;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.employee-details-list{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}.employee-details-list.compact li{color:#344054;font-size:14px}.employee-details-list-item{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #eef2f6}.employee-details-list-item:last-child{border-bottom:none;padding-bottom:0}.employee-details-list-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;color:#667085;font-size:12px;text-align:right}.employee-details-muted{color:#667085;font-size:13px;margin-top:4px}.employee-details-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700}.employee-details-badge-approved{background:#e8f5e9;color:#1b5e20}.employee-details-badge-rejected{background:#ffebee;color:#b42318}.employee-details-badge-pending{background:#fff4e5;color:#8a5300}@media(max-width:900px){.employee-details-overlay{padding:12px}.employee-details-modal{max-height:calc(100vh - 24px)}.employee-details-header,.employee-details-body,.employee-details-tabs{padding-left:18px;padding-right:18px}.employee-details-grid,.employee-details-form-grid,.employee-details-two-column{grid-template-columns:1fr}.employee-details-card-span-2{grid-column:auto}.employee-details-list-item{flex-direction:column}.employee-details-list-meta{align-items:flex-start;text-align:left}}.employee-details-page{min-height:100vh;background:linear-gradient(180deg,#f3f7fb,#eef3f8);padding:24px}.cpm{margin-top:20px;border-top:2px solid #e2e8f0;padding-top:16px}.cpm-title{font-size:1.1rem;margin:0 0 12px;color:#1e293b}.cpm-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;border-radius:6px;padding:8px 12px;margin-bottom:10px;font-size:.85rem}.cpm-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cpm-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px 14px;margin-bottom:12px}.cpm-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.cpm-card-head h4{margin:0;font-size:.95rem}.cpm-monthly{display:flex;gap:6px;align-items:center}.cpm-monthly input[type=month]{border:1px solid #cbd5e1;border-radius:6px;padding:3px 6px;font-size:.76rem}.cpm-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.cpm-row{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.85rem;padding:6px 8px;background:#fff;border:1px solid #f1f5f9;border-radius:6px}.cpm-row-side{display:flex;gap:6px;align-items:center}.cpm-empty{color:#94a3b8;font-size:.85rem;padding:6px}.cpm-muted{color:#94a3b8}.cpm-badge{font-size:.7rem;font-weight:600;padding:1px 8px;border-radius:10px}.cpm-badge.ok{background:#dcfce7;color:#15803d}.cpm-badge.off{background:#f1f5f9;color:#64748b}.cpm-issued{background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;padding:8px 10px;margin-bottom:10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.cpm-issued-label{font-size:.78rem;color:#1e40af;width:100%}.cpm-link{font-size:.78rem;background:#fff;padding:4px 8px;border-radius:4px;border:1px solid #cbd5e1;flex:1;overflow-wrap:anywhere}.cpm-btn{background:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;padding:5px 11px;font-size:.8rem;cursor:pointer;color:#1e293b}.cpm-btn:hover:not(:disabled){background:#e2e8f0}.cpm-btn:disabled{opacity:.5;cursor:not-allowed}.cpm-primary{background:#2563eb;border-color:#2563eb;color:#fff}.cpm-primary:hover:not(:disabled){background:#1d4ed8}.cpm-sm{padding:3px 8px;font-size:.74rem}.cpm-modal{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.cpm-modal-box{background:#fff;border-radius:10px;padding:18px;width:100%;max-width:460px;max-height:90vh;overflow-y:auto}.cpm-modal-box h4{margin:0 0 12px}.cpm-modes{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.cpm-mode{padding:14px;font-size:1rem;font-weight:600;border:2px solid #e2e8f0;border-radius:10px;background:#fff;cursor:pointer;text-align:left}.cpm-mode:hover{background:#f8fafc}.cpm-mode.sel{border-color:#2563eb;background:#eff6ff;color:#1e40af}.cpm-more{background:none;border:none;color:#2563eb;cursor:pointer;font-size:.85rem;padding:4px 0;margin:4px 0 10px;text-align:left}.cpm-field{display:flex;flex-direction:column;gap:4px;font-size:.82rem;color:#475569;margin-bottom:10px}.cpm-field input,.cpm-field select,.cpm-field textarea{border:1px solid #cbd5e1;border-radius:6px;padding:6px 8px;font-size:.9rem;font-family:inherit}.cpm-photo-preview{max-width:100%;max-height:160px;border:1px solid #e2e8f0;border-radius:6px;margin-bottom:10px}.cpm-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}@media(max-width:720px){.cpm-grid{grid-template-columns:1fr}}.cv-settings-card{background:#fff;padding:28px 32px;box-shadow:0 2px 4px #0000000d;display:flex;flex-direction:column;gap:20px;max-width:760px}.cv-status-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.cv-status-label{font-size:13px;font-weight:600;color:#667085;text-transform:uppercase;letter-spacing:.6px}.cv-status-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 20px;font-size:20px;font-weight:700;letter-spacing:1px}.cv-status-badge.cv-active{background-color:#e8f5e9;color:#2e7d32}.cv-status-badge.cv-inactive{background-color:#fef2f2;color:#dc2626}.cv-status-dot{width:12px;height:12px;border-radius:50%;background:currentColor}.cv-legal-note{background-color:#fff8e6;border-left:4px solid #E0A400;padding:14px 18px;color:#5c4a00;font-size:14px;line-height:1.55}.cv-legal-note strong{color:#7a5c00}.cv-consent-info{background-color:#f3f6f9;padding:16px 18px;display:flex;flex-direction:column;gap:10px}.cv-consent-info .cv-info-line{display:flex;gap:10px;font-size:14px;color:#333;flex-wrap:wrap}.cv-consent-info .cv-info-key{color:#667085;font-weight:500;min-width:150px}.cv-consent-info .cv-info-val{color:#101828;font-weight:600}.cv-form-group{display:flex;flex-direction:column;gap:8px}.cv-form-group label{color:#333;font-size:14px;font-weight:500}.cv-form-group .cv-hint{color:#667085;font-size:12px;font-weight:400}.cv-form-group input[type=text]{width:100%;padding:10px;border:1px solid #ddd;font-size:14px;box-sizing:border-box}.cv-form-group input[type=text]:focus{outline:none;border-color:#004489}.cv-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.cv-activate-button{background-color:#2e7d32;color:#fff;border:1px solid #2e7d32;padding:10px 22px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.cv-activate-button:hover:not(:disabled){background-color:#1b5e20}.cv-activate-button:disabled{background-color:#cfd6dd;border-color:#cfd6dd;color:#fff;cursor:not-allowed}.cv-deactivate-button{background-color:#fee;color:#c33;border:1px solid #c33;padding:10px 22px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.cv-deactivate-button:hover:not(:disabled){background-color:#c33;color:#fff}.cv-deactivate-button:disabled,.cv-activate-button:disabled{opacity:.85}.cv-error-box{background-color:#fef2f2;border-left:4px solid #DC2626;padding:12px 16px;color:#b42318;font-size:14px;line-height:1.5}.cv-loading{padding:32px;text-align:center;color:#666}.czp{background:#fff;border:1px solid #e4e7ec;border-radius:12px;padding:16px 20px;margin-top:16px}.czp-title{margin:0 0 12px;font-size:16px}.czp-subtitle{margin:16px 0 8px;font-size:14px}.czp-error{color:#b42318;background:#fef3f2;border-radius:8px;padding:8px 12px;margin-bottom:8px}.czp-empty{color:#667085;font-size:14px;padding:8px 0}.czp-table{width:100%;border-collapse:collapse;font-size:14px}.czp-table th{text-align:left;color:#667085;font-weight:600;padding:6px 8px;border-bottom:1px solid #e4e7ec}.czp-table td{padding:8px;border-bottom:1px solid #f2f4f7}.czp-light{display:inline-block;width:12px;height:12px;border-radius:50%}.czp-green{background:#12b76a}.czp-yellow{background:#f79009}.czp-red{background:#f04438}.czp-src{color:#98a2b3;font-size:12px}.czp-hint{color:#667085;font-size:13px;margin:10px 0 0}.czp-timeline{list-style:none;margin:0;padding:0;font-size:14px}.czp-timeline li{padding:4px 0;border-bottom:1px dashed #f2f4f7}.czp-time{display:inline-block;width:52px;color:#667085;font-variant-numeric:tabular-nums}.czp-dwell{color:#175cd3}.cv-fp{display:flex;flex-direction:column;gap:20px}.cv-fp-head h3{color:#004489;font-size:18px;font-weight:600;margin:0}.cv-fp-section{background:#fff;padding:24px;box-shadow:0 2px 4px #0000000d;display:flex;flex-direction:column;gap:16px}.cv-fp-section h4{color:#004489;font-size:15px;font-weight:600;margin:0}.cv-fp-empty{margin:0}.cv-fp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.cv-fp-field{display:flex;flex-direction:column;gap:6px}.cv-fp-field label{color:#333;font-size:13px;font-weight:500}.cv-fp-field input[type=number],.cv-fp-field input[type=text]{width:100%;padding:10px;border:1px solid #ddd;font-size:14px;box-sizing:border-box}.cv-fp-field input:focus{outline:none;border-color:#004489}.cv-fp-field input[type=file]{font-size:14px}.cv-fp-filename{color:#667085;font-size:12px}.cv-fp-hint{margin:0;color:#667085;font-size:13px;line-height:1.5;background:#f3f6f9;padding:12px 16px;border-left:3px solid #004489}.cv-fp-actions{display:flex;gap:12px;justify-content:flex-end}.cv-fp-meta-and-preview{display:grid;grid-template-columns:minmax(240px,1fr) minmax(240px,1.4fr);gap:24px;align-items:start}.cv-fp-meta{display:flex;flex-direction:column}.cv-fp-meta-row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #f0f0f0;font-size:14px}.cv-fp-meta-row span{color:#667085}.cv-fp-meta-row strong{color:#333;font-weight:600;text-align:right}.cv-fp-preview{background:#f3f6f9;min-height:160px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid #e0e0e0}.cv-fp-preview img{max-width:100%;max-height:320px;display:block}.cv-fp-preview-empty{color:#999;font-size:13px;padding:24px;text-align:center}.cv-fp-anchor{display:flex;flex-direction:column;gap:8px}.cv-fp-anchor-label{color:#004489;font-size:13px;font-weight:600}@media(max-width:720px){.cv-fp-meta-and-preview{grid-template-columns:1fr}}.cv-map{display:flex;flex-direction:column;gap:12px}.cv-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:12px 16px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 2px 4px #0000000d}.cv-toolbar-group{display:flex;align-items:center;gap:8px}.cv-toolbar-right{margin-left:auto}.cv-toolbar-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#667085}.cv-seg{display:inline-flex;border:1px solid #d0d5dd;overflow:hidden}.cv-seg-btn{background:#fff;color:#333;border:none;padding:8px 14px;font-size:13px;cursor:pointer;transition:background-color .15s,color .15s}.cv-seg-btn+.cv-seg-btn{border-left:1px solid #d0d5dd}.cv-seg-btn:hover{background:#f3f6f9}.cv-seg-btn.active{background:#004489;color:#fff}.cv-btn{background:#f3f6f9;color:#333;border:1px solid #d0d5dd;padding:8px 14px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.cv-btn:hover:not(:disabled){background:#e9eef4}.cv-btn-primary{background:#004489;color:#fff;border-color:#004489}.cv-btn-primary:hover:not(:disabled){background:#036}.cv-btn:disabled{opacity:.5;cursor:not-allowed}.cv-hint{font-size:13px;color:#667085;line-height:1.5}.cv-map-body{position:relative;height:560px;width:100%;border:1px solid #e5e7eb;overflow:hidden;background:#fff}.cv-leaflet{height:100%;width:100%;background:#fff}.cv-state{display:flex;align-items:center;justify-content:center;min-height:200px;padding:40px;text-align:center;color:#667085;background:#fff;border:1px solid #e5e7eb;box-shadow:0 2px 4px #0000000d;line-height:1.6}.cv-state-error{color:#dc2626}.cv-overlay-hint{position:absolute;z-index:500;background:#111827d1;color:#fff;padding:8px 14px;font-size:13px;border-radius:4px;pointer-events:none;max-width:70%;line-height:1.4}.cv-overlay-top{top:12px;left:12px}.cv-overlay-top-right{top:12px;right:12px}.cv-overlay-center{top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.cv-legend{position:absolute;z-index:500;bottom:16px;left:16px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 2px 6px #00000026;padding:10px 12px;min-width:180px}.cv-legend-title{font-size:12px;font-weight:600;color:#333;margin-bottom:6px}.cv-legend-bar{height:12px;width:100%;border:1px solid #d0d5dd}.cv-legend-labels{display:flex;justify-content:space-between;margin-top:4px;font-size:11px;color:#667085}.cv-tooltip{font-size:12px;line-height:1.4}.cv-tooltip strong{display:block;margin-bottom:4px;color:#004489}.tbp{background:#fff;border:1px solid #e4e7ec;border-radius:12px;padding:16px 20px;margin-top:16px}.tbp-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.tbp-head h3{margin:0;font-size:16px}.tbp-error{color:#b42318;background:#fef3f2;border-radius:8px;padding:8px 12px;margin:8px 0}.tbp-form{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.tbp-form input{flex:1;min-width:120px;padding:6px 10px;border:1px solid #d0d5dd;border-radius:8px;font-size:14px}.tbp-form input.tbp-narrow{flex:0 0 70px;min-width:70px}.tbp-btn{border:1px solid #d0d5dd;background:#fff;border-radius:8px;padding:6px 12px;font-size:13px;cursor:pointer}.tbp-btn:disabled{opacity:.5;cursor:default}.tbp-primary{background:#2970ff;border-color:#2970ff;color:#fff}.tbp-sm{padding:3px 8px;font-size:12px}.tbp-list{list-style:none;margin:8px 0 0;padding:0}.tbp-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid #f2f4f7;font-size:14px}.tbp-empty{color:#667085;padding:8px 0}.tbp-detail{color:#98a2b3;font-size:12px}.tbp-side{display:flex;align-items:center;gap:8px}.tbp-badge{font-size:12px;border-radius:999px;padding:2px 8px}.tbp-badge.on{background:#eff8ff;color:#175cd3}.tbp-badge.off{background:#f2f4f7;color:#667085}.tbp-hint{color:#667085;font-size:12px;margin:10px 0 0}.zam{background:#fff;border:1px solid #e4e7ec;border-radius:12px;padding:16px 20px;margin-top:16px}.zam-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.zam-head h3{margin:0;font-size:16px}.zam-error{color:#b42318;background:#fef3f2;border-radius:8px;padding:8px 12px;margin:8px 0}.zam-form{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.zam-form input{flex:1;min-width:120px;padding:6px 10px;border:1px solid #d0d5dd;border-radius:8px;font-size:14px}.zam-form input.zam-narrow{flex:0 0 70px;min-width:70px}.zam-btn{border:1px solid #d0d5dd;background:#fff;border-radius:8px;padding:6px 12px;font-size:13px;cursor:pointer}.zam-btn:disabled{opacity:.5;cursor:default}.zam-primary{background:#2970ff;border-color:#2970ff;color:#fff}.zam-sm{padding:3px 8px;font-size:12px}.zam-anchor-banner{display:flex;justify-content:space-between;align-items:center;gap:8px;background:#eff8ff;border:1px dashed #2970ff;color:#175cd3;border-radius:8px;padding:8px 12px;margin:8px 0;font-size:13px}.zam-list{list-style:none;margin:8px 0 0;padding:0}.zam-row{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid #f2f4f7;font-size:14px}.zam-empty{color:#667085;padding:8px 0}.zam-dot{width:10px;height:10px;border-radius:50%;flex:0 0 10px}.zam-bc{background:#2970ff}.zam-gw{background:#7a5af8}.zam-label{flex:1}.zam-detail{color:#98a2b3;font-size:12px}.zam-side{display:flex;align-items:center;gap:8px}.zam-room{width:130px;padding:4px 8px;border:1px solid #d0d5dd;border-radius:6px;font-size:13px}.zam-badge{font-size:12px;border-radius:999px;padding:2px 8px}.zam-badge.ok{background:#ecfdf3;color:#067647}.zam-badge.off{background:#fef3f2;color:#b42318}.zam-hint{color:#667085;font-size:12px;margin:10px 0 0}.cv-tab-intro{color:#475569;margin:4px 0 16px;max-width:780px;line-height:1.5}.cv-tab-toolbar{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end;margin:16px 0;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.cv-tab-toolbar .form-group{margin:0;min-width:180px}.cv-tab-hint{font-weight:400;font-size:.8em;color:#94a3b8}.cv-tab-grid{display:grid;grid-template-columns:minmax(320px,1fr) minmax(420px,1.4fr);gap:20px;align-items:start}@media(max-width:1100px){.cv-tab-grid{grid-template-columns:1fr}}.cv-token-banner{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#ecfdf3;border:1px solid #12b76a;border-radius:8px;padding:10px 14px;margin:10px 0;font-size:14px}.cv-token-banner code{background:#f2f4f7;padding:2px 6px;border-radius:6px;word-break:break-all}.cv-token-banner button{margin-left:6px;border:1px solid #d0d5dd;background:#fff;border-radius:6px;padding:4px 10px;font-size:12px;cursor:pointer}.cv-anchor-error{background:#fef3f2;border-color:#f04438;color:#b42318}.client-details-page{min-height:100vh;background:linear-gradient(180deg,#f3f7fb,#eef3f8);padding:24px}.activate-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:#f3f6f9;padding:20px}.activate-card{background:#fff;padding:40px;width:100%;max-width:400px;box-shadow:0 2px 8px #0000001a}.activate-card.error{text-align:center}.activate-card h2{color:#004489;font-size:28px;font-weight:600;margin:0 0 8px;text-align:center}.activate-card .activate-subtitle{color:#666;font-size:14px;margin:0 0 32px;text-align:center}.activate-card p{color:#666;margin:10px 0 30px;text-align:center;line-height:1.6;font-size:14px}.activate-card .form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.activate-card label{color:#333;font-size:14px;font-weight:500}.activate-card input{padding:12px;border:1px solid #ddd;font-size:14px;transition:border-color .2s}.activate-card input:focus{outline:none;border-color:#004489}.activate-card small{display:block;margin-top:5px;color:#888;font-size:12px}.activate-card .primary-button{width:100%;background-color:#004489;color:#fff;border:none;padding:12px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s;margin-top:8px}.activate-card .primary-button:hover:not(:disabled){background-color:#036}.activate-card .primary-button:disabled{opacity:.6;cursor:not-allowed}.system-status-page{max-width:720px;margin:0 auto;padding:2.5rem 1.25rem 4rem;font-family:inherit;color:#111827}.system-status-header h1{margin:0;font-size:1.75rem;letter-spacing:-.01em}.system-status-subtitle{margin:.25rem 0 1.75rem;color:#6b7280;font-size:.95rem}.system-status-summary{display:flex;gap:1rem;padding:1.25rem;border-radius:12px;border:1px solid transparent;margin-bottom:1.75rem}.system-status-summary-ok{background:#ecfdf5;border-color:#86efac;color:#065f46}.system-status-summary-warn{background:#fffbeb;border-color:#fcd34d;color:#92400e}.system-status-summary-err{background:#fef2f2;border-color:#fca5a5;color:#991b1b}.system-status-summary-icon{font-size:1.75rem;line-height:1;flex-shrink:0;padding-top:2px}.system-status-summary-body h2{margin:0 0 .4rem;font-size:1.15rem;line-height:1.25}.system-status-summary-body p{margin:0 0 .6rem;font-size:.95rem;line-height:1.5}.system-status-summary-body small{font-size:.8rem;opacity:.75}.system-status-components{margin-bottom:1.75rem}.system-status-components h3,.system-status-metrics h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:#6b7280;margin:0 0 .75rem;font-weight:600}.system-status-component-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.system-status-component{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:.75rem;padding:.85rem 1rem;border-radius:8px;background:#f9fafb;border:1px solid #e5e7eb}.system-status-component-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.system-status-component-ok .system-status-component-dot{background:#10b981}.system-status-component-warn .system-status-component-dot{background:#f59e0b}.system-status-component-err .system-status-component-dot{background:#ef4444}.system-status-component-label{font-weight:600}.system-status-component-value{color:#4b5563;font-size:.9rem;text-align:right}.system-status-component-err .system-status-component-value{color:#991b1b}.system-status-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin:0}.system-status-metric-grid>div{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:.75rem .9rem}.system-status-metric-grid dt{margin:0;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:#6b7280;font-weight:600}.system-status-metric-grid dd{margin:.25rem 0 0;font-size:1.15rem;font-weight:600;color:#111827}.system-status-loading{color:#6b7280;font-style:italic;margin:0}.system-status-footer{margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid #e5e7eb;color:#6b7280;font-size:.8rem;line-height:1.55}.system-status-footer p{margin:0}.portal{min-height:100vh;background:#f1f5f9;display:flex;flex-direction:column;color:#1e293b}.portal-head{background:#fff;border-bottom:1px solid #e2e8f0;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.portal-brand{font-weight:700;font-size:1.15rem}.portal-client{color:#475569;font-weight:600}.portal-monthly{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.portal-monthly input[type=month]{border:1px solid #cbd5e1;border-radius:6px;padding:4px 7px;font-size:.82rem}.portal-main{flex:1;max-width:760px;width:100%;margin:0 auto;padding:20px 16px;box-sizing:border-box}.portal-info{color:#64748b;text-align:center;padding:40px 16px}.portal-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;border-radius:8px;padding:14px 16px}.portal-noaccess{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:40px 24px;text-align:center;max-width:460px;margin:40px auto}.portal-noaccess-icon{font-size:2.4rem;margin-bottom:8px}.portal-noaccess p{margin:6px 0;color:#334155}.portal-noaccess-hint{color:#94a3b8!important;font-size:.85rem}.portal-object{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:14px 16px;margin-bottom:14px}.portal-object h2{margin:0 0 10px;font-size:1.05rem}.portal-visits{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.portal-visit{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px;border:1px solid #f1f5f9;border-radius:8px;background:#f8fafc;flex-wrap:wrap}.portal-visit-main{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:.9rem}.portal-date{font-weight:600}.portal-time{color:#475569}.portal-checklist{color:#475569;font-size:.82rem;background:#e2e8f0;padding:1px 8px;border-radius:10px}.portal-by{color:#64748b;font-size:.82rem}.portal-visit-side{display:flex;gap:8px;align-items:center}.portal-badge{font-size:.74rem;font-weight:600;padding:2px 9px;border-radius:12px}.portal-badge.ok{background:#dcfce7;color:#15803d}.portal-badge.done{background:#f0fdf4;color:#16a34a}.portal-btn{background:#2563eb;color:#fff;border:none;border-radius:6px;padding:6px 12px;font-size:.82rem;cursor:pointer}.portal-btn:hover:not(:disabled){background:#1d4ed8}.portal-btn:disabled{opacity:.6;cursor:not-allowed}.portal-foot{text-align:center;color:#94a3b8;font-size:.75rem;padding:18px}@media(max-width:540px){.portal-visit{flex-direction:column;align-items:flex-start}.portal-visit-side{width:100%;justify-content:space-between}}
