:root{--kp-color-primary: #0b6b3a;--kp-color-primary-hover: #074c2b;--kp-color-primary-soft: #e6f2ec;--kp-color-primary-contrast: #ffffff;--kp-color-accent: #d5a928;--kp-color-accent-hover: #b78e1c;--kp-color-accent-contrast: #3a2e00;--kp-color-bg: #f4f6f5;--kp-color-surface: #ffffff;--kp-color-surface-alt: #f8faf9;--kp-color-border: #dce5e1;--kp-color-border-strong: #c3d0cb;--kp-color-text: #10221e;--kp-color-text-muted: #5b6b68;--kp-color-text-subtle: #8a9a96;--kp-color-focus-ring: #0b6b3a;--kp-color-success: #16a34a;--kp-color-success-bg: #f0fdf4;--kp-color-success-border: #bbf7d0;--kp-color-warning: #b8790a;--kp-color-warning-bg: #fff7e6;--kp-color-warning-border: #f5d48a;--kp-color-error: #c2413a;--kp-color-error-bg: #fef2f2;--kp-color-error-border: #f3c6c3;--kp-color-offline: #64748b;--kp-color-offline-bg: #f1f5f9;--kp-color-offline-border: #cbd5e1;--kp-color-pending: #b8790a;--kp-color-pending-bg: #fff7e6;--kp-color-pending-border: #f5d48a;--kp-color-suspended: #7a1f1f;--kp-color-suspended-bg: #fbeaea;--kp-color-suspended-border: #e9b8b5;--kp-color-info: #1d4ed8;--kp-color-info-bg: #eff6ff;--kp-color-info-border: #bfdbfe;--kp-space-1: 4px;--kp-space-2: 8px;--kp-space-3: 12px;--kp-space-4: 16px;--kp-space-5: 24px;--kp-space-6: 32px;--kp-space-7: 40px;--kp-space-8: 48px;--kp-radius-sm: 6px;--kp-radius-md: 10px;--kp-radius-lg: 14px;--kp-radius-full: 999px;--kp-shadow-sm: 0 1px 2px rgba(16, 34, 30, .06);--kp-shadow-md: 0 4px 16px rgba(16, 34, 30, .08);--kp-shadow-lg: 0 16px 40px rgba(16, 34, 30, .16);--kp-font-sans: "Segoe UI", Inter, Roboto, -apple-system, BlinkMacSystemFont, Helvetica, Arial, sans-serif;--kp-font-mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--kp-font-size-xs: 12px;--kp-font-size-sm: 13px;--kp-font-size-base: 14px;--kp-font-size-md: 16px;--kp-font-size-lg: 18px;--kp-font-size-xl: 22px;--kp-font-size-2xl: 28px;--kp-line-height-base: 1.5;--kp-z-dropdown: 100;--kp-z-sticky: 200;--kp-z-overlay: 900;--kp-z-modal: 1000;--kp-z-toast: 1100}*,*:before,*:after{box-sizing:border-box}.kp-focusable:focus-visible,.kp-btn:focus-visible,.kp-input:focus-visible,.kp-select:focus-visible,.kp-textarea:focus-visible,a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--kp-color-focus-ring);outline-offset:2px}.kp-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--kp-space-2);font-family:var(--kp-font-sans);font-size:var(--kp-font-size-base);font-weight:600;line-height:1;border-radius:var(--kp-radius-sm);border:1px solid transparent;padding:10px 16px;min-height:40px;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,opacity .12s ease;white-space:nowrap}.kp-btn:disabled{cursor:not-allowed;opacity:.55}.kp-btn--primary{background:var(--kp-color-primary);border-color:var(--kp-color-primary);color:var(--kp-color-primary-contrast)}.kp-btn--primary:hover:not(:disabled){background:var(--kp-color-primary-hover);border-color:var(--kp-color-primary-hover)}.kp-btn--secondary{background:var(--kp-color-surface);border-color:var(--kp-color-border-strong);color:var(--kp-color-text)}.kp-btn--secondary:hover:not(:disabled){background:var(--kp-color-surface-alt)}.kp-btn--danger{background:var(--kp-color-error);border-color:var(--kp-color-error);color:#fff}.kp-btn--danger:hover:not(:disabled){filter:brightness(.92)}.kp-btn--ghost{background:transparent;border-color:transparent;color:var(--kp-color-text-muted);padding:8px 10px;min-height:34px}.kp-btn--ghost:hover:not(:disabled){background:var(--kp-color-surface-alt);color:var(--kp-color-text)}.kp-btn--sm{min-height:32px;padding:6px 12px;font-size:var(--kp-font-size-sm)}.kp-btn__spinner{width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:kp-spin .7s linear infinite}@keyframes kp-spin{to{transform:rotate(360deg)}}.kp-field{display:flex;flex-direction:column;gap:var(--kp-space-1)}.kp-field__label{font-size:var(--kp-font-size-sm);font-weight:600;color:var(--kp-color-text)}.kp-field__hint{font-size:var(--kp-font-size-xs);color:var(--kp-color-text-muted)}.kp-field__error{display:flex;align-items:center;gap:var(--kp-space-1);font-size:var(--kp-font-size-xs);color:var(--kp-color-error);font-weight:600}.kp-field--invalid .kp-input,.kp-field--invalid .kp-select,.kp-field--invalid .kp-textarea{border-color:var(--kp-color-error)}.kp-required{color:var(--kp-color-error);margin-left:2px}.kp-input,.kp-select,.kp-textarea{font-family:var(--kp-font-sans);font-size:var(--kp-font-size-base);color:var(--kp-color-text);background:var(--kp-color-surface);border:1px solid var(--kp-color-border-strong);border-radius:var(--kp-radius-sm);padding:9px 12px;min-height:40px;width:100%}.kp-textarea{min-height:84px;resize:vertical}.kp-input:disabled,.kp-select:disabled,.kp-textarea:disabled{background:var(--kp-color-surface-alt);color:var(--kp-color-text-muted);cursor:not-allowed}.kp-input::placeholder,.kp-textarea::placeholder{color:var(--kp-color-text-subtle)}.kp-link-button{background:none;border:none;padding:0;color:var(--kp-color-primary);font:inherit;font-weight:600;cursor:pointer;text-align:left}.kp-link-button:hover{text-decoration:underline}.kp-card{background:var(--kp-color-surface);border:1px solid var(--kp-color-border);border-radius:var(--kp-radius-md);box-shadow:var(--kp-shadow-sm)}.kp-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--kp-space-4);padding:var(--kp-space-4) var(--kp-space-5);border-bottom:1px solid var(--kp-color-border)}.kp-card__title{font-size:var(--kp-font-size-md);font-weight:700;color:var(--kp-color-text);margin:0}.kp-card__description{font-size:var(--kp-font-size-sm);color:var(--kp-color-text-muted);margin:var(--kp-space-1) 0 0}.kp-card__body{padding:var(--kp-space-5)}.kp-card__body--flush{padding:0}.kp-badge{display:inline-flex;align-items:center;gap:var(--kp-space-1);font-size:var(--kp-font-size-xs);font-weight:700;letter-spacing:.02em;text-transform:uppercase;padding:3px 10px;border-radius:var(--kp-radius-full);border:1px solid transparent;line-height:1.6;white-space:nowrap}.kp-badge--success{background:var(--kp-color-success-bg);border-color:var(--kp-color-success-border);color:var(--kp-color-success)}.kp-badge--warning{background:var(--kp-color-warning-bg);border-color:var(--kp-color-warning-border);color:var(--kp-color-warning)}.kp-badge--error{background:var(--kp-color-error-bg);border-color:var(--kp-color-error-border);color:var(--kp-color-error)}.kp-badge--offline{background:var(--kp-color-offline-bg);border-color:var(--kp-color-offline-border);color:var(--kp-color-offline)}.kp-badge--pending{background:var(--kp-color-pending-bg);border-color:var(--kp-color-pending-border);color:var(--kp-color-pending)}.kp-badge--suspended{background:var(--kp-color-suspended-bg);border-color:var(--kp-color-suspended-border);color:var(--kp-color-suspended)}.kp-badge--info{background:var(--kp-color-info-bg);border-color:var(--kp-color-info-border);color:var(--kp-color-info)}.kp-badge--neutral{background:var(--kp-color-surface-alt);border-color:var(--kp-color-border);color:var(--kp-color-text-muted)}.kp-badge__dot{width:6px;height:6px;border-radius:50%;background:currentColor}.kp-table-wrap{overflow:auto;border-radius:var(--kp-radius-md)}.kp-table{width:100%;border-collapse:collapse;font-size:var(--kp-font-size-base)}.kp-table thead th{position:sticky;top:0;z-index:var(--kp-z-sticky);background:var(--kp-color-surface-alt);text-align:left;font-size:var(--kp-font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--kp-color-text-muted);padding:var(--kp-space-3) var(--kp-space-4);border-bottom:1px solid var(--kp-color-border);white-space:nowrap}.kp-table tbody td{padding:var(--kp-space-3) var(--kp-space-4);border-bottom:1px solid var(--kp-color-border);color:var(--kp-color-text);vertical-align:middle}.kp-table tbody tr:hover{background:var(--kp-color-surface-alt)}.kp-table--compact tbody td,.kp-table--compact thead th{padding:var(--kp-space-2) var(--kp-space-3)}.kp-table__actions{display:flex;align-items:center;gap:var(--kp-space-2);justify-content:flex-end}.kp-table__cell--num{text-align:right;font-variant-numeric:tabular-nums}.kp-empty-state,.kp-loading-state,.kp-error-notice{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--kp-space-3);padding:var(--kp-space-8) var(--kp-space-5);color:var(--kp-color-text-muted)}.kp-empty-state__icon,.kp-error-notice__icon{color:var(--kp-color-text-subtle)}.kp-empty-state__title{font-weight:700;color:var(--kp-color-text);font-size:var(--kp-font-size-md);margin:0}.kp-empty-state__description{margin:0;max-width:42ch}.kp-error-notice{color:var(--kp-color-error);background:var(--kp-color-error-bg);border:1px solid var(--kp-color-error-border);border-radius:var(--kp-radius-md);padding:var(--kp-space-4);flex-direction:row;text-align:left;justify-content:flex-start}.kp-error-notice__icon{color:var(--kp-color-error);flex-shrink:0}.kp-loading-state__spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--kp-color-border-strong);border-top-color:var(--kp-color-primary);animation:kp-spin .8s linear infinite}.kp-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--kp-space-3)}.kp-toolbar__search{position:relative;flex:1 1 260px;min-width:200px}.kp-toolbar__search .kp-input{padding-left:36px}.kp-toolbar__search-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--kp-color-text-subtle);pointer-events:none}.kp-toolbar__actions{display:flex;align-items:center;gap:var(--kp-space-2);margin-left:auto}.kp-filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--kp-space-2)}.kp-filter-bar__chip{display:inline-flex;align-items:center;gap:var(--kp-space-1)}.kp-filter-bar__select{min-height:34px;padding:4px 10px;font-size:var(--kp-font-size-sm);border-radius:var(--kp-radius-full);border:1px solid var(--kp-color-border-strong);background:var(--kp-color-surface);color:var(--kp-color-text)}.kp-page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--kp-space-4);margin-bottom:var(--kp-space-5)}.kp-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:var(--kp-space-1);font-size:var(--kp-font-size-sm);color:var(--kp-color-text-muted);margin:0 0 var(--kp-space-2);list-style:none;padding:0}.kp-breadcrumbs li{display:flex;align-items:center;gap:var(--kp-space-1)}.kp-breadcrumbs a{color:var(--kp-color-text-muted);text-decoration:none}.kp-breadcrumbs a:hover{color:var(--kp-color-primary);text-decoration:underline}.kp-breadcrumbs__current{color:var(--kp-color-text);font-weight:600}.kp-page-header__title{font-size:var(--kp-font-size-2xl);font-weight:700;color:var(--kp-color-text);margin:0}.kp-page-header__description{font-size:var(--kp-font-size-base);color:var(--kp-color-text-muted);margin:var(--kp-space-1) 0 0;max-width:70ch}.kp-page-header__actions{display:flex;align-items:center;gap:var(--kp-space-2);flex-shrink:0}.kp-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#10221e73;z-index:var(--kp-z-overlay);display:flex}.kp-modal{margin:auto;width:min(480px,calc(100vw - 32px));max-height:calc(100vh - 64px);overflow:auto;background:var(--kp-color-surface);border-radius:var(--kp-radius-lg);box-shadow:var(--kp-shadow-lg);z-index:var(--kp-z-modal);padding:var(--kp-space-5)}.kp-drawer{margin-left:auto;height:100vh;width:min(520px,100vw);overflow:auto;background:var(--kp-color-surface);box-shadow:var(--kp-shadow-lg);z-index:var(--kp-z-modal);display:flex;flex-direction:column}.kp-drawer__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--kp-space-3);padding:var(--kp-space-5);border-bottom:1px solid var(--kp-color-border)}.kp-drawer__title{font-size:var(--kp-font-size-lg);font-weight:700;margin:0}.kp-drawer__body{padding:var(--kp-space-5);overflow-y:auto;flex:1}.kp-drawer__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--kp-space-2);padding:var(--kp-space-4) var(--kp-space-5);border-top:1px solid var(--kp-color-border)}.kp-dialog__title{font-size:var(--kp-font-size-lg);font-weight:700;margin:0 0 var(--kp-space-2);display:flex;align-items:center;gap:var(--kp-space-2)}.kp-dialog__description{font-size:var(--kp-font-size-base);color:var(--kp-color-text-muted);margin:0 0 var(--kp-space-5)}.kp-dialog__actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--kp-space-2)}.kp-module-grid{display:flex;flex-direction:column;gap:var(--kp-space-4)}.kp-module-grid__group-title{font-size:var(--kp-font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--kp-color-text-muted);margin:0 0 var(--kp-space-2)}.kp-module-grid__items{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--kp-space-2)}.kp-module-item{display:flex;align-items:flex-start;gap:var(--kp-space-2);padding:var(--kp-space-3);border:1px solid var(--kp-color-border);border-radius:var(--kp-radius-sm);background:var(--kp-color-surface);cursor:pointer}.kp-module-item:has(input:checked){border-color:var(--kp-color-primary);background:var(--kp-color-primary-soft)}.kp-module-item input[type=checkbox]{width:16px;height:16px;flex:0 0 16px;margin:2px 0 0;accent-color:var(--kp-color-primary)}.kp-module-item__label{font-weight:600;font-size:var(--kp-font-size-sm);color:var(--kp-color-text);display:block}.kp-module-item__meta{font-size:var(--kp-font-size-xs);color:var(--kp-color-text-muted);display:block;margin-top:2px}.kp-currency{font-variant-numeric:tabular-nums;font-weight:600}.kp-currency--negative{color:var(--kp-color-error)}.kp-currency--muted{font-weight:400;color:var(--kp-color-text-muted)}.kp-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:root{--color-bg: var(--kp-color-bg);--color-surface: var(--kp-color-surface);--color-background: var(--kp-color-surface-alt);--color-border: var(--kp-color-border);--color-text: var(--kp-color-text);--color-text-muted: var(--kp-color-text-muted);--color-primary: var(--kp-color-primary);--color-primary-hover: var(--kp-color-primary-hover);--color-primary-contrast: var(--kp-color-primary-contrast);--color-danger: var(--kp-color-error);--color-danger-hover: var(--kp-color-error);--color-success: var(--kp-color-success);--color-success-bg: var(--kp-color-success-bg);--color-success-border: var(--kp-color-success-border);--color-danger-bg: var(--kp-color-error-bg);--color-danger-border: var(--kp-color-error-border);--radius: var(--kp-radius-sm);--shadow-sm: var(--kp-shadow-sm);--shadow-md: var(--kp-shadow-md);--font-sans: var(--kp-font-sans);--font-mono: var(--kp-font-mono)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0 0 .5rem;letter-spacing:-.01em}p{margin:0 0 .75rem}.app-shell{min-height:100%;display:flex}.app-sidebar{width:264px;flex-shrink:0;background:#0b3d24;color:#eaf3ee;display:flex;flex-direction:column;padding:var(--kp-space-5) 0;overflow-y:auto}.app-brand{display:flex;align-items:center;gap:.6rem;padding:0 var(--kp-space-5) var(--kp-space-4)}.app-brand-mark{width:34px;height:34px;border-radius:var(--kp-radius-sm);background:var(--kp-color-accent);display:flex;align-items:center;justify-content:center;color:var(--kp-color-accent-contrast);font-weight:700;font-size:.85rem;flex-shrink:0}.app-brand-text{line-height:1.25}.app-brand-text strong{display:block;font-size:.92rem}.app-brand-text span{display:block;font-size:.72rem;color:#a9c8b7}.app-nav{display:flex;flex-direction:column;gap:var(--kp-space-1);padding:0 var(--kp-space-3);flex:1}.profile-tabs{display:flex;flex-wrap:wrap;gap:var(--kp-space-2);margin-bottom:var(--kp-space-5);border-bottom:1px solid var(--color-border);padding-bottom:var(--kp-space-2)}.profile-tabs button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--color-border);border-radius:var(--kp-radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;font-weight:600;padding:.5rem .9rem;cursor:pointer}.profile-tabs button:hover{border-color:var(--color-primary)}.profile-tabs button[aria-selected=true]{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-contrast)}.app-nav-group{margin-top:var(--kp-space-4)}.app-nav-group:first-child{margin-top:0}.app-nav-group-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#7fa392;padding:0 var(--kp-space-2) var(--kp-space-1)}.app-nav a{display:flex;align-items:center;gap:var(--kp-space-2);padding:.55rem var(--kp-space-2);border-radius:var(--kp-radius-sm);color:#cfe3d8;text-decoration:none;font-size:.87rem;font-weight:500;transition:background .12s ease,color .12s ease}.app-nav a:hover{background:#ffffff14;color:#fff}.app-nav a.active{background:#ffffff24;color:#fff;font-weight:700}.app-sidebar-footer{padding:var(--kp-space-3) var(--kp-space-5) 0;border-top:1px solid rgba(255,255,255,.12);margin-top:var(--kp-space-4)}.app-sidebar-footer a{display:flex;align-items:center;gap:var(--kp-space-2);color:#cfe3d8;text-decoration:none;font-size:.85rem;padding:.5rem;border-radius:var(--kp-radius-sm)}.app-sidebar-footer a:hover{background:#ffffff14;color:#fff}.app-main{flex:1;min-width:0;max-width:1240px;margin:0 auto;padding:var(--kp-space-6) var(--kp-space-6) var(--kp-space-8);width:100%}.app-panel-title{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--kp-color-primary-soft);background:#ffffff14;border-radius:var(--kp-radius-sm);padding:.4rem .7rem;margin:0 var(--kp-space-5) var(--kp-space-2)}@media (max-width: 960px){.app-shell{flex-direction:column}.app-sidebar{width:100%;flex-direction:row;align-items:center;padding:var(--kp-space-2) var(--kp-space-3);overflow-x:auto}.app-brand{padding:0 var(--kp-space-3) 0 0}.app-nav{flex-direction:row;padding:0}.app-nav-group{margin-top:0;display:flex;align-items:center;gap:var(--kp-space-1)}.app-nav-group-label{display:none}.app-sidebar-footer{border-top:none;margin-top:0;padding:0}.app-main{padding:var(--kp-space-4)}}.login-page{min-height:100%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top,#0f4a2c,#052113 65%);padding:1.5rem}.login-card{width:100%;max-width:380px;background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-md);padding:2.25rem 2rem}.login-card .app-brand{justify-content:center;margin-bottom:.35rem}.login-card h1{text-align:center;font-size:1.3rem}.login-subtitle{text-align:center;color:var(--color-text-muted);font-size:.88rem;margin-bottom:1.75rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.5rem 1.75rem;margin-bottom:1.5rem}.card h2{font-size:1.05rem;font-weight:700}.card-subtitle{color:var(--color-text-muted);font-size:.85rem;margin-bottom:1.25rem}form{display:flex;flex-direction:column;gap:.2rem}.form-row{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-end}.form-field{display:flex;flex-direction:column;gap:.35rem;flex:1;min-width:160px}label{font-size:.82rem;font-weight:600;color:var(--color-text-muted)}input[type=text],input[type=password],input:not([type]),select,textarea{font-family:inherit;font-size:.92rem;padding:.55rem .7rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text);outline:none;transition:border-color .12s ease,box-shadow .12s ease;margin-bottom:.9rem;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb26}textarea{font-family:var(--font-mono);font-size:.82rem;line-height:1.5;resize:vertical;min-height:360px}button{font-family:inherit;font-size:.88rem;font-weight:600;padding:.55rem 1.1rem;border-radius:6px;border:1px solid transparent;cursor:pointer;transition:background .12s ease,border-color .12s ease,opacity .12s ease}button[type=submit],.btn-primary{background:var(--color-primary);color:var(--color-primary-contrast)}button[type=submit]:hover,.btn-primary:hover{background:var(--color-primary-hover)}button[type=submit]:disabled{opacity:.6;cursor:not-allowed}button[type=button]{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}button[type=button]:hover{background:var(--color-bg)}.btn-danger{background:var(--color-surface);color:var(--color-danger);border-color:var(--color-danger-border)}.btn-danger:hover{background:var(--color-danger-bg)}table{width:100%;border-collapse:collapse;font-size:.87rem}thead th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);padding:0 .75rem .6rem;border-bottom:1px solid var(--color-border)}tbody td{padding:.7rem .75rem;border-bottom:1px solid var(--color-border);vertical-align:middle;color:var(--color-text)}tbody tr:hover td{background:#f8fafc}tbody tr:last-child td{border-bottom:none}td:first-child{font-family:var(--font-mono);font-size:.78rem;color:var(--color-text-muted)}table button{padding:.3rem .65rem;font-size:.78rem;margin-right:.4rem}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600}.badge:before{content:"";width:6px;height:6px;border-radius:50%}.badge-online{background:var(--color-success-bg);color:var(--color-success)}.badge-online:before{background:var(--color-success)}.badge-offline{background:#f1f5f9;color:var(--color-text-muted)}.badge-offline:before{background:#94a3b8}[role=alert]{background:var(--color-danger-bg);border:1px solid var(--color-danger-border);color:var(--color-danger);padding:.65rem .9rem;border-radius:6px;font-size:.85rem;margin-top:.75rem}.notice-success{background:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success);padding:.65rem .9rem;border-radius:6px;font-size:.85rem;margin-top:.75rem}.enrollment-code-result{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a;padding:.65rem .9rem;border-radius:6px;font-size:.85rem;margin-top:.75rem}.enrollment-code-result strong{font-family:var(--font-mono);letter-spacing:.03em}.field-hint{color:var(--color-text-muted);font-size:.8rem;margin-top:-.5rem;margin-bottom:.75rem}.role-grid{border:1px solid var(--color-border);border-radius:7px;display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:.65rem;margin:0 0 1rem;padding:.9rem 1rem 1rem}.role-grid legend{color:var(--color-text-muted);font-size:.8rem;font-weight:700;padding:0 .35rem}.role-grid label{display:flex;align-items:center;gap:.45rem}.role-grid-inline{display:flex;flex-wrap:wrap;gap:.35rem}.role-pill{display:inline-flex;align-items:center;padding:.15rem .55rem;border-radius:999px;background:var(--kp-color-primary-soft);color:var(--kp-color-primary);font-size:.72rem;font-weight:600}.button-row{display:flex;gap:.6rem;margin-top:.5rem}td small{color:var(--color-text-muted)}.template-type-switch{display:flex;gap:.5rem;margin-bottom:1.25rem}.template-type-switch button.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.template-designer-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:1.5rem;align-items:start}.template-controls .form-field{min-width:240px}.template-options{align-items:center;margin:.5rem 0 1rem}.template-options label{display:flex;align-items:center;gap:.4rem}.template-options select{margin-left:.4rem}.template-section-list{margin:1rem 0}.template-section-card{display:grid;grid-template-columns:auto minmax(180px,1fr) minmax(180px,1fr) auto;gap:.55rem;align-items:center;padding:.65rem;border:1px solid var(--color-border);border-radius:7px;background:#f8fafc;margin-bottom:.55rem}.template-section-card input{margin:0}.template-section-card input[type=number]{width:72px}.logo-upload input{max-width:210px}.template-field-list{display:grid;gap:.65rem;margin-bottom:1rem}.template-field-card{border:1px solid var(--color-border);border-radius:7px;padding:.7rem;background:#f8fafc}.template-field-card:active{cursor:grabbing}.template-field-heading,.template-field-settings{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.template-field-heading{margin-bottom:.55rem;text-transform:capitalize}.template-field-heading label,.template-field-settings label{display:inline-flex;align-items:center;gap:.25rem;margin-left:auto}.drag-handle{color:var(--color-text-muted);cursor:grab;font-size:1rem}.template-field-settings input,.template-field-settings select{width:auto;min-width:115px;margin:0;padding:.38rem .5rem}.template-preview-sticky{position:sticky;top:1rem}.parchi-preview{width:302px;min-height:500px;background:#fff;color:#000;padding:14px 12px;border:1px solid #cbd5e1;box-shadow:0 6px 20px #0f172a1f;font-family:Arial,Noto Nastaliq Urdu,sans-serif;font-size:12px;line-height:1.35;overflow-wrap:break-word;word-break:normal}.parchi-preview-bordered{outline:2px solid #000;outline-offset:-7px}.parchi-preview-a5{width:330px;min-height:467px;padding:12px}.parchi-preview-a5 .parchi-preview-field{display:inline-block;width:50%;vertical-align:top;border-bottom:1px solid #d1d5db}.parchi-preview-clinical-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:7px}.parchi-preview-clinical{border:1px solid #94a3b8;border-radius:4px;padding:4px;display:flex;flex-direction:column;font-size:7px;text-transform:uppercase}.parchi-preview-clinical strong[dir=rtl]{text-align:right}.parchi-preview-clinical small{border-top:1px solid #d1d5db;margin-top:4px;padding-top:3px;font-size:6px}.parchi-preview-clinical.section-chief_complaints,.parchi-preview-clinical.section-medicines,.parchi-preview-clinical.section-advice{grid-column:1 / -1}.parchi-preview-clinical.section-doctor_signature{grid-column:2;border-width:0 0 1px;text-align:right}.parchi-preview-masthead{display:grid;grid-template-columns:66px minmax(0,1fr) 66px;align-items:center;gap:3px}.parchi-preview-government-logo{width:66px;height:66px;object-fit:contain;justify-self:end}.parchi-preview-a5 .parchi-preview-masthead{grid-template-columns:126px minmax(0,1fr) 126px;padding-bottom:0;margin-top:-9px;margin-bottom:-12px}.parchi-preview-a5 .parchi-preview-masthead .parchi-preview-logo{width:126px;height:126px;object-fit:contain;margin:0}.parchi-preview-a5 .parchi-preview-government-logo{width:63px;height:63px}.parchi-preview-a5 .parchi-preview-header{font:700 15px Arial,sans-serif}.parchi-preview-a5 .parchi-preview-identity{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr) minmax(0,1fr);border:1px solid #777}.parchi-preview-footer-row{display:flex;align-items:center;gap:6px;font-size:9px}.parchi-preview-footer-barcode{width:48%;flex:none}.parchi-preview-qr{width:66px;flex:none}.parchi-preview-qr svg{display:block;width:100%;height:auto}.parchi-preview-clinical.section-investigations{grid-column:1/-1}.reference-columns{display:grid;grid-template-columns:27% minmax(0,1fr) 15%;grid-template-rows:repeat(6,minmax(50px,1fr));gap:0;border-block:1px solid #777;min-height:420px}.reference-columns .parchi-preview-clinical{border:0;border-radius:0;min-height:0!important;padding:6px;display:block;font-size:8px}.reference-columns strong{display:block;font-weight:500}.reference-columns .section-chief_complaints{grid-column:1;grid-row:1}.reference-columns .section-vitals{grid-column:1;grid-row:2}.reference-columns .section-medication_history{grid-column:1;grid-row:3}.reference-columns .section-investigations{grid-column:1;grid-row:4}.reference-columns .section-provisional_diagnosis{grid-column:1;grid-row:5}.reference-columns .section-advice{grid-column:1;grid-row:6}.reference-columns .section-medicines{grid-column:2;grid-row:1/7;border-inline:1px solid #999;padding-bottom:40px}.reference-columns .section-medicines:before{content:"℞";font:26px Georgia,serif}.reference-columns .section-medicines small{display:none}.reference-columns .section-doctor_signature{grid-column:2;grid-row:6;align-self:end;text-align:right;z-index:1}.reference-columns .section-remarks{grid-column:3;grid-row:1/7}.parchi-preview-a5 .parchi-preview-identity .parchi-preview-field{padding:6px 8px;border-bottom:1px solid #ccc;text-align:left!important;min-width:0;overflow-wrap:break-word;word-break:normal}.parchi-preview-a5 .parchi-preview-label{display:block;font-size:9px;color:#444;font-weight:400;margin-bottom:4px}.parchi-preview-a5 .parchi-preview-barcode-wrap{grid-column:1/-1;padding:8px 30px;border-bottom:1px solid #ccc}.parchi-preview-a5 .field-parchi_number,.parchi-preview-a5 .field-issued_at{grid-column:1/-1}.parchi-preview-logo{display:block;max-width:68px;max-height:68px;object-fit:contain;margin:0 auto 4px}.parchi-preview-header,.parchi-preview-urdu,.parchi-preview h3,.parchi-preview-title-ur{text-align:center}.parchi-preview h3{font-size:18px;margin:5px 0 0}.parchi-preview-title-ur{font-size:17px;font-weight:700}.parchi-preview-divider{border-top:1px dashed #000;margin:7px 0}.parchi-preview-field{padding:2px 0}.parchi-preview-field.size-small{font-size:10px}.parchi-preview-field.size-normal{font-size:12px}.parchi-preview-field.size-large{font-size:16px}.parchi-preview-label{font-weight:600}.parchi-preview-barcode-wrap{text-align:center;margin:5px 0}.parchi-preview-barcode{height:42px;width:230px;margin:0 auto 2px;background:repeating-linear-gradient(90deg,#000 0,#000 2px,#fff 2px,#fff 4px,#000 4px,#000 5px,#fff 5px,#fff 8px)}@media (max-width: 900px){.template-designer-grid{grid-template-columns:1fr}.template-preview-sticky{position:static}}.template-designer-grid{grid-template-columns:minmax(0,1fr) minmax(330px,390px)}.template-controls{min-width:0}.template-section-card{grid-template-columns:90px minmax(150px,1fr) minmax(150px,1fr) 110px}.parchi-preview-a5{width:100%;max-width:390px;min-height:554px}.parchi-preview-a5 .parchi-preview-masthead{grid-template-columns:72px minmax(0,1fr) 72px;margin:0;padding:0}.parchi-preview-a5 .parchi-preview-masthead .parchi-preview-logo{width:68px;height:68px}.parchi-preview-a5 .parchi-preview-government-logo{width:54px;height:54px}@media (max-width: 1100px){.template-designer-grid{grid-template-columns:1fr}.template-preview-sticky{position:static;max-width:430px}.template-section-card{grid-template-columns:1fr 1fr}}.page-title-row,.range-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.range-heading small,.pathology-catalog-table td small{display:block;color:var(--color-text-muted);margin-top:.25rem}.reference-range-row{display:grid;grid-template-columns:100px repeat(4,minmax(90px,1fr)) auto;gap:.65rem;align-items:end;padding:.8rem;margin-bottom:.75rem;border:1px solid var(--color-border);border-radius:7px;background:#f8fafc}.reference-range-row label{display:grid;gap:.35rem}.reference-range-row input,.reference-range-row select,.pathology-catalog-form input[type=number]{width:100%;min-width:0;margin:0;padding:.55rem .7rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text)}.reference-range-row button{margin-bottom:0}.pathology-catalog-table{overflow-x:auto}.pathology-catalog-table table{min-width:920px}.pathology-catalog-table td:first-child{color:var(--color-text)}.urdu-name{font-size:.95rem}@media (max-width: 900px){.reference-range-row{grid-template-columns:repeat(2,minmax(120px,1fr))}.page-title-row{align-items:stretch;flex-direction:column}}.quick-link-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--kp-space-3)}.quick-link-card{display:flex;align-items:center;gap:var(--kp-space-3);text-align:left;background:var(--kp-color-surface);border:1px solid var(--kp-color-border);border-radius:var(--kp-radius-sm);padding:var(--kp-space-3) var(--kp-space-4);cursor:pointer;color:var(--kp-color-text)}.quick-link-card:hover{border-color:var(--kp-color-primary);background:var(--kp-color-primary-soft)}.quick-link-card>span{flex:1;display:flex;flex-direction:column;gap:2px}.quick-link-card small{color:var(--kp-color-text-muted);font-weight:400}.ops-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.85rem;margin-bottom:1rem}.metric-card{background:var(--color-surface);border:1px solid var(--color-border);border-top:4px solid var(--color-primary);border-radius:var(--radius);padding:1rem}.metric-card span{color:var(--color-text-muted);font-size:.8rem}.metric-card strong{display:block;font-size:1.8rem;margin-top:.35rem}.metric-good{border-top-color:var(--kp-color-success)}.metric-warn{border-top-color:var(--kp-color-warning)}.metric-danger{border-top-color:var(--kp-color-error)}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.version-row{display:flex;justify-content:space-between;border-bottom:1px solid var(--color-border);padding:.6rem 0}.empty-cell{text-align:center;color:var(--color-text-muted)}.mono-text{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--color-text-muted)}.device-summary-card{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:1rem}.device-facts{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));width:100%;margin:0;gap:.75rem}.device-facts div{background:var(--color-background);border-radius:6px;padding:.75rem}.device-facts dt{color:var(--color-text-muted);font-size:.75rem}.device-facts dd{margin:.25rem 0 0;font-weight:700}.event-list{display:grid;gap:.65rem}.event-row{border-left:4px solid #64748b;background:var(--color-background);border-radius:4px;padding:.7rem}.event-row div{display:flex;justify-content:space-between;gap:1rem}.event-row div span,.event-row small{color:var(--color-text-muted);font-size:.72rem}.event-row p{margin:.35rem 0}.level-warn{border-left-color:#d97706}.level-error{border-left-color:#dc2626}.level-info{border-left-color:#0284c7}@media (max-width: 900px){.ops-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.device-facts{grid-template-columns:repeat(2,minmax(100px,1fr))}}
