:root{--card: #f5f5f4;--ring: #6366f1;--input: #d6d3d1;--muted: #e7e5e4;--accent: #f3e5f5;--border: #d6d3d1;--radius: 1.25rem;--chart-1: #6366f1;--chart-2: #4f46e5;--chart-3: #4338ca;--chart-4: #3730a3;--chart-5: #312e81;--popover: #f5f5f4;--primary: #6366f1;--sidebar: #d6d3d1;--font-mono: "Roboto Mono", monospace;--font-sans: "Plus Jakarta Sans", system-ui, sans-serif;--secondary: #d6d3d1;--background: #e7e5e4;--font-serif: Lora, serif;--foreground: #1e293b;--destructive: #ef4444;--shadow-blur: 10px;--shadow-color: hsl(240 4% 60%);--sidebar-ring: #6366f1;--shadow-spread: 4px;--shadow-opacity: .18;--sidebar-accent: #f3e5f5;--sidebar-border: #d6d3d1;--card-foreground: #1e293b;--shadow-offset-x: 2px;--shadow-offset-y: 2px;--sidebar-primary: #6366f1;--muted-foreground: #6b7280;--accent-foreground: #374151;--popover-foreground: #1e293b;--primary-foreground: #ffffff;--sidebar-foreground: #1e293b;--secondary-foreground: #4b5563;--destructive-foreground: #ffffff;--sidebar-accent-foreground: #374151;--sidebar-primary-foreground: #ffffff;--sidebar-surface: #e2ddd9;--oxygen-blue: var(--primary);--oxygen-blue-dim: color-mix(in srgb, var(--primary) 14%, transparent);--operaxy-mint: #10b981;--operaxy-navy: var(--background);--operaxy-card: var(--card);--operaxy-border: var(--border);--operaxy-white: var(--foreground);--operaxy-slate: var(--muted-foreground);--operaxy-input: var(--input);--bg-dark: var(--background);--bg-card: var(--card);--bg-input: var(--input);--text: var(--foreground);--text-muted: var(--muted-foreground);--text-on-card: var(--card-foreground);--text-muted-on-card: var(--muted-foreground);--shadow-app: var(--shadow-offset-x) var(--shadow-offset-y) var(--shadow-blur) var(--shadow-spread) color-mix(in srgb, var(--shadow-color) calc(var(--shadow-opacity) * 100%), transparent)}.dark{--card: #2c2825;--ring: #818cf8;--input: #3a3633;--muted: #2c2825;--accent: #484441;--border: #3a3633;--popover: #2c2825;--primary: #818cf8;--sidebar: #3a3633;--secondary: #3a3633;--background: #1e1b18;--foreground: #e2e8f0;--destructive: #ef4444;--shadow-color: hsl(0 0% 0%);--sidebar-ring: #818cf8;--sidebar-accent: #484441;--sidebar-border: #3a3633;--card-foreground: #e2e8f0;--sidebar-primary: #818cf8;--muted-foreground: #9ca3af;--accent-foreground: #d1d5db;--popover-foreground: #e2e8f0;--primary-foreground: #1e1b18;--sidebar-foreground: #e2e8f0;--secondary-foreground: #d1d5db;--destructive-foreground: #1e1b18;--sidebar-accent-foreground: #d1d5db;--sidebar-primary-foreground: #1e1b18}*{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent}body{margin:0;font-family:var(--font-sans);background:var(--background);color:var(--foreground);min-height:100vh;min-height:100dvh}input,textarea,button,select{font:inherit}button{cursor:pointer}.app-icon{width:1.125rem;height:1.125rem;flex-shrink:0;display:block}.app-icon--sm{width:1rem;height:1rem}.app-icon--lg{width:1.25rem;height:1.25rem}.icon-text{display:inline-flex;align-items:center;gap:.35rem}.icon-text--wide{gap:.5rem}.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(--primary);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(--card);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;color:var(--card-foreground);box-shadow:var(--shadow-app)}.login-brand{text-align:center;margin-bottom:1.5rem}.login-brand .login-logo{display:block;width:min(100%,20rem);height:auto;max-height:8rem;object-fit:contain;margin:0 auto 1rem}.login-brand h1{font-size:1.125rem;letter-spacing:.04em;margin:0 0 .25rem;color:var(--card-foreground)}.login-brand p{font-size:.875rem;color:var(--muted-foreground);margin:0}.login-form label{display:block;margin-bottom:1rem}.login-form label>span{display:block;font-size:.8125rem;color:var(--muted-foreground);margin-bottom:.35rem}.login-form input{width:100%;padding:.6rem .75rem;background:var(--input);border:1px solid var(--border);border-radius:calc(var(--radius) * .65);color:var(--foreground)}.login-form input::placeholder{color:var(--muted-foreground);opacity:.8}.login-form button{width:100%;margin-top:.5rem;padding:.7rem;background:var(--primary);color:var(--primary-foreground);border:none;border-radius:calc(var(--radius) * .65);font-weight:600}.login-form button:disabled{opacity:.7;cursor:not-allowed}.login-error{color:var(--destructive);font-size:.875rem;margin-top:.5rem}.login-hint{margin:1rem 0 0;font-size:.75rem;color:var(--muted-foreground);line-height:1.45;text-align:center}.kh-shell{min-height:100vh;min-height:100dvh;background:var(--background)}.kh-shell-main{display:flex;flex-direction:column;min-width:0;min-height:0;height:100vh;height:100dvh;margin-left:var(--kh-sidebar-width, 64px);background:var(--background)}.kh-sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#00000080}.kh-sidebar-trigger{position:fixed;left:0;top:0;bottom:0;z-index:29;display:none}.kh-sidebar{position:fixed;top:0;left:0;z-index:30;height:100%;height:100dvh;overflow:hidden;display:flex;flex-direction:column;background:var(--sidebar-surface);border-right:1px solid var(--sidebar-border);box-shadow:4px 0 24px #0000000f;transition:width .2s ease-out,transform .2s ease-out;will-change:width;contain:layout style}.kh-sidebar-inner{display:flex;flex-direction:column;height:100%;min-height:0;width:100%;min-width:0}.kh-sidebar-header{display:flex;align-items:center;flex-shrink:0;min-width:0;border-bottom:1px solid var(--sidebar-border)}.kh-sidebar-header--expanded{justify-content:space-between;gap:.375rem;padding:.85rem .65rem .75rem}.kh-sidebar-header--collapsed{justify-content:center;padding:.6rem .4rem}.kh-sidebar-brand{position:relative;display:block;flex-shrink:0;overflow:hidden;text-decoration:none}.kh-sidebar-header--expanded .kh-sidebar-brand{flex:1;min-width:0;height:6.5rem}.kh-sidebar-header--collapsed .kh-sidebar-brand{width:100%;height:3.5rem}.kh-sidebar-logo{position:absolute;left:50%;top:50%;object-fit:contain;pointer-events:none;transition:opacity .2s ease-out}.kh-sidebar-logo--icon{width:auto;height:auto;max-width:calc(100% - .25rem);max-height:3rem;opacity:0;transform:translate(-50%,-50%)}.kh-sidebar-logo--icon.visible{opacity:1}.kh-sidebar-logo--full{height:auto;width:100%;max-width:100%;max-height:6.25rem;opacity:0;transform:translate(-50%,-50%)}.kh-sidebar-logo--full.visible{opacity:1}.kh-sidebar-close{display:inline-flex;align-items:center;justify-content:center;padding:.25rem;border:none;border-radius:.375rem;background:transparent;color:var(--foreground);cursor:pointer;flex-shrink:0}.kh-sidebar-close:hover{background:var(--sidebar-accent)}.kh-sidebar-close-icon{width:1rem;height:1rem}.kh-sidebar-tenant{display:flex;flex-direction:column;align-items:center;gap:.125rem;padding:.375rem .75rem;flex-shrink:0;border-bottom:1px solid var(--sidebar-border)}.kh-sidebar-tenant-name{font-size:.8125rem;font-weight:600;line-height:1;color:var(--sidebar-foreground);text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kh-sidebar-nav{flex:1;min-height:0;display:flex;flex-direction:column;gap:.0625rem;padding:.5rem .375rem;overflow-x:hidden;overflow-y:auto}.kh-sidebar-link{display:flex;align-items:center;min-width:0;gap:.5rem;padding:.5rem .625rem;border:none;border-left:3px solid transparent;border-radius:.375rem;font-size:.875rem;font-weight:500;color:var(--muted-foreground);text-decoration:none;cursor:pointer;background:transparent;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.kh-sidebar-link--collapsed{justify-content:center;padding:.4375rem .375rem}.kh-sidebar-link--utility{width:100%;text-align:left;font-family:inherit;font-size:.875rem;font-weight:500;line-height:1.25;color:var(--muted-foreground)}.kh-sidebar-utilities .kh-sidebar-link-label{font-size:.875rem;font-weight:500}.kh-sidebar .app-icon{width:1.25rem;height:1.25rem}.kh-sidebar-link-icon{flex-shrink:0}.kh-sidebar-link-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kh-sidebar-link:hover:not(.kh-sidebar-link--active){color:var(--sidebar-foreground);background:var(--sidebar-accent)}.kh-sidebar-link--active{color:color-mix(in srgb,var(--primary) 85%,#312e81);font-weight:500;border-left-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent);box-shadow:0 0 14px color-mix(in srgb,var(--primary) 28%,transparent)}.kh-sidebar-link--active .kh-sidebar-link-icon,.kh-sidebar-link--active .app-icon{color:color-mix(in srgb,var(--primary) 85%,#312e81)}.kh-sidebar-utilities{flex-shrink:0;display:flex;flex-direction:column;gap:.0625rem;width:100%;margin-top:auto;padding:.375rem .375rem .25rem}.kh-sidebar-utilities--collapsed{align-items:center}.kh-sidebar-account{flex-shrink:0;display:flex;flex-direction:column;gap:.0625rem;width:100%;padding:.25rem .375rem .375rem;border-top:1px solid color-mix(in srgb,var(--sidebar-border) 80%,transparent);background:color-mix(in srgb,var(--sidebar-surface) 92%,var(--card))}.kh-sidebar-account--collapsed{align-items:center}.kh-sidebar-profile{display:flex;align-items:center;gap:.5rem;min-width:0;padding:.375rem .5rem;border-radius:.375rem}.kh-sidebar-account--collapsed .kh-sidebar-profile{justify-content:center;padding:.25rem .375rem}.kh-sidebar-profile-avatar{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:999px;background:color-mix(in srgb,var(--primary) 18%,white);color:var(--primary);font-size:.625rem;font-weight:700;letter-spacing:.02em;flex-shrink:0}.kh-sidebar-profile-text{display:flex;flex-direction:column;min-width:0;gap:.1rem}.kh-sidebar-profile-name{font-size:.875rem;font-weight:600;color:var(--sidebar-foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kh-sidebar-profile-email{font-size:.75rem;color:var(--muted-foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kh-sidebar-signout:hover{color:var(--destructive)}.kh-mobile-nav-toggle{display:none;position:fixed;left:.75rem;bottom:.75rem;z-index:28;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:0;border:1px solid var(--border);border-radius:999px;background:var(--card);color:var(--foreground);box-shadow:0 4px 14px color-mix(in srgb,var(--shadow-color) 22%,transparent);cursor:pointer}.kh-mobile-nav-toggle:hover{background:var(--muted)}@media (min-width: 1024px){.kh-sidebar-trigger{display:block}.kh-sidebar-backdrop{display:none}}@media (max-width: 1023px){.kh-shell-main{margin-left:0}.kh-mobile-nav-toggle{display:inline-flex}}.kh-main{flex:1 1 auto;min-height:0;width:100%;max-width:none;margin:0;padding:1.25rem 1.5rem 2rem;overflow-x:auto}.kh-main:has(.contract-builder-page),.kh-main:has(.contracts-page-v2),.kh-main:has(.submitted-reports-page){max-width:none}.kh-main:has(.contracts-page-v2){max-width:90rem;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.contracts-page-v2.generated-contracts-page .manage-bulk-bar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.625rem 1rem;border-radius:10px;background:color-mix(in srgb,var(--primary) 8%,#fff);border:1px solid color-mix(in srgb,var(--primary) 22%,var(--border));font-size:.875rem;font-weight:500;flex-shrink:0}.contracts-page-v2 .generated-contracts-table{table-layout:fixed}.generated-contracts-table col.col-check{width:3rem}.generated-contracts-table col.col-site{width:14%}.generated-contracts-table col.col-client,.generated-contracts-table col.col-status{width:12%}.generated-contracts-table col.col-date{width:10%}.generated-contracts-table col.col-emailed{width:18%}.generated-contracts-table col.col-pdf{width:6rem}.generated-contracts-table col.col-actions{width:11rem}.contracts-page-v2 .generated-contracts-table .col-check{text-align:center;vertical-align:middle}.contracts-page-v2 .generated-contracts-table .col-check input{width:1.05rem;height:1.05rem;accent-color:var(--primary);cursor:pointer}.contracts-page-v2 .generated-contracts-table tr.row-selected td{background:color-mix(in srgb,var(--primary) 8%,#fff)}.contracts-page-v2 .generated-contracts-table td.col-client,.contracts-page-v2 .generated-contracts-table .generated-sent-to{overflow:hidden;min-width:0;overflow-wrap:anywhere;word-break:break-word}.contracts-page-v2 .generated-sent-cell{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;max-width:100%;min-width:0}.contracts-page-v2 .generated-sent-cell .generated-sent-to{font-size:.8125rem;display:block;max-width:100%}.contracts-page-v2{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;gap:1rem}.contracts-page-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;flex-shrink:0}.contracts-page-title{margin:0;font-size:1.625rem;font-weight:700;letter-spacing:-.02em;color:var(--foreground);line-height:1.2}.contracts-page-sub{margin:.35rem 0 0;font-size:.875rem;color:var(--muted-foreground)}.contracts-page-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.contracts-btn-primary{display:inline-flex;align-items:center;padding:.5rem 1rem;border-radius:10px;font-size:.875rem;font-weight:600;text-decoration:none;color:var(--primary-foreground);background:var(--primary);border:1px solid var(--primary);transition:background .15s,border-color .15s}.contracts-btn-primary:hover{background:color-mix(in srgb,var(--primary) 88%,#000);border-color:color-mix(in srgb,var(--primary) 88%,#000)}.contracts-btn-outline{display:inline-flex;align-items:center;padding:.5rem 1rem;border-radius:10px;font-size:.875rem;font-weight:500;text-decoration:none;color:var(--foreground);background:#fff;border:1px solid var(--border);transition:border-color .15s,color .15s}.contracts-btn-outline:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));color:var(--primary)}.contracts-toolbar-v2{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;flex-shrink:0}.contracts-search-v2{flex:1 1 18rem;min-width:12rem;max-width:32rem;display:flex;align-items:center;gap:.5rem;height:2.625rem;padding:0 1rem;border:1px solid var(--border);border-radius:10px;background:#fff;box-shadow:0 1px 2px #0f172a0a}.contracts-search-v2:focus-within{border-color:color-mix(in srgb,var(--primary) 50%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}.contracts-search-icon{flex-shrink:0;color:var(--muted-foreground)}.contracts-search-v2 input{flex:1;min-width:0;border:none;background:transparent;font-size:.875rem;color:var(--foreground);outline:none}.contracts-search-v2 input::placeholder{color:var(--muted-foreground)}.contracts-filter-pills{display:flex;flex-wrap:wrap;gap:.5rem;margin-left:auto}.contracts-pill-field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:.5rem 2.25rem .5rem .875rem;border:1px solid var(--border);border-radius:10px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E") no-repeat right .55rem center / 1rem;font-size:.875rem;font-weight:500;color:var(--foreground);cursor:pointer;transition:border-color .15s,box-shadow .15s}.contracts-pill-field select:hover{border-color:color-mix(in srgb,var(--foreground) 18%,var(--border))}.contracts-pill-field select:focus{outline:none}.contracts-pill-field select:focus-visible{border-color:color-mix(in srgb,var(--primary) 50%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}.contracts-pill-field select.is-active{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 30%,transparent)}.contracts-table-card{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 1px 3px #0f172a0f;overflow:hidden}.contracts-page-v2 .contracts-table-scroll{flex:1 1 auto;min-height:0;overflow:auto;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.contracts-table-v2{width:100%;min-width:56rem;border-collapse:collapse}.contracts-table-v2.contracts-table-sites{table-layout:fixed}.contracts-table-sites col.col-check{width:3rem}.contracts-table-sites col.col-site{width:14%}.contracts-table-sites col.col-client{width:13%}.contracts-table-sites col.col-type,.contracts-table-sites col.col-date{width:10%}.contracts-table-sites col.col-sent{width:9%}.contracts-table-sites col.col-signed{width:11%}.contracts-table-sites col.col-actions{width:11rem}.contracts-table-sites thead th.col-check,.contracts-table-sites tbody td.col-check{width:3rem;min-width:3rem;max-width:3rem;padding-left:.75rem;padding-right:.5rem;text-align:center;vertical-align:middle;box-sizing:border-box}.contracts-table-sites .col-check input{width:1.05rem;height:1.05rem;margin:0;accent-color:var(--primary);cursor:pointer;vertical-align:middle}.contracts-table-sites tbody tr.row-selected td{background:color-mix(in srgb,var(--primary) 8%,#fff)}.contracts-table-v2 thead th{position:sticky;top:0;z-index:2;padding:.875rem 1rem;text-align:left;font-size:.8125rem;font-weight:600;color:var(--foreground);background:#fff;border-bottom:1px solid var(--border);white-space:nowrap;vertical-align:middle}.contracts-th-sort{display:inline-flex;align-items:center;gap:.35rem;min-height:1.25rem;margin:0;padding:0;border:none;background:none;font:inherit;font-weight:600;color:inherit;cursor:pointer;white-space:nowrap}.contracts-th-sort:hover{color:var(--primary)}.contracts-sort-icon{font-size:.7rem;line-height:1;color:var(--muted-foreground)}.contracts-th-sort:hover .contracts-sort-icon{color:var(--primary)}.contracts-table-v2 tbody td{padding:1rem;font-size:.875rem;line-height:1.4;color:var(--foreground);border-bottom:1px solid color-mix(in srgb,var(--border) 65%,transparent);vertical-align:middle;text-align:left}.contracts-table-v2 tbody tr:last-child td{border-bottom:none}.contracts-table-v2 tbody tr:hover td{background:color-mix(in srgb,var(--primary) 4%,#fff)}.contracts-table-v2 thead th .contracts-th-label{display:inline-flex;align-items:center;gap:.35rem;min-height:1.25rem;font-weight:600}.contracts-table-v2 .col-primary,.contracts-table-v2 .col-site{font-weight:500}.contracts-table-v2 .col-client{font-weight:400;color:var(--foreground)}.contracts-table-v2 .col-type{vertical-align:middle}.contracts-table-v2 .col-muted{color:var(--muted-foreground)}.contracts-table-v2 .col-actions{width:11rem;min-width:11rem;max-width:11rem;text-align:right;white-space:nowrap;vertical-align:middle;padding-right:1rem;padding-left:.5rem;box-sizing:border-box}.contracts-table-v2 thead th.col-actions{text-align:right;z-index:3}.contracts-cell-actions{display:inline-flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:.5rem;width:100%}.contracts-table-v2 thead th.col-check,.contracts-table-v2 tbody td.col-check{text-align:center;vertical-align:middle}.contracts-pill{display:inline-block;padding:.2rem .55rem;border-radius:6px;font-size:.75rem;font-weight:600;line-height:1.35;white-space:nowrap}.contracts-pill-neutral{background:#f3f4f6;color:#4b5563}.contracts-pill-success,.contracts-pill-signed{background:color-mix(in srgb,var(--operaxy-mint) 18%,#fff);color:#047857}.contracts-pill-pending{background:#fef3c7;color:#b45309}.contracts-row-btn{display:inline-flex;align-items:center;justify-content:center;padding:.4rem .875rem;border:1px solid var(--border);border-radius:8px;font-size:.8125rem;font-weight:500;text-decoration:none;color:var(--foreground);background:#fff;transition:border-color .15s,color .15s}.contracts-row-btn:hover{border-color:var(--primary);color:var(--primary)}.contracts-empty{padding:2.5rem 1rem!important;text-align:center;color:var(--muted-foreground)}.contracts-table-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;padding:.75rem 1rem;border-top:1px solid var(--border);background:#fff;flex-shrink:0}.contracts-result-count{font-size:.8125rem;color:var(--muted-foreground)}.contracts-pagination{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.contracts-page-size{display:inline-flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--muted-foreground)}.contracts-page-size select{padding:.35rem 1.75rem .35rem .5rem;border:1px solid var(--border);border-radius:8px;font-size:.8125rem;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E") no-repeat right .35rem center / .9rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:var(--foreground)}.contracts-page-nav{display:inline-flex;align-items:center;gap:.35rem}.contracts-page-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.35rem .65rem;border:none;border-radius:8px;background:transparent;font-size:.8125rem;font-weight:500;color:var(--foreground);cursor:pointer}.contracts-page-btn:hover:not(:disabled){background:var(--muted)}.contracts-page-btn:disabled{opacity:.4;cursor:not-allowed}.contracts-page-num{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;padding:0 .35rem;border:1px solid var(--border);border-radius:8px;font-size:.8125rem;font-weight:600}.contracts-page-v2 .loading-msg{padding:2rem;text-align:center;color:var(--muted-foreground)}@media (max-width: 720px){.contracts-filter-pills{margin-left:0;width:100%}.contracts-pill-field{flex:1 1 auto}.contracts-pill-field select{width:100%}.contracts-search-v2{max-width:none;flex-basis:100%}}.kh-main:has(.dashboard-page){background:var(--background)}.dashboard-page{max-width:80rem;width:100%;color:var(--foreground)}.dashboard-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 1.25rem;margin-bottom:1.5rem}.dashboard-header-text{min-width:0}.dashboard-header h1{margin:0 0 .25rem;font-size:1.625rem;font-weight:700;letter-spacing:-.02em;color:var(--foreground)}.dashboard-sub{margin:0;font-size:.9375rem;line-height:1.45;color:var(--secondary-foreground)}.dashboard-tenant{font-weight:600;color:var(--accent-foreground)}.dashboard-header-cta{flex-shrink:0;align-self:center}.dashboard-error{margin:0 0 1rem;color:var(--destructive);font-size:.875rem}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:.875rem;margin-bottom:1.75rem}.dashboard-stat-card{display:flex;flex-direction:column;gap:.2rem;padding:1.125rem 1.25rem;border-radius:.75rem;background:var(--card);border:1px solid var(--border);box-shadow:none;text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.dashboard-stat-card:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--border));box-shadow:0 2px 8px color-mix(in srgb,var(--shadow-color) 12%,transparent);transform:translateY(-1px)}.dashboard-stat-value{font-size:2rem;font-weight:800;line-height:1.05;letter-spacing:-.03em;color:var(--primary);font-variant-numeric:tabular-nums}.dashboard-stat-label{font-size:.75rem;font-weight:500;color:var(--secondary-foreground);line-height:1.35}.dashboard-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(17rem,32%);gap:1.25rem;align-items:start}.dashboard-main{min-width:0;display:flex;flex-direction:column;gap:1.25rem}.dashboard-panel-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem}.dashboard-panel-head h2,.dashboard-widget-title{margin:0;font-size:1rem;font-weight:700;color:var(--foreground);letter-spacing:-.01em}.dashboard-panel-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.8125rem;font-weight:600;color:var(--primary);text-decoration:none}.dashboard-panel-link:hover{text-decoration:underline}.dashboard-activity-card{background:var(--card);border:1px solid var(--border);border-radius:.75rem;box-shadow:none;overflow:hidden}.dashboard-activity-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.dashboard-activity-table{width:100%;min-width:36rem;border-collapse:collapse}.dashboard-activity-table thead th{padding:.65rem 1rem;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-align:left;color:var(--secondary-foreground);background:color-mix(in srgb,var(--muted) 45%,var(--card));border-bottom:1px solid var(--border)}.dashboard-activity-table tbody td{padding:.75rem 1rem;font-size:.875rem;background:var(--card);border-bottom:1px solid color-mix(in srgb,var(--border) 65%,var(--card));vertical-align:middle}.dashboard-activity-table tbody tr:last-child td{border-bottom:none}.dashboard-activity-table tbody tr:hover td{background:color-mix(in srgb,var(--primary) 5%,var(--card))}.dashboard-activity-type{font-weight:600;color:var(--primary);text-decoration:none;white-space:nowrap}.dashboard-activity-type:hover{text-decoration:underline}.dashboard-activity-primary{font-weight:500;color:var(--foreground)}.dashboard-activity-muted{color:var(--secondary-foreground)}.dashboard-activity-empty{margin:0;padding:2rem 1.25rem;font-size:.875rem;color:var(--secondary-foreground);text-align:center;background:var(--card)}.dashboard-activity-empty a{color:var(--primary);font-weight:600}.dashboard-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));gap:.65rem}.dashboard-tile{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.85rem .65rem;border-radius:.75rem;background:var(--card);border:1px solid var(--border);box-shadow:none;text-decoration:none;color:inherit;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.dashboard-tile:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--border));box-shadow:0 2px 8px color-mix(in srgb,var(--shadow-color) 10%,transparent);transform:translateY(-1px)}.dashboard-tile-icon{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:.5rem;background:color-mix(in srgb,var(--primary) 12%,var(--card));color:var(--primary)}.dashboard-tile-label{font-size:.6875rem;font-weight:600;text-align:center;line-height:1.3;color:var(--accent-foreground)}.dashboard-sidebar{display:flex;flex-direction:column;gap:1rem;min-width:0}.dashboard-widget{padding:1rem 1.1rem;background:var(--card);border:1px solid var(--border);border-radius:.75rem;box-shadow:none}.dashboard-widget-title{margin-bottom:.75rem}.dashboard-widget-muted{margin:0;font-size:.8125rem;line-height:1.45;color:var(--secondary-foreground)}.dashboard-pending-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem}.dashboard-pending-item{display:flex;align-items:flex-start;gap:.5rem;padding:.65rem .75rem .65rem .85rem;border-radius:.5rem;background:color-mix(in srgb,var(--accent) 55%,var(--card));border:1px solid var(--border);border-left:3px solid var(--primary);font-size:.8125rem;font-weight:600;line-height:1.4;color:var(--accent-foreground);text-decoration:none;transition:background .15s ease,border-color .15s ease}.dashboard-pending-item span{flex:1;min-width:0}.dashboard-pending-item:hover{background:var(--accent);border-color:var(--border);border-left-color:var(--primary);color:var(--foreground)}.dashboard-pending-icon{flex-shrink:0;margin-top:.1rem;color:var(--primary)}.dashboard-quick-links{display:flex;flex-direction:column;gap:.35rem}.dashboard-quick-link{display:flex;align-items:center;gap:.55rem;padding:.55rem .65rem;border-radius:.5rem;font-size:.8125rem;font-weight:600;color:var(--accent-foreground);text-decoration:none;transition:background .15s ease,color .15s ease}.dashboard-quick-link .app-icon:last-child{margin-left:auto;color:var(--muted-foreground)}.dashboard-quick-link:hover{background:var(--muted);color:var(--primary)}.dashboard-quick-link--primary{background:color-mix(in srgb,var(--accent) 40%,var(--card));border:1px solid var(--border);border-left:3px solid var(--primary);color:var(--primary)}.dashboard-quick-link--primary:hover{background:var(--accent)}.dashboard-pill{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;line-height:1.35;white-space:nowrap;background:var(--muted);color:var(--secondary-foreground);border:1px solid var(--border)}.dashboard-pill--success{background:color-mix(in srgb,var(--card) 85%,var(--primary) 15%);color:var(--foreground);border-color:color-mix(in srgb,var(--primary) 22%,var(--border))}.dashboard-pill--pending{background:color-mix(in srgb,var(--accent) 35%,var(--card));color:var(--accent-foreground);border-color:var(--border)}@media (max-width: 960px){.dashboard-body{grid-template-columns:1fr}.dashboard-sidebar{order:-1}}@media (max-width: 520px){.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-stat-value{font-size:1.625rem}.dashboard-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}.kh-main:has(.contracts-page-v2.manage-page){max-width:90rem}.contracts-page-v2.manage-page .manage-bulk-bar{display:flex;align-items:center;gap:1rem;padding:.625rem 1rem;border-radius:10px;background:color-mix(in srgb,var(--primary) 8%,#fff);border:1px solid color-mix(in srgb,var(--primary) 22%,var(--border));font-size:.875rem;font-weight:500;flex-shrink:0}.contracts-page-v2.manage-page .manage-clients-table{table-layout:fixed;width:100%;min-width:56rem}.contracts-page-v2.manage-page .manage-clients-table col.col-check{width:3rem}.contracts-page-v2.manage-page .manage-clients-table col.col-name{width:16%}.contracts-page-v2.manage-page .manage-clients-table col.col-address{width:26%}.contracts-page-v2.manage-page .manage-clients-table col.col-postcode{width:9%}.contracts-page-v2.manage-page .manage-clients-table col.col-contact{width:24%}.contracts-page-v2.manage-page .manage-clients-table col.col-invoice-term{width:9%}.contracts-page-v2.manage-page .manage-clients-table col.col-actions{width:11rem}.contracts-page-v2.manage-page .manage-clients-table .col-check{width:3rem;text-align:center;vertical-align:middle}.contracts-page-v2.manage-page .manage-clients-table .col-check input{width:1.05rem;height:1.05rem;accent-color:var(--primary);cursor:pointer}.contracts-page-v2.manage-page .manage-clients-table tr.row-selected td{background:color-mix(in srgb,var(--primary) 8%,#fff)}.contracts-page-v2.manage-page .manage-clients-table td.col-contact,.contracts-page-v2.manage-page .manage-clients-table td.col-address{overflow:hidden;min-width:0;word-break:break-word;overflow-wrap:anywhere}.contracts-page-v2.manage-page .manage-cell-stack{display:flex;flex-direction:column;justify-content:center;gap:.2rem;min-height:1.4em;line-height:1.4;max-width:100%;min-width:0;overflow:hidden}.contracts-page-v2.manage-page .manage-cell-stack span{display:block;max-width:100%;min-width:0;overflow-wrap:anywhere;word-break:break-word}.contracts-page-v2.manage-page .manage-cell-email{font-size:.8125rem}.contracts-page-v2.manage-page .manage-clients-table thead th.col-check,.contracts-page-v2.manage-page .manage-clients-table tbody td.col-check{vertical-align:middle}.contracts-page-v2.manage-page .manage-row-btn-danger{color:var(--destructive)!important;border-color:color-mix(in srgb,var(--destructive) 35%,var(--border))!important}.contracts-page-v2.manage-page .manage-row-btn-danger:hover{border-color:var(--destructive)!important;background:color-mix(in srgb,var(--destructive) 8%,#fff)!important}@media (max-width: 1100px){.contracts-page-v2.manage-page .manage-clients-table th:nth-child(4),.contracts-page-v2.manage-page .manage-clients-table td:nth-child(4),.contracts-page-v2.manage-page .manage-clients-table th:nth-child(6),.contracts-page-v2.manage-page .manage-clients-table td:nth-child(6){display:none}}.kh-main:has(.manage-page-v2){max-width:90rem;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.manage-page-v2{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden;gap:1rem}.manage-page-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;flex-shrink:0}.manage-page-title{margin:0;font-size:1.625rem;font-weight:700;letter-spacing:-.02em;color:var(--foreground);line-height:1.2}.manage-page-sub{margin:.35rem 0 0;font-size:.875rem;color:var(--muted-foreground)}.manage-page-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.manage-toolbar-v2{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;flex-shrink:0}.manage-toolbar-end{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-left:auto}.manage-tabs-v2{display:inline-flex;gap:.35rem;padding:.2rem;border:1px solid var(--border);border-radius:10px;background:#fff}.manage-tabs-v2 button{padding:.45rem .9rem;border:none;border-radius:8px;background:transparent;font-size:.875rem;font-weight:500;color:var(--muted-foreground);cursor:pointer;transition:background .15s,color .15s}.manage-tabs-v2 button:hover{color:var(--foreground)}.manage-tabs-v2 button.is-active{background:color-mix(in srgb,var(--primary) 12%,#fff);color:var(--primary);font-weight:600;box-shadow:0 1px 2px #0f172a0f}.manage-clear-btn{padding:.5rem .75rem;border:none;border-radius:10px;background:transparent;font-size:.875rem;font-weight:500;color:var(--primary);cursor:pointer}.manage-clear-btn:hover{background:color-mix(in srgb,var(--primary) 8%,#fff)}.manage-page-v2 .manage-table-card{flex:1 1 auto;min-height:0}.manage-page-v2 .manage-loading{padding:2rem;text-align:center;color:var(--muted-foreground)}.manage-page-v2 .manage-bulk-bar{flex-shrink:0;margin-bottom:0}.manage-page-v2 .manage-table-v2{table-layout:fixed}.manage-page-v2 .manage-table-clients{min-width:52rem}.manage-page-v2 .manage-table-sites{min-width:72rem}.manage-page-v2 .manage-table-clients col.col-check{width:3rem}.manage-page-v2 .manage-table-clients col.col-name{width:15%}.manage-page-v2 .manage-table-clients col.col-address{width:24%}.manage-page-v2 .manage-table-clients col.col-postcode{width:9%}.manage-page-v2 .manage-table-clients col.col-contact{width:22%}.manage-page-v2 .manage-table-clients col.col-invoice-term{width:11%}.manage-page-v2 .manage-table-clients col.col-actions{width:10.5rem}.manage-page-v2 .manage-table-sites col.col-check{width:3rem}.manage-page-v2 .manage-table-sites col.col-name{width:13%}.manage-page-v2 .manage-table-sites col.col-client{width:11%}.manage-page-v2 .manage-table-sites col.col-address{width:16%}.manage-page-v2 .manage-table-sites col.col-email{width:13%}.manage-page-v2 .manage-table-sites col.col-rates{width:14%}.manage-page-v2 .manage-table-sites col.col-contract{width:10%}.manage-page-v2 .manage-table-sites col.col-sent{width:9%}.manage-page-v2 .manage-table-sites col.col-actions{width:10.5rem}.manage-page-v2 .manage-table-v2 thead th.col-check{text-align:center;width:3rem}.manage-page-v2 .manage-table-v2 .col-check{text-align:center;vertical-align:middle}.manage-page-v2 .manage-table-v2 .col-check input{width:1.05rem;height:1.05rem;margin:0;cursor:pointer;accent-color:var(--primary)}.manage-page-v2 .manage-table-v2 .col-name{font-weight:600}.manage-page-v2 .manage-table-v2 .col-postcode{font-family:var(--font-mono);font-size:.8125rem;letter-spacing:.02em}.manage-page-v2 .manage-table-v2 .col-address,.manage-page-v2 .manage-table-v2 .col-contact,.manage-page-v2 .manage-table-v2 .col-email{overflow:hidden;text-overflow:ellipsis;word-break:break-word}.manage-page-v2 .manage-table-v2 .col-actions{position:sticky;right:0;z-index:2;min-width:10.5rem;text-align:right;background:#fff;box-shadow:-6px 0 8px -4px #0f172a14}.manage-page-v2 .manage-table-v2 thead th.col-actions{z-index:3;text-align:right}.manage-page-v2 .manage-table-v2 tbody tr:hover td.col-actions{background:color-mix(in srgb,var(--primary) 4%,#fff)}.manage-page-v2 .manage-table-v2 tr.row-selected td,.manage-page-v2 .manage-table-v2 tr.row-selected td.col-actions{background:color-mix(in srgb,var(--primary) 8%,#fff)}.manage-page-v2 .manage-table-v2 .cell-actions{display:flex;flex-wrap:nowrap;gap:.5rem;align-items:center;justify-content:flex-end}.manage-page-v2 .manage-table-v2 .cell-stack{display:flex;flex-direction:column;gap:.2rem}.manage-page-v2 .manage-table-v2 .cell-stack .muted,.manage-page-v2 .manage-table-v2 .col-muted{font-size:.8125rem;color:var(--muted-foreground)}.manage-page-v2 .manage-table-v2 .cell-empty{color:var(--muted-foreground)}.manage-page-v2 .manage-table-v2 .col-invoice-term{white-space:nowrap}.manage-page-v2 .manage-table-v2 .empty-cell{padding:2.5rem 1rem!important;text-align:center;color:var(--muted-foreground)}.manage-row-btn-danger{color:var(--destructive)!important;border-color:color-mix(in srgb,var(--destructive) 35%,var(--border))!important}.manage-row-btn-danger:hover{border-color:var(--destructive)!important;background:color-mix(in srgb,var(--destructive) 8%,#fff)!important}@media (max-width: 1100px){.manage-page-v2 .manage-table-clients{min-width:44rem}.manage-page-v2 .manage-table-clients .col-postcode,.manage-page-v2 .manage-table-clients th.col-postcode,.manage-page-v2 .manage-table-clients .col-invoice-term,.manage-page-v2 .manage-table-clients th.col-invoice-term{display:none}.manage-page-v2 .manage-table-sites{min-width:58rem}.manage-page-v2 .manage-table-sites .col-sent,.manage-page-v2 .manage-table-sites th.col-sent,.manage-page-v2 .manage-table-sites .col-rates,.manage-page-v2 .manage-table-sites th.col-rates{display:none}}@media (max-width: 900px){.manage-page-v2 .manage-table-sites{min-width:44rem}.manage-page-v2 .manage-table-sites .col-contract,.manage-page-v2 .manage-table-sites th.col-contract,.manage-page-v2 .manage-table-sites .col-email,.manage-page-v2 .manage-table-sites th.col-email{display:none}}@media (max-width: 720px){.manage-toolbar-v2{flex-direction:column;align-items:stretch}.manage-toolbar-v2 .contracts-search-v2{max-width:none;flex-basis:100%}.manage-toolbar-end{margin-left:0;width:100%;justify-content:space-between}}@media (max-width: 768px){.manage-page-head{flex-direction:column;align-items:stretch}.kh-main:has(.manage-page-v2){padding-left:1rem;padding-right:1rem}}.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-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-bottom:1rem}.manage-toolbar-start{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;flex:1 1 auto;min-width:0}.manage-tabs{display:flex;gap:.5rem;margin-bottom:0}.manage-tabs button{padding:.5rem 1rem;height:2.25rem;box-sizing:border-box;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);font-size:.875rem;line-height:1.25;white-space:nowrap}.manage-tabs button.active{border-color:var(--oxygen-blue);color:var(--oxygen-blue);background:var(--oxygen-blue-dim)}.manage-inline-filter select,.manage-toolbar-search input{padding:.5rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text);font-size:.875rem;line-height:1.25;height:2.25rem;box-sizing:border-box}.manage-inline-filter select{min-width:9rem}.manage-toolbar-search{flex:1 1 14rem;max-width:22rem;margin-left:auto}.manage-toolbar-search input{width:100%;max-width:none}.manage-clear-filters{white-space:nowrap}.btn-primary-sm{display:inline-block;padding:.5rem 1rem;background:var(--primary);color:var(--primary-foreground);border-radius:calc(var(--radius) * .65);font-weight:600;font-size:.875rem;text-decoration:none;border:none;cursor:pointer}.btn-danger-sm{padding:.5rem 1rem;background:transparent;color:var(--destructive);border:1px solid rgba(248,81,73,.45);border-radius:8px;font-weight:600;font-size:.875rem;cursor:pointer}.btn-danger-sm:hover:not(:disabled){background:#f851491f}.btn-danger-sm:disabled,.btn-primary-sm:disabled{opacity:.5;cursor:not-allowed}.manage-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.manage-bulk-bar{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem;padding:.625rem 1rem;border-radius:calc(var(--radius) * .5);background:color-mix(in srgb,var(--primary) 8%,#fff);border:1px solid color-mix(in srgb,var(--primary) 22%,var(--border));font-size:.875rem;font-weight:500}.data-table-wrap:has(.manage-table){background:#fff;border:1px solid var(--border);border-radius:calc(var(--radius) * .65);box-shadow:var(--shadow-app);overflow:hidden}.manage-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.manage-table{--manage-row: #fff;--manage-row-alt: color-mix(in srgb, var(--muted) 42%, #fff);--manage-row-hover: color-mix(in srgb, var(--primary) 5%, #fff);--manage-row-selected: color-mix(in srgb, var(--primary) 10%, #fff);table-layout:fixed;width:100%}.manage-table-clients col.col-check{width:3rem}.manage-table-clients col.col-name{width:15%}.manage-table-clients col.col-address{width:24%}.manage-table-clients col.col-postcode{width:9%}.manage-table-clients col.col-contact{width:22%}.manage-table-clients col.col-invoice-term{width:11%}.manage-table-clients col.col-actions{width:10.5rem}.manage-table-sites col.col-check{width:3rem}.manage-table-sites col.col-name{width:13%}.manage-table-sites col.col-client{width:11%}.manage-table-sites col.col-address{width:16%}.manage-table-sites col.col-email{width:13%}.manage-table-sites col.col-rates{width:14%}.manage-table-sites col.col-contract{width:10%}.manage-table-sites col.col-sent{width:9%}.manage-table-sites col.col-actions{width:10.5rem}.manage-type-filters{display:inline-flex;flex-wrap:wrap;gap:.35rem;align-items:center}.manage-type-filters button{padding:.45rem .85rem;height:2.25rem;box-sizing:border-box;background:var(--bg-card);border:1px solid var(--border);border-radius:999px;color:var(--text-muted);font-size:.8125rem;line-height:1.25;white-space:nowrap;cursor:pointer}.manage-type-filters button:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--border));color:var(--foreground)}.manage-type-filters button.active{border-color:var(--primary);color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--bg-card));font-weight:600}.manage-table thead th{position:sticky;top:0;z-index:4;padding:.75rem 1rem;background:color-mix(in srgb,var(--muted) 55%,#fff);border-bottom:2px solid var(--border);color:var(--muted-foreground);font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;vertical-align:middle;overflow:hidden}.manage-table thead th.col-check{text-align:center;padding-left:1rem;padding-right:.5rem}.manage-table tbody td{padding:.875rem 1rem;vertical-align:top;line-height:1.45;border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent);background:var(--manage-row)}.manage-table tbody tr:nth-child(2n) td{background:var(--manage-row-alt)}.manage-table tbody tr:hover td{background:var(--manage-row-hover)}.manage-table tbody tr:last-child td{border-bottom:none}.manage-table .col-check{width:3rem;padding-left:1rem;padding-right:.5rem;text-align:center;vertical-align:middle}.manage-table .col-check input{width:1.05rem;height:1.05rem;margin:0;cursor:pointer;accent-color:var(--primary);border-radius:4px}.manage-table .col-name{font-weight:600;color:var(--foreground)}.manage-table .col-address{color:var(--foreground);overflow:hidden;text-overflow:ellipsis;word-break:break-word}.manage-table .col-contact,.manage-table .col-email{overflow:hidden;word-break:break-word}.manage-table .col-postcode{font-family:var(--font-mono);font-size:.8125rem;letter-spacing:.02em;white-space:nowrap}.manage-table .cell-empty{color:var(--text-muted)}.manage-table .col-actions,.manage-table td.col-actions{position:sticky;right:0;z-index:2;min-width:10.5rem;border-left:1px solid color-mix(in srgb,var(--border) 80%,transparent);background:var(--manage-row)}.manage-table tbody tr:nth-child(2n) td.col-actions{background:var(--manage-row-alt)}.manage-table tbody tr:hover td.col-actions{background:var(--manage-row-hover)}.manage-table thead .col-actions{z-index:5;text-align:right;text-transform:uppercase;background:color-mix(in srgb,var(--muted) 55%,#fff)}.manage-table tr.row-selected td,.manage-table tr.row-selected td.col-actions{background:var(--manage-row-selected)}.manage-table .cell-actions{display:flex;flex-wrap:nowrap;gap:.5rem;align-items:center;justify-content:flex-end}.manage-table .cell-actions .btn-danger-sm{padding:.35rem .7rem;font-size:.8125rem;border-radius:calc(var(--radius) * .35)}.manage-table .cell-stack{gap:.2rem}.manage-table .cell-stack .muted{font-size:.8125rem}.manage-table-clients{min-width:52rem}.manage-table-sites{min-width:72rem}.manage-table .col-invoice-term{min-width:7rem;white-space:nowrap}.manage-table .th-sort{display:flex;align-items:center;gap:.35rem;width:100%;max-width:100%;background:none;border:none;padding:0;margin:0;font:inherit;font-weight:inherit;font-size:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;text-align:left;overflow:hidden}.manage-table .th-sort>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.manage-table .th-sort:hover{color:var(--primary)}.manage-table .th-sort .sort-indicator{flex-shrink:0;font-size:.625rem;line-height:1;opacity:.45}.manage-table .th-sort:hover .sort-indicator,.manage-table .th-sort[aria-sort=ascending] .sort-indicator,.manage-table .th-sort[aria-sort=descending] .sort-indicator{opacity:1;color:var(--primary)}.data-table.manage-table tbody td{padding:.875rem 1rem;border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.data-table.manage-table thead th{padding:.75rem 1rem;background:color-mix(in srgb,var(--muted) 55%,#fff);border-bottom:2px solid var(--border);font-size:.6875rem;font-weight:700;letter-spacing:.06em}@media (max-width: 1100px){.manage-table-clients{min-width:44rem}.manage-table-clients .col-postcode,.manage-table-clients th.col-postcode,.manage-table-clients .col-invoice-term,.manage-table-clients th.col-invoice-term{display:none}.manage-table-sites{min-width:58rem}.manage-table-sites .col-sent,.manage-table-sites th.col-sent,.manage-table-sites .col-rates,.manage-table-sites th.col-rates{display:none}}@media (max-width: 900px){.manage-table-sites{min-width:44rem}.manage-table-sites .col-contract,.manage-table-sites th.col-contract,.manage-table-sites .col-email,.manage-table-sites th.col-email{display:none}}@media (max-width: 768px){.manage-toolbar{flex-direction:column;align-items:stretch}.manage-toolbar-start{width:100%}.manage-toolbar-search{flex:1 1 100%;max-width:none;width:100%;margin-left:0}.manage-header{flex-direction:column;align-items:stretch}.manage-actions{justify-content:flex-start}}@media (max-width: 640px){.manage-page-v2 .manage-table-card{overflow:visible;border:none;background:transparent;box-shadow:none}.manage-page-v2 .contracts-table-scroll{overflow-x:visible}.data-table-wrap:has(.manage-table){overflow:visible;border:none;background:transparent;box-shadow:none}.manage-page-v2 .manage-table-clients,.manage-page-v2 .manage-table-sites{min-width:0;width:100%;table-layout:auto}.manage-page-v2 .manage-table-v2 colgroup,.manage-page-v2 .manage-table-v2 thead{display:none}.manage-page-v2 .contracts-table-footer{border:1px solid var(--border);border-radius:12px;margin-top:.5rem;background:#fff}.manage-page-v2 .manage-table-v2 tbody tr{display:block;position:relative;margin-bottom:.75rem;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:0 1px 3px #0f172a0f;overflow:hidden}.manage-page-v2 .manage-table-v2 tbody tr:hover td,.manage-page-v2 .manage-table-v2 tbody tr.row-selected td,.manage-page-v2 .manage-table-v2 tbody tr:hover td.col-actions,.manage-page-v2 .manage-table-v2 tbody tr.row-selected td.col-actions{background:transparent}.manage-page-v2 .manage-table-v2 tbody tr.row-selected{outline:2px solid color-mix(in srgb,var(--primary) 40%,transparent);outline-offset:-1px}.manage-page-v2 .manage-table-v2 tbody td{display:grid;grid-template-columns:minmax(5.25rem,36%) 1fr;align-items:start;gap:.2rem .65rem;padding:.5rem 1rem;border-bottom:1px solid color-mix(in srgb,var(--border) 65%,transparent);white-space:normal;overflow:visible;text-overflow:unset}.manage-page-v2 .manage-table-v2 tbody td:before{content:attr(data-label);font-size:.6875rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-foreground)}.manage-page-v2 .manage-table-v2 tbody td.col-check{position:absolute;top:.6rem;right:.75rem;z-index:1;display:flex;justify-content:flex-end;padding:0;border:none;width:auto;min-width:0;box-shadow:none}.manage-page-v2 .manage-table-v2 tbody td.col-check:before{display:none}.manage-page-v2 .manage-table-v2 tbody td.col-name{display:block;padding:.85rem 2.75rem .65rem 1rem;font-size:1rem;font-weight:600;border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.manage-page-v2 .manage-table-v2 tbody td.col-name:before{display:none}.manage-page-v2 .manage-table-v2 tbody td.col-actions{display:block;position:static;min-width:0;border-left:none;padding:.75rem 1rem 1rem;box-shadow:none}.manage-page-v2 .manage-table-v2 tbody td.col-actions:before{display:none}.manage-page-v2 .manage-table-v2 .cell-actions{justify-content:flex-start;flex-wrap:wrap}.manage-page-v2 .manage-table-v2 tbody td.empty-cell{display:block;text-align:center;padding:1.25rem 1rem}.manage-page-v2 .manage-table-v2 tbody td.empty-cell:before{display:none}.manage-page-v2 .manage-table-v2 .col-address{overflow:visible;text-overflow:unset}.manage-page-v2 .manage-table-v2 .col-postcode{white-space:normal}.manage-page-v2 .manage-table-clients .col-postcode,.manage-page-v2 .manage-table-clients .col-invoice-term,.manage-page-v2 .manage-table-sites .col-sent,.manage-page-v2 .manage-table-sites .col-rates,.manage-page-v2 .manage-table-sites .col-contract,.manage-page-v2 .manage-table-sites .col-email,.manage-page-v2 .manage-table-v2 tbody td.col-postcode,.manage-page-v2 .manage-table-v2 tbody td.col-invoice-term,.manage-page-v2 .manage-table-v2 tbody td.col-sent,.manage-page-v2 .manage-table-v2 tbody td.col-rates,.manage-page-v2 .manage-table-v2 tbody td.col-contract,.manage-page-v2 .manage-table-v2 tbody td.col-email{display:grid}}.btn-table-edit{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--primary);font-size:.8125rem;font-weight:600;text-decoration:none;white-space:nowrap}.btn-table-edit:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--card));text-decoration:none}.generated-contracts-table .col-check{width:2.5rem;text-align:center}.generated-contracts-table .col-check input{width:1rem;height:1rem;cursor:pointer}.generated-contracts-table tr.row-selected td{background:var(--oxygen-blue-dim)}.btn-link-action{background:none;border:none;color:var(--oxygen-blue);font-size:.8125rem;padding:0;cursor:pointer;text-decoration:none}.btn-link-action:hover:not(:disabled){text-decoration:underline}.badge-contract-pending_signature{background:#d2992233;color:#d29922}.badge-contract-fully_executed{background:#3fb95033;color:#3fb950}.badge-contract-expired{background:#8b949e33;color:var(--text-muted)}.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{display:inline-flex;align-items:center;gap:.3rem;color:var(--primary);text-decoration:none;font-size:.8125rem}.cell-actions a:hover{text-decoration:underline}.link-danger{display:inline-flex;align-items:center;gap:.3rem;background:none;border:none;color:var(--destructive);font-size:.8125rem;padding:0;text-decoration:underline;cursor:pointer}.btn-primary-sm,.btn-danger-sm,.btn-secondary,.btn-link-action{display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.btn-text{background:none;border:none;color:var(--oxygen-blue);font-size:.875rem;padding:0;cursor:pointer;text-decoration:underline}.btn-text:hover{opacity:.85}.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{flex:1 1 12rem;min-width:10rem}.contracts-search input{width:100%;max-width:20rem}.contracts-table .th-sort{display:inline-flex;align-items:center;gap:.2rem;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-hint-block{margin:0 0 .85rem;font-size:.8125rem;color:var(--text-muted);line-height:1.45}.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-success-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1.25rem}.alarm-success-actions .btn-primary-sm,.alarm-success-actions button{margin-top:0}.alarm-email-failed{border-color:#f8514973}.alarm-email-failed h2{color:var(--destructive)}.alarm-email-failed p{text-align:left;line-height:1.5}.kh-main:has(.alarm-report-page){max-width:none;width:100%;padding:clamp(1rem,2.5vw,1.75rem) clamp(1rem,3vw,2rem) 2rem;overflow-x:hidden;overflow-y:auto}.alarm-report-page{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:64rem;margin:0 auto}.alarm-report-page-head{flex-shrink:0}.alarm-report-page-body--centered{display:flex;align-items:center;justify-content:center;flex:1;min-height:min(20rem,calc(100dvh - 14rem))}.alarm-report-form{width:100%;margin:0;display:flex;flex-direction:column;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:12px;padding:0;overflow:hidden;box-shadow:0 1px 2px #0f172a0d,0 4px 16px #0f172a14}.alarm-report-header{flex-shrink:0;padding:.85rem clamp(1rem,2.5vw,1.75rem);border-bottom:1px solid var(--border)}.alarm-report-title{margin:0;font-size:1.25rem;font-weight:700;letter-spacing:-.02em;color:var(--primary)}.alarm-report-body{display:flex;flex-direction:column}.alarm-report-section{padding:clamp(.65rem,1.5vw,1rem) clamp(1rem,2.5vw,1.75rem)}.alarm-section--meta{border-bottom:1px solid var(--border)}.alarm-report-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:stretch;border-bottom:1px solid var(--border)}.alarm-report-split>.alarm-report-section{display:flex;flex-direction:column;min-height:100%}.alarm-report-split--bottom{grid-template-columns:minmax(12rem,.42fr) minmax(0,1fr)}.alarm-section-body{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.alarm-section-body--time{justify-content:flex-end}.alarm-field--grow{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.alarm-section-title{margin:0 0 .45rem;font-size:.625rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground)}.alarm-meta-grid{display:grid;grid-template-columns:1.35fr 1fr .75fr 1fr;gap:.5rem .75rem}@media (max-width: 900px){.alarm-meta-grid{grid-template-columns:1fr 1fr}.alarm-report-split,.alarm-report-split--bottom{grid-template-columns:1fr}}@media (max-width: 520px){.alarm-meta-grid{grid-template-columns:1fr}.alarm-report-header{padding:.75rem 1rem}.alarm-report-section{padding:.65rem 1rem}.alarm-cause-chip-text{white-space:normal;text-align:center}}.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:.45rem .65rem;background:var(--card);border:1px solid var(--border);border-radius:8px;color:var(--foreground);font-size:.875rem;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:color-mix(in srgb,var(--foreground) 25%,var(--border))}.alarm-input:focus,.alarm-textarea:focus,.alarm-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.alarm-input--prefilled{background:color-mix(in srgb,var(--muted) 55%,#fff);color:var(--muted-foreground);cursor:default}.alarm-input--prefilled:focus{border-color:var(--border);box-shadow:none}.alarm-input[type=date],.alarm-input[type=time]{color-scheme:light}.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:4.5rem;resize:vertical;line-height:1.45}.alarm-textarea--fill{width:100%;min-height:7.5rem;resize:vertical}.alarm-cause-chips{display:flex;flex-wrap:wrap;align-content:flex-start;gap:.4rem;flex:1 1 auto}.alarm-cause-chip{display:inline-flex;align-items:center;justify-content:center;margin:0;padding:.35rem .7rem;border:1px solid var(--border);border-radius:999px;background:transparent;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease,box-shadow .15s ease}.alarm-cause-chip:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--border));background:color-mix(in srgb,var(--primary) 6%,#fff)}.alarm-cause-chip.is-selected{border-color:var(--primary);background:var(--primary);box-shadow:0 1px 2px color-mix(in srgb,var(--primary) 35%,transparent)}.alarm-cause-chip:has(:focus-visible){outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 22%,transparent)}.alarm-cause-chip.is-selected:has(:focus-visible){box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 22%,transparent),0 1px 2px color-mix(in srgb,var(--primary) 35%,transparent)}.alarm-cause-chip-text{font-size:.75rem;font-weight:600;line-height:1.2;color:var(--foreground);white-space:nowrap}.alarm-cause-chip.is-selected .alarm-cause-chip-text{color:var(--primary-foreground)}.alarm-time-hint{margin:.45rem 0 0;font-size:.6875rem;color:var(--muted-foreground);line-height:1.35}.alarm-time-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}@media (max-width: 400px){.alarm-time-grid{grid-template-columns:1fr}}.alarm-section--signature .alarm-section-body{display:flex;flex-direction:column}.alarm-signature-panel{position:relative;width:100%;min-height:5.5rem;height:5.5rem;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#fafaf9}.alarm-signature-canvas{display:block;width:100%!important;height:5.5rem!important;touch-action:none}.alarm-signature-clear{position:absolute;bottom:.4rem;right:.4rem;padding:.25rem .55rem;font-size:.6875rem;font-weight:500;color:var(--muted-foreground);background:#fff;border:1px solid var(--border);border-radius:6px;transition:color .15s ease,border-color .15s ease}.alarm-signature-clear:hover{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 40%,var(--border))}.alarm-signature-clear:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.alarm-form-error{flex-shrink:0;margin:0 clamp(1rem,2.5vw,1.75rem) .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{flex-shrink:0;padding:.75rem clamp(1rem,2.5vw,1.75rem) clamp(.85rem,2vw,1.25rem);background:color-mix(in srgb,var(--muted) 35%,#fff);border-top:1px solid var(--border)}.alarm-btn-submit{width:100%;padding:.6rem 1rem;font-size:.9375rem;font-weight:600;letter-spacing:.01em;color:var(--primary-foreground);background:var(--primary);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 color-mix(in srgb,var(--primary) 25%,transparent)}.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:var(--destructive);font-size:.875rem;margin-bottom:.75rem}.btn-submit{width:100%;padding:.75rem;background:var(--primary);color:var(--primary-foreground);border:none;border-radius:calc(var(--radius) * .65);font-weight:600;margin-top:.5rem}.btn-submit:disabled{opacity:.7;cursor:not-allowed}.kh-main:has(.contract-builder-page){flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden;max-width:none;padding:0}.contract-builder-page{flex:1 1 auto;min-height:0;width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;background:var(--background)}.contract-builder-page--loading{align-items:center;justify-content:center;padding:2rem}.cb-controls-bar{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;padding:1rem;background:var(--card);border-bottom:1px solid var(--border);flex-shrink:0}.cb-controls-fields{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.65rem .85rem;flex:1 1 auto;min-width:0}.cb-controls-field{display:flex;flex-direction:column;gap:.3rem;min-width:10rem}.cb-controls-field-grow{flex:1 1 12rem;min-width:10rem;max-width:18rem}.cb-controls-field>span{font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-foreground)}.cb-controls-field select,.cb-controls-field input{padding:.45rem .65rem;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--foreground);font-size:.875rem}.cb-controls-field select:focus,.cb-controls-field input:focus{outline:none;border-color:color-mix(in srgb,var(--primary) 50%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}.cb-controls-template-row{display:flex;gap:.4rem;align-items:stretch}.cb-controls-template-row select{flex:1;min-width:8rem}.cb-controls-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;flex-shrink:0}.cb-email-toggle{display:inline-flex;align-items:center;gap:.4rem;font-size:.8125rem;color:var(--muted-foreground);white-space:nowrap}.cb-email-toggle input{margin:0}.cb-status-banner{flex-shrink:0;margin:0;padding:.5rem 1rem;font-size:.8125rem;border-bottom:1px solid var(--border)}.cb-status-banner--notice{color:var(--foreground);background:color-mix(in srgb,var(--primary) 8%,var(--card))}.cb-status-banner--error{color:var(--destructive);background:color-mix(in srgb,var(--destructive) 8%,var(--card))}.cb-workspace{display:flex;flex-direction:row;flex:1 1 auto;min-height:0;overflow:hidden;background:var(--background)}.cb-canvas-workspace,.cb-editor-column{flex:1 1 auto;min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden;background:var(--background)}.cb-format-toolbar-sticky{position:sticky;top:0;z-index:10;width:100%;flex-shrink:0;background:var(--card);border-bottom:1px solid var(--border);padding:.5rem}.cb-canvas-scroll{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;padding:2rem;display:flex;justify-content:center;align-items:flex-start;-webkit-overflow-scrolling:touch}.cb-canvas-stack{width:100%;max-width:50rem;display:flex;flex-direction:column;align-items:stretch;flex-shrink:0}.cb-toolbar-canvas{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;width:100%;padding:0;border:none;background:transparent;position:relative}.cb-toolbar-vdivider{width:1px;height:1.5rem;background:var(--border);margin:0 .25rem;flex-shrink:0;align-self:center}.cb-toolbar-btn--canvas{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;padding:0 .4rem;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--accent-foreground);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.cb-toolbar-btn--canvas:hover:not(:disabled):not(.is-active){background:var(--muted);border-color:var(--border);color:var(--foreground)}.cb-toolbar-btn--canvas.is-active{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.cb-toolbar-btn--canvas:disabled{opacity:.4;cursor:not-allowed}.cb-toolbar-btn--canvas .app-icon{color:currentColor}.cb-toolbar-canvas .cb-toolbar-select{height:2rem;max-width:8.5rem;font-size:.75rem}.cb-toolbar-select-heading{max-width:7.5rem}.cb-toolbar-canvas .cb-toolbar-color-wrap{width:2rem;height:2rem}.cb-toolbar-group--table{position:relative}.cb-toolbar-popover{position:absolute;top:calc(100% + 4px);left:0;z-index:30;min-width:11rem;padding:.35rem;border:1px solid var(--border);border-radius:8px;background:var(--card);box-shadow:0 8px 24px color-mix(in srgb,var(--shadow-color) 25%,transparent)}.cb-toolbar-popover button{display:flex;align-items:center;gap:.45rem;width:100%;padding:.45rem .5rem;border:none;border-radius:6px;background:transparent;font-size:.8125rem;color:var(--foreground);text-align:left;cursor:pointer}.cb-toolbar-popover button:hover:not(:disabled){background:var(--muted)}.cb-toolbar-popover button:disabled{opacity:.45;cursor:not-allowed}.cb-btn-secondary,.cb-btn-primary,.cb-btn-ghost{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:8px;font-size:.875rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s,transform .1s}.cb-btn-secondary{border:1px solid var(--border);background:#fff;color:var(--foreground)}.cb-btn-secondary:hover:not(:disabled){border-color:color-mix(in srgb,var(--primary) 35%,var(--border));color:var(--primary)}.cb-btn-primary{border:1px solid var(--primary);background:var(--primary);color:var(--primary-foreground);box-shadow:0 1px 2px #0f172a14}.cb-btn-primary:hover:not(:disabled){filter:brightness(1.06);box-shadow:0 4px 14px color-mix(in srgb,var(--primary) 38%,transparent);transform:translateY(-1px)}.cb-btn-primary:active:not(:disabled){transform:translateY(0)}.cb-btn-primary:disabled,.cb-btn-secondary:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.cb-btn-ghost{border:1px solid var(--border);background:#fff;color:var(--muted-foreground);padding:.5rem .65rem}.cb-btn-danger-ghost:hover:not(:disabled){border-color:color-mix(in srgb,var(--destructive) 40%,var(--border));color:var(--destructive)}.cb-editor-wrap{display:flex;flex-direction:column;width:100%;border:none;border-radius:0;background:transparent;overflow:visible}.cb-toolbar-loading{margin:0;padding:.75rem 1rem;font-size:.8125rem;color:var(--muted-foreground)}.cb-toolbar-btn{color:var(--muted-foreground)}.cb-toolbar-btn .app-icon{color:currentColor}.cb-toolbar-btn:hover,.cb-toolbar-btn.active{color:var(--primary)}.cb-toolbar-dropdown-trigger.icon-text{color:var(--muted-foreground)}.cb-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;padding:.5rem .65rem;border-bottom:1px solid var(--border);background:var(--card);flex-shrink:0;position:relative;z-index:2}.cb-toolbar-rich{flex-direction:column;align-items:stretch;gap:.4rem}.cb-toolbar-document,.cb-toolbar-word{flex-wrap:wrap;gap:.25rem .35rem;padding:.45rem .75rem;border-bottom:none;background:#fff}.cb-toolbar-word{justify-content:flex-start}.cb-toolbar-document .cb-toolbar-btn--compact,.cb-toolbar-word .cb-toolbar-btn--compact{min-width:1.75rem;width:1.75rem;height:1.75rem;padding:0;border-radius:5px;background:transparent}.cb-toolbar-document .cb-toolbar-btn--compact:hover,.cb-toolbar-document .cb-toolbar-btn--compact.active,.cb-toolbar-word .cb-toolbar-btn--compact:hover,.cb-toolbar-word .cb-toolbar-btn--compact.active{background:color-mix(in srgb,var(--primary) 8%,#fff)}.cb-toolbar-document .cb-toolbar-letter{font-size:.8125rem;font-weight:700;line-height:1;color:currentColor}.cb-toolbar-document .cb-toolbar-letter--italic{font-style:italic}.cb-toolbar-document .cb-toolbar-letter--underline{text-decoration:underline;text-underline-offset:2px}.cb-toolbar-document .cb-toolbar-divider{height:1.125rem;flex-shrink:0}.cb-toolbar-document .cb-toolbar-select{height:1.75rem;font-size:.6875rem}.cb-toolbar-clear-btn{margin-left:auto;flex-shrink:0;padding:.25rem .55rem;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--muted-foreground);font-size:.6875rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease}.cb-toolbar-clear-btn:hover{color:var(--primary);background:color-mix(in srgb,var(--primary) 6%,#fff);border-color:color-mix(in srgb,var(--primary) 20%,var(--border))}.cb-toolbar-clear-btn:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.cb-toolbar-row{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem}.cb-toolbar-select-wrap{display:inline-flex;align-items:center}.cb-toolbar-select{height:2rem;padding:0 .5rem;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--foreground);font-size:.75rem;max-width:9rem}.cb-toolbar-select-narrow{max-width:4.5rem}.cb-toolbar-color-wrap{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid var(--border);border-radius:6px;background:#fff;overflow:hidden;cursor:pointer}.cb-toolbar-color{width:2.5rem;height:2.5rem;padding:0;border:none;margin:-.25rem;cursor:pointer}.cb-toolbar-highlight{background:linear-gradient(180deg,#fef08a 40%,#fff 40%)}.cb-toolbar-text-btn{font-size:.8125rem;font-weight:600;line-height:1}.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:var(--card);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{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;padding:0 .45rem;border:1px solid transparent;border-radius:6px;background:var(--bg-input);color:var(--muted-foreground);font-size:.8125rem;cursor:pointer}.cb-toolbar-dropdown-trigger{gap:.35rem}.cb-toolbar-menu button{display:flex;align-items:center;gap:.5rem}.cb-toolbar-btn:hover{color:var(--text);border-color:var(--border)}.cb-toolbar-btn.active{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 35%,transparent);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{width:100%;overflow:visible;padding:0;background:transparent;display:block}.cb-paper-sheet{width:100%;max-width:50rem;min-height:65.625rem;margin:1rem 0;padding:3rem;background:#fff;border:1px solid var(--border);border-radius:2px;box-shadow:0 4px 6px #0f172a14;flex-shrink:0}.cb-canvas-stack>.cb-paper-sheet{margin-top:0;border-radius:2px}.cb-paper-sheet .cb-editor-prose>*:first-child{margin-top:0}.cb-paper-sheet>div{min-height:30rem}.cb-editor-prose{min-height:30rem;color:var(--foreground);outline:none;width:100%;max-width:none;margin:0;padding:0;font-size:.9375rem;line-height:1.65}.cb-editor-prose h1{font-size:1.5rem;margin:0 0 .75rem;color:var(--foreground);font-weight:700}.cb-editor-prose h2{font-size:1.15rem;margin:1rem 0 .5rem;color:var(--foreground);font-weight:700}.cb-editor-prose h3{font-size:1rem;margin:.75rem 0 .5rem;color:var(--foreground);font-weight:700}.cb-editor-prose p{margin:0 0 .75rem}.cb-editor-prose blockquote{margin:0 0 .75rem;padding-left:1rem;border-left:3px solid var(--border);color:var(--muted-foreground)}.cb-editor-prose a{color:var(--primary);text-decoration:underline}.cb-editor-prose code{font-family:var(--font-mono);font-size:.875em;padding:.1em .35em;border-radius:4px;background:var(--muted);color:var(--foreground)}.cb-editor-prose mark{border-radius:2px;padding:0 .1em}.cb-editor-prose hr{border:none;border-top:1px solid var(--border);margin:1rem 0}.cb-editor-prose ul,.cb-editor-prose ol{margin:0 0 .75rem 1.25rem}.cb-editor-prose table{width:100%;border-collapse:collapse;margin:0 0 .75rem;font-size:.875rem}.cb-editor-prose th,.cb-editor-prose td{border:1px solid #d1d5db;padding:.4rem .55rem;vertical-align:top}.cb-editor-prose th{background:#f3f4f6;font-weight:600}.break-inside-avoid,.keep-together,.contract-section,.contract-section p,.contract-section table,.contract-section tr,.cb-editor-prose p,.cb-editor-prose li,.cb-editor-prose table,.cb-editor-prose tr,.cb-editor-prose .contract-table,.cb-editor-prose .contract-table-row{break-inside:avoid;page-break-inside:avoid}.cb-editor-prose thead{display:table-header-group}@media print{.cb-editor-prose p,.cb-editor-prose li,.cb-editor-prose h2,.cb-editor-prose h3,.cb-editor-prose table,.cb-editor-prose tr,.contract-section,.contract-section--authorization,.authorization-box,.authorization-stacked{break-inside:avoid;page-break-inside:avoid}.cb-editor-prose thead{display:table-header-group}}.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-signature-section{width:100%;max-width:50rem;flex-shrink:0;margin:0 0 1rem;display:flex;flex-direction:column;gap:.4rem}.cb-signature-label{font-size:.6875rem;font-weight:600;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.06em}.cb-signature-panel{display:flex;flex-direction:column;width:100%;max-width:20rem;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#fafaf9;flex-shrink:0}.cb-signature-pad{width:100%;height:5.5rem;flex-shrink:0}.cb-signature-canvas{display:block;width:100%!important;height:5.5rem!important}.cb-signature-actions{display:flex;justify-content:flex-end;padding:.35rem .5rem;border-top:1px solid var(--border);background:#fff;flex-shrink:0}.cb-signature-clear{padding:.2rem .5rem;font-size:.6875rem;font-weight:500;color:var(--muted-foreground);background:transparent;border:1px solid var(--border);border-radius:6px;cursor:pointer}.cb-signature-clear:hover{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 40%,var(--border))}.cb-variables-sidebar{flex:0 0 300px;width:300px;height:100%;min-height:0;display:flex;flex-direction:column;background:#f5f5f4;border-left:1px solid #d6d3d1;overflow:hidden}.cb-variables-sidebar-head{flex-shrink:0;padding:1rem 1rem .75rem;border-bottom:1px solid #d6d3d1}.cb-variables-sidebar-title{margin:0;font-size:.875rem;font-weight:700;color:var(--foreground)}.cb-variables-sidebar-hint{margin:.35rem 0 0;font-size:.75rem;line-height:1.45;color:var(--muted-foreground)}.cb-variables-scroll{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;padding:.75rem;-webkit-overflow-scrolling:touch}.cb-variables-section{margin-bottom:1rem}.cb-variables-section:last-child{margin-bottom:0}.cb-variables-section-title{margin:0 0 .5rem;padding:0 .25rem;font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-foreground)}.cb-variables-token-grid{display:grid;grid-template-columns:1fr 1fr;gap:.375rem}.cb-variables-token-btn{display:block;width:100%;min-width:0;padding:.5rem .75rem;border:1px solid #d6d3d1;border-radius:.375rem;background:#fff;color:var(--foreground);font-family:var(--font-mono);font-size:.75rem;font-weight:500;line-height:1.3;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:grab;transition:border-color .15s ease,color .15s ease,background .15s ease,box-shadow .15s ease}.cb-variables-token-btn:hover{border-color:color-mix(in srgb,var(--primary) 40%,#d6d3d1);color:var(--primary);background:#fff;box-shadow:0 1px 2px #0f172a0f}.cb-variables-token-btn:active{cursor:grabbing}.cb-variables-token-btn:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 35%,transparent)}@media (max-width: 1100px){.cb-workspace{flex-direction:column;overflow-y:auto}.cb-canvas-scroll{padding:1rem}.cb-variables-sidebar{flex:0 0 auto;width:100%;max-width:none;height:auto;max-height:18rem;border-left:none;border-top:1px solid #d6d3d1}.cb-variables-scroll{max-height:14rem}.cb-variables-token-grid{grid-template-columns:1fr 1fr}.cb-controls-field-grow{max-width:none}}html{overflow-x:clip;-webkit-text-size-adjust:100%}body{overflow-x:clip}#root{min-height:100dvh;min-width:0}.kh-shell{min-width:0;overflow-x:clip}.kh-shell-main{overflow-x:clip;min-width:0}.kh-main{overflow-x:clip;overflow-y:auto;min-width:0;padding:clamp(.75rem,2.5vw,1.25rem) clamp(.75rem,3vw,1.5rem) max(1.5rem,env(safe-area-inset-bottom,0px))}.kh-main:has(.contract-builder-page){padding:0;padding-bottom:env(safe-area-inset-bottom,0px)}@media (max-width: 1023px){.kh-shell-main{margin-left:0!important}.kh-main{padding-bottom:max(4.75rem,calc(4.75rem + env(safe-area-inset-bottom,0px)))}.kh-mobile-nav-toggle{left:max(.75rem,env(safe-area-inset-left,.75rem));bottom:max(.75rem,env(safe-area-inset-bottom,.75rem))}}@media (max-width: 768px){.contracts-page-head,.dashboard-header,.manage-header{flex-direction:column;align-items:stretch}.contracts-page-actions,.dashboard-header-cta,.manage-actions,.generated-contracts-actions{width:100%;justify-content:flex-start}.contracts-page-actions>*,.contracts-btn-primary,.contracts-btn-outline,.btn-primary-sm,.btn-secondary{flex:1 1 auto;justify-content:center;text-align:center}.contracts-toolbar-v2,.manage-toolbar,.generated-contracts-toolbar,.contracts-page-v2 .contracts-toolbar-v2{flex-direction:column;align-items:stretch;gap:.65rem}.contracts-search-v2{width:100%;max-width:none;flex:1 1 100%}.contracts-filter-pills{width:100%;margin-left:0;flex-wrap:wrap}.contracts-pill-field{flex:1 1 calc(50% - .25rem);min-width:8.5rem}.contracts-pill-field select{width:100%}.manage-toolbar-start{flex-wrap:wrap;width:100%}.contracts-page-title,.dashboard-header h1{font-size:clamp(1.25rem,5vw,1.625rem)}}@media (max-width: 480px){.contracts-pill-field{flex:1 1 100%}.contracts-page-actions{flex-direction:column}.contracts-cell-actions,.contracts-page-v2 .contracts-cell-actions{flex-direction:column;align-items:stretch}.contracts-row-btn{width:100%;justify-content:center}}@media (max-width: 1023px) and (min-width: 641px){.contracts-page-v2 .contracts-table-scroll,.submitted-reports-page .contracts-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 900px){.contracts-table-sites col.col-type,.contracts-table-sites td.col-type,.contracts-table-sites th.col-type,.generated-contracts-table col.col-client,.generated-contracts-table td.col-client,.generated-contracts-table th.col-client,.submitted-reports-table col.col-officer,.submitted-reports-table td.col-officer,.submitted-reports-table th.col-officer{display:none}}@media (max-width: 640px){.contracts-page-v2 .contracts-table-card,.submitted-reports-page .contracts-table-card{overflow:visible;border:none;background:transparent;box-shadow:none}.contracts-page-v2 .contracts-table-scroll,.submitted-reports-page .contracts-table-scroll{overflow:visible}.contracts-table-v2,.submitted-reports-page .contracts-table-v2{min-width:0!important;width:100%;table-layout:auto}.contracts-table-v2 colgroup,.submitted-reports-page .contracts-table-v2 colgroup,.contracts-table-v2 thead,.submitted-reports-page .contracts-table-v2 thead{display:none}.contracts-table-v2 tbody tr,.submitted-reports-page .contracts-table-v2 tbody tr{display:block;position:relative;margin-bottom:.75rem;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:0 1px 3px #0f172a0f;overflow:hidden}.contracts-table-v2 tbody tr:hover td,.contracts-table-v2 tbody tr.row-selected td,.submitted-reports-page .contracts-table-v2 tbody tr:hover td,.submitted-reports-page .contracts-table-v2 tbody tr.row-selected td{background:transparent}.contracts-table-v2 tbody tr.row-selected,.submitted-reports-page .contracts-table-v2 tbody tr.row-selected{outline:2px solid color-mix(in srgb,var(--primary) 40%,transparent);outline-offset:-1px}.contracts-table-v2 tbody td,.submitted-reports-page .contracts-table-v2 tbody td{display:grid;grid-template-columns:minmax(5.25rem,38%) 1fr;align-items:start;gap:.2rem .65rem;padding:.55rem 1rem;border-bottom:1px solid color-mix(in srgb,var(--border) 65%,transparent);white-space:normal;overflow:visible;text-overflow:unset;min-width:0}.contracts-table-v2 tbody td:before,.submitted-reports-page .contracts-table-v2 tbody td:before{content:attr(data-label);font-size:.6875rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-foreground)}.contracts-table-v2 tbody td.col-check,.submitted-reports-page .contracts-table-v2 tbody td.col-check{position:absolute;top:.6rem;right:.75rem;z-index:1;display:flex;justify-content:flex-end;padding:0;border:none;width:auto;min-width:0;box-shadow:none}.contracts-table-v2 tbody td.col-check:before,.submitted-reports-page .contracts-table-v2 tbody td.col-check:before{display:none}.contracts-table-v2 tbody td.col-primary,.contracts-table-v2 tbody td.col-site,.submitted-reports-page .contracts-table-v2 tbody td.col-primary{display:block;padding:.85rem 2.75rem .65rem 1rem;font-size:1rem;font-weight:600;border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.contracts-table-v2 tbody td.col-primary:before,.contracts-table-v2 tbody td.col-site:before,.submitted-reports-page .contracts-table-v2 tbody td.col-primary:before{display:none}.contracts-table-v2 tbody td.col-actions,.submitted-reports-page .contracts-table-v2 tbody td.col-actions{display:block;position:static;min-width:0;border-left:none;padding:.75rem 1rem 1rem;box-shadow:none}.contracts-table-v2 tbody td.col-actions:before,.submitted-reports-page .contracts-table-v2 tbody td.col-actions:before{display:none}.contracts-table-v2 tbody td.contracts-empty,.submitted-reports-page .contracts-table-v2 tbody td.contracts-empty{display:block;text-align:center;padding:1.25rem 1rem}.contracts-table-v2 tbody td.contracts-empty:before,.submitted-reports-page .contracts-table-v2 tbody td.contracts-empty:before{display:none}.contracts-table-v2 .col-actions,.contracts-table-v2 thead th.col-actions{position:static;box-shadow:none}.contracts-table-v2 .contracts-cell-actions{flex-wrap:wrap;justify-content:flex-start}.contracts-table-footer,.contracts-page-v2 .contracts-table-footer{flex-wrap:wrap;gap:.75rem;padding:.75rem}.contracts-table-sites td.col-type,.generated-contracts-table td.col-client,.submitted-reports-table td.col-officer{display:grid}}@media (max-width: 768px){.kh-main:has(.contract-builder-page){height:auto;min-height:100dvh;overflow-y:auto;overflow-x:clip}.contract-builder-page{height:auto;min-height:100dvh;overflow:visible}.cb-controls-bar{flex-direction:column;align-items:stretch}.cb-controls-actions{width:100%;flex-wrap:wrap}.cb-controls-actions .cb-btn{flex:1 1 calc(50% - .25rem);min-width:8rem}.cb-toolbar{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:.25rem}.cb-toolbar-group{flex-shrink:0}}@media (max-width: 480px){.cb-controls-actions .cb-btn{flex:1 1 100%}.cb-variables-token-grid{grid-template-columns:1fr}}@media (max-width: 640px){.login-card{padding:1.5rem}.form-card,.success-card{padding:1.25rem}.alarm-success-actions{flex-direction:column;align-items:stretch}.alarm-success-actions .btn-primary-sm,.alarm-success-actions button,.alarm-success-actions a{width:100%}}@media (max-width: 380px){.dashboard-stats{grid-template-columns:1fr}}
