:root{--color-primary:#005ca9;--color-primary-hover:#004d91;--color-text:#1e293b;--color-text-secondary:#64748b;--color-text-muted:#94a3b8;--color-border:#e2e8f0;--color-border-light:#f1f5f9;--color-bg-page:#f8fafc;--color-bg-card:#fff;--color-danger:#dc2626;--color-success:#16a34a;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--shadow-modal:0 20px 60px #0000004d;--modal-overlay-bg:#0000004d}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.app{height:100vh;display:flex;overflow:hidden}.sidebar{color:#fff;background:#0a2134;flex-direction:column;flex-shrink:0;width:250px;padding:20px;transition:width .2s;display:flex;position:relative}.sidebar-collapsed{width:60px;padding:20px 10px}.sidebar-collapsed .logo{flex-direction:column;align-items:center;gap:6px}.sidebar-collapsed .sidebar-toggle{margin-left:0}.sidebar-collapsed .nav-link{justify-content:center;padding:12px}.sidebar-toggle{color:#ffffffb3;cursor:pointer;background:#ffffff1a;border:none;border-radius:6px;justify-content:center;align-items:center;margin-left:auto;padding:4px;transition:all .2s;display:flex}.sidebar-toggle:hover{color:#fff;background:#fff3}.logo{border-bottom:1px solid #ffffff1a;align-items:center;gap:12px;margin-bottom:40px;padding-bottom:20px;display:flex}.logo h1{font-size:20px;font-weight:600}.nav-links{flex-direction:column;gap:8px;display:flex}.nav-link{color:#ffffffb3;border-radius:8px;align-items:center;gap:12px;padding:12px 16px;text-decoration:none;transition:all .2s;display:flex}.nav-link:hover{color:#fff;background:#ffffff1a}.main-content{background:#f5f7fa;flex-direction:column;flex:1;padding:30px;display:flex;overflow:auto}.page-header{margin-bottom:30px}.page-header h1{color:#0a2134;margin-bottom:8px;font-size:32px}.page-header p{color:#64748b;font-size:16px}.btn{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary{color:#fff;background:#005ca9}.btn-primary:hover{background:#004d91}.btn-secondary{color:#64748b;background:#fff;border:1px solid #e2e8f0}.btn-secondary:hover{background:#f8fafc}.btn-danger{color:#fff;background:#ef4444}.btn-danger:hover{background:#dc2626}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001a}.form-group{margin-bottom:20px}.form-group label{color:#334155;margin-bottom:8px;font-weight:500;display:block}.form-group input,.form-group textarea,.form-group select{border:1px solid #e2e8f0;border-radius:6px;width:100%;padding:10px 12px;font-family:inherit;font-size:14px}.form-group textarea{resize:vertical;min-height:100px}.table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.table th,.table td{text-align:center;border-bottom:1px solid #e2e8f0;padding:10px 12px}.table th{color:#475569;white-space:nowrap;z-index:10;background:#eef2f7;font-size:12px;font-weight:600;position:sticky;top:0;box-shadow:inset 0 -2px #cbd5e1}.table thead tr{border-bottom:2px solid #e2e8f0}.table tbody tr:nth-child(odd){background:#fafbfc}.table tbody tr:nth-child(2n){background:#fff}.table tbody tr:hover{background:#e6f0f9}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.badge{border-radius:12px;padding:4px 12px;font-size:12px;font-weight:500;display:inline-block}.badge-draft{color:#64748b;background:#f1f5f9}.badge-open{color:#003d73;background:#cce1f1}.badge-in_progress,.badge-in-progress,.badge-review{color:#92400e;background:#fef3c7}.badge-completed{color:#065f46;background:#d1fae5}.badge-closed{color:#64748b;background:#f1f5f9}.badge-low{color:#065f46;background:#d1fae5}.badge-medium{color:#92400e;background:#fef3c7}.badge-high{color:#9a3412;background:#fed7aa}.badge-critical{color:#991b1b;background:#fecaca}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:8px;width:90%;max-width:600px;max-height:90vh;padding:24px;overflow:auto}.modal h2{color:#0a2134;margin-bottom:20px}.hazop-table-container{-webkit-overflow-scrolling:touch;background:#fff;border-radius:8px;flex:1;min-height:0;overflow:auto;box-shadow:0 1px 3px #0000001a}.hazop-table{border-collapse:separate;border-spacing:0;background:#fff;width:max-content;min-width:100%}.hazop-table th{color:#475569;text-align:left;z-index:10;background:#f8fafc;border:1px solid #e2e8f0;padding:12px;font-size:13px;font-weight:600;position:sticky;top:0;box-shadow:0 1px #e2e8f0}.hazop-table td{vertical-align:middle;color:#334155;background:#fff;border:1px solid #e2e8f0;padding:10px 12px;font-size:13px}.hazop-table tr:hover td{background:#f8fafc}.table-cell-with-actions{justify-content:space-between;align-items:stretch;gap:8px;display:flex}.cell-add-btn{color:#64748b;cursor:pointer;background:#fff;border:1px dashed #cbd5e1;border-radius:4px;justify-content:center;align-items:center;gap:4px;width:100%;padding:4px 8px;font-size:12px;transition:all .2s;display:flex}.cell-add-btn:hover{color:#005ca9;background:#e6f0f9;border-style:solid;border-color:#005ca9}.view-toggle-container{background:#f1f5f9;border-radius:6px;gap:4px;padding:4px;display:flex}.view-toggle-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;transition:all .2s;display:flex}.view-toggle-btn.active{color:#1e293b;background:#fff;box-shadow:0 1px 2px #0000001a}.view-toggle-btn:hover:not(.active){color:#334155}@media (width<=768px){.hazop-table{font-size:12px}.hazop-table th,.hazop-table td{padding:6px 8px}.view-toggle-container{padding:2px}.view-toggle-btn{padding:4px 8px;font-size:12px}.view-toggle-btn span{display:none}.settings-header-container{padding:20px 16px 0!important}.settings-tab{padding:8px 12px!important;font-size:13px!important}.org-form-grid{grid-template-columns:1fr!important}}.scrollable-tab-bar{scrollbar-width:none}.scrollable-tab-bar::-webkit-scrollbar{display:none}td.cell-highlighted{background-color:#f0f7ff!important}@keyframes cell-highlight-flash{0%{background-color:#fde68a!important}60%{background-color:#fde68a!important}to{background-color:#f0f7ff!important}}td.cell-highlighted-flash{animation:1.5s ease-out forwards cell-highlight-flash}.row-drag-handle{cursor:grab;color:#cbd5e1;opacity:0;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;width:16px;transition:opacity .15s,color .15s;display:flex}.row-drag-handle svg{pointer-events:none}.table-cell-with-actions:hover .row-drag-handle{opacity:1}.row-drag-handle:hover{color:#005ca9}.autofill-drop-indicator{z-index:20;pointer-events:none;background:#005ca9;height:3px;position:absolute;box-shadow:0 0 4px #3b82f680}.autofill-drop-indicator:before{content:"";background:#005ca9;border:2px solid #fff;border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;left:-4px;box-shadow:0 0 3px #3b82f699}body.autofill-dragging,body.autofill-dragging *{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}.fullscreen-overlay{z-index:1001;background:#f8fafc;flex-direction:column;animation:.2s ease-out fullscreen-enter;display:flex;position:fixed;inset:0}@keyframes fullscreen-enter{0%{opacity:0}to{opacity:1}}.worksheet-toolbar{z-index:10;background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-shrink:0;align-items:center;gap:4px;min-height:32px;padding:4px 8px;display:flex;position:relative}.toolbar-collapsed-strip{cursor:pointer;color:#94a3b8;background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-shrink:0;justify-content:center;align-items:center;height:14px;transition:background .1s,color .1s;display:flex}.toolbar-collapsed-strip:hover{color:#64748b;background:#e2e8f0}.toolbar-group{align-items:center;gap:2px;display:flex}.toolbar-divider{background:#cbd5e1;width:1px;height:20px;margin:0 4px}.toolbar-btn{color:#475569;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;width:28px;height:26px;padding:0;transition:all .1s;display:inline-flex}.toolbar-btn:hover:not(:disabled){background:#e2e8f0;border-color:#cbd5e1}.toolbar-btn:disabled{opacity:.4;cursor:default}.toolbar-btn-active{color:#003d73;background:#cce1f1;border-color:#80aed4}.toolbar-text-btn{gap:3px;width:auto;padding:0 6px;font-size:11px}.toolbar-zoom-label{color:#475569;text-align:center;font-variant-numeric:tabular-nums;min-width:36px;font-size:11px}.toolbar-select{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:3px;outline:none;height:26px;padding:0 4px;font-size:11px}.toolbar-select:disabled{opacity:.4;cursor:default}.toolbar-select:focus{border-color:#80aed4}.toolbar-select-wide{min-width:100px}.toolbar-overflow-item{color:#475569;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:6px 12px;font-size:12px;display:flex}.toolbar-overflow-item:hover{background:#f1f5f9}.column-resize-handle{cursor:col-resize;z-index:5;background:0 0;width:4px;position:absolute;top:0;bottom:0;right:0}.column-resize-handle:hover{background:#005ca9}.column-drag-over-left{box-shadow:inset 3px 0 #005ca9}.column-drag-over-right{box-shadow:inset -3px 0 #005ca9}th[draggable=true]{cursor:grab}th[draggable=true]:active{cursor:grabbing}.dragging-column{opacity:.5}.cell-selected{outline-offset:-2px;outline:2px solid #005ca9}.ws-cell-input{width:100%;font-size:inherit;font-family:inherit;font-weight:inherit;font-style:inherit;-webkit-text-decoration:inherit;text-decoration:inherit;color:#334155;background:0 0;border:1px solid #0000;border-radius:4px;padding:4px 6px;transition:border-color .15s,background-color .15s}.ws-cell-input:hover{background:#f8fafc;border-color:#cbd5e1}.ws-cell-input:focus{background:#fff;border-color:#80aed4;outline:none;box-shadow:0 0 0 1px #80aed4}textarea.ws-cell-input{resize:none;overflow:hidden}textarea.ws-cell-input.ws-cell-autosize{min-height:unset;resize:none;line-height:1.4;overflow:hidden}select.ws-cell-input{cursor:pointer;appearance:none;min-width:0}select.ws-cell-input:hover{background:#f8fafc}.ws-cell-input:disabled{color:#64748b;cursor:default;background:0 0;border-color:#0000}.ws-cell-input:disabled:hover{background:0 0;border-color:#0000}.risk-class-input::placeholder{color:#cbd5e1;opacity:1}
