:root{--oxygen-blue: #00D1FF;--oxygen-blue-dim: rgba(0, 209, 255, .12);--operaxy-mint: #10B981;--operaxy-navy: #0B0E2A;--operaxy-card: #111827;--operaxy-border: #1E293B;--operaxy-white: #FFFFFF;--operaxy-slate: #94A3B8;--operaxy-input: #151b33;--bg-dark: var(--operaxy-navy);--bg-card: var(--operaxy-card);--bg-input: var(--operaxy-input);--border: var(--operaxy-border);--text: var(--operaxy-white);--text-muted: var(--operaxy-slate)}*{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg-dark);color:var(--text);min-height:100vh;min-height:100dvh}input,textarea,button,select{font:inherit}button{cursor:pointer}.guard-error{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem;text-align:center;background:var(--bg-dark);color:var(--text)}.guard-error h1{color:var(--oxygen-blue);margin-bottom:.5rem}.guard-error p{color:var(--text-muted)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--bg-dark)}.login-card{width:100%;max-width:22rem;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:2rem}.login-brand{text-align:center;margin-bottom:1.5rem}.login-brand .login-logo{display:block;width:3.5rem;height:3.5rem;object-fit:contain;margin:0 auto .75rem}.login-brand h1{font-size:1.125rem;letter-spacing:.04em;margin:0 0 .25rem;color:var(--text)}.login-brand p{font-size:.875rem;color:var(--text-muted);margin:0}.login-form label{display:block;margin-bottom:1rem}.login-form label>span{display:block;font-size:.8125rem;color:var(--text-muted);margin-bottom:.35rem}.login-form input{width:100%;padding:.6rem .75rem;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;color:var(--text)}.login-form input::placeholder{color:var(--text-muted);opacity:.8}.login-form button{width:100%;margin-top:.5rem;padding:.7rem;background:var(--oxygen-blue);color:var(--bg-dark);border:none;border-radius:8px;font-weight:600}.login-form button:disabled{opacity:.7;cursor:not-allowed}.login-error{color:#f85149;font-size:.875rem;margin-top:.5rem}.login-hint{margin:1rem 0 0;font-size:.75rem;color:var(--text-muted);line-height:1.45;text-align:center}.kh-layout{min-height:100vh;background:var(--bg-dark)}.kh-header{border-bottom:1px solid var(--operaxy-border);background:var(--operaxy-card)}.kh-header-inner{max-width:56rem;margin:0 auto;padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.kh-header-left{display:flex;flex-direction:column;gap:.5rem}.kh-nav{display:flex;gap:.25rem 1rem;flex-wrap:wrap}.kh-nav a{font-size:.875rem;color:var(--text-muted);text-decoration:none;padding:.2rem 0;border-bottom:2px solid transparent}.kh-nav a:hover{color:var(--text)}.kh-nav a.active{color:var(--oxygen-blue);border-bottom-color:var(--oxygen-blue)}.kh-logo{font-size:1.125rem;font-weight:600;color:var(--oxygen-blue);margin:0}.kh-user-menu{position:relative}.kh-user-trigger{display:flex;align-items:center;gap:.5rem;padding:.25rem .35rem;border:none;border-radius:999px;background:transparent;color:var(--text);cursor:pointer;font:inherit}.kh-user-trigger:hover{background:#ffffff0a}.kh-user-avatar{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;background:#6366f12e;color:#a5b4fc;font-size:.75rem;font-weight:700;letter-spacing:.02em;flex-shrink:0}.kh-user-name{font-size:.875rem;font-weight:500;color:var(--text)}.kh-user-chevron{color:var(--text-muted);flex-shrink:0}.kh-user-dropdown{position:absolute;right:0;top:calc(100% + .35rem);min-width:12rem;padding:.35rem 0;border:1px solid var(--border);border-radius:10px;background:var(--bg-card);box-shadow:0 10px 30px #00000059;z-index:20}.kh-user-dropdown-email{margin:0;padding:.55rem .85rem .65rem;border-bottom:1px solid var(--border);font-size:.75rem;color:var(--text-muted);word-break:break-all}.kh-user-dropdown-item{display:block;width:100%;padding:.6rem .85rem;border:none;background:none;text-align:left;font:inherit;font-size:.875rem;color:var(--text);cursor:pointer}.kh-user-dropdown-item:hover{background:#ffffff0d}.kh-main{max-width:56rem;margin:0 auto;padding:1rem 1rem 2rem}.manage-page h2{margin:0 0 .25rem;color:var(--text);font-size:1.25rem}.manage-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.manage-sub{font-size:.875rem;color:var(--text-muted);margin:0}.manage-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.manage-tabs button{padding:.5rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text-muted)}.manage-tabs button.active{border-color:var(--oxygen-blue);color:var(--oxygen-blue);background:var(--oxygen-blue-dim)}.btn-primary-sm{display:inline-block;padding:.5rem 1rem;background:var(--oxygen-blue);color:var(--bg-dark);border-radius:8px;font-weight:600;font-size:.875rem;text-decoration:none}.data-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px;background:var(--bg-card)}.data-table{width:100%;border-collapse:collapse;font-size:.875rem}.data-table th,.data-table td{padding:.65rem .75rem;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}.data-table th{color:var(--text-muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}.data-table tr:last-child td{border-bottom:none}.empty-cell{color:var(--text-muted);text-align:center;padding:2rem!important}.cell-stack{display:flex;flex-direction:column;gap:.15rem}.cell-stack .muted,.muted{color:var(--text-muted);font-size:.8125rem}.muted.block{display:block;margin-top:.15rem}.cell-actions{white-space:nowrap;display:flex;gap:.75rem;align-items:center}.cell-actions a{color:var(--oxygen-blue);text-decoration:none;font-size:.8125rem}.cell-actions a:hover{text-decoration:underline}.link-danger{background:none;border:none;color:#f85149;font-size:.8125rem;padding:0;text-decoration:underline}.badge{display:inline-block;padding:.15rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600}.badge-pending{background:#d2992233;color:#d29922}.badge-sent{background:#3fb95033;color:#3fb950}.badge-not-sent{background:#8b949e33;color:var(--text-muted)}.contracts-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1rem}.contracts-filters{display:flex;flex-wrap:wrap;gap:.75rem 1rem;flex:1 1 auto}.contracts-filter{display:flex;flex-direction:column;gap:.35rem;min-width:9rem}.contracts-filter>span{font-size:.75rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted)}.contracts-filter select,.contracts-search input{padding:.5rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text);font-size:.875rem}.contracts-search input{width:100%;max-width:20rem}.contracts-table .th-sort{background:none;border:none;padding:0;font:inherit;font-weight:600;color:inherit;cursor:pointer;text-align:left}.contracts-table .th-sort:hover{color:var(--oxygen-blue)}.yn-flag{display:inline-flex;align-items:center;justify-content:center;min-width:1.75rem;padding:.15rem .5rem;border-radius:6px;font-size:.8125rem;font-weight:700;letter-spacing:.02em}.yn-y{background:#3fb95033;color:#3fb950}.yn-n{background:#8b949e26;color:var(--text-muted)}.sign-flag{display:inline-flex;align-items:center;justify-content:center;padding:.15rem .55rem;border-radius:6px;font-size:.8125rem;font-weight:600;letter-spacing:.01em;white-space:nowrap}.sign-signed{background:#3fb95033;color:#3fb950}.sign-pending{background:#d299222e;color:#d29922}.save-notice{margin:0 0 1rem;padding:.65rem .85rem;border-radius:8px;background:#3fb9501f;border:1px solid rgba(63,185,80,.35);color:#3fb950;font-size:.875rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.edit-page-header{margin-bottom:1.25rem}.edit-page-header h2{margin:.25rem 0 0;color:var(--text)}.back-link{font-size:.875rem;color:var(--oxygen-blue);text-decoration:none}.back-link:hover{text-decoration:underline}.manage-form{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.25rem;max-width:44rem}.manage-form fieldset{border:none;margin:0 0 1.25rem;padding:0}.manage-form legend{font-size:.9375rem;font-weight:600;color:var(--oxygen-blue);margin-bottom:.75rem;padding:0}.field-hint{display:block;margin-top:.35rem;font-size:.75rem;color:var(--text-muted);line-height:1.4}.field-wide{width:100%}.form-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin-top:.5rem}.btn-secondary{padding:.6rem 1rem;color:var(--text-muted);border:1px solid var(--border);border-radius:8px;text-decoration:none;font-size:.875rem}.btn-secondary:hover{color:var(--text);border-color:var(--text-muted)}.form-actions .btn-submit{width:auto;flex:1;min-width:10rem}.loading-msg{color:var(--text-muted)}.success-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:2rem;text-align:center}.success-card h2{color:var(--oxygen-blue);margin-top:0}.success-card button{margin-top:1rem;padding:.6rem 1.2rem;background:var(--oxygen-blue-dim);color:var(--oxygen-blue);border:1px solid var(--oxygen-blue);border-radius:8px}.alarm-email-failed{border-color:#f8514973}.alarm-email-failed h2{color:#f85149}.alarm-email-failed p{text-align:left;line-height:1.5}.alarm-report-form{width:100%;max-width:42rem;margin:0 auto;background:var(--operaxy-card);border:1px solid var(--operaxy-border);border-radius:14px;padding:0;overflow:hidden;box-shadow:0 4px 24px #00000059}.alarm-report-header{padding:1.35rem 1.5rem 1rem;border-bottom:1px solid var(--operaxy-border)}.alarm-report-title{margin:0;font-size:1.375rem;font-weight:600;letter-spacing:-.02em;color:var(--oxygen-blue)}.alarm-report-section{padding:1.15rem 1.5rem;border-bottom:1px solid var(--operaxy-border)}.alarm-report-section:last-of-type{border-bottom:none}.alarm-section-title{margin:0 0 .85rem;font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--operaxy-slate)}.alarm-meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem 1rem}.alarm-field--site{grid-column:1 / -1}@media (max-width: 640px){.alarm-meta-grid{grid-template-columns:1fr}}.alarm-field{display:flex;flex-direction:column;gap:.4rem;min-width:0}.alarm-field--block{width:100%}.alarm-field-label{font-size:.8125rem;font-weight:500;color:var(--operaxy-slate)}.alarm-input,.alarm-textarea,.alarm-select{width:100%;padding:.65rem .8rem;background:var(--operaxy-input);border:1px solid var(--operaxy-border);border-radius:8px;color:var(--operaxy-white);transition:border-color .15s ease,box-shadow .15s ease}.alarm-input::placeholder,.alarm-textarea::placeholder{color:var(--operaxy-slate);opacity:.65}.alarm-input:hover,.alarm-textarea:hover,.alarm-select:hover{border-color:#334155}.alarm-input:focus,.alarm-textarea:focus,.alarm-select:focus{outline:none;border-color:var(--oxygen-blue);box-shadow:0 0 0 3px var(--oxygen-blue-dim)}.alarm-input[type=date],.alarm-input[type=time]{color-scheme:dark}.alarm-select{-webkit-appearance:none;-moz-appearance:none;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='%2394A3B8' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2rem}.alarm-select option{background:var(--operaxy-card);color:var(--operaxy-white)}.alarm-textarea{min-height:7.5rem;resize:vertical;line-height:1.5}.alarm-cause-list{display:flex;flex-direction:column;gap:.5rem}.alarm-cause-row{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;background:#0f172a73;border:1px solid var(--operaxy-border);border-radius:10px;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.alarm-cause-row:hover{border-color:#334155;background:#0f172ab3}.alarm-cause-row--active{border-color:var(--oxygen-blue);background:var(--oxygen-blue-dim);box-shadow:inset 0 0 0 1px #00d1ff33}.alarm-cause-row--active:has(.alarm-cause-checkbox:focus-visible){box-shadow:inset 0 0 0 1px #00d1ff40,0 0 0 3px var(--oxygen-blue-dim)}.alarm-cause-checkbox{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.alarm-cause-check{flex-shrink:0;width:1.125rem;height:1.125rem;border:2px solid var(--operaxy-border);border-radius:4px;background:var(--operaxy-input);transition:border-color .15s ease,background .15s ease}.alarm-cause-row--active .alarm-cause-check{border-color:var(--oxygen-blue);background:var(--oxygen-blue);box-shadow:inset 0 0 0 2px var(--operaxy-navy);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='%230B0E2A' d='M4.5 9L1 5.5l1.4-1.4L4.5 6.2l4.1-4.1L10 3.5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:.65rem}.alarm-cause-label{font-size:.9375rem;font-weight:500;color:var(--operaxy-white)}.alarm-cause-row--active .alarm-cause-label{color:var(--operaxy-white)}.alarm-time-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 400px){.alarm-time-grid{grid-template-columns:1fr}}.alarm-signature-panel{position:relative;width:100%;border:1px solid var(--operaxy-border);border-radius:10px;overflow:hidden;background:var(--operaxy-input)}.alarm-signature-canvas{display:block;width:100%;max-width:100%;height:auto;touch-action:none}.alarm-signature-clear{position:absolute;bottom:.65rem;right:.65rem;padding:.4rem .75rem;font-size:.75rem;font-weight:500;color:var(--operaxy-slate);background:var(--operaxy-card);border:1px solid var(--operaxy-border);border-radius:6px;transition:color .15s ease,border-color .15s ease}.alarm-signature-clear:hover{color:var(--oxygen-blue);border-color:var(--oxygen-blue)}.alarm-form-error{margin:0 1.5rem .5rem;padding:.65rem .85rem;font-size:.875rem;color:#fca5a5;background:#f871711a;border:1px solid rgba(248,113,113,.25);border-radius:8px}.alarm-report-footer{padding:1.25rem 1.5rem 1.5rem;background:#0b0e2a80;border-top:1px solid var(--operaxy-border)}.alarm-btn-submit{width:100%;padding:.9rem 1.25rem;font-size:1rem;font-weight:600;letter-spacing:.01em;color:var(--operaxy-navy);background:var(--oxygen-blue);border:none;border-radius:10px;transition:filter .15s ease,transform .1s ease}.alarm-btn-submit:hover:not(:disabled){filter:brightness(1.08)}.alarm-btn-submit:active:not(:disabled){transform:scale(.99)}.alarm-btn-submit:disabled{opacity:.65;cursor:not-allowed}.alarm-btn-submit:focus-visible{outline:none;box-shadow:0 0 0 3px var(--oxygen-blue-dim)}.form-row{margin-bottom:.75rem}.form-row:last-child{margin-bottom:0}.form-row label{display:block}.form-row label>span{display:block;font-size:.8125rem;color:var(--text-muted);margin-bottom:.35rem}.form-row input,.form-row select,.form-row textarea{width:100%;padding:.5rem .65rem;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;color:var(--text)}.form-row textarea{min-height:5rem;resize:vertical}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.75rem}@media (max-width: 480px){.form-row-3,.form-row-2{grid-template-columns:1fr}}.form-error{color:#f85149;font-size:.875rem;margin-bottom:.75rem}.btn-submit{width:100%;padding:.75rem;background:var(--oxygen-blue);color:var(--operaxy-navy);border:none;border-radius:8px;font-weight:600;margin-top:.5rem}.btn-submit:disabled{opacity:.7;cursor:not-allowed}.kh-main:has(.contract-builder-page){max-width:min(96rem,100%);padding-left:1.25rem;padding-right:1.25rem}.contract-builder-page{min-height:calc(100vh - 8rem);display:flex;flex-direction:column;gap:1rem}.contracts-builder-link{text-decoration:none;white-space:nowrap;align-self:flex-start}.cb-page-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem}.cb-page-header h2{margin:.35rem 0 0;color:var(--text)}.cb-meta-controls{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:flex-end}.cb-meta-field{display:flex;flex-direction:column;gap:.35rem;min-width:10rem}.cb-meta-field-wide{min-width:16rem;flex:1 1 16rem;max-width:24rem}.cb-meta-field>span{font-size:.75rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted)}.cb-meta-field select,.cb-meta-field input{padding:.5rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text);font-size:.875rem}.cb-workspace{display:grid;grid-template-columns:minmax(0,3fr) minmax(14rem,1fr);gap:1rem;flex:1;min-height:28rem}.cb-editor-column{min-width:0;display:flex;flex-direction:column}.cb-editor-wrap{display:flex;flex-direction:column;flex:1;border:1px solid var(--border);border-radius:12px;background:var(--bg-card);overflow:hidden}.cb-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;padding:.5rem .65rem;border-bottom:1px solid var(--border);background:#111827}.cb-toolbar-group{display:flex;align-items:center;gap:.25rem}.cb-toolbar-dropdown{position:relative}.cb-toolbar-dropdown-trigger{min-width:4.5rem}.cb-toolbar-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:20;min-width:9rem;padding:.35rem;border:1px solid var(--border);border-radius:8px;background:#111827;box-shadow:0 8px 24px #00000059}.cb-toolbar-menu button{display:block;width:100%;text-align:left;margin:0;border:none;background:transparent}.cb-toolbar-menu button:disabled{opacity:.45;cursor:not-allowed}.cb-toolbar-btn{min-width:2rem;height:2rem;padding:0 .45rem;border:1px solid transparent;border-radius:6px;background:var(--bg-input);color:var(--text-muted);font-size:.8125rem;cursor:pointer}.cb-toolbar-btn:hover{color:var(--text);border-color:var(--border)}.cb-toolbar-btn.active{color:var(--oxygen-blue);border-color:#00d1ff59;background:var(--oxygen-blue-dim)}.cb-toolbar-divider{width:1px;height:1.25rem;background:var(--border);margin:0 .15rem}.cb-ul{text-decoration:underline}.cb-editor-canvas{flex:1;overflow:auto;padding:1.25rem 1.5rem 2rem;background:#f8fafc}.cb-editor-prose{min-height:22rem;color:#0f172a;outline:none;max-width:46rem;margin:0 auto;font-size:.9375rem;line-height:1.65}.cb-editor-prose h1{font-size:1.5rem;margin:0 0 .75rem;color:#0b0e2a}.cb-editor-prose h2{font-size:1.15rem;margin:1rem 0 .5rem;color:#0b0e2a}.cb-editor-prose p{margin:0 0 .75rem}.cb-editor-prose ul,.cb-editor-prose ol{margin:0 0 .75rem 1.25rem}.cb-editor-prose p.is-editor-empty:first-child:before{color:#94a3b8;content:attr(data-placeholder);float:left;height:0;pointer-events:none}.cb-editor-loading{padding:2rem;color:var(--text-muted)}.cb-variables-sidebar{border:1px solid var(--border);border-radius:12px;background:var(--bg-card);padding:1rem;overflow:auto}.cb-variables-heading{margin:0 0 .35rem;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--oxygen-blue)}.cb-variables-hint{margin:0 0 1rem;font-size:.75rem;color:var(--text-muted);line-height:1.45}.cb-variables-group{margin-bottom:1rem}.cb-variables-group-title{margin:0 0 .5rem;font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.cb-variables-chips{display:flex;flex-wrap:wrap;gap:.4rem}.cb-variable-chip{padding:.35rem .55rem;border:1px solid var(--border);border-radius:999px;background:var(--bg-input);color:var(--oxygen-blue);font-size:.6875rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;cursor:pointer}.cb-variable-chip:hover{border-color:#00d1ff73;background:var(--oxygen-blue-dim)}.cb-footer{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--border);border-radius:12px;background:var(--bg-card)}.cb-signature-block{display:flex;flex-direction:column;gap:.35rem}.cb-signature-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.cb-signature-canvas{border:1px solid var(--border);border-radius:8px;background:#fff}.cb-signature-clear{align-self:flex-start;padding:0;border:none;background:none;color:var(--oxygen-blue);font-size:.75rem;cursor:pointer}.cb-footer-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-left:auto}.cb-footer-actions .btn-secondary,.cb-footer-actions .btn-submit{width:auto;min-width:10rem;margin-top:0}.cb-generate-btn{background:var(--operaxy-mint);color:#fff;font-weight:700}.cb-generate-btn:hover:not(:disabled){filter:brightness(1.08)}.btn-secondary.cb-save-template{border-color:#00d1ff73;color:var(--oxygen-blue)}@media (max-width: 900px){.cb-workspace{grid-template-columns:1fr}}
