/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-bold:700;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.left-1{left:var(--spacing)}.isolate{isolation:isolate}.order-555{order:555}.row-1{grid-row:1}.row-2{grid-row:2}.\!container{width:100%!important}@media (min-width:40rem){.\!container{max-width:40rem!important}}@media (min-width:48rem){.\!container{max-width:48rem!important}}@media (min-width:64rem){.\!container{max-width:64rem!important}}@media (min-width:80rem){.\!container{max-width:80rem!important}}@media (min-width:96rem){.\!container{max-width:96rem!important}}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:0}.m-1{margin:var(--spacing)}.m-8{margin:calc(var(--spacing) * 8)}.m-9{margin:calc(var(--spacing) * 9)}.m-100{margin:calc(var(--spacing) * 100)}.m-161{margin:calc(var(--spacing) * 161)}.m-714{margin:calc(var(--spacing) * 714)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.\!hidden{display:none!important}.\!table{display:table!important}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.hidden\!{display:none!important}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.list-item{display:list-item}.table{display:table}.table-column{display:table-column}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.h-1{height:var(--spacing)}.w-11\/12{width:91.6667%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\[250px\]{max-width:250px}.min-w-0{min-width:0}.flex-shrink{flex-shrink:1}.flex-grow,.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.zoom-200{zoom:200%}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-3{gap:calc(var(--spacing) * 3)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-8{padding:calc(var(--spacing) * 8)}.p-1001{padding:calc(var(--spacing) * 1001)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.pt-1{padding-top:var(--spacing)}.pt-4{padding-top:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-right{text-align:right}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.text-wrap{text-wrap:wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.\!filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!important}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-all{-webkit-user-select:all;user-select:all}}.zk-table[data-zk-list-layout]{grid-template-columns:var(--zk-list-tracks);border-collapse:separate;border-spacing:0;width:100%;display:grid}.zk-table[data-zk-list-layout]>thead,.zk-table[data-zk-list-layout]>tbody{display:contents}.zk-table[data-zk-list-layout]>thead>tr,.zk-table[data-zk-list-layout]>tbody>tr{grid-template-columns:subgrid;border-bottom:1px solid var(--border);grid-column:1/-1;align-items:center;transition:background-color .15s;display:grid}.zk-table[data-zk-list-layout]>tbody>tr:hover{background-color:var(--surface-hover)}.zk-table[data-zk-list-layout] th,.zk-table[data-zk-list-layout] td{white-space:normal;overflow-wrap:anywhere;border-bottom:none;min-width:0}.zk-table[data-zk-list-layout] th{color:var(--text-muted);text-align:left;padding:.75rem 1rem;font-size:.8125rem;font-weight:600}.zk-table[data-zk-list-layout] th:first-child{padding-left:3.75rem}.zk-table[data-zk-list-layout] th.zk-dynamic-table-actions-header{text-align:right;justify-self:end}.zk-table[data-zk-list-layout] td,.zk-table[data-zk-list-layout] .zk-list-layout-record>td{padding:1.125rem 1rem}.zk-list-layout-cell{align-items:center;gap:1rem;min-width:0;display:flex}.zk-list-layout-record.is-expanded{background-color:var(--surface-subtle)}.zk-list-detail-toggle{cursor:pointer;flex:none;transition:background-color .15s,color .15s;box-shadow:none!important;color:var(--text-muted)!important;background:0 0!important;border:none!important;border-radius:.375rem!important;justify-content:center!important;align-items:center!important;width:1.75rem!important;height:1.75rem!important;padding:0!important;display:inline-flex!important}.zk-list-detail-toggle:hover{background-color:var(--zk-badge-muted-bg)!important;color:var(--text-primary)!important}.zk-list-detail-toggle svg{transition:transform .2s cubic-bezier(.4,0,.2,1)}.zk-list-detail-toggle[aria-expanded=true] svg{transform:rotate(90deg)}.zk-list-avatar{-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:3.5rem;min-width:3.5rem;height:3.5rem;font-size:1.125rem;font-weight:700;display:inline-flex}.zk-list-avatar.zk-avatar-smart{padding:0;position:relative;overflow:hidden}.zk-list-avatar-img{object-fit:cover;border:1px solid var(--border);border-radius:50%;width:100%;height:100%}.zk-list-avatar-fallback{-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;font-size:1.125rem;font-weight:700;display:flex}.zk-avatar-mint{background-color:var(--zk-avatar-mint-bg);color:var(--zk-avatar-mint-text)}.zk-avatar-indigo{background-color:var(--zk-avatar-indigo-bg);color:var(--zk-avatar-indigo-text)}.zk-avatar-rose{background-color:var(--zk-avatar-rose-bg);color:var(--zk-avatar-rose-text)}.zk-avatar-sky{background-color:var(--zk-avatar-sky-bg);color:var(--zk-avatar-sky-text)}.zk-avatar-amber{background-color:var(--zk-avatar-amber-bg);color:var(--zk-avatar-amber-text)}.zk-list-node-identity-cell{align-items:center;gap:1rem;min-width:0;display:flex}.zk-list-identity-info{flex-direction:column;align-items:flex-start;gap:.25rem;min-width:0;display:flex}.zk-list-identity-name{color:var(--text-primary);font-size:1rem;font-weight:700;line-height:1.25}.zk-list-identity-sub{color:var(--text-muted);font-size:.875rem;line-height:1.25}.zk-list-node-date-countdown,.zk-list-node-financial-metric{flex-direction:column;align-items:flex-start;gap:.25rem;min-width:0;display:flex}.zk-list-countdown-primary,.zk-list-financial-primary{color:var(--text-primary);font-size:1.0625rem;font-weight:700;line-height:1.25}.zk-list-countdown-sub,.zk-list-financial-sub{font-size:.875rem;font-weight:500;line-height:1.25}.zk-list-node-badge{border-radius:9999px;align-items:center;gap:.375rem;width:fit-content;padding:.1875rem .625rem;font-size:.75rem;font-weight:500;line-height:1.25;display:inline-flex}.zk-status-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.zk-list-node-badge.zk-list-tone-success{background-color:var(--zk-badge-success-bg);color:var(--zk-badge-success-text);border:1px solid var(--zk-badge-success-border)}.zk-list-node-badge.zk-list-tone-success .zk-status-dot{background-color:var(--zk-badge-success-dot)}.zk-list-node-badge.zk-list-tone-warning{background-color:var(--zk-badge-warning-bg);color:var(--zk-badge-warning-text);border:1px solid var(--zk-badge-warning-border)}.zk-list-node-badge.zk-list-tone-warning .zk-status-dot{background-color:var(--zk-badge-warning-dot)}.zk-list-node-badge.zk-list-tone-danger{background-color:var(--zk-badge-danger-bg);color:var(--zk-badge-danger-text);border:1px solid var(--zk-badge-danger-border)}.zk-list-node-badge.zk-list-tone-danger .zk-status-dot{background-color:var(--zk-badge-danger-dot)}.zk-list-node-badge.zk-list-tone-info{background-color:var(--zk-badge-info-bg);color:var(--zk-badge-info-text);border:1px solid var(--zk-badge-info-border)}.zk-list-node-badge.zk-list-tone-info .zk-status-dot{background-color:var(--zk-badge-info-dot)}.zk-list-node-badge.zk-list-tone-muted{background-color:var(--zk-badge-muted-bg);color:var(--zk-badge-muted-text);border:1px solid var(--zk-badge-muted-border)}.zk-list-node-badge.zk-list-tone-muted .zk-status-dot{background-color:var(--zk-badge-muted-dot)}.zk-table[data-zk-list-layout] .zk-list-row-details{background-color:var(--zk-list-details-bg);border:1px solid var(--zk-list-details-border);box-shadow:0 1px 2px 0 var(--media-background);border-radius:.5rem;grid-column:1/-1;margin:.5rem 1rem 1rem 3.5rem;padding:1.125rem 1.5rem}@supports (color:color-mix(in lab, red, red)){.zk-table[data-zk-list-layout] .zk-list-row-details{box-shadow:0 1px 2px 0 color-mix(in srgb, var(--media-background) 2%, transparent)}}.zk-list-row-details[hidden]{display:none!important}.zk-list-row-details .zk-list-node-grid,.zk-list-details-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.625rem 2.5rem;font-size:.875rem;display:grid}.zk-list-row-details .zk-list-node-grid>:first-child,.zk-list-details-grid>:first-child{border-right:1px solid var(--zk-list-details-border);padding-right:2rem}.zk-list-details-card{flex-direction:column;width:100%;display:flex}.zk-list-row-details .zk-list-node-action-wrap{width:100%}.zk-list-row-details .zk-list-node-stack{gap:.625rem}.zk-list-row-details .zk-list-node-key_value{align-items:baseline;gap:.5rem;display:flex}.zk-list-row-details .zk-list-detail-label{min-width:6.5rem;color:var(--text-muted);flex-shrink:0;font-weight:400}.zk-list-row-details .zk-list-detail-value{color:var(--text-primary);font-weight:500}.zk-list-profile-action-wrap{justify-content:flex-end;margin-top:.5rem;display:flex}.zk-list-link-profile{color:var(--primary);align-items:center;gap:.35rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:color .15s;display:inline-flex}.zk-list-link-profile:hover{color:var(--primary-hover);text-decoration:underline}.zk-table[data-zk-list-layout] td.zk-dynamic-table-actions-cell{justify-self:end;min-width:max-content}.zk-dynamic-row-actions-group{white-space:nowrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.zk-dynamic-row-actions-group .zk-button-secondary{white-space:nowrap;background-color:var(--card);border:1px solid var(--border);color:var(--text-primary);height:2.125rem;box-shadow:0 1px 2px 0 var(--media-background);border-radius:.375rem;flex-shrink:0;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.zk-dynamic-row-actions-group .zk-button-secondary{box-shadow:0 1px 2px 0 color-mix(in srgb, var(--media-background) 5%, transparent)}}.zk-dynamic-row-actions-group .zk-button-secondary{transition:background-color .15s,border-color .15s}.zk-dynamic-row-actions-group .zk-button-secondary:hover{background-color:var(--surface-hover);border-color:var(--border-hover)}.zk-dynamic-overflow-toggle{border:1px solid var(--border)!important;background-color:var(--card)!important;width:2.125rem!important;min-width:2.125rem!important;height:2.125rem!important;color:var(--text-muted)!important;box-shadow:0 1px 2px 0 var(--media-background)!important;border-radius:.375rem!important;justify-content:center!important;align-items:center!important;padding:0!important;display:inline-flex!important}@supports (color:color-mix(in lab, red, red)){.zk-dynamic-overflow-toggle{box-shadow:0 1px 2px 0 color-mix(in srgb, var(--media-background) 5%, transparent)!important}}.zk-dynamic-overflow-toggle{transition:all .15s}.zk-dynamic-overflow-toggle:hover{background-color:var(--surface-hover)!important;border-color:var(--border-hover)!important;color:var(--text-primary)!important}.zk-list-node-row{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.zk-list-node-stack{flex-direction:column;align-items:flex-start;gap:.35rem;min-width:0;display:flex}.zk-list-node-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 2rem;display:grid}.zk-list-detail-label,.zk-list-tone-muted{color:var(--text-muted);font-size:.8125rem}.zk-list-tone-primary{color:var(--primary)}.zk-list-tone-success{color:var(--zk-badge-success-text);font-size:.8125rem}.zk-list-tone-warning{color:var(--warning-text);font-size:.8125rem}.zk-list-tone-danger{color:var(--danger);font-size:.8125rem}.zk-list-tone-info{color:var(--info-text);font-size:.8125rem}.zk-list-emphasis-strong{color:var(--text-primary);font-size:.9375rem;font-weight:700}.zk-list-emphasis-small{color:var(--text-muted);font-size:.8125rem}.zk-table[data-zk-list-layout] #zk-dynamic-list-load-more>td{grid-column:1/-1}@media (max-width:767px){.zk-table[data-zk-list-layout]{min-width:0}.zk-table[data-zk-list-layout]>thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.zk-table[data-zk-list-layout]>tbody>tr{grid-template-columns:minmax(0,1fr)}.zk-list-layout-record>td{padding:.5rem .75rem}.zk-list-layout-record>td[data-zk-col]:before{content:attr(data-zk-col-label);color:var(--text-muted);margin-bottom:.25rem;font-size:.75rem;display:block}.zk-list-node-grid{grid-template-columns:minmax(0,1fr)}.zk-table[data-zk-list-layout] .zk-list-row-details{margin:.25rem .5rem .5rem}.zk-table[data-zk-list-layout] .zk-dynamic-table-actions-cell{justify-self:end}}.zk-dynamic-card-price{color:var(--primary);margin-block:.75rem;font-size:1.5rem;font-weight:700}.zk-segmented-filter{flex-wrap:wrap;gap:.25rem;display:flex}.zk-segmented-option{border:1px solid var(--border-color);border-radius:var(--radius);cursor:pointer;color:inherit;align-items:center;gap:.25rem;padding:.4rem .7rem;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:flex}.zk-segmented-option.is-active{background:var(--primary);color:var(--text-on-primary);border-color:var(--primary)}.zk-segmented-option:focus-visible,.zk-segmented-option:focus-within{outline:2px solid var(--primary);outline-offset:2px}.zk-autocomplete-tags{flex-wrap:wrap;gap:.35rem;margin-block:.35rem;display:flex}.zk-autocomplete-tag{border:1px solid var(--border-color);border-radius:var(--radius);align-items:center;gap:.35rem;padding:.25rem .5rem;display:inline-flex}:root{--reference-primary:#237b58;--reference-primary-hover:#185740;--reference-primary-light:#eaf4ee;--reference-radius:.375rem;--reference-modal-radius:.5rem;--reference-font:var(--font-sans-static);--media-background:#000;color-scheme:light;--primary:#00673b;--primary-hover:#004d2c;--primary-border:#00673b;--primary-pressed:#003d23;--primary-light:#edf5f0;--brand-mark:#00673b;--brand-text:#00673b;--text-on-primary:#fff;--text-on-danger:#fff;--zk-avatar-mint-bg:#dcfce7;--zk-avatar-mint-text:#15803d;--zk-avatar-indigo-bg:#e0e7ff;--zk-avatar-indigo-text:#4338ca;--zk-avatar-rose-bg:#fee2e2;--zk-avatar-rose-text:#b91c1c;--zk-avatar-sky-bg:#e0f2fe;--zk-avatar-sky-text:#0369a1;--zk-avatar-amber-bg:#fef3c7;--zk-avatar-amber-text:#b45309;--zk-badge-success-bg:#dcfce7;--zk-badge-success-border:#bbf7d0;--zk-badge-success-text:#15803d;--zk-badge-success-dot:#22c55e;--zk-badge-warning-bg:#fef3c7;--zk-badge-warning-border:#fde68a;--zk-badge-warning-text:#b45309;--zk-badge-warning-dot:#f59e0b;--zk-badge-danger-bg:#fee2e2;--zk-badge-danger-border:#fecaca;--zk-badge-danger-text:#b91c1c;--zk-badge-danger-dot:#ef4444;--zk-badge-info-bg:#e0f2fe;--zk-badge-info-border:#bae6fd;--zk-badge-info-text:#0369a1;--zk-badge-info-dot:#0284c7;--zk-badge-muted-bg:#f1f5f9;--zk-badge-muted-border:#e2e8f0;--zk-badge-muted-text:#64748b;--zk-badge-muted-dot:#94a3b8;--zk-list-details-bg:#f8fafc;--zk-list-details-border:#e2e8f0;--zk-timegrid-slot-height:24px;--zk-session-purple:#7e22ce;--zk-session-purple-hover:#6b21a8;--zk-session-purple-border:#9333ea;--zk-session-green:#15803d;--zk-session-green-hover:#166534;--zk-session-green-border:#22c55e;--zk-session-yellow:#d97706;--zk-session-yellow-hover:#b45309;--zk-session-yellow-border:#f59e0b;--zk-session-blue:#2563eb;--zk-session-blue-hover:#1d4ed8;--zk-session-blue-border:#3b82f6;--zk-session-text:#fff;--zk-session-badge-bg:#ffffff38;--zk-session-badge-border:#fff6;--zk-session-btn-bg:#fff3;--zk-session-btn-hover-bg:#ffffff59;--zk-session-btn-border:#ffffff73;--zk-session-btn-cancel-bg:#dc2626;--zk-session-btn-cancel-hover:#b91c1c;--zk-session-btn-cancel-border:#ef4444;--zk-session-btn-complete-bg:#16a34a;--zk-session-btn-complete-hover:#15803d;--zk-session-btn-complete-border:#22c55e;--zk-session-btn-disabled-bg:#9ca3af66;--zk-session-btn-disabled-border:#9ca3af80;--zk-session-btn-disabled-text:#ffffffa6;--zk-ghost-border:#10b981;--zk-ghost-bg:#10b98138;--zk-ghost-shadow:#10b98173;--zk-ghost-shadow-strong:#10b981bf;--zk-ghost-shadow-glow:#10b9814d;--zk-ghost-btn-cancel-border:#dc262666;--zk-ghost-btn-cancel-bg:#dc2626d9;--zk-ghost-btn-cancel-hover:#dc2626;--zk-timegrid-past-bg:#00000005;--zk-timegrid-past-hover-bg:#0000000a;--zk-timegrid-now-glow:#2563eb66;--primary-focus-shadow:#00673b1f;--destructive-focus-shadow:#b4232b29;--overlay-shadow:#00000014;--overlay-backdrop:#0000007a;--media-overlay-action:#000000a6;--media-overlay-action-hover:#000000d9;--media-overlay-control-hover:#ffffff40;--media-guide:#ffffffb3;--media-portrait-shadow:#00000040;--media-preview-shadow:#0003;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 2px 8px #0000000f;--shadow-md:0 10px 30px #00000014;--shadow-lg:0 20px 50px #0000001f;--background:#f5f5f5;--card:#fff;--pwa-theme-color:#fff;--surface:var(--card);--surface-subtle:#fafafa;--surface-hover:#f0f0f0;--surface-pressed:#e8e8e8;--surface-disabled:#e5e5e5;--border-subtle:var(--border);--border:#e2e2e2;--border-hover:var(--border);--border-control:var(--border);--border-control-hover:var(--border);--border-strong:var(--border);--input-border:var(--border);--input-border-hover:var(--border);--card-highlight:#fff9;--card-hover-border:var(--border);--sidebar-bg:#edf5f0;--sidebar-bg-glass:#edf5f0f0;--sidebar-border:var(--primary)}@supports (color:color-mix(in lab, red, red)){:root{--sidebar-border:color-mix(in srgb, var(--primary) 14%, var(--border))}}:root{--sidebar-shadow:2px 0 16px #00673b0d;--sidebar-brand-text:var(--primary);--sidebar-text-primary:var(--text-primary);--sidebar-text-secondary:var(--text-secondary);--sidebar-text-muted:var(--text-muted);--sidebar-hover-bg:var(--primary)}@supports (color:color-mix(in lab, red, red)){:root{--sidebar-hover-bg:color-mix(in srgb, var(--primary) 8%, transparent)}}:root{--sidebar-active-bg:var(--primary)}@supports (color:color-mix(in lab, red, red)){:root{--sidebar-active-bg:color-mix(in srgb, var(--primary) 14%, #fff)}}:root{--sidebar-active-text:var(--primary);--sidebar-active-icon:var(--primary);--sidebar-active-border:var(--primary)}@supports (color:color-mix(in lab, red, red)){:root{--sidebar-active-border:color-mix(in srgb, var(--primary) 22%, transparent)}}:root{--sidebar-active-shadow:0 1px 3px #00673b14, inset 0 1px 0 #fffc;--sidebar-account-avatar-bg:var(--primary)}@supports (color:color-mix(in lab, red, red)){:root{--sidebar-account-avatar-bg:color-mix(in srgb, var(--primary) 12%, #fff)}}:root{--sidebar-account-avatar-text:var(--primary);--sidebar-account-avatar-border:var(--primary)}@supports (color:color-mix(in lab, red, red)){:root{--sidebar-account-avatar-border:color-mix(in srgb, var(--primary) 24%, transparent)}}:root{--sidebar-control-bg:var(--primary)}@supports (color:color-mix(in lab, red, red)){:root{--sidebar-control-bg:color-mix(in srgb, var(--primary) 6%, #fff)}}:root{--sidebar-control-hover-bg:var(--primary)}@supports (color:color-mix(in lab, red, red)){:root{--sidebar-control-hover-bg:color-mix(in srgb, var(--primary) 12%, #fff)}}:root{--sidebar-control-border:var(--primary)}@supports (color:color-mix(in lab, red, red)){:root{--sidebar-control-border:color-mix(in srgb, var(--primary) 15%, var(--border))}}:root{--sidebar-resize-indicator:var(--primary)}@supports (color:color-mix(in lab, red, red)){:root{--sidebar-resize-indicator:color-mix(in srgb, var(--primary) 15%, transparent)}}:root{--sidebar-resize-indicator-hover:var(--primary);--sidebar-pin-active-bg:var(--primary)}@supports (color:color-mix(in lab, red, red)){:root{--sidebar-pin-active-bg:color-mix(in srgb, var(--primary) 16%, #fff)}}:root{--sidebar-pin-active-color:var(--primary);--sidebar-popover-bg:#fff}@supports (color:color-mix(in lab, red, red)){:root{--sidebar-popover-bg:color-mix(in srgb, #fff 92%, var(--primary-light))}}:root{--sidebar-popover-border:var(--primary)}@supports (color:color-mix(in lab, red, red)){:root{--sidebar-popover-border:color-mix(in srgb, var(--primary) 16%, var(--border))}}:root{--sidebar-popover-shadow:0 16px 40px #0032191f, 0 0 0 1px #00673b14;--sidebar-popover-text:var(--text-primary);--sidebar-popover-text-secondary:var(--text-secondary);--sidebar-popover-text-muted:var(--text-muted);--sidebar-popover-hover-bg:var(--primary)}@supports (color:color-mix(in lab, red, red)){:root{--sidebar-popover-hover-bg:color-mix(in srgb, var(--primary) 8%, transparent)}}:root{--sidebar-popover-divider:var(--primary)}@supports (color:color-mix(in lab, red, red)){:root{--sidebar-popover-divider:color-mix(in srgb, var(--primary) 10%, var(--border))}}:root{--sidebar-popover-control-bg:#fff;--sidebar-popover-control-border:var(--primary)}@supports (color:color-mix(in lab, red, red)){:root{--sidebar-popover-control-border:color-mix(in srgb, var(--primary) 14%, var(--border))}}:root{--sidebar-popover-danger-text:var(--destructive);--sidebar-popover-danger-bg:var(--destructive-light);--sidebar-popover-danger-border:var(--destructive)}@supports (color:color-mix(in lab, red, red)){:root{--sidebar-popover-danger-border:color-mix(in srgb, var(--destructive) 25%, transparent)}}:root{--text-primary:#262626;--text-secondary:#525252;--text-muted:#666;--text-disabled:#737373;--text:var(--text-primary);--foreground:var(--text-primary);--muted:var(--text-muted);--destructive:#b4232b;--destructive-light:#fff1f2;--destructive-text:#b4232b;--destructive-border:#b4232b;--danger:#b4232b;--danger-hover:#8f1720;--success:#216e39;--success-light:#eef7f0;--success-text:#216e39;--success-border:#216e39;--warning:#fff7e6;--warning-light:#fff7e6;--warning-text:#854d0e;--warning-border:#854d0e;--star-active:#f59e0b;--pulse-dot-success:#216e39b3;--pulse-dot-success-fade:#216e3900;--pulse-dot-warning:#f59e0bb3;--pulse-dot-warning-fade:#f59e0b00;--warning-button:#854d0e;--warning-button-hover:#713f12;--info:#eff6ff;--info-light:#eff6ff;--info-text:#175cd3;--info-border:#175cd3;--frozen:#f0fdfa;--frozen-light:#f0fdfa;--frozen-text:#0f766e;--frozen-border:#14b8a6;--workspace-light:#ede9fe;--workspace-text:#5b21b6;--workspace-border:#c4b5fd;--ring:#00673b;--ring-shadow:#00673b24;--radius:12px;--radius-min:var(--radius);--radius-button:var(--radius);--radius-md:var(--radius);--radius-lg:var(--radius);--radius-card:var(--radius);--radius-pill:9999px;--font-sans:"Google Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-sans-static:"Roboto", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono:ui-monospace, "Cascadia Code", "Roboto Mono", monospace;--secondary:#fff;--secondary-hover:var(--surface-hover);--secondary-border:var(--border);--secondary-text:var(--text-primary);--bg-hover:var(--surface-hover);--bg-badge:var(--surface-hover);--surface-muted:var(--surface-subtle);--surface-active:var(--primary-light);--accent-subtle:var(--primary-light);--on-primary:var(--text-on-primary);--radius-sm:var(--radius-min);--zk-btn-ghost-hover:#0000000d;--zk-btn-primary-hover:var(--primary-hover);--zk-btn-danger-hover:var(--danger-hover);--zk-btn-warning-hover:var(--warning-button-hover);--zk-alert-close-hover-bg:#00000014;--tab-header-bg:#0000002e;--tab-header-border:#ffffff47;--tab-header-btn-hover:#ffffff26;--tab-header-text-muted:#ffffffd9;--wf-start:#10b981;--wf-start-bg:#10b98126;--wf-gateway:#f59e0b;--wf-gateway-bg:#f59e0b26;--wf-notify:#8b5cf6;--wf-notify-bg:#8b5cf626;--wf-end:#ef4444;--wf-end-bg:#ef444426;--wf-approval-bg:#22c55e1f;--wf-selection-glow:#22c55e59;--gradient-badge-start:#00673b;--gradient-badge-mid:#2ebd85;--gradient-badge-end:#0284c7;--gradient-badge-hover-start:#0284c7;--gradient-badge-hover-mid:#8b5cf6;--gradient-badge-hover-end:#f43f5e;--shell-bg:var(--background);--shell-glow-top:#ffffffeb;--shell-glow-bottom:#2626260e;--icon-sso-folder:#7cd8cf;--icon-sso-shield-bg:#13645d;--icon-sso-shield-border:#004d40;--icon-sso-key:#fff}:root[data-theme=dark]{--reference-primary:var(--primary);--reference-primary-hover:var(--primary-hover);--reference-primary-light:var(--primary-light);color-scheme:dark;--primary:#00673b;--primary-hover:#004d2c;--primary-border:#00673b;--primary-pressed:#003d23;--primary-light:#18392a;--brand-mark:#00673b;--brand-text:#79d5a2;--text-on-primary:#fff;--text-on-danger:#fff;--zk-timegrid-slot-height:24px;--zk-session-purple:#6b21a8;--zk-session-purple-hover:#581c87;--zk-session-purple-border:#7e22ce;--zk-session-green:#166534;--zk-session-green-hover:#14532d;--zk-session-green-border:#15803d;--zk-session-yellow:#b45309;--zk-session-yellow-hover:#92400e;--zk-session-yellow-border:#d97706;--zk-session-blue:#1d4ed8;--zk-session-blue-hover:#1e40af;--zk-session-blue-border:#2563eb;--zk-session-red:#b91c1c;--zk-session-teal:#0f766e;--zk-session-pink:#be185d;--zk-session-orange:#ea580c;--zk-session-text:#fff;--zk-session-badge-bg:#ffffff2e;--zk-session-badge-border:#ffffff4d;--zk-session-btn-bg:#ffffff26;--zk-session-btn-hover-bg:#ffffff47;--zk-session-btn-border:#ffffff59;--zk-session-btn-cancel-bg:#b91c1c;--zk-session-btn-cancel-hover:#991b1b;--zk-session-btn-cancel-border:#dc2626;--zk-session-btn-complete-bg:#15803d;--zk-session-btn-complete-hover:#166534;--zk-session-btn-complete-border:#16a34a;--zk-session-btn-disabled-bg:#6b728059;--zk-session-btn-disabled-border:#6b728073;--zk-session-btn-disabled-text:#ffffff8c;--zk-ghost-border:#10b981;--zk-ghost-bg:#10b98140;--zk-ghost-shadow:#10b98173;--zk-ghost-shadow-strong:#10b981bf;--zk-ghost-shadow-glow:#10b9814d;--zk-ghost-btn-cancel-border:#dc262680;--zk-ghost-btn-cancel-bg:#dc2626d9;--zk-ghost-btn-cancel-hover:#ef4444;--zk-timegrid-past-bg:#ffffff05;--zk-timegrid-past-hover-bg:#ffffff0a;--zk-timegrid-now-glow:#3b82f666;--primary-focus-shadow:#79d5a22e;--destructive-focus-shadow:#d85b6333;--overlay-shadow:#00000052;--overlay-backdrop:#000000a3;--shadow-xs:0 1px 2px #0000003d;--shadow-sm:0 2px 10px #00000047;--shadow-md:0 12px 32px #0000005c;--shadow-lg:0 24px 56px #00000075;--background:#141414;--card:#1f1f1f;--pwa-theme-color:#1f1f1f;--surface:#262626;--surface-subtle:#262626;--surface-hover:#303030;--surface-pressed:#383838;--surface-disabled:#404040;--border-subtle:var(--border);--border:#363636;--border-control:var(--border);--border-control-hover:var(--border);--border-strong:var(--border);--input-border:var(--border);--input-border-hover:var(--border);--card-highlight:#ffffff12;--card-hover-border:var(--border);--sidebar-bg:#06160f;--sidebar-bg-glass:#071911f0;--sidebar-border:#ffffff0f;--sidebar-shadow:4px 0 28px #00000059;--sidebar-brand-text:#34d399;--sidebar-text-primary:#fff;--sidebar-text-secondary:#ffffffb8;--sidebar-text-muted:#ffffff85;--sidebar-hover-bg:#ffffff12;--sidebar-active-bg:#ffffff1f;--sidebar-active-text:#fff;--sidebar-active-icon:#34d399;--sidebar-active-border:#ffffff1a;--sidebar-active-shadow:0 1px 3px #0003, inset 0 1px 0 #ffffff1f;--sidebar-account-avatar-bg:#ffffff1a;--sidebar-account-avatar-text:#34d399;--sidebar-account-avatar-border:#ffffff26;--sidebar-control-bg:#ffffff0f;--sidebar-control-hover-bg:#ffffff1f;--sidebar-control-border:#ffffff14;--sidebar-resize-indicator:#ffffff1a;--sidebar-resize-indicator-hover:#34d399;--sidebar-pin-active-bg:#34d39926;--sidebar-pin-active-color:#34d399;--sidebar-popover-bg:#06160ff5;--sidebar-popover-border:#ffffff1a;--sidebar-popover-shadow:0 16px 48px #000000bf, 0 0 0 1px #ffffff0d;--sidebar-popover-text:#fff;--sidebar-popover-text-secondary:#ffffffd9;--sidebar-popover-text-muted:#ffffff8c;--sidebar-popover-hover-bg:#ffffff14;--sidebar-popover-divider:#ffffff14;--sidebar-popover-control-bg:#ffffff0f;--sidebar-popover-control-border:#ffffff1a;--sidebar-popover-danger-text:#f87171;--sidebar-popover-danger-bg:#ef444426;--sidebar-popover-danger-border:#ef44444d;--text-primary:#f5f5f5;--text-secondary:#d4d4d4;--text-muted:#b5b5b5;--text-disabled:#a3a3a3;--text:var(--text-primary);--foreground:var(--text-primary);--muted:var(--text-muted);--destructive:#b4232b;--destructive-light:#3b2024;--destructive-text:#ffb3b8;--destructive-border:#d85b63;--danger:#b4232b;--danger-hover:#8f1720;--success:#a3d9ac;--success-light:#1c3022;--success-text:#a3d9ac;--success-border:#a3d9ac;--warning:#332a18;--warning-light:#332a18;--warning-text:#f0ca80;--warning-border:#f0ca80;--warning-button:#f0ca80;--warning-button-hover:#ffe0a3;--info:#1c2b42;--info-light:#1c2b42;--info-text:#a6c8ff;--info-border:#a6c8ff;--frozen:#112d2b;--frozen-light:#112d2b;--frozen-text:#5eead4;--frozen-border:#2dd4bf;--ring:#79d5a2;--ring-shadow:#79d5a23d;--secondary:#1f1f1f;--secondary-hover:var(--surface-hover);--secondary-border:var(--border);--secondary-text:var(--text-primary);--bg-hover:var(--surface-hover);--bg-badge:var(--surface-hover);--surface-muted:var(--surface-subtle);--surface-active:var(--primary-light);--accent-subtle:var(--primary-light);--on-primary:var(--text-on-primary);--radius-sm:var(--radius-min);--zk-btn-ghost-hover:#ffffff14;--zk-alert-close-hover-bg:#ffffff1f;--tab-header-bg:#00000059;--tab-header-border:#fff3;--tab-header-btn-hover:#ffffff1f;--tab-header-text-muted:#fffc;--gradient-badge-start:#10b981;--gradient-badge-mid:#06b6d4;--gradient-badge-end:#3b82f6;--gradient-badge-hover-start:#3b82f6;--gradient-badge-hover-mid:#a855f7;--gradient-badge-hover-end:#f43f5e;--shell-bg:var(--background);--shell-glow-top:#ffffff0b;--shell-glow-bottom:#00000052;--icon-sso-folder:#7cd8cf;--icon-sso-shield-bg:#13645d;--icon-sso-shield-border:#004d40;--icon-sso-key:#fff;--zk-badge-success-bg:var(--success-light);--zk-badge-success-border:var(--success-border);--zk-badge-success-text:var(--success-text);--zk-badge-success-dot:var(--success);--zk-badge-warning-bg:var(--warning-light);--zk-badge-warning-border:var(--warning-border);--zk-badge-warning-text:var(--warning-text);--zk-badge-warning-dot:var(--warning-border);--zk-badge-danger-bg:var(--destructive-light);--zk-badge-danger-border:var(--destructive-border);--zk-badge-danger-text:var(--destructive-text);--zk-badge-danger-dot:var(--destructive-border);--zk-badge-info-bg:var(--info-light);--zk-badge-info-border:var(--info-border);--zk-badge-info-text:var(--info-text);--zk-badge-info-dot:var(--info-border);--zk-badge-muted-bg:var(--surface-hover);--zk-badge-muted-border:var(--border);--zk-badge-muted-text:var(--text-muted);--zk-badge-muted-dot:var(--border-control);--zk-list-details-bg:var(--card);--zk-list-details-border:var(--border);--zk-avatar-mint-bg:var(--success-light);--zk-avatar-mint-text:var(--success-text);--zk-avatar-indigo-bg:var(--info-light);--zk-avatar-indigo-text:var(--info-text);--zk-avatar-rose-bg:var(--destructive-light);--zk-avatar-rose-text:var(--destructive-text);--zk-avatar-sky-bg:var(--info-light);--zk-avatar-sky-text:var(--info-text);--zk-avatar-amber-bg:var(--warning-light);--zk-avatar-amber-text:var(--warning-text)}html{color:var(--text-primary);background:var(--background);font-size:16px}body{min-height:100vh;font-family:var(--font-sans-static);margin:0}h1,h2,h3,h4,h5,h6,label,button,.zk-nav-item,.zk-breadcrumbs{font-family:var(--font-sans)}.zk-nav-icon{color:currentColor;justify-content:center;align-items:center;width:1.25rem;min-width:1.25rem;display:inline-flex}button,input,select,textarea{font:inherit}button{border-radius:var(--radius-button)}.zk-locale-select{color:var(--text-primary);position:relative}.zk-locale-trigger{background:var(--card);min-height:2.65rem;color:var(--text-primary);cursor:pointer;border:0;align-items:center;gap:.6rem;padding:.4rem .85rem;font-size:1rem;font-weight:600;display:inline-flex}.zk-locale-trigger img,.zk-locale-menu img{object-fit:cover;border-radius:.125rem;width:1.35rem;height:1.35rem;display:block}.zk-locale-menu{z-index:20;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);min-width:11rem;box-shadow:0 .75rem 1.5rem var(--overlay-shadow);padding:.25rem;display:none;position:absolute;top:calc(100% + .25rem);right:0}.zk-locale-select.is-open .zk-locale-menu{gap:.125rem;display:grid}.zk-locale-menu button{border-radius:var(--radius);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:.6rem;padding:.5rem .65rem;font-size:1rem;display:flex}.zk-locale-menu button:hover,.zk-locale-menu button[data-selected=true]{background:var(--primary);color:var(--text-on-primary)}.zk-theme-switcher{background:var(--card);width:2.65rem;min-width:2.65rem;min-height:2.65rem;color:var(--text-primary);cursor:pointer;border:0;place-items:center;padding:0;display:inline-grid}.zk-theme-switcher:hover{border-color:var(--primary);color:var(--brand-text);background:var(--primary-light)}.zk-theme-switcher:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.zk-theme-switcher svg{width:1.25rem;height:1.25rem}.zk-theme-icon-sun,:root[data-theme=dark] .zk-theme-icon-moon{display:none}:root[data-theme=dark] .zk-theme-icon-sun{display:block}.zk-field-shell{border:1px solid var(--input-border);border-radius:var(--radius-button);background:var(--card);align-items:stretch;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.zk-field-shell:not(.is-invalid):not(:focus-within):hover{border-color:var(--input-border-hover)}.zk-field-shell:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-focus-shadow)}.zk-field-shell.zk-field-underline,.zk-record-underline .zk-input,.zk-field-underline .zk-input,.zk-input.zk-field-underline{border:none;border-bottom:2px solid var(--border);background:0 0;border-radius:0;padding-left:.15rem;padding-right:.15rem}.zk-field-shell.zk-field-underline:focus-within,.zk-record-underline .zk-input:focus,.zk-field-underline .zk-input:focus,.zk-input.zk-field-underline:focus{border-bottom-color:var(--primary);box-shadow:none;outline:none}.zk-field-shell.zk-field-underline.is-invalid,.zk-record-underline .zk-input[aria-invalid=true],.zk-field-underline .zk-input[aria-invalid=true],.zk-input.zk-field-underline[aria-invalid=true]{border-bottom-color:var(--destructive);box-shadow:none}.zk-field-shell.is-invalid{border-color:var(--destructive-border);box-shadow:0 0 0 2px var(--destructive-focus-shadow)}.zk-field-icon{box-sizing:content-box;width:1.1rem;min-width:1.1rem;height:1.1rem;color:var(--text-muted);background:var(--surface-subtle);border-right:1px solid var(--border);padding:.8rem}.zk-field-shell .zk-field-control{min-width:0;color:var(--text-primary);box-shadow:none;background:0 0;border:0;outline:0;flex:1;padding:0 .9rem;font-size:1rem;line-height:1.3}.zk-field-shell .zk-field-control:-webkit-autofill{-webkit-text-fill-color:var(--text-primary);box-shadow:0 0 0 1000px var(--card) inset;border-radius:0;transition:background-color 9999s ease-out}.zk-field-shell .zk-field-control:-webkit-autofill:hover{-webkit-text-fill-color:var(--text-primary);box-shadow:0 0 0 1000px var(--card) inset;border-radius:0;transition:background-color 9999s ease-out}.zk-field-shell .zk-field-control:-webkit-autofill:focus{-webkit-text-fill-color:var(--text-primary);box-shadow:0 0 0 1000px var(--card) inset;border-radius:0;transition:background-color 9999s ease-out}.zk-toggle-password{width:3.1rem;min-width:3.1rem;color:var(--text-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.zk-toggle-password:hover,.zk-toggle-password.is-visible{color:var(--text-primary);background:var(--surface-hover)}.zk-toggle-password svg{width:1.15rem;height:1.15rem}.zk-toggle-password .zk-eye-off-icon,.zk-toggle-password.is-visible .zk-eye-icon{display:none}.zk-toggle-password.is-visible .zk-eye-off-icon{display:block}.zk-alert{border-radius:var(--radius);justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.625rem .875rem;font-size:.8125rem;line-height:1.4;display:flex;position:relative}.zk-alert[hidden],.zk-alert:empty{display:none}.zk-alert-content{overflow-wrap:anywhere;flex:1;min-width:0}.zk-alert-close{border-radius:var(--radius-min);width:1.5rem;min-width:1.5rem;height:1.5rem;color:inherit;cursor:pointer;opacity:.75;background:0 0;border:1px solid;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:1rem;line-height:1;transition:opacity .15s,background-color .15s;display:inline-flex}.zk-alert-close:hover,.zk-alert-close:focus-visible{opacity:1;background-color:var(--zk-alert-close-hover-bg);outline:none}.zk-alert-error{background:var(--destructive-light);color:var(--destructive-text);border:1px solid var(--destructive-border)}.zk-alert-warning{background:var(--warning-light);color:var(--warning-text);border:1px solid var(--warning-border)}.zk-alert-success{background:var(--success-light);color:var(--success-text);border:1px solid var(--success-border)}.zk-alert-info{background:var(--info-light);color:var(--info-text);border:1px solid var(--info-border)}.zk-toast{z-index:100;width:auto;min-width:18rem;max-width:min(28rem,100vw - 2.5rem);box-shadow:0 .5rem 1.25rem var(--overlay-shadow), 0 .125rem .25rem var(--overlay-shadow);margin-bottom:0;transition:opacity .25s,transform .25s;animation:.25s cubic-bezier(.16,1,.3,1) zk-toast-in;position:fixed;top:1.25rem;right:1.25rem}@keyframes zk-toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.zk-toast-dismissing{opacity:0;pointer-events:none;transform:translateY(-.5rem)scale(.96)}.zk-system-alert-stack{z-index:60;pointer-events:none;justify-items:center;gap:.5rem;display:grid;position:fixed;top:.25rem;left:16rem;right:1rem}.zk-system-alert{box-sizing:border-box;width:min(70rem,100%);box-shadow:0 .75rem 1.5rem var(--overlay-shadow);pointer-events:auto;align-items:flex-start;gap:.75rem;margin-bottom:0;display:flex}.zk-system-alert-message{flex:1;min-width:0}.zk-system-alert-close{width:1.5rem;min-width:1.5rem;height:1.5rem;color:inherit;cursor:pointer;opacity:.78;border-radius:var(--radius-min);background:0 0;border:1px solid;justify-content:center;align-items:center;line-height:1;display:inline-flex}.zk-system-alert-close:hover{opacity:1}.zk-shell{background-color:var(--shell-bg);background-image:radial-gradient(ellipse 85% 55% at 50% -18%, var(--shell-glow-top), transparent 72%), radial-gradient(ellipse 65% 48% at 100% 100%, var(--shell-glow-bottom), transparent 68%), linear-gradient(180deg, var(--surface-subtle) 0%, var(--background) 42%, var(--background) 100%);background-attachment:fixed;height:100dvh;display:flex;overflow:hidden}.zk-sidebar-hover-zone{z-index:65;width:0;position:fixed;top:0;bottom:0;left:0}body.zk-sidebar-collapsed .zk-sidebar-hover-zone{width:.875rem}.zk-sidebar{width:var(--zk-sidebar-width,15rem);min-width:var(--zk-sidebar-width,15rem);z-index:70;background:var(--sidebar-bg-glass);-webkit-backdrop-filter:blur(16px);border-right:1px solid var(--sidebar-border);height:100dvh;box-shadow:var(--sidebar-shadow);box-sizing:border-box;transition:transform .18s,box-shadow .18s;position:sticky;top:0}.zk-sidebar-resize{z-index:1;cursor:col-resize;touch-action:none;width:.75rem;height:100%;position:absolute;top:0;right:-.375rem}.zk-sidebar-resize:after{content:"";border-radius:var(--radius-min);background:var(--sidebar-resize-indicator);width:.125rem;position:absolute;top:35%;bottom:35%;left:.3125rem}.zk-sidebar-resize:hover:after,.zk-sidebar-resize:focus-visible:after{background:var(--sidebar-resize-indicator-hover)}.zk-sidebar-resize:focus-visible{outline:2px solid var(--sidebar-resize-indicator-hover);outline-offset:2px}.zk-shell.is-sidebar-collapsed .zk-sidebar-resize,body.zk-sidebar-resizing .zk-sidebar-resize{cursor:col-resize}body.zk-sidebar-resizing{-webkit-user-select:none;user-select:none}.zk-sidebar-inner{box-sizing:border-box;flex-direction:column;gap:1rem;height:100%;padding-top:1rem;padding-bottom:1rem;padding-left:1rem;display:flex}.zk-sidebar-primary{scrollbar-width:thin;scrollbar-color:transparent transparent;flex:1;grid-template-columns:minmax(0,1fr);align-content:start;gap:.75rem;min-width:0;min-height:0;padding-right:.125rem;transition:scrollbar-color .2s;display:grid;overflow:hidden auto}.zk-sidebar-primary::-webkit-scrollbar{width:4px}.zk-sidebar-primary::-webkit-scrollbar-track{background:0 0}.zk-sidebar-primary::-webkit-scrollbar-thumb{background:0 0;border-radius:4px;transition:background-color .2s}.zk-sidebar:hover .zk-sidebar-primary,.zk-sidebar:focus-within .zk-sidebar-primary{scrollbar-color:var(--sidebar-border) transparent}.zk-sidebar:hover .zk-sidebar-primary::-webkit-scrollbar-thumb{background:var(--sidebar-border)}.zk-sidebar:focus-within .zk-sidebar-primary::-webkit-scrollbar-thumb{background:var(--sidebar-border)}.zk-sidebar:hover .zk-sidebar-primary::-webkit-scrollbar-thumb:hover{background:var(--sidebar-control-hover-bg)}.zk-sidebar:focus-within .zk-sidebar-primary::-webkit-scrollbar-thumb:hover{background:var(--sidebar-control-hover-bg)}.zk-sidebar-brand{justify-content:space-between;align-items:center;gap:.375rem;min-height:2.5rem;display:flex}.zk-sidebar-brand-link{min-width:0;color:inherit;border-radius:var(--radius-sm);cursor:pointer;flex:1;align-items:center;gap:.5rem;margin-left:-.375rem;padding:.25rem .375rem;text-decoration:none;transition:background-color .15s,opacity .15s;display:flex}.zk-sidebar-brand-link:hover{background-color:var(--sidebar-hover-bg)}.zk-sidebar-brand-link:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.zk-sidebar-brand-icon{border-radius:var(--radius-xs);flex-shrink:0;justify-content:center;align-items:center;width:1.75rem;min-width:1.75rem;height:1.75rem;display:inline-flex;overflow:hidden}.zk-sidebar-brand-icon-img{object-fit:contain;width:100%;height:100%;display:block}.zk-sidebar-brand strong{color:var(--sidebar-brand-text);line-height:1.2;display:block}.zk-sidebar-brand-copy{flex:1;min-width:0}.zk-sidebar-tenant{line-height:1.25;font-size:var(--text-xs,.75rem);white-space:nowrap;text-overflow:ellipsis;color:var(--sidebar-text-muted);margin-top:.125rem;overflow:hidden}.zk-sidebar-toggle{border:1px solid var(--sidebar-control-border);border-radius:var(--radius-sm);background:var(--sidebar-control-bg);width:2rem;min-width:2rem;height:2rem;color:var(--sidebar-text-secondary);cursor:pointer;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.zk-sidebar-toggle:hover,.zk-sidebar-toggle:focus-visible{background:var(--sidebar-control-hover-bg);color:var(--sidebar-text-primary);border-color:var(--sidebar-active-border)}.zk-sidebar-toggle svg{width:1.25rem;height:1.25rem}.zk-topbar-sidebar-toggle{border-radius:var(--radius-min);width:2.25rem;min-width:2.25rem;height:2.25rem;color:var(--text-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;margin-left:-1.5rem;margin-right:.5rem;display:none}.zk-topbar-sidebar-toggle svg{width:1.25rem;height:1.25rem}.zk-sidebar-account{border-top:1px solid var(--sidebar-border);padding-top:.75rem;position:relative}.zk-sidebar-account-btn{border-radius:var(--radius);width:100%;color:inherit;cursor:pointer;text-align:left;box-sizing:border-box;background:0 0;border:1px solid #0000;align-items:center;gap:.65rem;padding:.4rem .5rem;transition:background .15s,border-color .15s;display:flex}.zk-sidebar-account-btn:hover,.zk-sidebar-account[data-open=true] .zk-sidebar-account-btn{background:var(--sidebar-hover-bg);border-color:var(--sidebar-control-border)}.zk-sidebar-account-avatar{border-radius:var(--radius);background:var(--sidebar-account-avatar-bg);width:2.25rem;min-width:2.25rem;height:2.25rem;color:var(--sidebar-account-avatar-text);border:1px solid var(--sidebar-account-avatar-border);text-transform:uppercase;justify-content:center;align-items:center;font-size:.8125rem;font-weight:700;display:inline-flex}.zk-sidebar-account-text{flex:1;min-width:0}.zk-sidebar-account-name{color:var(--sidebar-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:600;line-height:1.2;overflow:hidden}.zk-sidebar-account-kebab{width:1rem;height:1rem;color:var(--sidebar-text-muted);flex-shrink:0}.zk-user-popover{z-index:90;background:var(--sidebar-popover-bg);-webkit-backdrop-filter:blur(28px);border:1px solid var(--sidebar-popover-border);border-radius:var(--radius);box-shadow:var(--sidebar-popover-shadow);box-sizing:border-box;flex-direction:column;gap:.35rem;padding:.65rem;animation:.15s cubic-bezier(.16,1,.3,1) zkDropdownFadeIn;display:none;position:absolute;bottom:calc(100% + .5rem);left:0;right:0}.zk-sidebar-account[data-open=true] .zk-user-popover{display:flex}.zk-user-popover-header{border-radius:var(--radius-min);color:inherit;align-items:center;gap:.65rem;padding:.5rem .6rem;text-decoration:none;transition:background .15s;display:flex}.zk-user-popover-header-link:hover{background:var(--sidebar-popover-hover-bg)}.zk-user-popover-header-link:hover .zk-popover-header-arrow{color:var(--sidebar-popover-text);transform:translate(2px)}.zk-popover-header-arrow{width:1rem;height:1rem;color:var(--sidebar-popover-text-muted);flex-shrink:0;margin-left:auto;transition:transform .15s,color .15s}.zk-user-popover-user{flex-direction:column;flex:1;min-width:0;display:flex}.zk-user-popover-name{color:var(--sidebar-popover-text);text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:600;line-height:1.25;overflow:hidden}.zk-user-popover-username{color:var(--sidebar-popover-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;line-height:1.2;overflow:hidden}.zk-user-popover-divider{background:var(--sidebar-popover-divider);height:1px;margin:.25rem 0}.zk-user-popover-items{flex-direction:column;gap:.15rem;display:flex}.zk-user-popover-item{border-radius:var(--radius-min);color:var(--sidebar-popover-text-secondary);align-items:center;gap:.65rem;padding:.45rem .65rem;font-size:.8125rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.zk-user-popover-item:hover,.zk-user-popover-item[aria-current=page]{background:var(--sidebar-popover-hover-bg);color:var(--sidebar-popover-text)}.zk-user-popover-item.is-disabled,.zk-user-popover-item[aria-disabled=true]{opacity:.45;cursor:not-allowed;pointer-events:none;color:var(--sidebar-popover-text-muted)}.zk-user-popover-item.is-disabled:hover,.zk-user-popover-item[aria-disabled=true]:hover{color:var(--sidebar-popover-text-muted);background:0 0}.zk-user-popover-item.is-disabled .zk-popover-icon,.zk-user-popover-item[aria-disabled=true] .zk-popover-icon{color:var(--sidebar-popover-text-muted)}.zk-popover-icon{width:1rem;height:1rem;color:var(--sidebar-popover-text-muted);flex-shrink:0}.zk-user-popover-item:hover .zk-popover-icon{color:var(--sidebar-brand-text)}.zk-user-popover-controls{flex-direction:column;gap:.35rem;padding:.1rem 0;display:flex}.zk-user-popover-control-row{justify-content:space-between;align-items:center;gap:.5rem;min-height:2.15rem;padding:.2rem .5rem;display:flex}.zk-user-popover-label{color:var(--sidebar-popover-text-secondary);font-size:.8125rem;font-weight:500}.zk-user-popover-setting-label{color:var(--sidebar-popover-text-secondary);align-items:center;gap:.5rem;font-size:.8125rem;font-weight:500;display:inline-flex}.zk-user-popover-setting-label .zk-popover-icon{width:.95rem;height:.95rem;color:var(--sidebar-popover-text-muted)}.zk-user-popover-control-row .zk-theme-switcher{border-radius:var(--radius-min);background:var(--sidebar-popover-control-bg);border:1px solid var(--sidebar-popover-control-border);width:2rem;min-width:2rem;height:2rem;min-height:2rem;color:var(--sidebar-popover-text)}.zk-user-popover-control-row .zk-theme-switcher:hover{background:var(--sidebar-popover-hover-bg);border-color:var(--sidebar-popover-control-border);color:var(--sidebar-popover-text)}.zk-user-popover-control-row .zk-theme-switcher svg{width:1rem;height:1rem}.zk-user-popover-locale-row{box-sizing:border-box;width:100%;padding:0 .25rem;display:flex}.zk-user-popover-locale-row .zk-locale-select{width:100%}.zk-user-popover-locale-row .zk-locale-trigger{border:1px solid var(--sidebar-popover-control-border);border-radius:var(--radius-min);background:var(--sidebar-popover-control-bg);width:100%;min-height:2.15rem;color:var(--sidebar-popover-text);box-sizing:border-box;justify-content:flex-start;align-items:center;padding:.35rem .65rem;font-size:.8125rem;font-weight:500;transition:background .15s,border-color .15s;display:flex}.zk-user-popover-locale-row .zk-locale-trigger:hover,.zk-user-popover-locale-row .zk-locale-select.is-open .zk-locale-trigger{background:var(--sidebar-popover-hover-bg);border-color:var(--sidebar-brand-text)}.zk-locale-chevron{width:.85rem;height:.85rem;color:var(--sidebar-popover-text-muted);flex-shrink:0;margin-left:auto;transition:transform .15s}.zk-locale-select.is-open .zk-locale-chevron{transform:rotate(180deg)}.zk-user-popover-locale-row .zk-locale-menu{box-sizing:border-box;z-index:100;background:var(--sidebar-bg);border:1px solid var(--sidebar-popover-border);border-radius:var(--radius);width:100%;min-width:100%;box-shadow:var(--sidebar-popover-shadow);color:var(--sidebar-popover-text);padding:.25rem;top:auto;bottom:calc(100% + .35rem)}.zk-user-popover-footer{align-items:center;gap:.5rem;padding-top:.2rem;display:flex}.zk-logout-form{flex:1}.zk-user-popover-logout-btn{border-radius:var(--radius-min);width:100%;color:var(--sidebar-popover-danger-text);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.45rem .75rem;font-size:.8125rem;font-weight:600;transition:background .15s,border-color .15s;display:flex}.zk-user-popover-logout-btn:hover{background:var(--sidebar-popover-danger-bg);border-color:var(--sidebar-popover-danger-border);color:var(--sidebar-popover-danger-text)}.zk-user-popover-logout-btn .zk-popover-icon{color:var(--sidebar-popover-danger-text)}.zk-user-popover-footer .zk-button-icon-only{color:var(--sidebar-popover-text-secondary);background:0 0;border:1px solid #0000}.zk-user-popover-footer .zk-button-icon-only:hover{background:var(--sidebar-popover-hover-bg);color:var(--sidebar-popover-text)}.zk-sidebar-account-handle{color:var(--sidebar-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.zk-sidebar-account-action{border:1px solid var(--sidebar-control-border);border-radius:var(--radius-sm);background:var(--sidebar-control-bg);width:2rem;min-width:2rem;height:2rem;color:var(--sidebar-text-secondary);cursor:pointer;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.zk-sidebar-account-action:hover,.zk-sidebar-account-action:focus-visible{border-color:var(--sidebar-active-border);background:var(--sidebar-control-hover-bg);color:var(--sidebar-text-primary);outline:none}.zk-sidebar-account-action svg{width:1rem;height:1rem}.zk-pwa-controls{flex:none;align-items:center;gap:.25rem;display:inline-flex}.zk-pwa-controls [hidden]{display:none!important}.zk-pwa-controls .zk-button-icon-only{width:2rem;min-width:2rem;height:2rem;padding:0}.zk-pwa-controls [data-zk-pwa-notifications][data-subscribed=true]{border-color:var(--primary);background:var(--primary-light);color:var(--brand-text)}.zk-pwa-toast{align-items:center;gap:.75rem;display:flex}.zk-pwa-toast-action{flex:none}.zk-shell.is-sidebar-collapsed .zk-sidebar{box-shadow:0 1rem 2rem var(--overlay-shadow);position:fixed;left:0;transform:translate(calc(-100% - .75rem))}.zk-shell.is-sidebar-collapsed.is-sidebar-peeking .zk-sidebar,.zk-shell.is-sidebar-collapsed .zk-sidebar:focus-within{transform:translate(0)}body.zk-sidebar-collapsed .zk-system-alert-stack{left:1rem}.zk-shell.is-sidebar-collapsed .zk-topbar-sidebar-toggle{display:inline-flex}.zk-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.zk-topbar{z-index:40;box-sizing:border-box;background:var(--card);justify-content:space-between;align-items:center;gap:.75rem;min-height:3.25rem;padding:.4rem 1.25rem;display:flex;position:relative}@supports (color:color-mix(in lab, red, red)){.zk-topbar{background:color-mix(in srgb, var(--card) 88%, transparent)}}.zk-topbar{border-bottom:1px solid var(--border);box-shadow:var(--shadow-xs);-webkit-backdrop-filter:blur(8px)}.zk-topbar-leading{flex:none;align-items:center;gap:.75rem;min-width:max-content;max-width:65%;display:flex}.zk-topbar-leading:only-child{flex:auto;max-width:100%}.zk-current-tenant{background:var(--primary-light);border:1px solid var(--primary-border);border-radius:var(--radius-min);color:var(--brand-text);flex:0 auto;align-items:center;gap:.35rem;min-width:0;max-width:11rem;padding:.25rem .5rem;font-size:.75rem;font-weight:700;display:inline-flex}.zk-current-tenant svg{flex:none;width:.9rem;height:.9rem}.zk-current-tenant span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.zk-topbar-filter-slot{flex:auto;justify-content:flex-end;align-items:center;min-width:0;display:flex}.zk-topbar-filter-slot .zk-filter-toolbar:not(.is-compact),.zk-topbar-filter-slot .zk-filter-panel:not(.is-compact){flex:auto;justify-content:flex-end;width:100%}.zk-topbar-filter-slot .zk-filter-toolbar:not(.is-compact) .zk-filter-bar{flex:auto;justify-content:flex-end;align-items:center;gap:.5rem;width:100%;display:flex}.zk-topbar-filter-slot .zk-filter-toolbar:not(.is-compact) .zk-filter-field{flex:0 auto;width:auto;min-width:0;max-width:none}.zk-topbar-filter-slot .zk-filter-toolbar:not(.is-compact) .zk-filter-field-wide{flex:1.5 16rem;width:auto;min-width:15rem;max-width:32rem}.zk-topbar-filter-slot .zk-filter-field .zk-input{flex:auto;width:100%;min-width:0}.zk-topbar-filter-slot .zk-filter-field{flex:none;align-items:center;gap:.375rem;width:auto;max-width:none;display:flex}.zk-topbar-filter-slot .zk-filter-field label{white-space:nowrap;color:var(--text-muted);flex-shrink:0;font-size:.8125rem;font-weight:500}.zk-topbar-filter-slot .zk-filter-field select.zk-input{width:auto;min-width:8rem}.zk-topbar-filter-slot .zk-filter-field input.zk-input:not(.zk-reg-combobox-input):not(.zk-date-input){width:auto;min-width:9.5rem}.zk-topbar-filter-slot .zk-filter-field input.zk-date-input{width:6.125rem;min-width:6.125rem}.zk-topbar-filter-slot .zk-filter-field-wide input.zk-input:not(.zk-reg-combobox-input){width:auto;min-width:12.5rem}.zk-topbar-filter-slot .zk-reg-combobox-wrap{width:175px;min-width:130px}.zk-topbar-filter-slot .zk-segmented-filter{flex-wrap:nowrap;gap:.2rem}.zk-topbar-filter-slot .zk-segmented-option{white-space:nowrap;padding:.25rem .6rem;font-size:.8125rem}.zk-topbar-actions{flex:none;align-items:center;gap:.5rem;margin-left:0;display:flex}.zk-topbar-breadcrumbs{min-width:1.5rem;max-width:100%;overflow:hidden}.zk-topbar-breadcrumbs .zk-breadcrumbs{text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem;font-weight:500;overflow:hidden}.zk-breadcrumb-leaf{color:var(--text-primary);font-weight:600}.zk-content{box-sizing:border-box;flex-direction:column;flex:1;min-height:0;padding:.85rem 1rem;display:flex;overflow-y:auto}.zk-content:has(.zk-table-wrap){overflow:hidden}.zk-pay-container>.zk-card{background:0 0;border:none;flex-direction:column;flex:1;min-height:0;padding:0;display:flex;overflow:hidden}.zk-pay-container .zk-card-body{flex-direction:column;flex:1;min-height:0;padding:0;display:flex;overflow:hidden}.zk-dynamic-table-view,.zk-pay-container .zk-table-wrap{flex:1;min-height:0;overflow:auto}.zk-dynamic-grid-view,.zk-dynamic-paired-grid-view{flex:1;min-height:0;padding:.25rem .5rem;overflow-y:auto}.zk-nav-group{flex-direction:column;gap:2px;display:flex}.zk-nav-group-header{align-items:center;gap:.25rem;width:100%;display:flex;position:relative}.zk-nav-group-title-link{flex:1;min-width:0}.zk-nav-group-header-btn{border-radius:var(--radius);width:100%;color:var(--sidebar-text-secondary);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:.5rem;padding:.4rem .5rem;font-size:.8125rem;font-weight:600;transition:background .15s,color .15s;display:flex}.zk-nav-group-header-btn:hover{background:var(--sidebar-hover-bg);color:var(--sidebar-text-primary)}.zk-nav-toggle-btn{width:1.6rem;height:1.6rem;color:var(--sidebar-text-muted);border-radius:var(--radius-min);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:inline-flex}.zk-nav-toggle-btn:hover{background:var(--sidebar-hover-bg);color:var(--sidebar-text-primary)}.zk-nav-chevron{width:.9rem;height:.9rem;color:var(--sidebar-text-muted);flex-shrink:0;margin-left:auto;transition:transform .2s cubic-bezier(.4,0,.2,1)}.zk-nav-group-header-btn .zk-nav-chevron{margin-left:auto}.zk-nav-toggle-btn:not(.zk-nav-toggle-pinned)>.zk-nav-chevron{margin:0}.zk-nav-group-header-btn[aria-expanded=true] .zk-nav-chevron,.zk-nav-toggle-btn[aria-expanded=true] .zk-nav-chevron{transform:rotate(180deg)}.zk-nav-group-header-btn[aria-expanded=false] .zk-nav-chevron,.zk-nav-toggle-btn[aria-expanded=false] .zk-nav-chevron{transform:rotate(0)}.zk-nav-group:has(>.zk-nav-group-header-btn[aria-expanded=false])>.zk-nav-children,.zk-nav-group:has(>.zk-nav-group-header>.zk-nav-toggle-btn[aria-expanded=false])>.zk-nav-children,.zk-nav-group.is-collapsed>.zk-nav-children{display:none}.zk-nav-children{border-left:none;flex-direction:column;gap:2px;margin-top:2px;margin-bottom:4px;margin-left:.65rem;padding-left:.35rem;display:flex;position:relative}.zk-nav-item{border-radius:var(--radius-min);color:var(--sidebar-text-secondary);border:1px solid #0000;align-items:center;gap:.5rem;padding:.45rem .65rem;font-size:.8125rem;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s;display:flex;position:relative}.zk-nav-item:hover{background:var(--sidebar-hover-bg);color:var(--sidebar-text-primary)}.zk-nav-item-active{background:var(--sidebar-active-bg);color:var(--sidebar-active-text);border-color:var(--sidebar-active-border);box-shadow:var(--sidebar-active-shadow);font-weight:600}.zk-nav-item-active .zk-nav-icon{color:var(--sidebar-active-icon)}.zk-sidebar-search{min-width:0;padding:0 .125rem .25rem}.zk-sidebar-shortcuts{background:0 0;border:0;align-items:center;gap:.35rem;min-height:2.25rem;display:flex}.zk-sidebar-shortcuts .zk-button-icon-only,.zk-sidebar-shortcuts .zk-sidebar-shortcut,.zk-sidebar-shortcuts [data-zk-sidebar-pinned-only],.zk-sidebar-shortcuts .zk-sidebar-search-trigger{transition:background-color .15s,color .15s;border-radius:var(--radius-sm)!important;width:2rem!important;min-width:2rem!important;height:2rem!important;color:var(--sidebar-text-secondary)!important;box-shadow:none!important;background:0 0!important;border:none!important;justify-content:center!important;align-items:center!important;padding:0!important;display:inline-flex!important}.zk-sidebar-shortcuts .zk-button-icon-only:hover,.zk-sidebar-shortcuts .zk-sidebar-shortcut:hover,.zk-sidebar-shortcuts [data-zk-sidebar-pinned-only]:hover,.zk-sidebar-shortcuts .zk-sidebar-search-trigger:hover{background:var(--sidebar-hover-bg)!important;color:var(--sidebar-text-primary)!important;border:none!important}.zk-sidebar-shortcuts .zk-sidebar-shortcut.zk-nav-item-active,.zk-sidebar-shortcuts .zk-sidebar-shortcut[aria-current=page]{background:var(--sidebar-active-bg)!important;color:var(--sidebar-active-text)!important;box-shadow:none!important;border:none!important}.zk-sidebar-shortcuts .zk-sidebar-shortcut.zk-nav-item-active svg,.zk-sidebar-shortcuts .zk-sidebar-shortcut.zk-nav-item-active .zk-icon,.zk-sidebar-shortcuts .zk-sidebar-shortcut[aria-current=page] svg,.zk-sidebar-shortcuts .zk-sidebar-shortcut[aria-current=page] .zk-icon{color:var(--sidebar-active-icon)!important}.zk-sidebar-shortcuts [data-zk-sidebar-pinned-only][aria-pressed=true]{background:var(--sidebar-pin-active-bg)!important;color:var(--sidebar-pin-active-color)!important;box-shadow:none!important;border:none!important}.zk-sidebar-search .zk-sidebar-shortcuts>[data-zk-sidebar-pinned-only]{margin-left:auto}.zk-sidebar-shortcut .zk-icon,.zk-sidebar-shortcut svg,.zk-sidebar-shortcuts .zk-sidebar-shortcut .zk-icon,.zk-sidebar-shortcuts .zk-sidebar-shortcut svg{width:1.15rem!important;height:1.15rem!important}.zk-sidebar-home-source[hidden]{display:none}.zk-sidebar-search-icon,.zk-sidebar-pin-icon{background-color:currentColor!important;width:1.15rem!important;height:1.15rem!important;display:inline-block!important;-webkit-mask-position:50%!important;mask-position:50%!important;-webkit-mask-size:contain!important;mask-size:contain!important;-webkit-mask-repeat:no-repeat!important;mask-repeat:no-repeat!important}.zk-sidebar-search-icon{-webkit-mask-image:url(/assets/static/svg/search.svg)!important;mask-image:url(/assets/static/svg/search.svg)!important}.zk-sidebar-pin-icon{-webkit-mask-image:url(/assets/static/svg/pin.svg)!important;mask-image:url(/assets/static/svg/pin.svg)!important}.zk-sidebar-search-panel{gap:.25rem;padding-top:.25rem;display:grid}.zk-sidebar-search-panel[hidden]{display:none}.zk-sidebar-pins,.zk-sidebar-results{gap:.25rem;min-width:0;display:grid}.zk-sidebar-pins[hidden],.zk-sidebar-results[hidden],.zk-sidebar-pin-status[hidden],.zk-sidebar-results [hidden]{display:none}.zk-sidebar [data-zk-sidebar-empty] .zk-card,.zk-sidebar .zk-sidebar-results .zk-card,.zk-sidebar-results [data-zk-sidebar-empty] .zk-card{background:var(--sidebar-hover-bg);border:1px dashed var(--sidebar-border);border-radius:var(--radius);color:var(--sidebar-text-secondary);text-align:center;box-shadow:none;padding:1rem .75rem}.zk-sidebar [data-zk-sidebar-empty] .zk-card .zk-muted,.zk-sidebar .zk-sidebar-results .zk-card .zk-muted,.zk-sidebar-results [data-zk-sidebar-empty] .zk-card .zk-muted{color:var(--sidebar-text-muted);margin:0;font-size:.8125rem}.zk-sidebar-pins h2,.zk-sidebar-results h2{color:var(--sidebar-text-muted);margin:.35rem .5rem .15rem;font-size:.75rem;font-weight:600}.zk-sidebar-pin-list,.zk-sidebar-result-list{gap:.125rem;display:grid}.zk-sidebar-scope,.zk-cache-boundary{display:contents}.zk-sidebar-pin-row{align-items:center;min-width:0;display:flex;position:relative}.zk-sidebar-pin-row[hidden],.zk-nav-group-header>.zk-nav-item[hidden],.zk-nav-group-header>[data-zk-sidebar-pin][hidden]{display:none}.zk-nav-toggle-btn.zk-nav-toggle-pinned{text-align:left;justify-content:space-between;gap:.5rem;width:100%;height:auto;min-height:2rem;padding:.4rem .5rem}.zk-sidebar-pin-row>.zk-nav-item{flex:1;min-width:0}.zk-sidebar-pin-row .zk-nav-title,.zk-nav-group-header .zk-nav-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.zk-sidebar-pin-row>.zk-button-icon-only[data-zk-sidebar-pin],.zk-nav-group-header>.zk-button-icon-only[data-zk-sidebar-pin]{z-index:1;width:1.875rem;min-width:1.875rem;height:1.875rem;color:var(--sidebar-text-muted);box-shadow:none;opacity:0;visibility:hidden;pointer-events:none;background:0 0;border:0;padding:.4rem;transition:opacity .15s,background-color .15s;position:absolute;top:50%;right:.25rem;transform:translateY(-50%)}.zk-nav-group-header>.zk-button-icon-only[data-zk-sidebar-pin]{right:1.875rem}.zk-sidebar-pin-row:hover>[data-zk-sidebar-pin],.zk-sidebar-pin-row:focus-within>[data-zk-sidebar-pin],.zk-nav-group-header:hover>[data-zk-sidebar-pin],.zk-nav-group-header:focus-within>[data-zk-sidebar-pin]{opacity:1;visibility:visible;pointer-events:auto}.zk-sidebar-pin-row>.zk-button-icon-only[data-zk-sidebar-pin]:hover,.zk-sidebar-pin-row>.zk-button-icon-only[data-zk-sidebar-pin]:focus-visible,.zk-nav-group-header>.zk-button-icon-only[data-zk-sidebar-pin]:hover,.zk-nav-group-header>.zk-button-icon-only[data-zk-sidebar-pin]:focus-visible{background:var(--sidebar-hover-bg);color:var(--sidebar-text-primary);border:0}@media (hover:none){.zk-sidebar-pin-row>.zk-button-icon-only[data-zk-sidebar-pin],.zk-nav-group-header>.zk-button-icon-only[data-zk-sidebar-pin]{opacity:1;visibility:visible;pointer-events:auto}}[data-zk-sidebar-pin][aria-pressed=true]{color:var(--sidebar-pin-active-color);background:var(--sidebar-pin-active-bg)}.zk-sidebar-searching>.zk-sidebar-scope,.zk-sidebar-searching>.zk-nav-group,.zk-sidebar-searching>.zk-sidebar-pin-row,.zk-sidebar-searching>.zk-nav-item{display:none}.zk-sidebar-pin-status{color:var(--text-muted);margin:.25rem .5rem;font-size:.75rem}.zk-sidebar-pin-retry[hidden]{display:none}.zk-sidebar-pin-retry .zk-button{width:100%;min-height:2rem;font-size:.75rem}.zk-breadcrumbs{color:var(--text-muted);align-items:center;gap:.375rem;font-size:1.05rem;display:flex}.zk-breadcrumbs a{color:var(--text-muted);text-decoration:none}.zk-breadcrumb-root{flex:none;align-items:center;min-width:1.5rem;min-height:1.5rem;display:inline-flex}.zk-breadcrumbs a:hover{color:var(--brand-text);text-decoration:underline}.zk-button,.zk-btn{box-sizing:border-box;border-radius:var(--radius-button);cursor:pointer;font-size:.875rem;font-weight:500;font-family:var(--font-sans);-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1.25rem;line-height:1.4;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.zk-button svg,.zk-btn svg{vertical-align:middle;flex-shrink:0;display:inline-block}.zk-button:disabled,.zk-btn:disabled{cursor:not-allowed;background:var(--surface-disabled);border-color:var(--border-strong);color:var(--text-disabled);opacity:1}.zk-button[aria-busy=true],.zk-button[data-loading=true],.zk-button.is-loading,.zk-btn[aria-busy=true],.zk-btn[data-loading=true],.zk-btn.is-loading{cursor:wait}.zk-button:focus-visible,.zk-btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.zk-button-compact,.zk-btn-compact{min-width:0;padding:.25rem .75rem;font-size:.8125rem}.zk-button-sm,.zk-btn-sm{padding:.25rem .625rem;font-size:.75rem}.zk-button-icon{pointer-events:none;stroke:currentColor;color:currentColor;flex-shrink:0;width:1rem;height:1rem;display:block}.zk-button-primary,.zk-btn-primary{background-color:var(--primary);color:var(--text-on-primary);border-color:var(--primary-border)}.zk-button-primary:not(:disabled):hover,.zk-btn-primary:not(:disabled):hover{background-color:var(--primary-hover);border-color:var(--primary-hover);color:var(--text-on-primary)}.zk-button-primary:not(:disabled):active,.zk-btn-primary:not(:disabled):active{background-color:var(--primary-pressed);border-color:var(--primary-border)}.zk-button-secondary,.zk-btn-secondary{background-color:var(--card);color:var(--text-primary);border-color:var(--secondary-border)}.zk-button-secondary:not(:disabled):hover,.zk-btn-secondary:not(:disabled):hover{background-color:var(--secondary-hover);border-color:var(--border-control-hover);color:var(--text-primary)}.zk-button-danger,.zk-button-destructive,.zk-btn-danger,.zk-btn-destructive{background-color:var(--danger);color:var(--text-on-danger);border-color:var(--danger)}.zk-button-danger:not(:disabled):hover,.zk-button-destructive:not(:disabled):hover,.zk-btn-danger:not(:disabled):hover,.zk-btn-destructive:not(:disabled):hover{background-color:var(--danger-hover);border-color:var(--danger-hover);color:var(--text-on-danger)}.zk-button-warning{color:var(--warning-button);border-color:var(--warning-button)}.zk-button-warning:not(:disabled):hover{background-color:var(--warning-light);border-color:var(--warning-button-hover)}.zk-button-ghost{color:var(--text-secondary);background-color:#0000;border-color:#0000}.zk-button-ghost:not(:disabled):hover{background-color:var(--zk-btn-ghost-hover);color:var(--text-primary)}.zk-button-outline{color:var(--text-primary);border-color:var(--secondary-border);background-color:#0000}.zk-button-outline:not(:disabled):hover{border-color:var(--primary);color:var(--brand-text);background-color:var(--primary-light)}.zk-button-outline.is-danger:not(:disabled):hover{border-color:var(--destructive);color:var(--destructive);background-color:var(--destructive-light)}.zk-button-excel,.zk-button-success{background-color:var(--success);color:var(--text-on-primary);border-color:var(--success)}.zk-button-excel:not(:disabled):hover,.zk-button-success:not(:disabled):hover{background-color:var(--primary);border-color:var(--primary);color:var(--text-on-primary)}.zk-floating-excel-container{z-index:50;pointer-events:auto;position:fixed;bottom:2rem;right:2rem;display:none!important}.zk-floating-excel-btn{background-color:var(--success);color:var(--text-on-primary);border:1px solid var(--success);border-radius:var(--radius-button);box-shadow:0 4px 16px var(--overlay-shadow);cursor:pointer;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.zk-floating-excel-btn:hover{background-color:var(--primary);border-color:var(--primary);color:var(--text-on-primary);box-shadow:0 6px 20px var(--overlay-shadow);transform:translateY(-2px)}.zk-button-icon-only{flex-shrink:0;justify-content:center;align-items:center;gap:0;width:2.25rem;min-width:2.25rem;height:2.25rem;padding:0;font-size:0;line-height:0;display:inline-flex;position:relative;overflow:hidden}.zk-button-icon-only svg,.zk-button-icon-only .zk-button-icon{flex-shrink:0;width:1.15rem;height:1.15rem;margin:0 auto;display:block}:is(.zk-button-icon-only,.zk-icon-control){--zk-icon-color:var(--text-secondary);--zk-icon-hover-color:var(--text-primary);--zk-icon-hover-bg:var(--surface-hover);--zk-icon-pressed-bg:var(--surface-pressed);--zk-icon-focus:var(--ring)}:is(.zk-button-icon-only,.zk-icon-control).zk-button-primary{--zk-icon-color:var(--brand-text);--zk-icon-hover-color:var(--brand-text);--zk-icon-hover-bg:var(--primary-light);--zk-icon-pressed-bg:var(--primary-light)}:is(.zk-button-icon-only,.zk-icon-control):is(.zk-button-danger,.zk-icon-control-danger,.is-danger){--zk-icon-color:var(--destructive-text);--zk-icon-hover-color:var(--destructive-text);--zk-icon-hover-bg:var(--destructive-light);--zk-icon-pressed-bg:var(--destructive-light)}:is(.zk-button-icon-only,.zk-icon-control):is(.zk-button-success,.zk-button-excel,.is-copied){--zk-icon-color:var(--success-text);--zk-icon-hover-color:var(--success-text);--zk-icon-hover-bg:var(--success-light);--zk-icon-pressed-bg:var(--success-light)}:is(.zk-button-icon-only,.zk-icon-control).zk-button-warning{--zk-icon-color:var(--warning-text);--zk-icon-hover-color:var(--warning-text);--zk-icon-hover-bg:var(--warning-light);--zk-icon-pressed-bg:var(--warning-light)}:is(.zk-button-icon-only,.zk-icon-control):not(:where(.zk-action-menu-popup *)){border-radius:var(--radius);box-shadow:none;border:0;transition:background-color .15s,color .15s}:is(.zk-button-icon-only,.zk-icon-control):not(:where(.zk-action-menu-popup *)):not(:disabled):not([aria-disabled=true]){background:var(--zk-icon-rest-bg,transparent);color:var(--zk-icon-color)}:is(.zk-button-icon-only,.zk-icon-control):not(:where(.zk-action-menu-popup *)):not(:disabled):not([aria-disabled=true]):is(:hover,:focus-visible){background:var(--zk-icon-hover-bg);color:var(--zk-icon-hover-color)}:is(.zk-button-icon-only,.zk-icon-control):not(:where(.zk-action-menu-popup *)):not(:disabled):not([aria-disabled=true]):active{background:var(--zk-icon-pressed-bg)}:where(.zk-sidebar-toggle,.zk-topbar-sidebar-toggle,.zk-nav-toggle-btn),[data-zk-icon-selection=none]{--zk-icon-selected-bg:transparent;--zk-icon-selected-color:var(--text-secondary);--zk-icon-selected-hover-bg:var(--surface-hover);--zk-icon-selected-hover-color:var(--text-primary)}:where(.zk-sidebar-shortcut),[data-zk-icon-selection=neutral]{--zk-icon-selected-bg:var(--surface-hover);--zk-icon-selected-color:var(--text-primary);--zk-icon-selected-hover-bg:var(--surface-hover);--zk-icon-selected-hover-color:var(--text-primary)}[data-zk-icon-selection=brand]{--zk-icon-selected-bg:var(--primary-light);--zk-icon-selected-color:var(--brand-text);--zk-icon-selected-hover-bg:var(--primary-light);--zk-icon-selected-hover-color:var(--brand-text)}:is(.zk-button-icon-only,.zk-icon-control):not(:where(.zk-action-menu-popup *)):not(:disabled):not([aria-disabled=true]):is([aria-pressed=true],[aria-expanded=true],[aria-current=page],[data-subscribed=true],.is-active,.zk-pinned){--zk-icon-rest-bg:var(--zk-icon-selected-bg,var(--primary-light));--zk-icon-color:var(--zk-icon-selected-color,var(--brand-text));--zk-icon-hover-color:var(--zk-icon-selected-hover-color,var(--brand-text));--zk-icon-hover-bg:var(--zk-icon-selected-hover-bg,var(--primary-light))}:is(.zk-button-icon-only,.zk-icon-control):not(:where(.zk-action-menu-popup *)):is(:disabled,[aria-disabled=true]){color:var(--text-disabled);cursor:not-allowed;box-shadow:none;background:0 0}:is(.zk-button-icon-only,.zk-icon-control):not(:where(.zk-action-menu-popup *)):focus-visible{outline:2px solid var(--zk-icon-focus);outline-offset:2px}.zk-icon-control{cursor:pointer;min-width:1.5rem;min-height:1.5rem}.zk-icon-control:is([aria-busy=true],[data-loading=true],.is-loading){cursor:wait}.zk-copy-control{flex:none;justify-content:center;align-items:center;padding:.35rem;display:inline-flex}.zk-copy-control .zk-copy-icon-success,.zk-copy-control.is-copied .zk-copy-icon-default{display:none}.zk-copy-control.is-copied .zk-copy-icon-success{display:block}.zk-modal-header .zk-icon-control{--zk-icon-color:var(--text-on-primary);--zk-icon-hover-color:var(--text-on-primary);--zk-icon-hover-bg:var(--media-overlay-control-hover);--zk-icon-pressed-bg:var(--media-overlay-control-hover);--zk-icon-focus:var(--text-on-primary)}@media (prefers-reduced-motion:reduce){.zk-button,.zk-button-icon-only,.zk-icon-control,.zk-nav-chevron,.zk-switch-track,.zk-switch-thumb,.zk-switch-pill-track,.zk-switch-pill-thumb,.zk-sidebar,.zk-sidebar-hover-zone,.zk-role-filter-chip,.zk-permission-card,.zk-role-search-input{transition-duration:.01ms}.zk-toast,.zk-toast-item,.zk-modal-overlay,.zk-modal,.zk-filter-toolbar.is-compact .zk-filter-panel{transition-duration:.01ms;animation:none}}.zk-form-actions{justify-content:flex-start;align-items:center;gap:.75rem;margin-top:1.5rem;display:flex}.zk-switch{border-radius:var(--radius);min-height:2.75rem;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.55rem;padding:.35rem;font-weight:700;display:inline-flex}.zk-switch:hover{color:var(--text-primary);background:var(--surface-hover)}.zk-switch:focus-visible{outline:3px solid var(--ring);outline-offset:2px}.zk-switch-track{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--background);flex:none;width:2.5rem;height:1.35rem;transition:background-color .16s,border-color .16s;position:relative}.zk-switch-thumb{border-radius:var(--radius-pill);background:var(--text-muted);width:.95rem;height:.95rem;transition:transform .16s,background-color .16s;position:absolute;top:.15rem;left:.15rem}.zk-switch[aria-checked=true] .zk-switch-track{border-color:var(--primary-border);background:var(--primary)}.zk-switch[aria-checked=true] .zk-switch-thumb{background:var(--text-on-primary);transform:translate(1.15rem)}.zk-switch-pill{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;display:inline-flex;position:relative}.zk-switch-pill input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.zk-switch-pill-track{border:1px solid var(--input-border);background-color:var(--surface-pressed);border-radius:var(--radius-pill);width:2.25rem;height:1.25rem;transition:background-color .16s,border-color .16s;display:inline-block;position:relative}.zk-switch-pill-thumb{background-color:var(--card);width:.95rem;height:.95rem;box-shadow:0 1px 3px var(--overlay-shadow);border-radius:50%;transition:transform .16s;position:absolute;top:.15rem;left:.15rem}.zk-switch-pill input:checked+.zk-switch-pill-track{border-color:var(--primary-border);background-color:var(--primary)}.zk-switch-pill input:checked+.zk-switch-pill-track .zk-switch-pill-thumb{transform:translate(1rem)}.zk-switch-pill input:focus-visible+.zk-switch-pill-track{outline:2px solid var(--ring);outline-offset:2px}.zk-inline-action-form{margin:0;display:inline}body.zk-modal-open{overflow:hidden}@keyframes zkModalOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes zkModalSlideIn{0%{opacity:0;transform:translateY(-12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.zk-modal-overlay{z-index:1000;background:var(--overlay-backdrop);box-sizing:border-box;justify-content:center;align-items:center;padding:1rem;animation:.18s zkModalOverlayIn;display:flex;position:fixed;inset:0}.zk-modal-overlay[hidden]{display:none}.zk-modal{box-sizing:border-box;border:1px solid var(--input-border);border-radius:var(--radius);background:var(--card);width:min(37.5rem,100%);max-height:85vh;box-shadow:var(--shadow-lg);flex-direction:column;animation:.22s cubic-bezier(.22,1,.36,1) zkModalSlideIn;display:flex;overflow:hidden}.zk-modal:focus{outline:none}#zk-modal-community-class-attendees .zk-modal{width:94vw;max-width:860px}#zk-modal-edit-member .zk-modal,#zk-modal-create-member .zk-modal{width:94vw;max-width:800px}#zk-modal-edit-member .zk-form-row,#zk-modal-create-member .zk-form-row{flex-direction:column!important;align-items:stretch!important;gap:.35rem!important;width:100%!important;padding-bottom:0!important;display:flex!important}#zk-modal-edit-member .zk-form-row label,#zk-modal-create-member .zk-form-row label{color:var(--foreground-muted)!important;grid-column:auto!important;margin-bottom:0!important;font-size:.8125rem!important;font-weight:500!important}#zk-modal-edit-member .zk-form-row input,#zk-modal-edit-member .zk-form-row select,#zk-modal-edit-member .zk-form-row textarea,#zk-modal-create-member .zk-form-row input,#zk-modal-create-member .zk-form-row select,#zk-modal-create-member .zk-form-row textarea{grid-column:auto!important;width:100%!important}.zk-edit-member-layout{gap:1.5rem;padding:.25rem 0;display:flex}@media (max-width:680px){.zk-edit-member-layout{flex-direction:column;align-items:center}}.zk-edit-member-aside{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;flex-shrink:0;align-items:center;gap:.85rem;width:13rem;padding:1.25rem .85rem;display:flex}.zk-edit-member-avatar-box{border:3px solid var(--primary);background:var(--surface);width:7.5rem;height:7.5rem;box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.zk-edit-member-avatar-img{object-fit:cover;width:100%;height:100%;display:block}.zk-edit-member-code-badge{border-radius:var(--radius-full);background:var(--surface);border:1px solid var(--border);color:var(--foreground);align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.8125rem;display:flex}.zk-edit-member-main{flex-direction:column;flex:1;gap:1rem;min-width:0;display:flex}.zk-edit-member-grid{grid-template-columns:1fr 1fr;gap:.85rem 1rem;display:grid}@media (max-width:540px){.zk-edit-member-grid{grid-template-columns:1fr}}.zk-edit-member-grid .zk-grid-full{grid-column:1/-1}#zk-modal-community-class-attendees .zk-table-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);max-height:calc(100vh - 280px);overflow-y:auto}#zk-modal-community-class-attendees .zk-table thead th{z-index:2;background:var(--card);text-transform:none;font-size:.8125rem;font-weight:600;position:sticky;top:0}#zk-modal-community-class-attendees .zk-dynamic-grid-view,#zk-modal-community-class-attendees .zk-dynamic-paired-grid-view{display:none!important}.zk-modal-header{border-bottom:1px solid var(--border);color:var(--text-on-primary);background:var(--primary);justify-content:space-between;align-items:center;gap:1rem;padding:1.125rem 1.25rem 1rem;display:flex}.zk-modal-header h2,.zk-modal-header h3{letter-spacing:-.01em;-webkit-font-smoothing:antialiased;text-shadow:none;margin:0;font-size:1rem;font-style:normal;font-weight:700;line-height:1.3}.zk-modal-close{opacity:1;flex-shrink:0;justify-content:center;align-items:center;width:2rem;min-width:2rem;height:2rem;padding:0;display:inline-flex}.zk-modal-close svg{width:1rem;height:1rem}.zk-attendance-modal-backdrop{background:var(--overlay-backdrop);z-index:9999;opacity:0;visibility:hidden;-webkit-backdrop-filter:blur(8px);justify-content:center;align-items:center;transition:opacity .25s,visibility .25s;display:flex;position:fixed;inset:0}.zk-attendance-modal-backdrop.zk-modal-open{opacity:1;visibility:visible}.zk-attendance-modal-stage{justify-content:center;align-items:center;gap:1.25rem;width:96%;max-width:44rem;transition:max-width .35s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1);display:flex;transform:scale(.96)}.zk-attendance-modal-backdrop.zk-modal-open .zk-attendance-modal-stage{transform:scale(1)}.zk-attendance-modal-stage.is-stream{max-width:78rem}@media (max-width:1200px){.zk-attendance-modal-stage.is-stream{gap:.75rem;max-width:96vw}}@media (max-width:900px){.zk-attendance-modal-stage.is-stream{flex-direction:column-reverse;max-width:36rem;max-height:90vh;overflow-y:auto}}.zk-modal-history-stream{flex:0 auto;justify-content:flex-end;align-items:center;gap:.75rem;padding:.5rem .25rem;display:flex;overflow:hidden}@media (max-width:900px){.zk-modal-history-stream{justify-content:flex-start;width:100%;overflow-x:auto}}.zk-modal-history-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card,1rem);width:10.75rem;box-shadow:0 10px 25px -5px var(--overlay-shadow);flex-direction:column;flex:0 0 10.75rem;justify-content:space-between;padding:.75rem .85rem;transition:all .3s cubic-bezier(.16,1,.3,1);animation:.3s cubic-bezier(.16,1,.3,1) zk-card-slide-left;display:flex;position:relative;overflow:hidden}@keyframes zk-card-slide-left{0%{opacity:0;transform:translate(30px)scale(.92)}to{opacity:1;transform:translate(0)}}.zk-modal-history-stream .zk-modal-history-card:last-child{opacity:.98;transform:scale(1)}.zk-modal-history-stream .zk-modal-history-card:nth-last-child(2){opacity:.85;transform:scale(.94)}.zk-modal-history-stream .zk-modal-history-card:nth-last-child(3){opacity:.68;transform:scale(.88)}.zk-modal-history-stream .zk-modal-history-card:nth-last-child(n+4){opacity:.5;transform:scale(.82)}.zk-modal-history-card:hover{box-shadow:0 16px 32px -6px var(--overlay-shadow);z-index:5;opacity:1!important;transform:scale(1.02)!important}.zk-modal-history-card.is-expired{border-color:var(--destructive-border)}@supports (color:color-mix(in lab, red, red)){.zk-modal-history-card.is-expired{border-color:color-mix(in srgb, var(--destructive-border) 35%, transparent)}}.zk-modal-history-card.is-warning{border-color:var(--warning-border)}@supports (color:color-mix(in lab, red, red)){.zk-modal-history-card.is-warning{border-color:color-mix(in srgb, var(--warning-border) 35%, transparent)}}.zk-modal-history-header{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:.45rem;font-size:.75rem;display:flex}.zk-modal-history-avatar-box{border:2px solid var(--border);width:3.5rem;height:3.5rem;box-shadow:0 4px 12px var(--overlay-shadow);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin:0 auto .4rem;display:flex;overflow:hidden}.zk-modal-history-avatar-box img{object-fit:cover;width:100%;height:100%}.zk-modal-history-avatar-initial{color:var(--text-on-primary);text-shadow:0 1px 3px var(--overlay-shadow);font-size:1.4rem;font-weight:800}.zk-modal-history-name{color:var(--foreground);text-align:center;white-space:nowrap;text-overflow:ellipsis;margin:0 0 .15rem;font-size:.92rem;font-weight:700;overflow:hidden}.zk-modal-history-id{color:var(--muted);text-align:center;margin-bottom:.45rem;font-size:.72rem;font-weight:500}.zk-modal-history-meta{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.2rem;margin-bottom:.5rem;padding:.35rem .5rem;font-size:.72rem;display:flex}.zk-modal-history-meta-row{justify-content:space-between;align-items:center;gap:.25rem;display:flex}.zk-modal-history-meta-lbl{color:var(--muted);font-size:.7rem;font-weight:500}.zk-modal-history-meta-val{color:var(--foreground);white-space:nowrap;text-overflow:ellipsis;text-align:right;max-width:6.5rem;font-weight:600;overflow:hidden}.zk-modal-card-current{background:var(--card);border:2.5px solid var(--border);border-radius:var(--radius);width:52rem;min-width:32rem;max-width:min(58rem,95vw);box-shadow:0 25px 60px -15px var(--overlay-shadow);flex:0 0 52rem;transition:transform .25s cubic-bezier(.34,1.56,.64,1),border-color .2s,box-shadow .2s;overflow:hidden;transform:scale(.96);position:relative!important}.zk-attendance-modal-backdrop.zk-modal-open .zk-modal-card-current{transform:scale(1)}.zk-modal-card-current.zk-card-success{border-color:var(--success-border);box-shadow:0 24px 60px -10px var(--success-border), 0 0 0 1px var(--success-border)}@supports (color:color-mix(in lab, red, red)){.zk-modal-card-current.zk-card-success{box-shadow:0 24px 60px -10px color-mix(in srgb, var(--success-border) 28%, transparent), 0 0 0 1px color-mix(in srgb, var(--success-border) 15%, transparent)}}.zk-modal-card-current.zk-card-warning{border-color:var(--warning-border);box-shadow:0 24px 60px -10px var(--warning-border), 0 0 0 1px var(--warning-border)}@supports (color:color-mix(in lab, red, red)){.zk-modal-card-current.zk-card-warning{box-shadow:0 24px 60px -10px color-mix(in srgb, var(--warning-border) 28%, transparent), 0 0 0 1px color-mix(in srgb, var(--warning-border) 15%, transparent)}}.zk-modal-card-current.zk-card-danger{border-color:var(--destructive-border);box-shadow:0 24px 60px -10px var(--destructive-border), 0 0 0 1px var(--destructive-border)}@supports (color:color-mix(in lab, red, red)){.zk-modal-card-current.zk-card-danger{box-shadow:0 24px 60px -10px color-mix(in srgb, var(--destructive-border) 28%, transparent), 0 0 0 1px color-mix(in srgb, var(--destructive-border) 15%, transparent)}}.zk-modal-card-current #zk-modal-close-btn,.zk-modal-card-current .zk-attendance-modal-close-btn,.zk-modal-card-current .zk-modal-close,.zk-attendance-modal-card #zk-modal-close-btn,.zk-attendance-modal-card .zk-attendance-modal-close-btn,.zk-attendance-modal-card .zk-modal-close,.zk-attendance-modal-close-btn{box-shadow:var(--shadow-xs);background:var(--surface)!important;border:1px solid var(--border)!important;width:2.25rem!important;min-width:2.25rem!important;height:2.25rem!important;color:var(--muted)!important;cursor:pointer!important;z-index:100!important;border-radius:50%!important;justify-content:center!important;align-items:center!important;padding:0!important;transition:all .18s cubic-bezier(.16,1,.3,1)!important;display:inline-flex!important;position:absolute!important;top:.75rem!important;right:.75rem!important}.zk-modal-card-current #zk-modal-close-btn:hover,.zk-modal-card-current .zk-attendance-modal-close-btn:hover,.zk-modal-card-current .zk-modal-close:hover,.zk-attendance-modal-card #zk-modal-close-btn:hover,.zk-attendance-modal-card .zk-attendance-modal-close-btn:hover,.zk-attendance-modal-card .zk-modal-close:hover,.zk-attendance-modal-close-btn:hover{background:var(--destructive-light)!important;color:var(--destructive,var(--destructive-border))!important;border-color:var(--destructive-border)!important;transform:scale(1.1)!important}.zk-modal-card-current #zk-modal-close-btn svg,.zk-modal-card-current .zk-attendance-modal-close-btn svg,.zk-modal-card-current .zk-modal-close svg,.zk-attendance-modal-card #zk-modal-close-btn svg,.zk-attendance-modal-card .zk-attendance-modal-close-btn svg,.zk-attendance-modal-card .zk-modal-close svg,.zk-attendance-modal-close-btn svg{stroke:currentColor!important;stroke-width:2.5px!important;width:1.25rem!important;height:1.25rem!important;display:block!important}.zk-attendance-modal-progress-bar{background:var(--success-border);z-index:10;width:100%;height:5px;transition:width 50ms linear;position:absolute;bottom:0;left:0}.zk-modal-card-current.zk-card-warning .zk-attendance-modal-progress-bar{background:var(--warning-border)}.zk-modal-card-current.zk-card-danger .zk-attendance-modal-progress-bar{background:var(--destructive-border)}.zk-attendance-modal-top-bar{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 3.75rem .85rem 1.5rem;display:flex}.zk-modal-current-badge{background:var(--primary-light);color:var(--primary);border:1px solid var(--primary-border);padding:.35rem .85rem;font-size:.875rem;font-weight:700}.zk-modal-curr-grid{grid-template-columns:minmax(180px,220px) 1fr;align-items:center;gap:1.75rem;padding:1.5rem 1.75rem;display:grid}@media (max-width:768px){.zk-modal-card-current{flex:100%;width:100%;min-width:0}.zk-modal-curr-grid{grid-template-columns:1fr;gap:1.25rem;padding:1.25rem}}.zk-modal-curr-left-panel{box-sizing:border-box;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;width:100%;max-width:220px;padding:.25rem 0;display:flex}.zk-attendance-modal-avatar-xl{border:4.5px solid var(--border);background:var(--surface);width:12.5rem;height:12.5rem;box-shadow:0 16px 36px -8px var(--overlay-shadow);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex;overflow:hidden}.zk-modal-card-current.zk-card-success .zk-attendance-modal-avatar-xl{border-color:var(--success-border);box-shadow:0 0 0 5px var(--success-border), 0 16px 36px -8px var(--overlay-shadow)}@supports (color:color-mix(in lab, red, red)){.zk-modal-card-current.zk-card-success .zk-attendance-modal-avatar-xl{box-shadow:0 0 0 5px color-mix(in srgb, var(--success-border) 20%, transparent), 0 16px 36px -8px var(--overlay-shadow)}}.zk-modal-card-current.zk-card-warning .zk-attendance-modal-avatar-xl{border-color:var(--warning-border);box-shadow:0 0 0 5px var(--warning-border), 0 16px 36px -8px var(--overlay-shadow)}@supports (color:color-mix(in lab, red, red)){.zk-modal-card-current.zk-card-warning .zk-attendance-modal-avatar-xl{box-shadow:0 0 0 5px color-mix(in srgb, var(--warning-border) 20%, transparent), 0 16px 36px -8px var(--overlay-shadow)}}.zk-modal-card-current.zk-card-danger .zk-attendance-modal-avatar-xl{border-color:var(--destructive-border);box-shadow:0 0 0 5px var(--destructive-border), 0 16px 36px -8px var(--overlay-shadow)}@supports (color:color-mix(in lab, red, red)){.zk-modal-card-current.zk-card-danger .zk-attendance-modal-avatar-xl{box-shadow:0 0 0 5px color-mix(in srgb, var(--destructive-border) 20%, transparent), 0 16px 36px -8px var(--overlay-shadow)}}.zk-attendance-modal-avatar-xl img,.zk-modal-avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.zk-attendance-modal-avatar-xl .zk-modal-avatar-initial{color:var(--text-on-primary);text-shadow:0 3px 6px var(--overlay-shadow);font-size:5.5rem;font-weight:800;line-height:1}.zk-status-pill-lg{text-align:center;white-space:normal;word-break:break-word;box-sizing:border-box;letter-spacing:.03em;width:auto;max-width:100%;box-shadow:var(--shadow-xs);border-radius:9999px;justify-content:center;align-items:center;padding:.5rem 1.15rem;font-size:.875rem;font-weight:800;line-height:1.3;display:inline-flex}.zk-modal-access-sub{display:none!important}.zk-modal-curr-right-panel{flex-direction:column;gap:.9rem;min-width:0;display:flex}.zk-attendance-modal-name-xl{color:var(--foreground);letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.85rem;font-weight:800;line-height:1.2;overflow:hidden}.zk-attendance-modal-meta-row{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.6rem .85rem;margin-top:.35rem;font-size:.92rem;font-weight:500;display:flex}.zk-attendance-modal-meta-chip{background:var(--surface);border:1px solid var(--border);color:var(--foreground);border-radius:.5rem;align-items:center;gap:.35rem;padding:.2rem .65rem;font-size:.85rem;font-weight:600;display:inline-flex}.zk-attendance-modal-meta-chip .zk-chip-lbl{color:var(--muted);text-transform:uppercase;font-size:.75rem;font-weight:600}.zk-modal-curr-details-grid{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(2,1fr);gap:.65rem 1.25rem;padding:.9rem 1.15rem;font-size:.9rem;display:grid}@media (max-width:600px){.zk-modal-curr-details-grid{grid-template-columns:1fr}}.zk-modal-detail-item{flex-direction:column;gap:.2rem;min-width:0;display:flex}.zk-modal-detail-label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.72rem;font-weight:600}.zk-modal-detail-value{color:var(--foreground);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:700;overflow:hidden}.zk-modal-detail-value.zk-wrap-text{white-space:normal!important;word-break:break-word!important;text-overflow:clip!important;line-height:1.35!important;overflow:visible!important}.zk-modal-detail-value-lg{font-size:1.05rem}.zk-modal-msg-box-lg{color:var(--foreground);background:var(--surface);border:1.5px solid var(--border);border-left:4.5px solid var(--primary);border-radius:var(--radius);margin:0;padding:.75rem 1rem;font-size:.92rem;font-weight:600;line-height:1.45}.zk-modal-card-current.zk-card-success .zk-modal-msg-box-lg{border-left-color:var(--success-border);background:var(--success-border)}@supports (color:color-mix(in lab, red, red)){.zk-modal-card-current.zk-card-success .zk-modal-msg-box-lg{background:color-mix(in srgb, var(--success-border) 6%, transparent)}}.zk-modal-card-current.zk-card-warning .zk-modal-msg-box-lg{border-left-color:var(--warning-border);background:var(--warning-border)}@supports (color:color-mix(in lab, red, red)){.zk-modal-card-current.zk-card-warning .zk-modal-msg-box-lg{background:color-mix(in srgb, var(--warning-border) 6%, transparent)}}.zk-modal-card-current.zk-card-danger .zk-modal-msg-box-lg{border-left-color:var(--destructive-border);background:var(--destructive-border)}@supports (color:color-mix(in lab, red, red)){.zk-modal-card-current.zk-card-danger .zk-modal-msg-box-lg{background:color-mix(in srgb, var(--destructive-border) 6%, transparent)}}.zk-modal-actions-bar{justify-content:space-between;align-items:center;gap:.75rem;margin-top:.15rem;padding-top:.5rem;display:flex}.zk-modal-action-btn{border-radius:var(--radius-sm,.375rem);align-items:center;gap:.4rem;padding:.35rem .75rem;font-size:.8125rem;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.zk-modal-auto-dismiss-hint{color:var(--muted);align-items:center;gap:.35rem;font-size:.75rem;display:inline-flex}.zk-dismiss-dot{background:var(--primary);border-radius:50%;width:.45rem;height:.45rem;animation:1.5s infinite zk-pulse-dot;display:inline-block}@keyframes zk-pulse-dot{0%,to{opacity:.5;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}.zk-modal-content{min-height:0;padding:1.25rem;overflow-y:auto}.zk-modal .zk-form-row:not(.is-stacked),.zk-modal-body .zk-form-row:not(.is-stacked){width:100%;padding-bottom:.5rem;grid-template-columns:10rem 1fr!important;align-items:center!important;gap:.5rem 1rem!important;display:grid!important}.zk-modal .zk-form-row:not(.is-stacked) label,.zk-modal-body .zk-form-row:not(.is-stacked) label{color:var(--text-primary);grid-column:1;margin-bottom:0;font-weight:500}.zk-modal .zk-form-row:not(.is-stacked) input:not([type=checkbox]):not([type=radio]),.zk-modal .zk-form-row:not(.is-stacked) textarea,.zk-modal .zk-form-row:not(.is-stacked) select,.zk-modal-body .zk-form-row:not(.is-stacked) input:not([type=checkbox]):not([type=radio]),.zk-modal-body .zk-form-row:not(.is-stacked) textarea,.zk-modal-body .zk-form-row:not(.is-stacked) select{box-sizing:border-box;grid-column:2;width:100%}.zk-modal .zk-form-row:not(.is-stacked) .zk-muted,.zk-modal .zk-form-row:not(.is-stacked) .zk-field-error,.zk-modal-body .zk-form-row:not(.is-stacked) .zk-muted,.zk-modal-body .zk-form-row:not(.is-stacked) .zk-field-error{grid-column:2}@media (max-width:640px){.zk-modal .zk-form-row:not(.is-stacked),.zk-modal-body .zk-form-row:not(.is-stacked){flex-direction:column!important;align-items:stretch!important;gap:.375rem!important;display:flex!important}}.zk-modal .zk-checkbox-option,.zk-modal-body .zk-checkbox-option{cursor:pointer!important;flex-direction:row!important;align-items:center!important;gap:.5rem!important;width:auto!important;margin:0!important;padding:0!important;display:inline-flex!important}.zk-modal .zk-checkbox-option input[type=checkbox],.zk-modal-body .zk-checkbox-option input[type=checkbox]{accent-color:var(--primary);flex:none!important;width:1.125rem!important;min-width:1.125rem!important;height:1.125rem!important;margin:0!important}.zk-modal .zk-checkbox-option span,.zk-modal-body .zk-checkbox-option span{color:var(--text-primary)!important;flex:none!important;font-size:.875rem!important;font-weight:500!important}.zk-modal-footer,.zk-modal-actions{border-top:1px solid var(--border);background:var(--surface);border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius);flex-shrink:0;justify-content:flex-end;align-items:center;gap:.75rem;margin:0;padding:1rem 1.5rem;display:flex}.zk-modal-overlay.zk-confirm-dialog,.zk-modal-overlay.zk-alert-dialog,.zk-confirm-dialog,.zk-alert-dialog,[data-zk-confirm-dialog],[data-zk-alert-dialog],[data-zk-governed-dialog]{z-index:20000!important}.zk-confirm-dialog-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg,12px);width:min(32rem,94vw);box-shadow:var(--shadow-lg);overflow:hidden}.zk-confirm-dialog-panel .zk-modal-header{background:var(--surface);color:var(--foreground);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.125rem 1.35rem;display:flex}.zk-confirm-dialog-panel .zk-modal-header h2,.zk-confirm-dialog-panel .zk-modal-header h3{color:var(--foreground);letter-spacing:-.01em;margin:0;font-size:1.1rem;font-weight:700}.zk-confirm-dialog-panel .zk-modal-header .zk-modal-close,.zk-confirm-dialog-panel .zk-modal-header .zk-icon-control{--zk-icon-color:var(--muted);--zk-icon-hover-color:var(--foreground);--zk-icon-hover-bg:var(--surface-hover);color:var(--muted);border-radius:var(--radius-sm);background:0 0;transition:all .15s}.zk-confirm-dialog-panel .zk-modal-header .zk-modal-close:hover,.zk-confirm-dialog-panel .zk-modal-header .zk-icon-control:hover{color:var(--foreground);background:var(--surface-hover)}.zk-confirm-dialog-panel .zk-modal-content{background:var(--card);padding:1.25rem 1.35rem}.zk-confirm-dialog-message{color:var(--foreground);overflow-wrap:anywhere;-webkit-font-smoothing:antialiased;text-shadow:none;-webkit-text-stroke:0;margin:0;font-size:.9375rem;line-height:1.6}.zk-confirm-dialog-actions{border-top:1px solid var(--border);background:var(--surface);border-radius:0 0 var(--radius-lg,12px) var(--radius-lg,12px);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:1.5rem -1.35rem -1.25rem;padding:1rem 1.35rem;display:flex}.zk-alert-dialog .zk-confirm-dialog-actions{justify-content:flex-end}.zk-confirm-dialog-actions .zk-button{border-radius:var(--radius-sm,6px);cursor:pointer;align-items:center;gap:.45rem;padding:.55rem 1.15rem;font-size:.875rem;font-weight:600;transition:all .15s;display:inline-flex}.zk-confirm-dialog-actions .zk-button-secondary{background-color:var(--card);color:var(--foreground);border:1px solid var(--border)}.zk-confirm-dialog-actions .zk-button-secondary:hover{background-color:var(--surface-hover);border-color:var(--border-control-hover)}.zk-confirm-dialog-actions .zk-button-primary{background-color:var(--primary);color:var(--text-on-primary);border:1px solid var(--primary-border)}.zk-confirm-dialog-actions .zk-button-primary:hover{background-color:var(--primary-hover);border-color:var(--primary-hover)}@media (max-width:640px){.zk-confirm-dialog-actions{flex-direction:column-reverse}.zk-confirm-dialog-actions .zk-button{justify-content:center;width:100%}}.zk-detail-label{font-weight:600}.zk-profile-identity{align-items:center;gap:1rem;min-width:0;display:flex}.zk-profile-identity-avatar{border:2px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);width:4.5rem;height:4.5rem;color:var(--brand-text);flex-shrink:0;justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;display:flex;overflow:hidden}.zk-profile-identity-avatar img{object-fit:cover;width:100%;height:100%}.zk-profile-identity-content{min-width:0}.zk-profile-identity-heading{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.zk-profile-identity-name{color:var(--foreground);overflow-wrap:anywhere;margin:0 0 .5rem;font-size:1.5rem;font-weight:700;line-height:1.3}.zk-profile-identity-meta{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.zk-profile-identity-meta-item{color:var(--muted);flex-wrap:wrap;gap:.4rem;font-size:.875rem;display:inline-flex}.zk-profile-identity-meta-item strong{color:var(--foreground);font-weight:600}.zk-profile-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0;display:flex}.zk-profile-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 2rem;display:grid}.zk-profile-field-grid>.zk-detail-item{flex-direction:column;gap:.4rem;min-width:0;display:flex}.zk-profile-field-grid .zk-detail-label{color:var(--muted);font-size:.8125rem;font-weight:500}.zk-profile-field-grid .zk-detail-value{color:var(--foreground);overflow-wrap:anywhere;white-space:pre-wrap;text-align:left;width:auto;font-size:.9375rem;font-weight:600}.zk-profile-section{min-width:0}.zk-profile-dashboard{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.zk-profile-summary-section{grid-column:1/-1;min-width:0}.zk-profile-summary-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:.75rem;display:grid}.zk-profile-summary-card{min-width:0;padding:1rem}.zk-profile-summary-label{color:var(--brand-text);align-items:center;gap:.5rem;font-size:.8125rem;font-weight:600;display:flex}.zk-profile-summary-label svg{width:1rem;height:1rem}.zk-profile-summary-value{color:var(--foreground);overflow-wrap:anywhere;margin-top:.5rem;font-size:1.5rem;font-weight:700}.zk-profile-metrics-grid{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:1rem}.zk-profile-metrics-grid .zk-detail-value{font-size:1.125rem}.zk-profile-table-body{min-width:0;overflow-x:auto}.zk-profile-table-body .zk-table{white-space:nowrap}.zk-profile-table-body .zk-table th{font-size:.8125rem}.zk-profile-table-body .zk-table td{vertical-align:middle}.zk-profile-collection-pagination{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.zk-profile-table-body:focus-visible{outline:2px solid var(--ring);outline-offset:2px}@media (max-width:640px){.zk-profile-field-grid{grid-template-columns:minmax(0,1fr);gap:1rem}.zk-profile-dashboard{grid-template-columns:minmax(0,1fr)}.zk-profile-identity-name{font-size:1.25rem}.zk-profile-toolbar>*{max-width:100%}}.zk-code-preview{text-overflow:ellipsis;vertical-align:middle;white-space:nowrap;max-width:7.5rem;font-size:.8125rem;display:inline-block;overflow:hidden}.zk-date-input,input.zk-date-input{cursor:pointer;min-width:6.125rem;background-color:var(--card)!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E")!important;background-position:right .55rem center!important;background-repeat:no-repeat!important;background-size:1rem 1rem!important;padding-right:1.85rem!important}:root[data-theme=dark] .zk-date-input,:root[data-theme=dark] input.zk-date-input{background-color:var(--card)!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a0aaa4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E")!important;background-position:right .55rem center!important;background-repeat:no-repeat!important;background-size:1rem 1rem!important}input[type=date],input[type=datetime-local]{cursor:pointer}.flatpickr-calendar{background:var(--card)!important;border:1px solid var(--border)!important;box-shadow:0 .75rem 1.5rem var(--overlay-shadow)!important;box-sizing:border-box!important;color:var(--text-primary)!important;border-radius:var(--radius)!important;width:min(24rem,100vw - 1rem)!important;padding:.625rem!important}.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after,.flatpickr-calendar.arrowBottom:before,.flatpickr-calendar.arrowBottom:after{display:none!important}.flatpickr-months .flatpickr-month{color:var(--text-primary)!important;fill:var(--text-primary)!important;background:0 0!important}.flatpickr-current-month .flatpickr-monthDropdown-months{background:var(--card)!important;color:var(--text-primary)!important}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:var(--card)!important;color:var(--text-primary)!important}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{color:var(--text-primary)!important;fill:var(--text-primary)!important}.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:var(--primary)!important}span.flatpickr-weekday{color:var(--text-secondary)!important;font-weight:600!important}.flatpickr-weekdaycontainer .flatpickr-weekday:nth-child(6),.flatpickr-weekdaycontainer .flatpickr-weekday:nth-child(7){color:var(--destructive-text)!important}.flatpickr-innerContainer,.flatpickr-rContainer,.flatpickr-weekdays,.flatpickr-days{width:100%!important}.flatpickr-days{overflow:visible!important}.dayContainer{justify-content:flex-start!important;width:100%!important;min-width:100%!important;max-width:100%!important}.flatpickr-day{color:var(--text-primary)!important;z-index:0!important;background:0 0!important;border-color:#0000!important;border-radius:0!important;flex:0 0 14.2857%!important;width:14.2857%!important;max-width:none!important;height:2.75rem!important;line-height:2.75rem!important;position:relative!important}.flatpickr-day:before{content:""!important;z-index:-1!important;border-radius:var(--radius-button)!important;box-sizing:border-box!important;border:1px solid #0000!important;width:2.75rem!important;height:2.75rem!important;position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important}.flatpickr-day:hover,.flatpickr-day:focus,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.nextMonthDay:hover{color:var(--primary)!important;background:0 0!important;border-color:#0000!important}.dayContainer .flatpickr-day:nth-child(7n+6),.dayContainer .flatpickr-day:nth-child(7n){color:var(--destructive-text)!important}.flatpickr-day:hover:before,.flatpickr-day:focus:before,.flatpickr-day.prevMonthDay:hover:before,.flatpickr-day.nextMonthDay:hover:before{background:var(--background)!important;border-color:var(--background)!important}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected.inRange,.flatpickr-day.startRange.inRange,.flatpickr-day.endRange.inRange,.flatpickr-day.selected:focus,.flatpickr-day.startRange:focus,.flatpickr-day.endRange:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.endRange.nextMonthDay{color:var(--text-on-primary)!important;background:0 0!important;border-color:#0000!important;font-weight:600!important}.flatpickr-day.selected:before,.flatpickr-day.startRange:before,.flatpickr-day.endRange:before,.flatpickr-day.selected.inRange:before,.flatpickr-day.startRange.inRange:before,.flatpickr-day.endRange.inRange:before,.flatpickr-day.selected:focus:before,.flatpickr-day.startRange:focus:before,.flatpickr-day.endRange:focus:before,.flatpickr-day.selected:hover:before,.flatpickr-day.startRange:hover:before,.flatpickr-day.endRange:hover:before,.flatpickr-day.selected.prevMonthDay:before,.flatpickr-day.startRange.prevMonthDay:before,.flatpickr-day.endRange.prevMonthDay:before,.flatpickr-day.selected.nextMonthDay:before,.flatpickr-day.startRange.nextMonthDay:before,.flatpickr-day.endRange.nextMonthDay:before{background:var(--primary)!important;border-color:var(--primary)!important}.flatpickr-day.today{color:var(--primary)!important}.flatpickr-day.today:before{border-color:var(--primary)!important}.flatpickr-day.today.selected,.flatpickr-day.today.startRange,.flatpickr-day.today.endRange{color:var(--text-on-primary)!important}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.notAllowed.nextMonthDay{color:var(--text-muted)!important}.zk-flatpickr-actions{border-top:0;justify-content:space-between;align-items:center;margin-top:.25rem;padding:.625rem .25rem .125rem;display:flex}.zk-flatpickr-btn{color:var(--brand-text);cursor:pointer;border-radius:var(--radius-min);background:0 0;border:none;padding:.25rem .5rem;font-size:1rem;font-weight:600;line-height:1.25;transition:background .15s}.zk-flatpickr-btn:hover,.zk-flatpickr-btn:focus-visible{background:var(--primary-light);outline:none}.zk-btn-clear{color:var(--brand-text)}.zk-grid{flex-direction:column;flex:1;gap:1rem;min-height:0;display:flex}.zk-form-page-wide{padding-bottom:2rem;overflow-y:auto}.zk-card{background:var(--card);border:1px solid var(--border-subtle);border-radius:var(--radius);color:var(--text-primary);box-shadow:inset 0 1px 0 0 var(--card-highlight), var(--shadow-sm);padding:1.25rem;text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .15s}a.zk-card:hover{border-color:var(--card-hover-border);box-shadow:inset 0 1px 0 0 var(--card-highlight), var(--shadow-md);transform:translateY(-1px)}.zk-card-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.zk-card-link{align-items:flex-start;gap:.875rem;display:flex}.zk-card-icon{border-radius:var(--radius);background:var(--surface);width:2.5rem;height:2.5rem;color:var(--text-secondary);border:1px solid var(--border);flex-shrink:0;justify-content:center;align-items:center;transition:transform .15s,background-color .15s;display:flex}.zk-card-icon svg{width:1.25rem;height:1.25rem}a.zk-card-link:hover .zk-card-icon{background:var(--surface-hover)}.zk-card-link-title{color:var(--text-primary);margin-bottom:.25rem;font-size:.9375rem;font-weight:600}.zk-card h1,.zk-card h2{margin:0 0 .5rem;font-size:1rem;font-weight:600}.zk-card p{margin:0;font-size:.8125rem}.zk-dashboard-grid{flex:none;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));align-items:start;gap:1rem;display:grid}.zk-muted{color:var(--text-muted);font-size:.8125rem}.zk-filter-bar{align-items:center;gap:.75rem;width:max-content;margin:0;display:flex}.zk-filter-field{flex:none;align-items:center;gap:.375rem;min-width:0;display:flex}.zk-filter-field-wide{width:16rem}.zk-filter-field-group{border:0;align-items:flex-start;margin:0;padding:0}.zk-filter-field-group legend{float:left;white-space:nowrap;color:var(--text-muted);padding:0;font-size:.8125rem;font-weight:500}.zk-filter-checkbox-list{flex-wrap:wrap;gap:.25rem .75rem;min-width:0;max-height:9rem;display:flex;overflow-y:auto}.zk-filter-toolbar.is-compact .zk-filter-field-group{flex-direction:column;align-items:stretch;gap:.25rem;display:flex}.zk-filter-toolbar.is-compact .zk-filter-field-group legend{float:none;color:var(--text-primary);font-weight:600}.zk-combobox-body{gap:.375rem;width:100%;min-width:0;display:grid}.zk-combobox-chips{flex-wrap:wrap;gap:.25rem;display:flex}.zk-combobox-chips:empty{display:none}.zk-combobox-chip{border:1px solid var(--border);background:var(--surface-subtle);color:var(--text-primary);border-radius:999px;align-items:center;gap:.25rem;padding:.125rem .25rem .125rem .625rem;font-size:.8125rem;display:inline-flex}.zk-combobox-chip button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:0 .25rem;font-size:1rem;line-height:1}.zk-combobox-chip button:hover,.zk-combobox-chip button:focus-visible{color:var(--text-primary)}.zk-combobox.is-enhanced .zk-combobox-list{border:1px solid var(--border);background:var(--card);border-radius:.5rem;gap:0;max-height:12rem;padding:.25rem;display:grid;overflow-y:auto}.zk-combobox-list[hidden],.zk-combobox-list label[hidden],.zk-combobox-empty[hidden],.zk-combobox-input[hidden]{display:none}.zk-combobox.is-enhanced .zk-combobox-list label{cursor:pointer;border-radius:.375rem;padding:.375rem .5rem}.zk-combobox.is-enhanced .zk-combobox-list label:hover,.zk-combobox.is-enhanced .zk-combobox-list label.zk-combobox-active{background:var(--surface-hover)}.zk-combobox-empty{margin:0;font-size:.8125rem}.zk-combobox-form{border:0;min-width:0;margin:0;padding:0 0 .5rem}.zk-combobox-legend{color:var(--text-primary);margin-bottom:.25rem;padding:0;font-size:.875rem;font-weight:600}.zk-required-star{color:var(--destructive);margin-left:2px;font-weight:700}.zk-segmented{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-subtle);flex-wrap:wrap;gap:.25rem;padding:.25rem;display:flex}.zk-segmented-tab{border-radius:var(--radius-sm);min-height:2rem;color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:.375rem;padding:.25rem .75rem;font-size:.875rem;display:inline-flex}.zk-segmented-tab:hover{background:var(--surface-hover);color:var(--text-primary)}.zk-segmented-tab:focus-visible{outline:2px solid var(--ring);outline-offset:1px}.zk-segmented-tab.is-active{border-color:var(--border);background:var(--card);color:var(--text-primary);box-shadow:var(--shadow-xs);font-weight:600}.zk-segmented-marker{border-radius:999px;flex-shrink:0;width:.5rem;height:.5rem}.zk-segmented-marker.is-complete{background:var(--success)}.zk-segmented-marker.is-missing{border:1px solid var(--text-muted)}.zk-segmented-marker.is-required{background:var(--destructive)}.zk-filter-field label{white-space:nowrap;color:var(--text-muted);font-size:.8125rem;font-weight:500}.zk-filter-field .zk-input{flex:1;min-width:0}.zk-filter-actions{white-space:nowrap;flex:none;justify-content:flex-end;gap:.375rem;display:flex}.zk-filter-toolbar{flex:0 auto;justify-content:flex-end;align-items:center;gap:.5rem;min-width:0;display:flex;position:relative}.zk-filter-trigger{white-space:nowrap;justify-content:center;align-items:center;width:2.25rem;min-width:2.25rem;height:2.25rem;padding:0;font-size:.8125rem;font-weight:500;display:none;position:relative}.zk-filter-trigger.has-active-filters{border-color:var(--primary);background:var(--primary-light);color:var(--brand-text);font-weight:600}.zk-filter-trigger-icon{flex-shrink:0;width:1.15rem;height:1.15rem}.zk-filter-active-count{border-radius:var(--radius);background:var(--primary);min-width:1.15rem;height:1.15rem;color:var(--text-on-primary);border:1.5px solid var(--card);justify-content:center;align-items:center;padding:0 .3rem;font-size:.65rem;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:-.25rem;right:-.25rem}.zk-topbar-actions .zk-button-icon-only svg{width:1.25rem;height:1.25rem}.zk-filter-panel{justify-content:flex-end;align-items:center;min-width:0;display:flex}.zk-filter-panel[hidden],.zk-filter-panel[aria-hidden=true],.zk-filter-toolbar.is-compact:not(.is-open) .zk-filter-panel,.zk-filter-toolbar.is-compact .zk-filter-panel[hidden],.zk-filter-toolbar.is-compact .zk-filter-panel[aria-hidden=true]{display:none}.zk-filter-panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.75rem;display:none}.zk-filter-panel-title{color:var(--text-primary);align-items:center;gap:.4rem;font-size:.9rem;font-weight:700;display:flex}.zk-filter-panel-close{justify-content:center;align-items:center;width:1.75rem;height:1.75rem;padding:0;display:inline-flex}.zk-filter-panel-close svg{width:1rem;height:1rem}.zk-filter-toolbar.is-compact .zk-filter-trigger{display:inline-flex}.zk-filter-toolbar.is-compact.is-open .zk-filter-panel,.zk-filter-toolbar.is-compact .zk-filter-panel:not([hidden]):not([aria-hidden=true]){z-index:100;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);width:min(28rem,100vw - 2rem);max-height:calc(100dvh - 5rem);box-shadow:0 .75rem 2rem var(--overlay-shadow);box-sizing:border-box;padding:1.25rem;animation:.15s ease-out zkDropdownFadeIn;display:block;position:absolute;top:calc(100% + .5rem);left:auto;right:0;overflow-y:auto}@keyframes zkDropdownFadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.zk-toast-container{z-index:99999;pointer-events:none;flex-direction:column;gap:.5rem;max-width:min(26rem,100vw - 2.5rem);display:flex;position:fixed;top:1.25rem;right:1.25rem}.zk-toast-item{pointer-events:auto;box-shadow:0 .5rem 1.5rem var(--overlay-shadow);animation:.2s cubic-bezier(.16,1,.3,1) zk-toast-in}.zk-filter-toolbar.is-compact .zk-filter-panel-header{display:flex}.zk-filter-toolbar.is-compact .zk-filter-bar{flex-direction:column;align-items:stretch;gap:.875rem;width:100%;display:flex}.zk-filter-toolbar.is-compact .zk-filter-field,.zk-filter-toolbar.is-compact .zk-filter-field-wide,.zk-filter-toolbar.is-compact .zk-reg-combobox-wrap{flex-direction:column;align-items:stretch;gap:.25rem;display:flex;box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important}.zk-filter-toolbar.is-compact .zk-filter-field label{color:var(--text-primary);font-size:.8125rem;font-weight:600}.zk-filter-toolbar.is-compact .zk-filter-field .zk-input,.zk-filter-toolbar.is-compact .zk-reg-combobox-wrap .zk-input,.zk-filter-toolbar.is-compact select.zk-input,.zk-filter-toolbar.is-compact input.zk-input{box-sizing:border-box!important;width:100%!important;min-width:0!important}.zk-filter-toolbar.is-compact .zk-filter-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:.5rem;width:100%;margin-top:.5rem;padding-top:.75rem;display:flex}.zk-filter-toolbar.is-measuring .zk-filter-panel{visibility:hidden!important;width:max-content!important;display:block!important;position:fixed!important;left:-10000px!important}.zk-filter-toolbar.is-measuring .zk-filter-bar{flex-direction:row!important;width:max-content!important;display:flex!important}.zk-filter-toolbar.is-measuring .zk-filter-field{flex:0 0 14rem!important;width:14rem!important;max-width:none!important}.zk-filter-toolbar.is-measuring .zk-filter-field-wide{flex:0 0 16rem!important;width:16rem!important;max-width:none!important}.zk-table-wrap{background:var(--card);border-radius:var(--radius);border:1px solid var(--border);box-shadow:0 1px 3px var(--overlay-shadow);flex:1;min-height:0;overflow:auto}.zk-table{border-collapse:collapse;width:100%;font-size:.8125rem}.zk-table th{text-align:left;color:var(--text-muted);border-bottom:2px solid var(--border);white-space:nowrap;z-index:10;background:var(--card);padding:.5rem .75rem;font-weight:500;position:sticky;top:0}.zk-table td{border-bottom:1px solid var(--border);white-space:nowrap;padding:.5rem .75rem}.zk-table tbody tr:hover{background:var(--background)}.zk-table-avatar{background:var(--surface);border:1px solid var(--border);vertical-align:middle;border-radius:50%;justify-content:center;align-items:center;width:2.25rem;min-width:2.25rem;height:2.25rem;min-height:2.25rem;display:inline-flex;overflow:hidden}.zk-table-avatar-img{object-fit:cover;border-radius:50%;width:100%;min-width:100%;height:100%;min-height:100%;display:block}.zk-table-avatar-placeholder{width:100%;height:100%;color:var(--primary);background:var(--surface);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:.8125rem;font-weight:600;display:flex}.zk-form-row{flex-direction:column;gap:.25rem;padding-bottom:.5rem;display:flex}@media (min-width:641px){.zk-form-row:not(.is-stacked){grid-template-columns:12rem 1fr;align-items:center;gap:.5rem 1rem;display:grid}.zk-form-row:not(.is-stacked) label{grid-column:1;margin-bottom:0}.zk-form-row:not(.is-stacked) .zk-input,.zk-form-row:not(.is-stacked) .zk-field-shell,.zk-form-row:not(.is-stacked) select,.zk-form-row:not(.is-stacked) textarea,.zk-form-row:not(.is-stacked) .zk-checkbox-group,.zk-form-row:not(.is-stacked) .zk-muted,.zk-form-row:not(.is-stacked) .zk-field-error{grid-column:2}.zk-form-row:not(.is-stacked):has(textarea){align-items:start}.zk-form-row:not(.is-stacked):has(textarea) label{padding-top:.5rem}}.zk-field-error{color:var(--destructive-text);font-size:.8125rem;line-height:1.35;display:none}.zk-form-row.has-error .zk-field-error{display:block}.zk-input[aria-invalid=true]~.zk-muted,select[aria-invalid=true]~.zk-muted,textarea[aria-invalid=true]~.zk-muted{font-weight:500;color:var(--destructive-text)!important}label{color:var(--text-primary);font-size:.8125rem;font-weight:500}.zk-info-tooltip{color:var(--text-muted);cursor:help;outline:none;align-items:center;display:inline-flex;position:relative}.zk-info-tooltip:hover,.zk-info-tooltip:focus{color:var(--brand-text)}.zk-info-icon{width:.875rem;height:.875rem}.zk-info-tooltip:after{content:attr(data-tooltip);background-color:var(--info-light);border:1px solid var(--info-border);color:var(--info-text);border-radius:var(--radius-min);white-space:normal;width:max-content;max-width:18rem;box-shadow:0 4px 14px var(--overlay-shadow);pointer-events:none;opacity:0;visibility:hidden;z-index:200;padding:.45rem .65rem;font-size:.75rem;font-weight:400;line-height:1.35;transition:opacity .15s,visibility .15s;position:absolute;bottom:130%;left:0}.zk-info-tooltip:hover:after,.zk-info-tooltip:focus:after{opacity:1;visibility:visible}.zk-input,select{border:1px solid var(--input-border);border-radius:var(--radius-min);background-color:var(--card);width:100%;color:var(--text-primary);box-sizing:border-box;min-height:2.15rem;padding:.35rem .65rem;font-size:.8125rem;line-height:1.4;transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:1}.zk-input:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-focus-shadow);outline:none}select option,select optgroup,datalist option{background-color:var(--card);color:var(--text-primary)}select option:disabled,datalist option:disabled{color:var(--text-muted)}.zk-input[readonly],.zk-input[disabled]{background-color:var(--surface-disabled);color:var(--text-disabled);cursor:not-allowed;border-style:dashed}textarea,.zk-textarea,textarea.zk-input{border:1px solid var(--input-border);border-radius:var(--radius);background:var(--card);width:100%;color:var(--text-primary);box-sizing:border-box;resize:vertical;padding:.5rem .625rem;font-family:inherit;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.zk-input:not(:disabled):not([readonly]):not(:focus):hover,select:not(:disabled):not(:focus):hover,textarea:not(:disabled):not([readonly]):not(:focus):hover{border-color:var(--input-border-hover)}textarea:focus,.zk-textarea:focus,textarea.zk-input:focus{border-color:var(--ring);box-shadow:0 0 0 2px var(--ring-shadow);outline:none}.zk-input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{box-shadow:0 0 0 2px var(--destructive-focus-shadow);border-color:var(--destructive-border)!important}.zk-badge{border-radius:var(--radius);padding:.125rem .5rem;font-size:.6875rem;font-weight:500;display:inline-block}.zk-badge-active{background:var(--success-light);color:var(--success-text)}.zk-badge-warning,.zk-badge-expired{background:var(--warning-light);color:var(--warning-text)}.zk-badge-revoked{background:var(--destructive-light);color:var(--destructive-text)}.zk-badge-success{background:var(--success-light);color:var(--success-text)}.zk-badge-info{background:var(--info-light);color:var(--info-text)}.zk-badge-danger{background:var(--destructive-light);color:var(--destructive-text)}.zk-badge-frozen{background:var(--frozen-light);color:var(--frozen-text);border-color:var(--frozen-border)}.zk-status-pill-frozen{background-color:var(--frozen-light);color:var(--frozen-text);border-color:var(--frozen-border)}.zk-field-hint{margin-top:2px;font-size:.8rem}.zk-meter{background:var(--surface-pressed);appearance:none;border:0;border-radius:999px;width:100%;height:.5rem;display:block;overflow:hidden}.zk-meter::-webkit-progress-bar{background:var(--surface-pressed);border-radius:999px}.zk-meter::-webkit-progress-value{background:var(--success-text);border-radius:999px}.zk-meter::-moz-progress-bar{background:var(--success-text);border-radius:999px}.zk-meter-warning::-webkit-progress-value{background:var(--warning-text)}.zk-meter-warning::-moz-progress-bar{background:var(--warning-text)}.zk-meter-danger::-webkit-progress-value{background:var(--destructive-text)}.zk-meter-danger::-moz-progress-bar{background:var(--destructive-text)}.zk-profile-stepper{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding:1.25rem 2rem;display:flex;position:relative}.zk-profile-stepper-track{background:var(--border);z-index:1;height:2px;position:absolute;top:calc(50% - .75rem);left:5rem;right:5rem}.zk-profile-step-node{z-index:2;background:var(--card);flex-direction:column;align-items:center;gap:.5rem;padding:0 .75rem;display:flex;position:relative}.zk-profile-step-circle{border:2px solid var(--border);background:var(--card);width:2.25rem;height:2.25rem;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:.875rem;font-weight:700;transition:all .2s;display:flex}.zk-profile-step-node.is-active .zk-profile-step-circle{border-color:var(--primary);background:var(--primary);color:var(--text-on-primary);box-shadow:0 0 0 4px var(--primary-light)}.zk-profile-step-node.is-passed .zk-profile-step-circle{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.zk-profile-step-label{color:var(--text-muted);white-space:nowrap;font-size:.8125rem;font-weight:600}.zk-profile-step-node.is-active .zk-profile-step-label{color:var(--primary)}.zk-profile-step-node.is-passed .zk-profile-step-label{color:var(--text-primary)}@media (max-width:640px){.zk-profile-stepper{flex-direction:column;align-items:flex-start;gap:1rem;padding:1rem}.zk-profile-stepper-track{display:none}.zk-profile-step-node{flex-direction:row;gap:.75rem;padding:0}}.zk-kanban-card-quick-actions{align-items:center;gap:.35rem;display:inline-flex}.zk-kanban-card-quick-action-btn{border-radius:var(--radius-min);background:var(--surface);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;padding:.2rem .45rem;font-size:.6875rem;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.zk-kanban-card-quick-action-btn:hover{background:var(--primary-light);color:var(--primary);border-color:var(--primary)}.zk-wizard-vertical-sidebar{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:.5rem;padding:1.25rem;display:flex;position:sticky;top:1rem}.zk-wizard-vertical-step{border-radius:var(--radius);cursor:default;align-items:center;gap:.75rem;padding:.65rem .75rem;transition:background .15s;display:flex}.zk-wizard-vertical-step.is-clickable{cursor:pointer}.zk-wizard-vertical-step.is-active{background:var(--primary-light)}.zk-wizard-vertical-step.is-active .zk-wizard-step-title{color:var(--primary);font-weight:700}.zk-card-select-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-top:.5rem;display:grid}.zk-card-select-item{border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;flex-direction:column;gap:.5rem;padding:1rem;transition:all .2s;display:flex;position:relative}.zk-card-select-item:hover{border-color:var(--primary-hover);box-shadow:var(--shadow-sm)}.zk-card-select-item.is-selected,.zk-card-select-item:has(input:checked){border-color:var(--primary);background:var(--primary-light)}.zk-card-select-header{justify-content:space-between;align-items:center;display:flex}.zk-card-select-title{color:var(--foreground);font-size:.9375rem;font-weight:700}.zk-card-select-price{color:var(--primary);font-size:1.15rem;font-weight:800}.zk-checkbox-group{flex-wrap:wrap;gap:.75rem 1.25rem;display:flex}.zk-checkbox-option{cursor:pointer;align-items:center;gap:.45rem;font-weight:500;display:inline-flex}.zk-checkbox-option input{width:1rem;height:1rem;accent-color:var(--primary);margin:0}:where(.zk-choice-radio){border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;align-items:flex-start;gap:.625rem;padding:.875rem 1rem;display:flex;position:relative}:where(.zk-choice-radio):hover{background:var(--surface-hover)}:where(.zk-choice-radio) input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}:where(.zk-choice-radio):has(input:checked){border-color:var(--primary);background:var(--primary-light)}:where(.zk-choice-radio):has(input:focus-visible){outline:2px solid var(--primary);outline-offset:2px}:where(.zk-choice-radio-copy){flex:auto;gap:.25rem;min-width:0;display:grid}:where(.zk-choice-radio-copy) strong{color:var(--text-primary);font-size:.9375rem;font-weight:600}:where(.zk-choice-radio-copy)>span{color:var(--text-muted);font-size:.8125rem;line-height:1.4}:where(.zk-choice-radio-check){visibility:hidden;color:var(--primary);flex:none;display:inline-flex}:where(.zk-choice-radio-check) svg{width:1.125rem;height:1.125rem}:where(.zk-choice-radio):has(input:checked) :where(.zk-choice-radio-check){visibility:visible}:where(.zk-choice-radio.is-disabled){cursor:not-allowed;opacity:.58}@media (max-width:640px){.zk-sidebar-hover-zone{background:var(--overlay-backdrop);opacity:0;visibility:hidden;pointer-events:none;width:auto;transition:opacity .18s,visibility .18s;display:block;inset:0}body.zk-sidebar-mobile-open .zk-sidebar-hover-zone{opacity:1;visibility:visible;pointer-events:auto}body.zk-sidebar-mobile-open{overflow:hidden}.zk-sidebar{width:min(18rem,100vw - 3rem);min-width:0;height:100dvh;box-shadow:0 1rem 2rem var(--overlay-shadow);display:block;position:fixed;inset:0 auto 0 0;transform:translate(calc(-100% - .75rem))}.zk-sidebar-resize{display:none}.zk-shell.is-sidebar-mobile-open .zk-sidebar{transform:translate(0)}.zk-topbar-sidebar-toggle{margin-left:0;display:inline-flex}.zk-system-alert-stack,body.zk-sidebar-collapsed .zk-system-alert-stack{left:1rem}.zk-toast{min-width:0;max-width:calc(100vw - 2rem);top:1rem;left:1rem;right:1rem}.zk-content{padding:1rem}.zk-topbar{padding-inline:1rem}.zk-topbar-leading{max-width:calc(100% - 3rem)}.zk-topbar{flex-wrap:wrap}.zk-topbar-leading{flex:1 1 0;max-width:100%}.zk-topbar-breadcrumbs,.zk-topbar-breadcrumbs .zk-breadcrumbs{min-width:0}.zk-topbar-breadcrumbs .zk-breadcrumbs>*{text-overflow:ellipsis;min-width:0;max-width:100%;overflow:hidden}.zk-topbar-filter-slot{flex:100%}.zk-topbar-actions{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;max-width:100%;margin-left:auto}.zk-filter-toolbar.is-compact .zk-filter-panel{width:calc(100vw - 2rem)}.zk-filter-toolbar.is-compact .zk-filter-actions{justify-content:stretch}.zk-filter-toolbar.is-compact .zk-filter-actions>*{flex:1 1 0}}.zk-permission-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);cursor:pointer;box-sizing:border-box;align-items:flex-start;gap:.625rem;width:100%;padding:.625rem .75rem;transition:background-color .2s,border-color .2s;display:flex}.zk-permission-card:hover{border-color:var(--primary);background:var(--primary-light)}.zk-permission-checkbox{cursor:pointer;flex-shrink:0;margin-top:.15rem}.zk-permission-details{text-align:left;flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.zk-permission-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.35rem;font-size:.85rem;font-weight:600;display:flex}.zk-permission-label{color:var(--text-primary);font-size:.85rem;font-weight:600}.zk-checkbox-code-badge{font-family:var(--font-mono);color:var(--text-secondary);background:var(--surface-hover);border-radius:var(--radius-min);border:1px solid var(--border);white-space:nowrap;padding:.1rem .35rem;font-size:.7rem}.zk-permission-desc{color:var(--text-muted);margin-top:.25rem;font-size:.8rem;font-weight:400;line-height:1.35}.zk-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;flex:none;align-items:stretch;gap:.25rem;min-width:0;max-width:100%;margin:0;padding:0;display:flex}.zk-tabs>li{flex:0 auto;min-width:0;max-width:100%;list-style:none;display:flex}.zk-tab{min-width:0;max-width:100%;min-height:2.75rem;box-shadow:none;color:var(--text-muted);font:inherit;white-space:normal;overflow-wrap:break-word;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;flex-wrap:wrap;flex:0 auto;justify-content:center;align-items:center;gap:.375rem;padding:.5rem .75rem;font-size:.875rem;font-weight:500;line-height:1.4;text-decoration:none;display:inline-flex}.zk-tab:hover{color:var(--text-primary)}.zk-tab[aria-selected=true],.zk-tab[aria-current=page]{border-bottom-color:var(--ring);color:var(--text-primary);font-weight:600}.zk-tab:focus-visible{outline:2px solid var(--ring);outline-offset:-3px}.zk-tab:disabled,.zk-tab[aria-disabled=true]{opacity:.45;cursor:not-allowed;pointer-events:none}.zk-tab .zk-tab-main{align-items:center;gap:.375rem;min-width:0;display:inline-flex}.zk-tab svg{flex-shrink:0;width:1rem;height:1rem}.zk-tab :is(.zk-mode-badge,.zk-tab-badge){color:var(--text-secondary);background:var(--surface-subtle);border-radius:var(--radius-sm);padding:0 .375rem;font-size:.75rem}@media (max-width:480px){.zk-tabs>.zk-tab,.zk-tabs>li{flex:auto}.zk-tabs>li>.zk-tab{width:100%}}.zk-tabs.zk-tabs-icons>*{flex:2.75rem;min-width:0;display:flex}.zk-tabs-icons>*>.zk-tab{width:100%}.zk-workflow{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:1rem 0;padding:0;list-style:none;display:grid}.zk-workflow-step{min-width:0;padding-right:1rem;position:relative}.zk-workflow-step:not(:last-child):before{content:"";background:var(--border);height:1px;position:absolute;top:.625rem;left:1.25rem;right:0}.zk-workflow-marker{border:1px solid var(--border);background:var(--surface);width:1.25rem;height:1.25rem;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.zk-workflow-marker svg{width:.875rem;height:.875rem}.zk-workflow-step[data-state=complete] .zk-workflow-marker{border-color:var(--ring);color:var(--ring)}.zk-workflow-detail{overflow-wrap:anywhere;gap:.25rem;padding-top:.5rem;font-size:.8125rem;display:grid}.zk-workflow-detail strong{color:var(--text-primary);font-size:.875rem;font-weight:600}.zk-workflow-detail span,.zk-workflow-detail time{color:var(--text-secondary)}@media (max-width:40rem){.zk-workflow{grid-template-columns:1fr;gap:0}.zk-workflow-step{gap:.75rem;padding:0 0 1.25rem;display:flex}.zk-workflow-step:not(:last-child):before{width:1px;height:auto;top:1.25rem;bottom:0;left:.625rem}.zk-workflow-marker{flex:none}.zk-workflow-detail{padding-top:0}}.zk-role-filter-chip{font-family:var(--font-sans);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .18s,border-color .18s,color .18s,box-shadow .18s}.zk-governance-mode-tabs{margin-bottom:1.25rem}.zk-role-search-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:.875rem;margin-bottom:1.5rem;padding:1.25rem;display:flex}.zk-role-search-box-wrap{align-items:center;width:100%;display:flex;position:relative}.zk-role-search-icon{color:var(--text-muted);pointer-events:none;align-items:center;display:flex;position:absolute;left:.875rem}.zk-role-search-icon svg{width:1.1rem;height:1.1rem}.zk-role-search-input{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius);background:var(--background);width:100%;color:var(--text-primary);padding:.625rem 2.5rem;font-size:.875rem;transition:border-color .15s,box-shadow .15s}.zk-role-search-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary);outline:none}@supports (color:color-mix(in lab, red, red)){.zk-role-search-input:focus{box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 15%, transparent)}}.zk-role-search-clear{border-radius:var(--radius-min);color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:.25rem .4rem;font-size:.875rem;line-height:1;display:none;position:absolute;right:.75rem}.zk-role-search-clear:hover{background:var(--destructive-light);color:var(--destructive-text)}.zk-role-filter-chip{border:1px solid var(--border);border-radius:var(--radius-button);background:var(--card);color:var(--text-muted);align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.8125rem;font-weight:500;display:inline-flex}.zk-role-filter-chip:hover{background:var(--primary-light);color:var(--text-primary)}.zk-role-filter-chip.active{border-color:var(--primary);background:var(--primary);color:var(--text-on-primary);font-weight:600}.zk-role-filter-chip.active :where(span,.zk-chip-count){color:var(--text-on-primary)}.zk-role-filter-chip .zk-chip-count{opacity:.9;font-size:.75rem}.zk-role-search-feedback{color:var(--text-muted);margin-top:-.25rem;font-size:.8125rem;display:none}details.zk-permissions-module-card>summary{list-style:none}details.zk-permissions-module-card>summary::-webkit-details-marker{display:none}details.zk-permissions-module-card .zk-toggle-icon{transition:transform .2s;display:inline-block;transform:rotate(0)}details.zk-permissions-module-card[open]>summary .zk-toggle-icon{transform:rotate(90deg)}.zk-search-input-wrap{align-items:center;width:100%;display:flex;position:relative}.zk-search-input-wrap .zk-input{width:100%;padding-left:2rem}.zk-search-input-icon{width:.95rem;height:.95rem;color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:.65rem;transform:translateY(-50%)}.zk-sync-tab-group{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-button);align-items:center;gap:2px;padding:2px;display:inline-flex}.zk-sync-filter-tab{border-radius:var(--radius-min);cursor:pointer;color:var(--text-muted);white-space:nowrap;background:0 0;border:none;padding:.35rem .75rem;font-size:.775rem;font-weight:500;line-height:1.2;transition:all .15s}.zk-sync-filter-tab:hover{color:var(--text-primary);background:var(--bg-hover)}.zk-sync-filter-tab.active{background:var(--primary);color:var(--text-on-primary);font-weight:600}.zk-designer-studio{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:1rem;height:calc(100vh - 16rem);min-height:520px;max-height:720px;display:flex;position:relative;overflow:hidden}.zk-designer-panel-head{color:var(--text-primary);border-bottom:1px solid var(--border);background:var(--surface-hover);justify-content:space-between;align-items:center;gap:.5rem;padding:.65rem .85rem;font-size:.8125rem;font-weight:700;display:flex}.zk-designer-category-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.4rem;font-size:.7rem;font-weight:700}.zk-designer-tool-btn{border-radius:var(--radius-button);border:1px solid var(--border);background:var(--surface);color:var(--text-primary);cursor:grab;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;padding:.45rem .65rem;font-size:.775rem;font-weight:500;transition:all .15s;display:flex}.zk-designer-tool-btn:hover{border-color:var(--primary);background:var(--primary-light);color:var(--brand-text);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.zk-designer-tool-icon{width:1.1rem;height:1.1rem;color:var(--brand-text);flex-shrink:0;justify-content:center;align-items:center;display:flex}.zk-designer-canvas-wrap{background:var(--bg-hover);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.zk-designer-canvas-toolbar{background:var(--card);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .85rem;display:flex}.zk-designer-canvas-scroll{flex-direction:column;flex:1;padding:1.25rem;display:flex;overflow-y:auto}.zk-designer-canvas{background:var(--card);border:2px dashed var(--border);border-radius:var(--radius);flex-direction:column;flex:1;gap:.75rem;min-height:400px;padding:1rem;transition:border-color .15s;display:flex}.zk-designer-canvas.is-drag-over{border-color:var(--primary);background:var(--primary-light)}.zk-designer-canvas-empty{text-align:center;color:var(--text-muted);pointer-events:none;flex-direction:column;align-items:center;gap:.5rem;margin:auto;padding:2.5rem 1.5rem;font-size:.825rem;display:flex}.zk-designer-canvas-empty svg{opacity:.45;width:2.5rem;height:2.5rem;color:var(--text-muted)}.zk-designer-elem{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:.65rem .85rem;transition:all .15s;position:relative}.zk-designer-elem:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.zk-designer-elem.is-selected{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light), 0 2px 4px var(--overlay-shadow);background:var(--card)}.zk-designer-elem-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.zk-designer-elem-title{color:var(--text-primary);align-items:center;gap:.4rem;font-size:.8125rem;font-weight:600;display:flex}.zk-designer-elem-actions{opacity:.6;align-items:center;gap:.25rem;transition:opacity .15s;display:flex}.zk-designer-elem:hover .zk-designer-elem-actions,.zk-designer-elem.is-selected .zk-designer-elem-actions{opacity:1}.zk-designer-action-icon-btn{border-radius:var(--radius-min);color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px 4px}.zk-designer-action-icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.zk-designer-action-icon-btn.is-delete:hover{background:var(--destructive-light);color:var(--destructive)}.zk-designer-elem-preview-input{pointer-events:none;opacity:.85;width:100%}.zk-designer-grid-container{gap:.75rem;width:100%;display:grid}.zk-designer-grid-2-col{grid-template-columns:1fr 1fr}.zk-designer-grid-3-col{grid-template-columns:1fr 1fr 1fr}.zk-designer-grid-cell{background:var(--surface-hover);border:1px dashed var(--border);border-radius:var(--radius-min);flex-direction:column;gap:.5rem;min-height:80px;padding:.5rem;transition:all .15s;display:flex}.zk-designer-grid-cell.is-drag-over{border-color:var(--primary);background:var(--primary-light)}.zk-designer-prop-group{flex-direction:column;gap:.3rem;display:flex}.zk-designer-prop-label{color:var(--text-primary);font-size:.75rem;font-weight:600}.zk-designer-prop-input{font-size:.775rem}.zk-designer-dragging{opacity:.45;border:2px dashed var(--primary)}.zk-designer-drop-before{border-top:3px solid var(--primary)!important}.zk-designer-drop-after{border-bottom:3px solid var(--primary)!important}.zk-designer-rules-wrap{flex-direction:column;gap:.65rem;display:flex}.zk-designer-rule-card{border:1px solid var(--border);border-radius:var(--radius-min);background:var(--surface);flex-direction:column;gap:.45rem;padding:.65rem;transition:border-color .15s;display:flex;position:relative}.zk-designer-rule-card:hover{border-color:var(--primary)}.zk-designer-rule-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.zk-designer-rule-badge{text-transform:uppercase;color:var(--text-secondary);font-size:.6875rem;font-weight:700}.zk-designer-rule-select{padding:.25rem .4rem;font-size:.75rem}.zk-designer-btn-icon{border-radius:var(--radius-button);border:1px solid var(--border);background:var(--surface);width:1.85rem;height:1.85rem;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.zk-designer-btn-icon:hover:not(:disabled){border-color:var(--primary);color:var(--brand-text);background:var(--primary-light)}.zk-designer-btn-icon:disabled{opacity:.4;cursor:not-allowed}.zk-designer-snap-guide{background:var(--primary);height:2px;box-shadow:0 0 6px var(--primary);pointer-events:none;z-index:10;display:none;position:absolute;left:0;right:0}@media (max-width:900px){.zk-topbar-leading{flex:auto;max-width:calc(100% - 3rem)}.zk-designer-studio{flex-direction:column;height:auto;max-height:none}.zk-designer-palette,.zk-designer-inspector{width:100%;min-width:0;max-height:200px}}.zk-workflow-studio{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);height:580px;min-height:480px;max-height:70vh;box-shadow:var(--shadow-sm);display:flex;position:relative;overflow:hidden}.zk-workflow-tool-btn{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-button);cursor:grab;-webkit-user-select:none;user-select:none;color:var(--text-primary);align-items:center;gap:.5rem;margin-bottom:.35rem;padding:.45rem .6rem;font-size:.8125rem;font-weight:500;transition:background-color .15s,border-color .15s,transform .1s;display:flex}.zk-workflow-tool-btn:hover{background:var(--bg-hover);border-color:var(--primary);transform:translateY(-1px)}.zk-workflow-canvas-toolbar{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;padding:.45rem .85rem;font-size:.8125rem;display:flex}.zk-workflow-canvas{min-width:1000px;min-height:600px;position:relative}.zk-workflow-svg-layer{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.zk-workflow-node{z-index:2;background:var(--card);border:2px solid var(--border);border-radius:var(--radius);width:180px;box-shadow:var(--shadow-sm);cursor:move;-webkit-user-select:none;user-select:none;transition:box-shadow .15s,border-color .15s;position:absolute}.zk-workflow-node:hover{box-shadow:var(--shadow-md)}.zk-workflow-node.is-selected{border-color:var(--primary)!important;box-shadow:0 0 0 3px var(--wf-selection-glow)!important}.zk-workflow-node-header{border-top-left-radius:calc(var(--radius) - 2px);border-top-right-radius:calc(var(--radius) - 2px);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.35rem .5rem;font-size:.75rem;font-weight:700;display:flex}.zk-workflow-node-body{padding:.5rem;font-size:.8125rem}.zk-workflow-node-title{color:var(--text-primary);margin-bottom:.2rem;font-weight:600;line-height:1.3}.zk-workflow-node-start{border-color:var(--wf-start)}.zk-workflow-node-start .zk-workflow-node-header{background:var(--wf-start-bg);color:var(--wf-start)}.zk-workflow-node-approval{border-color:var(--primary)}.zk-workflow-node-approval .zk-workflow-node-header{background:var(--wf-approval-bg);color:var(--brand-text)}.zk-workflow-node-gateway{border-color:var(--wf-gateway)}.zk-workflow-node-gateway .zk-workflow-node-header{background:var(--wf-gateway-bg);color:var(--wf-gateway)}.zk-workflow-node-notification{border-color:var(--wf-notify)}.zk-workflow-node-notification .zk-workflow-node-header{background:var(--wf-notify-bg);color:var(--wf-notify)}.zk-workflow-node-end{border-color:var(--wf-end)}.zk-workflow-node-end .zk-workflow-node-header{background:var(--wf-end-bg);color:var(--wf-end)}@media (max-width:900px){.zk-workflow-studio{flex-direction:column;height:auto;max-height:none}.zk-workflow-palette,.zk-workflow-inspector{width:100%;min-width:0;max-height:220px}}.zk-dashboard-studio{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-hover);flex-direction:row;height:640px;max-height:80vh;display:flex;position:relative;overflow:hidden}.zk-dashboard-palette{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;flex-shrink:0;width:240px;min-width:220px;display:flex;overflow:hidden}.zk-dashboard-palette-header,.zk-dashboard-inspector-header{border-bottom:1px solid var(--border);color:var(--text);background:var(--surface-subtle);justify-content:space-between;align-items:center;padding:.75rem 1rem;font-size:.875rem;font-weight:600;display:flex}.zk-dashboard-palette-body{flex-direction:column;flex:1;gap:.5rem;padding:.75rem;display:flex;overflow-y:auto}.zk-dashboard-palette-category{text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em;margin-top:.5rem;margin-bottom:.25rem;padding-left:.25rem;font-size:.75rem;font-weight:600}.zk-dashboard-palette-item{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:grab;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;padding:.5rem .625rem;font-size:.8125rem;transition:all .15s ease-in-out;display:flex}.zk-dashboard-palette-item:hover{background:var(--surface-hover);border-color:var(--primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.zk-dashboard-palette-item-icon{width:1.25rem;height:1.25rem;color:var(--brand-text);flex-shrink:0;justify-content:center;align-items:center;display:flex}.zk-dashboard-canvas-wrap{background:var(--bg-muted);flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.zk-dashboard-inspector-body{flex:1;padding:.75rem;display:flex;position:relative;overflow-y:auto}.zk-dashboard-canvas-toolbar{border-bottom:1px solid var(--border);background:var(--surface);z-index:5;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.zk-dashboard-canvas-scroll{flex:1;padding:1rem;overflow-y:auto}.zk-dashboard-canvas-grid{grid-template-columns:repeat(4,1fr);gap:1rem;min-height:480px;display:grid}.zk-dashboard-canvas-empty{border:2px dashed var(--border);border-radius:var(--radius);min-height:380px;color:var(--text-muted);text-align:center;background:var(--surface);flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;padding:2rem;display:flex}.zk-dashboard-widget-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;box-shadow:var(--shadow-sm);flex-direction:column;gap:.75rem;padding:1rem;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.zk-dashboard-widget-card:hover{border-color:var(--primary-hover)}.zk-dashboard-widget-card.is-selected{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-subtle)}.zk-dashboard-widget-card.is-dragging{opacity:.5;border-style:dashed}.zk-dashboard-widget-card.span-1{grid-column:span 1}.zk-dashboard-widget-card.span-2{grid-column:span 2}.zk-dashboard-widget-card.span-3{grid-column:span 3}.zk-dashboard-widget-card.span-4{grid-column:span 4}.zk-dashboard-widget-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.zk-dashboard-widget-title-wrap{color:var(--text);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;display:flex;overflow:hidden}.zk-dashboard-widget-actions{opacity:.7;align-items:center;gap:.25rem;display:flex}.zk-dashboard-widget-card:hover .zk-dashboard-widget-actions{opacity:1}.zk-dashboard-widget-badge{border-radius:var(--radius);background:var(--surface-subtle);color:var(--text-muted);border:1px solid var(--border);padding:.125rem .375rem;font-size:.6875rem}.zk-dashboard-widget-body{flex-direction:column;flex:1;gap:.5rem;display:flex}.zk-dashboard-metric-display{align-items:baseline;gap:.5rem;display:flex}.zk-dashboard-metric-val{color:var(--text);font-size:1.875rem;font-weight:700;line-height:1.1}.zk-dashboard-metric-unit{color:var(--text-muted);font-size:.8125rem}.zk-dashboard-metric-trend{border-radius:var(--radius);align-items:center;gap:.25rem;width:fit-content;padding:.125rem .375rem;font-size:.75rem;font-weight:600;display:inline-flex}.zk-dashboard-metric-trend.trend-up{color:var(--success);background:var(--success-subtle)}.zk-dashboard-metric-trend.trend-down{color:var(--danger);background:var(--danger-subtle)}.zk-dashboard-metric-trend.trend-flat{color:var(--text-muted);background:var(--surface-subtle)}.zk-dashboard-chart-preview{justify-content:center;align-items:center;width:100%;height:120px;display:flex}.zk-dashboard-chart-preview svg{width:100%;height:100%;overflow:visible}.zk-dashboard-inspector{border-left:1px solid var(--border);background:var(--surface);flex-direction:column;flex-shrink:0;width:270px;min-width:250px;display:flex;overflow:hidden}.zk-dashboard-inspector-body{flex-direction:column;flex:1;gap:.75rem;padding:.75rem;display:flex;overflow-y:auto}@media (max-width:900px){.zk-dashboard-studio{flex-direction:column;height:auto;max-height:none}.zk-dashboard-palette,.zk-dashboard-inspector{width:100%;min-width:0;max-height:220px}.zk-dashboard-canvas-grid{grid-template-columns:1fr}.zk-dashboard-widget-card.span-1,.zk-dashboard-widget-card.span-2,.zk-dashboard-widget-card.span-3,.zk-dashboard-widget-card.span-4{grid-column:span 1}}.zk-kanban-studio,.zk-composite-studio{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-hover);flex-direction:row;height:640px;max-height:80vh;display:flex;position:relative;overflow:hidden}.zk-kanban-studio-palette{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;flex-shrink:0;width:240px;min-width:220px;display:flex;overflow:hidden}.zk-kanban-studio-palette-header,.zk-kanban-studio-inspector-header{border-bottom:1px solid var(--border);color:var(--text);background:var(--surface-subtle);justify-content:space-between;align-items:center;padding:.75rem 1rem;font-size:.875rem;font-weight:600;display:flex}.zk-kanban-studio-palette-body{flex-direction:column;flex:1;gap:.5rem;padding:.75rem;display:flex;overflow-y:auto}.zk-kanban-studio-palette-category{text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em;margin-top:.5rem;margin-bottom:.25rem;padding-left:.25rem;font-size:.75rem;font-weight:600}.zk-kanban-studio-palette-item{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:grab;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;padding:.5rem .625rem;font-size:.8125rem;transition:all .15s ease-in-out;display:flex}.zk-kanban-studio-palette-item:hover{background:var(--surface-hover);border-color:var(--primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.zk-kanban-studio-palette-dot{border-radius:50%;flex-shrink:0;width:.625rem;height:.625rem}.zk-kanban-studio-canvas-wrap{background:var(--bg-muted);flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.zk-kanban-studio-canvas-toolbar{border-bottom:1px solid var(--border);background:var(--surface);z-index:5;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.zk-kanban-studio-canvas-scroll{flex:1;padding:1rem;overflow:auto hidden}.zk-kanban-studio-canvas{flex-direction:row;align-items:flex-start;gap:1rem;width:max-content;min-height:480px;display:flex}.zk-kanban-studio-canvas-empty{border:2px dashed var(--border);border-radius:var(--radius);min-width:480px;min-height:380px;color:var(--text-muted);text-align:center;background:var(--surface);flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}.zk-kanban-studio-col{background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--radius);width:270px;min-width:270px;max-height:520px;box-shadow:var(--shadow-sm);flex-direction:column;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.zk-kanban-studio-col.is-selected{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-subtle)}.zk-kanban-studio-col.is-dragging-column{opacity:.45;border:2px dashed var(--primary);box-shadow:var(--shadow-lg);transform:scale(.98)}.zk-kanban-studio-col.is-drop-before{box-shadow:-4px 0 12px 0 var(--primary-subtle);border-left:4px solid var(--primary)!important}.zk-kanban-studio-col.is-drop-after{box-shadow:4px 0 12px 0 var(--primary-subtle);border-right:4px solid var(--primary)!important}.zk-kanban-studio-col-grip{color:var(--text-muted);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:var(--radius);justify-content:center;align-items:center;padding:.125rem .25rem;font-size:.8125rem;line-height:1;transition:color .15s,background-color .15s;display:inline-flex}.zk-kanban-studio-col-grip:hover{color:var(--brand-text);background:var(--surface-hover)}.zk-kanban-studio-col-move-btn{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:1.35rem;height:1.35rem;color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;padding:0;font-size:.75rem;line-height:1;transition:all .15s;display:inline-flex}.zk-kanban-studio-col-move-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--brand-text);border-color:var(--primary)}.zk-kanban-studio-col-move-btn:disabled{opacity:.3;cursor:not-allowed}.zk-kanban-studio-col.is-drag-over{border-color:var(--primary);background:var(--surface-hover)}.zk-kanban-studio-col-header{border-bottom:1px solid var(--border);background:var(--surface);border-top:3px solid var(--primary);cursor:pointer;flex-direction:column;gap:.375rem;padding:.625rem .75rem;transition:border-color .15s;display:flex}.zk-kanban-studio-col-title-wrap{color:var(--text);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:600;display:flex;overflow:hidden}.zk-kanban-studio-col-actions{align-items:center;gap:.25rem;display:flex}.zk-kanban-studio-col-badge{border-radius:var(--radius);background:var(--surface-subtle);color:var(--text-muted);border:1px solid var(--border);padding:.125rem .375rem;font-size:.6875rem}.zk-kanban-studio-card-list{flex-direction:column;flex:1;gap:.5rem;min-height:80px;padding:.625rem;display:flex;overflow-y:auto}.zk-kanban-studio-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:grab;box-shadow:var(--shadow-sm);-webkit-user-select:none;user-select:none;flex-direction:column;gap:.375rem;padding:.625rem .75rem;transition:all .15s ease-in-out;display:flex}.zk-kanban-studio-card:hover{border-color:var(--primary-hover);transform:translateY(-1px)}.zk-kanban-studio-card.is-selected{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-subtle)}.zk-kanban-studio-card.is-dragging{opacity:.4;border-style:dashed}.zk-kanban-studio-card-header{justify-content:space-between;align-items:flex-start;gap:.375rem;display:flex}.zk-kanban-studio-card-title{color:var(--text);font-size:.8125rem;font-weight:600;line-height:1.3}.zk-kanban-studio-card-subtitle{color:var(--text-muted);font-size:.75rem}.zk-kanban-studio-card-footer{justify-content:space-between;align-items:center;margin-top:.25rem;font-size:.6875rem;display:flex}.zk-kanban-studio-card-badge{border-radius:var(--radius);background:var(--surface-subtle);color:var(--text-muted);border:1px solid var(--border);padding:.125rem .375rem}.zk-kanban-studio-inspector{border-left:1px solid var(--border);background:var(--surface);flex-direction:column;flex-shrink:0;width:320px;min-width:280px;display:flex;overflow:hidden}.zk-kanban-studio-inspector-body{flex-direction:column;flex:1;gap:.75rem;padding:.85rem;display:flex;overflow-y:auto}.zk-kanban-studio-inspector .zk-form-row,.zk-composite-studio .zk-kanban-studio-inspector .zk-form-row{flex-direction:column!important;align-items:stretch!important;gap:.35rem!important;padding-bottom:.25rem!important;display:flex!important}.zk-kanban-studio-inspector .zk-form-row.is-inline-checkbox,.zk-composite-studio .zk-kanban-studio-inspector .zk-form-row.is-inline-checkbox{flex-direction:row!important;align-items:center!important;gap:.5rem!important}.zk-kanban-studio-inspector .zk-form-row label,.zk-composite-studio .zk-kanban-studio-inspector .zk-form-row label{color:var(--text-secondary)!important;grid-column:auto!important;margin-bottom:0!important;font-size:.8125rem!important;font-weight:600!important;line-height:1.25!important}.zk-kanban-studio-inspector .zk-form-row .zk-input,.zk-kanban-studio-inspector .zk-form-row select,.zk-kanban-studio-inspector .zk-form-row textarea,.zk-composite-studio .zk-kanban-studio-inspector .zk-form-row .zk-input,.zk-composite-studio .zk-kanban-studio-inspector .zk-form-row select,.zk-composite-studio .zk-kanban-studio-inspector .zk-form-row textarea{box-sizing:border-box!important;grid-column:auto!important;width:100%!important;min-width:0!important}.zk-kanban-studio-inspector .zk-designer-btn-group,.zk-composite-studio .zk-kanban-studio-inspector .zk-designer-btn-group{grid-column:auto!important;width:100%!important}@media (max-width:900px){.zk-kanban-studio{flex-direction:column;height:auto;max-height:none}.zk-kanban-studio-palette,.zk-kanban-studio-inspector{width:100%;min-width:0;max-height:220px}}.zk-designer-studio{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:row;width:100%;height:100%;min-height:540px;display:flex;position:relative;overflow:hidden}.zk-designer-panel-head{border-bottom:1px solid var(--border);color:var(--text-primary);background:var(--surface);justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;font-weight:700;display:flex}.zk-designer-palette{border-right:1px solid var(--border);background:var(--card);flex-direction:column;flex-shrink:0;width:280px;min-width:260px;display:flex;overflow:hidden}.zk-designer-palette-body{flex-direction:column;flex:1;gap:.85rem;padding:.75rem;display:flex;overflow-y:auto}.zk-designer-category-title{text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em;margin-bottom:.4rem;padding-left:.25rem;font-size:.75rem;font-weight:700}.zk-designer-palette-grid{grid-template-columns:1fr 1fr;gap:.45rem;display:grid}.zk-designer-palette-list{flex-direction:column;gap:.4rem;display:flex}.zk-designer-tool-btn{border-radius:var(--radius-button);border:1px solid var(--border);background:var(--surface);color:var(--text-primary);cursor:grab;-webkit-user-select:none;user-select:none;align-items:center;gap:.45rem;padding:.5rem .65rem;font-size:.8125rem;font-weight:500;line-height:1.25;transition:all .15s ease-in-out;display:flex}.zk-designer-tool-btn:hover{background:var(--surface-hover);border-color:var(--primary);color:var(--brand-text);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.zk-designer-tool-btn:active{cursor:grabbing}.zk-designer-tool-icon{color:var(--brand-text);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.zk-designer-canvas-wrap{background:var(--bg-hover);flex-direction:column;flex:1;min-width:0;display:flex;position:relative;overflow:hidden}.zk-designer-canvas-toolbar{border-bottom:1px solid var(--border);background:var(--surface);z-index:5;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .85rem;display:flex}.zk-designer-canvas-scroll{background-image:radial-gradient(var(--border) 1px, transparent 1px);background-size:16px 16px;flex:1;justify-content:center;padding:1.25rem;display:flex;overflow:hidden auto}.zk-designer-canvas{background:var(--surface);border:1.5px dashed var(--border);border-radius:var(--radius);width:100%;max-width:860px;min-height:480px;box-shadow:var(--shadow-sm);flex-direction:column;gap:.75rem;padding:1.25rem;transition:border-color .2s,background .2s,box-shadow .2s;display:flex;position:relative}.zk-designer-canvas.is-drag-over{border-color:var(--primary);background:var(--primary-light);box-shadow:0 0 0 3px var(--primary-focus-shadow);border-style:solid}.zk-designer-snap-guide{background:var(--primary);z-index:10;pointer-events:none;height:3px;box-shadow:0 0 6px var(--primary);border-radius:2px;display:none;position:absolute;left:1rem;right:1rem}.zk-designer-canvas-empty{min-height:280px;color:var(--text-muted);text-align:center;border-radius:var(--radius);-webkit-user-select:none;user-select:none;border:1px dashed #0000;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;font-size:.875rem;display:flex}.zk-designer-canvas-empty svg{color:var(--text-muted);opacity:.7}.zk-designer-field-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);cursor:pointer;-webkit-user-select:none;user-select:none;box-sizing:border-box;padding:.65rem .85rem;transition:all .15s ease-in-out;position:relative;grid-template-columns:minmax(130px,180px) 1fr auto!important;align-items:center!important;gap:.5rem .85rem!important;display:grid!important}.zk-designer-field-card:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.zk-designer-field-card.is-selected{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-focus-shadow);background:var(--surface);border-width:2px}.zk-designer-field-card.is-dragging{opacity:.4;border-style:dashed}.zk-designer-field-label-col{align-items:center;gap:.35rem;min-width:0;display:flex;overflow:hidden}.zk-designer-field-control-col{width:100%;min-width:0}.zk-designer-field-actions-col{opacity:.7;align-items:center;gap:.25rem;transition:opacity .15s;display:flex}.zk-designer-field-card:hover .zk-designer-field-actions-col{opacity:1}.zk-designer-action-icon-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);border-radius:var(--radius-min);cursor:pointer;justify-content:center;align-items:center;width:1.65rem;height:1.65rem;font-size:.75rem;transition:all .12s;display:inline-flex}.zk-designer-action-icon-btn:hover{background:var(--surface-hover);border-color:var(--primary);color:var(--brand-text)}.zk-designer-action-icon-btn.is-delete:hover{background:var(--destructive-light);border-color:var(--danger);color:var(--danger)}@media (max-width:640px){.zk-designer-field-card{grid-template-columns:1fr auto!important}.zk-designer-field-label-col{grid-column:1!important}.zk-designer-field-control-col{grid-column:1/-1!important}.zk-designer-field-actions-col{grid-column:2!important}}.zk-designer-inspector{border-left:1px solid var(--border);background:var(--card);flex-direction:column;flex-shrink:0;width:320px;min-width:280px;display:flex;overflow:hidden}.zk-designer-inspector-body{flex-direction:column;flex:1;gap:.85rem;padding:1rem;display:flex;overflow-y:auto}.zk-designer-grid-2-preview{background:var(--surface-hover);border:1px dashed var(--border);border-radius:var(--radius-min);grid-template-columns:1fr 1fr;gap:.75rem;padding:.5rem;display:grid}.zk-designer-grid-3-preview{background:var(--surface-hover);border:1px dashed var(--border);border-radius:var(--radius-min);grid-template-columns:1fr 1fr 1fr;gap:.5rem;padding:.5rem;display:grid}@media (max-width:900px){.zk-designer-studio{flex-direction:column;height:auto;min-height:auto}.zk-designer-palette,.zk-designer-inspector{width:100%;min-width:0;max-height:240px}}.zk-studio-resource-picker-wrap{flex:1;min-width:280px;max-width:440px;position:relative}.zk-studio-resource-trigger{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-button);cursor:pointer;justify-content:space-between;align-items:center;gap:.35rem;min-height:2rem;padding:.15rem .5rem;transition:border-color .15s,box-shadow .15s;display:flex}.zk-studio-resource-trigger:hover{border-color:var(--primary)}.zk-studio-resource-trigger.is-open,.zk-studio-resource-trigger:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--focus-ring);outline:none}.zk-studio-resource-tags{flex-wrap:wrap;flex:1;align-items:center;gap:.25rem;min-height:1.5rem;display:flex;overflow:hidden}.zk-studio-ds-pill{border-radius:var(--radius);background:var(--surface-hover);color:var(--text-secondary);border:1px solid var(--border);-webkit-user-select:none;user-select:none;align-items:center;gap:.25rem;padding:.1rem .4rem;font-size:.72rem;font-weight:500;line-height:1.2;display:inline-flex}.zk-studio-ds-pill.is-primary{background:var(--primary);color:var(--primary-contrast);border-color:var(--primary);font-weight:600}.zk-studio-ds-pill-close{cursor:pointer;color:currentColor;opacity:.8;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:12px;height:12px;padding:0;font-size:10px;display:inline-flex}.zk-studio-ds-pill-close:hover{opacity:1;background:var(--surface-hover)}.zk-studio-ds-pill-more{border-radius:var(--radius);background:var(--bg-subtle);color:var(--text-muted);border:1px dashed var(--border);cursor:pointer;align-items:center;padding:.1rem .35rem;font-size:.7rem;font-weight:600;display:inline-flex}.zk-studio-resource-placeholder{color:var(--text-muted);-webkit-user-select:none;user-select:none;font-size:.8125rem}.zk-studio-resource-controls{color:var(--text-muted);flex-shrink:0;align-items:center;gap:.25rem;display:flex}.zk-studio-resource-clear-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-min);background:0 0;border:none;padding:0 .2rem;font-size:.75rem}.zk-studio-resource-clear-btn:hover{color:var(--text-primary);background:var(--surface-hover)}.zk-studio-resource-chevron{font-size:.65rem;transition:transform .2s}.zk-studio-resource-trigger.is-open .zk-studio-resource-chevron{transform:rotate(180deg)}.zk-studio-resource-popover{z-index:100;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);width:360px;max-width:90vw;box-shadow:var(--shadow-lg);position:absolute;top:calc(100% + 4px);left:0;overflow:hidden}.zk-studio-ds-search-row{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:.4rem;padding:.4rem .6rem;display:flex}.zk-studio-ds-search-icon{color:var(--text-secondary);flex-shrink:0}.zk-studio-ds-search-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:.8125rem}.zk-studio-ds-search-input::placeholder{color:var(--text-muted)}.zk-studio-ds-toolbar{border-bottom:1px solid var(--border);background:var(--card);justify-content:space-between;align-items:center;padding:.35rem .6rem;font-size:.72rem;display:flex}.zk-studio-ds-list{max-height:240px;padding:.25rem 0;overflow-y:auto}.zk-studio-ds-group-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:.35rem .65rem .15rem;font-size:.7rem;font-weight:700}.zk-studio-ds-option-row{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.45rem;padding:.35rem .65rem;font-size:.8rem;transition:background .12s;display:flex}.zk-studio-ds-option-row:hover{background:var(--surface-hover)}.zk-studio-ds-option-row.is-selected{background:var(--accent-subtle);font-weight:500}.zk-studio-ds-info{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.zk-studio-ds-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.zk-studio-ds-code{color:var(--text-muted);font-size:.7rem;font-family:var(--font-mono,monospace)}.zk-ds-auto-gen-btn{border-radius:var(--radius-button);border:1px solid var(--primary);background:var(--accent-subtle);width:100%;color:var(--brand-text);cursor:pointer;justify-content:center;align-items:center;gap:.35rem;margin-bottom:.5rem;padding:.45rem .65rem;font-size:.75rem;font-weight:600;transition:all .15s;display:flex}.zk-ds-auto-gen-btn:hover{background:var(--primary);color:var(--primary-contrast);box-shadow:var(--shadow-sm)}.zk-ds-group-card{border:1px solid var(--border);border-radius:var(--radius-min);background:var(--surface);margin-bottom:.5rem;overflow:hidden}.zk-ds-group-head{background:var(--surface-hover);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.35rem;padding:.4rem .55rem;font-size:.72rem;font-weight:700;display:flex}.zk-ds-group-title{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.35rem;min-width:0;display:flex;overflow:hidden}.zk-ds-group-body{flex-direction:column;gap:.3rem;padding:.35rem;display:flex}.zk-ds-field-pill-item{border-radius:var(--radius-min);border:1px solid var(--border);background:var(--card);cursor:grab;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:.35rem;padding:.3rem .5rem;font-size:.75rem;transition:all .15s;display:flex}.zk-ds-field-pill-item:hover{border-color:var(--primary);background:var(--surface-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.zk-ds-field-pill-item:active{cursor:grabbing}.zk-ds-field-badge{border-radius:var(--radius);background:var(--bg-hover);color:var(--text-secondary);text-transform:uppercase;padding:.05rem .3rem;font-size:.65rem;font-weight:700}.zk-shape-square{border-radius:0!important}.zk-shape-rounded{border-radius:var(--radius)!important}.zk-shape-pill{border-radius:9999px!important}.zk-height-compact{min-height:80px!important}.zk-height-normal{min-height:140px!important}.zk-height-tall{min-height:280px!important}.zk-designer-resize-handle{cursor:nwse-resize;z-index:25;background:linear-gradient(135deg, transparent 50%, var(--primary) 50%);border-bottom-right-radius:inherit;opacity:.75;-webkit-user-select:none;user-select:none;width:14px;height:14px;transition:opacity .15s;display:none;position:absolute;bottom:2px;right:2px}.zk-designer-resize-handle:hover,.zk-designer-resize-handle.is-active{opacity:1}.zk-designer-resize-handle-x{cursor:ew-resize;z-index:25;background:var(--border-hover);opacity:.8;-webkit-user-select:none;user-select:none;border-radius:3px;width:7px;transition:background .15s,width .15s,opacity .15s;display:none;position:absolute;top:15%;bottom:15%;right:-4px}.zk-designer-resize-handle-x:hover,.zk-designer-resize-handle-x.is-active{background:var(--primary);opacity:1;width:9px}.is-selected>.zk-designer-resize-handle,.is-selected>.zk-designer-resize-handle-x{display:block}.zk-designer-resize-tooltip{z-index:99999;background:var(--text);color:var(--surface);border-radius:var(--radius-min);box-shadow:var(--shadow-md);pointer-events:none;white-space:nowrap;letter-spacing:.02em;padding:.25rem .55rem;font-size:.75rem;font-weight:700;position:fixed;transform:translate(-50%,-130%)}.zk-designer-btn-group{align-items:center;gap:.25rem;width:100%;display:flex}.zk-designer-btn-group-item{border:1px solid var(--border);border-radius:var(--radius-min);background:var(--surface);color:var(--text-secondary);cursor:pointer;text-align:center;-webkit-user-select:none;user-select:none;flex:1;justify-content:center;align-items:center;gap:.2rem;padding:.35rem .4rem;font-size:.725rem;font-weight:600;transition:all .15s;display:inline-flex}.zk-designer-btn-group-item:hover{border-color:var(--primary);color:var(--text);background:var(--surface-hover)}.zk-designer-btn-group-item.is-active{background:var(--primary-light);border-color:var(--primary);color:var(--brand-text);font-weight:700}.zk-workflow-studio{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:row;width:100%;height:100%;min-height:560px;display:flex;position:relative;overflow:hidden}.zk-workflow-palette{border-right:1px solid var(--border);background:var(--card);flex-direction:column;flex-shrink:0;width:260px;min-width:240px;display:flex;overflow:hidden}.zk-workflow-palette-body{flex-direction:column;flex:1;gap:.85rem;padding:.75rem;display:flex;overflow-y:auto}.zk-workflow-palette-list{flex-direction:column;gap:.45rem;display:flex}.zk-workflow-tool-btn{border-radius:var(--radius-button);border:1px solid var(--border);background:var(--surface);color:var(--text-primary);cursor:grab;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;padding:.55rem .75rem;font-size:.8125rem;font-weight:500;line-height:1.25;transition:all .15s ease-in-out;display:flex}.zk-workflow-tool-btn:hover{background:var(--surface-hover);border-color:var(--primary);color:var(--brand-text);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.zk-workflow-tool-btn:active{cursor:grabbing}.zk-workflow-canvas-wrap{background:var(--bg-hover);flex-direction:column;flex:1;min-width:0;display:flex;position:relative;overflow:hidden}.zk-workflow-canvas-toolbar{border-bottom:1px solid var(--border);background:var(--surface);z-index:5;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .85rem;display:flex}.zk-workflow-canvas-scroll{background-image:radial-gradient(var(--border) 1.5px, transparent 1.5px);background-size:20px 20px;flex:1;position:relative;overflow:auto}.zk-workflow-canvas{width:100%;min-width:1800px;height:100%;min-height:1200px;position:relative}.zk-workflow-svg-layer{pointer-events:none;z-index:2;width:100%;height:100%;position:absolute;inset:0}.zk-workflow-node{border:1.5px solid var(--border);border-radius:var(--radius);background:var(--card);width:190px;box-shadow:var(--shadow-sm);cursor:move;-webkit-user-select:none;user-select:none;z-index:10;box-sizing:border-box;transition:box-shadow .15s,border-color .15s,transform .1s;position:absolute}.zk-workflow-node:hover{border-color:var(--primary);box-shadow:var(--shadow-md)}.zk-workflow-node.is-selected{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-focus-shadow);border-width:2px}.zk-workflow-node.is-connecting-source{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-focus-shadow)}.zk-workflow-node.is-connecting-target-hover{border-color:var(--wf-gateway);box-shadow:0 0 10px var(--primary);border-style:dashed}.zk-workflow-node-header{border-bottom:1px solid var(--border);background:var(--surface);border-top-left-radius:inherit;border-top-right-radius:inherit;justify-content:space-between;align-items:center;padding:.4rem .65rem;font-size:.7rem;font-weight:700;display:flex}.zk-workflow-node-body{flex-direction:column;gap:.2rem;padding:.5rem .65rem;display:flex}.zk-workflow-node-title{color:var(--text-primary);font-size:.8125rem;font-weight:700;line-height:1.3}.zk-workflow-node-sub{color:var(--text-muted);font-size:.7rem}.zk-workflow-node-start{border-top:3.5px solid var(--wf-start)}.zk-workflow-node-approval{border-top:3.5px solid var(--primary)}.zk-workflow-node-gateway{border-top:3.5px solid var(--wf-gateway)}.zk-workflow-node-notification{border-top:3.5px solid var(--wf-notify)}.zk-workflow-node-end{border-top:3.5px solid var(--wf-end)}.zk-workflow-anchor{background:var(--surface);border:2.5px solid var(--primary);cursor:crosshair;z-index:20;opacity:.7;box-sizing:border-box;border-radius:50%;width:14px;height:14px;transition:transform .15s,opacity .15s,background .15s,box-shadow .15s;position:absolute;top:50%;transform:translateY(-50%)}.zk-workflow-node:hover .zk-workflow-anchor,.zk-workflow-node.is-selected .zk-workflow-anchor,.zk-workflow-anchor:hover{opacity:1;background:var(--primary);transform:translateY(-50%)scale(1.3)}.zk-workflow-anchor-in{border-color:var(--text-muted);left:-7px}.zk-workflow-anchor-in:hover{background:var(--text-muted)}.zk-workflow-anchor-out{border-color:var(--primary);right:-7px}.zk-workflow-anchor-out:hover{background:var(--primary)}.zk-workflow-anchor.is-active-source{background:var(--primary);box-shadow:0 0 8px var(--primary);opacity:1;transform:translateY(-50%)scale(1.4)}.zk-workflow-inspector{border-left:1px solid var(--border);background:var(--card);flex-direction:column;flex-shrink:0;width:320px;min-width:280px;display:flex;overflow:hidden}.zk-workflow-inspector-body{flex-direction:column;flex:1;gap:.85rem;padding:1rem;display:flex;overflow-y:auto}@media (max-width:900px){.zk-workflow-studio{flex-direction:column;height:auto;min-height:auto}.zk-workflow-palette,.zk-workflow-inspector{width:100%;min-width:0;max-height:240px}}.zk-designer-hero-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:1.25rem;width:100%;padding:1.25rem 1.5rem;display:flex}.zk-designer-hero-left{align-items:center;gap:1.25rem;display:flex}.zk-designer-hero-avatar{background:var(--surface);border:2px solid var(--border);width:4.25rem;height:4.25rem;color:var(--text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;display:flex;overflow:hidden}.zk-designer-quick-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:1rem;width:100%;padding:.75rem 1rem;display:flex}.zk-designer-split-container{align-items:stretch;gap:1.25rem;width:100%;display:flex}.zk-designer-split-left{background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);flex-direction:column;gap:.75rem;width:30%;min-width:260px;padding:.75rem;display:flex}.zk-designer-split-right{background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);flex-direction:column;flex:1;gap:.75rem;min-width:0;padding:.75rem;display:flex}.zk-designer-split-dropzone-hint{color:var(--muted);text-align:center;border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--card);padding:1.5rem .5rem;font-size:.75rem}.zk-designer-tabs-wrap{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;width:100%;display:flex;overflow:hidden}.zk-designer-tabs-header{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:.25rem;padding:.5rem .75rem 0;display:flex;overflow-x:auto}.zk-designer-tab-item{color:var(--muted);cursor:pointer;white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:.35rem;padding:.45rem .85rem;font-size:.8125rem;font-weight:600;transition:all .15s;display:flex}.zk-designer-tab-item:hover{color:var(--foreground)}.zk-designer-tab-item.is-active{color:var(--brand-text);border-bottom-color:var(--primary);background:var(--card);border-radius:var(--radius-sm) var(--radius-sm) 0 0}.zk-designer-tab-add-btn{color:var(--brand-text);background:var(--surface-hover);border:1px dashed var(--primary);border-radius:var(--radius-sm);cursor:pointer;margin-bottom:.25rem;margin-left:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:700}.zk-designer-tab-body{flex-direction:column;gap:.75rem;padding:1rem;display:flex}.zk-designer-section-box{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:.85rem;width:100%;padding:1rem 1.25rem;display:flex}.zk-designer-section-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding-bottom:.65rem;display:flex}.zk-designer-section-grid{gap:.75rem 1.25rem;display:grid}.zk-designer-section-grid.cols-1{grid-template-columns:1fr}.zk-designer-section-grid.cols-2{grid-template-columns:repeat(2,1fr)}.zk-designer-section-grid.cols-3{grid-template-columns:repeat(3,1fr)}.zk-designer-section-grid.cols-4{grid-template-columns:repeat(4,1fr)}.zk-designer-cell-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.15rem;font-size:.6875rem;font-weight:700}.zk-designer-cell-value{color:var(--foreground);font-size:.875rem;font-weight:600}.zk-designer-metric-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.zk-designer-metric-icon{border-radius:var(--radius-sm);background:var(--surface-hover);width:2.25rem;height:2.25rem;color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;display:flex}.zk-button-ai-sparkle{background:var(--primary);color:var(--text-on-primary);border:1px solid var(--primary);box-shadow:0 0 10px var(--primary-light);transition:all .18s ease-in-out}.zk-button-ai-sparkle:hover{background:var(--primary-hover);box-shadow:0 0 14px var(--primary)}.zk-dynamic-card[data-zk-card-url],.zk-gym-member-card[data-zk-card-url]{cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s}.zk-dynamic-card[data-zk-card-url]:hover,.zk-gym-member-card[data-zk-card-url]:hover{box-shadow:var(--shadow-md);border-color:var(--primary);transform:translateY(-2px)}.zk-archetype-state-box{text-align:center;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);max-width:580px;box-shadow:var(--shadow-sm);flex-direction:column;justify-content:center;align-items:center;margin:1.5rem auto;padding:3rem 2rem;display:flex}.zk-archetype-state-icon{border-radius:50%;justify-content:center;align-items:center;width:4rem;height:4rem;margin-bottom:1.25rem;display:inline-flex}.zk-archetype-empty-icon{background:var(--primary-light);color:var(--primary)}.zk-archetype-error-icon{background:var(--destructive-light);color:var(--danger)}.zk-archetype-lock-icon{background:var(--warning-light);color:var(--warning-text)}.zk-archetype-conflict-icon{background:var(--destructive-light);color:var(--destructive-text)}.zk-archetype-state-title{color:var(--text-primary);margin-bottom:.5rem;font-size:1.15rem;font-weight:600}.zk-archetype-state-desc{color:var(--text-muted);max-width:440px;margin-bottom:1.25rem;font-size:.9rem;line-height:1.5}.zk-archetype-state-actions{align-items:center;gap:.75rem;display:flex}.zk-archetype-spinner{color:var(--primary);margin-bottom:1rem}.zk-archetype-loading-text{color:var(--text-muted);font-size:.925rem}@keyframes zk-spin{to{transform:rotate(360deg)}}.zk-spin{animation:1s linear infinite zk-spin}.zk-archetype-partial-error{background:var(--destructive-light);border:1px solid var(--destructive-border);border-radius:var(--radius);flex-direction:column;gap:.4rem;margin:.75rem 0;padding:.85rem 1rem;display:flex}.zk-archetype-partial-error-head{color:var(--destructive-text);align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;display:flex}.zk-archetype-partial-error-msg{color:var(--text-muted);margin:0;font-size:.85rem}.zk-archetype-partial-error-retry{color:var(--destructive-text);cursor:pointer;align-self:flex-start;font-size:.8rem;font-weight:600;text-decoration:underline;display:inline-block}.zk-archetype-toast{z-index:9999;border-radius:var(--radius);box-shadow:0 10px 25px var(--overlay-shadow);align-items:center;gap:.75rem;max-width:420px;padding:.85rem 1.25rem;font-size:.9rem;font-weight:500;animation:.25s ease-out zk-toast-in;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}body.zk-modal-open>.zk-archetype-toast-success{z-index:999}.zk-archetype-toast-success{background:var(--success-light);color:var(--success-text);border:1px solid var(--success-border)}.zk-archetype-toast-error,.zk-archetype-toast-danger{background:var(--destructive-light);color:var(--destructive-text);border:1px solid var(--destructive-border)}.zk-archetype-toast-info{background:var(--info-light);color:var(--info-text);border:1px solid var(--info-border)}.zk-archetype-toast-icon{font-size:1.1rem;font-weight:700}.zk-archetype-toast-msg{flex:1}.zk-archetype-toast-close{cursor:pointer;color:inherit;opacity:.7;background:0 0;border:none;padding:.2rem;font-size:.85rem;line-height:1}.zk-archetype-toast-close:hover{opacity:1}.zk-bulk-actions-bar{z-index:1000;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-button);box-shadow:0 8px 30px var(--overlay-shadow);padding:.5rem 1.25rem;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)}.zk-bulk-actions-content{align-items:center;gap:1.5rem;display:flex}.zk-bulk-selection-info{color:var(--text-primary);align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;display:flex}.zk-bulk-count-badge{background:var(--primary);color:var(--text-on-primary);border-radius:var(--radius-button);padding:.15rem .5rem;font-size:.75rem;font-weight:700}.zk-bulk-action-buttons{align-items:center;gap:.5rem;display:flex}.zk-bulk-select-all-system-btn{border:1px dashed var(--primary);color:var(--primary);border-radius:var(--radius-button);cursor:pointer;white-space:nowrap;background:0 0;padding:.2rem .6rem;font-size:.8125rem;font-weight:600;transition:background-color .15s,color .15s}.zk-bulk-select-all-system-btn:hover{background:var(--primary-light)}.zk-bulk-select-all-system-btn[data-zk-all-system-active=true]{background:var(--primary);color:var(--text-on-primary);border-style:solid}:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.zk-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[aria-busy=true],.is-loading{position:relative}[aria-busy=true]:not(#zk-main):after{content:"";background:var(--surface);opacity:.55;z-index:10;border-radius:inherit;pointer-events:none;position:absolute;inset:0}.zk-loading-state{z-index:11;position:relative}.zk-loading-state[aria-busy=true]:after,[data-zk-live-updates][aria-busy=true]:after,[data-zk-live-updates] [aria-busy=true]:after{content:none}.zk-local-spinner{border:2px solid var(--border);border-top-color:var(--primary);vertical-align:middle;border-radius:50%;width:1rem;height:1rem;animation:.6s linear infinite zk-spin;display:inline-block}.zk-hidden,.zk-field-hidden{display:none!important}@keyframes zk-formula-flash{0%{background-color:var(--primary-light);box-shadow:0 0 0 2px var(--primary)}to{box-shadow:none;background-color:#0000}}.zk-formula-computed-flash{transition:border-color .3s;animation:1.2s cubic-bezier(.16,1,.3,1) forwards zk-formula-flash}input[data-zk-formula],input[data-formula]{background-color:var(--surface-secondary);cursor:default;font-weight:600}.zk-subtable-wrapper{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);width:100%;margin:1rem 0;overflow:hidden}.zk-subtable-header{background:var(--surface-secondary);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.zk-subtable-title{color:var(--text-primary);font-size:.875rem;font-weight:600}.zk-subtable-grid{border-collapse:collapse;width:100%}.zk-subtable-grid .zk-input-sm{height:auto;padding:.35rem .5rem;font-size:.8125rem}.zk-profile-toast{z-index:9999;border-radius:var(--radius);box-shadow:var(--overlay-shadow);opacity:0;pointer-events:none;padding:.75rem 1.25rem;font-size:.875rem;font-weight:500;transition:opacity .3s,transform .3s;position:fixed;bottom:1.5rem;right:1.5rem;transform:translateY(10px)}.zk-profile-toast.zk-profile-toast--visible{opacity:1;pointer-events:auto;transform:translateY(0)}.zk-profile-toast--success{background:var(--success-light);color:var(--success-text);border:1px solid var(--success-border)}.zk-profile-toast--danger{background:var(--destructive-light);color:var(--destructive-text);border:1px solid var(--destructive-border)}.zk-profile-toast--info{background:var(--info-light);color:var(--info-text);border:1px solid var(--info-border)}.zk-autocomplete-wrapper{width:100%;position:relative}.zk-autocomplete-panel{z-index:1050;background:var(--card,var(--surface));border:1px solid var(--primary,var(--frozen-text));border-radius:var(--radius-min,6px);max-height:240px;box-shadow:0 8px 24px var(--media-background);position:absolute;top:calc(100% + 2px);left:0;right:0;overflow-y:auto}@supports (color:color-mix(in lab, red, red)){.zk-autocomplete-panel{box-shadow:0 8px 24px color-mix(in srgb, var(--media-background) 35%, transparent)}}.zk-autocomplete-panel{scrollbar-width:thin}.zk-autocomplete-option{cursor:pointer;color:var(--text-primary,var(--text));border-bottom:1px solid var(--border-subtle,var(--text-on-primary));align-items:center;gap:8px;padding:8px 12px;font-size:.8125rem;transition:background .1s;display:flex}@supports (color:color-mix(in lab, red, red)){.zk-autocomplete-option{border-bottom:1px solid var(--border-subtle,color-mix(in srgb, var(--text-on-primary) 6%, transparent))}}.zk-autocomplete-option{-webkit-user-select:none;user-select:none}.zk-autocomplete-option:last-child{border-bottom:none}.zk-autocomplete-option:hover{background:var(--surface-hover,var(--text-on-primary))}@supports (color:color-mix(in lab, red, red)){.zk-autocomplete-option:hover{background:var(--surface-hover,color-mix(in srgb, var(--text-on-primary) 8%, transparent))}}.zk-autocomplete-option--active{background:var(--primary-light,var(--frozen-text))}@supports (color:color-mix(in lab, red, red)){.zk-autocomplete-option--active{background:var(--primary-light,color-mix(in srgb, var(--frozen-text) 15%, transparent))}}.zk-autocomplete-option--selected{background:var(--primary-light,var(--frozen-text))}@supports (color:color-mix(in lab, red, red)){.zk-autocomplete-option--selected{background:var(--primary-light,color-mix(in srgb, var(--frozen-text) 18%, transparent))}}.zk-autocomplete-option--selected{color:var(--primary);font-weight:500}.zk-autocomplete-option-check{border:1px solid var(--input-border,var(--border));width:16px;height:16px;color:var(--primary);background:var(--card);border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;line-height:1;display:inline-flex}.zk-autocomplete-option--selected .zk-autocomplete-option-check{border-color:var(--primary);background:var(--primary);color:var(--text-on-primary)}.zk-autocomplete-option-text{flex:1}.zk-autocomplete-highlight{color:var(--primary);background:0 0;font-weight:600}.zk-autocomplete-loading,.zk-autocomplete-no-results{text-align:center;color:var(--muted);padding:12px;font-size:.8125rem}.zk-autocomplete-loading:before{content:"";border:2px solid var(--border);border-top-color:var(--primary);vertical-align:middle;border-radius:50%;width:14px;height:14px;margin-right:6px;animation:.6s linear infinite zk-ac-spin;display:inline-block}@keyframes zk-ac-spin{to{transform:rotate(360deg)}}.zk-autocomplete-toggle{color:var(--text-muted,var(--text-disabled));cursor:pointer;z-index:2;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;line-height:1;transition:transform .2s,color .15s;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.zk-autocomplete-toggle:hover{color:var(--text-primary)}.zk-autocomplete-wrapper.is-open .zk-autocomplete-toggle{transform:translateY(-50%)rotate(180deg)}.zk-autocomplete-clear{color:var(--muted);cursor:pointer;z-index:2;background:0 0;border:none;border-radius:50%;padding:2px 6px;font-size:1.1rem;line-height:1;transition:color .15s,background .15s;position:absolute;top:50%;right:28px;transform:translateY(-50%)}.zk-autocomplete-clear:hover{color:var(--text);background:var(--secondary-hover)}.zk-autocomplete-wrapper>.zk-input{cursor:pointer;padding-right:48px}.zk-reg-combobox-wrap{width:100%;position:relative}.zk-reg-combobox-wrap .zk-reg-combobox-input:focus{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary);outline:none}.zk-reg-combobox-toggle{color:var(--muted);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:color .15s;display:flex;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.zk-reg-combobox-toggle:hover{color:var(--foreground)}.zk-reg-combobox-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);max-height:220px;box-shadow:var(--shadow-lg);z-index:1050;scrollbar-width:thin;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.zk-reg-combobox-panel.is-dropup{top:auto;bottom:calc(100% + 4px)}.zk-reg-combobox-item{cursor:pointer;border-bottom:1px solid var(--border);color:var(--foreground);-webkit-user-select:none;user-select:none;padding:.55rem .85rem;font-size:.85rem;transition:background .1s}.zk-reg-combobox-item:last-child{border-bottom:none}.zk-reg-combobox-item:hover,.zk-reg-combobox-item.is-active{background:var(--surface-hover)}.zk-reg-combobox-item.is-selected{background:var(--primary-subtle);color:var(--primary);font-weight:600}.zk-reg-combobox-highlight{color:var(--primary);background:0 0;font-weight:700}.zk-reg-combobox-empty{color:var(--muted);text-align:center;padding:.75rem 1rem;font-size:.85rem}.zk-autocomplete-tags{flex-wrap:wrap;gap:.35rem;margin-top:.35rem;display:flex}.zk-autocomplete-tag{background:var(--surface-secondary,var(--text-on-primary));align-items:center;gap:.35rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.zk-autocomplete-tag{background:var(--surface-secondary,color-mix(in srgb, var(--text-on-primary) 6%, transparent))}}.zk-autocomplete-tag{border:1px solid var(--border-color,var(--border));border-radius:var(--radius-min,4px);color:var(--text-primary);padding:.2rem .5rem;font-size:.8125rem}.zk-autocomplete-tag-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:0 2px;font-size:1rem;line-height:1;display:inline-flex}.zk-autocomplete-tag-remove:hover{color:var(--danger,var(--zk-session-btn-cancel-border))}@media (max-width:480px){.zk-autocomplete-panel{max-height:200px}.zk-autocomplete-option{padding:10px 12px}}.zk-audit-timeline{padding-left:24px;position:relative}.zk-audit-timeline:before{content:"";background:var(--border);width:2px;position:absolute;top:0;bottom:0;left:10px}.zk-audit-entry{padding-bottom:1.25rem;position:relative}.zk-audit-entry:last-child{padding-bottom:0}.zk-audit-entry-dot{background:var(--primary);border:2px solid var(--surface);width:10px;height:10px;box-shadow:0 0 0 2px var(--border);z-index:1;border-radius:50%;position:absolute;top:6px;left:-18px}.zk-audit-entry-content{padding-left:8px}.zk-audit-entry-header{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.zk-audit-avatar{background:var(--primary-light);width:28px;min-width:28px;height:28px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:inline-flex}.zk-audit-entry-meta{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.zk-audit-actor{color:var(--text);font-size:.8125rem;font-weight:600}.zk-audit-action-label{color:var(--muted);text-transform:capitalize;font-size:.75rem}.zk-audit-time{color:var(--muted);white-space:nowrap;font-size:.75rem}.zk-audit-toggle{color:var(--primary);background:var(--primary-light);border:1px solid var(--primary);border-radius:var(--radius);cursor:pointer;margin-top:.375rem;padding:2px 8px;font-size:.75rem;transition:background .15s,color .15s;display:inline-block}.zk-audit-toggle:hover,.zk-audit-toggle[aria-expanded=true]{background:var(--primary);color:var(--text-on-primary)}.zk-audit-changes{margin-top:.5rem}.zk-audit-diff-table{border-collapse:collapse;width:100%;font-size:.8125rem}.zk-audit-diff-table th,.zk-audit-diff-table td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:4px 8px}.zk-audit-diff-table th{background:var(--surface);color:var(--muted);font-size:.75rem;font-weight:600}.zk-audit-diff-table .zk-audit-diff-field{width:25%;color:var(--text);font-weight:600}.zk-audit-diff-table .zk-audit-diff-old{color:var(--destructive-text);opacity:.8;text-decoration:line-through}.zk-audit-diff-table .zk-audit-diff-new{color:var(--success-text);font-weight:600}.zk-audit-loading,.zk-audit-empty,.zk-audit-error{text-align:center;color:var(--muted);padding:2rem;font-size:.875rem}.zk-audit-error{color:var(--danger)}@media (max-width:640px){.zk-audit-entry-header{flex-direction:column;align-items:flex-start;gap:.25rem}.zk-audit-diff-table{font-size:.75rem}}.zk-print-only{display:none!important}@media print{@page{margin:12mm 15mm;size:auto}*,:before,:after{color:var(--text-primary)!important;box-shadow:none!important;text-shadow:none!important;background:0 0!important}html,body{background:var(--card)!important;color:var(--text-primary)!important;width:100%!important;margin:0!important;padding:0!important;font-size:10pt!important;line-height:1.4!important}.zk-sidebar,.zk-sidebar-inner,.zk-sidebar-backdrop,.zk-sidebar-hover-zone,.zk-topbar,.zk-topbar-actions,.zk-header,.zk-footer,.zk-nav,.zk-button,.zk-btn,button,.zk-card-actions,.zk-form-actions,.zk-print-btn,[data-zk-action=print],.zk-filter-bar,.zk-pagination,.zk-bulk-actions-bar,.zk-column-chooser,.zk-modal,[data-zk-modal],.zk-toast,.zk-alert-close,.zk-diff-inspector,#zk-audit-trail-timeline,.zk-audit-toggle,.zk-no-print{display:none!important}.zk-print-only{display:block!important}.zk-shell,.zk-app-layout,.zk-main-layout,.zk-main,.zk-content{width:100%!important;max-width:100%!important;box-shadow:none!important;border:none!important;margin:0!important;padding:0!important;overflow:visible!important}.zk-card,.zk-gym-profile-card{break-inside:avoid;page-break-inside:avoid;border:1px solid var(--border)!important;border-radius:var(--radius)!important;box-shadow:none!important;background:var(--card)!important;margin-bottom:12pt!important;padding:10pt!important}.zk-card-header{border-bottom:1px solid var(--border)!important;margin-bottom:8pt!important;padding-bottom:6pt!important}.zk-card-title,h1,h2,h3,h4{break-after:avoid;page-break-after:avoid;color:var(--text-primary)!important}.zk-badge{border:1px solid var(--border)!important;color:var(--text-primary)!important;background:var(--surface)!important;padding:1px 6px!important;font-size:8pt!important}.zk-table,.zk-record-pos-table,table{break-inside:auto;border-collapse:collapse!important;border-spacing:0!important;width:100%!important;margin-top:6pt!important}.zk-table tr,.zk-record-pos-table tr,tr{break-inside:avoid;page-break-inside:avoid}.zk-table th,.zk-table td,.zk-record-pos-th,.zk-record-pos-td,th,td{border:1px solid var(--border)!important;color:var(--text-primary)!important;padding:5pt 7pt!important;font-size:9pt!important}.zk-table th,.zk-record-pos-th,th{background:var(--surface)!important;font-weight:700!important}.zk-print-page-break{break-after:page;page-break-after:always}}.is-hidden{display:none!important}.zk-face-register-wrapper,.zk-doc-scan-wrapper{align-items:start}@media (min-width:641px){.zk-form-row.zk-face-register-wrapper:not(.is-stacked),.zk-form-row.zk-doc-scan-wrapper:not(.is-stacked){align-items:start}.zk-form-row.zk-face-register-wrapper:not(.is-stacked) .zk-face-register-control,.zk-form-row.zk-face-register-wrapper:not(.is-stacked) .zk-face-field-error,.zk-form-row.zk-doc-scan-wrapper:not(.is-stacked) .zk-doc-scan-control,.zk-form-row.zk-doc-scan-wrapper:not(.is-stacked) .zk-doc-scan-field-error{grid-column:2}}.zk-face-register-label,.zk-doc-scan-label{color:var(--text-primary);padding-top:.5rem;font-size:.875rem;font-weight:600}.zk-face-register-control,.zk-doc-scan-control{flex-direction:column;width:fit-content;display:inline-flex;position:relative}.zk-face-preview-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-xs);flex:none;justify-content:center;align-items:center;width:7rem;height:9.375rem;transition:border-color .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.zk-face-preview-box.is-aspect-square,.zk-face-register-control[data-zk-aspect-ratio="1:1"] .zk-face-preview-box{width:9.375rem;height:9.375rem}.zk-doc-scan-preview-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-xs);flex:none;justify-content:center;align-items:center;width:14.875rem;height:9.375rem;transition:border-color .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.zk-face-preview-box:hover,.zk-doc-scan-preview-box:hover{border-color:var(--border-control-hover)}.zk-face-preview-placeholder,.zk-doc-scan-preview-placeholder{color:var(--text-muted);opacity:.7;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;width:100%;height:100%;display:flex}.zk-face-preview-img,.zk-doc-scan-preview-img{object-fit:cover;width:100%;height:100%;display:block}.zk-face-overlay-actions,.zk-doc-scan-overlay-actions{-webkit-backdrop-filter:blur(4px);background:var(--media-overlay-action);border-radius:var(--radius);opacity:0;pointer-events:none;z-index:10;align-items:center;gap:.375rem;padding:.25rem .375rem;transition:opacity .2s,transform .2s;display:inline-flex;position:absolute;bottom:.5rem;left:50%;transform:translate(-50%,6px)}.zk-face-preview-box:hover .zk-face-overlay-actions,.zk-face-preview-box:focus-within .zk-face-overlay-actions,.zk-doc-scan-preview-box:hover .zk-doc-scan-overlay-actions,.zk-doc-scan-preview-box:focus-within .zk-doc-scan-overlay-actions{opacity:1;pointer-events:auto;transform:translate(-50%)}.zk-face-overlay-btn,.zk-doc-scan-overlay-btn{color:var(--text-on-primary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:1.875rem;height:1.875rem;margin:0;padding:0;transition:background-color .15s,color .15s,transform .1s;display:inline-flex}.zk-face-overlay-btn:hover,.zk-doc-scan-overlay-btn:hover{background:var(--media-overlay-control-hover);color:var(--text-on-primary)}.zk-face-overlay-btn:active,.zk-doc-scan-overlay-btn:active{transform:scale(.92)}.zk-face-overlay-btn:focus-visible,.zk-doc-scan-overlay-btn:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.zk-face-file-input,.zk-doc-scan-file-input,.zk-face-freeze-canvas.is-hidden,.zk-face-video.is-hidden,.zk-face-btn-capture.is-hidden,.zk-face-btn-retake.is-hidden,.zk-face-btn-accept.is-hidden,.zk-face-preview-img.is-hidden,.zk-face-preview-placeholder.is-hidden,.zk-face-floating-toast.is-hidden,.zk-doc-scan-freeze-canvas.is-hidden,.zk-doc-scan-video.is-hidden,.zk-doc-scan-btn-capture.is-hidden,.zk-doc-scan-btn-retake.is-hidden,.zk-doc-scan-btn-accept.is-hidden,.zk-doc-scan-preview-img.is-hidden,.zk-doc-scan-preview-placeholder.is-hidden,.zk-doc-scan-floating-toast.is-hidden{display:none!important}.zk-face-floating-toast,.zk-doc-scan-floating-toast{background:var(--card);border:1px solid var(--danger);border-radius:var(--radius);box-shadow:0 4px 12px var(--overlay-shadow);color:var(--danger);cursor:pointer;pointer-events:auto;z-index:25;align-items:center;gap:.375rem;width:max-content;max-width:18rem;padding:.375rem .625rem;font-size:.75rem;font-weight:500;display:flex;position:absolute;top:.5rem;left:50%;transform:translate(-50%)}.zk-face-toast-icon,.zk-doc-scan-toast-icon{flex-shrink:0}.zk-face-toast-text,.zk-doc-scan-toast-text{line-height:1.3}.zk-face-field-error,.zk-doc-scan-field-error{color:var(--danger);margin-top:.375rem;font-size:.75rem;font-weight:500}.zk-face-camera-modal,.zk-doc-scan-camera-modal{background:var(--overlay-backdrop);z-index:9999;justify-content:center;align-items:center;padding:1rem;display:none;position:fixed;inset:0}.zk-face-camera-modal.is-open,.zk-doc-scan-camera-modal.is-open{display:flex}.zk-face-modal-dialog,.zk-doc-scan-modal-dialog{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--overlay-shadow);width:100%;max-width:32.5rem;overflow:hidden}.zk-face-modal-header,.zk-face-modal-footer,.zk-doc-scan-modal-header,.zk-doc-scan-modal-footer{justify-content:space-between;align-items:center;padding:.875rem 1.25rem;display:flex}.zk-face-modal-header,.zk-doc-scan-modal-header{border-bottom:1px solid var(--border)}.zk-face-modal-header h3,.zk-doc-scan-modal-header h3{color:var(--text-primary);margin:0;font-size:1rem;font-weight:600}.zk-face-modal-close,.zk-doc-scan-modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:.25rem}.zk-face-modal-close:hover,.zk-doc-scan-modal-close:hover{color:var(--text-primary)}.zk-face-modal-body,.zk-doc-scan-modal-body{flex-direction:column;align-items:center;gap:1rem;padding:1.25rem;display:flex}.zk-face-viewport-wrap,.zk-doc-scan-viewport-wrap{background:var(--text-primary);border-radius:var(--radius);justify-content:center;align-items:center;width:100%;max-width:28rem;display:flex;position:relative;overflow:hidden}.zk-face-viewport-wrap{aspect-ratio:4/3}.zk-face-register-control[data-zk-aspect-ratio="1:1"] .zk-face-viewport-wrap,.zk-face-camera-modal.is-aspect-square .zk-face-viewport-wrap{aspect-ratio:1;max-width:22rem}.zk-doc-scan-viewport-wrap{aspect-ratio:85.6/54}.zk-face-video,.zk-face-freeze-canvas{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.zk-doc-scan-video,.zk-doc-scan-freeze-canvas{object-fit:cover;width:100%;height:100%}.zk-face-oval-guide{border:2px dashed var(--text-on-primary);box-shadow:0 0 0 9999px var(--overlay-backdrop);pointer-events:none;border-radius:50%;width:11.25rem;height:15rem;position:absolute}.zk-face-register-control[data-zk-aspect-ratio="1:1"] .zk-face-oval-guide,.zk-face-camera-modal.is-aspect-square .zk-face-oval-guide{width:14rem;height:14rem}.zk-doc-scan-frame-guide{border:2px dashed var(--media-guide);border-radius:var(--radius);box-shadow:0 0 0 9999px var(--overlay-backdrop);pointer-events:none;width:82%;height:78%;position:absolute}.zk-doc-scan-corner{border-color:var(--primary);border-style:solid;width:1.25rem;height:1.25rem;position:absolute}.zk-corner-tl{border-width:3px 0 0 3px;top:-2px;left:-2px}.zk-corner-tr{border-width:3px 3px 0 0;top:-2px;right:-2px}.zk-corner-bl{border-width:0 0 3px 3px;bottom:-2px;left:-2px}.zk-corner-br{border-width:0 3px 3px 0;bottom:-2px;right:-2px}.zk-face-modal-status,.zk-doc-scan-modal-status{text-align:center;min-height:1.5rem;font-size:.75rem}.zk-face-modal-status.zk-status-error,.zk-doc-scan-modal-status.zk-status-error{color:var(--danger);font-weight:500}.zk-face-modal-status.zk-status-success,.zk-doc-scan-modal-status.zk-status-success{color:var(--success);font-weight:500}.zk-face-modal-status.zk-status-info,.zk-doc-scan-modal-status.zk-status-info{color:var(--text-secondary)}.zk-face-modal-footer,.zk-doc-scan-modal-footer{background:var(--surface);border-top:1px solid var(--border)}.zk-face-modal-actions,.zk-doc-scan-modal-actions{align-items:center;gap:.5rem;margin-left:auto;display:flex}.zk-face-button-icon,.zk-doc-scan-button-icon{margin-right:.35rem}@media (max-width:30rem){.zk-doc-scan-preview-box{width:100%;max-width:18rem}.zk-face-modal-header,.zk-face-modal-footer,.zk-face-modal-body,.zk-doc-scan-modal-header,.zk-doc-scan-modal-footer,.zk-doc-scan-modal-body{padding:.75rem}}.zk-record-attachments-card{margin-top:1.5rem}.zk-record-attachments-header{justify-content:space-between;align-items:center;display:flex}.zk-record-attachments-list{flex-direction:column;gap:.5rem;display:flex}.zk-attachment-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);justify-content:space-between;align-items:center;padding:.75rem 1rem;transition:background-color .15s,border-color .15s;display:flex}.zk-attachment-item:hover{background:var(--surface-hover);border-color:var(--border-hover)}.zk-attachment-left{flex:1;align-items:center;gap:.75rem;min-width:0;display:flex}.zk-attachment-icon{border-radius:var(--radius-sm);background:var(--surface-secondary);width:36px;height:36px;color:var(--primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.zk-attachment-icon-pdf{color:var(--danger)}.zk-attachment-info{flex-direction:column;gap:2px;min-width:0;display:flex}.zk-attachment-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;overflow:hidden}.zk-attachment-meta{color:var(--text-muted);font-size:.75rem}.zk-attachment-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.zk-attachment-empty{text-align:center;color:var(--text-muted);padding:2rem;font-size:.875rem}.zk-attachment-status-bar{margin-bottom:.75rem}.zk-cid-wrapper{flex-direction:column;gap:.5rem;width:100%;display:flex}.zk-cid-label{color:var(--text-primary);font-size:.875rem;font-weight:500}.zk-cid-control{flex-direction:column;gap:.75rem;width:100%;display:flex;position:relative}.zk-cid-slots-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;width:100%;display:grid}@media (max-width:42rem){.zk-cid-slots-grid{grid-template-columns:1fr}}.zk-cid-slot{flex-direction:column;gap:.375rem;width:100%;display:flex}.zk-cid-slot-header{justify-content:space-between;align-items:center;display:flex}.zk-cid-slot-title{color:var(--text-secondary);font-size:.8125rem;font-weight:600}.zk-cid-card-box{aspect-ratio:85.6/54;background:var(--surface);border:1.5px dashed var(--border);border-radius:var(--radius);justify-content:center;align-items:center;width:100%;transition:border-color .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.zk-cid-card-box:hover{border-color:var(--primary)}.zk-cid-card-placeholder{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;display:flex}.zk-cid-placeholder-text{font-size:.75rem;font-weight:500}.zk-cid-card-img{border-radius:var(--radius);object-fit:contain;background-color:var(--surface-subtle);cursor:pointer;width:100%;height:100%;transition:filter .15s}.zk-cid-card-img:hover{filter:brightness(1.03)}.zk-cid-portrait-badge{background:var(--card);border:2px solid var(--text-on-primary);border-radius:var(--radius);box-shadow:0 4px 10px var(--media-portrait-shadow);z-index:10;width:3.6rem;height:4.8rem;position:absolute;bottom:.5rem;left:.5rem;overflow:hidden}.zk-cid-portrait-img{object-fit:cover;width:100%;height:100%}.zk-cid-overlay-actions{opacity:0;pointer-events:none;z-index:15;gap:.375rem;transition:opacity .2s,transform .2s;display:flex;position:absolute;bottom:.5rem;right:.5rem}.zk-cid-card-box:hover .zk-cid-overlay-actions,.zk-cid-card-box:focus-within .zk-cid-overlay-actions{opacity:1;pointer-events:auto}.zk-cid-overlay-btn{background:var(--media-overlay-action);border-radius:var(--radius);color:var(--text-on-primary);cursor:pointer;border:0;justify-content:center;align-items:center;width:2rem;height:2rem;margin:0;padding:0;transition:background-color .15s,transform .1s;display:inline-flex}.zk-cid-overlay-btn:hover{background:var(--media-overlay-action-hover);transform:scale(1.06)}.zk-cid-overlay-btn:active{transform:scale(.94)}.zk-cid-overlay-btn:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.zk-cid-status-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.8125rem;font-weight:500;display:flex}.zk-cid-status-bar.is-hidden{display:none!important}.zk-cid-status-bar.zk-status-ready{color:var(--text-secondary)}.zk-cid-status-bar.zk-status-warning{border-color:var(--warning);color:var(--warning)}.zk-cid-status-bar.zk-status-success{border-color:var(--success);color:var(--success)}.zk-cid-status-bar.zk-status-processing{border-color:var(--primary);color:var(--primary)}.zk-cid-floating-toast{background:var(--card);border:1px solid var(--danger);border-radius:var(--radius);box-shadow:0 4px 12px var(--overlay-shadow);color:var(--danger);cursor:pointer;pointer-events:auto;z-index:25;align-items:center;gap:.375rem;width:max-content;max-width:20rem;padding:.375rem .625rem;font-size:.75rem;font-weight:500;display:flex;position:absolute;top:.5rem;left:50%;transform:translate(-50%)}.zk-cid-toast-icon{flex-shrink:0}.zk-cid-toast-text{line-height:1.3}.zk-cid-field-error{color:var(--danger);margin-top:.375rem;font-size:.75rem;font-weight:500}.zk-cid-camera-modal{background:var(--overlay-backdrop);z-index:9999;justify-content:center;align-items:center;width:100%;height:100%;padding:1rem;display:none;position:fixed;inset:0}.zk-cid-camera-modal:not([hidden]){display:flex}.zk-cid-modal-dialog{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 10px 25px var(--overlay-shadow);flex-direction:column;width:100%;max-width:32rem;display:flex}.zk-cid-modal-header,.zk-cid-modal-footer{justify-content:space-between;align-items:center;padding:.875rem 1.25rem;display:flex}.zk-cid-modal-header{border-bottom:1px solid var(--border)}.zk-cid-modal-header h3{color:var(--text-primary);margin:0;font-size:1rem;font-weight:600}.zk-cid-modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:.25rem}.zk-cid-modal-close:hover{color:var(--text-primary)}.zk-cid-modal-body{flex-direction:column;align-items:center;gap:.75rem;padding:1.25rem;display:flex}.zk-cid-viewport-wrap{aspect-ratio:85.6/54;background:var(--text-primary);border-radius:var(--radius);justify-content:center;align-items:center;width:100%;max-width:28rem;display:flex;position:relative;overflow:hidden}.zk-cid-video,.zk-cid-freeze-canvas{object-fit:cover;width:100%;height:100%}.zk-cid-frame-guide{border:2px dashed var(--media-guide);border-radius:var(--radius);box-shadow:0 0 0 9999px var(--overlay-backdrop);pointer-events:none;width:86%;height:82%;position:absolute}.zk-cid-corner{border-color:var(--primary);border-style:solid;width:1.25rem;height:1.25rem;position:absolute}.zk-cid-modal-status{text-align:center;min-height:1.5rem;font-size:.75rem}.zk-cid-modal-footer{background:var(--surface);border-top:1px solid var(--border)}.zk-cid-modal-actions{align-items:center;gap:.5rem;margin-left:auto;display:flex}.zk-cid-button-icon{margin-right:.35rem}.zk-cid-lightbox-modal{background:var(--overlay-backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;justify-content:center;align-items:center;width:100%;height:100%;padding:1rem;display:flex;position:fixed;inset:0}.zk-cid-lightbox-modal.is-hidden{display:none!important}.zk-cid-lightbox-dialog{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 16px 36px var(--overlay-shadow);flex-direction:column;width:auto;max-width:95vw;max-height:94vh;display:flex;overflow:hidden}.zk-cid-lightbox-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex}.zk-cid-lightbox-title{color:var(--text-primary);font-size:.9375rem;font-weight:600}.zk-cid-lightbox-actions{align-items:center;gap:.5rem;display:flex}.zk-cid-lightbox-body{background:var(--surface-subtle);justify-content:center;align-items:center;max-width:95vw;max-height:calc(94vh - 5rem);padding:1rem;display:flex;overflow:auto}.zk-cid-lightbox-img{border-radius:var(--radius);box-shadow:0 4px 16px var(--media-preview-shadow);object-fit:contain;max-width:90vw;height:auto;max-height:78vh;transition:max-width .2s,max-height .2s;display:block}.zk-cid-lightbox-img.zk-cid-zoom-100{max-width:none;max-height:none}.zk-cid-status-bar.zk-status-dimmed{opacity:.85;transition:opacity .5s}.zk-context-lock{background:var(--surface);justify-content:center;align-items:center;min-height:100dvh;padding:1rem;display:flex}.zk-context-lock-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);width:100%;max-width:36rem;padding:clamp(1.25rem,4vw,2rem)}.zk-context-lock-title{color:var(--text-primary);margin:0 0 .75rem}.zk-context-lock-body{color:var(--text-muted);margin:0 0 1.25rem}.zk-context-lock-actions{flex-wrap:wrap;gap:.75rem;display:flex}.zk-topbar{flex-wrap:nowrap}.zk-topbar-leading{flex:0 auto;gap:.5rem;min-width:0;max-width:65%}.zk-topbar-function-title{max-width:min(180px,100vw - 9rem);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;font-size:.875rem;font-weight:600;line-height:1.4;overflow:hidden}.zk-topbar-filter-slot{flex:auto;justify-content:flex-end;align-items:center;padding-right:.75rem;display:flex}.zk-topbar>.zk-action-menu{flex:none}.zk-topbar-quick-actions{flex:none;align-items:center;gap:.5rem;display:flex}.zk-topbar-quick-actions:empty{display:none}.zk-topbar-quick-actions>.zk-button{width:2.25rem;min-width:2.25rem;height:2.25rem;padding:.5rem}.zk-topbar-quick-actions .zk-action-menu-label[hidden],.zk-topbar-quick-actions [data-zk-action-unavailable]{display:none}.zk-action-menu{position:relative}.zk-action-menu-popup{z-index:80;min-width:min(13rem, var(--zk-topbar-popup-max-width,13rem));width:max-content;max-width:min(23rem, calc(100vw - 2rem), var(--zk-topbar-popup-max-width,100vw));border:1px solid var(--border);border-radius:var(--radius);background:var(--card);max-height:min(28rem,100dvh - 5rem);box-shadow:var(--shadow-md);padding:.375rem;position:absolute;top:calc(100% + .5rem);right:0;overflow:auto}.zk-action-menu-popup[hidden]{display:none}.zk-action-menu-popup .zk-button{width:100%;min-width:0;height:auto;min-height:2.25rem;box-shadow:none;color:var(--text-primary);white-space:normal;text-align:left;background:0 0;border:0;justify-content:flex-start;gap:.625rem;padding:.5rem .625rem;font-size:.875rem;display:flex}.zk-action-menu-popup .zk-button:hover,.zk-action-menu-popup .zk-button:focus-visible,.zk-action-menu-popup [aria-checked=true]{background:var(--bg-hover)}.zk-action-menu-popup .zk-button-danger{color:var(--destructive-text)}.zk-action-menu-popup .zk-button svg{flex:none;width:1.125rem;height:1.125rem}.zk-action-menu-popup .zk-button:disabled,.zk-action-menu-popup [aria-disabled=true],.zk-action-menu-popup [data-zk-action-unavailable],.zk-action-menu-popup [hidden]{display:none}.zk-action-menu-popup [data-zk-action-group]{gap:.125rem;display:grid}.zk-action-menu-label{overflow-wrap:anywhere;min-width:0}.zk-topbar-recent{flex:none;align-items:center;gap:.25rem;width:clamp(2.25rem,12vw,11.25rem);min-width:0;height:2rem;display:flex;position:relative}.zk-topbar-recent-links{align-items:center;gap:.25rem;display:flex}.zk-topbar-recent-links>.zk-button{width:2rem;min-width:2rem;height:2rem;padding:.375rem}.zk-topbar-recent-links>[hidden],.zk-recent-overflow[hidden]{display:none}.zk-topbar-recent [data-zk-recent-retry]{position:absolute;inset-inline-end:0}.zk-sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:639px){.zk-topbar-recent{display:none}.zk-topbar-leading{flex:1 1 0;max-width:100%}.zk-topbar-filter-slot{flex:0 auto}.zk-action-menu-popup{max-width:calc(100vw - 2rem)}}.zk-catalog-view{flex-direction:column;gap:1.25rem;width:100%;display:flex}.zk-catalog-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.zk-catalog-title{color:var(--foreground);letter-spacing:-.01em;margin:0;font-size:1.5rem;font-weight:700}.zk-catalog-create-btn{background-color:var(--primary);border-radius:var(--radius);cursor:pointer;box-shadow:var(--shadow-xs);border:none;align-items:center;gap:.5rem;padding:.5rem 1.125rem;font-size:.875rem;font-weight:600;transition:background-color .15s,transform .1s;display:inline-flex;color:var(--text-on-primary)!important;text-decoration:none!important}.zk-catalog-create-btn:hover{background-color:var(--primary-hover)}.zk-catalog-create-btn:active{transform:scale(.98)}.zk-catalog-create-btn svg{width:1rem;height:1rem}.zk-catalog-filter-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-xs);flex-direction:column;display:flex;overflow:hidden}.zk-catalog-filter-tabs{border-bottom:1px solid var(--border);background:var(--surface-subtle);grid-template-columns:repeat(3,1fr);display:grid}.zk-catalog-tab{color:var(--muted);border:none;border-right:1px solid var(--border);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:.75rem 1rem;font-size:.875rem;font-weight:500;transition:all .15s;display:flex;text-decoration:none!important}.zk-catalog-tab:last-child{border-right:none}.zk-catalog-tab:hover{color:var(--foreground);background:var(--surface-hover)}.zk-catalog-tab.is-active{color:var(--primary);background:var(--card);box-shadow:inset 0 -2px 0 var(--primary);font-weight:600}.zk-catalog-filter-subbar{background:var(--card);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.625rem 1rem;display:flex}.zk-catalog-count{color:var(--muted);font-size:.8125rem;font-weight:500}.zk-catalog-search-wrap{align-items:center;gap:.5rem;display:inline-flex}.zk-catalog-search-input{border:1px solid var(--border-control);border-radius:var(--radius);background:var(--card);min-width:15rem;color:var(--foreground);padding:.4rem .75rem;font-size:.8125rem;transition:border-color .15s,box-shadow .15s}.zk-catalog-search-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-focus-shadow);outline:none}.zk-catalog-refresh-btn{border:1px solid var(--border-control);border-radius:var(--radius);background:var(--card);width:2.125rem;height:2.125rem;color:var(--muted);cursor:pointer;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.zk-catalog-refresh-btn:hover{color:var(--foreground);background:var(--surface-hover);border-color:var(--border-strong)}.zk-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;display:grid}@media (max-width:1024px){.zk-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.zk-catalog-grid{grid-template-columns:1fr}}.zk-catalog-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg,12px);box-shadow:var(--shadow-xs);flex-direction:column;justify-content:space-between;gap:.75rem;padding:1.25rem;transition:transform .2s cubic-bezier(.16,1,.3,1),border-color .2s,box-shadow .2s;display:flex;position:relative}.zk-catalog-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-3px)}.zk-catalog-card-header{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.zk-catalog-card-title{color:var(--foreground);flex:1;margin:0;font-size:1.0625rem;font-weight:700;line-height:1.35}.zk-catalog-card-title a{color:inherit;text-decoration:none}.zk-catalog-card-title a:hover{color:var(--primary)}.zk-catalog-status-badge{white-space:nowrap;border-radius:4px;flex-shrink:0;align-items:center;padding:.2rem .55rem;font-size:.75rem;font-weight:500;line-height:1;display:inline-flex}.zk-catalog-status-success,.zk-catalog-status-active{background-color:var(--primary-light);color:var(--primary);border:1px solid var(--primary-border)}.zk-catalog-status-neutral,.zk-catalog-status-inactive{background-color:var(--surface-subtle);color:var(--text-muted);border:1px solid var(--border)}.zk-catalog-card-subtitle{color:var(--muted);margin:0;font-size:.8125rem}.zk-catalog-card-price{color:var(--primary);font-variant-numeric:tabular-nums;margin:.25rem 0;font-size:1.625rem;font-weight:800;line-height:1.2}.zk-catalog-card-specs{color:var(--foreground);border-top:0;border-bottom:0;flex-direction:column;gap:.45rem;font-size:.8125rem;line-height:1.45;display:flex}.zk-catalog-card-summary{color:var(--foreground);font-weight:400}.zk-catalog-card-scope{color:var(--muted);font-size:.8125rem}.zk-catalog-card-description{color:var(--text-secondary);background:var(--surface-subtle);border-radius:var(--radius-sm,4px);border-left:2.5px solid var(--border-control);margin-top:.35rem;padding:.5rem .65rem;font-size:.8125rem;line-height:1.45}.zk-catalog-card-actions{border-top:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:.625rem;margin-top:auto;padding-top:1rem;display:grid}.zk-catalog-action-btn{border-radius:var(--radius);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:.4rem;height:2.25rem;padding:0 .75rem;font-size:.8125rem;font-weight:600;transition:all .15s;display:inline-flex;text-decoration:none!important}.zk-catalog-action-secondary{background:var(--card);border:1px solid var(--border-control);color:var(--foreground)!important}.zk-catalog-action-secondary:hover{background:var(--surface-hover);border-color:var(--border-strong)}.zk-catalog-action-danger{background:var(--destructive);border:1px solid var(--destructive);color:var(--text-on-primary)!important}.zk-catalog-action-danger:hover{background:var(--destructive-hover);border-color:var(--destructive-hover)}.zk-catalog-action-success{background:var(--primary);border:1px solid var(--primary);color:var(--text-on-primary)!important}.zk-catalog-action-success:hover{background:var(--primary-hover);border-color:var(--primary)}.zk-modal:has([data-zk-record-modal]){width:min(44rem,100%);max-height:92vh}.zk-timegrid-container{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;width:100%;display:flex;overflow:hidden}.zk-timegrid-header-bar{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.zk-timegrid-nav-group{align-items:center;gap:.5rem;display:inline-flex}.zk-timegrid-nav-btn{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);width:2rem;height:2rem;color:var(--foreground);cursor:pointer;justify-content:center;align-items:center;text-decoration:none;transition:all .15s;display:inline-flex}.zk-timegrid-nav-btn:hover{background:var(--surface-hover);border-color:var(--primary);color:var(--primary)}.zk-timegrid-today-btn{color:var(--foreground);background:var(--card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;justify-content:center;align-items:center;padding:.35rem .75rem;font-size:.8125rem;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.zk-timegrid-today-btn:hover{background:var(--surface-hover);border-color:var(--primary);color:var(--primary)}.zk-timegrid-date-title{color:var(--foreground);padding:0 .5rem;font-size:.9375rem;font-weight:600}.zk-timegrid-views-group{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);display:inline-flex;overflow:hidden}.zk-timegrid-view-btn{color:var(--foreground);border:none;border-right:1px solid var(--border);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:.35rem .85rem;font-size:.8125rem;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.zk-timegrid-view-btn:last-child{border-right:none}.zk-timegrid-view-btn:hover{background:var(--surface-hover)}.zk-timegrid-view-btn.is-active{background:var(--primary-light);color:var(--primary);font-weight:600}.zk-timegrid-body{scrollbar-width:thin;scrollbar-color:var(--muted,var(--icon-sso-folder)) var(--surface-subtle,var(--background));min-height:520px;max-height:calc(100vh - 210px);display:flex;position:relative;overflow-y:auto;overflow-x:auto!important}.zk-timegrid-body::-webkit-scrollbar{width:10px;height:12px}.zk-timegrid-body::-webkit-scrollbar-track{background:var(--surface-subtle,var(--background));border-radius:6px}.zk-timegrid-body::-webkit-scrollbar-thumb{background:var(--muted,var(--icon-sso-folder));border:2px solid var(--surface-subtle,var(--background));border-radius:6px}.zk-timegrid-body::-webkit-scrollbar-thumb:hover{background:var(--foreground-subtle,var(--text-disabled))}.zk-timegrid-times-col{border-right:1px solid var(--border);background:var(--surface,var(--text-on-primary));z-index:20;flex-shrink:0;width:4.25rem;min-width:4.25rem;height:max-content;min-height:100%;position:sticky;left:0}.zk-timegrid-times-header-cell{box-sizing:border-box;border-bottom:1px solid var(--border);background:var(--surface-subtle,var(--surface-subtle));z-index:30;flex:0 0 2.75rem;height:2.75rem;min-height:2.75rem;position:sticky;top:0;left:0}.zk-timegrid-time-slot-label{height:var(--zk-timegrid-slot-height,24px);box-sizing:border-box;color:var(--muted);-webkit-user-select:none;user-select:none;justify-content:flex-end;align-items:flex-start;padding-right:.5rem;font-size:.6875rem;line-height:1;display:flex}.zk-timegrid-time-slot-label.is-hour{color:var(--foreground);font-size:.75rem;font-weight:700}.zk-timegrid-time-slot-label.is-half-hour{color:var(--muted);font-size:.6875rem;font-weight:600}.zk-timegrid-columns-container{flex:1 1 0;min-width:0;height:max-content;min-height:100%;display:flex}.zk-timegrid-day-col{border-right:1px solid var(--border);flex-direction:column;flex:1 1 0;min-width:0;height:max-content;min-height:100%;display:flex;position:relative}.zk-timegrid-day-col:last-child{border-right:none}.zk-timegrid-day-header{box-sizing:border-box;border-bottom:1px solid var(--border);background:var(--surface-subtle,var(--surface-subtle));z-index:15;height:2.75rem;min-height:2.75rem;color:var(--foreground);flex:0 0 2.75rem;justify-content:center;align-items:center;width:100%;min-width:100%;font-size:.8125rem;font-weight:600;display:flex;position:sticky;top:0}.zk-timegrid-day-slots{flex:1;width:100%;min-width:100%;position:relative}.zk-timegrid-slot-row{height:var(--zk-timegrid-slot-height,24px);box-sizing:border-box;border-bottom:1px solid var(--border-subtle);cursor:pointer;width:100%;min-width:100%;transition:background .1s}.zk-timegrid-slot-row:nth-child(4n){border-bottom:1px solid var(--border)}.zk-timegrid-slot-row:hover{background:var(--surface-hover)}.zk-session-card{border-radius:var(--radius);color:var(--foreground);box-sizing:border-box;box-shadow:var(--shadow-sm);z-index:2;cursor:default;border:1px solid var(--border);flex-direction:column;justify-content:center;padding:3px 8px;transition:transform .15s,box-shadow .15s;display:flex;position:absolute;left:3px;right:3px;overflow:hidden;container-type:size;border-left-width:4px!important}.zk-session-card-inner{box-sizing:border-box;flex-direction:row;justify-content:space-between;align-items:center;gap:8px;width:100%;height:100%;display:flex}.zk-session-card-info{flex-flow:wrap;flex:auto;align-items:center;gap:2px 8px;min-width:0;display:flex;overflow:hidden}.zk-session-card:hover{box-shadow:var(--shadow-md);z-index:3;transform:translateY(-1px)}.zk-session-card-purple,.zk-session-card-community{background-color:var(--zk-session-purple)!important}@supports (color:color-mix(in lab, red, red)){.zk-session-card-purple,.zk-session-card-community{background-color:color-mix(in srgb, var(--zk-session-purple) 12%, var(--card))!important}}.zk-session-card-purple,.zk-session-card-community{border-color:var(--zk-session-purple)!important}@supports (color:color-mix(in lab, red, red)){.zk-session-card-purple,.zk-session-card-community{border-color:color-mix(in srgb, var(--zk-session-purple) 30%, var(--border))!important}}.zk-session-card-purple,.zk-session-card-community{border-left-color:var(--zk-session-purple)!important;color:var(--foreground)!important}.zk-session-card-purple:hover,.zk-session-card-community:hover{background-color:var(--zk-session-purple)!important}@supports (color:color-mix(in lab, red, red)){.zk-session-card-purple:hover,.zk-session-card-community:hover{background-color:color-mix(in srgb, var(--zk-session-purple) 18%, var(--card))!important}}.zk-session-card-purple:hover,.zk-session-card-community:hover{border-color:var(--zk-session-purple)!important}@supports (color:color-mix(in lab, red, red)){.zk-session-card-purple:hover,.zk-session-card-community:hover{border-color:color-mix(in srgb, var(--zk-session-purple) 45%, var(--border))!important}}.zk-session-card-green,.zk-session-card-completed{background-color:var(--zk-session-green)!important}@supports (color:color-mix(in lab, red, red)){.zk-session-card-green,.zk-session-card-completed{background-color:color-mix(in srgb, var(--zk-session-green) 12%, var(--card))!important}}.zk-session-card-green,.zk-session-card-completed{border-color:var(--zk-session-green)!important}@supports (color:color-mix(in lab, red, red)){.zk-session-card-green,.zk-session-card-completed{border-color:color-mix(in srgb, var(--zk-session-green) 30%, var(--border))!important}}.zk-session-card-green,.zk-session-card-completed{border-left-color:var(--zk-session-green)!important;color:var(--foreground)!important}.zk-session-card-green:hover,.zk-session-card-completed:hover{background-color:var(--zk-session-green)!important}@supports (color:color-mix(in lab, red, red)){.zk-session-card-green:hover,.zk-session-card-completed:hover{background-color:color-mix(in srgb, var(--zk-session-green) 18%, var(--card))!important}}.zk-session-card-green:hover,.zk-session-card-completed:hover{border-color:var(--zk-session-green)!important}@supports (color:color-mix(in lab, red, red)){.zk-session-card-green:hover,.zk-session-card-completed:hover{border-color:color-mix(in srgb, var(--zk-session-green) 45%, var(--border))!important}}.zk-session-card-yellow,.zk-session-card-orange,.zk-session-card-awaiting{background-color:var(--zk-session-yellow)!important}@supports (color:color-mix(in lab, red, red)){.zk-session-card-yellow,.zk-session-card-orange,.zk-session-card-awaiting{background-color:color-mix(in srgb, var(--zk-session-yellow) 14%, var(--card))!important}}.zk-session-card-yellow,.zk-session-card-orange,.zk-session-card-awaiting{border-color:var(--zk-session-yellow)!important}@supports (color:color-mix(in lab, red, red)){.zk-session-card-yellow,.zk-session-card-orange,.zk-session-card-awaiting{border-color:color-mix(in srgb, var(--zk-session-yellow) 35%, var(--border))!important}}.zk-session-card-yellow,.zk-session-card-orange,.zk-session-card-awaiting{border-left-color:var(--zk-session-yellow)!important;color:var(--foreground)!important}.zk-session-card-yellow:hover,.zk-session-card-orange:hover,.zk-session-card-awaiting:hover{background-color:var(--zk-session-yellow)!important}@supports (color:color-mix(in lab, red, red)){.zk-session-card-yellow:hover,.zk-session-card-orange:hover,.zk-session-card-awaiting:hover{background-color:color-mix(in srgb, var(--zk-session-yellow) 20%, var(--card))!important}}.zk-session-card-yellow:hover,.zk-session-card-orange:hover,.zk-session-card-awaiting:hover{border-color:var(--zk-session-yellow)!important}@supports (color:color-mix(in lab, red, red)){.zk-session-card-yellow:hover,.zk-session-card-orange:hover,.zk-session-card-awaiting:hover{border-color:color-mix(in srgb, var(--zk-session-yellow) 50%, var(--border))!important}}.zk-session-card-blue,.zk-session-card-booked{background-color:var(--zk-session-blue)!important}@supports (color:color-mix(in lab, red, red)){.zk-session-card-blue,.zk-session-card-booked{background-color:color-mix(in srgb, var(--zk-session-blue) 12%, var(--card))!important}}.zk-session-card-blue,.zk-session-card-booked{border-color:var(--zk-session-blue)!important}@supports (color:color-mix(in lab, red, red)){.zk-session-card-blue,.zk-session-card-booked{border-color:color-mix(in srgb, var(--zk-session-blue) 30%, var(--border))!important}}.zk-session-card-blue,.zk-session-card-booked{border-left-color:var(--zk-session-blue)!important;color:var(--foreground)!important}.zk-session-card-blue:hover,.zk-session-card-booked:hover{background-color:var(--zk-session-blue)!important}@supports (color:color-mix(in lab, red, red)){.zk-session-card-blue:hover,.zk-session-card-booked:hover{background-color:color-mix(in srgb, var(--zk-session-blue) 18%, var(--card))!important}}.zk-session-card-blue:hover,.zk-session-card-booked:hover{border-color:var(--zk-session-blue)!important}@supports (color:color-mix(in lab, red, red)){.zk-session-card-blue:hover,.zk-session-card-booked:hover{border-color:color-mix(in srgb, var(--zk-session-blue) 45%, var(--border))!important}}.zk-session-card-red{background-color:var(--destructive)!important}@supports (color:color-mix(in lab, red, red)){.zk-session-card-red{background-color:color-mix(in srgb, var(--destructive) 12%, var(--card))!important}}.zk-session-card-red{border-color:var(--destructive)!important}@supports (color:color-mix(in lab, red, red)){.zk-session-card-red{border-color:color-mix(in srgb, var(--destructive) 30%, var(--border))!important}}.zk-session-card-red{border-left-color:var(--destructive)!important;color:var(--foreground)!important}.zk-session-card-red:hover{background-color:var(--destructive)!important}@supports (color:color-mix(in lab, red, red)){.zk-session-card-red:hover{background-color:color-mix(in srgb, var(--destructive) 18%, var(--card))!important}}.zk-session-card-red:hover{border-color:var(--destructive)!important}@supports (color:color-mix(in lab, red, red)){.zk-session-card-red:hover{border-color:color-mix(in srgb, var(--destructive) 45%, var(--border))!important}}.zk-session-card-teal{background-color:var(--frozen-border)!important}@supports (color:color-mix(in lab, red, red)){.zk-session-card-teal{background-color:color-mix(in srgb, var(--frozen-border) 12%, var(--card))!important}}.zk-session-card-teal{border-color:var(--frozen-border)!important}@supports (color:color-mix(in lab, red, red)){.zk-session-card-teal{border-color:color-mix(in srgb, var(--frozen-border) 30%, var(--border))!important}}.zk-session-card-teal{border-left-color:var(--frozen-border)!important;color:var(--foreground)!important}.zk-session-card-teal:hover{background-color:var(--frozen-border)!important}@supports (color:color-mix(in lab, red, red)){.zk-session-card-teal:hover{background-color:color-mix(in srgb, var(--frozen-border) 18%, var(--card))!important}}.zk-session-card-teal:hover{border-color:var(--frozen-border)!important}@supports (color:color-mix(in lab, red, red)){.zk-session-card-teal:hover{border-color:color-mix(in srgb, var(--frozen-border) 45%, var(--border))!important}}.zk-session-card-pink{background-color:var(--zk-avatar-rose-text)!important}@supports (color:color-mix(in lab, red, red)){.zk-session-card-pink{background-color:color-mix(in srgb, var(--zk-avatar-rose-text) 12%, var(--card))!important}}.zk-session-card-pink{border-color:var(--zk-avatar-rose-text)!important}@supports (color:color-mix(in lab, red, red)){.zk-session-card-pink{border-color:color-mix(in srgb, var(--zk-avatar-rose-text) 30%, var(--border))!important}}.zk-session-card-pink{border-left-color:var(--zk-avatar-rose-text)!important;color:var(--foreground)!important}.zk-session-card-pink:hover{background-color:var(--zk-avatar-rose-text)!important}@supports (color:color-mix(in lab, red, red)){.zk-session-card-pink:hover{background-color:color-mix(in srgb, var(--zk-avatar-rose-text) 18%, var(--card))!important}}.zk-session-card-pink:hover{border-color:var(--zk-avatar-rose-text)!important}@supports (color:color-mix(in lab, red, red)){.zk-session-card-pink:hover{border-color:color-mix(in srgb, var(--zk-avatar-rose-text) 45%, var(--border))!important}}.zk-session-card-gray{background-color:var(--zk-badge-muted-bg)!important;border-color:var(--zk-badge-muted-border)!important;border-left-color:var(--zk-badge-muted-text)!important;color:var(--text-secondary)!important}.zk-session-card-gray:hover{background-color:var(--surface-hover)!important;border-color:var(--border-hover)!important}.zk-session-card.is-passed,.zk-session-card[data-session-status=CANCELLED]{opacity:.72;filter:saturate(.85)}.zk-session-card-header{white-space:nowrap;align-items:center;gap:.35rem;font-size:.75rem;font-weight:600;line-height:1.25;display:inline-flex}.zk-session-badge-group{align-items:center;gap:.35rem;display:inline-flex}.zk-session-pill{border-radius:var(--radius-button);background:var(--foreground);align-items:center;padding:1px 6px;font-size:.6875rem;font-weight:600;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.zk-session-pill{background:color-mix(in srgb, var(--foreground) 8%, var(--card))}}.zk-session-pill{color:var(--foreground);border:1px solid var(--foreground)}@supports (color:color-mix(in lab, red, red)){.zk-session-pill{border:1px solid color-mix(in srgb, var(--foreground) 18%, transparent)}}.zk-session-pill{line-height:1.3}.zk-session-card-title{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:700;line-height:1.25;overflow:hidden}.zk-session-card-subtitle{opacity:.92;color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;align-items:center;min-width:0;max-width:100%;font-size:.6875rem;line-height:1.25;display:inline-flex;overflow:hidden}.zk-session-card-meta-row{flex-flow:wrap;align-items:center;gap:2px 8px;width:100%;min-width:0;line-height:1.25;display:flex}.zk-session-card-meta-sep{opacity:.65;-webkit-user-select:none;user-select:none;flex-shrink:0;font-size:.625rem;line-height:1;display:inline-block}.zk-session-card-trainer,.zk-session-card-package,.zk-session-card-branch{opacity:.95;color:var(--muted-foreground);text-overflow:ellipsis;align-items:center;min-width:0;max-width:100%;font-size:.6875rem;font-weight:600;line-height:1.25;display:inline-flex;overflow:hidden;white-space:nowrap!important;width:auto!important}.zk-session-package-tag{opacity:.85;margin-right:2px;font-size:.625rem;font-weight:700}.zk-session-card-right{flex-shrink:0;align-items:center;gap:6px;margin-left:auto;display:flex}.zk-session-card-actions{align-items:center;gap:6px;margin:0;padding:0;display:inline-flex}.zk-session-actions-hover-only{opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;transform:scale(.95)}.zk-session-card:hover .zk-session-actions-hover-only{opacity:1;pointer-events:auto;transform:scale(1)}.zk-session-btn-action{border-radius:var(--radius-sm);border:1px solid var(--foreground);align-items:center;gap:.25rem;padding:2px 8px;font-size:.6875rem;font-weight:600;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.zk-session-btn-action{border:1px solid color-mix(in srgb, var(--foreground) 16%, transparent)}}.zk-session-btn-action{cursor:pointer;background:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.zk-session-btn-action{background:color-mix(in srgb, var(--foreground) 6%, var(--card))}}.zk-session-btn-action{color:var(--foreground);white-space:nowrap;line-height:1.35;transition:all .15s}.zk-session-btn-action:hover{background:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.zk-session-btn-action:hover{background:color-mix(in srgb, var(--foreground) 14%, var(--card))}}.zk-session-btn-action:hover{border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.zk-session-btn-action:hover{border-color:color-mix(in srgb, var(--foreground) 28%, transparent)}}.zk-session-btn-cancel{background:var(--zk-session-btn-cancel-bg);border-color:var(--zk-session-btn-cancel-border);color:var(--zk-session-text)}.zk-session-btn-cancel:hover{background:var(--zk-session-btn-cancel-hover)}.zk-session-btn-complete-active{background:var(--zk-session-btn-complete-bg);border-color:var(--zk-session-btn-complete-border);color:var(--zk-session-text)}.zk-session-btn-complete-active:hover{background:var(--zk-session-btn-complete-hover)}.zk-session-btn-complete-disabled{background:var(--zk-session-btn-disabled-bg);border-color:var(--zk-session-btn-disabled-border);color:var(--zk-session-btn-disabled-text);opacity:.65;cursor:not-allowed!important;pointer-events:none!important}.zk-session-card.zk-session-card-narrow{padding:2px 6px}.zk-session-card.zk-session-card-narrow .zk-session-card-subtitle{display:none!important}.zk-session-card.zk-session-card-xs{border-radius:var(--radius-sm,4px);padding:1px 6px}.zk-session-card.zk-session-card-xs .zk-session-card-subtitle,.zk-session-card.zk-session-card-xs .zk-session-status-badge{display:none!important}.zk-session-card.zk-session-card-xs .zk-session-card-header,.zk-session-card.zk-session-card-xs .zk-session-card-title{font-size:.6875rem!important;line-height:1.1!important}.zk-session-card.zk-session-card-xs .zk-session-btn-action{height:16px!important;padding:1px 5px!important;font-size:.625rem!important;line-height:1.2!important}@container (max-height:48px){.zk-session-card-subtitle{display:none!important}}@container (max-height:28px){.zk-session-card-inner{gap:4px!important}.zk-session-card-subtitle,.zk-session-status-badge{display:none!important}.zk-session-card-header,.zk-session-card-title{font-size:.6875rem!important;line-height:1.1!important}.zk-session-btn-action{height:16px!important;padding:1px 5px!important;font-size:.625rem!important;line-height:1.2!important}}.zk-timegrid-now-indicator{z-index:20;pointer-events:none;align-items:center;display:flex;position:absolute;left:0;right:0}.zk-timegrid-now-arrow{border-top:5px solid #0000;border-bottom:5px solid #0000;border-left:7px solid var(--zk-session-blue);width:0;height:0;position:absolute;top:-4px;left:0}.zk-timegrid-now-line{background-color:var(--zk-session-blue);width:100%;height:2px;box-shadow:0 0 4px var(--zk-timegrid-now-glow)}.zk-timegrid-slot-row.is-past{background-color:var(--zk-timegrid-past-bg);cursor:not-allowed}.zk-timegrid-slot-row.is-past:hover{background-color:var(--zk-timegrid-past-hover-bg)}.zk-ghost-card{border:2px dashed var(--zk-ghost-border);background-color:var(--zk-ghost-bg);border-radius:var(--radius,8px);color:var(--foreground);box-sizing:border-box;z-index:50;-webkit-user-select:none;user-select:none;touch-action:none;box-shadow:0 0 0 2px var(--zk-ghost-shadow), 0 8px 24px var(--overlay-shadow);flex-direction:column;justify-content:flex-start;transition:box-shadow .2s,border-color .2s;display:flex;position:absolute;left:4px;right:4px;overflow:hidden;container-type:size}.zk-ghost-card.zk-ghost-pulse{animation:1.8s ease-in-out infinite zk-ghost-pulse-anim}@keyframes zk-ghost-pulse-anim{0%,to{box-shadow:0 0 0 2px var(--zk-ghost-shadow), 0 8px 24px var(--overlay-shadow)}50%{box-shadow:0 0 0 6px var(--zk-ghost-shadow-strong), 0 12px 28px var(--zk-ghost-shadow-glow)}}.zk-ghost-content{cursor:grab;box-sizing:border-box;flex-direction:row;flex:1;justify-content:space-between;align-items:center;gap:8px;width:100%;height:100%;min-height:0;padding:2px 8px;display:flex;overflow:hidden}.zk-ghost-card.is-dragging .zk-ghost-content{cursor:grabbing}.zk-ghost-info-col{flex-direction:column;flex:1;justify-content:center;gap:1px;min-width:0;display:flex;overflow:hidden}.zk-ghost-resize-handle{cursor:ns-resize;z-index:40;background:0 0;width:100%;height:8px;position:absolute;left:0;right:0}.zk-ghost-resize-top{border-top-left-radius:var(--radius,8px);border-top-right-radius:var(--radius,8px);top:0}.zk-ghost-resize-bottom{border-bottom-left-radius:var(--radius,8px);border-bottom-right-radius:var(--radius,8px);bottom:0}.zk-ghost-time-row{white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:.35rem;display:flex}.zk-ghost-tag{color:var(--primary);letter-spacing:.02em;font-size:.65rem;font-weight:700}.zk-ghost-time{color:var(--foreground);font-size:.75rem;font-weight:700}.zk-ghost-dur-badge{border-radius:var(--radius-button,4px);background-color:var(--primary);color:var(--text-on-primary);align-items:center;padding:0 4px;font-size:.625rem;font-weight:700;line-height:1.3;display:inline-flex}.zk-ghost-subtitle{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.6875rem;line-height:1.2;overflow:hidden}.zk-ghost-actions{z-index:50;flex-direction:row;flex-shrink:0;align-items:center;gap:4px;margin-left:auto;display:flex}.zk-ghost-btn-confirm{border-radius:var(--radius-sm,4px);background-color:var(--primary);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:3px;padding:2px 7px;font-size:.6875rem;font-weight:600;transition:opacity .15s;display:inline-flex;color:var(--text-on-primary)!important}.zk-ghost-btn-confirm:hover{opacity:.9}.zk-ghost-btn-cancel{border-radius:var(--radius-sm,4px);border:1px solid var(--zk-ghost-btn-cancel-border);background-color:var(--zk-ghost-btn-cancel-bg);cursor:pointer;white-space:nowrap;align-items:center;gap:3px;padding:2px 7px;font-size:.6875rem;font-weight:600;transition:background-color .15s;display:inline-flex;color:var(--text-on-primary)!important}.zk-ghost-btn-cancel:hover{background-color:var(--zk-ghost-btn-cancel-hover)}.zk-ghost-card.zk-ghost-xs .zk-ghost-tag,.zk-ghost-card.zk-ghost-xs .zk-ghost-subtitle{display:none!important}.zk-ghost-card.zk-ghost-xs .zk-ghost-content{padding:0 6px!important}.zk-ghost-card.zk-ghost-xs .zk-ghost-action-btn{height:16px!important;padding:1px 5px!important;font-size:.625rem!important}.zk-ghost-card.zk-ghost-xs .zk-ghost-resize-handle{height:5px!important}@container (max-height:36px){.zk-ghost-tag,.zk-ghost-subtitle{display:none!important}.zk-ghost-content{padding:0 6px!important}.zk-ghost-action-btn{height:16px!important;padding:1px 5px!important;font-size:.625rem!important}.zk-ghost-resize-handle{height:5px!important}}.zk-btn-drag-calendar{color:var(--text-on-primary)!important}.zk-btn-drag-calendar:not(:disabled){background-color:var(--primary)!important;border-color:var(--primary)!important;color:var(--text-on-primary)!important}.zk-btn-drag-calendar:not(:disabled):hover{filter:brightness(1.1)}.zk-btn-drag-calendar svg,.zk-btn-drag-calendar span{color:var(--text-on-primary)!important}.zk-timegrid-all-pt{--zk-timegrid-slot-height:42px}.zk-timegrid-all-pt .zk-timegrid-time-slot-label{height:42px!important}.zk-timegrid-all-pt .zk-timegrid-slot-row{cursor:default!important;height:42px!important}.zk-timegrid-all-pt .zk-timegrid-columns-container{flex:1 1 0;min-width:0}.zk-timegrid-all-pt .zk-timegrid-day-col{flex:1 1 0;min-width:0;position:relative}.zk-timegrid-all-pt .zk-timegrid-day-slots{width:100%;min-width:100%;position:relative}.zk-all-pt-card{border-radius:var(--radius,8px);box-sizing:border-box;box-shadow:0 1px 3px var(--media-background);flex-direction:column;justify-content:flex-start;padding:6px 8px;display:flex;position:absolute;overflow:hidden;color:var(--foreground)!important}@supports (color:color-mix(in lab, red, red)){.zk-all-pt-card{box-shadow:0 1px 3px color-mix(in srgb, var(--media-background) 8%, transparent)}}.zk-all-pt-card{z-index:2;cursor:default;border:1px solid var(--border);transition:transform .15s,box-shadow .15s,z-index .15s;opacity:1!important;border-left-width:4px!important}.zk-all-pt-card:hover{box-shadow:0 6px 16px var(--media-background);transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.zk-all-pt-card:hover{box-shadow:0 6px 16px color-mix(in srgb, var(--media-background) 16%, transparent)}}.zk-all-pt-card:hover{z-index:50;overflow:visible}.zk-all-pt-card[data-session-status=CANCELLED]{opacity:.65;filter:saturate(.7)}.zk-all-pt-card.is-passed{opacity:.78;filter:saturate(.85)}.zk-all-pt-card[data-session-type=COMMUNITY],.zk-session-card[data-session-type=COMMUNITY]{cursor:pointer!important}.zk-all-pt-v-header{justify-content:space-between;align-items:center;gap:4px;width:100%;margin-bottom:4px;line-height:1.2;display:flex}.zk-all-pt-v-time{white-space:nowrap;font-size:.75rem;font-weight:700;line-height:1.2}.zk-all-pt-v-badge{white-space:nowrap;background:var(--foreground);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;padding:1px 6px;font-size:.5625rem;font-weight:700;line-height:1.2;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.zk-all-pt-v-badge{background:color-mix(in srgb, var(--foreground) 8%, var(--card))}}.zk-all-pt-v-badge{border:1px solid var(--foreground)}@supports (color:color-mix(in lab, red, red)){.zk-all-pt-v-badge{border:1px solid color-mix(in srgb, var(--foreground) 18%, transparent)}}.zk-all-pt-v-badge{color:var(--foreground)}.zk-all-pt-v-badge-attendee{background:var(--tab-header-border);letter-spacing:.2px;font-size:.625rem}.zk-all-pt-v-body{text-align:left;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:3px;width:100%;min-width:0;margin:0;display:flex}.zk-all-pt-v-title{color:var(--foreground);text-align:left;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.75rem;font-weight:700;line-height:1.2;overflow:hidden}.zk-all-pt-v-person{flex-direction:row;align-items:center;gap:6px;width:100%;min-width:0;display:flex}.zk-all-pt-v-avatar{object-fit:cover;border:1px solid var(--foreground);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;min-width:20px;height:20px;font-size:.625rem;font-weight:800;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.zk-all-pt-v-avatar{border:1px solid color-mix(in srgb, var(--foreground) 15%, transparent)}}.zk-all-pt-v-avatar{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.zk-all-pt-v-avatar{background:color-mix(in srgb, var(--primary) 12%, var(--card))}}.zk-all-pt-v-avatar{color:var(--primary)}.zk-all-pt-v-avatar-placeholder{text-transform:uppercase;letter-spacing:.5px}.zk-all-pt-v-name{color:var(--foreground);text-align:left;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.75rem;font-weight:700;line-height:1.25;overflow:hidden}.zk-all-pt-v-member-row{align-items:center;gap:6px;width:100%;min-width:0;line-height:1.2;display:flex}.zk-all-pt-v-member-name{color:var(--foreground);text-align:left;white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;font-weight:700;line-height:1.25;overflow:hidden}.zk-all-pt-v-member-tag{color:var(--muted-foreground);white-space:nowrap;flex-shrink:0;font-size:.6875rem;font-weight:600}.zk-all-pt-v-package-row{align-items:center;gap:4px;width:100%;min-width:0;line-height:1.2;display:flex}.zk-all-pt-v-package-name{color:var(--foreground);opacity:.92;text-align:left;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.6875rem;font-weight:500;line-height:1.25;overflow:hidden}.zk-all-pt-v-package-tag{flex-shrink:0;font-size:.6875rem;line-height:1}.zk-all-pt-v-branch-row{align-items:center;gap:4px;width:100%;min-width:0;line-height:1.2;display:flex}.zk-all-pt-v-branch-name{color:var(--muted-foreground);text-align:left;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.6875rem;font-weight:500;line-height:1.2;overflow:hidden}.zk-all-pt-v-branch-tag{flex-shrink:0;font-size:.6875rem;line-height:1}.zk-session-card-blue .zk-all-pt-v-time{color:var(--zk-session-blue)!important}.zk-session-card-blue .zk-all-pt-v-badge{background-color:var(--zk-session-blue)!important}@supports (color:color-mix(in lab, red, red)){.zk-session-card-blue .zk-all-pt-v-badge{background-color:color-mix(in srgb, var(--zk-session-blue) 14%, var(--card))!important}}.zk-session-card-blue .zk-all-pt-v-badge{color:var(--zk-session-blue)!important;border-color:var(--zk-session-blue)!important}@supports (color:color-mix(in lab, red, red)){.zk-session-card-blue .zk-all-pt-v-badge{border-color:color-mix(in srgb, var(--zk-session-blue) 28%, transparent)!important}}.zk-session-card-green .zk-all-pt-v-time{color:var(--zk-session-green)!important}.zk-session-card-green .zk-all-pt-v-badge{background-color:var(--zk-session-green)!important}@supports (color:color-mix(in lab, red, red)){.zk-session-card-green .zk-all-pt-v-badge{background-color:color-mix(in srgb, var(--zk-session-green) 14%, var(--card))!important}}.zk-session-card-green .zk-all-pt-v-badge{color:var(--zk-session-green)!important;border-color:var(--zk-session-green)!important}@supports (color:color-mix(in lab, red, red)){.zk-session-card-green .zk-all-pt-v-badge{border-color:color-mix(in srgb, var(--zk-session-green) 28%, transparent)!important}}.zk-session-card-yellow .zk-all-pt-v-time,.zk-session-card-orange .zk-all-pt-v-time{color:var(--zk-session-yellow)!important}.zk-session-card-yellow .zk-all-pt-v-badge,.zk-session-card-orange .zk-all-pt-v-badge{background-color:var(--zk-session-yellow)!important}@supports (color:color-mix(in lab, red, red)){.zk-session-card-yellow .zk-all-pt-v-badge,.zk-session-card-orange .zk-all-pt-v-badge{background-color:color-mix(in srgb, var(--zk-session-yellow) 16%, var(--card))!important}}.zk-session-card-yellow .zk-all-pt-v-badge,.zk-session-card-orange .zk-all-pt-v-badge{color:var(--zk-session-yellow)!important;border-color:var(--zk-session-yellow)!important}@supports (color:color-mix(in lab, red, red)){.zk-session-card-yellow .zk-all-pt-v-badge,.zk-session-card-orange .zk-all-pt-v-badge{border-color:color-mix(in srgb, var(--zk-session-yellow) 30%, transparent)!important}}.zk-session-card-purple .zk-all-pt-v-time{color:var(--zk-session-purple)!important}.zk-session-card-purple .zk-all-pt-v-badge{background-color:var(--zk-session-purple)!important}@supports (color:color-mix(in lab, red, red)){.zk-session-card-purple .zk-all-pt-v-badge{background-color:color-mix(in srgb, var(--zk-session-purple) 14%, var(--card))!important}}.zk-session-card-purple .zk-all-pt-v-badge{color:var(--zk-session-purple)!important;border-color:var(--zk-session-purple)!important}@supports (color:color-mix(in lab, red, red)){.zk-session-card-purple .zk-all-pt-v-badge{border-color:color-mix(in srgb, var(--zk-session-purple) 28%, transparent)!important}}.zk-all-pt-card.zk-session-card-narrow .zk-all-pt-v-package-row,.zk-all-pt-card.zk-session-card-narrow .zk-all-pt-v-branch-row,.zk-all-pt-card.zk-session-card-xs .zk-all-pt-v-badge,.zk-all-pt-card.zk-session-card-xs .zk-all-pt-v-avatar{display:none!important}.zk-all-pt-v-actions{background:var(--popover);border-top:1px solid var(--border);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:0 0 var(--radius,8px) var(--radius,8px);box-sizing:border-box;z-index:20;width:100%;box-shadow:0 -4px 10px var(--media-portrait-shadow);flex-direction:column;gap:4px;padding:6px 8px;display:none;position:absolute;bottom:0;left:0;right:0}.zk-all-pt-card:hover .zk-all-pt-v-actions{display:flex}.zk-all-pt-v-btn{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;width:100%;min-width:0;min-height:21px;padding:3px 6px;font-size:.6875rem;font-weight:700;line-height:1.2;transition:all .15s;display:inline-flex;overflow:hidden}.zk-all-pt-v-btn-complete,.zk-session-btn-complete-active{background-color:var(--success)!important}@supports (color:color-mix(in lab, red, red)){.zk-all-pt-v-btn-complete,.zk-session-btn-complete-active{background-color:color-mix(in srgb, var(--success) 14%, var(--card))!important}}.zk-all-pt-v-btn-complete,.zk-session-btn-complete-active{border:1px solid var(--success)!important}@supports (color:color-mix(in lab, red, red)){.zk-all-pt-v-btn-complete,.zk-session-btn-complete-active{border:1px solid color-mix(in srgb, var(--success) 45%, transparent)!important}}.zk-all-pt-v-btn-complete,.zk-session-btn-complete-active{box-shadow:var(--shadow-xs);cursor:pointer;transition:all .15s;color:var(--success)!important;font-weight:700!important}.zk-all-pt-v-btn-complete:hover:not(:disabled),.zk-session-btn-complete-active:hover:not(:disabled){box-shadow:var(--shadow-sm);transform:translateY(-1px);background-color:var(--success)!important;border-color:var(--success)!important;color:var(--text-on-primary)!important}.zk-all-pt-v-btn-cancel,.zk-session-btn-cancel{background-color:var(--destructive)!important}@supports (color:color-mix(in lab, red, red)){.zk-all-pt-v-btn-cancel,.zk-session-btn-cancel{background-color:color-mix(in srgb, var(--destructive) 12%, var(--card))!important}}.zk-all-pt-v-btn-cancel,.zk-session-btn-cancel{border:1px solid var(--destructive)!important}@supports (color:color-mix(in lab, red, red)){.zk-all-pt-v-btn-cancel,.zk-session-btn-cancel{border:1px solid color-mix(in srgb, var(--destructive) 35%, transparent)!important}}.zk-all-pt-v-btn-cancel,.zk-session-btn-cancel{box-shadow:var(--shadow-xs);cursor:pointer;transition:all .15s;color:var(--destructive)!important;font-weight:700!important}.zk-all-pt-v-btn-cancel:hover:not(:disabled),.zk-session-btn-cancel:hover:not(:disabled){box-shadow:var(--shadow-sm);transform:translateY(-1px);background-color:var(--destructive)!important;border-color:var(--destructive)!important;color:var(--text-on-primary)!important}.zk-all-pt-v-btn-disabled,.zk-all-pt-v-btn:disabled{pointer-events:none;background-color:var(--surface-subtle)!important;border-color:var(--border)!important;color:var(--muted)!important;cursor:not-allowed!important}.zk-all-pt-v-btn-feedback,.zk-session-btn-feedback{background-color:var(--primary)!important}@supports (color:color-mix(in lab, red, red)){.zk-all-pt-v-btn-feedback,.zk-session-btn-feedback{background-color:color-mix(in srgb, var(--primary) 12%, var(--card))!important}}.zk-all-pt-v-btn-feedback,.zk-session-btn-feedback{border:1px solid var(--primary)!important}@supports (color:color-mix(in lab, red, red)){.zk-all-pt-v-btn-feedback,.zk-session-btn-feedback{border:1px solid color-mix(in srgb, var(--primary) 35%, transparent)!important}}.zk-all-pt-v-btn-feedback,.zk-session-btn-feedback{box-shadow:var(--shadow-xs);cursor:pointer;transition:all .15s;color:var(--primary)!important;font-weight:700!important}.zk-all-pt-v-btn-feedback:hover,.zk-session-btn-feedback:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px);background-color:var(--primary)!important;border-color:var(--primary)!important;color:var(--text-on-primary)!important}.zk-sidebar-brand-controls{flex:none;align-items:center;gap:.25rem;display:flex}.zk-sidebar-search-trigger{border-radius:var(--radius-sm);width:2rem;height:2rem;color:var(--sidebar-text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:inline-flex}.zk-sidebar-search-trigger:hover,.zk-sidebar-search-trigger:focus-visible{color:var(--sidebar-text-primary);background:var(--sidebar-hover-bg);border-color:#0000}.zk-topbar-search-slot{z-index:10;pointer-events:auto;justify-content:center;align-items:center;width:100%;max-width:22rem;display:flex;position:absolute;left:50%;transform:translate(-50%)}.zk-topbar:has(.zk-topbar-filter-slot) .zk-topbar-search-slot{display:none!important}.zk-topbar-search-trigger{background:var(--card);align-items:center;gap:.5rem;width:100%;min-width:0;height:2.1rem;padding:0 .65rem;display:flex}@supports (color:color-mix(in lab, red, red)){.zk-topbar-search-trigger{background:color-mix(in srgb, var(--card) 92%, var(--border))}}.zk-topbar-search-trigger{border:1px solid var(--border);border-radius:var(--radius-md);color:var(--muted);cursor:pointer;outline:none;font-size:.825rem;transition:border-color .15s,box-shadow .15s,background .15s}.zk-topbar-search-trigger:hover{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.zk-topbar-search-trigger:hover{border-color:color-mix(in srgb, var(--border) 60%, var(--text))}}.zk-topbar-search-trigger:hover{color:var(--text)}.zk-topbar-search-trigger:focus-visible{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary)}@supports (color:color-mix(in lab, red, red)){.zk-topbar-search-trigger:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 25%, transparent)}}.zk-topbar-search-icon{color:var(--muted);flex:none;align-items:center;display:flex}.zk-topbar-search-placeholder{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.zk-topbar-search-kbd{white-space:nowrap;color:var(--muted);background:var(--card);flex-shrink:0;align-items:center;padding:.1rem .35rem;font-family:inherit;font-size:.7rem;font-weight:500;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.zk-topbar-search-kbd{background:color-mix(in srgb, var(--card) 70%, var(--border))}}.zk-topbar-search-kbd{border:1px solid var(--border);border-radius:var(--radius-xs,3px);line-height:1}.zk-command-palette-modal{z-index:1000;justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.zk-command-palette-modal[hidden]{display:none}.zk-command-palette-backdrop{background:var(--overlay-backdrop);-webkit-backdrop-filter:blur(4px);position:fixed;inset:0}.zk-command-palette-dialog{z-index:1001;background:var(--card);width:calc(100vw - 2rem);max-width:38rem;max-height:70vh;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-lg,.75rem);box-shadow:var(--shadow-lg);outline:none;flex-direction:column;display:flex;position:relative;overflow:hidden}.zk-command-palette-header{border-bottom:1px solid var(--border);align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.zk-command-palette-header-icon{color:var(--muted);flex:none;align-items:center;display:flex}.zk-command-palette-input,input.zk-command-palette-input{color:var(--text);background:0 0;flex:auto;padding:0;font-family:inherit;font-size:.95rem;box-shadow:none!important;border:none!important;outline:none!important}.zk-command-palette-input:focus,.zk-command-palette-input:focus-visible,input.zk-command-palette-input:focus,input.zk-command-palette-input:focus-visible{box-shadow:none!important;border:none!important;outline:none!important}.zk-command-palette-input::placeholder{color:var(--muted)}.zk-command-palette-clear{width:1.5rem;height:1.5rem;color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.zk-command-palette-clear:hover{color:var(--text);background:var(--bg-hover)}.zk-command-palette-list{scroll-behavior:smooth;flex:auto;max-height:50vh;padding:.5rem;overflow-y:auto}.zk-command-palette-group{margin-bottom:.5rem}.zk-command-palette-group-heading{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:.35rem .5rem .2rem;font-size:.72rem;font-weight:600}.zk-command-palette-item{border-radius:var(--radius-md);cursor:pointer;color:var(--text);-webkit-user-select:none;user-select:none;align-items:center;gap:.65rem;padding:.45rem .65rem;transition:background .1s;display:flex}.zk-command-palette-item:hover,.zk-command-palette-item.is-selected{background:var(--bg-hover)}.zk-palette-item-icon{color:var(--muted);flex:none;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;display:flex}.zk-palette-avatar-thumb{border-radius:var(--radius-full);object-fit:cover;width:1.5rem;height:1.5rem}.zk-palette-avatar-placeholder{border-radius:var(--radius-full);background:var(--bg-surface-elevated,var(--border));width:1.5rem;height:1.5rem;color:var(--primary);justify-content:center;align-items:center;font-size:.75rem;font-weight:600;display:flex}.zk-command-palette-modal.is-searching .zk-command-palette-header-icon{color:var(--primary);animation:1s ease-in-out infinite zk-palette-pulse}@keyframes zk-palette-pulse{0%,to{opacity:.4}50%{opacity:1}}.zk-command-palette-item.is-selected .zk-palette-item-icon{color:var(--primary)}.zk-palette-item-info{flex-direction:column;flex:auto;min-width:0;display:flex}.zk-palette-item-title{text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:500;overflow:hidden}.zk-palette-item-breadcrumb{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.zk-palette-item-enter{color:var(--muted);flex:none;font-size:.8rem;display:none}.zk-command-palette-item.is-selected .zk-palette-item-enter{display:inline}.zk-command-palette-empty{text-align:center;color:var(--muted);padding:2rem 1rem;font-size:.875rem}.zk-command-palette-footer{border-top:1px solid var(--border);background:var(--card);align-items:center;gap:1rem;padding:.5rem 1rem;display:flex}@supports (color:color-mix(in lab, red, red)){.zk-command-palette-footer{background:color-mix(in srgb, var(--card) 95%, var(--border))}}.zk-command-palette-footer{color:var(--muted);font-size:.72rem}.zk-palette-hint{align-items:center;gap:.3rem;display:inline-flex}.zk-palette-hint kbd{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xs,3px);align-items:center;padding:.1rem .3rem;font-family:inherit;font-size:.68rem;font-weight:500;line-height:1;display:inline-flex}@media (max-width:768px){.zk-topbar{gap:.25rem;padding-inline:.5rem}.zk-topbar-search-slot{flex:none;width:auto;max-width:none;margin-left:auto;position:static;left:auto;transform:none}.zk-topbar-search-trigger{justify-content:center;width:2.1rem;padding:0}.zk-topbar-search-placeholder,.zk-topbar-search-kbd{display:none}}.zk-reference-calendar-scroll{border:1px solid var(--border);border-radius:var(--reference-radius);max-height:75dvh;overflow:auto}.zk-reference-calendar-scroll:focus-visible{outline:2px solid var(--reference-primary);outline-offset:2px}.zk-reference-calendar-grid{border-collapse:separate;border-spacing:0;width:100%;min-width:max-content;font-size:.8125rem}.zk-reference-calendar-grid th,.zk-reference-calendar-grid td{border-inline-end:1px solid var(--border);border-block-end:1px solid var(--border);vertical-align:top;min-width:12rem;padding:0}.zk-reference-calendar-grid thead th{z-index:2;background:var(--surface);padding:.625rem;position:sticky;top:0}.zk-reference-calendar-grid tbody tr{height:1.5rem}.zk-reference-calendar-grid tbody th{z-index:1;background:var(--surface);min-width:4rem;color:var(--text-muted);padding-inline:.375rem;font-weight:400;position:sticky;inset-inline-start:0}.zk-reference-calendar-event{border-inline-start:3px solid var(--info-border);background:var(--surface);overflow-wrap:anywhere;height:100%;min-height:1.5rem;padding:.375rem .5rem}.zk-reference-calendar-event-success{border-color:var(--success)}.zk-reference-calendar-event-warning{border-color:var(--warning-border)}.zk-reference-calendar-event-danger{border-color:var(--danger)}.zk-reference-calendar-event-muted{border-color:var(--text-muted)}.zk-reference-calendar-event[data-calendar-draft=true]{border-style:dashed}.zk-reference-calendar-overflow{gap:.5rem;padding-inline-start:1.5rem;display:grid}.zk-reference-calendar-detail{white-space:normal;text-align:start}.zk-reference-v1{min-width:0;font-family:var(--reference-font);color:var(--text-primary);font-size:.8125rem;line-height:1.55}.zk-reference-v1 .zk-button{border-radius:var(--reference-radius);min-height:2.25rem}.zk-reference-v1 .zk-button-primary{background:var(--reference-primary);color:var(--text-on-primary)}.zk-reference-v1 .zk-button-primary:hover{background:var(--reference-primary-hover)}.zk-reference-v1 .zk-form-row{flex-direction:column;align-items:stretch;gap:.375rem;display:flex}.zk-reference-v1 .zk-form-row>label{text-align:start;width:auto;color:var(--text-secondary);font-weight:500}.zk-reference-v1 .zk-input,.zk-reference-v1 .zk-select,.zk-reference-v1 .zk-textarea{border-radius:var(--reference-radius);border-color:var(--border-control);min-height:2.25rem;font-family:inherit}.zk-reference-v1 .zk-input:focus-visible,.zk-reference-v1 .zk-select:focus-visible,.zk-reference-v1 .zk-button:focus-visible,.zk-reference-table-wrap:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.zk-reference-section,.zk-reference-card{background:var(--card);border:1px solid var(--border);border-radius:var(--reference-radius);min-width:0}.zk-reference-section-heading,.zk-reference-card-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.zk-reference-section-heading{border-bottom:1px solid var(--border);padding:1rem 1.25rem}.zk-reference-section-heading h2{margin:0;font-size:.9375rem;font-weight:600}.zk-reference-section-body{min-width:0;padding:1.25rem}.zk-reference-actions{flex-wrap:wrap;align-items:center;gap:.625rem;display:flex}.zk-reference-card{flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.zk-reference-card-heading h3{overflow-wrap:anywhere;margin:0;font-size:1rem;font-weight:600}.zk-reference-caption{color:var(--text-muted);overflow-wrap:anywhere;margin:.25rem 0 0;font-size:.75rem}.zk-reference-card-value{color:var(--reference-primary);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:1.5rem;font-weight:600;line-height:1.4}.zk-reference-card-footer{border-top:1px solid var(--border);flex-wrap:wrap;gap:.625rem;margin-top:auto;padding-top:.875rem;display:flex}.zk-reference-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 1.5rem;margin:0;display:grid}.zk-reference-info-item{min-width:0}.zk-reference-info-item dt{color:var(--text-muted);font-size:.75rem}.zk-reference-info-item dd{overflow-wrap:anywhere;margin:.375rem 0 0;font-weight:500}.zk-reference-table-wrap{overscroll-behavior-x:contain;border:1px solid var(--border);border-radius:var(--reference-radius);max-width:100%;overflow-x:auto}.zk-reference-table{border-collapse:collapse;background:var(--card);width:100%}.zk-reference-table th,.zk-reference-table td{text-align:start;border-bottom:1px solid var(--border);padding:.75rem .875rem}.zk-reference-table th{color:var(--text-muted);white-space:nowrap;font-size:.75rem;font-weight:500}.zk-reference-table tr:last-child td{border-bottom:0}.zk-reference-table tbody tr:hover{background:var(--surface-hover)}.zk-reference-v1 .zk-catalog-card-actions{border-top:1px solid var(--border);gap:.625rem;padding-top:.875rem}.zk-reference-v1 .zk-dynamic-card{border-radius:var(--reference-radius);box-shadow:none}.zk-reference-v1 .zk-dynamic-card-price{color:var(--reference-primary);font-size:1.5rem;font-weight:600}.zk-reference-v1 .zk-table th{color:var(--text-muted);font-size:.75rem;font-weight:500}.zk-reference-command-panel{border-radius:var(--reference-modal-radius);width:min(48rem,100vw - 2rem);max-height:calc(100dvh - 2rem)}.zk-reference-v1 .zk-modal-header{padding:1rem 1.375rem}.zk-reference-v1 .zk-modal-header h2{font-size:1.0625rem}.zk-reference-v1 .zk-modal-content{min-height:0;padding:1.375rem;overflow-y:auto}.zk-reference-drawer{justify-content:flex-end;padding:0}.zk-reference-drawer .zk-reference-command-panel{border-radius:0;width:min(52rem,100vw);height:100dvh;max-height:100dvh}.zk-ref-page-header{justify-content:space-between!important;align-items:center!important;width:100%!important;margin-bottom:1rem!important;display:flex!important}.zk-ref-page-title{color:var(--foreground)!important;letter-spacing:-.01em!important;margin:0!important;font-size:1.5rem!important;font-weight:700!important}.zk-ref-create-btn{background:var(--reference-primary)!important;color:var(--text-on-primary)!important;cursor:pointer!important;white-space:nowrap!important;border:none!important;border-radius:6px!important;align-items:center!important;gap:.5rem!important;padding:.55rem 1.15rem!important;font-size:.875rem!important;font-weight:600!important;transition:background .15s!important;display:inline-flex!important}.zk-ref-create-btn:hover{background:var(--reference-primary-hover)!important}.zk-ref-create-btn svg{stroke-width:2.5px!important;width:1rem!important;height:1rem!important}.zk-ref-filter-bar{flex-flow:row!important;align-items:center!important;gap:.75rem!important;width:100%!important;margin-bottom:1.25rem!important;display:flex!important}.zk-ref-filter-field{background:var(--card)!important;border:1px solid var(--border)!important;box-sizing:border-box!important;border-radius:6px!important;flex-direction:column!important;justify-content:center!important;height:42px!important;padding:.4rem .75rem!important;transition:border-color .15s,box-shadow .15s!important;display:flex!important;position:relative!important}.zk-ref-filter-field:focus-within{border-color:var(--primary)!important;box-shadow:0 0 0 1px var(--primary)!important}.zk-ref-filter-search{flex:auto!important;min-width:15rem!important}.zk-ref-filter-select-field{flex:0 0 13.5rem!important;min-width:10rem!important}.zk-ref-filter-label{background:var(--card)!important;color:var(--muted)!important;pointer-events:none!important;z-index:2!important;white-space:nowrap!important;padding:0 .35rem!important;font-size:.6875rem!important;font-weight:500!important;line-height:1!important;position:absolute!important;top:-.45rem!important;left:.65rem!important}.zk-ref-filter-input{color:var(--foreground)!important;background:0 0!important;border:none!important;outline:none!important;width:100%!important;padding:0!important;font-size:.875rem!important;line-height:1.25!important}.zk-ref-filter-select{color:var(--foreground)!important;cursor:pointer!important;background:0 0!important;border:none!important;outline:none!important;width:100%!important;padding:0!important;font-size:.875rem!important;line-height:1.25!important}.zk-ref-filter-actions{flex-shrink:0!important;align-items:center!important;gap:.5rem!important;margin-left:0!important;display:flex!important}.zk-ref-filter-btn{border:1px solid var(--border)!important;background:var(--card)!important;width:42px!important;min-width:42px!important;height:42px!important;color:var(--muted)!important;cursor:pointer!important;min-height:unset!important;box-sizing:border-box!important;border-radius:6px!important;justify-content:center!important;align-items:center!important;padding:0!important;text-decoration:none!important;transition:all .15s!important;display:inline-flex!important}.zk-ref-filter-btn:hover{background:var(--surface-hover)!important;border-color:var(--primary)!important;color:var(--primary)!important}.zk-ref-filter-btn svg{width:1.125rem!important;height:1.125rem!important}.zk-ref-card-container{background:var(--card)!important;border:1px solid var(--border)!important;box-shadow:var(--shadow-sm)!important;border-radius:8px!important;width:100%!important;overflow:hidden!important}.zk-ref-card-header{align-items:center!important;padding:.875rem 1.25rem .625rem!important;display:flex!important}.zk-ref-count-badge{color:var(--foreground)!important;font-size:.875rem!important;font-weight:500!important}.zk-ref-table-wrap{width:100%!important;overflow-x:auto!important}.zk-ref-table{border-collapse:collapse!important;text-align:left!important;table-layout:auto!important;width:100%!important}.zk-ref-table thead th{color:var(--muted)!important;background:var(--surface)!important;border-top:1px solid var(--border)!important;border-bottom:1px solid var(--border)!important;white-space:nowrap!important;letter-spacing:.02em!important;padding:.75rem 1.25rem!important;font-size:.75rem!important;font-weight:600!important}.zk-ref-table tbody td{color:var(--foreground)!important;border-bottom:1px solid var(--border)!important;vertical-align:middle!important;padding:.875rem 1.25rem!important;font-size:.875rem!important}.zk-ref-table tbody tr:hover td{background:var(--surface-hover)!important}.zk-ref-col-code .zk-ref-link{color:var(--info-text)!important;font-weight:500!important;text-decoration:none!important}.zk-ref-col-code .zk-ref-link:hover{text-decoration:underline!important}.zk-ref-name-cell{align-items:center!important;gap:.75rem!important;display:inline-flex!important}.zk-ref-avatar-circle{background:var(--success-light)!important;width:2rem!important;min-width:2rem!important;max-width:2rem!important;height:2rem!important;min-height:2rem!important;max-height:2rem!important;color:var(--success-text)!important;border:1px solid var(--success-border)!important;-webkit-user-select:none!important;user-select:none!important;border-radius:50%!important;flex-shrink:0!important;justify-content:center!important;align-items:center!important;font-size:.75rem!important;font-weight:700!important;display:inline-flex!important}.zk-ref-name-text{color:var(--foreground)!important;white-space:nowrap!important;font-weight:600!important}.zk-ref-status-badge{white-space:nowrap!important;border-radius:9999px!important;justify-content:center!important;align-items:center!important;padding:.2rem .65rem!important;font-size:.75rem!important;font-weight:600!important;line-height:1.25!important;display:inline-flex!important}.zk-ref-status-active{background:var(--success-light)!important;color:var(--success-text)!important;border:1px solid var(--success-border)!important}.zk-ref-status-inactive{background:var(--warning-light)!important;color:var(--warning-text)!important;border:1px solid var(--warning-border)!important}.zk-ref-actions-cell{justify-content:flex-end!important;align-items:center!important;gap:.35rem!important;display:inline-flex!important}.zk-ref-action-icon{width:1.85rem!important;height:1.85rem!important;color:var(--muted)!important;cursor:pointer!important;min-height:unset!important;background:0 0!important;border:1px solid #0000!important;border-radius:4px!important;justify-content:center!important;align-items:center!important;padding:0!important;text-decoration:none!important;transition:all .15s!important;display:inline-flex!important}.zk-ref-action-icon:hover{background:var(--surface-hover)!important;color:var(--primary)!important;border-color:var(--border)!important}.zk-ref-action-icon svg{width:1rem!important;height:1rem!important}.zk-ref-pagination{border-top:1px solid var(--border)!important;color:var(--muted)!important;box-sizing:border-box!important;flex-wrap:nowrap!important;justify-content:space-between!important;align-items:center!important;width:100%!important;padding:.75rem 1.25rem!important;font-size:.8125rem!important;display:flex!important}.zk-ref-page-sizes{align-items:center!important;gap:.5rem!important;display:flex!important}.zk-ref-size-item{cursor:pointer!important;color:var(--muted)!important;border-radius:4px!important;padding:.2rem .55rem!important;font-weight:500!important;transition:all .15s!important}.zk-ref-size-item:hover{color:var(--foreground)!important}.zk-ref-size-active{background:var(--primary-light)!important;color:var(--primary)!important;font-weight:600!important}.zk-ref-page-nav{align-items:center!important;gap:1rem!important;display:flex!important}.zk-ref-page-info{white-space:nowrap!important}.zk-ref-nav-arrows{align-items:center!important;gap:.35rem!important;display:flex!important}.zk-ref-nav-btn{border:1px solid var(--border)!important;background:var(--card)!important;color:var(--muted)!important;cursor:pointer!important;width:1.85rem!important;height:1.85rem!important;min-height:unset!important;border-radius:4px!important;justify-content:center!important;align-items:center!important;padding:0!important;display:inline-flex!important}.zk-ref-nav-btn:disabled{opacity:.35!important;cursor:not-allowed!important}.zk-ref-nav-page-num{border:1px solid var(--border)!important;width:1.85rem!important;height:1.85rem!important;color:var(--foreground)!important;border-radius:4px!important;justify-content:center!important;align-items:center!important;font-weight:600!important;display:inline-flex!important}.zk-ref-nav-page-active{border-color:var(--primary)!important;color:var(--primary)!important;background:var(--primary-light)!important}@media (max-width:40rem){.zk-reference-info-grid{grid-template-columns:minmax(0,1fr)}.zk-reference-section-heading,.zk-reference-section-body,.zk-reference-card{padding:1rem}.zk-reference-command-panel{width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem)}.zk-reference-v1 .zk-modal-header,.zk-reference-v1 .zk-modal-content{padding:1rem}.zk-reference-drawer .zk-reference-command-panel{width:100vw;max-height:100dvh}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
/* ZeroKitty custom UI */
/* Declarative LIST layouts: one stable tr owns its cells and inline details. */
.zk-table[data-zk-list-layout] { display: grid; grid-template-columns: var(--zk-list-tracks); width: 100%; border-collapse: separate; border-spacing: 0; }
.zk-table[data-zk-list-layout] > thead,
.zk-table[data-zk-list-layout] > tbody { display: contents; }
.zk-table[data-zk-list-layout] > thead > tr,
.zk-table[data-zk-list-layout] > tbody > tr { display: grid; grid-template-columns: subgrid; grid-column: 1 / -1; align-items: center; border-bottom: 1px solid var(--border); transition: background-color 0.15s ease; }
.zk-table[data-zk-list-layout] > tbody > tr:hover { background-color: var(--surface-hover); }
.zk-table[data-zk-list-layout] th,
.zk-table[data-zk-list-layout] td { min-width: 0; border-bottom: none; white-space: normal; overflow-wrap: anywhere; }
.zk-table[data-zk-list-layout] th { padding: 0.75rem 1rem; font-size: 0.8125rem; font-weight: 600; color: var(--text-muted); text-align: left; }
.zk-table[data-zk-list-layout] th:first-child { padding-left: 3.75rem; }
.zk-table[data-zk-list-layout] th.zk-dynamic-table-actions-header { text-align: right; justify-self: end; }
.zk-table[data-zk-list-layout] td,
.zk-table[data-zk-list-layout] .zk-list-layout-record > td { padding: 1.125rem 1rem; }
.zk-list-layout-cell { display: flex; align-items: center; gap: 1rem; min-width: 0; }
.zk-list-layout-record.is-expanded { background-color: var(--surface-subtle); }
.zk-list-detail-toggle {
  flex: 0 0 auto;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--text-muted) !important;
  width: 1.75rem !important;
  height: 1.75rem !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 0.375rem !important;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.zk-list-detail-toggle:hover { background-color: var(--zk-badge-muted-bg) !important; color: var(--text-primary) !important; }
.zk-list-detail-toggle svg { transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1); }
.zk-list-detail-toggle[aria-expanded="true"] svg { transform: rotate(90deg); }

/* Avatar Circle with Pastel Backgrounds */
.zk-list-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  min-width: 3.5rem;
  border-radius: 50%;
  font-weight: 700;
  font-size: 1.125rem;
  flex-shrink: 0;
  user-select: none;
}
.zk-list-avatar.zk-avatar-smart {
  position: relative;
  overflow: hidden;
  padding: 0;
}
.zk-list-avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  border: 1px solid var(--border);
}
.zk-list-avatar-fallback {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-weight: 700;
  font-size: 1.125rem;
  user-select: none;
}
.zk-avatar-mint { background-color: var(--zk-avatar-mint-bg); color: var(--zk-avatar-mint-text); }
.zk-avatar-indigo { background-color: var(--zk-avatar-indigo-bg); color: var(--zk-avatar-indigo-text); }
.zk-avatar-rose { background-color: var(--zk-avatar-rose-bg); color: var(--zk-avatar-rose-text); }
.zk-avatar-sky { background-color: var(--zk-avatar-sky-bg); color: var(--zk-avatar-sky-text); }
.zk-avatar-amber { background-color: var(--zk-avatar-amber-bg); color: var(--zk-avatar-amber-text); }

/* Identity Cell & Modern List Nodes */
.zk-list-node-identity-cell {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
}
.zk-list-identity-info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.25rem;
  min-width: 0;
}
.zk-list-identity-name {
  font-weight: 700;
  font-size: 1rem;
  color: var(--text-primary);
  line-height: 1.25;
}
.zk-list-identity-sub {
  font-size: 0.875rem;
  color: var(--text-muted);
  line-height: 1.25;
}
.zk-list-node-date-countdown,
.zk-list-node-financial-metric {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.25rem;
  min-width: 0;
}
.zk-list-countdown-primary,
.zk-list-financial-primary {
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1.25;
}
.zk-list-countdown-sub,
.zk-list-financial-sub {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25;
}

/* Status Badge - Pill with Dot */
.zk-list-node-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.1875rem 0.625rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.25;
  width: fit-content;
}
.zk-status-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  display: inline-block;
  flex-shrink: 0;
}
.zk-list-node-badge.zk-list-tone-success { background-color: var(--zk-badge-success-bg); color: var(--zk-badge-success-text); border: 1px solid var(--zk-badge-success-border); }
.zk-list-node-badge.zk-list-tone-success .zk-status-dot { background-color: var(--zk-badge-success-dot); }
.zk-list-node-badge.zk-list-tone-warning { background-color: var(--zk-badge-warning-bg); color: var(--zk-badge-warning-text); border: 1px solid var(--zk-badge-warning-border); }
.zk-list-node-badge.zk-list-tone-warning .zk-status-dot { background-color: var(--zk-badge-warning-dot); }
.zk-list-node-badge.zk-list-tone-danger { background-color: var(--zk-badge-danger-bg); color: var(--zk-badge-danger-text); border: 1px solid var(--zk-badge-danger-border); }
.zk-list-node-badge.zk-list-tone-danger .zk-status-dot { background-color: var(--zk-badge-danger-dot); }
.zk-list-node-badge.zk-list-tone-info { background-color: var(--zk-badge-info-bg); color: var(--zk-badge-info-text); border: 1px solid var(--zk-badge-info-border); }
.zk-list-node-badge.zk-list-tone-info .zk-status-dot { background-color: var(--zk-badge-info-dot); }
.zk-list-node-badge.zk-list-tone-muted { background-color: var(--zk-badge-muted-bg); color: var(--zk-badge-muted-text); border: 1px solid var(--zk-badge-muted-border); }
.zk-list-node-badge.zk-list-tone-muted .zk-status-dot { background-color: var(--zk-badge-muted-dot); }

/* List Row Details - Expandable Card */
.zk-table[data-zk-list-layout] .zk-list-row-details {
  grid-column: 1 / -1;
  margin: 0.5rem 1rem 1rem 3.5rem;
  padding: 1.125rem 1.5rem;
  background-color: var(--zk-list-details-bg);
  border: 1px solid var(--zk-list-details-border);
  border-radius: 0.5rem;
  box-shadow: 0 1px 2px 0 color-mix(in srgb, var(--media-background) 2%, transparent);
}
.zk-list-row-details[hidden] { display: none !important; }
.zk-list-row-details .zk-list-node-grid,
.zk-list-details-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0.625rem 2.5rem;
  font-size: 0.875rem;
}
.zk-list-row-details .zk-list-node-grid > :first-child,
.zk-list-details-grid > :first-child {
  border-right: 1px solid var(--zk-list-details-border);
  padding-right: 2rem;
}
.zk-list-details-card {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.zk-list-row-details .zk-list-node-action-wrap {
  width: 100%;
}
.zk-list-row-details .zk-list-node-stack {
  gap: 0.625rem;
}
.zk-list-row-details .zk-list-node-key_value {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
}
.zk-list-row-details .zk-list-detail-label {
  min-width: 6.5rem;
  color: var(--text-muted);
  font-weight: 400;
  flex-shrink: 0;
}
.zk-list-row-details .zk-list-detail-value {
  color: var(--text-primary);
  font-weight: 500;
}
.zk-list-profile-action-wrap {
  display: flex;
  justify-content: flex-end;
  margin-top: 0.5rem;
}
.zk-list-link-profile {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: var(--primary);
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.15s ease;
}
.zk-list-link-profile:hover {
  color: var(--primary-hover);
  text-decoration: underline;
}

/* Actions Column & Buttons */
.zk-table[data-zk-list-layout] td.zk-dynamic-table-actions-cell {
  justify-self: end;
  min-width: max-content;
}
.zk-dynamic-row-actions-group {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  white-space: nowrap;
  flex-shrink: 0;
}
.zk-dynamic-row-actions-group .zk-button-secondary {
  white-space: nowrap;
  flex-shrink: 0;
  background-color: var(--card);
  border: 1px solid var(--border);
  color: var(--text-primary);
  border-radius: 0.375rem;
  font-size: 0.8125rem;
  font-weight: 500;
  padding: 0.375rem 0.75rem;
  height: 2.125rem;
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  box-shadow: 0 1px 2px 0 color-mix(in srgb, var(--media-background) 5%, transparent);
  transition: background-color 0.15s ease, border-color 0.15s ease;
}
.zk-dynamic-row-actions-group .zk-button-secondary:hover {
  background-color: var(--surface-hover);
  border-color: var(--border-hover);
}
.zk-dynamic-overflow-toggle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 2.125rem !important;
  height: 2.125rem !important;
  min-width: 2.125rem !important;
  border-radius: 0.375rem !important;
  border: 1px solid var(--border) !important;
  background-color: var(--card) !important;
  color: var(--text-muted) !important;
  padding: 0 !important;
  box-shadow: 0 1px 2px 0 color-mix(in srgb, var(--media-background) 5%, transparent) !important;
  transition: all 0.15s ease;
}
.zk-dynamic-overflow-toggle:hover {
  background-color: var(--surface-hover) !important;
  border-color: var(--border-hover) !important;
  color: var(--text-primary) !important;
}

/* List Nodes & Tones */
.zk-list-node-row { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.zk-list-node-stack { display: flex; flex-direction: column; align-items: flex-start; gap: 0.35rem; min-width: 0; }
.zk-list-node-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem 2rem; }
.zk-list-detail-label, .zk-list-tone-muted { color: var(--text-muted); font-size: 0.8125rem; }
.zk-list-tone-primary { color: var(--primary); }
.zk-list-tone-success { color: var(--zk-badge-success-text); font-size: 0.8125rem; }
.zk-list-tone-warning { color: var(--warning-text); font-size: 0.8125rem; }
.zk-list-tone-danger { color: var(--danger); font-size: 0.8125rem; }
.zk-list-tone-info { color: var(--info-text); font-size: 0.8125rem; }
.zk-list-emphasis-strong { font-weight: 700; font-size: 0.9375rem; color: var(--text-primary); }
.zk-list-emphasis-small { font-size: 0.8125rem; color: var(--text-muted); }
.zk-table[data-zk-list-layout] #zk-dynamic-list-load-more > td { grid-column: 1 / -1; }
@media (max-width: 767px) {
  .zk-table[data-zk-list-layout] { min-width: 0; }
  .zk-table[data-zk-list-layout] > thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .zk-table[data-zk-list-layout] > tbody > tr { grid-template-columns: minmax(0,1fr); }
  .zk-list-layout-record > td { padding: .5rem .75rem; }
  .zk-list-layout-record > td[data-zk-col]::before { content: attr(data-zk-col-label); display: block; font-size: .75rem; color: var(--text-muted); margin-bottom: .25rem; }
  .zk-list-node-grid { grid-template-columns: minmax(0,1fr); }
  .zk-table[data-zk-list-layout] .zk-list-row-details { margin: 0.25rem 0.5rem 0.5rem 0.5rem; }
  .zk-table[data-zk-list-layout] .zk-dynamic-table-actions-cell { justify-self: end; }
}

/* Shared catalog and native segmented-filter presentation. */
.zk-dynamic-card-price { font-size: 1.5rem; font-weight: 700; color: var(--primary); margin-block: .75rem; }
.zk-segmented-filter { display: flex; flex-wrap: wrap; gap: .25rem; }
.zk-segmented-option { display: flex; align-items: center; gap: .25rem; padding: .4rem .7rem; border: 1px solid var(--border-color); border-radius: var(--radius); cursor: pointer; text-decoration: none; color: inherit; transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease; }
.zk-segmented-option.is-active { background: var(--primary); color: var(--text-on-primary); border-color: var(--primary); }
.zk-segmented-option:focus-visible, .zk-segmented-option:focus-within { outline: 2px solid var(--primary); outline-offset: 2px; }
.zk-autocomplete-tags { display: flex; flex-wrap: wrap; gap: .35rem; margin-block: .35rem; }
.zk-autocomplete-tag { display: inline-flex; align-items: center; gap: .35rem; border: 1px solid var(--border-color); border-radius: var(--radius); padding: .25rem .5rem; }

:root {
	--reference-primary: #237b58;
	--reference-primary-hover: #185740;
	--reference-primary-light: #eaf4ee;
	--reference-radius: 0.375rem;
	--reference-modal-radius: 0.5rem;
	--reference-font: var(--font-sans-static);
  --media-background: #000000;
  color-scheme: light;
  --primary: #00673b;
  --primary-hover: #004d2c;
  --primary-border: #00673b;
  --primary-pressed: #003d23;
  --primary-light: #edf5f0;
  --brand-mark: #00673b;
  --brand-text: #00673b;
  --text-on-primary: #ffffff;
  --text-on-danger: #ffffff;
  --zk-avatar-mint-bg: #dcfce7;
  --zk-avatar-mint-text: #15803d;
  --zk-avatar-indigo-bg: #e0e7ff;
  --zk-avatar-indigo-text: #4338ca;
  --zk-avatar-rose-bg: #fee2e2;
  --zk-avatar-rose-text: #b91c1c;
  --zk-avatar-sky-bg: #e0f2fe;
  --zk-avatar-sky-text: #0369a1;
  --zk-avatar-amber-bg: #fef3c7;
  --zk-avatar-amber-text: #b45309;
  --zk-badge-success-bg: #dcfce7;
  --zk-badge-success-border: #bbf7d0;
  --zk-badge-success-text: #15803d;
  --zk-badge-success-dot: #22c55e;
  --zk-badge-warning-bg: #fef3c7;
  --zk-badge-warning-border: #fde68a;
  --zk-badge-warning-text: #b45309;
  --zk-badge-warning-dot: #f59e0b;
  --zk-badge-danger-bg: #fee2e2;
  --zk-badge-danger-border: #fecaca;
  --zk-badge-danger-text: #b91c1c;
  --zk-badge-danger-dot: #ef4444;
  --zk-badge-info-bg: #e0f2fe;
  --zk-badge-info-border: #bae6fd;
  --zk-badge-info-text: #0369a1;
  --zk-badge-info-dot: #0284c7;
  --zk-badge-muted-bg: #f1f5f9;
  --zk-badge-muted-border: #e2e8f0;
  --zk-badge-muted-text: #64748b;
  --zk-badge-muted-dot: #94a3b8;
  --zk-list-details-bg: #f8fafc;
  --zk-list-details-border: #e2e8f0;
  --zk-timegrid-slot-height: 24px;
  --zk-session-purple: #7e22ce;
  --zk-session-purple-hover: #6b21a8;
  --zk-session-purple-border: #9333ea;
  --zk-session-green: #15803d;
  --zk-session-green-hover: #166534;
  --zk-session-green-border: #22c55e;
  --zk-session-yellow: #d97706;
  --zk-session-yellow-hover: #b45309;
  --zk-session-yellow-border: #f59e0b;
  --zk-session-blue: #2563eb;
  --zk-session-blue-hover: #1d4ed8;
  --zk-session-blue-border: #3b82f6;
  --zk-session-text: #ffffff;
  --zk-session-badge-bg: rgba(255, 255, 255, 0.22);
  --zk-session-badge-border: rgba(255, 255, 255, 0.4);
  --zk-session-btn-bg: rgba(255, 255, 255, 0.2);
  --zk-session-btn-hover-bg: rgba(255, 255, 255, 0.35);
  --zk-session-btn-border: rgba(255, 255, 255, 0.45);
  --zk-session-btn-cancel-bg: #dc2626;
  --zk-session-btn-cancel-hover: #b91c1c;
  --zk-session-btn-cancel-border: #ef4444;
  --zk-session-btn-complete-bg: #16a34a;
  --zk-session-btn-complete-hover: #15803d;
  --zk-session-btn-complete-border: #22c55e;
  --zk-session-btn-disabled-bg: rgba(156, 163, 175, 0.4);
  --zk-session-btn-disabled-border: rgba(156, 163, 175, 0.5);
  --zk-session-btn-disabled-text: rgba(255, 255, 255, 0.65);
  --zk-ghost-border: #10b981;
  --zk-ghost-bg: rgba(16, 185, 129, 0.22);
  --zk-ghost-shadow: rgba(16, 185, 129, 0.45);
  --zk-ghost-shadow-strong: rgba(16, 185, 129, 0.75);
  --zk-ghost-shadow-glow: rgba(16, 185, 129, 0.3);
  --zk-ghost-btn-cancel-border: rgba(220, 38, 38, 0.4);
  --zk-ghost-btn-cancel-bg: rgba(220, 38, 38, 0.85);
  --zk-ghost-btn-cancel-hover: #dc2626;
  --zk-timegrid-past-bg: rgba(0, 0, 0, 0.02);
  --zk-timegrid-past-hover-bg: rgba(0, 0, 0, 0.04);
  --zk-timegrid-now-glow: rgba(37, 99, 235, 0.4);
  --primary-focus-shadow: rgba(0, 103, 59, 0.12);
  --destructive-focus-shadow: rgba(180, 35, 43, 0.16);
  --overlay-shadow: rgba(0, 0, 0, 0.08);
  --overlay-backdrop: rgba(0, 0, 0, 0.48);
  --media-overlay-action: rgba(0, 0, 0, 0.65);
  --media-overlay-action-hover: rgba(0, 0, 0, 0.85);
  --media-overlay-control-hover: rgba(255, 255, 255, 0.25);
  --media-guide: rgba(255, 255, 255, 0.7);
  --media-portrait-shadow: rgba(0, 0, 0, 0.25);
  --media-preview-shadow: rgba(0, 0, 0, 0.2);
  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 10px 30px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 20px 50px rgba(0, 0, 0, 0.12);
  --background: #f5f5f5;
  --card: #ffffff;
  --pwa-theme-color: #ffffff;
  --surface: var(--card);
  --surface-subtle: #fafafa;
  --surface-hover: #f0f0f0;
  --surface-pressed: #e8e8e8;
  --surface-disabled: #e5e5e5;
  --border-subtle: var(--border);
  --border: #e2e2e2;
  --border-hover: var(--border);
  --border-control: var(--border);
  --border-control-hover: var(--border);
  --border-strong: var(--border);
  --input-border: var(--border);
  --input-border-hover: var(--border);
  --card-highlight: rgba(255, 255, 255, 0.6);
  --card-hover-border: var(--border);
  /* Sidebar Light Mint Tokens (Light Mode) */
  --sidebar-bg: #edf5f0;
  --sidebar-bg-glass: color-mix(in srgb, #edf5f0 94%, transparent);
  --sidebar-border: color-mix(in srgb, var(--primary) 14%, var(--border));
  --sidebar-shadow: 2px 0 16px rgba(0, 103, 59, 0.05);
  --sidebar-brand-text: var(--primary);
  --sidebar-text-primary: var(--text-primary);
  --sidebar-text-secondary: var(--text-secondary);
  --sidebar-text-muted: var(--text-muted);
  --sidebar-hover-bg: color-mix(in srgb, var(--primary) 8%, transparent);
  --sidebar-active-bg: color-mix(in srgb, var(--primary) 14%, #ffffff);
  --sidebar-active-text: var(--primary);
  --sidebar-active-icon: var(--primary);
  --sidebar-active-border: color-mix(in srgb, var(--primary) 22%, transparent);
  --sidebar-active-shadow: 0 1px 3px rgba(0, 103, 59, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.8);
  --sidebar-account-avatar-bg: color-mix(in srgb, var(--primary) 12%, #ffffff);
  --sidebar-account-avatar-text: var(--primary);
  --sidebar-account-avatar-border: color-mix(in srgb, var(--primary) 24%, transparent);
  --sidebar-control-bg: color-mix(in srgb, var(--primary) 6%, #ffffff);
  --sidebar-control-hover-bg: color-mix(in srgb, var(--primary) 12%, #ffffff);
  --sidebar-control-border: color-mix(in srgb, var(--primary) 15%, var(--border));
  --sidebar-resize-indicator: color-mix(in srgb, var(--primary) 15%, transparent);
  --sidebar-resize-indicator-hover: var(--primary);
  --sidebar-pin-active-bg: color-mix(in srgb, var(--primary) 16%, #ffffff);
  --sidebar-pin-active-color: var(--primary);
  --sidebar-popover-bg: color-mix(in srgb, #ffffff 92%, var(--primary-light));
  --sidebar-popover-border: color-mix(in srgb, var(--primary) 16%, var(--border));
  --sidebar-popover-shadow: 0 16px 40px rgba(0, 50, 25, 0.12), 0 0 0 1px rgba(0, 103, 59, 0.08);
  --sidebar-popover-text: var(--text-primary);
  --sidebar-popover-text-secondary: var(--text-secondary);
  --sidebar-popover-text-muted: var(--text-muted);
  --sidebar-popover-hover-bg: color-mix(in srgb, var(--primary) 8%, transparent);
  --sidebar-popover-divider: color-mix(in srgb, var(--primary) 10%, var(--border));
  --sidebar-popover-control-bg: #ffffff;
  --sidebar-popover-control-border: color-mix(in srgb, var(--primary) 14%, var(--border));
  --sidebar-popover-danger-text: var(--destructive);
  --sidebar-popover-danger-bg: var(--destructive-light);
  --sidebar-popover-danger-border: color-mix(in srgb, var(--destructive) 25%, transparent);
  --text-primary: #262626;
  --text-secondary: #525252;
  --text-muted: #666666;
  --text-disabled: #737373;
  --text: var(--text-primary);
  --foreground: var(--text-primary);
  --muted: var(--text-muted);
  --destructive: #b4232b;
  --destructive-light: #fff1f2;
  --destructive-text: #b4232b;
  --destructive-border: #b4232b;
  --danger: #b4232b;
  --danger-hover: #8f1720;
  --success: #216e39;
  --success-light: #eef7f0;
  --success-text: #216e39;
  --success-border: #216e39;
  --warning: #fff7e6;
  --warning-light: #fff7e6;
  --warning-text: #854d0e;
  --warning-border: #854d0e;
  --star-active: #f59e0b;
  --pulse-dot-success: rgba(33, 110, 57, 0.7);
  --pulse-dot-success-fade: rgba(33, 110, 57, 0);
  --pulse-dot-warning: rgba(245, 158, 11, 0.7);
  --pulse-dot-warning-fade: rgba(245, 158, 11, 0);
  --warning-button: #854d0e;
  --warning-button-hover: #713f12;
  --info: #eff6ff;
  --info-light: #eff6ff;
  --info-text: #175cd3;
  --info-border: #175cd3;
  --frozen: #f0fdfa;
  --frozen-light: #f0fdfa;
  --frozen-text: #0f766e;
  --frozen-border: #14b8a6;
  --workspace-light: #ede9fe;
  --workspace-text: #5b21b6;
  --workspace-border: #c4b5fd;
  --ring: #00673b;
  --ring-shadow: rgba(0, 103, 59, 0.14);
  --radius: 12px;
  --radius-min: var(--radius);
  --radius-button: var(--radius);
  --radius-md: var(--radius);
  --radius-lg: var(--radius);
  --radius-card: var(--radius);
  --radius-pill: 9999px;
  --font-sans: "Google Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;
  --font-sans-static: "Roboto", ui-sans-serif, system-ui, -apple-system, sans-serif;
  --font-mono: ui-monospace, "Cascadia Code", "Roboto Mono", monospace;
  --secondary: #ffffff;
  --secondary-hover: var(--surface-hover);
  --secondary-border: var(--border);
  --secondary-text: var(--text-primary);
  --bg-hover: var(--surface-hover);
  --bg-badge: var(--surface-hover);
  --surface-muted: var(--surface-subtle);
  --surface-active: var(--primary-light);
  --accent-subtle: var(--primary-light);
  --on-primary: var(--text-on-primary);
  --radius-sm: var(--radius-min);
  --zk-btn-ghost-hover: rgba(0, 0, 0, 0.05);
  --zk-btn-primary-hover: var(--primary-hover);
  --zk-btn-danger-hover: var(--danger-hover);
  --zk-btn-warning-hover: var(--warning-button-hover);
  --zk-alert-close-hover-bg: rgba(0, 0, 0, 0.08);
  --tab-header-bg: rgba(0, 0, 0, 0.18);
  --tab-header-border: rgba(255, 255, 255, 0.28);
  --tab-header-btn-hover: rgba(255, 255, 255, 0.15);
  --tab-header-text-muted: rgba(255, 255, 255, 0.85);
  --wf-start: #10b981;
  --wf-start-bg: rgba(16, 185, 129, 0.15);
  --wf-gateway: #f59e0b;
  --wf-gateway-bg: rgba(245, 158, 11, 0.15);
  --wf-notify: #8b5cf6;
  --wf-notify-bg: rgba(139, 92, 246, 0.15);
  --wf-end: #ef4444;
  --wf-end-bg: rgba(239, 68, 68, 0.15);
  --wf-approval-bg: rgba(34, 197, 94, 0.12);
  --wf-selection-glow: rgba(34, 197, 94, 0.35);
  --gradient-badge-start: #00673b;
  --gradient-badge-mid: #2ebd85;
  --gradient-badge-end: #0284c7;
  --gradient-badge-hover-start: #0284c7;
  --gradient-badge-hover-mid: #8b5cf6;
  --gradient-badge-hover-end: #f43f5e;
  --shell-bg: var(--background);
  --shell-glow-top: rgba(255, 255, 255, 0.92);
  --shell-glow-bottom: rgba(38, 38, 38, 0.055);
  --icon-sso-folder: #7cd8cf;
  --icon-sso-shield-bg: #13645d;
  --icon-sso-shield-border: #004d40;
  --icon-sso-key: #ffffff;
}

:root[data-theme="dark"] {
	--reference-primary: var(--primary);
	--reference-primary-hover: var(--primary-hover);
	--reference-primary-light: var(--primary-light);
  color-scheme: dark;
  /* Solid brand marks and actions stay identical; readable foregrounds adapt. */
  --primary: #00673b;
  --primary-hover: #004d2c;
  --primary-border: #00673b;
  --primary-pressed: #003d23;
  --primary-light: #18392a;
  --brand-mark: #00673b;
  --brand-text: #79d5a2;
  --text-on-primary: #ffffff;
  --text-on-danger: #ffffff;
  --zk-timegrid-slot-height: 24px;
  --zk-session-purple: #6b21a8;
  --zk-session-purple-hover: #581c87;
  --zk-session-purple-border: #7e22ce;
  --zk-session-green: #166534;
  --zk-session-green-hover: #14532d;
  --zk-session-green-border: #15803d;
  --zk-session-yellow: #b45309;
  --zk-session-yellow-hover: #92400e;
  --zk-session-yellow-border: #d97706;
  --zk-session-blue: #1d4ed8;
  --zk-session-blue-hover: #1e40af;
  --zk-session-blue-border: #2563eb;
  --zk-session-red: #b91c1c;
  --zk-session-teal: #0f766e;
  --zk-session-pink: #be185d;
  --zk-session-orange: #ea580c;
  --zk-session-text: #ffffff;
  --zk-session-badge-bg: rgba(255, 255, 255, 0.18);
  --zk-session-badge-border: rgba(255, 255, 255, 0.3);
  --zk-session-btn-bg: rgba(255, 255, 255, 0.15);
  --zk-session-btn-hover-bg: rgba(255, 255, 255, 0.28);
  --zk-session-btn-border: rgba(255, 255, 255, 0.35);
  --zk-session-btn-cancel-bg: #b91c1c;
  --zk-session-btn-cancel-hover: #991b1b;
  --zk-session-btn-cancel-border: #dc2626;
  --zk-session-btn-complete-bg: #15803d;
  --zk-session-btn-complete-hover: #166534;
  --zk-session-btn-complete-border: #16a34a;
  --zk-session-btn-disabled-bg: rgba(107, 114, 128, 0.35);
  --zk-session-btn-disabled-border: rgba(107, 114, 128, 0.45);
  --zk-session-btn-disabled-text: rgba(255, 255, 255, 0.55);
  --zk-ghost-border: #10b981;
  --zk-ghost-bg: rgba(16, 185, 129, 0.25);
  --zk-ghost-shadow: rgba(16, 185, 129, 0.45);
  --zk-ghost-shadow-strong: rgba(16, 185, 129, 0.75);
  --zk-ghost-shadow-glow: rgba(16, 185, 129, 0.3);
  --zk-ghost-btn-cancel-border: rgba(220, 38, 38, 0.5);
  --zk-ghost-btn-cancel-bg: rgba(220, 38, 38, 0.85);
  --zk-ghost-btn-cancel-hover: #ef4444;
  --zk-timegrid-past-bg: rgba(255, 255, 255, 0.02);
  --zk-timegrid-past-hover-bg: rgba(255, 255, 255, 0.04);
  --zk-timegrid-now-glow: rgba(59, 130, 246, 0.4);
  --primary-focus-shadow: rgba(121, 213, 162, 0.18);
  --destructive-focus-shadow: rgba(216, 91, 99, 0.2);
  --overlay-shadow: rgba(0, 0, 0, 0.32);
  --overlay-backdrop: rgba(0, 0, 0, 0.64);
  --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.24);
  --shadow-sm: 0 2px 10px rgba(0, 0, 0, 0.28);
  --shadow-md: 0 12px 32px rgba(0, 0, 0, 0.36);
  --shadow-lg: 0 24px 56px rgba(0, 0, 0, 0.46);
  --background: #141414;
  --card: #1f1f1f;
  --pwa-theme-color: #1f1f1f;
  --surface: #262626;
  --surface-subtle: #262626;
  --surface-hover: #303030;
  --surface-pressed: #383838;
  --surface-disabled: #404040;
  --border-subtle: var(--border);
  --border: #363636;
  --border-control: var(--border);
  --border-control-hover: var(--border);
  --border-strong: var(--border);
  --input-border: var(--border);
  --input-border-hover: var(--border);
  --card-highlight: rgba(255, 255, 255, 0.07);
  --card-hover-border: var(--border);
  /* Sidebar Deep Emerald Tonal Tokens (Dark Mode Parity) */
  --sidebar-bg: #06160f;
  --sidebar-bg-glass: color-mix(in srgb, #071911 94%, transparent);
  --sidebar-border: rgba(255, 255, 255, 0.06);
  --sidebar-shadow: 4px 0 28px rgba(0, 0, 0, 0.35);
  --sidebar-brand-text: #34d399;
  --sidebar-text-primary: #ffffff;
  --sidebar-text-secondary: rgba(255, 255, 255, 0.72);
  --sidebar-text-muted: rgba(255, 255, 255, 0.52);
  --sidebar-hover-bg: rgba(255, 255, 255, 0.07);
  --sidebar-active-bg: rgba(255, 255, 255, 0.12);
  --sidebar-active-text: #ffffff;
  --sidebar-active-icon: #34d399;
  --sidebar-active-border: rgba(255, 255, 255, 0.1);
  --sidebar-active-shadow: 0 1px 3px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.12);
  --sidebar-account-avatar-bg: rgba(255, 255, 255, 0.1);
  --sidebar-account-avatar-text: #34d399;
  --sidebar-account-avatar-border: rgba(255, 255, 255, 0.15);
  --sidebar-control-bg: rgba(255, 255, 255, 0.06);
  --sidebar-control-hover-bg: rgba(255, 255, 255, 0.12);
  --sidebar-control-border: rgba(255, 255, 255, 0.08);
  --sidebar-resize-indicator: rgba(255, 255, 255, 0.1);
  --sidebar-resize-indicator-hover: #34d399;
  --sidebar-pin-active-bg: rgba(52, 211, 153, 0.15);
  --sidebar-pin-active-color: #34d399;
  --sidebar-popover-bg: color-mix(in srgb, #06160f 96%, transparent);
  --sidebar-popover-border: rgba(255, 255, 255, 0.1);
  --sidebar-popover-shadow: 0 16px 48px rgba(0, 0, 0, 0.75), 0 0 0 1px rgba(255, 255, 255, 0.05);
  --sidebar-popover-text: #ffffff;
  --sidebar-popover-text-secondary: rgba(255, 255, 255, 0.85);
  --sidebar-popover-text-muted: rgba(255, 255, 255, 0.55);
  --sidebar-popover-hover-bg: rgba(255, 255, 255, 0.08);
  --sidebar-popover-divider: rgba(255, 255, 255, 0.08);
  --sidebar-popover-control-bg: rgba(255, 255, 255, 0.06);
  --sidebar-popover-control-border: rgba(255, 255, 255, 0.1);
  --sidebar-popover-danger-text: #f87171;
  --sidebar-popover-danger-bg: rgba(239, 68, 68, 0.15);
  --sidebar-popover-danger-border: rgba(239, 68, 68, 0.3);
  --text-primary: #f5f5f5;
  --text-secondary: #d4d4d4;
  --text-muted: #b5b5b5;
  --text-disabled: #a3a3a3;
  --text: var(--text-primary);
  --foreground: var(--text-primary);
  --muted: var(--text-muted);
  --destructive: #b4232b;
  --destructive-light: #3b2024;
  --destructive-text: #ffb3b8;
  --destructive-border: #d85b63;
  --danger: #b4232b;
  --danger-hover: #8f1720;
  --success: #a3d9ac;
  --success-light: #1c3022;
  --success-text: #a3d9ac;
  --success-border: #a3d9ac;
  --warning: #332a18;
  --warning-light: #332a18;
  --warning-text: #f0ca80;
  --warning-border: #f0ca80;
  --warning-button: #f0ca80;
  --warning-button-hover: #ffe0a3;
  --info: #1c2b42;
  --info-light: #1c2b42;
  --info-text: #a6c8ff;
  --info-border: #a6c8ff;
  --frozen: #112d2b;
  --frozen-light: #112d2b;
  --frozen-text: #5eead4;
  --frozen-border: #2dd4bf;
  --ring: #79d5a2;
  --ring-shadow: rgba(121, 213, 162, 0.24);
  --secondary: #1f1f1f;
  --secondary-hover: var(--surface-hover);
  --secondary-border: var(--border);
  --secondary-text: var(--text-primary);
  --bg-hover: var(--surface-hover);
  --bg-badge: var(--surface-hover);
  --surface-muted: var(--surface-subtle);
  --surface-active: var(--primary-light);
  --accent-subtle: var(--primary-light);
  --on-primary: var(--text-on-primary);
  --radius-sm: var(--radius-min);
  --zk-btn-ghost-hover: rgba(255, 255, 255, 0.08);
  --zk-alert-close-hover-bg: rgba(255, 255, 255, 0.12);
  --tab-header-bg: rgba(0, 0, 0, 0.35);
  --tab-header-border: rgba(255, 255, 255, 0.2);
  --tab-header-btn-hover: rgba(255, 255, 255, 0.12);
  --tab-header-text-muted: rgba(255, 255, 255, 0.8);
  --gradient-badge-start: #10b981;
  --gradient-badge-mid: #06b6d4;
  --gradient-badge-end: #3b82f6;
  --gradient-badge-hover-start: #3b82f6;
  --gradient-badge-hover-mid: #a855f7;
  --gradient-badge-hover-end: #f43f5e;
  --shell-bg: var(--background);
  --shell-glow-top: rgba(255, 255, 255, 0.045);
  --shell-glow-bottom: rgba(0, 0, 0, 0.32);
  --icon-sso-folder: #7cd8cf;
  --icon-sso-shield-bg: #13645d;
  --icon-sso-shield-border: #004d40;
  --icon-sso-key: #ffffff;
  --zk-badge-success-bg: var(--success-light);
  --zk-badge-success-border: var(--success-border);
  --zk-badge-success-text: var(--success-text);
  --zk-badge-success-dot: var(--success);
  --zk-badge-warning-bg: var(--warning-light);
  --zk-badge-warning-border: var(--warning-border);
  --zk-badge-warning-text: var(--warning-text);
  --zk-badge-warning-dot: var(--warning-border);
  --zk-badge-danger-bg: var(--destructive-light);
  --zk-badge-danger-border: var(--destructive-border);
  --zk-badge-danger-text: var(--destructive-text);
  --zk-badge-danger-dot: var(--destructive-border);
  --zk-badge-info-bg: var(--info-light);
  --zk-badge-info-border: var(--info-border);
  --zk-badge-info-text: var(--info-text);
  --zk-badge-info-dot: var(--info-border);
  --zk-badge-muted-bg: var(--surface-hover);
  --zk-badge-muted-border: var(--border);
  --zk-badge-muted-text: var(--text-muted);
  --zk-badge-muted-dot: var(--border-control);
  --zk-list-details-bg: var(--card);
  --zk-list-details-border: var(--border);
  --zk-avatar-mint-bg: var(--success-light);
  --zk-avatar-mint-text: var(--success-text);
  --zk-avatar-indigo-bg: var(--info-light);
  --zk-avatar-indigo-text: var(--info-text);
  --zk-avatar-rose-bg: var(--destructive-light);
  --zk-avatar-rose-text: var(--destructive-text);
  --zk-avatar-sky-bg: var(--info-light);
  --zk-avatar-sky-text: var(--info-text);
  --zk-avatar-amber-bg: var(--warning-light);
  --zk-avatar-amber-text: var(--warning-text);
}

html {
  color: var(--text-primary);
  background: var(--background);
  font-size: 16px;
}

body {
  margin: 0;
  min-height: 100vh;
  font-family: var(--font-sans-static);
}

h1,
h2,
h3,
h4,
h5,
h6,
label,
button,
.zk-nav-item,
.zk-breadcrumbs {
  font-family: var(--font-sans);
}

.zk-nav-icon {
  display: inline-flex;
  width: 1.25rem;
  min-width: 1.25rem;
  justify-content: center;
  align-items: center;
  color: currentColor;
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  border-radius: var(--radius-button);
}

/* ============================================================
   Shared locale selector
   ============================================================ */
.zk-locale-select {
  position: relative;
  color: var(--text-primary);
}

.zk-locale-trigger {
  min-height: 2.65rem;
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.4rem 0.85rem;
  border: 0;
  background: var(--card);
  color: var(--text-primary);
  cursor: pointer;
  font-size: 1rem;
  font-weight: 600;
}

.zk-locale-trigger img,
.zk-locale-menu img {
  width: 1.35rem;
  height: 1.35rem;
  display: block;
  object-fit: cover;
  border-radius: 0.125rem;
}

.zk-locale-menu {
  position: absolute;
  top: calc(100% + 0.25rem);
  right: 0;
  z-index: 20;
  min-width: 11rem;
  display: none;
  padding: 0.25rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--card);
  box-shadow: 0 0.75rem 1.5rem var(--overlay-shadow);
}

.zk-locale-select.is-open .zk-locale-menu {
  display: grid;
  gap: 0.125rem;
}

.zk-locale-menu button {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.5rem 0.65rem;
  border: 0;
  border-radius: var(--radius);
  background: transparent;
  color: var(--text-primary);
  cursor: pointer;
  text-align: left;
  font-size: 1rem;
}

.zk-locale-menu button:hover,
.zk-locale-menu button[data-selected="true"] {
  background: var(--primary);
  color: var(--text-on-primary);
}

.zk-theme-switcher {
  width: 2.65rem;
  min-width: 2.65rem;
  min-height: 2.65rem;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 0px;
  background: var(--card);
  color: var(--text-primary);
  cursor: pointer;
}

.zk-theme-switcher:hover {
  border-color: var(--primary);
  color: var(--brand-text);
  background: var(--primary-light);
}

.zk-theme-switcher:focus-visible {
  outline: 2px solid var(--ring);
  outline-offset: 2px;
}

.zk-theme-switcher svg {
  width: 1.25rem;
  height: 1.25rem;
}

.zk-theme-icon-sun {
  display: none;
}

:root[data-theme="dark"] .zk-theme-icon-moon {
  display: none;
}

:root[data-theme="dark"] .zk-theme-icon-sun {
  display: block;
}

/* ============================================================
   Shared icon fields
   ============================================================ */
.zk-field-shell {
  display: flex;
  align-items: stretch;
  border: 1px solid var(--input-border);
  border-radius: var(--radius-button);
  background: var(--card);
  overflow: hidden;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.zk-field-shell:not(.is-invalid):not(:focus-within):hover {
  border-color: var(--input-border-hover);
}

.zk-field-shell:focus-within {
  border-color: var(--primary);
  box-shadow: 0 0 0 2px var(--primary-focus-shadow);
}

.zk-field-shell.zk-field-underline,
.zk-record-underline .zk-input,
.zk-field-underline .zk-input,
.zk-input.zk-field-underline {
  border: none;
  border-bottom: 2px solid var(--border);
  border-radius: 0;
  background: transparent;
  padding-left: 0.15rem;
  padding-right: 0.15rem;
}

.zk-field-shell.zk-field-underline:focus-within,
.zk-record-underline .zk-input:focus,
.zk-field-underline .zk-input:focus,
.zk-input.zk-field-underline:focus {
  border-bottom-color: var(--primary);
  box-shadow: none;
  outline: none;
}

.zk-field-shell.zk-field-underline.is-invalid,
.zk-record-underline .zk-input[aria-invalid="true"],
.zk-field-underline .zk-input[aria-invalid="true"],
.zk-input.zk-field-underline[aria-invalid="true"] {
  border-bottom-color: var(--destructive);
  box-shadow: none;
}

.zk-field-shell.is-invalid {
  border-color: var(--destructive-border);
  box-shadow: 0 0 0 2px var(--destructive-focus-shadow);
}

.zk-field-icon {
  box-sizing: content-box;
  width: 1.1rem;
  min-width: 1.1rem;
  height: 1.1rem;
  padding: 0.8rem;
  color: var(--text-muted);
  background: var(--surface-subtle);
  border-right: 1px solid var(--border);
}

.zk-field-shell .zk-field-control {
  flex: 1;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--text-primary);
  padding: 0 0.9rem;
  font-size: 1rem;
  line-height: 1.3;
  box-shadow: none;
}

.zk-field-shell .zk-field-control:-webkit-autofill,
.zk-field-shell .zk-field-control:-webkit-autofill:hover,
.zk-field-shell .zk-field-control:-webkit-autofill:focus {
  border-radius: 0;
  -webkit-text-fill-color: var(--text-primary);
  box-shadow: 0 0 0 1000px var(--card) inset;
  transition: background-color 9999s ease-out;
}

.zk-toggle-password {
  width: 3.1rem;
  min-width: 3.1rem;
  border: 0;
  background: transparent;
  color: var(--text-muted);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.zk-toggle-password:hover,
.zk-toggle-password.is-visible {
  color: var(--text-primary);
  background: var(--surface-hover);
}

.zk-toggle-password svg {
  width: 1.15rem;
  height: 1.15rem;
}

.zk-toggle-password .zk-eye-off-icon {
  display: none;
}

.zk-toggle-password.is-visible .zk-eye-icon {
  display: none;
}

.zk-toggle-password.is-visible .zk-eye-off-icon {
  display: block;
}

/* ============================================================
   Alerts
   ============================================================ */
.zk-alert {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.625rem 0.875rem;
  border-radius: var(--radius);
  font-size: 0.8125rem;
  line-height: 1.4;
  margin-bottom: 1rem;
}

.zk-alert[hidden],
.zk-alert:empty {
  display: none;
}

.zk-alert-content {
  flex: 1;
  min-width: 0;
  overflow-wrap: anywhere;
}

.zk-alert-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  min-width: 1.5rem;
  padding: 0;
  border: 1px solid currentColor;
  border-radius: var(--radius-min);
  background: transparent;
  color: inherit;
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
  opacity: 0.75;
  flex-shrink: 0;
  transition: opacity 0.15s ease, background-color 0.15s ease;
}

.zk-alert-close:hover,
.zk-alert-close:focus-visible {
  opacity: 1;
  background-color: var(--zk-alert-close-hover-bg);
  outline: none;
}

.zk-alert-error {
  background: var(--destructive-light);
  color: var(--destructive-text);
  border: 1px solid var(--destructive-border);
}

.zk-alert-warning {
  background: var(--warning-light);
  color: var(--warning-text);
  border: 1px solid var(--warning-border);
}

.zk-alert-success {
  background: var(--success-light);
  color: var(--success-text);
  border: 1px solid var(--success-border);
}

.zk-alert-info {
  background: var(--info-light);
  color: var(--info-text);
  border: 1px solid var(--info-border);
}

.zk-toast {
  position: fixed;
  top: 1.25rem;
  right: 1.25rem;
  z-index: 100;
  width: auto;
  min-width: 18rem;
  max-width: min(28rem, calc(100vw - 2.5rem));
  margin-bottom: 0;
  box-shadow: 0 0.5rem 1.25rem var(--overlay-shadow), 0 0.125rem 0.25rem var(--overlay-shadow);
  animation: zk-toast-in 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 0.25s ease, transform 0.25s ease;
}

@keyframes zk-toast-in {
  from {
    opacity: 0;
    transform: translateY(-0.75rem) scale(0.96);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.zk-toast-dismissing {
  opacity: 0;
  transform: translateY(-0.5rem) scale(0.96);
  pointer-events: none;
}

.zk-system-alert-stack {
  position: fixed;
  top: 0.25rem;
  left: 16rem;
  right: 1rem;
  z-index: 60;
  display: grid;
  justify-items: center;
  gap: 0.5rem;
  pointer-events: none;
}

.zk-system-alert {
  width: min(70rem, 100%);
  box-sizing: border-box;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 0;
  box-shadow: 0 0.75rem 1.5rem var(--overlay-shadow);
  pointer-events: auto;
}

.zk-system-alert-message {
  flex: 1;
  min-width: 0;
}

.zk-system-alert-close {
  width: 1.5rem;
  min-width: 1.5rem;
  height: 1.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid currentColor;
  background: transparent;
  color: inherit;
  cursor: pointer;
  line-height: 1;
  opacity: 0.78;
  border-radius: var(--radius-min);
}

.zk-system-alert-close:hover {
  opacity: 1;
}

/* ============================================================
   Shell Layout
   ============================================================ */
.zk-shell {
  display: flex;
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  background-color: var(--shell-bg);
  background-image:
    radial-gradient(ellipse 85% 55% at 50% -18%, var(--shell-glow-top), transparent 72%),
    radial-gradient(ellipse 65% 48% at 100% 100%, var(--shell-glow-bottom), transparent 68%),
    linear-gradient(180deg, var(--surface-subtle) 0%, var(--background) 42%, var(--background) 100%);
  background-attachment: fixed;
}

.zk-sidebar-hover-zone {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 65;
  width: 0;
}

body.zk-sidebar-collapsed .zk-sidebar-hover-zone {
  width: 0.875rem;
}

.zk-sidebar {
  width: var(--zk-sidebar-width, 15rem);
  min-width: var(--zk-sidebar-width, 15rem);
  height: 100vh;
  height: 100dvh;
  position: sticky;
  top: 0;
  z-index: 70;
  background: var(--sidebar-bg-glass);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-right: 1px solid var(--sidebar-border);
  box-shadow: var(--sidebar-shadow);
  box-sizing: border-box;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.zk-sidebar-resize {
  position: absolute;
  z-index: 1;
  top: 0;
  right: -0.375rem;
  width: 0.75rem;
  height: 100%;
  cursor: col-resize;
  touch-action: none;
}

.zk-sidebar-resize::after {
  content: "";
  position: absolute;
  top: 35%;
  bottom: 35%;
  left: 0.3125rem;
  width: 0.125rem;
  border-radius: var(--radius-min);
  background: var(--sidebar-resize-indicator);
}

.zk-sidebar-resize:hover::after,
.zk-sidebar-resize:focus-visible::after {
  background: var(--sidebar-resize-indicator-hover);
}

.zk-sidebar-resize:focus-visible {
  outline: 2px solid var(--sidebar-resize-indicator-hover);
  outline-offset: 2px;
}

.zk-shell.is-sidebar-collapsed .zk-sidebar-resize,
body.zk-sidebar-resizing .zk-sidebar-resize {
  cursor: col-resize;
}

body.zk-sidebar-resizing {
  user-select: none;
}

.zk-sidebar-inner {
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-top: 1rem;
  padding-left: 1rem;
  padding-bottom: 1rem;
  box-sizing: border-box;
}

.zk-sidebar-primary {
  flex: 1;
  min-height: 0;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  gap: 0.75rem;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 0.125rem;
  scrollbar-width: thin;
  scrollbar-color: transparent transparent;
  transition: scrollbar-color 0.2s ease;
}

.zk-sidebar-primary::-webkit-scrollbar {
  width: 4px;
}

.zk-sidebar-primary::-webkit-scrollbar-track {
  background: transparent;
}

.zk-sidebar-primary::-webkit-scrollbar-thumb {
  background: transparent;
  border-radius: 4px;
  transition: background-color 0.2s ease;
}

.zk-sidebar:hover .zk-sidebar-primary,
.zk-sidebar:focus-within .zk-sidebar-primary {
  scrollbar-color: var(--sidebar-border) transparent;
}

.zk-sidebar:hover .zk-sidebar-primary::-webkit-scrollbar-thumb,
.zk-sidebar:focus-within .zk-sidebar-primary::-webkit-scrollbar-thumb {
  background: var(--sidebar-border);
}

.zk-sidebar:hover .zk-sidebar-primary::-webkit-scrollbar-thumb:hover,
.zk-sidebar:focus-within .zk-sidebar-primary::-webkit-scrollbar-thumb:hover {
  background: var(--sidebar-control-hover-bg);
}

.zk-sidebar-brand {
  min-height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.375rem;
}

.zk-sidebar-brand-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1;
  min-width: 0;
  text-decoration: none;
  color: inherit;
  border-radius: var(--radius-sm);
  padding: 0.25rem 0.375rem;
  margin-left: -0.375rem;
  transition: background-color 0.15s ease, opacity 0.15s ease;
  cursor: pointer;
}

.zk-sidebar-brand-link:hover {
  background-color: var(--sidebar-hover-bg);
}

.zk-sidebar-brand-link:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}

.zk-sidebar-brand-icon {
  width: 1.75rem;
  min-width: 1.75rem;
  height: 1.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border-radius: var(--radius-xs);
  overflow: hidden;
}

.zk-sidebar-brand-icon-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.zk-sidebar-brand strong {
  display: block;
  color: var(--sidebar-brand-text);
  line-height: 1.2;
}

.zk-sidebar-brand-copy {
  flex: 1;
  min-width: 0;
}

.zk-sidebar-tenant {
  margin-top: 0.125rem;
  line-height: 1.25;
  font-size: var(--text-xs, 0.75rem);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--sidebar-text-muted);
}

.zk-sidebar-toggle {
  width: 2rem;
  min-width: 2rem;
  height: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--sidebar-control-border);
  border-radius: var(--radius-sm);
  background: var(--sidebar-control-bg);
  color: var(--sidebar-text-secondary);
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.zk-sidebar-toggle:hover,
.zk-sidebar-toggle:focus-visible {
  background: var(--sidebar-control-hover-bg);
  color: var(--sidebar-text-primary);
  border-color: var(--sidebar-active-border);
}

.zk-sidebar-toggle svg {
  width: 1.25rem;
  height: 1.25rem;
}

.zk-topbar-sidebar-toggle {
  width: 2.25rem;
  min-width: 2.25rem;
  height: 2.25rem;
  margin-left: -1.5rem;
  display: none;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: var(--radius-min);
  color: var(--text-muted);
  background: transparent;
  cursor: pointer;
  margin-right: 0.5rem;
}

.zk-topbar-sidebar-toggle svg {
  width: 1.25rem;
  height: 1.25rem;
}

.zk-sidebar-account {
  position: relative;
  padding-top: 0.75rem;
  border-top: 1px solid var(--sidebar-border);
}

.zk-sidebar-account-btn {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.4rem 0.5rem;
  border: 1px solid transparent;
  border-radius: var(--radius);
  background: transparent;
  color: inherit;
  cursor: pointer;
  text-align: left;
  transition: background 0.15s ease, border-color 0.15s ease;
  box-sizing: border-box;
}

.zk-sidebar-account-btn:hover,
.zk-sidebar-account[data-open="true"] .zk-sidebar-account-btn {
  background: var(--sidebar-hover-bg);
  border-color: var(--sidebar-control-border);
}

.zk-sidebar-account-avatar {
  width: 2.25rem;
  height: 2.25rem;
  min-width: 2.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius);
  background: var(--sidebar-account-avatar-bg);
  color: var(--sidebar-account-avatar-text);
  border: 1px solid var(--sidebar-account-avatar-border);
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: uppercase;
}

.zk-sidebar-account-text {
  flex: 1;
  min-width: 0;
}

.zk-sidebar-account-name {
  overflow: hidden;
  color: var(--sidebar-text-primary);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.zk-sidebar-account-kebab {
  width: 1rem;
  height: 1rem;
  color: var(--sidebar-text-muted);
  flex-shrink: 0;
}

/* User Popover Menu */
.zk-user-popover {
  position: absolute;
  bottom: calc(100% + 0.5rem);
  left: 0;
  right: 0;
  z-index: 90;
  background: var(--sidebar-popover-bg);
  backdrop-filter: blur(28px);
  -webkit-backdrop-filter: blur(28px);
  border: 1px solid var(--sidebar-popover-border);
  border-radius: var(--radius);
  box-shadow: var(--sidebar-popover-shadow);
  padding: 0.65rem;
  display: none;
  flex-direction: column;
  gap: 0.35rem;
  box-sizing: border-box;
  animation: zkDropdownFadeIn 0.15s cubic-bezier(0.16, 1, 0.3, 1);
}

.zk-sidebar-account[data-open="true"] .zk-user-popover {
  display: flex;
}

.zk-user-popover-header {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.5rem 0.6rem;
  border-radius: var(--radius-min);
  text-decoration: none;
  color: inherit;
  transition: background 0.15s ease;
}

.zk-user-popover-header-link:hover {
  background: var(--sidebar-popover-hover-bg);
}

.zk-user-popover-header-link:hover .zk-popover-header-arrow {
  color: var(--sidebar-popover-text);
  transform: translateX(2px);
}

.zk-popover-header-arrow {
  width: 1rem;
  height: 1rem;
  color: var(--sidebar-popover-text-muted);
  margin-left: auto;
  flex-shrink: 0;
  transition: transform 0.15s ease, color 0.15s ease;
}

.zk-user-popover-user {
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1;
}

.zk-user-popover-name {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--sidebar-popover-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.25;
}

.zk-user-popover-username {
  font-size: 0.75rem;
  color: var(--sidebar-popover-text-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.2;
}

.zk-user-popover-divider {
  height: 1px;
  background: var(--sidebar-popover-divider);
  margin: 0.25rem 0;
}

.zk-user-popover-items {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.zk-user-popover-item {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.45rem 0.65rem;
  border-radius: var(--radius-min);
  color: var(--sidebar-popover-text-secondary);
  text-decoration: none;
  font-size: 0.8125rem;
  font-weight: 500;
  transition: background 0.15s ease, color 0.15s ease;
}

.zk-user-popover-item:hover,
.zk-user-popover-item[aria-current="page"] {
  background: var(--sidebar-popover-hover-bg);
  color: var(--sidebar-popover-text);
}

.zk-user-popover-item.is-disabled,
.zk-user-popover-item[aria-disabled="true"] {
  opacity: 0.45;
  cursor: not-allowed;
  pointer-events: none;
  color: var(--sidebar-popover-text-muted);
}

.zk-user-popover-item.is-disabled:hover,
.zk-user-popover-item[aria-disabled="true"]:hover {
  background: transparent;
  color: var(--sidebar-popover-text-muted);
}

.zk-user-popover-item.is-disabled .zk-popover-icon,
.zk-user-popover-item[aria-disabled="true"] .zk-popover-icon {
  color: var(--sidebar-popover-text-muted);
}

.zk-popover-icon {
  width: 1rem;
  height: 1rem;
  color: var(--sidebar-popover-text-muted);
  flex-shrink: 0;
}

.zk-user-popover-item:hover .zk-popover-icon {
  color: var(--sidebar-brand-text);
}

.zk-user-popover-controls {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 0.1rem 0;
}

.zk-user-popover-control-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.2rem 0.5rem;
  min-height: 2.15rem;
}

.zk-user-popover-label {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--sidebar-popover-text-secondary);
}

.zk-user-popover-setting-label {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--sidebar-popover-text-secondary);
}

.zk-user-popover-setting-label .zk-popover-icon {
  width: 0.95rem;
  height: 0.95rem;
  color: var(--sidebar-popover-text-muted);
}

.zk-user-popover-control-row .zk-theme-switcher {
  width: 2rem;
  min-width: 2rem;
  min-height: 2rem;
  height: 2rem;
  border-radius: var(--radius-min);
  background: var(--sidebar-popover-control-bg);
  border: 1px solid var(--sidebar-popover-control-border);
  color: var(--sidebar-popover-text);
}

.zk-user-popover-control-row .zk-theme-switcher:hover {
  background: var(--sidebar-popover-hover-bg);
  border-color: var(--sidebar-popover-control-border);
  color: var(--sidebar-popover-text);
}

.zk-user-popover-control-row .zk-theme-switcher svg {
  width: 1rem;
  height: 1rem;
}

.zk-user-popover-locale-row {
  display: flex;
  width: 100%;
  padding: 0 0.25rem;
  box-sizing: border-box;
}

.zk-user-popover-locale-row .zk-locale-select {
  width: 100%;
}

.zk-user-popover-locale-row .zk-locale-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 2.15rem;
  padding: 0.35rem 0.65rem;
  font-size: 0.8125rem;
  font-weight: 500;
  border: 1px solid var(--sidebar-popover-control-border);
  border-radius: var(--radius-min);
  background: var(--sidebar-popover-control-bg);
  color: var(--sidebar-popover-text);
  box-sizing: border-box;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.zk-user-popover-locale-row .zk-locale-trigger:hover,
.zk-user-popover-locale-row .zk-locale-select.is-open .zk-locale-trigger {
  background: var(--sidebar-popover-hover-bg);
  border-color: var(--sidebar-brand-text);
}

.zk-locale-chevron {
  width: 0.85rem;
  height: 0.85rem;
  color: var(--sidebar-popover-text-muted);
  margin-left: auto;
  flex-shrink: 0;
  transition: transform 0.15s ease;
}

.zk-locale-select.is-open .zk-locale-chevron {
  transform: rotate(180deg);
}

.zk-user-popover-locale-row .zk-locale-menu {
  width: 100%;
  min-width: 100%;
  box-sizing: border-box;
  bottom: calc(100% + 0.35rem);
  top: auto;
  z-index: 100;
  background: var(--sidebar-bg);
  border: 1px solid var(--sidebar-popover-border);
  border-radius: var(--radius);
  box-shadow: var(--sidebar-popover-shadow);
  padding: 0.25rem;
  color: var(--sidebar-popover-text);
}

.zk-user-popover-footer {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding-top: 0.2rem;
}

.zk-logout-form {
  flex: 1;
}

.zk-user-popover-logout-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.45rem 0.75rem;
  border: 1px solid transparent;
  border-radius: var(--radius-min);
  background: transparent;
  color: var(--sidebar-popover-danger-text);
  font-size: 0.8125rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.zk-user-popover-logout-btn:hover {
  background: var(--sidebar-popover-danger-bg);
  border-color: var(--sidebar-popover-danger-border);
  color: var(--sidebar-popover-danger-text);
}

.zk-user-popover-logout-btn .zk-popover-icon {
  color: var(--sidebar-popover-danger-text);
}

.zk-user-popover-footer .zk-button-icon-only {
  color: var(--sidebar-popover-text-secondary);
  background: transparent;
  border: 1px solid transparent;
}

.zk-user-popover-footer .zk-button-icon-only:hover {
  background: var(--sidebar-popover-hover-bg);
  color: var(--sidebar-popover-text);
}

.zk-sidebar-account-handle {
  font-size: 0.75rem;
  color: var(--sidebar-text-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.zk-sidebar-account-action {
  width: 2rem;
  min-width: 2rem;
  height: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--sidebar-control-border);
  border-radius: var(--radius-sm);
  background: var(--sidebar-control-bg);
  color: var(--sidebar-text-secondary);
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.zk-sidebar-account-action:hover,
.zk-sidebar-account-action:focus-visible {
  border-color: var(--sidebar-active-border);
  background: var(--sidebar-control-hover-bg);
  color: var(--sidebar-text-primary);
  outline: none;
}

.zk-sidebar-account-action svg {
  width: 1rem;
  height: 1rem;
}

.zk-pwa-controls {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  flex: 0 0 auto;
}

.zk-pwa-controls [hidden] {
  display: none !important;
}

.zk-pwa-controls .zk-button-icon-only {
  width: 2rem;
  min-width: 2rem;
  height: 2rem;
  padding: 0;
}

.zk-pwa-controls [data-zk-pwa-notifications][data-subscribed="true"] {
  border-color: var(--primary);
  background: var(--primary-light);
  color: var(--brand-text);
}

.zk-pwa-toast {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.zk-pwa-toast-action {
  flex: 0 0 auto;
}

.zk-shell.is-sidebar-collapsed .zk-sidebar {
  position: fixed;
  left: 0;
  transform: translateX(calc(-100% - 0.75rem));
  box-shadow: 0 1rem 2rem var(--overlay-shadow);
}

.zk-shell.is-sidebar-collapsed.is-sidebar-peeking .zk-sidebar,
.zk-shell.is-sidebar-collapsed .zk-sidebar:focus-within {
  transform: translateX(0);
}

body.zk-sidebar-collapsed .zk-system-alert-stack {
  left: 1rem;
}

.zk-shell.is-sidebar-collapsed .zk-topbar-sidebar-toggle {
  display: inline-flex;
}

.zk-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

.zk-topbar {
  position: relative;
  /* Keep compact filters above sticky table headers in the content region. */
  z-index: 40;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.4rem 1.25rem;
  min-height: 3.25rem;
  box-sizing: border-box;
  background: color-mix(in srgb, var(--card) 88%, transparent);
  border-bottom: 1px solid var(--border);
  box-shadow: var(--shadow-xs);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.zk-topbar-leading {
  flex: 0 0 auto;
  max-width: 65%;
  min-width: max-content;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.zk-topbar-leading:only-child {
  flex: 1 1 auto;
  max-width: 100%;
}

.zk-current-tenant {
  align-items: center;
  background: var(--primary-light);
  border: 1px solid var(--primary-border);
  border-radius: var(--radius-min);
  color: var(--brand-text);
  display: inline-flex;
  flex: 0 1 auto;
  font-size: 0.75rem;
  font-weight: 700;
  gap: 0.35rem;
  max-width: 11rem;
  min-width: 0;
  padding: 0.25rem 0.5rem;
}

.zk-current-tenant svg {
  flex: 0 0 auto;
  height: 0.9rem;
  width: 0.9rem;
}

.zk-current-tenant span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.zk-topbar-filter-slot {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.zk-topbar-filter-slot .zk-filter-toolbar:not(.is-compact) {
  flex: 1 1 auto;
  width: 100%;
  justify-content: flex-end;
}

.zk-topbar-filter-slot .zk-filter-panel:not(.is-compact) {
  flex: 1 1 auto;
  width: 100%;
  justify-content: flex-end;
}

.zk-topbar-filter-slot .zk-filter-toolbar:not(.is-compact) .zk-filter-bar {
  flex: 1 1 auto;
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.5rem;
}

.zk-topbar-filter-slot .zk-filter-toolbar:not(.is-compact) .zk-filter-field {
  flex: 0 1 auto;
  min-width: 0;
  max-width: none;
  width: auto;
}

.zk-topbar-filter-slot .zk-filter-toolbar:not(.is-compact) .zk-filter-field-wide {
  flex: 1.5 1 16rem;
  min-width: 15rem;
  max-width: 32rem;
  width: auto;
}

.zk-topbar-filter-slot .zk-filter-field .zk-input {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
}

.zk-topbar-filter-slot .zk-filter-field {
  width: auto;
  max-width: none;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

.zk-topbar-filter-slot .zk-filter-field label {
  white-space: nowrap;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--text-muted);
  flex-shrink: 0;
}

.zk-topbar-filter-slot .zk-filter-field select.zk-input {
  min-width: 8rem;
  width: auto;
}

.zk-topbar-filter-slot .zk-filter-field input.zk-input:not(.zk-reg-combobox-input):not(.zk-date-input) {
  min-width: 9.5rem;
  width: auto;
}

.zk-topbar-filter-slot .zk-filter-field input.zk-date-input {
  min-width: 6.125rem;
  width: 6.125rem;
}

.zk-topbar-filter-slot .zk-filter-field-wide input.zk-input:not(.zk-reg-combobox-input) {
  min-width: 12.5rem;
  width: auto;
}

.zk-topbar-filter-slot .zk-reg-combobox-wrap {
  width: 175px;
  min-width: 130px;
}

.zk-topbar-filter-slot .zk-segmented-filter {
  flex-wrap: nowrap;
  gap: 0.2rem;
}

.zk-topbar-filter-slot .zk-segmented-option {
  padding: 0.25rem 0.6rem;
  font-size: 0.8125rem;
  white-space: nowrap;
}

.zk-topbar-actions {
  flex: 0 0 auto;
  margin-left: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.zk-topbar-breadcrumbs {
  min-width: 1.5rem;
  max-width: 100%;
  overflow: hidden;
}

.zk-topbar-breadcrumbs .zk-breadcrumbs {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 1.05rem;
  font-weight: 500;
}

.zk-breadcrumb-leaf {
  font-weight: 600;
  color: var(--text-primary);
}

.zk-content {
  flex: 1;
  padding: 0.85rem 1rem;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
  box-sizing: border-box;
}

.zk-content:has(.zk-table-wrap) {
  overflow: hidden;
}

.zk-pay-container > .zk-card {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  overflow: hidden;
  padding: 0;
  border: none;
  background: transparent;
}

.zk-pay-container .zk-card-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  overflow: hidden;
  padding: 0;
}

.zk-dynamic-table-view,
.zk-pay-container .zk-table-wrap {
  flex: 1;
  min-height: 0;
  overflow: auto;
}

.zk-dynamic-grid-view,
.zk-dynamic-paired-grid-view {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 0.25rem 0.5rem;
}


/* ============================================================
   Navigation & Collapsible Accordion
   ============================================================ */
.zk-nav-group {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.zk-nav-group-header {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  width: 100%;
  position: relative;
}

.zk-nav-group-title-link {
  flex: 1;
  min-width: 0;
}

.zk-nav-group-header-btn {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.4rem 0.5rem;
  border: 1px solid transparent;
  background: transparent;
  border-radius: var(--radius);
  color: var(--sidebar-text-secondary);
  font-weight: 600;
  font-size: 0.8125rem;
  cursor: pointer;
  text-align: left;
  transition: background 0.15s ease, color 0.15s ease;
}

.zk-nav-group-header-btn:hover {
  background: var(--sidebar-hover-bg);
  color: var(--sidebar-text-primary);
}

.zk-nav-toggle-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.6rem;
  height: 1.6rem;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--sidebar-text-muted);
  border-radius: var(--radius-min);
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}

.zk-nav-toggle-btn:hover {
  background: var(--sidebar-hover-bg);
  color: var(--sidebar-text-primary);
}

.zk-nav-chevron {
  width: 0.9rem;
  height: 0.9rem;
  margin-left: auto;
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  color: var(--sidebar-text-muted);
  flex-shrink: 0;
}

.zk-nav-group-header-btn .zk-nav-chevron {
  margin-left: auto;
}

.zk-nav-toggle-btn:not(.zk-nav-toggle-pinned) > .zk-nav-chevron {
  margin: 0;
}

/* Accordion expanded/collapsed states */
.zk-nav-group-header-btn[aria-expanded="true"] .zk-nav-chevron,
.zk-nav-toggle-btn[aria-expanded="true"] .zk-nav-chevron {
  transform: rotate(180deg);
}

.zk-nav-group-header-btn[aria-expanded="false"] .zk-nav-chevron,
.zk-nav-toggle-btn[aria-expanded="false"] .zk-nav-chevron {
  transform: rotate(0deg);
}

.zk-nav-group:has(> .zk-nav-group-header-btn[aria-expanded="false"])>.zk-nav-children,
.zk-nav-group:has(> .zk-nav-group-header > .zk-nav-toggle-btn[aria-expanded="false"])>.zk-nav-children,
.zk-nav-group.is-collapsed>.zk-nav-children {
  display: none;
}

/* Indentation for children (flat modern ERP style) */
.zk-nav-children {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-left: 0.65rem;
  padding-left: 0.35rem;
  border-left: none;
  margin-top: 2px;
  margin-bottom: 4px;
}

.zk-nav-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.45rem 0.65rem;
  border: 1px solid transparent;
  border-radius: var(--radius-min);
  text-decoration: none;
  color: var(--sidebar-text-secondary);
  font-size: 0.8125rem;
  font-weight: 500;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
  position: relative;
}

.zk-nav-item:hover {
  background: var(--sidebar-hover-bg);
  color: var(--sidebar-text-primary);
}

.zk-nav-item-active {
  background: var(--sidebar-active-bg);
  color: var(--sidebar-active-text);
  border-color: var(--sidebar-active-border);
  box-shadow: var(--sidebar-active-shadow);
  font-weight: 600;
}

.zk-nav-item-active .zk-nav-icon {
  color: var(--sidebar-active-icon);
}

.zk-sidebar-search {
  padding: 0 0.125rem 0.25rem;
  min-width: 0;
}

.zk-sidebar-shortcuts {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  min-height: 2.25rem;
  border: 0;
  background: transparent;
}

.zk-sidebar-shortcuts .zk-button-icon-only,
.zk-sidebar-shortcuts .zk-sidebar-shortcut,
.zk-sidebar-shortcuts [data-zk-sidebar-pinned-only],
.zk-sidebar-shortcuts .zk-sidebar-search-trigger {
  width: 2rem !important;
  height: 2rem !important;
  min-width: 2rem !important;
  border-radius: var(--radius-sm) !important;
  background: transparent !important;
  border: none !important;
  color: var(--sidebar-text-secondary) !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.zk-sidebar-shortcuts .zk-button-icon-only:hover,
.zk-sidebar-shortcuts .zk-sidebar-shortcut:hover,
.zk-sidebar-shortcuts [data-zk-sidebar-pinned-only]:hover,
.zk-sidebar-shortcuts .zk-sidebar-search-trigger:hover {
  background: var(--sidebar-hover-bg) !important;
  border: none !important;
  color: var(--sidebar-text-primary) !important;
}

.zk-sidebar-shortcuts .zk-sidebar-shortcut.zk-nav-item-active,
.zk-sidebar-shortcuts .zk-sidebar-shortcut[aria-current="page"] {
  background: var(--sidebar-active-bg) !important;
  border: none !important;
  color: var(--sidebar-active-text) !important;
  box-shadow: none !important;
}

.zk-sidebar-shortcuts .zk-sidebar-shortcut.zk-nav-item-active svg,
.zk-sidebar-shortcuts .zk-sidebar-shortcut.zk-nav-item-active .zk-icon,
.zk-sidebar-shortcuts .zk-sidebar-shortcut[aria-current="page"] svg,
.zk-sidebar-shortcuts .zk-sidebar-shortcut[aria-current="page"] .zk-icon {
  color: var(--sidebar-active-icon) !important;
}

.zk-sidebar-shortcuts [data-zk-sidebar-pinned-only][aria-pressed="true"] {
  background: var(--sidebar-pin-active-bg) !important;
  border: none !important;
  color: var(--sidebar-pin-active-color) !important;
  box-shadow: none !important;
}

.zk-sidebar-search .zk-sidebar-shortcuts > [data-zk-sidebar-pinned-only] {
  margin-left: auto;
}

.zk-sidebar-shortcut .zk-icon,
.zk-sidebar-shortcut svg,
.zk-sidebar-shortcuts .zk-sidebar-shortcut .zk-icon,
.zk-sidebar-shortcuts .zk-sidebar-shortcut svg {
  width: 1.15rem !important;
  height: 1.15rem !important;
}

.zk-sidebar-home-source[hidden] {
  display: none;
}

.zk-sidebar-search-icon,
.zk-sidebar-pin-icon {
  width: 1.15rem !important;
  height: 1.15rem !important;
  display: inline-block !important;
  background-color: currentColor !important;
  -webkit-mask-position: center !important;
  mask-position: center !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  -webkit-mask-size: contain !important;
  mask-size: contain !important;
}

.zk-sidebar-search-icon {
  -webkit-mask-image: url("/assets/static/svg/search.svg") !important;
  mask-image: url("/assets/static/svg/search.svg") !important;
}

.zk-sidebar-pin-icon {
  -webkit-mask-image: url("/assets/static/svg/pin.svg") !important;
  mask-image: url("/assets/static/svg/pin.svg") !important;
}

.zk-sidebar-search-panel {
  display: grid;
  gap: 0.25rem;
  padding-top: 0.25rem;
}

.zk-sidebar-search-panel[hidden] {
  display: none;
}

.zk-sidebar-pins,
.zk-sidebar-results {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
}

.zk-sidebar-pins[hidden],
.zk-sidebar-results[hidden],
.zk-sidebar-pin-status[hidden],
.zk-sidebar-results [hidden] {
  display: none;
}

.zk-sidebar [data-zk-sidebar-empty] .zk-card,
.zk-sidebar .zk-sidebar-results .zk-card,
.zk-sidebar-results [data-zk-sidebar-empty] .zk-card {
  background: var(--sidebar-hover-bg);
  border: 1px dashed var(--sidebar-border);
  border-radius: var(--radius);
  color: var(--sidebar-text-secondary);
  padding: 1rem 0.75rem;
  text-align: center;
  box-shadow: none;
}

.zk-sidebar [data-zk-sidebar-empty] .zk-card .zk-muted,
.zk-sidebar .zk-sidebar-results .zk-card .zk-muted,
.zk-sidebar-results [data-zk-sidebar-empty] .zk-card .zk-muted {
  color: var(--sidebar-text-muted);
  font-size: 0.8125rem;
  margin: 0;
}

.zk-sidebar-pins h2,
.zk-sidebar-results h2 {
  margin: 0.35rem 0.5rem 0.15rem;
  color: var(--sidebar-text-muted);
  font-size: 0.75rem;
  font-weight: 600;
}

.zk-sidebar-pin-list,
.zk-sidebar-result-list {
  display: grid;
  gap: 0.125rem;
}

.zk-sidebar-scope {
  display: contents;
}

.zk-cache-boundary {
  display: contents;
}

.zk-sidebar-pin-row {
  display: flex;
  align-items: center;
  min-width: 0;
  position: relative;
}

.zk-sidebar-pin-row[hidden],
.zk-nav-group-header > .zk-nav-item[hidden],
.zk-nav-group-header > [data-zk-sidebar-pin][hidden] {
  display: none;
}

.zk-nav-toggle-btn.zk-nav-toggle-pinned {
  width: 100%;
  height: auto;
  min-height: 2rem;
  padding: 0.4rem 0.5rem;
  justify-content: space-between;
  gap: 0.5rem;
  text-align: left;
}

.zk-sidebar-pin-row > .zk-nav-item {
  flex: 1;
  min-width: 0;
}

.zk-sidebar-pin-row .zk-nav-title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.zk-nav-group-header .zk-nav-title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.zk-sidebar-pin-row > .zk-button-icon-only[data-zk-sidebar-pin],
.zk-nav-group-header > .zk-button-icon-only[data-zk-sidebar-pin] {
  position: absolute;
  z-index: 1;
  top: 50%;
  right: 0.25rem;
  transform: translateY(-50%);
  width: 1.875rem;
  height: 1.875rem;
  min-width: 1.875rem;
  padding: 0.4rem;
  color: var(--sidebar-text-muted);
  border: 0;
  background: transparent;
  box-shadow: none;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.15s ease, background-color 0.15s ease;
}

.zk-nav-group-header > .zk-button-icon-only[data-zk-sidebar-pin] {
  right: 1.875rem;
}

.zk-sidebar-pin-row:hover > [data-zk-sidebar-pin],
.zk-sidebar-pin-row:focus-within > [data-zk-sidebar-pin],
.zk-nav-group-header:hover > [data-zk-sidebar-pin],
.zk-nav-group-header:focus-within > [data-zk-sidebar-pin] {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.zk-sidebar-pin-row > .zk-button-icon-only[data-zk-sidebar-pin]:hover,
.zk-sidebar-pin-row > .zk-button-icon-only[data-zk-sidebar-pin]:focus-visible,
.zk-nav-group-header > .zk-button-icon-only[data-zk-sidebar-pin]:hover,
.zk-nav-group-header > .zk-button-icon-only[data-zk-sidebar-pin]:focus-visible {
  background: var(--sidebar-hover-bg);
  color: var(--sidebar-text-primary);
  border: 0;
}

@media (hover: none) {
  .zk-sidebar-pin-row > .zk-button-icon-only[data-zk-sidebar-pin],
  .zk-nav-group-header > .zk-button-icon-only[data-zk-sidebar-pin] {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}

[data-zk-sidebar-pin][aria-pressed="true"] {
  color: var(--sidebar-pin-active-color);
  background: var(--sidebar-pin-active-bg);
}

.zk-sidebar-searching > .zk-sidebar-scope,
.zk-sidebar-searching > .zk-nav-group,
.zk-sidebar-searching > .zk-sidebar-pin-row,
.zk-sidebar-searching > .zk-nav-item {
  display: none;
}

.zk-sidebar-pin-status {
  margin: 0.25rem 0.5rem;
  color: var(--text-muted);
  font-size: 0.75rem;
}

.zk-sidebar-pin-retry[hidden] {
  display: none;
}

.zk-sidebar-pin-retry .zk-button {
  width: 100%;
  min-height: 2rem;
  font-size: 0.75rem;
}

/* ============================================================
   Breadcrumbs
   ============================================================ */
.zk-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 1.05rem;
  color: var(--text-muted);
}

.zk-breadcrumbs a {
  color: var(--text-muted);
  text-decoration: none;
}

.zk-breadcrumb-root {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  min-width: 1.5rem;
  min-height: 1.5rem;
}

.zk-breadcrumbs a:hover {
  color: var(--brand-text);
  text-decoration: underline;
}

/* ============================================================
   1. Standard Page Buttons (Nội dung trang / Form / Table / Card)
   ============================================================ */
.zk-button,
.zk-btn {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.5rem 1.25rem;
  font-size: 0.875rem;
  font-weight: 500;
  border-radius: var(--radius-button);
  border: 1px solid transparent;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
  text-decoration: none;
  font-family: var(--font-sans);
  line-height: 1.4;
  user-select: none;
}

.zk-button svg,
.zk-btn svg {
  display: inline-block;
  flex-shrink: 0;
  vertical-align: middle;
}

.zk-button:disabled,
.zk-btn:disabled {
  cursor: not-allowed;
  background: var(--surface-disabled);
  border-color: var(--border-strong);
  color: var(--text-disabled);
  opacity: 1;
}

.zk-button[aria-busy="true"],
.zk-button[data-loading="true"],
.zk-button.is-loading,
.zk-btn[aria-busy="true"],
.zk-btn[data-loading="true"],
.zk-btn.is-loading {
  cursor: wait;
}

.zk-button:focus-visible,
.zk-btn:focus-visible {
  outline: 2px solid var(--ring);
  outline-offset: 2px;
}

.zk-button-compact,
.zk-btn-compact {
  min-width: 0;
  padding: 0.25rem 0.75rem;
  font-size: 0.8125rem;
}

.zk-button-sm,
.zk-btn-sm {
  padding: 0.25rem 0.625rem;
  font-size: 0.75rem;
}

.zk-button-icon {
  width: 1rem;
  height: 1rem;
  display: block;
  flex-shrink: 0;
  pointer-events: none;
  stroke: currentColor;
  color: currentColor;
}

/* Primary Button (Nền xanh đậm, chữ trắng - chuẩn hình mẫu) */
.zk-button-primary,
.zk-btn-primary {
  background-color: var(--primary);
  color: var(--text-on-primary);
  border-color: var(--primary-border);
}

.zk-button-primary:not(:disabled):hover,
.zk-btn-primary:not(:disabled):hover {
  background-color: var(--primary-hover);
  border-color: var(--primary-hover);
  color: var(--text-on-primary);
}

.zk-button-primary:not(:disabled):active,
.zk-btn-primary:not(:disabled):active {
  background-color: var(--primary-pressed);
  border-color: var(--primary-border);
}

/* Secondary Button (Nền trắng/card, viền xám mỏng nhẹ, chữ màu chính - chuẩn hình mẫu) */
.zk-button-secondary,
.zk-btn-secondary {
  background-color: var(--card);
  color: var(--text-primary);
  border-color: var(--secondary-border);
}

.zk-button-secondary:not(:disabled):hover,
.zk-btn-secondary:not(:disabled):hover {
  background-color: var(--secondary-hover);
  border-color: var(--border-control-hover);
  color: var(--text-primary);
}

/* Danger Button */
.zk-button-danger,
.zk-button-destructive,
.zk-btn-danger,
.zk-btn-destructive {
  background-color: var(--danger);
  color: var(--text-on-danger);
  border-color: var(--danger);
}

.zk-button-danger:not(:disabled):hover,
.zk-button-destructive:not(:disabled):hover,
.zk-btn-danger:not(:disabled):hover,
.zk-btn-destructive:not(:disabled):hover {
  background-color: var(--danger-hover);
  border-color: var(--danger-hover);
  color: var(--text-on-danger);
}

/* Warning Button (Nền cam vàng, chữ trắng) */
.zk-button-warning {
  color: var(--warning-button);
  border-color: var(--warning-button);
}

.zk-button-warning:not(:disabled):hover {
  background-color: var(--warning-light);
  border-color: var(--warning-button-hover);
}

/* Ghost Button (Trong suốt, không viền) */
.zk-button-ghost {
  background-color: transparent;
  color: var(--text-secondary);
  border-color: transparent;
}

.zk-button-ghost:not(:disabled):hover {
  background-color: var(--zk-btn-ghost-hover);
  color: var(--text-primary);
}

/* Outline Button (Viền xám nhẹ, hover nền xanh nhạt) */
.zk-button-outline {
  background-color: transparent;
  color: var(--text-primary);
  border-color: var(--secondary-border);
}

.zk-button-outline:not(:disabled):hover {
  border-color: var(--primary);
  color: var(--brand-text);
  background-color: var(--primary-light);
}

.zk-button-outline.is-danger:not(:disabled):hover {
  border-color: var(--destructive);
  color: var(--destructive);
  background-color: var(--destructive-light);
}

/* Excel / Success Button (Nền xanh lá thành công) */
.zk-button-excel,
.zk-button-success {
  background-color: var(--success);
  color: var(--text-on-primary);
  border-color: var(--success);
}

.zk-button-excel:not(:disabled):hover,
.zk-button-success:not(:disabled):hover {
  background-color: var(--primary);
  border-color: var(--primary);
  color: var(--text-on-primary);
}

.zk-floating-excel-container {
  display: none !important;
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 50;
  pointer-events: auto;
}

.zk-floating-excel-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background-color: var(--success);
  color: var(--text-on-primary);
  border: 1px solid var(--success);
  border-radius: var(--radius-button);
  box-shadow: 0 4px 16px var(--overlay-shadow);
  padding: 0.65rem 1.25rem;
  font-weight: 600;
  font-size: 0.875rem;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease;
}

.zk-floating-excel-btn:hover {
  background-color: var(--primary);
  border-color: var(--primary);
  color: var(--text-on-primary);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px var(--overlay-shadow);
}

/* Standalone icon controls. Text buttons and embedded input controls keep
   their existing presentation. Geometry remains owned by each shared control. */
.zk-button-icon-only {
  width: 2.25rem;
  min-width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  font-size: 0;
  line-height: 0;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
}

.zk-button-icon-only svg,
.zk-button-icon-only .zk-button-icon {
  width: 1.15rem;
  height: 1.15rem;
  margin: 0 auto;
  display: block;
  flex-shrink: 0;
}

:is(.zk-button-icon-only, .zk-icon-control) {
  --zk-icon-color: var(--text-secondary);
  --zk-icon-hover-color: var(--text-primary);
  --zk-icon-hover-bg: var(--surface-hover);
  --zk-icon-pressed-bg: var(--surface-pressed);
  --zk-icon-focus: var(--ring);
}

:is(.zk-button-icon-only, .zk-icon-control):is(.zk-button-primary) {
  --zk-icon-color: var(--brand-text);
  --zk-icon-hover-color: var(--brand-text);
  --zk-icon-hover-bg: var(--primary-light);
  --zk-icon-pressed-bg: var(--primary-light);
}

:is(.zk-button-icon-only, .zk-icon-control):is(.zk-button-danger, .zk-icon-control-danger, .is-danger) {
  --zk-icon-color: var(--destructive-text);
  --zk-icon-hover-color: var(--destructive-text);
  --zk-icon-hover-bg: var(--destructive-light);
  --zk-icon-pressed-bg: var(--destructive-light);
}

:is(.zk-button-icon-only, .zk-icon-control):is(.zk-button-success, .zk-button-excel, .is-copied) {
  --zk-icon-color: var(--success-text);
  --zk-icon-hover-color: var(--success-text);
  --zk-icon-hover-bg: var(--success-light);
  --zk-icon-pressed-bg: var(--success-light);
}

:is(.zk-button-icon-only, .zk-icon-control).zk-button-warning {
  --zk-icon-color: var(--warning-text);
  --zk-icon-hover-color: var(--warning-text);
  --zk-icon-hover-bg: var(--warning-light);
  --zk-icon-pressed-bg: var(--warning-light);
}

:is(.zk-button-icon-only, .zk-icon-control):not(:where(.zk-action-menu-popup *)) {
  border: 0;
  border-radius: var(--radius);
  box-shadow: none;
  transition: background-color 0.15s ease, color 0.15s ease;
}

:is(.zk-button-icon-only, .zk-icon-control):not(:where(.zk-action-menu-popup *)):not(:disabled):not([aria-disabled="true"]) {
  background: var(--zk-icon-rest-bg, transparent);
  color: var(--zk-icon-color);
}

:is(.zk-button-icon-only, .zk-icon-control):not(:where(.zk-action-menu-popup *)):not(:disabled):not([aria-disabled="true"]):is(:hover, :focus-visible) {
  background: var(--zk-icon-hover-bg);
  color: var(--zk-icon-hover-color);
}

:is(.zk-button-icon-only, .zk-icon-control):not(:where(.zk-action-menu-popup *)):not(:disabled):not([aria-disabled="true"]):active {
  background: var(--zk-icon-pressed-bg);
}

/* Component defaults also preserve older SSR markup during a DEV asset/binary cutover.
   Explicit selection policies override these defaults without class-name exceptions. */
:where(.zk-sidebar-toggle, .zk-topbar-sidebar-toggle, .zk-nav-toggle-btn),
[data-zk-icon-selection="none"] {
  --zk-icon-selected-bg: transparent;
  --zk-icon-selected-color: var(--text-secondary);
  --zk-icon-selected-hover-bg: var(--surface-hover);
  --zk-icon-selected-hover-color: var(--text-primary);
}

:where(.zk-sidebar-shortcut),
[data-zk-icon-selection="neutral"] {
  --zk-icon-selected-bg: var(--surface-hover);
  --zk-icon-selected-color: var(--text-primary);
  --zk-icon-selected-hover-bg: var(--surface-hover);
  --zk-icon-selected-hover-color: var(--text-primary);
}

[data-zk-icon-selection="brand"] {
  --zk-icon-selected-bg: var(--primary-light);
  --zk-icon-selected-color: var(--brand-text);
  --zk-icon-selected-hover-bg: var(--primary-light);
  --zk-icon-selected-hover-color: var(--brand-text);
}

:is(.zk-button-icon-only, .zk-icon-control):not(:where(.zk-action-menu-popup *)):not(:disabled):not([aria-disabled="true"]):is([aria-pressed="true"], [aria-expanded="true"], [aria-current="page"], [data-subscribed="true"], .is-active, .zk-pinned) {
  --zk-icon-rest-bg: var(--zk-icon-selected-bg, var(--primary-light));
  --zk-icon-color: var(--zk-icon-selected-color, var(--brand-text));
  --zk-icon-hover-color: var(--zk-icon-selected-hover-color, var(--brand-text));
  --zk-icon-hover-bg: var(--zk-icon-selected-hover-bg, var(--primary-light));
}

:is(.zk-button-icon-only, .zk-icon-control):not(:where(.zk-action-menu-popup *)):is(:disabled, [aria-disabled="true"]) {
  background: transparent;
  color: var(--text-disabled);
  cursor: not-allowed;
  box-shadow: none;
}

:is(.zk-button-icon-only, .zk-icon-control):not(:where(.zk-action-menu-popup *)):focus-visible {
  outline: 2px solid var(--zk-icon-focus);
  outline-offset: 2px;
}

.zk-icon-control {
  min-width: 1.5rem;
  min-height: 1.5rem;
  cursor: pointer;
}

.zk-icon-control:is([aria-busy="true"], [data-loading="true"], .is-loading) {
  cursor: wait;
}

.zk-copy-control {
  padding: 0.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.zk-copy-control .zk-copy-icon-success,
.zk-copy-control.is-copied .zk-copy-icon-default {
  display: none;
}

.zk-copy-control.is-copied .zk-copy-icon-success {
  display: block;
}

/* The shared modal header is a solid brand surface. */
.zk-modal-header .zk-icon-control {
  --zk-icon-color: var(--text-on-primary);
  --zk-icon-hover-color: var(--text-on-primary);
  --zk-icon-hover-bg: var(--media-overlay-control-hover);
  --zk-icon-pressed-bg: var(--media-overlay-control-hover);
  --zk-icon-focus: var(--text-on-primary);
}

@media (prefers-reduced-motion: reduce) {

  .zk-button,
  .zk-button-icon-only,
  .zk-icon-control,
  .zk-nav-chevron,
  .zk-switch-track,
  .zk-switch-thumb,
  .zk-switch-pill-track,
  .zk-switch-pill-thumb,
  .zk-sidebar,
  .zk-sidebar-hover-zone,
  .zk-role-filter-chip,
  .zk-permission-card,
  .zk-role-search-input {
    transition-duration: 0.01ms;
  }

  .zk-toast,
  .zk-toast-item,
  .zk-modal-overlay,
  .zk-modal,
  .zk-filter-toolbar.is-compact .zk-filter-panel {
    animation: none;
    transition-duration: 0.01ms;
  }
}

.zk-form-actions {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

.zk-switch {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 2.75rem;
  padding: 0.35rem;
  border: 0;
  border-radius: var(--radius);
  color: var(--text-muted);
  background: transparent;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.zk-switch:hover {
  color: var(--text-primary);
  background: var(--surface-hover);
}

.zk-switch:focus-visible {
  outline: 3px solid var(--ring);
  outline-offset: 2px;
}

.zk-switch-track {
  position: relative;
  width: 2.5rem;
  height: 1.35rem;
  flex: 0 0 auto;
  border: 1px solid var(--border);
  border-radius: var(--radius-pill);
  background: var(--background);
  transition: background-color 160ms ease, border-color 160ms ease;
}

.zk-switch-thumb {
  position: absolute;
  top: 0.15rem;
  left: 0.15rem;
  width: 0.95rem;
  height: 0.95rem;
  border-radius: var(--radius-pill);
  background: var(--text-muted);
  transition: transform 160ms ease, background-color 160ms ease;
}

.zk-switch[aria-checked="true"] .zk-switch-track {
  border-color: var(--primary-border);
  background: var(--primary);
}

.zk-switch[aria-checked="true"] .zk-switch-thumb {
  background: var(--text-on-primary);
  transform: translateX(1.15rem);
}

.zk-switch-pill {
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  user-select: none;
}

.zk-switch-pill input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}

.zk-switch-pill-track {
  position: relative;
  display: inline-block;
  width: 2.25rem;
  height: 1.25rem;
  border: 1px solid var(--input-border);
  background-color: var(--surface-pressed);
  border-radius: var(--radius-pill);
  transition: background-color 160ms ease, border-color 160ms ease;
}

.zk-switch-pill-thumb {
  position: absolute;
  top: 0.15rem;
  left: 0.15rem;
  width: 0.95rem;
  height: 0.95rem;
  background-color: var(--card);
  border-radius: 50%;
  box-shadow: 0 1px 3px var(--overlay-shadow);
  transition: transform 160ms ease;
}

.zk-switch-pill input:checked+.zk-switch-pill-track {
  border-color: var(--primary-border);
  background-color: var(--primary);
}

.zk-switch-pill input:checked+.zk-switch-pill-track .zk-switch-pill-thumb {
  transform: translateX(1rem);
}

.zk-switch-pill input:focus-visible+.zk-switch-pill-track {
  outline: 2px solid var(--ring);
  outline-offset: 2px;
}

.zk-inline-action-form {
  display: inline;
  margin: 0;
}

/* ============================================================
   Modal and structured details
   ============================================================ */
body.zk-modal-open {
  overflow: hidden;
}

@keyframes zkModalOverlayIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes zkModalSlideIn {
  from {
    opacity: 0;
    transform: translateY(-12px) scale(0.98);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.zk-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background: var(--overlay-backdrop);
  box-sizing: border-box;
  animation: zkModalOverlayIn 0.18s ease;
}

.zk-modal-overlay[hidden] {
  display: none;
}

.zk-modal {
  width: min(37.5rem, 100%);
  max-height: 85vh;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--input-border);
  border-radius: var(--radius);
  background: var(--card);
  box-shadow: var(--shadow-lg);
  animation: zkModalSlideIn 0.22s cubic-bezier(0.22, 1, 0.36, 1);
}

.zk-modal:focus {
  outline: none;
}

#zk-modal-community-class-attendees .zk-modal {
  max-width: 860px;
  width: 94vw;
}

#zk-modal-edit-member .zk-modal,
#zk-modal-create-member .zk-modal {
  max-width: 800px;
  width: 94vw;
}

#zk-modal-edit-member .zk-form-row,
#zk-modal-create-member .zk-form-row {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0.35rem !important;
  width: 100% !important;
  padding-bottom: 0 !important;
}

#zk-modal-edit-member .zk-form-row label,
#zk-modal-create-member .zk-form-row label {
  font-size: 0.8125rem !important;
  font-weight: 500 !important;
  color: var(--foreground-muted) !important;
  margin-bottom: 0 !important;
  grid-column: auto !important;
}

#zk-modal-edit-member .zk-form-row input,
#zk-modal-edit-member .zk-form-row select,
#zk-modal-edit-member .zk-form-row textarea,
#zk-modal-create-member .zk-form-row input,
#zk-modal-create-member .zk-form-row select,
#zk-modal-create-member .zk-form-row textarea {
  grid-column: auto !important;
  width: 100% !important;
}

.zk-edit-member-layout {
  display: flex;
  gap: 1.5rem;
  padding: 0.25rem 0;
}

@media (max-width: 680px) {
  .zk-edit-member-layout {
    flex-direction: column;
    align-items: center;
  }
}

.zk-edit-member-aside {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.85rem;
  width: 13rem;
  flex-shrink: 0;
  padding: 1.25rem 0.85rem;
  background: var(--surface-muted);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
}

.zk-edit-member-avatar-box {
  width: 7.5rem;
  height: 7.5rem;
  border-radius: 50%;
  border: 3px solid var(--primary);
  background: var(--surface);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--shadow-sm);
  position: relative;
}

.zk-edit-member-avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.zk-edit-member-code-badge {
  font-size: 0.8125rem;
  padding: 0.25rem 0.65rem;
  border-radius: var(--radius-full);
  background: var(--surface);
  border: 1px solid var(--border);
  color: var(--foreground);
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

.zk-edit-member-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-width: 0;
}

.zk-edit-member-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.85rem 1rem;
}

@media (max-width: 540px) {
  .zk-edit-member-grid {
    grid-template-columns: 1fr;
  }
}

.zk-edit-member-grid .zk-grid-full {
  grid-column: 1 / -1;
}

#zk-modal-community-class-attendees .zk-table-wrap {
  max-height: calc(100vh - 280px);
  overflow-y: auto;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--card);
}

#zk-modal-community-class-attendees .zk-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--card);
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: none;
}

#zk-modal-community-class-attendees .zk-dynamic-grid-view,
#zk-modal-community-class-attendees .zk-dynamic-paired-grid-view {
  display: none !important;
}

.zk-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.125rem 1.25rem 1rem;
  border-bottom: 1px solid var(--border);
  color: var(--text-on-primary);
  background: var(--primary);
}

.zk-modal-header h2,
.zk-modal-header h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.3;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  text-shadow: none;
}

.zk-modal-close {
  width: 2rem;
  min-width: 2rem;
  height: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  opacity: 1;
  flex-shrink: 0;
}

.zk-modal-close svg {
  width: 1rem;
  height: 1rem;
}

/* Horizon Stream Live Check-In Modal: Shared ERP Component */
.zk-attendance-modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--overlay-backdrop);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.zk-attendance-modal-backdrop.zk-modal-open {
  opacity: 1;
  visibility: visible;
}
.zk-attendance-modal-stage {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
  width: 96%;
  max-width: 44rem;
  transition: max-width 0.35s cubic-bezier(0.16, 1, 0.3, 1), transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  transform: scale(0.96);
}
.zk-attendance-modal-backdrop.zk-modal-open .zk-attendance-modal-stage {
  transform: scale(1);
}
.zk-attendance-modal-stage.is-stream {
  max-width: 78rem;
}
@media (max-width: 1200px) {
  .zk-attendance-modal-stage.is-stream {
    max-width: 96vw;
    gap: 0.75rem;
  }
}
@media (max-width: 900px) {
  .zk-attendance-modal-stage.is-stream {
    flex-direction: column-reverse;
    max-width: 36rem;
    max-height: 90vh;
    overflow-y: auto;
  }
}

/* History cards on left */
.zk-modal-history-stream {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem;
  flex: 0 1 auto;
  overflow: hidden;
  padding: 0.5rem 0.25rem;
}
@media (max-width: 900px) {
  .zk-modal-history-stream {
    width: 100%;
    justify-content: flex-start;
    overflow-x: auto;
  }
}
.zk-modal-history-card {
  flex: 0 0 10.75rem;
  width: 10.75rem;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius-card, 1rem);
  box-shadow: 0 10px 25px -5px var(--overlay-shadow);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 0.75rem 0.85rem;
  overflow: hidden;
  position: relative;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  animation: zk-card-slide-left 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes zk-card-slide-left {
  from { opacity: 0; transform: translateX(30px) scale(0.92); }
  to { opacity: 1; transform: translateX(0); }
}
.zk-modal-history-stream .zk-modal-history-card:nth-last-child(1) { opacity: 0.98; transform: scale(1); }
.zk-modal-history-stream .zk-modal-history-card:nth-last-child(2) { opacity: 0.85; transform: scale(0.94); }
.zk-modal-history-stream .zk-modal-history-card:nth-last-child(3) { opacity: 0.68; transform: scale(0.88); }
.zk-modal-history-stream .zk-modal-history-card:nth-last-child(n+4) { opacity: 0.5; transform: scale(0.82); }
.zk-modal-history-card:hover {
  opacity: 1 !important;
  transform: scale(1.02) !important;
  box-shadow: 0 16px 32px -6px var(--overlay-shadow);
  z-index: 5;
}
.zk-modal-history-card.is-expired { border-color: color-mix(in srgb, var(--destructive-border) 35%, transparent); }
.zk-modal-history-card.is-warning { border-color: color-mix(in srgb, var(--warning-border) 35%, transparent); }
.zk-modal-history-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 0.45rem; font-size: 0.75rem; color: var(--muted); }
.zk-modal-history-avatar-box {
  width: 3.5rem; height: 3.5rem; border-radius: 50%; border: 2px solid var(--border);
  margin: 0 auto 0.4rem auto; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 12px var(--overlay-shadow); overflow: hidden; flex-shrink: 0;
}
.zk-modal-history-avatar-box img { width: 100%; height: 100%; object-fit: cover; }
.zk-modal-history-avatar-initial { font-size: 1.4rem; font-weight: 800; color: var(--text-on-primary); text-shadow: 0 1px 3px var(--overlay-shadow); }
.zk-modal-history-name { font-size: 0.92rem; font-weight: 700; color: var(--foreground); margin: 0 0 0.15rem 0; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.zk-modal-history-id { font-size: 0.72rem; color: var(--muted); text-align: center; margin-bottom: 0.45rem; font-weight: 500; }
.zk-modal-history-meta { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 0.35rem 0.5rem; font-size: 0.72rem; margin-bottom: 0.5rem; display: flex; flex-direction: column; gap: 0.2rem; }
.zk-modal-history-meta-row { display: flex; justify-content: space-between; align-items: center; gap: 0.25rem; }
.zk-modal-history-meta-lbl { color: var(--muted); font-size: 0.7rem; font-weight: 500; }
.zk-modal-history-meta-val { font-weight: 600; color: var(--foreground); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-align: right; max-width: 6.5rem; }

/* Active Card (Current Scan) */
.zk-modal-card-current {
  background: var(--card);
  border: 2.5px solid var(--border);
  border-radius: var(--radius);
  flex: 0 0 52rem;
  width: 52rem;
  min-width: 32rem;
  max-width: min(58rem, 95vw);
  box-shadow: 0 25px 60px -15px var(--overlay-shadow);
  position: relative !important;
  overflow: hidden;
  transform: scale(0.96);
  transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), border-color 0.2s ease, box-shadow 0.2s ease;
}
.zk-attendance-modal-backdrop.zk-modal-open .zk-modal-card-current {
  transform: scale(1);
}
.zk-modal-card-current.zk-card-success {
  border-color: var(--success-border);
  box-shadow: 0 24px 60px -10px color-mix(in srgb, var(--success-border) 28%, transparent), 0 0 0 1px color-mix(in srgb, var(--success-border) 15%, transparent);
}
.zk-modal-card-current.zk-card-warning {
  border-color: var(--warning-border);
  box-shadow: 0 24px 60px -10px color-mix(in srgb, var(--warning-border) 28%, transparent), 0 0 0 1px color-mix(in srgb, var(--warning-border) 15%, transparent);
}
.zk-modal-card-current.zk-card-danger {
  border-color: var(--destructive-border);
  box-shadow: 0 24px 60px -10px color-mix(in srgb, var(--destructive-border) 28%, transparent), 0 0 0 1px color-mix(in srgb, var(--destructive-border) 15%, transparent);
}

/* Close Button: Fixed to top right of the card */
.zk-modal-card-current #zk-modal-close-btn,
.zk-modal-card-current .zk-attendance-modal-close-btn,
.zk-modal-card-current .zk-modal-close,
.zk-attendance-modal-card #zk-modal-close-btn,
.zk-attendance-modal-card .zk-attendance-modal-close-btn,
.zk-attendance-modal-card .zk-modal-close,
.zk-attendance-modal-close-btn {
  position: absolute !important;
  top: 0.75rem !important;
  right: 0.75rem !important;
  width: 2.25rem !important;
  height: 2.25rem !important;
  min-width: 2.25rem !important;
  border-radius: 50% !important;
  background: var(--surface) !important;
  border: 1px solid var(--border) !important;
  color: var(--muted) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  padding: 0 !important;
  z-index: 100 !important;
  box-shadow: var(--shadow-xs);
  transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.zk-modal-card-current #zk-modal-close-btn:hover,
.zk-modal-card-current .zk-attendance-modal-close-btn:hover,
.zk-modal-card-current .zk-modal-close:hover,
.zk-attendance-modal-card #zk-modal-close-btn:hover,
.zk-attendance-modal-card .zk-attendance-modal-close-btn:hover,
.zk-attendance-modal-card .zk-modal-close:hover,
.zk-attendance-modal-close-btn:hover {
  background: var(--destructive-light) !important;
  color: var(--destructive, var(--destructive-border)) !important;
  border-color: var(--destructive-border) !important;
  transform: scale(1.1) !important;
}
.zk-modal-card-current #zk-modal-close-btn svg,
.zk-modal-card-current .zk-attendance-modal-close-btn svg,
.zk-modal-card-current .zk-modal-close svg,
.zk-attendance-modal-card #zk-modal-close-btn svg,
.zk-attendance-modal-card .zk-attendance-modal-close-btn svg,
.zk-attendance-modal-card .zk-modal-close svg,
.zk-attendance-modal-close-btn svg {
  width: 1.25rem !important;
  height: 1.25rem !important;
  stroke: currentColor !important;
  stroke-width: 2.5 !important;
  display: block !important;
}

/* Modal Inner Layout & Components */
.zk-attendance-modal-progress-bar {
  height: 5px;
  background: var(--success-border);
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: width 0.05s linear;
  z-index: 10;
}
.zk-modal-card-current.zk-card-warning .zk-attendance-modal-progress-bar { background: var(--warning-border); }
.zk-modal-card-current.zk-card-danger .zk-attendance-modal-progress-bar { background: var(--destructive-border); }

.zk-attendance-modal-top-bar {
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
  align-items: center;
  padding: 0.85rem 1.5rem;
  padding-right: 3.75rem;
  border-bottom: 1px solid var(--border);
  background: var(--surface);
}
.zk-modal-current-badge {
  font-weight: 700;
  font-size: 0.875rem;
  padding: 0.35rem 0.85rem;
  background: var(--primary-light);
  color: var(--primary);
  border: 1px solid var(--primary-border);
}
.zk-modal-curr-grid {
  display: grid;
  grid-template-columns: minmax(180px, 220px) 1fr;
  gap: 1.75rem;
  padding: 1.5rem 1.75rem;
  align-items: center;
}
@media (max-width: 768px) {
  .zk-modal-card-current { flex: 1 1 100%; width: 100%; min-width: 0; }
  .zk-modal-curr-grid { grid-template-columns: 1fr; gap: 1.25rem; padding: 1.25rem; }
}
.zk-modal-curr-left-panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 0.25rem 0;
  width: 100%;
  max-width: 220px;
  box-sizing: border-box;
  text-align: center;
}
.zk-attendance-modal-avatar-xl {
  width: 12.5rem;
  height: 12.5rem;
  border-radius: 50%;
  border: 4.5px solid var(--border);
  overflow: hidden;
  background: var(--surface);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 16px 36px -8px var(--overlay-shadow);
  flex-shrink: 0;
  transition: all 0.2s ease;
}
.zk-modal-card-current.zk-card-success .zk-attendance-modal-avatar-xl {
  border-color: var(--success-border);
  box-shadow: 0 0 0 5px color-mix(in srgb, var(--success-border) 20%, transparent), 0 16px 36px -8px var(--overlay-shadow);
}
.zk-modal-card-current.zk-card-warning .zk-attendance-modal-avatar-xl {
  border-color: var(--warning-border);
  box-shadow: 0 0 0 5px color-mix(in srgb, var(--warning-border) 20%, transparent), 0 16px 36px -8px var(--overlay-shadow);
}
.zk-modal-card-current.zk-card-danger .zk-attendance-modal-avatar-xl {
  border-color: var(--destructive-border);
  box-shadow: 0 0 0 5px color-mix(in srgb, var(--destructive-border) 20%, transparent), 0 16px 36px -8px var(--overlay-shadow);
}
.zk-attendance-modal-avatar-xl img, .zk-modal-avatar-img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.zk-attendance-modal-avatar-xl .zk-modal-avatar-initial { font-size: 5.5rem; font-weight: 800; color: var(--text-on-primary); line-height: 1; text-shadow: 0 3px 6px var(--overlay-shadow); }

.zk-status-pill-lg {
  font-size: 0.875rem;
  font-weight: 800;
  padding: 0.5rem 1.15rem;
  border-radius: 9999px;
  text-align: center;
  white-space: normal;
  word-break: break-word;
  line-height: 1.3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  max-width: 100%;
  box-sizing: border-box;
  letter-spacing: 0.03em;
  box-shadow: var(--shadow-xs);
}
.zk-modal-access-sub { display: none !important; }

.zk-modal-curr-right-panel {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  min-width: 0;
}
.zk-attendance-modal-name-xl {
  font-size: 1.85rem;
  font-weight: 800;
  color: var(--foreground);
  margin: 0;
  line-height: 1.2;
  letter-spacing: -0.02em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.zk-attendance-modal-meta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6rem 0.85rem;
  margin-top: 0.35rem;
  font-size: 0.92rem;
  color: var(--muted);
  font-weight: 500;
}
.zk-attendance-modal-meta-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  background: var(--surface);
  border: 1px solid var(--border);
  padding: 0.2rem 0.65rem;
  border-radius: 0.5rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--foreground);
}
.zk-attendance-modal-meta-chip .zk-chip-lbl {
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
}
.zk-modal-curr-details-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.65rem 1.25rem;
  background: var(--surface);
  border: 1.5px solid var(--border);
  border-radius: var(--radius);
  padding: 0.9rem 1.15rem;
  font-size: 0.9rem;
}
@media (max-width: 600px) {
  .zk-modal-curr-details-grid { grid-template-columns: 1fr; }
}
.zk-modal-detail-item {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  min-width: 0;
}
.zk-modal-detail-label {
  font-size: 0.72rem;
  color: var(--muted);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.zk-modal-detail-value {
  font-weight: 700;
  font-size: 0.95rem;
  color: var(--foreground);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.zk-modal-detail-value.zk-wrap-text {
  white-space: normal !important;
  line-height: 1.35 !important;
  word-break: break-word !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
.zk-modal-detail-value-lg { font-size: 1.05rem; }

.zk-modal-msg-box-lg {
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--foreground);
  margin: 0;
  padding: 0.75rem 1rem;
  background: var(--surface);
  border: 1.5px solid var(--border);
  border-left: 4.5px solid var(--primary);
  border-radius: var(--radius);
  line-height: 1.45;
}
.zk-modal-card-current.zk-card-success .zk-modal-msg-box-lg {
  border-left-color: var(--success-border);
  background: color-mix(in srgb, var(--success-border) 6%, transparent);
}
.zk-modal-card-current.zk-card-warning .zk-modal-msg-box-lg {
  border-left-color: var(--warning-border);
  background: color-mix(in srgb, var(--warning-border) 6%, transparent);
}
.zk-modal-card-current.zk-card-danger .zk-modal-msg-box-lg {
  border-left-color: var(--destructive-border);
  background: color-mix(in srgb, var(--destructive-border) 6%, transparent);
}

/* Quick Actions Bar at bottom of modal */
.zk-modal-actions-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-top: 0.15rem;
  padding-top: 0.5rem;
}
.zk-modal-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.8125rem;
  padding: 0.35rem 0.75rem;
  border-radius: var(--radius-sm, 0.375rem);
  transition: all 0.15s ease;
}
.zk-modal-auto-dismiss-hint {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.75rem;
  color: var(--muted);
}
.zk-dismiss-dot {
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: var(--primary);
  display: inline-block;
  animation: zk-pulse-dot 1.5s infinite;
}
@keyframes zk-pulse-dot {
  0%, 100% { transform: scale(0.9); opacity: 0.5; }
  50% { transform: scale(1.15); opacity: 1; }
}

.zk-modal-content {
  min-height: 0;
  overflow-y: auto;
  padding: 1.25rem;
}

.zk-modal .zk-form-row:not(.is-stacked),
.zk-modal-body .zk-form-row:not(.is-stacked) {
  display: grid !important;
  grid-template-columns: 10rem 1fr !important;
  align-items: center !important;
  gap: 0.5rem 1rem !important;
  width: 100%;
  padding-bottom: 0.5rem;
}

.zk-modal .zk-form-row:not(.is-stacked) label,
.zk-modal-body .zk-form-row:not(.is-stacked) label {
  font-weight: 500;
  color: var(--text-primary);
  margin-bottom: 0;
  grid-column: 1;
}

.zk-modal .zk-form-row:not(.is-stacked) input:not([type="checkbox"]):not([type="radio"]),
.zk-modal .zk-form-row:not(.is-stacked) textarea,
.zk-modal .zk-form-row:not(.is-stacked) select,
.zk-modal-body .zk-form-row:not(.is-stacked) input:not([type="checkbox"]):not([type="radio"]),
.zk-modal-body .zk-form-row:not(.is-stacked) textarea,
.zk-modal-body .zk-form-row:not(.is-stacked) select {
  width: 100%;
  box-sizing: border-box;
  grid-column: 2;
}

.zk-modal .zk-form-row:not(.is-stacked) .zk-muted,
.zk-modal .zk-form-row:not(.is-stacked) .zk-field-error,
.zk-modal-body .zk-form-row:not(.is-stacked) .zk-muted,
.zk-modal-body .zk-form-row:not(.is-stacked) .zk-field-error {
  grid-column: 2;
}

@media (max-width: 640px) {

  .zk-modal .zk-form-row:not(.is-stacked),
  .zk-modal-body .zk-form-row:not(.is-stacked) {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0.375rem !important;
  }
}

.zk-modal .zk-checkbox-option,
.zk-modal-body .zk-checkbox-option {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 0.5rem !important;
  width: auto !important;
  cursor: pointer !important;
  margin: 0 !important;
  padding: 0 !important;
}

.zk-modal .zk-checkbox-option input[type="checkbox"],
.zk-modal-body .zk-checkbox-option input[type="checkbox"] {
  width: 1.125rem !important;
  min-width: 1.125rem !important;
  height: 1.125rem !important;
  margin: 0 !important;
  flex: none !important;
  accent-color: var(--primary);
}

.zk-modal .zk-checkbox-option span,
.zk-modal-body .zk-checkbox-option span {
  flex: none !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  color: var(--text-primary) !important;
}

.zk-modal-footer,
.zk-modal-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 1.5rem;
  margin: 0;
  border-top: 1px solid var(--border);
  background: var(--surface);
  border-bottom-left-radius: var(--radius);
  border-bottom-right-radius: var(--radius);
  flex-shrink: 0;
}

.zk-modal-overlay.zk-confirm-dialog,
.zk-modal-overlay.zk-alert-dialog,
.zk-confirm-dialog,
.zk-alert-dialog,
[data-zk-confirm-dialog],
[data-zk-alert-dialog],
[data-zk-governed-dialog] {
  z-index: 20000 !important;
}

.zk-confirm-dialog-panel {
  width: min(32rem, 94vw);
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg, 12px);
  box-shadow: var(--shadow-lg);
  overflow: hidden;
}

.zk-confirm-dialog-panel .zk-modal-header {
  padding: 1.125rem 1.35rem;
  background: var(--surface);
  color: var(--foreground);
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.zk-confirm-dialog-panel .zk-modal-header h2,
.zk-confirm-dialog-panel .zk-modal-header h3 {
  margin: 0;
  color: var(--foreground);
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.zk-confirm-dialog-panel .zk-modal-header .zk-modal-close,
.zk-confirm-dialog-panel .zk-modal-header .zk-icon-control {
  --zk-icon-color: var(--muted);
  --zk-icon-hover-color: var(--foreground);
  --zk-icon-hover-bg: var(--surface-hover);
  color: var(--muted);
  background: transparent;
  border-radius: var(--radius-sm);
  transition: all 0.15s ease;
}

.zk-confirm-dialog-panel .zk-modal-header .zk-modal-close:hover,
.zk-confirm-dialog-panel .zk-modal-header .zk-icon-control:hover {
  color: var(--foreground);
  background: var(--surface-hover);
}

.zk-confirm-dialog-panel .zk-modal-content {
  padding: 1.25rem 1.35rem;
  background: var(--card);
}

.zk-confirm-dialog-message {
  margin: 0;
  color: var(--foreground);
  font-size: 0.9375rem;
  line-height: 1.6;
  overflow-wrap: anywhere;
  -webkit-font-smoothing: antialiased;
  text-shadow: none;
  -webkit-text-stroke: 0;
}

.zk-confirm-dialog-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin: 1.5rem -1.35rem -1.25rem;
  padding: 1rem 1.35rem;
  border-top: 1px solid var(--border);
  background: var(--surface);
  border-radius: 0 0 var(--radius-lg, 12px) var(--radius-lg, 12px);
}

.zk-alert-dialog .zk-confirm-dialog-actions {
  justify-content: flex-end;
}

.zk-confirm-dialog-actions .zk-button {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.55rem 1.15rem;
  font-size: 0.875rem;
  font-weight: 600;
  border-radius: var(--radius-sm, 6px);
  cursor: pointer;
  transition: all 0.15s ease;
}

.zk-confirm-dialog-actions .zk-button-secondary {
  background-color: var(--card);
  color: var(--foreground);
  border: 1px solid var(--border);
}

.zk-confirm-dialog-actions .zk-button-secondary:hover {
  background-color: var(--surface-hover);
  border-color: var(--border-control-hover);
}

.zk-confirm-dialog-actions .zk-button-primary {
  background-color: var(--primary);
  color: var(--text-on-primary);
  border: 1px solid var(--primary-border);
}

.zk-confirm-dialog-actions .zk-button-primary:hover {
  background-color: var(--primary-hover);
  border-color: var(--primary-hover);
}

@media (max-width: 640px) {
  .zk-confirm-dialog-actions {
    flex-direction: column-reverse;
  }

  .zk-confirm-dialog-actions .zk-button {
    width: 100%;
    justify-content: center;
  }
}

.zk-detail-label {
  font-weight: 600;
}

/* Shared profile identity, action toolbar and read-only field sections. */
.zk-profile-identity {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
}
.zk-profile-identity-avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.5rem;
  height: 4.5rem;
  flex-shrink: 0;
  overflow: hidden;
  border: 2px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--surface);
  color: var(--brand-text);
  font-size: 1.5rem;
  font-weight: 700;
}
.zk-profile-identity-avatar img { width: 100%; height: 100%; object-fit: cover; }
.zk-profile-identity-content { min-width: 0; }
.zk-profile-identity-heading { display: flex; align-items: center; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 0.5rem; }
.zk-profile-identity-name {
  margin: 0 0 0.5rem;
  color: var(--foreground);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.zk-profile-identity-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; }
.zk-profile-identity-meta-item { display: inline-flex; flex-wrap: wrap; gap: 0.4rem; font-size: 0.875rem; color: var(--muted); }
.zk-profile-identity-meta-item strong { color: var(--foreground); font-weight: 600; }
.zk-profile-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; min-width: 0; }
.zk-profile-field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem 2rem;
}
.zk-profile-field-grid > .zk-detail-item { display: flex; flex-direction: column; gap: 0.4rem; min-width: 0; }
.zk-profile-field-grid .zk-detail-label { font-size: 0.8125rem; font-weight: 500; color: var(--muted); }
.zk-profile-field-grid .zk-detail-value { color: var(--foreground); font-size: 0.9375rem; font-weight: 600; overflow-wrap: anywhere; white-space: pre-wrap; width: auto; text-align: left; }
.zk-profile-section { min-width: 0; }
.zk-profile-dashboard { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.zk-profile-summary-section { grid-column: 1 / -1; min-width: 0; }
.zk-profile-summary-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: 0.75rem; }
.zk-profile-summary-card { padding: 1rem; min-width: 0; }
.zk-profile-summary-label { display: flex; align-items: center; gap: 0.5rem; color: var(--brand-text); font-size: 0.8125rem; font-weight: 600; }
.zk-profile-summary-label svg { width: 1rem; height: 1rem; }
.zk-profile-summary-value { margin-top: 0.5rem; font-size: 1.5rem; font-weight: 700; color: var(--foreground); overflow-wrap: anywhere; }
.zk-profile-metrics-grid { grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: 1rem; }
.zk-profile-metrics-grid .zk-detail-value { font-size: 1.125rem; }
.zk-profile-table-body { overflow-x: auto; min-width: 0; }
.zk-profile-table-body .zk-table { white-space: nowrap; }
.zk-profile-table-body .zk-table th { font-size: 0.8125rem; }
.zk-profile-table-body .zk-table td { vertical-align: middle; }
.zk-profile-collection-pagination { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1rem; }
.zk-profile-table-body:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; }
@media (max-width: 640px) {
  .zk-profile-field-grid { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .zk-profile-dashboard { grid-template-columns: minmax(0, 1fr); }
  .zk-profile-identity-name { font-size: 1.25rem; }
  .zk-profile-toolbar > * { max-width: 100%; }
}

.zk-code-preview {
  display: inline-block;
  max-width: 7.5rem;
  overflow: hidden;
  font-size: 0.8125rem;
  text-overflow: ellipsis;
  vertical-align: middle;
  white-space: nowrap;
}

/* ============================================================
   Flatpickr Minimalist Overrides (ZeroKitty Theme)
   ============================================================ */
.zk-date-input,
input.zk-date-input {
  min-width: 6.125rem;
  cursor: pointer;
  background-color: var(--card) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.55rem center !important;
  background-size: 1rem 1rem !important;
  padding-right: 1.85rem !important;
}

:root[data-theme="dark"] .zk-date-input,
:root[data-theme="dark"] input.zk-date-input {
  background-color: var(--card) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a0aaa4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.55rem center !important;
  background-size: 1rem 1rem !important;
}

input[type="date"],
input[type="datetime-local"] {
  cursor: pointer;
}

/* Override flatpickr base theme to match ZeroKitty's dark/light modes */
.flatpickr-calendar {
  background: var(--card) !important;
  border: 1px solid var(--border) !important;
  box-shadow: 0 0.75rem 1.5rem var(--overlay-shadow) !important;
  box-sizing: border-box !important;
  color: var(--text-primary) !important;
  width: min(24rem, calc(100vw - 1rem)) !important;
  border-radius: var(--radius) !important;
  padding: 0.625rem !important;
}

.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after,
.flatpickr-calendar.arrowBottom:before,
.flatpickr-calendar.arrowBottom:after {
  display: none !important;
  /* Hide popup arrow for minimal look */
}

.flatpickr-months .flatpickr-month {
  background: transparent !important;
  color: var(--text-primary) !important;
  fill: var(--text-primary) !important;
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
  background: var(--card) !important;
  color: var(--text-primary) !important;
}

.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
  background-color: var(--card) !important;
  color: var(--text-primary) !important;
}

.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  color: var(--text-primary) !important;
  fill: var(--text-primary) !important;
}

.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
  fill: var(--primary) !important;
}

span.flatpickr-weekday {
  color: var(--text-secondary) !important;
  font-weight: 600 !important;
}

.flatpickr-weekdaycontainer .flatpickr-weekday:nth-child(6),
.flatpickr-weekdaycontainer .flatpickr-weekday:nth-child(7) {
  color: var(--destructive-text) !important;
}

.flatpickr-innerContainer,
.flatpickr-rContainer,
.flatpickr-weekdays,
.flatpickr-days {
  width: 100% !important;
}

.flatpickr-days {
  overflow: visible !important;
}

.dayContainer {
  justify-content: flex-start !important;
  min-width: 100% !important;
  max-width: 100% !important;
  width: 100% !important;
}

.flatpickr-day {
  position: relative !important;
  color: var(--text-primary) !important;
  flex: 0 0 calc(100% / 7) !important;
  width: calc(100% / 7) !important;
  height: 2.75rem !important;
  line-height: 2.75rem !important;
  max-width: none !important;
  background: transparent !important;
  border-color: transparent !important;
  border-radius: 0 !important;
  z-index: 0 !important;
}

.flatpickr-day::before {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  z-index: -1 !important;
  width: 2.75rem !important;
  height: 2.75rem !important;
  border: 1px solid transparent !important;
  border-radius: var(--radius-button) !important;
  box-sizing: border-box !important;
  transform: translate(-50%, -50%) !important;
}

.flatpickr-day:hover,
.flatpickr-day:focus,
.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.nextMonthDay:hover {
  background: transparent !important;
  border-color: transparent !important;
  color: var(--primary) !important;
}

.dayContainer .flatpickr-day:nth-child(7n+6),
.dayContainer .flatpickr-day:nth-child(7n) {
  color: var(--destructive-text) !important;
}

.flatpickr-day:hover::before,
.flatpickr-day:focus::before,
.flatpickr-day.prevMonthDay:hover::before,
.flatpickr-day.nextMonthDay:hover::before {
  background: var(--background) !important;
  border-color: var(--background) !important;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
  background: transparent !important;
  border-color: transparent !important;
  color: var(--text-on-primary) !important;
  font-weight: 600 !important;
}

.flatpickr-day.selected::before,
.flatpickr-day.startRange::before,
.flatpickr-day.endRange::before,
.flatpickr-day.selected.inRange::before,
.flatpickr-day.startRange.inRange::before,
.flatpickr-day.endRange.inRange::before,
.flatpickr-day.selected:focus::before,
.flatpickr-day.startRange:focus::before,
.flatpickr-day.endRange:focus::before,
.flatpickr-day.selected:hover::before,
.flatpickr-day.startRange:hover::before,
.flatpickr-day.endRange:hover::before,
.flatpickr-day.selected.prevMonthDay::before,
.flatpickr-day.startRange.prevMonthDay::before,
.flatpickr-day.endRange.prevMonthDay::before,
.flatpickr-day.selected.nextMonthDay::before,
.flatpickr-day.startRange.nextMonthDay::before,
.flatpickr-day.endRange.nextMonthDay::before {
  background: var(--primary) !important;
  border-color: var(--primary) !important;
}

.flatpickr-day.today {
  color: var(--primary) !important;
}

.flatpickr-day.today::before {
  border-color: var(--primary) !important;
}

.flatpickr-day.today.selected,
.flatpickr-day.today.startRange,
.flatpickr-day.today.endRange {
  color: var(--text-on-primary) !important;
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay,
.flatpickr-day.notAllowed,
.flatpickr-day.notAllowed.prevMonthDay,
.flatpickr-day.notAllowed.nextMonthDay {
  color: var(--text-muted) !important;
}

.zk-flatpickr-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.625rem 0.25rem 0.125rem 0.25rem;
  border-top: 0;
  margin-top: 0.25rem;
}

.zk-flatpickr-btn {
  background: transparent;
  border: none;
  color: var(--brand-text);
  cursor: pointer;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.25;
  padding: 0.25rem 0.5rem;
  border-radius: var(--radius-min);
  transition: background 0.15s ease;
}

.zk-flatpickr-btn:hover,
.zk-flatpickr-btn:focus-visible {
  background: var(--primary-light);
  outline: none;
}

.zk-btn-clear {
  color: var(--brand-text);
}

/* ============================================================
   Cards, Grids, Tables
   ============================================================ */
.zk-grid {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  flex: 1;
  min-height: 0;
}

.zk-form-page-wide {
  overflow-y: auto;
  padding-bottom: 2rem;
  /* Add some padding at bottom so content isn't flush with viewport edge */
}

.zk-card {
  background: var(--card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  padding: 1.25rem;
  text-decoration: none;
  color: var(--text-primary);
  box-shadow: inset 0 1px 0 0 var(--card-highlight), var(--shadow-sm);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
}

a.zk-card:hover {
  border-color: var(--card-hover-border);
  box-shadow: inset 0 1px 0 0 var(--card-highlight), var(--shadow-md);
  transform: translateY(-1px);
}

.zk-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.5rem;
}

.zk-card-link {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
}

.zk-card-icon {
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--text-secondary);
  border: 1px solid var(--border);
  transition: transform 0.15s ease, background-color 0.15s ease;
}

.zk-card-icon svg {
  width: 1.25rem;
  height: 1.25rem;
}

a.zk-card-link:hover .zk-card-icon {
  background: var(--surface-hover);
}

.zk-card-link-title {
  font-weight: 600;
  font-size: 0.9375rem;
  color: var(--text-primary);
  margin-bottom: 0.25rem;
}

.zk-card h1,
.zk-card h2 {
  margin: 0 0 0.5rem 0;
  font-size: 1rem;
  font-weight: 600;
}

.zk-card p {
  margin: 0;
  font-size: 0.8125rem;
}

.zk-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr));
  gap: 1rem;
  align-items: start;
  flex: none;
}

.zk-muted {
  color: var(--text-muted);
  font-size: 0.8125rem;
}

.zk-filter-bar {
  width: max-content;
  display: flex;
  gap: 0.75rem;
  align-items: center;
  margin: 0;
}

.zk-filter-field {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 0.375rem;
  min-width: 0;
}

.zk-filter-field-wide {
  width: 16rem;
}

.zk-filter-field-group {
  align-items: flex-start;
  margin: 0;
  padding: 0;
  border: 0;
}

.zk-filter-field-group legend {
  float: left;
  padding: 0;
  white-space: nowrap;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--text-muted);
}

.zk-filter-checkbox-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 0.75rem;
  max-height: 9rem;
  overflow-y: auto;
  min-width: 0;
}

.zk-filter-toolbar.is-compact .zk-filter-field-group {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.25rem;
}

.zk-filter-toolbar.is-compact .zk-filter-field-group legend {
  float: none;
  font-weight: 600;
  color: var(--text-primary);
}

/* Searchable multi-select (FilterComboboxMulti). Without JS it is the plain checkbox list. */
.zk-combobox-body {
  display: grid;
  gap: 0.375rem;
  min-width: 0;
  width: 100%;
}

.zk-combobox-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}

.zk-combobox-chips:empty {
  display: none;
}

.zk-combobox-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.125rem 0.25rem 0.125rem 0.625rem;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--surface-subtle);
  color: var(--text-primary);
  font-size: 0.8125rem;
}

.zk-combobox-chip button {
  border: 0;
  background: transparent;
  color: var(--text-muted);
  cursor: pointer;
  padding: 0 0.25rem;
  font-size: 1rem;
  line-height: 1;
}

.zk-combobox-chip button:hover,
.zk-combobox-chip button:focus-visible {
  color: var(--text-primary);
}

.zk-combobox.is-enhanced .zk-combobox-list {
  display: grid;
  gap: 0;
  padding: 0.25rem;
  border: 1px solid var(--border);
  border-radius: 0.5rem;
  background: var(--card);
  max-height: 12rem;
  overflow-y: auto;
}

.zk-combobox-list[hidden],
.zk-combobox-list label[hidden],
.zk-combobox-empty[hidden],
.zk-combobox-input[hidden] {
  display: none;
}

.zk-combobox.is-enhanced .zk-combobox-list label {
  padding: 0.375rem 0.5rem;
  border-radius: 0.375rem;
  cursor: pointer;
}

.zk-combobox.is-enhanced .zk-combobox-list label:hover,
.zk-combobox.is-enhanced .zk-combobox-list label.zk-combobox-active {
  background: var(--surface-hover);
}

.zk-combobox-empty {
  margin: 0;
  font-size: 0.8125rem;
}

/* Form variant (ComboboxMulti): a bordered field like other inputs. */
.zk-combobox-form {
  min-width: 0;
  margin: 0;
  border: 0;
  padding: 0 0 0.5rem;
}

.zk-combobox-legend {
  padding: 0;
  margin-bottom: 0.25rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--text-primary);
}

.zk-required-star {
  margin-left: 2px;
  color: var(--destructive);
  font-weight: 700;
}

/* SegmentedTabs: compact tablist, wraps instead of overflowing. */
.zk-segmented {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  padding: 0.25rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface-subtle);
}

.zk-segmented-tab {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  min-height: 2rem;
  padding: 0.25rem 0.75rem;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--text-secondary);
  font: inherit;
  font-size: 0.875rem;
  cursor: pointer;
}

.zk-segmented-tab:hover {
  background: var(--surface-hover);
  color: var(--text-primary);
}

.zk-segmented-tab:focus-visible {
  outline: 2px solid var(--ring);
  outline-offset: 1px;
}

.zk-segmented-tab.is-active {
  border-color: var(--border);
  background: var(--card);
  color: var(--text-primary);
  font-weight: 600;
  box-shadow: var(--shadow-xs);
}

.zk-segmented-marker {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 999px;
  flex-shrink: 0;
}

.zk-segmented-marker.is-complete {
  background: var(--success);
}

.zk-segmented-marker.is-missing {
  border: 1px solid var(--text-muted);
}

.zk-segmented-marker.is-required {
  background: var(--destructive);
}

.zk-filter-field label {
  white-space: nowrap;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--text-muted);
}

.zk-filter-field .zk-input {
  min-width: 0;
  flex: 1;
}

.zk-filter-actions {
  flex: 0 0 auto;
  display: flex;
  gap: 0.375rem;
  justify-content: flex-end;
  white-space: nowrap;
}

.zk-filter-toolbar {
  position: relative;
  flex: 0 1 auto;
  min-width: 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.5rem;
}

.zk-filter-trigger {
  display: none;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 2.25rem;
  min-width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  font-size: 0.8125rem;
  font-weight: 500;
  white-space: nowrap;
}

.zk-filter-trigger.has-active-filters {
  border-color: var(--primary);
  background: var(--primary-light);
  color: var(--brand-text);
  font-weight: 600;
}

.zk-filter-trigger-icon {
  width: 1.15rem;
  height: 1.15rem;
  flex-shrink: 0;
}

.zk-filter-active-count {
  position: absolute;
  top: -0.25rem;
  right: -0.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.15rem;
  height: 1.15rem;
  padding: 0 0.3rem;
  border-radius: var(--radius);
  background: var(--primary);
  color: var(--text-on-primary);
  font-size: 0.65rem;
  font-weight: 700;
  line-height: 1;
  border: 1.5px solid var(--card);
}

.zk-topbar-actions .zk-button-icon-only svg {
  width: 1.25rem;
  height: 1.25rem;
}

.zk-filter-panel {
  min-width: 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.zk-filter-panel[hidden],
.zk-filter-panel[aria-hidden="true"],
.zk-filter-toolbar.is-compact:not(.is-open) .zk-filter-panel,
.zk-filter-toolbar.is-compact .zk-filter-panel[hidden],
.zk-filter-toolbar.is-compact .zk-filter-panel[aria-hidden="true"] {
  display: none;
}

.zk-filter-panel-header {
  display: none;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 0.75rem;
  margin-bottom: 0.75rem;
  border-bottom: 1px solid var(--border);
}

.zk-filter-panel-title {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--text-primary);
}

.zk-filter-panel-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  padding: 0;
}

.zk-filter-panel-close svg {
  width: 1rem;
  height: 1rem;
}

.zk-filter-toolbar.is-compact .zk-filter-trigger {
  display: inline-flex;
}

.zk-filter-toolbar.is-compact.is-open .zk-filter-panel,
.zk-filter-toolbar.is-compact .zk-filter-panel:not([hidden]):not([aria-hidden="true"]) {
  position: absolute;
  top: calc(100% + 0.5rem);
  right: 0;
  left: auto;
  z-index: 100;
  width: min(28rem, calc(100vw - 2rem));
  max-height: calc(100dvh - 5rem);
  display: block;
  overflow-y: auto;
  padding: 1.25rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--card);
  box-shadow: 0 0.75rem 2rem var(--overlay-shadow);
  box-sizing: border-box;
  animation: zkDropdownFadeIn 0.15s ease-out;
}

@keyframes zkDropdownFadeIn {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.zk-toast-container {
  position: fixed;
  top: 1.25rem;
  right: 1.25rem;
  z-index: 99999;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  max-width: min(26rem, calc(100vw - 2.5rem));
  pointer-events: none;
}

.zk-toast-item {
  pointer-events: auto;
  box-shadow: 0 0.5rem 1.5rem var(--overlay-shadow);
  animation: zk-toast-in 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.zk-filter-toolbar.is-compact .zk-filter-panel-header {
  display: flex;
}

.zk-filter-toolbar.is-compact .zk-filter-bar {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.875rem;
}

.zk-filter-toolbar.is-compact .zk-filter-field,
.zk-filter-toolbar.is-compact .zk-filter-field-wide,
.zk-filter-toolbar.is-compact .zk-reg-combobox-wrap {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.25rem;
  box-sizing: border-box !important;
}

.zk-filter-toolbar.is-compact .zk-filter-field label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--text-primary);
}

.zk-filter-toolbar.is-compact .zk-filter-field .zk-input,
.zk-filter-toolbar.is-compact .zk-reg-combobox-wrap .zk-input,
.zk-filter-toolbar.is-compact select.zk-input,
.zk-filter-toolbar.is-compact input.zk-input {
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.zk-filter-toolbar.is-compact .zk-filter-actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
  margin-top: 0.5rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--border);
  width: 100%;
}

.zk-filter-toolbar.is-measuring .zk-filter-panel {
  position: fixed !important;
  left: -10000px !important;
  width: max-content !important;
  display: block !important;
  visibility: hidden !important;
}

.zk-filter-toolbar.is-measuring .zk-filter-bar {
  width: max-content !important;
  display: flex !important;
  flex-direction: row !important;
}

.zk-filter-toolbar.is-measuring .zk-filter-field {
  width: 14rem !important;
  flex: 0 0 14rem !important;
  max-width: none !important;
}

.zk-filter-toolbar.is-measuring .zk-filter-field-wide {
  width: 16rem !important;
  flex: 0 0 16rem !important;
  max-width: none !important;
}

.zk-table-wrap {
  overflow: auto;
  background: var(--card);
  border-radius: var(--radius);
  border: 1px solid var(--border);
  box-shadow: 0 1px 3px var(--overlay-shadow);
  flex: 1;
  min-height: 0;
}

.zk-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8125rem;
}

.zk-table th {
  text-align: left;
  padding: 0.5rem 0.75rem;
  font-weight: 500;
  color: var(--text-muted);
  border-bottom: 2px solid var(--border);
  white-space: nowrap;
  position: sticky;
  top: 0;
  z-index: 10;
  background: var(--card);
}

.zk-table td {
  padding: 0.5rem 0.75rem;
  border-bottom: 1px solid var(--border);
  white-space: nowrap;
}

.zk-table tbody tr:hover {
  background: var(--background);
}

/* Table Avatar Component */
.zk-table-avatar {
  width: 2.25rem;
  height: 2.25rem;
  min-width: 2.25rem;
  min-height: 2.25rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: var(--surface);
  border: 1px solid var(--border);
  vertical-align: middle;
}

.zk-table-avatar-img {
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
  border-radius: 50%;
  display: block;
}

.zk-table-avatar-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--primary);
  background: var(--surface);
  user-select: none;
}

/* ============================================================
   Form elements
   ============================================================ */
.zk-form-row {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding-bottom: 0.5rem;
}

@media (min-width: 641px) {
  .zk-form-row:not(.is-stacked) {
    display: grid;
    grid-template-columns: 12rem 1fr;
    align-items: center;
    gap: 0.5rem 1rem;
  }

  .zk-form-row:not(.is-stacked) label {
    grid-column: 1;
    margin-bottom: 0;
  }

  .zk-form-row:not(.is-stacked) .zk-input,
  .zk-form-row:not(.is-stacked) .zk-field-shell,
  .zk-form-row:not(.is-stacked) select,
  .zk-form-row:not(.is-stacked) textarea,
  .zk-form-row:not(.is-stacked) .zk-checkbox-group {
    grid-column: 2;
  }

  .zk-form-row:not(.is-stacked) .zk-muted,
  .zk-form-row:not(.is-stacked) .zk-field-error {
    grid-column: 2;
  }

  .zk-form-row:not(.is-stacked):has(textarea) {
    align-items: start;
  }

  .zk-form-row:not(.is-stacked):has(textarea) label {
    padding-top: 0.5rem;
  }
}

.zk-field-error {
  display: none;
  color: var(--destructive-text);
  font-size: 0.8125rem;
  line-height: 1.35;
}

.zk-form-row.has-error .zk-field-error {
  display: block;
}

.zk-input[aria-invalid="true"]~.zk-muted,
select[aria-invalid="true"]~.zk-muted,
textarea[aria-invalid="true"]~.zk-muted {
  color: var(--destructive-text) !important;
  font-weight: 500;
}


label {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--text-primary);
}

.zk-info-tooltip {
  position: relative;
  display: inline-flex;
  align-items: center;
  color: var(--text-muted);
  cursor: help;
  outline: none;
}

.zk-info-tooltip:hover,
.zk-info-tooltip:focus {
  color: var(--brand-text);
}

.zk-info-icon {
  width: 0.875rem;
  height: 0.875rem;
}

.zk-info-tooltip::after {
  content: attr(data-tooltip);
  position: absolute;
  bottom: 130%;
  left: 0;
  background-color: var(--info-light);
  border: 1px solid var(--info-border);
  color: var(--info-text);
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.35;
  padding: 0.45rem 0.65rem;
  border-radius: var(--radius-min);
  white-space: normal;
  width: max-content;
  max-width: 18rem;
  box-shadow: 0 4px 14px var(--overlay-shadow);
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.15s ease, visibility 0.15s ease;
  z-index: 200;
}

.zk-info-tooltip:hover::after,
.zk-info-tooltip:focus::after {
  opacity: 1;
  visibility: visible;
}

.zk-input,
select {
  width: 100%;
  padding: 0.35rem 0.65rem;
  font-size: 0.8125rem;
  border: 1px solid var(--input-border);
  border-radius: var(--radius-min);
  background-color: var(--card);
  color: var(--text-primary);
  min-height: 2.15rem;
  line-height: 1.4;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  box-sizing: border-box;
}

input::placeholder,
textarea::placeholder {
  color: var(--text-muted);
  opacity: 1;
}

.zk-input:focus,
select:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 2px var(--primary-focus-shadow);
}

select option,
select optgroup,
datalist option {
  background-color: var(--card);
  color: var(--text-primary);
}

select option:disabled,
datalist option:disabled {
  color: var(--text-muted);
}

.zk-input[readonly],
.zk-input[disabled] {
  background-color: var(--surface-disabled);
  color: var(--text-disabled);
  border-style: dashed;
  cursor: not-allowed;
}

textarea,
.zk-textarea,
textarea.zk-input {
  width: 100%;
  padding: 0.5rem 0.625rem;
  font-size: 0.875rem;
  border: 1px solid var(--input-border);
  border-radius: var(--radius);
  background: var(--card);
  color: var(--text-primary);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  box-sizing: border-box;
  font-family: inherit;
  resize: vertical;
}

.zk-input:not(:disabled):not([readonly]):not(:focus):hover,
select:not(:disabled):not(:focus):hover,
textarea:not(:disabled):not([readonly]):not(:focus):hover {
  border-color: var(--input-border-hover);
}

textarea:focus,
.zk-textarea:focus,
textarea.zk-input:focus {
  outline: none;
  border-color: var(--ring);
  box-shadow: 0 0 0 2px var(--ring-shadow);
}

.zk-input[aria-invalid="true"],
select[aria-invalid="true"],
textarea[aria-invalid="true"] {
  border-color: var(--destructive-border) !important;
  box-shadow: 0 0 0 2px var(--destructive-focus-shadow);
}

/* ============================================================
   Badge
   ============================================================ */
.zk-badge {
  display: inline-block;
  padding: 0.125rem 0.5rem;
  font-size: 0.6875rem;
  font-weight: 500;
  border-radius: var(--radius);
}

.zk-badge-active {
  background: var(--success-light);
  color: var(--success-text);
}

.zk-badge-warning {
  background: var(--warning-light);
  color: var(--warning-text);
}

.zk-badge-expired {
  background: var(--warning-light);
  color: var(--warning-text);
}

.zk-badge-revoked {
  background: var(--destructive-light);
  color: var(--destructive-text);
}

.zk-badge-success {
  background: var(--success-light);
  color: var(--success-text);
}

.zk-badge-info {
  background: var(--info-light);
  color: var(--info-text);
}

.zk-badge-danger {
  background: var(--destructive-light);
  color: var(--destructive-text);
}

.zk-badge-frozen {
  background: var(--frozen-light);
  color: var(--frozen-text);
  border-color: var(--frozen-border);
}

.zk-status-pill-frozen {
  background-color: var(--frozen-light);
  color: var(--frozen-text);
  border-color: var(--frozen-border);
}

/* Field hint: short help under an input (shared TextInputAttrsWithHint). */
.zk-field-hint {
  font-size: 0.8rem;
  margin-top: 2px;
}

/* Meter: used share of a limit (shared component Meter, native progress element). */
.zk-meter {
  display: block;
  width: 100%;
  height: 0.5rem;
  border: 0;
  border-radius: 999px;
  overflow: hidden;
  background: var(--surface-pressed);
  appearance: none;
  -webkit-appearance: none;
}

.zk-meter::-webkit-progress-bar {
  background: var(--surface-pressed);
  border-radius: 999px;
}

.zk-meter::-webkit-progress-value {
  border-radius: 999px;
  background: var(--success-text);
}

.zk-meter::-moz-progress-bar {
  border-radius: 999px;
  background: var(--success-text);
}

.zk-meter-warning::-webkit-progress-value {
  background: var(--warning-text);
}

.zk-meter-warning::-moz-progress-bar {
  background: var(--warning-text);
}

.zk-meter-danger::-webkit-progress-value {
  background: var(--destructive-text);
}

.zk-meter-danger::-moz-progress-bar {
  background: var(--destructive-text);
}

/* ============================================================
   Profile Lifecycle Stepper
   ============================================================ */
.zk-profile-stepper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  padding: 1.25rem 2rem;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  margin-bottom: 1.25rem;
}

.zk-profile-stepper-track {
  position: absolute;
  top: calc(50% - 0.75rem);
  left: 5rem;
  right: 5rem;
  height: 2px;
  background: var(--border);
  z-index: 1;
}

.zk-profile-step-node {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  background: var(--card);
  padding: 0 0.75rem;
}

.zk-profile-step-circle {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.875rem;
  border: 2px solid var(--border);
  background: var(--card);
  color: var(--text-muted);
  transition: all 0.2s ease;
}

.zk-profile-step-node.is-active .zk-profile-step-circle {
  border-color: var(--primary);
  background: var(--primary);
  color: var(--text-on-primary);
  box-shadow: 0 0 0 4px var(--primary-light);
}

.zk-profile-step-node.is-passed .zk-profile-step-circle {
  border-color: var(--primary);
  background: var(--primary-light);
  color: var(--primary);
}

.zk-profile-step-label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--text-muted);
  white-space: nowrap;
}

.zk-profile-step-node.is-active .zk-profile-step-label {
  color: var(--primary);
}

.zk-profile-step-node.is-passed .zk-profile-step-label {
  color: var(--text-primary);
}

@media (max-width: 640px) {
  .zk-profile-stepper {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
    padding: 1rem;
  }
  .zk-profile-stepper-track {
    display: none;
  }
  .zk-profile-step-node {
    flex-direction: row;
    padding: 0;
    gap: 0.75rem;
  }
}

/* ============================================================
   Kanban Urgency Alerts & Quick Actions
   ============================================================ */
.zk-kanban-card-quick-actions {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.zk-kanban-card-quick-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.2rem 0.45rem;
  font-size: 0.6875rem;
  font-weight: 600;
  border-radius: var(--radius-min);
  background: var(--surface);
  border: 1px solid var(--border);
  color: var(--text-secondary);
  text-decoration: none;
  cursor: pointer;
  transition: all 0.15s ease;
}

.zk-kanban-card-quick-action-btn:hover {
  background: var(--primary-light);
  color: var(--primary);
  border-color: var(--primary);
}

/* ============================================================
   Wizard Vertical Stepper & Selection Cards
   ============================================================ */
.zk-wizard-vertical-sidebar {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  box-shadow: var(--shadow-sm);
  position: sticky;
  top: 1rem;
}

.zk-wizard-vertical-step {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.65rem 0.75rem;
  border-radius: var(--radius);
  transition: background 0.15s ease;
  cursor: default;
}

.zk-wizard-vertical-step.is-clickable {
  cursor: pointer;
}

.zk-wizard-vertical-step.is-active {
  background: var(--primary-light);
}

.zk-wizard-vertical-step.is-active .zk-wizard-step-title {
  color: var(--primary);
  font-weight: 700;
}

.zk-card-select-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1rem;
  margin-top: 0.5rem;
}

.zk-card-select-item {
  border: 2px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  padding: 1rem;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  transition: all 0.2s ease;
  position: relative;
}

.zk-card-select-item:hover {
  border-color: var(--primary-hover);
  box-shadow: var(--shadow-sm);
}

.zk-card-select-item.is-selected,
.zk-card-select-item:has(input:checked) {
  border-color: var(--primary);
  background: var(--primary-light);
}

.zk-card-select-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.zk-card-select-title {
  font-weight: 700;
  font-size: 0.9375rem;
  color: var(--foreground);
}

.zk-card-select-price {
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--primary);
}

.zk-checkbox-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
}

.zk-checkbox-option {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  cursor: pointer;
  font-weight: 500;
}

.zk-checkbox-option input {
  width: 1rem;
  height: 1rem;
  margin: 0;
  accent-color: var(--primary);
}

/* Shared choice card for ChoiceRadioInputAttrs. :where() keeps specificity at
   zero so a page that restyles the card (Coding permission popover) still wins. */
:where(.zk-choice-radio) {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  padding: 0.875rem 1rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  cursor: pointer;
}

:where(.zk-choice-radio):hover {
  background: var(--surface-hover);
}

:where(.zk-choice-radio) input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

:where(.zk-choice-radio):has(input:checked) {
  border-color: var(--primary);
  background: var(--primary-light);
}

:where(.zk-choice-radio):has(input:focus-visible) {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}

:where(.zk-choice-radio-copy) {
  display: grid;
  flex: 1 1 auto;
  min-width: 0;
  gap: 0.25rem;
}

:where(.zk-choice-radio-copy) strong {
  color: var(--text-primary);
  font-size: 0.9375rem;
  font-weight: 600;
}

:where(.zk-choice-radio-copy) > span {
  color: var(--text-muted);
  font-size: 0.8125rem;
  line-height: 1.4;
}

:where(.zk-choice-radio-check) {
  visibility: hidden;
  display: inline-flex;
  flex: none;
  color: var(--primary);
}

:where(.zk-choice-radio-check) svg {
  width: 1.125rem;
  height: 1.125rem;
}

:where(.zk-choice-radio):has(input:checked) :where(.zk-choice-radio-check) {
  visibility: visible;
}

:where(.zk-choice-radio.is-disabled) {
  cursor: not-allowed;
  opacity: 0.58;
}

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width: 640px) {
  .zk-sidebar-hover-zone {
    inset: 0;
    width: auto;
    display: block;
    background: var(--overlay-backdrop);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.18s ease, visibility 0.18s ease;
  }

  body.zk-sidebar-mobile-open .zk-sidebar-hover-zone {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  body.zk-sidebar-mobile-open {
    overflow: hidden;
  }

  .zk-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: min(18rem, calc(100vw - 3rem));
    min-width: 0;
    height: 100dvh;
    display: block;
    transform: translateX(calc(-100% - 0.75rem));
    box-shadow: 0 1rem 2rem var(--overlay-shadow);
  }

  .zk-sidebar-resize {
    display: none;
  }

  .zk-shell.is-sidebar-mobile-open .zk-sidebar {
    transform: translateX(0);
  }

  .zk-topbar-sidebar-toggle {
    display: inline-flex;
    margin-left: 0;
  }

  .zk-system-alert-stack,
  body.zk-sidebar-collapsed .zk-system-alert-stack {
    left: 1rem;
  }

  .zk-toast {
    top: 1rem;
    right: 1rem;
    left: 1rem;
    min-width: 0;
    max-width: calc(100vw - 2rem);
  }

  .zk-content {
    padding: 1rem;
  }

  .zk-topbar {
    padding-inline: 1rem;
  }

  .zk-topbar-leading {
    max-width: calc(100% - 3rem);
  }

  .zk-topbar {
    flex-wrap: wrap;
  }

  .zk-topbar-leading {
    flex: 1 1 0;
    max-width: 100%;
  }

  .zk-topbar-breadcrumbs,
  .zk-topbar-breadcrumbs .zk-breadcrumbs {
    min-width: 0;
  }

  .zk-topbar-breadcrumbs .zk-breadcrumbs > * {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .zk-topbar-filter-slot {
    flex: 1 1 100%;
  }

  .zk-topbar-actions {
    flex: 0 1 auto;
    max-width: 100%;
    margin-left: auto;
    flex-wrap: wrap;
    justify-content: flex-end;
  }

  .zk-filter-toolbar.is-compact .zk-filter-panel {
    width: calc(100vw - 2rem);
  }

  .zk-filter-toolbar.is-compact .zk-filter-actions {
    justify-content: stretch;
  }

  .zk-filter-toolbar.is-compact .zk-filter-actions>* {
    flex: 1 1 0;
  }

}

/* ============================================================
   Permission Card Styling
   ============================================================ */
.zk-permission-card {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  padding: 0.625rem 0.75rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--card);
  transition: background-color 0.2s ease, border-color 0.2s ease;
  cursor: pointer;
  width: 100%;
  box-sizing: border-box;
}

.zk-permission-card:hover {
  border-color: var(--primary);
  background: var(--primary-light);
}

.zk-permission-checkbox {
  margin-top: 0.15rem;
  flex-shrink: 0;
  cursor: pointer;
}

.zk-permission-details {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  flex: 1;
  min-width: 0;
  text-align: left;
}

.zk-permission-header {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem;
  justify-content: space-between;
  font-size: 0.85rem;
  font-weight: 600;
}

.zk-permission-label {
  font-weight: 600;
  font-size: 0.85rem;
  color: var(--text-primary);
}

.zk-checkbox-code-badge {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  color: var(--text-secondary);
  background: var(--surface-hover);
  padding: 0.1rem 0.35rem;
  border-radius: var(--radius-min);
  border: 1px solid var(--border);
  white-space: nowrap;
}

.zk-permission-desc {
  margin-top: 0.25rem;
  color: var(--text-muted);
  font-size: 0.8rem;
  font-weight: 400;
  line-height: 1.35;
}
/* Shared flat tabs: feature classes only identify their controllers. */
.zk-tabs {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  flex: 0 0 auto;
  gap: 0.25rem;
  min-width: 0;
  max-width: 100%;
  border-bottom: 1px solid var(--border);
  padding: 0;
  margin: 0;
}
.zk-tabs > li { display: flex; flex: 0 1 auto; min-width: 0; max-width: 100%; list-style: none; }
.zk-tab {
  display: inline-flex;
  flex-wrap: wrap;
  flex: 0 1 auto;
  min-width: 0;
  max-width: 100%;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  min-height: 2.75rem;
  padding: 0.5rem 0.75rem;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--text-muted);
  font: inherit;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4;
  white-space: normal;
  overflow-wrap: break-word;
  text-decoration: none;
  cursor: pointer;
}
.zk-tab:hover { color: var(--text-primary); }
.zk-tab[aria-selected="true"], .zk-tab[aria-current="page"] {
  border-bottom-color: var(--ring);
  color: var(--text-primary);
  font-weight: 600;
}
.zk-tab:focus-visible { outline: 2px solid var(--ring); outline-offset: -3px; }
.zk-tab:disabled, .zk-tab[aria-disabled="true"] { opacity: 0.45; cursor: not-allowed; pointer-events: none; }
.zk-tab .zk-tab-main { display: inline-flex; align-items: center; gap: 0.375rem; min-width: 0; }
.zk-tab svg { width: 1rem; height: 1rem; flex-shrink: 0; }
.zk-tab :is(.zk-mode-badge, .zk-tab-badge) { padding: 0 0.375rem; color: var(--text-secondary); background: var(--surface-subtle); border-radius: var(--radius-sm); font-size: 0.75rem; }
@media (max-width: 480px) {
  .zk-tabs > .zk-tab, .zk-tabs > li { flex: 1 1 auto; }
  .zk-tabs > li > .zk-tab { width: 100%; }
}
.zk-tabs.zk-tabs-icons > * { display: flex; flex: 1 1 2.75rem; min-width: 0; }
.zk-tabs-icons > * > .zk-tab { width: 100%; }

.zk-workflow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; padding: 0; margin: 1rem 0; gap: 0; }
.zk-workflow-step { position: relative; min-width: 0; padding-right: 1rem; }
.zk-workflow-step:not(:last-child)::before { content: ""; position: absolute; top: .625rem; left: 1.25rem; right: 0; height: 1px; background: var(--border); }
.zk-workflow-marker { position: relative; display: flex; width: 1.25rem; height: 1.25rem; align-items: center; justify-content: center; border: 1px solid var(--border); border-radius: 50%; background: var(--surface); color: var(--text-muted); }
.zk-workflow-marker svg { width: .875rem; height: .875rem; }
.zk-workflow-step[data-state="complete"] .zk-workflow-marker { border-color: var(--ring); color: var(--ring); }
.zk-workflow-detail { display: grid; gap: .25rem; padding-top: .5rem; font-size: .8125rem; overflow-wrap: anywhere; }
.zk-workflow-detail strong { font-size: .875rem; font-weight: 600; color: var(--text-primary); }
.zk-workflow-detail span, .zk-workflow-detail time { color: var(--text-secondary); }
@media (max-width: 40rem) {
  .zk-workflow { grid-template-columns: 1fr; gap: 0; }
  .zk-workflow-step { display: flex; gap: .75rem; padding: 0 0 1.25rem; }
  .zk-workflow-step:not(:last-child)::before { left: .625rem; top: 1.25rem; bottom: 0; width: 1px; height: auto; }
  .zk-workflow-marker { flex: 0 0 auto; }
  .zk-workflow-detail { padding-top: 0; }
}

.zk-role-filter-chip {
  font-family: var(--font-sans);
  cursor: pointer;
  user-select: none;
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.zk-governance-mode-tabs {
  margin-bottom: 1.25rem;
}

.zk-role-search-panel {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
  margin-bottom: 1.5rem;
  padding: 1.25rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
}

.zk-role-search-box-wrap {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}

.zk-role-search-icon {
  position: absolute;
  left: 0.875rem;
  display: flex;
  align-items: center;
  color: var(--text-muted);
  pointer-events: none;
}

.zk-role-search-icon svg {
  width: 1.1rem;
  height: 1.1rem;
}

.zk-role-search-input {
  width: 100%;
  box-sizing: border-box;
  padding: 0.625rem 2.5rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--background);
  color: var(--text-primary);
  font-size: 0.875rem;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.zk-role-search-input:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary) 15%, transparent);
}

.zk-role-search-clear {
  position: absolute;
  right: 0.75rem;
  display: none;
  padding: 0.25rem 0.4rem;
  border: 0;
  border-radius: var(--radius-min);
  background: transparent;
  color: var(--text-muted);
  font-size: 0.875rem;
  line-height: 1;
  cursor: pointer;
}

.zk-role-search-clear:hover {
  background: var(--destructive-light);
  color: var(--destructive-text);
}

.zk-role-filter-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.75rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-button);
  background: var(--card);
  color: var(--text-muted);
  font-size: 0.8125rem;
  font-weight: 500;
}

.zk-role-filter-chip:hover {
  background: var(--primary-light);
  color: var(--text-primary);
}

.zk-role-filter-chip.active {
  border-color: var(--primary);
  background: var(--primary);
  color: var(--text-on-primary);
  font-weight: 600;
}

.zk-role-filter-chip.active :where(span, .zk-chip-count) {
  color: var(--text-on-primary);
}

.zk-role-filter-chip .zk-chip-count {
  font-size: 0.75rem;
  opacity: 0.9;
}

.zk-role-search-feedback {
  display: none;
  margin-top: -0.25rem;
  color: var(--text-muted);
  font-size: 0.8125rem;
}

details.zk-permissions-module-card>summary {
  list-style: none;
}

details.zk-permissions-module-card>summary::-webkit-details-marker {
  display: none;
}

details.zk-permissions-module-card .zk-toggle-icon {
  display: inline-block;
  transform: rotate(0deg);
  transition: transform 0.2s ease;
}

details.zk-permissions-module-card[open]>summary .zk-toggle-icon {
  transform: rotate(90deg);
}

@media (max-width: 640px) {
}

/* ============================================================
   Dynamic Data Sources Discovery & Sync Styles
   ============================================================ */
.zk-search-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}

.zk-search-input-wrap .zk-input {
  padding-left: 2rem;
  width: 100%;
}

.zk-search-input-icon {
  width: 0.95rem;
  height: 0.95rem;
  color: var(--text-muted);
  position: absolute;
  left: 0.65rem;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}

.zk-sync-tab-group {
  display: inline-flex;
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-button);
  padding: 2px;
  gap: 2px;
}

.zk-sync-filter-tab {
  border: none;
  border-radius: var(--radius-min);
  padding: 0.35rem 0.75rem;
  font-size: 0.775rem;
  font-weight: 500;
  cursor: pointer;
  background: transparent;
  color: var(--text-muted);
  transition: all 0.15s ease;
  white-space: nowrap;
  line-height: 1.2;
}

.zk-sync-filter-tab:hover {
  color: var(--text-primary);
  background: var(--bg-hover);
}

.zk-sync-filter-tab.active {
  background: var(--primary);
  color: var(--text-on-primary);
  font-weight: 600;
}

/* ==========================================================================
   Visual Form Designer Studio (WYSIWYG Drag & Drop)
   ========================================================================== */
.zk-designer-studio {
  display: flex;
  gap: 1rem;
  min-height: 520px;
  height: calc(100vh - 16rem);
  max-height: 720px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  position: relative;
}

.zk-designer-palette {
  width: 220px;
  min-width: 200px;
  flex-shrink: 0;
  border-right: 1px solid var(--border);
  background: var(--card);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.zk-designer-panel-head {
  padding: 0.65rem 0.85rem;
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--text-primary);
  border-bottom: 1px solid var(--border);
  background: var(--surface-hover);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.zk-designer-palette-body {
  padding: 0.75rem;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  flex: 1;
}

.zk-designer-category-title {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-muted);
  margin-bottom: 0.4rem;
}

.zk-designer-palette-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.35rem;
}

.zk-designer-tool-btn {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.45rem 0.65rem;
  border-radius: var(--radius-button);
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text-primary);
  font-size: 0.775rem;
  font-weight: 500;
  cursor: grab;
  user-select: none;
  transition: all 0.15s ease;
}

.zk-designer-tool-btn:hover {
  border-color: var(--primary);
  background: var(--primary-light);
  color: var(--brand-text);
  transform: translateY(-1px);
  box-shadow: var(--shadow-sm);
}

.zk-designer-tool-btn:active {
  cursor: grabbing;
}

.zk-designer-tool-icon {
  width: 1.1rem;
  height: 1.1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--brand-text);
  flex-shrink: 0;
}

/* Center Canvas */
.zk-designer-canvas-wrap {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--bg-hover);
}

.zk-designer-canvas-toolbar {
  padding: 0.5rem 0.85rem;
  background: var(--card);
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.zk-designer-canvas-scroll {
  flex: 1;
  overflow-y: auto;
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
}

.zk-designer-canvas {
  flex: 1;
  min-height: 400px;
  background: var(--card);
  border: 2px dashed var(--border);
  border-radius: var(--radius);
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  transition: border-color 0.15s ease;
}

.zk-designer-canvas.is-drag-over {
  border-color: var(--primary);
  background: var(--primary-light);
}

.zk-designer-canvas-empty {
  margin: auto;
  text-align: center;
  padding: 2.5rem 1.5rem;
  color: var(--text-muted);
  font-size: 0.825rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  pointer-events: none;
}

.zk-designer-canvas-empty svg {
  width: 2.5rem;
  height: 2.5rem;
  opacity: 0.45;
  color: var(--text-muted);
}

/* Canvas Dropped Elements */
.zk-designer-elem {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 0.65rem 0.85rem;
  position: relative;
  cursor: pointer;
  transition: all 0.15s ease;
}

.zk-designer-elem:hover {
  border-color: var(--border-hover);
  box-shadow: var(--shadow-sm);
}

.zk-designer-elem.is-selected {
  border-color: var(--primary);
  box-shadow: 0 0 0 2px var(--primary-light), 0 2px 4px var(--overlay-shadow);
  background: var(--card);
}

.zk-designer-elem-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.35rem;
}

.zk-designer-elem-title {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--text-primary);
}

.zk-designer-elem-actions {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  opacity: 0.6;
  transition: opacity 0.15s ease;
}

.zk-designer-elem:hover .zk-designer-elem-actions,
.zk-designer-elem.is-selected .zk-designer-elem-actions {
  opacity: 1;
}

.zk-designer-action-icon-btn {
  padding: 2px 4px;
  border-radius: var(--radius-min);
  border: none;
  background: transparent;
  color: var(--text-muted);
  cursor: pointer;
}

.zk-designer-action-icon-btn:hover {
  background: var(--bg-hover);
  color: var(--text-primary);
}

.zk-designer-action-icon-btn.is-delete:hover {
  background: var(--destructive-light);
  color: var(--destructive);
}

.zk-designer-elem-preview-input {
  width: 100%;
  pointer-events: none;
  opacity: 0.85;
}

/* Grid Layout Elements on Canvas */
.zk-designer-grid-container {
  display: grid;
  gap: 0.75rem;
  width: 100%;
}

.zk-designer-grid-2-col {
  grid-template-columns: 1fr 1fr;
}

.zk-designer-grid-3-col {
  grid-template-columns: 1fr 1fr 1fr;
}

.zk-designer-grid-cell {
  background: var(--surface-hover);
  border: 1px dashed var(--border);
  border-radius: var(--radius-min);
  min-height: 80px;
  padding: 0.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  transition: all 0.15s ease;
}

.zk-designer-grid-cell.is-drag-over {
  border-color: var(--primary);
  background: var(--primary-light);
}

/* Right Property Inspector */
.zk-designer-inspector {
  width: 260px;
  min-width: 240px;
  flex-shrink: 0;
  border-left: 1px solid var(--border);
  background: var(--card);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.zk-designer-inspector-body {
  padding: 0.85rem;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  flex: 1;
}

.zk-designer-prop-group {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

.zk-designer-prop-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--text-primary);
}

.zk-designer-prop-input {
  font-size: 0.775rem;
}

/* Dragging indicators */
.zk-designer-dragging {
  opacity: 0.45;
  border: 2px dashed var(--primary);
}

.zk-designer-drop-before {
  border-top: 3px solid var(--primary) !important;
}

.zk-designer-drop-after {
  border-bottom: 3px solid var(--primary) !important;
}

/* Conditional Rule Cards in Inspector */
.zk-designer-rules-wrap {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.zk-designer-rule-card {
  border: 1px solid var(--border);
  border-radius: var(--radius-min);
  background: var(--surface);
  padding: 0.65rem;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  position: relative;
  transition: border-color 0.15s ease;
}

.zk-designer-rule-card:hover {
  border-color: var(--primary);
}

.zk-designer-rule-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.zk-designer-rule-badge {
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--text-secondary);
}

.zk-designer-rule-select {
  font-size: 0.75rem;
  padding: 0.25rem 0.4rem;
}

/* Toolbar Icon Compact Buttons */
.zk-designer-btn-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.85rem;
  height: 1.85rem;
  border-radius: var(--radius-button);
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text-primary);
  cursor: pointer;
  transition: all 0.15s ease;
}

.zk-designer-btn-icon:hover:not(:disabled) {
  border-color: var(--primary);
  color: var(--brand-text);
  background: var(--primary-light);
}

.zk-designer-btn-icon:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

/* Smart Snap Guide Line */
.zk-designer-snap-guide {
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--primary);
  box-shadow: 0 0 6px var(--primary);
  pointer-events: none;
  z-index: 10;
  display: none;
}

@media (max-width: 900px) {
  .zk-topbar-leading {
    flex: 1 1 auto;
    max-width: calc(100% - 3rem);
  }

  .zk-designer-studio {
    flex-direction: column;
    height: auto;
    max-height: none;
  }

  .zk-designer-palette,
  .zk-designer-inspector {
    width: 100%;
    min-width: 0;
    max-height: 200px;
  }
}

/* ==========================================================================
   Visual Workflow Studio (BPMN Canvas Designer) - P5-Ext-05
   ========================================================================== */

.zk-workflow-studio {
  display: flex;
  height: 580px;
  max-height: 70vh;
  min-height: 480px;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  position: relative;
}

.zk-workflow-palette {
  width: 220px;
  min-width: 200px;
  flex-shrink: 0;
  border-right: 1px solid var(--border);
  background: var(--surface);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.zk-workflow-palette-body {
  padding: 0.75rem;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  flex: 1;
}

.zk-workflow-tool-btn {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.45rem 0.6rem;
  font-size: 0.8125rem;
  font-weight: 500;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius-button);
  cursor: grab;
  user-select: none;
  transition: background-color 0.15s, border-color 0.15s, transform 0.1s;
  color: var(--text-primary);
  margin-bottom: 0.35rem;
}

.zk-workflow-tool-btn:hover {
  background: var(--bg-hover);
  border-color: var(--primary);
  transform: translateY(-1px);
}

.zk-workflow-canvas-wrap {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  background: var(--bg-canvas, var(--surface-muted));
  position: relative;
  overflow: hidden;
}

.zk-workflow-canvas-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.45rem 0.85rem;
  border-bottom: 1px solid var(--border);
  background: var(--surface);
  font-size: 0.8125rem;
}

.zk-workflow-canvas-scroll {
  flex: 1;
  overflow: auto;
  position: relative;
  background-image: radial-gradient(var(--border) 1px, transparent 1px);
  background-size: 20px 20px;
}

.zk-workflow-canvas {
  min-width: 1000px;
  min-height: 600px;
  position: relative;
}

.zk-workflow-svg-layer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
}

.zk-workflow-node {
  position: absolute;
  z-index: 2;
  width: 180px;
  background: var(--card);
  border: 2px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  cursor: move;
  user-select: none;
  transition: box-shadow 0.15s, border-color 0.15s;
}

.zk-workflow-node:hover {
  box-shadow: var(--shadow-md);
}

.zk-workflow-node.is-selected {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 3px var(--wf-selection-glow) !important;
}

.zk-workflow-node-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.35rem 0.5rem;
  border-top-left-radius: calc(var(--radius) - 2px);
  border-top-right-radius: calc(var(--radius) - 2px);
  font-size: 0.75rem;
  font-weight: 700;
  border-bottom: 1px solid var(--border);
}

.zk-workflow-node-body {
  padding: 0.5rem;
  font-size: 0.8125rem;
}

.zk-workflow-node-title {
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 0.2rem;
  line-height: 1.3;
}

.zk-workflow-node-sub {
  font-size: 0.7rem;
  color: var(--text-muted);
}

/* Node Variants */
.zk-workflow-node-start {
  border-color: var(--wf-start);
}

.zk-workflow-node-start .zk-workflow-node-header {
  background: var(--wf-start-bg);
  color: var(--wf-start);
}

.zk-workflow-node-approval {
  border-color: var(--primary);
}

.zk-workflow-node-approval .zk-workflow-node-header {
  background: var(--wf-approval-bg);
  color: var(--brand-text);
}

.zk-workflow-node-gateway {
  border-color: var(--wf-gateway);
}

.zk-workflow-node-gateway .zk-workflow-node-header {
  background: var(--wf-gateway-bg);
  color: var(--wf-gateway);
}

.zk-workflow-node-notification {
  border-color: var(--wf-notify);
}

.zk-workflow-node-notification .zk-workflow-node-header {
  background: var(--wf-notify-bg);
  color: var(--wf-notify);
}

.zk-workflow-node-end {
  border-color: var(--wf-end);
}

.zk-workflow-node-end .zk-workflow-node-header {
  background: var(--wf-end-bg);
  color: var(--wf-end);
}

.zk-workflow-inspector {
  width: 270px;
  min-width: 250px;
  flex-shrink: 0;
  border-left: 1px solid var(--border);
  background: var(--surface);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.zk-workflow-inspector-body {
  padding: 0.75rem;
  overflow-y: auto;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

@media (max-width: 900px) {
  .zk-workflow-studio {
    flex-direction: column;
    height: auto;
    max-height: none;
  }

  .zk-workflow-palette,
  .zk-workflow-inspector {
    width: 100%;
    min-width: 0;
    max-height: 220px;
  }
}

/* --- Visual Dashboard Studio --- */
.zk-dashboard-studio {
  display: flex;
  flex-direction: row;
  height: 640px;
  max-height: 80vh;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface-hover);
  overflow: hidden;
  position: relative;
}

.zk-dashboard-palette {
  width: 240px;
  min-width: 220px;
  flex-shrink: 0;
  border-right: 1px solid var(--border);
  background: var(--surface);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.zk-dashboard-palette-header,
.zk-dashboard-inspector-header {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--border);
  font-weight: 600;
  font-size: 0.875rem;
  color: var(--text);
  background: var(--surface-subtle);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.zk-dashboard-palette-body {
  padding: 0.75rem;
  overflow-y: auto;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.zk-dashboard-palette-category {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-top: 0.5rem;
  margin-bottom: 0.25rem;
  padding-left: 0.25rem;
  letter-spacing: 0.05em;
}

.zk-dashboard-palette-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.625rem;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text);
  font-size: 0.8125rem;
  cursor: grab;
  transition: all 0.15s ease-in-out;
  user-select: none;
}

.zk-dashboard-palette-item:hover {
  background: var(--surface-hover);
  border-color: var(--primary);
  transform: translateY(-1px);
  box-shadow: var(--shadow-sm);
}

.zk-dashboard-palette-item-icon {
  width: 1.25rem;
  height: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--brand-text);
  flex-shrink: 0;
}

.zk-dashboard-canvas-wrap {
  flex: 1;
  display: flex;
  flex-direction: column;
  background: var(--bg-muted);
  overflow: hidden;
  position: relative;
}

.zk-dashboard-canvas-toolbar {
  padding: 0.5rem 0.75rem;
  border-bottom: 1px solid var(--border);
  background: var(--surface);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  z-index: 5;
}

.zk-dashboard-canvas-scroll {
  flex: 1;
  overflow-y: auto;
  padding: 1rem;
}

.zk-dashboard-canvas-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  min-height: 480px;
}

.zk-dashboard-canvas-empty {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 380px;
  border: 2px dashed var(--border);
  border-radius: var(--radius);
  color: var(--text-muted);
  padding: 2rem;
  text-align: center;
  background: var(--surface);
}

.zk-dashboard-widget-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  position: relative;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  cursor: pointer;
  box-shadow: var(--shadow-sm);
}

.zk-dashboard-widget-card:hover {
  border-color: var(--primary-hover);
}

.zk-dashboard-widget-card.is-selected {
  border-color: var(--primary);
  box-shadow: 0 0 0 2px var(--primary-subtle);
}

.zk-dashboard-widget-card.is-dragging {
  opacity: 0.5;
  border-style: dashed;
}

.zk-dashboard-widget-card.span-1 {
  grid-column: span 1;
}

.zk-dashboard-widget-card.span-2 {
  grid-column: span 2;
}

.zk-dashboard-widget-card.span-3 {
  grid-column: span 3;
}

.zk-dashboard-widget-card.span-4 {
  grid-column: span 4;
}

.zk-dashboard-widget-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.zk-dashboard-widget-title-wrap {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 600;
  font-size: 0.875rem;
  color: var(--text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.zk-dashboard-widget-actions {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  opacity: 0.7;
}

.zk-dashboard-widget-card:hover .zk-dashboard-widget-actions {
  opacity: 1;
}

.zk-dashboard-widget-badge {
  font-size: 0.6875rem;
  padding: 0.125rem 0.375rem;
  border-radius: var(--radius);
  background: var(--surface-subtle);
  color: var(--text-muted);
  border: 1px solid var(--border);
}

.zk-dashboard-widget-body {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex: 1;
}

.zk-dashboard-metric-display {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
}

.zk-dashboard-metric-val {
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.1;
  color: var(--text);
}

.zk-dashboard-metric-unit {
  font-size: 0.8125rem;
  color: var(--text-muted);
}

.zk-dashboard-metric-trend {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.125rem 0.375rem;
  border-radius: var(--radius);
  width: fit-content;
}

.zk-dashboard-metric-trend.trend-up {
  color: var(--success);
  background: var(--success-subtle);
}

.zk-dashboard-metric-trend.trend-down {
  color: var(--danger);
  background: var(--danger-subtle);
}

.zk-dashboard-metric-trend.trend-flat {
  color: var(--text-muted);
  background: var(--surface-subtle);
}

.zk-dashboard-chart-preview {
  width: 100%;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.zk-dashboard-chart-preview svg {
  width: 100%;
  height: 100%;
  overflow: visible;
}

.zk-dashboard-inspector {
  width: 270px;
  min-width: 250px;
  flex-shrink: 0;
  border-left: 1px solid var(--border);
  background: var(--surface);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.zk-dashboard-inspector-body {
  padding: 0.75rem;
  overflow-y: auto;
  flex: 1;
  display: flex;
  position: relative;
}

.zk-dashboard-canvas-toolbar {
  padding: 0.5rem 0.75rem;
  border-bottom: 1px solid var(--border);
  background: var(--surface);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  z-index: 5;
}

.zk-dashboard-canvas-scroll {
  flex: 1;
  overflow-y: auto;
  padding: 1rem;
}

.zk-dashboard-canvas-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  min-height: 480px;
}

.zk-dashboard-canvas-empty {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 380px;
  border: 2px dashed var(--border);
  border-radius: var(--radius);
  color: var(--text-muted);
  padding: 2rem;
  text-align: center;
  background: var(--surface);
}

.zk-dashboard-widget-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  position: relative;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  cursor: pointer;
  box-shadow: var(--shadow-sm);
}

.zk-dashboard-widget-card:hover {
  border-color: var(--primary-hover);
}

.zk-dashboard-widget-card.is-selected {
  border-color: var(--primary);
  box-shadow: 0 0 0 2px var(--primary-subtle);
}

.zk-dashboard-widget-card.is-dragging {
  opacity: 0.5;
  border-style: dashed;
}

.zk-dashboard-widget-card.span-1 {
  grid-column: span 1;
}

.zk-dashboard-widget-card.span-2 {
  grid-column: span 2;
}

.zk-dashboard-widget-card.span-3 {
  grid-column: span 3;
}

.zk-dashboard-widget-card.span-4 {
  grid-column: span 4;
}

.zk-dashboard-widget-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.zk-dashboard-widget-title-wrap {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 600;
  font-size: 0.875rem;
  color: var(--text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.zk-dashboard-widget-actions {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  opacity: 0.7;
}

.zk-dashboard-widget-card:hover .zk-dashboard-widget-actions {
  opacity: 1;
}

.zk-dashboard-widget-badge {
  font-size: 0.6875rem;
  padding: 0.125rem 0.375rem;
  border-radius: var(--radius);
  background: var(--surface-subtle);
  color: var(--text-muted);
  border: 1px solid var(--border);
}

.zk-dashboard-widget-body {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex: 1;
}

.zk-dashboard-metric-display {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
}

.zk-dashboard-metric-val {
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.1;
  color: var(--text);
}

.zk-dashboard-metric-unit {
  font-size: 0.8125rem;
  color: var(--text-muted);
}

.zk-dashboard-metric-trend {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.125rem 0.375rem;
  border-radius: var(--radius);
  width: fit-content;
}

.zk-dashboard-metric-trend.trend-up {
  color: var(--success);
  background: var(--success-subtle);
}

.zk-dashboard-metric-trend.trend-down {
  color: var(--danger);
  background: var(--danger-subtle);
}

.zk-dashboard-metric-trend.trend-flat {
  color: var(--text-muted);
  background: var(--surface-subtle);
}

.zk-dashboard-chart-preview {
  width: 100%;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.zk-dashboard-chart-preview svg {
  width: 100%;
  height: 100%;
  overflow: visible;
}

.zk-dashboard-inspector {
  width: 270px;
  min-width: 250px;
  flex-shrink: 0;
  border-left: 1px solid var(--border);
  background: var(--surface);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.zk-dashboard-inspector-body {
  padding: 0.75rem;
  overflow-y: auto;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

@media (max-width: 900px) {
  .zk-dashboard-studio {
    flex-direction: column;
    height: auto;
    max-height: none;
  }

  .zk-dashboard-palette,
  .zk-dashboard-inspector {
    width: 100%;
    min-width: 0;
    max-height: 220px;
  }

  .zk-dashboard-canvas-grid {
    grid-template-columns: 1fr;
  }

  .zk-dashboard-widget-card.span-1,
  .zk-dashboard-widget-card.span-2,
  .zk-dashboard-widget-card.span-3,
  .zk-dashboard-widget-card.span-4 {
    grid-column: span 1;
  }
}

/* --- Visual Kanban & Composite Board Studio --- */
.zk-kanban-studio,
.zk-composite-studio {
  display: flex;
  flex-direction: row;
  height: 640px;
  max-height: 80vh;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface-hover);
  overflow: hidden;
  position: relative;
}

.zk-kanban-studio-palette {
  width: 240px;
  min-width: 220px;
  flex-shrink: 0;
  border-right: 1px solid var(--border);
  background: var(--surface);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.zk-kanban-studio-palette-header,
.zk-kanban-studio-inspector-header {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--border);
  font-weight: 600;
  font-size: 0.875rem;
  color: var(--text);
  background: var(--surface-subtle);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.zk-kanban-studio-palette-body {
  padding: 0.75rem;
  overflow-y: auto;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.zk-kanban-studio-palette-category {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-top: 0.5rem;
  margin-bottom: 0.25rem;
  padding-left: 0.25rem;
  letter-spacing: 0.05em;
}

.zk-kanban-studio-palette-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.625rem;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text);
  font-size: 0.8125rem;
  cursor: grab;
  transition: all 0.15s ease-in-out;
  user-select: none;
}

.zk-kanban-studio-palette-item:hover {
  background: var(--surface-hover);
  border-color: var(--primary);
  transform: translateY(-1px);
  box-shadow: var(--shadow-sm);
}

.zk-kanban-studio-palette-dot {
  width: 0.625rem;
  height: 0.625rem;
  border-radius: 50%;
  flex-shrink: 0;
}

.zk-kanban-studio-canvas-wrap {
  flex: 1;
  display: flex;
  flex-direction: column;
  background: var(--bg-muted);
  overflow: hidden;
  position: relative;
}

.zk-kanban-studio-canvas-toolbar {
  padding: 0.5rem 0.75rem;
  border-bottom: 1px solid var(--border);
  background: var(--surface);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  z-index: 5;
}

.zk-kanban-studio-canvas-scroll {
  flex: 1;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 1rem;
}

.zk-kanban-studio-canvas {
  display: flex;
  flex-direction: row;
  gap: 1rem;
  align-items: flex-start;
  min-height: 480px;
  width: max-content;
}

.zk-kanban-studio-canvas-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 380px;
  min-width: 480px;
  border: 2px dashed var(--border);
  border-radius: var(--radius);
  color: var(--text-muted);
  padding: 2rem;
  text-align: center;
  background: var(--surface);
}

.zk-kanban-studio-col {
  width: 270px;
  min-width: 270px;
  background: var(--surface-subtle);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  display: flex;
  flex-direction: column;
  max-height: 520px;
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.zk-kanban-studio-col.is-selected {
  border-color: var(--primary);
  box-shadow: 0 0 0 2px var(--primary-subtle);
}

.zk-kanban-studio-col.is-dragging-column {
  opacity: 0.45;
  border: 2px dashed var(--primary);
  transform: scale(0.98);
  box-shadow: var(--shadow-lg);
}

.zk-kanban-studio-col.is-drop-before {
  border-left: 4px solid var(--primary) !important;
  box-shadow: -4px 0 12px 0 var(--primary-subtle);
}

.zk-kanban-studio-col.is-drop-after {
  border-right: 4px solid var(--primary) !important;
  box-shadow: 4px 0 12px 0 var(--primary-subtle);
}

.zk-kanban-studio-col-grip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--text-muted);
  cursor: grab;
  font-size: 0.8125rem;
  padding: 0.125rem 0.25rem;
  user-select: none;
  border-radius: var(--radius);
  line-height: 1;
  transition: color 0.15s ease, background-color 0.15s ease;
}

.zk-kanban-studio-col-grip:hover {
  color: var(--brand-text);
  background: var(--surface-hover);
}

.zk-kanban-studio-col-move-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  padding: 0;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--text-muted);
  font-size: 0.75rem;
  cursor: pointer;
  transition: all 0.15s ease;
  line-height: 1;
}

.zk-kanban-studio-col-move-btn:hover:not(:disabled) {
  background: var(--surface-hover);
  color: var(--brand-text);
  border-color: var(--primary);
}

.zk-kanban-studio-col-move-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

.zk-kanban-studio-col.is-drag-over {
  border-color: var(--primary);
  background: var(--surface-hover);
}

.zk-kanban-studio-col-header {
  padding: 0.625rem 0.75rem;
  border-bottom: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  background: var(--surface);
  border-top: 3px solid var(--primary);
  cursor: pointer;
  transition: border-color 0.15s ease;
}

.zk-kanban-studio-col-title-wrap {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  font-weight: 600;
  font-size: 0.8125rem;
  color: var(--text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.zk-kanban-studio-col-actions {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.zk-kanban-studio-col-badge {
  font-size: 0.6875rem;
  padding: 0.125rem 0.375rem;
  border-radius: var(--radius);
  background: var(--surface-subtle);
  color: var(--text-muted);
  border: 1px solid var(--border);
}

.zk-kanban-studio-card-list {
  padding: 0.625rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  overflow-y: auto;
  flex: 1;
  min-height: 80px;
}

.zk-kanban-studio-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 0.625rem 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  cursor: grab;
  transition: all 0.15s ease-in-out;
  box-shadow: var(--shadow-sm);
  user-select: none;
}

.zk-kanban-studio-card:hover {
  border-color: var(--primary-hover);
  transform: translateY(-1px);
}

.zk-kanban-studio-card.is-selected {
  border-color: var(--primary);
  box-shadow: 0 0 0 2px var(--primary-subtle);
}

.zk-kanban-studio-card.is-dragging {
  opacity: 0.4;
  border-style: dashed;
}

.zk-kanban-studio-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.375rem;
}

.zk-kanban-studio-card-title {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--text);
  line-height: 1.3;
}

.zk-kanban-studio-card-subtitle {
  font-size: 0.75rem;
  color: var(--text-muted);
}

.zk-kanban-studio-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 0.25rem;
  font-size: 0.6875rem;
}

.zk-kanban-studio-card-badge {
  padding: 0.125rem 0.375rem;
  border-radius: var(--radius);
  background: var(--surface-subtle);
  color: var(--text-muted);
  border: 1px solid var(--border);
}

.zk-kanban-studio-inspector {
  width: 320px;
  min-width: 280px;
  flex-shrink: 0;
  border-left: 1px solid var(--border);
  background: var(--surface);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.zk-kanban-studio-inspector-body {
  padding: 0.85rem;
  overflow-y: auto;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.zk-kanban-studio-inspector .zk-form-row,
.zk-composite-studio .zk-kanban-studio-inspector .zk-form-row {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0.35rem !important;
  padding-bottom: 0.25rem !important;
}

.zk-kanban-studio-inspector .zk-form-row.is-inline-checkbox,
.zk-composite-studio .zk-kanban-studio-inspector .zk-form-row.is-inline-checkbox {
  flex-direction: row !important;
  align-items: center !important;
  gap: 0.5rem !important;
}

.zk-kanban-studio-inspector .zk-form-row label,
.zk-composite-studio .zk-kanban-studio-inspector .zk-form-row label {
  grid-column: auto !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  color: var(--text-secondary) !important;
  margin-bottom: 0 !important;
  line-height: 1.25 !important;
}

.zk-kanban-studio-inspector .zk-form-row .zk-input,
.zk-kanban-studio-inspector .zk-form-row select,
.zk-kanban-studio-inspector .zk-form-row textarea,
.zk-composite-studio .zk-kanban-studio-inspector .zk-form-row .zk-input,
.zk-composite-studio .zk-kanban-studio-inspector .zk-form-row select,
.zk-composite-studio .zk-kanban-studio-inspector .zk-form-row textarea {
  grid-column: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.zk-kanban-studio-inspector .zk-designer-btn-group,
.zk-composite-studio .zk-kanban-studio-inspector .zk-designer-btn-group {
  grid-column: auto !important;
  width: 100% !important;
}

@media (max-width: 900px) {
  .zk-kanban-studio {
    flex-direction: column;
    height: auto;
    max-height: none;
  }

  .zk-kanban-studio-palette,
  .zk-kanban-studio-inspector {
    width: 100%;
    min-width: 0;
    max-height: 220px;
  }
}

/* ============================================================
   Visual Form Designer Studio (WYSIWYG Drag & Drop)
   ============================================================ */
.zk-designer-studio {
  display: flex;
  flex-direction: row;
  height: 100%;
  min-height: 540px;
  width: 100%;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  overflow: hidden;
  position: relative;
}

.zk-designer-panel-head {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--border);
  font-weight: 700;
  font-size: 0.875rem;
  color: var(--text-primary);
  background: var(--surface);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.zk-designer-palette {
  width: 280px;
  min-width: 260px;
  flex-shrink: 0;
  border-right: 1px solid var(--border);
  background: var(--card);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.zk-designer-palette-body {
  padding: 0.75rem;
  overflow-y: auto;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.zk-designer-category-title {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 0.4rem;
  padding-left: 0.25rem;
  letter-spacing: 0.05em;
}

.zk-designer-palette-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.45rem;
}

.zk-designer-palette-list {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.zk-designer-tool-btn {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.5rem 0.65rem;
  border-radius: var(--radius-button);
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text-primary);
  font-size: 0.8125rem;
  font-weight: 500;
  cursor: grab;
  transition: all 0.15s ease-in-out;
  user-select: none;
  line-height: 1.25;
}

.zk-designer-tool-btn:hover {
  background: var(--surface-hover);
  border-color: var(--primary);
  color: var(--brand-text);
  transform: translateY(-1px);
  box-shadow: var(--shadow-sm);
}

.zk-designer-tool-btn:active {
  cursor: grabbing;
}

.zk-designer-tool-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--brand-text);
  flex-shrink: 0;
}

.zk-designer-canvas-wrap {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  background: var(--bg-hover);
  overflow: hidden;
  position: relative;
}

.zk-designer-canvas-toolbar {
  padding: 0.5rem 0.85rem;
  border-bottom: 1px solid var(--border);
  background: var(--surface);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  z-index: 5;
}

.zk-designer-canvas-scroll {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 1.25rem;
  display: flex;
  justify-content: center;
  background-image: radial-gradient(var(--border) 1px, transparent 1px);
  background-size: 16px 16px;
}

.zk-designer-canvas {
  width: 100%;
  max-width: 860px;
  min-height: 480px;
  background: var(--surface);
  border: 1.5px dashed var(--border);
  border-radius: var(--radius);
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  box-shadow: var(--shadow-sm);
  position: relative;
  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.zk-designer-canvas.is-drag-over {
  border-color: var(--primary);
  border-style: solid;
  background: var(--primary-light);
  box-shadow: 0 0 0 3px var(--primary-focus-shadow);
}

.zk-designer-snap-guide {
  position: absolute;
  left: 1rem;
  right: 1rem;
  height: 3px;
  background: var(--primary);
  border-radius: 2px;
  display: none;
  z-index: 10;
  pointer-events: none;
  box-shadow: 0 0 6px var(--primary);
}

.zk-designer-canvas-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  min-height: 280px;
  color: var(--text-muted);
  font-size: 0.875rem;
  text-align: center;
  border: 1px dashed transparent;
  border-radius: var(--radius);
  user-select: none;
}

.zk-designer-canvas-empty svg {
  color: var(--text-muted);
  opacity: 0.7;
}

.zk-designer-field-card {
  position: relative;
  padding: 0.65rem 0.85rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--card);
  transition: all 0.15s ease-in-out;
  cursor: pointer;
  user-select: none;
  display: grid !important;
  grid-template-columns: minmax(130px, 180px) 1fr auto !important;
  align-items: center !important;
  gap: 0.5rem 0.85rem !important;
  box-sizing: border-box;
}

.zk-designer-field-card:hover {
  border-color: var(--primary);
  box-shadow: var(--shadow-sm);
}

.zk-designer-field-card.is-selected {
  border-color: var(--primary);
  border-width: 2px;
  box-shadow: 0 0 0 2px var(--primary-focus-shadow);
  background: var(--surface);
}

.zk-designer-field-card.is-dragging {
  opacity: 0.4;
  border-style: dashed;
}

.zk-designer-field-label-col {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
  overflow: hidden;
}

.zk-designer-field-control-col {
  min-width: 0;
  width: 100%;
}

.zk-designer-field-actions-col {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  opacity: 0.7;
  transition: opacity 0.15s ease;
}

.zk-designer-field-card:hover .zk-designer-field-actions-col {
  opacity: 1;
}

.zk-designer-action-icon-btn {
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text-secondary);
  width: 1.65rem;
  height: 1.65rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-min);
  cursor: pointer;
  font-size: 0.75rem;
  transition: all 0.12s ease;
}

.zk-designer-action-icon-btn:hover {
  background: var(--surface-hover);
  border-color: var(--primary);
  color: var(--brand-text);
}

.zk-designer-action-icon-btn.is-delete:hover {
  background: var(--destructive-light);
  border-color: var(--danger);
  color: var(--danger);
}

@media (max-width: 640px) {
  .zk-designer-field-card {
    grid-template-columns: 1fr auto !important;
  }

  .zk-designer-field-label-col {
    grid-column: 1 !important;
  }

  .zk-designer-field-control-col {
    grid-column: 1 / -1 !important;
  }

  .zk-designer-field-actions-col {
    grid-column: 2 !important;
  }
}

.zk-designer-inspector {
  width: 320px;
  min-width: 280px;
  flex-shrink: 0;
  border-left: 1px solid var(--border);
  background: var(--card);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.zk-designer-inspector-body {
  padding: 1rem;
  overflow-y: auto;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.zk-designer-grid-2-preview {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  padding: 0.5rem;
  background: var(--surface-hover);
  border: 1px dashed var(--border);
  border-radius: var(--radius-min);
}

.zk-designer-grid-3-preview {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.5rem;
  padding: 0.5rem;
  background: var(--surface-hover);
  border: 1px dashed var(--border);
  border-radius: var(--radius-min);
}

@media (max-width: 900px) {
  .zk-designer-studio {
    flex-direction: column;
    height: auto;
    min-height: auto;
  }

  .zk-designer-palette,
  .zk-designer-inspector {
    width: 100%;
    min-width: 0;
    max-height: 240px;
  }
}

/* Stage 3: Studio Multi-Resource Data Source Selector & Palette */
.zk-studio-resource-picker-wrap {
  position: relative;
  min-width: 280px;
  max-width: 440px;
  flex: 1;
}

.zk-studio-resource-trigger {
  min-height: 2rem;
  padding: 0.15rem 0.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-button);
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.zk-studio-resource-trigger:hover {
  border-color: var(--primary);
}

.zk-studio-resource-trigger.is-open,
.zk-studio-resource-trigger:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 2px var(--focus-ring);
}

.zk-studio-resource-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem;
  flex: 1;
  min-height: 1.5rem;
  overflow: hidden;
}

.zk-studio-ds-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.1rem 0.4rem;
  font-size: 0.72rem;
  font-weight: 500;
  border-radius: var(--radius);
  background: var(--surface-hover);
  color: var(--text-secondary);
  border: 1px solid var(--border);
  user-select: none;
  line-height: 1.2;
}

.zk-studio-ds-pill.is-primary {
  background: var(--primary);
  color: var(--primary-contrast);
  border-color: var(--primary);
  font-weight: 600;
}

.zk-studio-ds-pill-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  font-size: 10px;
  cursor: pointer;
  border: none;
  background: transparent;
  color: currentColor;
  opacity: 0.8;
  padding: 0;
}

.zk-studio-ds-pill-close:hover {
  opacity: 1;
  background: var(--surface-hover);
}

.zk-studio-ds-pill-more {
  display: inline-flex;
  align-items: center;
  padding: 0.1rem 0.35rem;
  font-size: 0.7rem;
  font-weight: 600;
  border-radius: var(--radius);
  background: var(--bg-subtle);
  color: var(--text-muted);
  border: 1px dashed var(--border);
  cursor: pointer;
}

.zk-studio-resource-placeholder {
  color: var(--text-muted);
  font-size: 0.8125rem;
  user-select: none;
}

.zk-studio-resource-controls {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  color: var(--text-muted);
  flex-shrink: 0;
}

.zk-studio-resource-clear-btn {
  background: transparent;
  border: none;
  font-size: 0.75rem;
  color: var(--text-muted);
  cursor: pointer;
  padding: 0 0.2rem;
  border-radius: var(--radius-min);
}

.zk-studio-resource-clear-btn:hover {
  color: var(--text-primary);
  background: var(--surface-hover);
}

.zk-studio-resource-chevron {
  font-size: 0.65rem;
  transition: transform 0.2s ease;
}

.zk-studio-resource-trigger.is-open .zk-studio-resource-chevron {
  transform: rotate(180deg);
}

.zk-studio-resource-popover {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  width: 360px;
  max-width: 90vw;
  z-index: 100;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-lg);
  overflow: hidden;
}

.zk-studio-ds-search-row {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 0.6rem;
  border-bottom: 1px solid var(--border);
  background: var(--surface);
}

.zk-studio-ds-search-icon {
  color: var(--text-secondary);
  flex-shrink: 0;
}

.zk-studio-ds-search-input {
  flex: 1;
  border: none;
  background: transparent;
  font-size: 0.8125rem;
  color: var(--text-primary);
  outline: none;
}

.zk-studio-ds-search-input::placeholder {
  color: var(--text-muted);
}

.zk-studio-ds-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.35rem 0.6rem;
  font-size: 0.72rem;
  border-bottom: 1px solid var(--border);
  background: var(--card);
}

.zk-studio-ds-list {
  max-height: 240px;
  overflow-y: auto;
  padding: 0.25rem 0;
}

.zk-studio-ds-group-title {
  padding: 0.35rem 0.65rem 0.15rem;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-muted);
}

.zk-studio-ds-option-row {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.35rem 0.65rem;
  cursor: pointer;
  font-size: 0.8rem;
  transition: background 0.12s;
  user-select: none;
}

.zk-studio-ds-option-row:hover {
  background: var(--surface-hover);
}

.zk-studio-ds-option-row.is-selected {
  background: var(--accent-subtle);
  font-weight: 500;
}

.zk-studio-ds-info {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
  flex: 1;
}

.zk-studio-ds-name {
  font-weight: 600;
  color: var(--text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.zk-studio-ds-code {
  font-size: 0.7rem;
  color: var(--text-muted);
  font-family: var(--font-mono, monospace);
}

.zk-ds-auto-gen-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  width: 100%;
  padding: 0.45rem 0.65rem;
  font-size: 0.75rem;
  font-weight: 600;
  border-radius: var(--radius-button);
  border: 1px solid var(--primary);
  background: var(--accent-subtle);
  color: var(--brand-text);
  cursor: pointer;
  transition: all 0.15s ease;
  margin-bottom: 0.5rem;
}

.zk-ds-auto-gen-btn:hover {
  background: var(--primary);
  color: var(--primary-contrast);
  box-shadow: var(--shadow-sm);
}

.zk-ds-group-card {
  border: 1px solid var(--border);
  border-radius: var(--radius-min);
  background: var(--surface);
  overflow: hidden;
  margin-bottom: 0.5rem;
}

.zk-ds-group-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.4rem 0.55rem;
  background: var(--surface-hover);
  border-bottom: 1px solid var(--border);
  font-size: 0.72rem;
  font-weight: 700;
  gap: 0.35rem;
}

.zk-ds-group-title {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.zk-ds-group-body {
  padding: 0.35rem;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

.zk-ds-field-pill-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem;
  padding: 0.3rem 0.5rem;
  border-radius: var(--radius-min);
  border: 1px solid var(--border);
  background: var(--card);
  font-size: 0.75rem;
  cursor: grab;
  transition: all 0.15s ease;
  user-select: none;
}

.zk-ds-field-pill-item:hover {
  border-color: var(--primary);
  background: var(--surface-hover);
  transform: translateY(-1px);
  box-shadow: var(--shadow-sm);
}

.zk-ds-field-pill-item:active {
  cursor: grabbing;
}

.zk-ds-field-badge {
  font-size: 0.65rem;
  font-weight: 700;
  padding: 0.05rem 0.3rem;
  border-radius: var(--radius);
  background: var(--bg-hover);
  color: var(--text-secondary);
  text-transform: uppercase;
}

/* --- Phase B: Studio Direct Canvas Drag-to-Resize & Geometry Shape Tokens --- */
.zk-shape-square {
  border-radius: 0 !important;
}

.zk-shape-rounded {
  border-radius: var(--radius) !important;
}

.zk-shape-pill {
  border-radius: 9999px !important;
}

.zk-height-compact {
  min-height: 80px !important;
}

.zk-height-normal {
  min-height: 140px !important;
}

.zk-height-tall {
  min-height: 280px !important;
}

.zk-designer-resize-handle {
  position: absolute;
  right: 2px;
  bottom: 2px;
  width: 14px;
  height: 14px;
  cursor: nwse-resize;
  z-index: 25;
  display: none;
  background: linear-gradient(135deg, transparent 50%, var(--primary) 50%);
  border-bottom-right-radius: inherit;
  opacity: 0.75;
  transition: opacity 0.15s ease;
  user-select: none;
}

.zk-designer-resize-handle:hover,
.zk-designer-resize-handle.is-active {
  opacity: 1;
}

.zk-designer-resize-handle-x {
  position: absolute;
  right: -4px;
  top: 15%;
  bottom: 15%;
  width: 7px;
  cursor: ew-resize;
  z-index: 25;
  display: none;
  border-radius: 3px;
  background: var(--border-hover);
  opacity: 0.8;
  transition: background 0.15s ease, width 0.15s ease, opacity 0.15s ease;
  user-select: none;
}

.zk-designer-resize-handle-x:hover,
.zk-designer-resize-handle-x.is-active {
  background: var(--primary);
  width: 9px;
  opacity: 1;
}

.is-selected>.zk-designer-resize-handle,
.is-selected>.zk-designer-resize-handle-x {
  display: block;
}

.zk-designer-resize-tooltip {
  position: fixed;
  z-index: 99999;
  background: var(--text);
  color: var(--surface);
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0.25rem 0.55rem;
  border-radius: var(--radius-min);
  box-shadow: var(--shadow-md);
  pointer-events: none;
  transform: translate(-50%, -130%);
  white-space: nowrap;
  letter-spacing: 0.02em;
}

.zk-designer-btn-group {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  width: 100%;
}

.zk-designer-btn-group-item {
  flex: 1;
  padding: 0.35rem 0.4rem;
  font-size: 0.725rem;
  font-weight: 600;
  border: 1px solid var(--border);
  border-radius: var(--radius-min);
  background: var(--surface);
  color: var(--text-secondary);
  cursor: pointer;
  text-align: center;
  transition: all 0.15s ease;
  user-select: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
}

.zk-designer-btn-group-item:hover {
  border-color: var(--primary);
  color: var(--text);
  background: var(--surface-hover);
}

.zk-designer-btn-group-item.is-active {
  background: var(--primary-light);
  border-color: var(--primary);
  color: var(--brand-text);
  font-weight: 700;
}

/* --- Phase C: Visual Workflow Studio (BPMN Interactive Flow Canvas & Anchors) --- */
.zk-workflow-studio {
  display: flex;
  flex-direction: row;
  height: 100%;
  min-height: 560px;
  width: 100%;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  overflow: hidden;
  position: relative;
}

.zk-workflow-palette {
  width: 260px;
  min-width: 240px;
  flex-shrink: 0;
  border-right: 1px solid var(--border);
  background: var(--card);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.zk-workflow-palette-body {
  padding: 0.75rem;
  overflow-y: auto;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.zk-workflow-palette-list {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.zk-workflow-tool-btn {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.55rem 0.75rem;
  border-radius: var(--radius-button);
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text-primary);
  font-size: 0.8125rem;
  font-weight: 500;
  cursor: grab;
  transition: all 0.15s ease-in-out;
  user-select: none;
  line-height: 1.25;
}

.zk-workflow-tool-btn:hover {
  background: var(--surface-hover);
  border-color: var(--primary);
  color: var(--brand-text);
  transform: translateY(-1px);
  box-shadow: var(--shadow-sm);
}

.zk-workflow-tool-btn:active {
  cursor: grabbing;
}

.zk-workflow-canvas-wrap {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  background: var(--bg-hover);
  overflow: hidden;
  position: relative;
}

.zk-workflow-canvas-toolbar {
  padding: 0.5rem 0.85rem;
  border-bottom: 1px solid var(--border);
  background: var(--surface);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  z-index: 5;
}

.zk-workflow-canvas-scroll {
  flex: 1;
  overflow: auto;
  position: relative;
  background-image: radial-gradient(var(--border) 1.5px, transparent 1.5px);
  background-size: 20px 20px;
}

.zk-workflow-canvas {
  position: relative;
  min-width: 1800px;
  min-height: 1200px;
  width: 100%;
  height: 100%;
}

.zk-workflow-svg-layer {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 2;
}

.zk-workflow-node {
  position: absolute;
  width: 190px;
  border: 1.5px solid var(--border);
  border-radius: var(--radius);
  background: var(--card);
  box-shadow: var(--shadow-sm);
  cursor: move;
  user-select: none;
  z-index: 10;
  transition: box-shadow 0.15s ease, border-color 0.15s ease, transform 0.1s ease;
  box-sizing: border-box;
}

.zk-workflow-node:hover {
  border-color: var(--primary);
  box-shadow: var(--shadow-md);
}

.zk-workflow-node.is-selected {
  border-color: var(--primary);
  border-width: 2px;
  box-shadow: 0 0 0 3px var(--primary-focus-shadow);
}

.zk-workflow-node.is-connecting-source {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px var(--primary-focus-shadow);
}

.zk-workflow-node.is-connecting-target-hover {
  border-color: var(--wf-gateway);
  border-style: dashed;
  box-shadow: 0 0 10px var(--primary);
}

.zk-workflow-node-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.4rem 0.65rem;
  border-bottom: 1px solid var(--border);
  font-size: 0.7rem;
  font-weight: 700;
  background: var(--surface);
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
}

.zk-workflow-node-body {
  padding: 0.5rem 0.65rem;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.zk-workflow-node-title {
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1.3;
}

.zk-workflow-node-sub {
  font-size: 0.7rem;
  color: var(--text-muted);
}

.zk-workflow-node-start {
  border-top: 3.5px solid var(--wf-start);
}

.zk-workflow-node-approval {
  border-top: 3.5px solid var(--primary);
}

.zk-workflow-node-gateway {
  border-top: 3.5px solid var(--wf-gateway);
}

.zk-workflow-node-notification {
  border-top: 3.5px solid var(--wf-notify);
}

.zk-workflow-node-end {
  border-top: 3.5px solid var(--wf-end);
}

/* Interactive Anchor Handles */
.zk-workflow-anchor {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--surface);
  border: 2.5px solid var(--primary);
  cursor: crosshair;
  z-index: 20;
  opacity: 0.7;
  transition: transform 0.15s ease, opacity 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
  box-sizing: border-box;
}

.zk-workflow-node:hover .zk-workflow-anchor,
.zk-workflow-node.is-selected .zk-workflow-anchor,
.zk-workflow-anchor:hover {
  opacity: 1;
  transform: translateY(-50%) scale(1.3);
  background: var(--primary);
}

.zk-workflow-anchor-in {
  left: -7px;
  border-color: var(--text-muted);
}

.zk-workflow-anchor-in:hover {
  background: var(--text-muted);
}

.zk-workflow-anchor-out {
  right: -7px;
  border-color: var(--primary);
}

.zk-workflow-anchor-out:hover {
  background: var(--primary);
}

.zk-workflow-anchor.is-active-source {
  background: var(--primary);
  transform: translateY(-50%) scale(1.4);
  box-shadow: 0 0 8px var(--primary);
  opacity: 1;
}

.zk-workflow-inspector {
  width: 320px;
  min-width: 280px;
  flex-shrink: 0;
  border-left: 1px solid var(--border);
  background: var(--card);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.zk-workflow-inspector-body {
  padding: 1rem;
  overflow-y: auto;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

@media (max-width: 900px) {
  .zk-workflow-studio {
    flex-direction: column;
    height: auto;
    min-height: auto;
  }

  .zk-workflow-palette,
  .zk-workflow-inspector {
    width: 100%;
    min-width: 0;
    max-height: 240px;
  }
}

/* ==========================================================================
   Visual Studio - Profile 360° Layout Components (Hero, Split, Tabs, Cards)
   Compliant with UI-004 (Tokens only), UI-005, UI-007
   ========================================================================== */

.zk-designer-hero-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 1.25rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  box-shadow: var(--shadow-sm);
  width: 100%;
}

.zk-designer-hero-left {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}

.zk-designer-hero-avatar {
  width: 4.25rem;
  height: 4.25rem;
  border-radius: 50%;
  background: var(--surface);
  border: 2px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--text-secondary);
  flex-shrink: 0;
}

.zk-designer-quick-bar {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 0.75rem 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
}

.zk-designer-split-container {
  display: flex;
  gap: 1.25rem;
  width: 100%;
  align-items: stretch;
}

.zk-designer-split-left {
  width: 30%;
  min-width: 260px;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  background: var(--surface);
  border: 1px dashed var(--border);
  border-radius: var(--radius);
  padding: 0.75rem;
}

.zk-designer-split-right {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  background: var(--surface);
  border: 1px dashed var(--border);
  border-radius: var(--radius);
  padding: 0.75rem;
}

.zk-designer-split-dropzone-hint {
  font-size: 0.75rem;
  color: var(--muted);
  text-align: center;
  padding: 1.5rem 0.5rem;
  border: 1px dashed var(--border);
  border-radius: var(--radius-sm);
  background: var(--card);
}

.zk-designer-tabs-wrap {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  width: 100%;
}

.zk-designer-tabs-header {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 0.75rem 0 0.75rem;
  border-bottom: 1px solid var(--border);
  background: var(--surface);
  overflow-x: auto;
}

.zk-designer-tab-item {
  padding: 0.45rem 0.85rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--muted);
  border-bottom: 2px solid transparent;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.15s ease;
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

.zk-designer-tab-item:hover {
  color: var(--foreground);
}

.zk-designer-tab-item.is-active {
  color: var(--brand-text);
  border-bottom-color: var(--primary);
  background: var(--card);
  border-radius: var(--radius-sm) var(--radius-sm) 0 0;
}

.zk-designer-tab-add-btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--brand-text);
  background: var(--surface-hover);
  border: 1px dashed var(--primary);
  border-radius: var(--radius-sm);
  cursor: pointer;
  margin-left: 0.25rem;
  margin-bottom: 0.25rem;
}

.zk-designer-tab-body {
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.zk-designer-section-box {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 1rem 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  box-shadow: var(--shadow-sm);
  width: 100%;
}

.zk-designer-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid var(--border);
}

.zk-designer-section-grid {
  display: grid;
  gap: 0.75rem 1.25rem;
}

.zk-designer-section-grid.cols-1 {
  grid-template-columns: 1fr;
}

.zk-designer-section-grid.cols-2 {
  grid-template-columns: repeat(2, 1fr);
}

.zk-designer-section-grid.cols-3 {
  grid-template-columns: repeat(3, 1fr);
}

.zk-designer-section-grid.cols-4 {
  grid-template-columns: repeat(4, 1fr);
}

.zk-designer-cell-label {
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 0.15rem;
}

.zk-designer-cell-value {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--foreground);
}

.zk-designer-metric-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 0.85rem 1rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  box-shadow: var(--shadow-sm);
}

.zk-designer-metric-icon {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  background: var(--surface-hover);
  color: var(--text-secondary);
  flex-shrink: 0;
}

.zk-button-ai-sparkle {
  background: var(--primary);
  color: var(--text-on-primary);
  border: 1px solid var(--primary);
  box-shadow: 0 0 10px var(--primary-light);
  transition: all 180ms ease-in-out;
}

.zk-button-ai-sparkle:hover {
  background: var(--primary-hover);
  box-shadow: 0 0 14px var(--primary);
}

/* Card click navigation styling */
.zk-dynamic-card[data-zk-card-url],
.zk-gym-member-card[data-zk-card-url] {
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.zk-dynamic-card[data-zk-card-url]:hover,
.zk-gym-member-card[data-zk-card-url]:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
  border-color: var(--primary);
}

/* ==========================================================================
   Archetype Standard State Views (Empty, Error, Loading, Forbidden, Conflict)
   ========================================================================== */

.zk-archetype-state-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 3rem 2rem;
  margin: 1.5rem auto;
  max-width: 580px;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
}

.zk-archetype-state-icon {
  margin-bottom: 1.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
}

.zk-archetype-empty-icon {
  background: var(--primary-light);
  color: var(--primary);
}

.zk-archetype-error-icon {
  background: var(--destructive-light);
  color: var(--danger);
}

.zk-archetype-lock-icon {
  background: var(--warning-light);
  color: var(--warning-text);
}

.zk-archetype-conflict-icon {
  background: var(--destructive-light);
  color: var(--destructive-text);
}

.zk-archetype-state-title {
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 0.5rem;
}

.zk-archetype-state-desc {
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--text-muted);
  max-width: 440px;
  margin-bottom: 1.25rem;
}

.zk-archetype-state-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.zk-archetype-spinner {
  color: var(--primary);
  margin-bottom: 1rem;
}

.zk-archetype-loading-text {
  font-size: 0.925rem;
  color: var(--text-muted);
}

@keyframes zk-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.zk-spin {
  animation: zk-spin 1s linear infinite;
}

/* Partial Error Box */
.zk-archetype-partial-error {
  background: var(--destructive-light);
  border: 1px solid var(--destructive-border);
  border-radius: var(--radius);
  padding: 0.85rem 1rem;
  margin: 0.75rem 0;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.zk-archetype-partial-error-head {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 600;
  font-size: 0.9rem;
  color: var(--destructive-text);
}

.zk-archetype-partial-error-msg {
  font-size: 0.85rem;
  color: var(--text-muted);
  margin: 0;
}

.zk-archetype-partial-error-retry {
  display: inline-block;
  align-self: flex-start;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--destructive-text);
  text-decoration: underline;
  cursor: pointer;
}

/* Archetype Toast Notifications (No alert() modal) */
.zk-archetype-toast {
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
  z-index: 9999;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.85rem 1.25rem;
  border-radius: var(--radius);
  box-shadow: 0 10px 25px var(--overlay-shadow);
  font-size: 0.9rem;
  font-weight: 500;
  animation: zk-toast-in 0.25s ease-out;
  max-width: 420px;
}

@keyframes zk-toast-in {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

/* A previous success notification must not cover an open dialog. */
body.zk-modal-open > .zk-archetype-toast-success {
  z-index: 999;
}

.zk-archetype-toast-success {
  background: var(--success-light);
  color: var(--success-text);
  border: 1px solid var(--success-border);
}

.zk-archetype-toast-error,
.zk-archetype-toast-danger {
  background: var(--destructive-light);
  color: var(--destructive-text);
  border: 1px solid var(--destructive-border);
}

.zk-archetype-toast-info {
  background: var(--info-light);
  color: var(--info-text);
  border: 1px solid var(--info-border);
}

.zk-archetype-toast-icon {
  font-weight: 700;
  font-size: 1.1rem;
}

.zk-archetype-toast-msg {
  flex: 1;
}

.zk-archetype-toast-close {
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0.2rem;
  color: inherit;
  opacity: 0.7;
  font-size: 0.85rem;
  line-height: 1;
}

.zk-archetype-toast-close:hover {
  opacity: 1;
}

/* Bulk Actions Floating Bar */
.zk-bulk-actions-bar {
  position: fixed;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1000;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius-button);
  box-shadow: 0 8px 30px var(--overlay-shadow);
  padding: 0.5rem 1.25rem;
}

.zk-bulk-actions-content {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.zk-bulk-selection-info {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--text-primary);
}

.zk-bulk-count-badge {
  background: var(--primary);
  color: var(--text-on-primary);
  padding: 0.15rem 0.5rem;
  border-radius: var(--radius-button);
  font-size: 0.75rem;
  font-weight: 700;
}

.zk-bulk-action-buttons {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.zk-bulk-select-all-system-btn {
  background: transparent;
  border: 1px dashed var(--primary);
  color: var(--primary);
  font-size: 0.8125rem;
  font-weight: 600;
  padding: 0.2rem 0.6rem;
  border-radius: var(--radius-button);
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
  white-space: nowrap;
}

.zk-bulk-select-all-system-btn:hover {
  background: var(--primary-light);
}

.zk-bulk-select-all-system-btn[data-zk-all-system-active="true"] {
  background: var(--primary);
  border-style: solid;
  color: var(--text-on-primary);
}

/* Accessibility: High-contrast focus indicator for keyboard navigation (UI-A11Y-002) */
:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
a:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}

/* Accessibility: Screen-reader-only accessible text and table representations (WCAG 2.2 AA) */
.zk-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;
}

/* HTMX Local Loading Indicator & Spinners (UI-007) */
[aria-busy="true"],
.is-loading {
  position: relative;
}

/* Local subtle loading overlay on containers undergoing HTMX swap */
[aria-busy="true"]:not(#zk-main)::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--surface);
  opacity: 0.55;
  z-index: 10;
  border-radius: inherit;
  pointer-events: none;
}

/* Loading notices remain legible above the surrounding busy overlay. */
.zk-loading-state {
  position: relative;
  z-index: 11;
}

.zk-loading-state[aria-busy="true"]::after {
  content: none;
}

/* Live views keep their last result visible while reading updates. Retain
   aria-busy for assistive technology without flashing an overlay on each read. */
[data-zk-live-updates][aria-busy="true"]::after,
[data-zk-live-updates] [aria-busy="true"]::after {
  content: none;
}

/* Local spinner animation */
@keyframes zk-spin {
  to {
    transform: rotate(360deg);
  }
}

.zk-local-spinner {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  border: 2px solid var(--border);
  border-top-color: var(--primary);
  border-radius: 50%;
  animation: zk-spin 0.6s linear infinite;
  vertical-align: middle;
}

.zk-hidden {
  display: none !important;
}

/* Dynamic Formula & Field Reactivity */
.zk-field-hidden {
  display: none !important;
}

@keyframes zk-formula-flash {
  0% {
    background-color: var(--primary-light);
    box-shadow: 0 0 0 2px var(--primary);
  }
  100% {
    background-color: transparent;
    box-shadow: none;
  }
}

.zk-formula-computed-flash {
  animation: zk-formula-flash 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  transition: border-color 0.3s ease;
}

input[data-zk-formula],
input[data-formula] {
  background-color: var(--surface-secondary);
  font-weight: 600;
  cursor: default;
}

/* Master-Detail SubTable Component */
.zk-subtable-wrapper {
  width: 100%;
  margin: 1rem 0;
  border: 1px solid var(--border);
  border-radius: var(--radius-card);
  background: var(--surface);
  overflow: hidden;
}

.zk-subtable-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 1rem;
  background: var(--surface-secondary);
  border-bottom: 1px solid var(--border);
}

.zk-subtable-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--text-primary);
}

.zk-subtable-grid {
  width: 100%;
  border-collapse: collapse;
}

.zk-subtable-grid .zk-input-sm {
  padding: 0.35rem 0.5rem;
  font-size: 0.8125rem;
  height: auto;
}

/* Dynamic Profile Toast */
.zk-profile-toast {
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
  z-index: 9999;
  padding: 0.75rem 1.25rem;
  border-radius: var(--radius);
  font-weight: 500;
  font-size: 0.875rem;
  box-shadow: var(--overlay-shadow);
  transition: opacity 0.3s ease, transform 0.3s ease;
  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;
}

.zk-profile-toast.zk-profile-toast--visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.zk-profile-toast--success {
  background: var(--success-light);
  color: var(--success-text);
  border: 1px solid var(--success-border);
}

.zk-profile-toast--danger {
  background: var(--destructive-light);
  color: var(--destructive-text);
  border: 1px solid var(--destructive-border);
}

.zk-profile-toast--info {
  background: var(--info-light);
  color: var(--info-text);
  border: 1px solid var(--info-border);
}

/* ═══════════════════════════════════════════════════════════════
   Autocomplete / Async Searchable Combobox
   ═══════════════════════════════════════════════════════════════ */

.zk-autocomplete-wrapper {
  position: relative;
  width: 100%;
}

.zk-autocomplete-panel {
  position: absolute;
  top: calc(100% + 2px);
  left: 0;
  right: 0;
  z-index: 1050;
  max-height: 240px;
  overflow-y: auto;
  background: var(--card, var(--surface));
  border: 1px solid var(--primary, var(--frozen-text));
  border-radius: var(--radius-min, 6px);
  box-shadow: 0 8px 24px color-mix(in srgb, var(--media-background) 35%, transparent);
  scrollbar-width: thin;
}

.zk-autocomplete-option {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  cursor: pointer;
  font-size: 0.8125rem;
  color: var(--text-primary, var(--text));
  transition: background 0.1s ease;
  border-bottom: 1px solid var(--border-subtle, color-mix(in srgb, var(--text-on-primary) 6%, transparent));
  user-select: none;
}

.zk-autocomplete-option:last-child {
  border-bottom: none;
}

.zk-autocomplete-option:hover {
  background: var(--surface-hover, color-mix(in srgb, var(--text-on-primary) 8%, transparent));
}

.zk-autocomplete-option--active {
  background: var(--primary-light, color-mix(in srgb, var(--frozen-text) 15%, transparent));
}

.zk-autocomplete-option--selected {
  background: var(--primary-light, color-mix(in srgb, var(--frozen-text) 18%, transparent));
  color: var(--primary);
  font-weight: 500;
}

.zk-autocomplete-option-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border: 1px solid var(--input-border, var(--border));
  border-radius: 3px;
  font-size: 11px;
  line-height: 1;
  color: var(--primary);
  background: var(--card);
  flex-shrink: 0;
}

.zk-autocomplete-option--selected .zk-autocomplete-option-check {
  border-color: var(--primary);
  background: var(--primary);
  color: var(--text-on-primary);
}

.zk-autocomplete-option-text {
  flex: 1;
}

.zk-autocomplete-highlight {
  background: transparent;
  color: var(--primary);
  font-weight: 600;
}

.zk-autocomplete-loading,
.zk-autocomplete-no-results {
  padding: 12px;
  text-align: center;
  font-size: 0.8125rem;
  color: var(--muted);
}

.zk-autocomplete-loading::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 2px solid var(--border);
  border-top-color: var(--primary);
  border-radius: 50%;
  animation: zk-ac-spin 0.6s linear infinite;
  margin-right: 6px;
  vertical-align: middle;
}

@keyframes zk-ac-spin {
  to { transform: rotate(360deg); }
}

.zk-autocomplete-toggle {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: var(--text-muted, var(--text-disabled));
  cursor: pointer;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transition: transform 0.2s ease, color 0.15s ease;
  z-index: 2;
}

.zk-autocomplete-toggle:hover {
  color: var(--text-primary);
}

.zk-autocomplete-wrapper.is-open .zk-autocomplete-toggle {
  transform: translateY(-50%) rotate(180deg);
}

.zk-autocomplete-clear {
  position: absolute;
  right: 28px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  font-size: 1.1rem;
  color: var(--muted);
  cursor: pointer;
  padding: 2px 6px;
  line-height: 1;
  border-radius: 50%;
  transition: color 0.15s, background 0.15s;
  z-index: 2;
}

.zk-autocomplete-clear:hover {
  color: var(--text);
  background: var(--secondary-hover);
}

.zk-autocomplete-wrapper > .zk-input {
  padding-right: 48px;
  cursor: pointer;
}

/* ═══════════════════════════════════════════════════════════════
   Client-Side Searchable Combobox Component
   ═══════════════════════════════════════════════════════════════ */

.zk-reg-combobox-wrap {
  position: relative;
  width: 100%;
}

.zk-reg-combobox-wrap .zk-reg-combobox-input:focus {
  border-color: var(--primary);
  outline: none;
  box-shadow: 0 0 0 1px var(--primary);
}

.zk-reg-combobox-toggle {
  position: absolute;
  right: 0.5rem;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: var(--muted);
  cursor: pointer;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius);
  transition: color 0.15s ease;
}

.zk-reg-combobox-toggle:hover {
  color: var(--foreground);
}

.zk-reg-combobox-panel {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  max-height: 220px;
  overflow-y: auto;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-lg);
  z-index: 1050;
  scrollbar-width: thin;
}

.zk-reg-combobox-panel.is-dropup {
  top: auto;
  bottom: calc(100% + 4px);
}

.zk-reg-combobox-item {
  padding: 0.55rem 0.85rem;
  font-size: 0.85rem;
  cursor: pointer;
  border-bottom: 1px solid var(--border);
  color: var(--foreground);
  transition: background 0.1s ease;
  user-select: none;
}

.zk-reg-combobox-item:last-child {
  border-bottom: none;
}

.zk-reg-combobox-item:hover,
.zk-reg-combobox-item.is-active {
  background: var(--surface-hover);
}

.zk-reg-combobox-item.is-selected {
  background: var(--primary-subtle);
  color: var(--primary);
  font-weight: 600;
}

.zk-reg-combobox-highlight {
  background: transparent;
  color: var(--primary);
  font-weight: 700;
}

.zk-reg-combobox-empty {
  padding: 0.75rem 1rem;
  font-size: 0.85rem;
  color: var(--muted);
  text-align: center;
}

.zk-autocomplete-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.35rem;
}

.zk-autocomplete-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  background: var(--surface-secondary, color-mix(in srgb, var(--text-on-primary) 6%, transparent));
  border: 1px solid var(--border-color, var(--border));
  border-radius: var(--radius-min, 4px);
  padding: 0.2rem 0.5rem;
  font-size: 0.8125rem;
  color: var(--text-primary);
}

.zk-autocomplete-tag-remove {
  background: none;
  border: none;
  color: var(--text-muted);
  cursor: pointer;
  padding: 0 2px;
  font-size: 1rem;
  line-height: 1;
  display: inline-flex;
  align-items: center;
}

.zk-autocomplete-tag-remove:hover {
  color: var(--danger, var(--zk-session-btn-cancel-border));
}

/* Responsive: on mobile make panel full-width */
@media (max-width: 480px) {
  .zk-autocomplete-panel {
    max-height: 200px;
  }
  .zk-autocomplete-option {
    padding: 10px 12px;
  }
}

/* ═══════════════════════════════════════════════════════════════
   Audit Trail Timeline
   ═══════════════════════════════════════════════════════════════ */

.zk-audit-timeline {
  position: relative;
  padding-left: 24px;
}

.zk-audit-timeline::before {
  content: "";
  position: absolute;
  left: 10px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--border);
}

.zk-audit-entry {
  position: relative;
  padding-bottom: 1.25rem;
}

.zk-audit-entry:last-child {
  padding-bottom: 0;
}

.zk-audit-entry-dot {
  position: absolute;
  left: -18px;
  top: 6px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--primary);
  border: 2px solid var(--surface);
  box-shadow: 0 0 0 2px var(--border);
  z-index: 1;
}

.zk-audit-entry-content {
  padding-left: 8px;
}

.zk-audit-entry-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.zk-audit-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  min-width: 28px;
  border-radius: 50%;
  background: var(--primary-light);
  color: var(--primary);
  font-weight: 700;
  font-size: 0.75rem;
}

.zk-audit-entry-meta {
  display: flex;
  flex-direction: column;
  gap: 1px;
  flex: 1;
  min-width: 0;
}

.zk-audit-actor {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--text);
}

.zk-audit-action-label {
  font-size: 0.75rem;
  color: var(--muted);
  text-transform: capitalize;
}

.zk-audit-time {
  font-size: 0.75rem;
  color: var(--muted);
  white-space: nowrap;
}

.zk-audit-toggle {
  display: inline-block;
  margin-top: 0.375rem;
  padding: 2px 8px;
  font-size: 0.75rem;
  color: var(--primary);
  background: var(--primary-light);
  border: 1px solid var(--primary);
  border-radius: var(--radius);
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}

.zk-audit-toggle:hover {
  background: var(--primary);
  color: var(--text-on-primary);
}

.zk-audit-toggle[aria-expanded="true"] {
  background: var(--primary);
  color: var(--text-on-primary);
}

.zk-audit-changes {
  margin-top: 0.5rem;
}

.zk-audit-diff-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8125rem;
}

.zk-audit-diff-table th,
.zk-audit-diff-table td {
  padding: 4px 8px;
  border: 1px solid var(--border);
  text-align: left;
  vertical-align: top;
}

.zk-audit-diff-table th {
  background: var(--surface);
  font-weight: 600;
  font-size: 0.75rem;
  color: var(--muted);
}

.zk-audit-diff-table .zk-audit-diff-field {
  font-weight: 600;
  width: 25%;
  color: var(--text);
}

.zk-audit-diff-table .zk-audit-diff-old {
  color: var(--destructive-text);
  text-decoration: line-through;
  opacity: 0.8;
}

.zk-audit-diff-table .zk-audit-diff-new {
  color: var(--success-text);
  font-weight: 600;
}

.zk-audit-loading,
.zk-audit-empty,
.zk-audit-error {
  text-align: center;
  padding: 2rem;
  color: var(--muted);
  font-size: 0.875rem;
}

.zk-audit-error {
  color: var(--danger);
}

@media (max-width: 640px) {
  .zk-audit-entry-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
  }
  .zk-audit-diff-table {
    font-size: 0.75rem;
  }
}

/* =========================================================================
 * Giai Đoạn ④: Print / PDF Template Engine (UI-004, UI-005, UI-101)
 * ========================================================================= */
.zk-print-only {
  display: none !important;
}

@media print {
  @page {
    margin: 12mm 15mm;
    size: auto;
  }

  *,
  *::before,
  *::after {
    background: transparent !important;
    color: var(--text-primary) !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  html,
  body {
    background: var(--card) !important;
    color: var(--text-primary) !important;
    font-size: 10pt !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }

  /* Hide navigation, toolbars, dialogs, floating widgets, action buttons */
  .zk-sidebar,
  .zk-sidebar-inner,
  .zk-sidebar-backdrop,
  .zk-sidebar-hover-zone,
  .zk-topbar,
  .zk-topbar-actions,
  .zk-header,
  .zk-footer,
  .zk-nav,
  .zk-button,
  .zk-btn,
  button,
  .zk-card-actions,
  .zk-form-actions,
  .zk-print-btn,
  [data-zk-action="print"],
  .zk-filter-bar,
  .zk-pagination,
  .zk-bulk-actions-bar,
  .zk-column-chooser,
  .zk-modal,
  [data-zk-modal],
  .zk-toast,
  .zk-alert-close,
  .zk-diff-inspector,
  #zk-audit-trail-timeline,
  .zk-audit-toggle,
  .zk-no-print {
    display: none !important;
  }

  /* Show print-only elements */
  .zk-print-only {
    display: block !important;
  }

  /* Layout container resets */
  .zk-shell,
  .zk-app-layout,
  .zk-main-layout,
  .zk-main,
  .zk-content {
    margin: 0 !important;
    padding: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    border: none !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  /* Cards styling for print */
  .zk-card,
  .zk-gym-profile-card {
    border: 1px solid var(--border) !important;
    border-radius: var(--radius) !important;
    box-shadow: none !important;
    background: var(--card) !important;
    margin-bottom: 12pt !important;
    padding: 10pt !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .zk-card-header {
    border-bottom: 1px solid var(--border) !important;
    padding-bottom: 6pt !important;
    margin-bottom: 8pt !important;
  }

  .zk-card-title,
  h1, h2, h3, h4 {
    color: var(--text-primary) !important;
    break-after: avoid;
    page-break-after: avoid;
  }

  /* Badges */
  .zk-badge {
    border: 1px solid var(--border) !important;
    color: var(--text-primary) !important;
    background: var(--surface) !important;
    padding: 1px 6px !important;
    font-size: 8pt !important;
  }

  /* Table formatting */
  .zk-table,
  .zk-record-pos-table,
  table {
    width: 100% !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    margin-top: 6pt !important;
    break-inside: auto;
  }

  .zk-table tr,
  .zk-record-pos-table tr,
  tr {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .zk-table th,
  .zk-table td,
  .zk-record-pos-th,
  .zk-record-pos-td,
  th,
  td {
    border: 1px solid var(--border) !important;
    padding: 5pt 7pt !important;
    font-size: 9pt !important;
    color: var(--text-primary) !important;
  }

  .zk-table th,
  .zk-record-pos-th,
  th {
    background: var(--surface) !important;
    font-weight: 700 !important;
  }

  /* Page break helpers */
  .zk-print-page-break {
    break-after: page;
    page-break-after: always;
  }
}

/* ============================================================
   Dynamic Low-code Media Controls: Face Register & Document OCR Scanner
   ============================================================ */

/* Global hidden helper ensure */
.is-hidden {
  display: none !important;
}

/* Wrapper in form row: top-aligned labels */
.zk-face-register-wrapper,
.zk-doc-scan-wrapper {
  align-items: start;
}

@media (min-width: 641px) {
  .zk-form-row.zk-face-register-wrapper:not(.is-stacked),
  .zk-form-row.zk-doc-scan-wrapper:not(.is-stacked) {
    align-items: start;
  }

  .zk-form-row.zk-face-register-wrapper:not(.is-stacked) .zk-face-register-control,
  .zk-form-row.zk-face-register-wrapper:not(.is-stacked) .zk-face-field-error,
  .zk-form-row.zk-doc-scan-wrapper:not(.is-stacked) .zk-doc-scan-control,
  .zk-form-row.zk-doc-scan-wrapper:not(.is-stacked) .zk-doc-scan-field-error {
    grid-column: 2;
  }
}

.zk-face-register-label,
.zk-doc-scan-label {
  color: var(--text-primary);
  font-size: 0.875rem;
  font-weight: 600;
  padding-top: 0.5rem;
}

/* Controls containers */
.zk-face-register-control,
.zk-doc-scan-control {
  display: inline-flex;
  flex-direction: column;
  position: relative;
  width: fit-content;
}

/* Preview boxes */
.zk-face-preview-box {
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-xs);
  display: flex;
  flex: 0 0 auto;
  height: 9.375rem;
  justify-content: center;
  overflow: hidden;
  position: relative;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  width: 7rem;
}

.zk-face-preview-box.is-aspect-square,
.zk-face-register-control[data-zk-aspect-ratio="1:1"] .zk-face-preview-box {
  height: 9.375rem;
  width: 9.375rem;
}

.zk-doc-scan-preview-box {
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-xs);
  display: flex;
  flex: 0 0 auto;
  height: 9.375rem;
  justify-content: center;
  overflow: hidden;
  position: relative;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  width: 14.875rem;
}

.zk-face-preview-box:hover,
.zk-doc-scan-preview-box:hover {
  border-color: var(--border-control-hover);
}

/* Placeholders */
.zk-face-preview-placeholder,
.zk-doc-scan-preview-placeholder {
  align-items: center;
  color: var(--text-muted);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  height: 100%;
  justify-content: center;
  opacity: 0.7;
  width: 100%;
}

/* Preview Images */
.zk-face-preview-img,
.zk-doc-scan-preview-img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

/* Overlay Actions (Hover Buttons Inside Photo) */
.zk-face-overlay-actions,
.zk-doc-scan-overlay-actions {
  align-items: center;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  background: var(--media-overlay-action);
  border-radius: var(--radius);
  bottom: 0.5rem;
  display: inline-flex;
  gap: 0.375rem;
  left: 50%;
  opacity: 0;
  padding: 0.25rem 0.375rem;
  pointer-events: none;
  position: absolute;
  transform: translate(-50%, 6px);
  transition: opacity 0.2s ease, transform 0.2s ease;
  z-index: 10;
}

.zk-face-preview-box:hover .zk-face-overlay-actions,
.zk-face-preview-box:focus-within .zk-face-overlay-actions,
.zk-doc-scan-preview-box:hover .zk-doc-scan-overlay-actions,
.zk-doc-scan-preview-box:focus-within .zk-doc-scan-overlay-actions {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

/* Overlay Action Buttons */
.zk-face-overlay-btn,
.zk-doc-scan-overlay-btn {
  align-items: center;
  background: transparent;
  border: none;
  border-radius: 50%;
  color: var(--text-on-primary);
  cursor: pointer;
  display: inline-flex;
  height: 1.875rem;
  justify-content: center;
  margin: 0;
  padding: 0;
  transition: background-color 0.15s ease, color 0.15s ease, transform 0.1s ease;
  width: 1.875rem;
}

.zk-face-overlay-btn:hover,
.zk-doc-scan-overlay-btn:hover {
  background: var(--media-overlay-control-hover);
  color: var(--text-on-primary);
}

.zk-face-overlay-btn:active,
.zk-doc-scan-overlay-btn:active {
  transform: scale(0.92);
}

.zk-face-overlay-btn:focus-visible,
.zk-doc-scan-overlay-btn:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 1px;
}

/* Hidden inputs and states */
.zk-face-file-input,
.zk-doc-scan-file-input,
.zk-face-freeze-canvas.is-hidden,
.zk-face-video.is-hidden,
.zk-face-btn-capture.is-hidden,
.zk-face-btn-retake.is-hidden,
.zk-face-btn-accept.is-hidden,
.zk-face-preview-img.is-hidden,
.zk-face-preview-placeholder.is-hidden,
.zk-face-floating-toast.is-hidden,
.zk-doc-scan-freeze-canvas.is-hidden,
.zk-doc-scan-video.is-hidden,
.zk-doc-scan-btn-capture.is-hidden,
.zk-doc-scan-btn-retake.is-hidden,
.zk-doc-scan-btn-accept.is-hidden,
.zk-doc-scan-preview-img.is-hidden,
.zk-doc-scan-preview-placeholder.is-hidden,
.zk-doc-scan-floating-toast.is-hidden {
  display: none !important;
}

/* Floating Toast Notifications */
.zk-face-floating-toast,
.zk-doc-scan-floating-toast {
  align-items: center;
  background: var(--card);
  border: 1px solid var(--danger);
  border-radius: var(--radius);
  box-shadow: 0 4px 12px var(--overlay-shadow);
  color: var(--danger);
  cursor: pointer;
  display: flex;
  font-size: 0.75rem;
  font-weight: 500;
  gap: 0.375rem;
  left: 50%;
  max-width: 18rem;
  padding: 0.375rem 0.625rem;
  pointer-events: auto;
  position: absolute;
  top: 0.5rem;
  transform: translateX(-50%);
  width: max-content;
  z-index: 25;
}

.zk-face-toast-icon,
.zk-doc-scan-toast-icon {
  flex-shrink: 0;
}

.zk-face-toast-text,
.zk-doc-scan-toast-text {
  line-height: 1.3;
}

/* Field errors below the control */
.zk-face-field-error,
.zk-doc-scan-field-error {
  color: var(--danger);
  font-size: 0.75rem;
  font-weight: 500;
  margin-top: 0.375rem;
}

/* Camera Modals (Face & Document) */
.zk-face-camera-modal,
.zk-doc-scan-camera-modal {
  align-items: center;
  background: var(--overlay-backdrop);
  display: none;
  inset: 0;
  justify-content: center;
  padding: 1rem;
  position: fixed;
  z-index: 9999;
}

.zk-face-camera-modal.is-open,
.zk-doc-scan-camera-modal.is-open {
  display: flex;
}

.zk-face-modal-dialog,
.zk-doc-scan-modal-dialog {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--overlay-shadow);
  max-width: 32.5rem;
  overflow: hidden;
  width: 100%;
}

.zk-face-modal-header,
.zk-face-modal-footer,
.zk-doc-scan-modal-header,
.zk-doc-scan-modal-footer {
  align-items: center;
  display: flex;
  justify-content: space-between;
  padding: 0.875rem 1.25rem;
}

.zk-face-modal-header,
.zk-doc-scan-modal-header {
  border-bottom: 1px solid var(--border);
}

.zk-face-modal-header h3,
.zk-doc-scan-modal-header h3 {
  color: var(--text-primary);
  font-size: 1rem;
  font-weight: 600;
  margin: 0;
}

.zk-face-modal-close,
.zk-doc-scan-modal-close {
  background: transparent;
  border: 0;
  color: var(--text-muted);
  cursor: pointer;
  padding: 0.25rem;
}

.zk-face-modal-close:hover,
.zk-doc-scan-modal-close:hover {
  color: var(--text-primary);
}

.zk-face-modal-body,
.zk-doc-scan-modal-body {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1.25rem;
}

.zk-face-viewport-wrap,
.zk-doc-scan-viewport-wrap {
  align-items: center;
  background: var(--text-primary);
  border-radius: var(--radius);
  display: flex;
  justify-content: center;
  max-width: 28rem;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.zk-face-viewport-wrap {
  aspect-ratio: 4 / 3;
}

.zk-face-register-control[data-zk-aspect-ratio="1:1"] .zk-face-viewport-wrap,
.zk-face-camera-modal.is-aspect-square .zk-face-viewport-wrap {
  aspect-ratio: 1 / 1;
  max-width: 22rem;
}

.zk-doc-scan-viewport-wrap {
  aspect-ratio: 85.6 / 54;
}

.zk-face-video,
.zk-face-freeze-canvas {
  height: 100%;
  object-fit: cover;
  transform: scaleX(-1);
  width: 100%;
}

.zk-doc-scan-video,
.zk-doc-scan-freeze-canvas {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.zk-face-oval-guide {
  border: 2px dashed var(--text-on-primary);
  border-radius: 50%;
  box-shadow: 0 0 0 9999px var(--overlay-backdrop);
  height: 15rem;
  pointer-events: none;
  position: absolute;
  width: 11.25rem;
}

.zk-face-register-control[data-zk-aspect-ratio="1:1"] .zk-face-oval-guide,
.zk-face-camera-modal.is-aspect-square .zk-face-oval-guide {
  height: 14rem;
  width: 14rem;
}

/* Document Frame Guide with 4 Corner Reticles */
.zk-doc-scan-frame-guide {
  border: 2px dashed var(--media-guide);
  border-radius: var(--radius);
  box-shadow: 0 0 0 9999px var(--overlay-backdrop);
  height: 78%;
  pointer-events: none;
  position: absolute;
  width: 82%;
}

.zk-doc-scan-corner {
  border-color: var(--primary);
  border-style: solid;
  height: 1.25rem;
  position: absolute;
  width: 1.25rem;
}

.zk-corner-tl {
  border-width: 3px 0 0 3px;
  left: -2px;
  top: -2px;
}

.zk-corner-tr {
  border-width: 3px 3px 0 0;
  right: -2px;
  top: -2px;
}

.zk-corner-bl {
  border-width: 0 0 3px 3px;
  bottom: -2px;
  left: -2px;
}

.zk-corner-br {
  border-width: 0 3px 3px 0;
  bottom: -2px;
  right: -2px;
}

.zk-face-modal-status,
.zk-doc-scan-modal-status {
  font-size: 0.75rem;
  min-height: 1.5rem;
  text-align: center;
}

.zk-face-modal-status.zk-status-error,
.zk-doc-scan-modal-status.zk-status-error {
  color: var(--danger);
  font-weight: 500;
}

.zk-face-modal-status.zk-status-success,
.zk-doc-scan-modal-status.zk-status-success {
  color: var(--success);
  font-weight: 500;
}

.zk-face-modal-status.zk-status-info,
.zk-doc-scan-modal-status.zk-status-info {
  color: var(--text-secondary);
}

.zk-face-modal-footer,
.zk-doc-scan-modal-footer {
  background: var(--surface);
  border-top: 1px solid var(--border);
}

.zk-face-modal-actions,
.zk-doc-scan-modal-actions {
  align-items: center;
  display: flex;
  gap: 0.5rem;
  margin-left: auto;
}

.zk-face-button-icon,
.zk-doc-scan-button-icon {
  margin-right: 0.35rem;
}

@media (max-width: 30rem) {
  .zk-doc-scan-preview-box {
    width: 100%;
    max-width: 18rem;
  }

  .zk-face-modal-header,
  .zk-face-modal-footer,
  .zk-face-modal-body,
  .zk-doc-scan-modal-header,
  .zk-doc-scan-modal-footer,
  .zk-doc-scan-modal-body {
    padding: 0.75rem;
  }
}

/* Dynamic Record Attachments Vault */
.zk-record-attachments-card {
  margin-top: 1.5rem;
}

.zk-record-attachments-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.zk-record-attachments-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.zk-attachment-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  transition: background-color 0.15s ease, border-color 0.15s ease;
}

.zk-attachment-item:hover {
  background: var(--surface-hover);
  border-color: var(--border-hover);
}

.zk-attachment-left {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
  flex: 1;
}

.zk-attachment-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: var(--radius-sm);
  background: var(--surface-secondary);
  color: var(--primary);
  flex-shrink: 0;
}

.zk-attachment-icon-pdf {
  color: var(--danger);
}

.zk-attachment-info {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 2px;
}

.zk-attachment-name {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.zk-attachment-meta {
  font-size: 0.75rem;
  color: var(--text-muted);
}

.zk-attachment-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}

.zk-attachment-empty {
  padding: 2rem;
  text-align: center;
  color: var(--text-muted);
  font-size: 0.875rem;
}

.zk-attachment-status-bar {
  margin-bottom: 0.75rem;
}

/* ==========================================================================
   Citizen ID Scanner (Dual-Slot Card & Portrait Crop)
   ========================================================================== */

.zk-cid-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  width: 100%;
}

.zk-cid-label {
  color: var(--text-primary);
  font-size: 0.875rem;
  font-weight: 500;
}

.zk-cid-control {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  position: relative;
  width: 100%;
}

/* Wide screen: Side-by-side on 1 horizontal row */
.zk-cid-slots-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
}

/* Narrow screen / Mobile: Stacking, each side on its own row */
@media (max-width: 42rem) {
  .zk-cid-slots-grid {
    grid-template-columns: 1fr;
  }
}

.zk-cid-slot {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  width: 100%;
}

.zk-cid-slot-header {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.zk-cid-slot-title {
  color: var(--text-secondary);
  font-size: 0.8125rem;
  font-weight: 600;
}

.zk-cid-card-box {
  align-items: center;
  aspect-ratio: 85.6 / 54;
  background: var(--surface);
  border: 1.5px dashed var(--border);
  border-radius: var(--radius);
  display: flex;
  justify-content: center;
  overflow: hidden;
  position: relative;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  width: 100%;
}

.zk-cid-card-box:hover {
  border-color: var(--primary);
}

.zk-cid-card-placeholder {
  align-items: center;
  color: var(--text-muted);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  justify-content: center;
}

.zk-cid-placeholder-text {
  font-size: 0.75rem;
  font-weight: 500;
}

.zk-cid-card-img {
  border-radius: var(--radius);
  height: 100%;
  object-fit: contain;
  background-color: var(--surface-subtle);
  width: 100%;
  cursor: pointer;
  transition: filter 0.15s ease;
}

.zk-cid-card-img:hover {
  filter: brightness(1.03);
}

/* Portrait photo badge cropped from front card */
.zk-cid-portrait-badge {
  background: var(--card);
  border: 2px solid var(--text-on-primary);
  border-radius: var(--radius);
  bottom: 0.5rem;
  box-shadow: 0 4px 10px var(--media-portrait-shadow);
  height: 4.8rem;
  left: 0.5rem;
  overflow: hidden;
  position: absolute;
  width: 3.6rem;
  z-index: 10;
}

.zk-cid-portrait-img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

/* Hover buttons overlay */
.zk-cid-overlay-actions {
  bottom: 0.5rem;
  display: flex;
  gap: 0.375rem;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  right: 0.5rem;
  transition: opacity 0.2s ease, transform 0.2s ease;
  z-index: 15;
}

.zk-cid-card-box:hover .zk-cid-overlay-actions,
.zk-cid-card-box:focus-within .zk-cid-overlay-actions {
  opacity: 1;
  pointer-events: auto;
}

.zk-cid-overlay-btn {
  align-items: center;
  background: var(--media-overlay-action);
  border: 0;
  border-radius: var(--radius);
  color: var(--text-on-primary);
  cursor: pointer;
  display: inline-flex;
  height: 2rem;
  justify-content: center;
  margin: 0;
  padding: 0;
  transition: background-color 0.15s ease, transform 0.1s ease;
  width: 2rem;
}

.zk-cid-overlay-btn:hover {
  background: var(--media-overlay-action-hover);
  transform: scale(1.06);
}

.zk-cid-overlay-btn:active {
  transform: scale(0.94);
}

.zk-cid-overlay-btn:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 1px;
}

/* Status Bar */
.zk-cid-status-bar {
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  display: flex;
  font-size: 0.8125rem;
  font-weight: 500;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
}

.zk-cid-status-bar.is-hidden {
  display: none !important;
}

.zk-cid-status-bar.zk-status-ready {
  color: var(--text-secondary);
}

.zk-cid-status-bar.zk-status-warning {
  border-color: var(--warning);
  color: var(--warning);
}

.zk-cid-status-bar.zk-status-success {
  border-color: var(--success);
  color: var(--success);
}

.zk-cid-status-bar.zk-status-processing {
  border-color: var(--primary);
  color: var(--primary);
}

/* Floating Toast */
.zk-cid-floating-toast {
  align-items: center;
  background: var(--card);
  border: 1px solid var(--danger);
  border-radius: var(--radius);
  box-shadow: 0 4px 12px var(--overlay-shadow);
  color: var(--danger);
  cursor: pointer;
  display: flex;
  font-size: 0.75rem;
  font-weight: 500;
  gap: 0.375rem;
  left: 50%;
  max-width: 20rem;
  padding: 0.375rem 0.625rem;
  pointer-events: auto;
  position: absolute;
  top: 0.5rem;
  transform: translateX(-50%);
  width: max-content;
  z-index: 25;
}

.zk-cid-toast-icon {
  flex-shrink: 0;
}

.zk-cid-toast-text {
  line-height: 1.3;
}

/* Field Error */
.zk-cid-field-error {
  color: var(--danger);
  font-size: 0.75rem;
  font-weight: 500;
  margin-top: 0.375rem;
}

/* Camera Modal */
.zk-cid-camera-modal {
  align-items: center;
  background: var(--overlay-backdrop);
  display: none;
  height: 100%;
  inset: 0;
  justify-content: center;
  padding: 1rem;
  position: fixed;
  width: 100%;
  z-index: 9999;
}

.zk-cid-camera-modal:not([hidden]) {
  display: flex;
}

.zk-cid-modal-dialog {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: 0 10px 25px var(--overlay-shadow);
  display: flex;
  flex-direction: column;
  max-width: 32rem;
  width: 100%;
}

.zk-cid-modal-header,
.zk-cid-modal-footer {
  align-items: center;
  display: flex;
  justify-content: space-between;
  padding: 0.875rem 1.25rem;
}

.zk-cid-modal-header {
  border-bottom: 1px solid var(--border);
}

.zk-cid-modal-header h3 {
  color: var(--text-primary);
  font-size: 1rem;
  font-weight: 600;
  margin: 0;
}

.zk-cid-modal-close {
  background: transparent;
  border: 0;
  color: var(--text-muted);
  cursor: pointer;
  padding: 0.25rem;
}

.zk-cid-modal-close:hover {
  color: var(--text-primary);
}

.zk-cid-modal-body {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.25rem;
}

.zk-cid-viewport-wrap {
  align-items: center;
  aspect-ratio: 85.6 / 54;
  background: var(--text-primary);
  border-radius: var(--radius);
  display: flex;
  justify-content: center;
  max-width: 28rem;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.zk-cid-video,
.zk-cid-freeze-canvas {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.zk-cid-frame-guide {
  border: 2px dashed var(--media-guide);
  border-radius: var(--radius);
  box-shadow: 0 0 0 9999px var(--overlay-backdrop);
  height: 82%;
  pointer-events: none;
  position: absolute;
  width: 86%;
}

.zk-cid-corner {
  border-color: var(--primary);
  border-style: solid;
  height: 1.25rem;
  position: absolute;
  width: 1.25rem;
}

.zk-cid-modal-status {
  font-size: 0.75rem;
  min-height: 1.5rem;
  text-align: center;
}

.zk-cid-modal-footer {
  background: var(--surface);
  border-top: 1px solid var(--border);
}

.zk-cid-modal-actions {
  align-items: center;
  display: flex;
  gap: 0.5rem;
  margin-left: auto;
}

.zk-cid-button-icon {
  margin-right: 0.35rem;
}

/* Fullscreen Lightbox Modal */
.zk-cid-lightbox-modal {
  align-items: center;
  background: var(--overlay-backdrop);
  backdrop-filter: blur(4px);
  display: flex;
  height: 100%;
  inset: 0;
  justify-content: center;
  padding: 1rem;
  position: fixed;
  width: 100%;
  z-index: 9999;
}

.zk-cid-lightbox-modal.is-hidden {
  display: none !important;
}

.zk-cid-lightbox-dialog {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: 0 16px 36px var(--overlay-shadow);
  display: flex;
  flex-direction: column;
  max-height: 94vh;
  max-width: 95vw;
  overflow: hidden;
  width: auto;
}

.zk-cid-lightbox-header {
  align-items: center;
  border-bottom: 1px solid var(--border);
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding: 0.75rem 1.25rem;
}

.zk-cid-lightbox-title {
  color: var(--text-primary);
  font-size: 0.9375rem;
  font-weight: 600;
}

.zk-cid-lightbox-actions {
  align-items: center;
  display: flex;
  gap: 0.5rem;
}

.zk-cid-lightbox-body {
  align-items: center;
  background: var(--surface-subtle);
  display: flex;
  justify-content: center;
  max-height: calc(94vh - 5rem);
  max-width: 95vw;
  overflow: auto;
  padding: 1rem;
}

.zk-cid-lightbox-img {
  border-radius: var(--radius);
  box-shadow: 0 4px 16px var(--media-preview-shadow);
  display: block;
  height: auto;
  max-height: 78vh;
  max-width: 90vw;
  object-fit: contain;
  transition: max-width 0.2s ease, max-height 0.2s ease;
}

.zk-cid-lightbox-img.zk-cid-zoom-100 {
  max-height: none;
  max-width: none;
}

.zk-cid-status-bar.zk-status-dimmed {
  opacity: 0.85;
  transition: opacity 0.5s ease;
}

/* Shared fail-closed state for stale or unverifiable Tenant Membership context. */
.zk-context-lock {
  align-items: center;
  background: var(--surface);
  display: flex;
  justify-content: center;
  min-height: 100vh;
  min-height: 100dvh;
  padding: 1rem;
}

.zk-context-lock-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-md);
  max-width: 36rem;
  padding: clamp(1.25rem, 4vw, 2rem);
  width: 100%;
}

.zk-context-lock-title {
  color: var(--text-primary);
  margin: 0 0 0.75rem;
}

.zk-context-lock-body {
  color: var(--text-muted);
  margin: 0 0 1.25rem;
}

.zk-context-lock-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

/* Shared topbar function navigation and action menus (GUA-T40). */
.zk-topbar { flex-wrap: nowrap; }
.zk-topbar-leading { flex: 0 1 auto; max-width: 65%; min-width: 0; gap: 0.5rem; }
.zk-topbar-function-title {
  flex: 0 1 auto;
  max-width: min(180px, calc(100vw - 9rem));
  color: var(--text-primary);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.4;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.zk-topbar-filter-slot {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-right: 0.75rem;
}
.zk-topbar > .zk-action-menu { flex: 0 0 auto; }
.zk-topbar-quick-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 0 0 auto;
}
.zk-topbar-quick-actions:empty { display: none; }
.zk-topbar-quick-actions > .zk-button {
  width: 2.25rem;
  min-width: 2.25rem;
  height: 2.25rem;
  padding: 0.5rem;
}
.zk-topbar-quick-actions .zk-action-menu-label[hidden] { display: none; }
.zk-topbar-quick-actions [data-zk-action-unavailable] { display: none; }
.zk-action-menu { position: relative; }
.zk-action-menu-popup {
  position: absolute;
  top: calc(100% + 0.5rem);
  right: 0;
  z-index: 80;
  min-width: min(13rem, var(--zk-topbar-popup-max-width, 13rem));
  width: max-content;
  max-width: min(23rem, calc(100vw - 2rem), var(--zk-topbar-popup-max-width, 100vw));
  max-height: min(28rem, calc(100dvh - 5rem));
  overflow: auto;
  padding: 0.375rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--card);
  box-shadow: var(--shadow-md);
}
.zk-action-menu-popup[hidden] { display: none; }
.zk-action-menu-popup .zk-button {
  display: flex;
  width: 100%;
  height: auto;
  min-height: 2.25rem;
  min-width: 0;
  justify-content: flex-start;
  gap: 0.625rem;
  padding: 0.5rem 0.625rem;
  border: 0;
  box-shadow: none;
  color: var(--text-primary);
  background: transparent;
  font-size: 0.875rem;
  white-space: normal;
  text-align: left;
}
.zk-action-menu-popup .zk-button:hover,
.zk-action-menu-popup .zk-button:focus-visible,
.zk-action-menu-popup [aria-checked="true"] { background: var(--bg-hover); }
.zk-action-menu-popup .zk-button-danger { color: var(--destructive-text); }
.zk-action-menu-popup .zk-button svg { flex: 0 0 auto; width: 1.125rem; height: 1.125rem; }
.zk-action-menu-popup .zk-button:disabled,
.zk-action-menu-popup [aria-disabled="true"],
.zk-action-menu-popup [data-zk-action-unavailable],
.zk-action-menu-popup [hidden] { display: none; }
.zk-action-menu-popup [data-zk-action-group] { display: grid; gap: 0.125rem; }
.zk-action-menu-label { min-width: 0; overflow-wrap: anywhere; }
.zk-topbar-recent { display: flex; align-items: center; gap: 0.25rem; flex: 0 0 auto; width: clamp(2.25rem, 12vw, 11.25rem); height: 2rem; min-width: 0; position: relative; }
.zk-topbar-recent-links { display: flex; align-items: center; gap: 0.25rem; }
.zk-topbar-recent-links > .zk-button { width: 2rem; height: 2rem; padding: 0.375rem; min-width: 2rem; }
.zk-topbar-recent-links > [hidden], .zk-recent-overflow[hidden] { display: none; }
.zk-topbar-recent [data-zk-recent-retry] { position: absolute; inset-inline-end: 0; }
.zk-sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0;
}
@media (max-width: 639px) {
  .zk-topbar-recent { display: none; }
  .zk-topbar-leading { max-width: 100%; flex: 1 1 0; }
  .zk-topbar-filter-slot { flex: 0 1 auto; }
  .zk-action-menu-popup { max-width: calc(100vw - 2rem); }
}

/* Reusable catalog layout, matching reference system with design tokens */
.zk-catalog-view {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  width: 100%;
}
.zk-catalog-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.zk-catalog-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--foreground);
  margin: 0;
  letter-spacing: -0.01em;
}
.zk-catalog-create-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background-color: var(--primary);
  color: var(--text-on-primary) !important;
  font-size: 0.875rem;
  font-weight: 600;
  padding: 0.5rem 1.125rem;
  border-radius: var(--radius);
  text-decoration: none !important;
  border: none;
  cursor: pointer;
  box-shadow: var(--shadow-xs);
  transition: background-color 0.15s ease, transform 0.1s ease;
}
.zk-catalog-create-btn:hover {
  background-color: var(--primary-hover);
}
.zk-catalog-create-btn:active {
  transform: scale(0.98);
}
.zk-catalog-create-btn svg {
  width: 1rem;
  height: 1rem;
}
.zk-catalog-filter-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-xs);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.zk-catalog-filter-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-bottom: 1px solid var(--border);
  background: var(--surface-subtle);
}
.zk-catalog-tab {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--muted);
  background: transparent;
  border: none;
  border-right: 1px solid var(--border);
  cursor: pointer;
  text-decoration: none !important;
  transition: all 0.15s ease;
}
.zk-catalog-tab:last-child {
  border-right: none;
}
.zk-catalog-tab:hover {
  color: var(--foreground);
  background: var(--surface-hover);
}
.zk-catalog-tab.is-active {
  color: var(--primary);
  font-weight: 600;
  background: var(--card);
  box-shadow: inset 0 -2px 0 var(--primary);
}
.zk-catalog-filter-subbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.625rem 1rem;
  gap: 1rem;
  flex-wrap: wrap;
  background: var(--card);
}
.zk-catalog-count {
  font-size: 0.8125rem;
  color: var(--muted);
  font-weight: 500;
}
.zk-catalog-search-wrap {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.zk-catalog-search-input {
  border: 1px solid var(--border-control);
  border-radius: var(--radius);
  padding: 0.4rem 0.75rem;
  font-size: 0.8125rem;
  min-width: 15rem;
  background: var(--card);
  color: var(--foreground);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.zk-catalog-search-input:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 2px var(--primary-focus-shadow);
}
.zk-catalog-refresh-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.125rem;
  height: 2.125rem;
  border: 1px solid var(--border-control);
  border-radius: var(--radius);
  background: var(--card);
  color: var(--muted);
  cursor: pointer;
  transition: all 0.15s ease;
}
.zk-catalog-refresh-btn:hover {
  color: var(--foreground);
  background: var(--surface-hover);
  border-color: var(--border-strong);
}
.zk-catalog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}
@media (max-width: 1024px) {
  .zk-catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .zk-catalog-grid { grid-template-columns: 1fr; }
}
.zk-catalog-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg, 12px);
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 0.75rem;
  box-shadow: var(--shadow-xs);
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.2s ease, box-shadow 0.2s ease;
  position: relative;
}
.zk-catalog-card:hover {
  transform: translateY(-3px);
  border-color: var(--primary);
  box-shadow: var(--shadow-md);
}
.zk-catalog-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: nowrap;
}
.zk-catalog-card-title {
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--foreground);
  margin: 0;
  line-height: 1.35;
  flex: 1;
}
.zk-catalog-card-title a {
  color: inherit;
  text-decoration: none;
}
.zk-catalog-card-title a:hover {
  color: var(--primary);
}
.zk-catalog-status-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.55rem;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 4px;
  white-space: nowrap;
  flex-shrink: 0;
  line-height: 1;
}
.zk-catalog-status-success,
.zk-catalog-status-active {
  background-color: var(--primary-light);
  color: var(--primary);
  border: 1px solid var(--primary-border);
}
.zk-catalog-status-neutral,
.zk-catalog-status-inactive {
  background-color: var(--surface-subtle);
  color: var(--text-muted);
  border: 1px solid var(--border);
}
.zk-catalog-card-subtitle {
  font-size: 0.8125rem;
  color: var(--muted);
  margin: 0;
}
.zk-catalog-card-price {
  font-size: 1.625rem;
  font-weight: 800;
  color: var(--primary);
  margin: 0.25rem 0 0.25rem 0;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
}
.zk-catalog-card-specs {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  font-size: 0.8125rem;
  color: var(--foreground);
  line-height: 1.45;
  border-top: 0;
  border-bottom: 0;
}
.zk-catalog-card-summary {
  color: var(--foreground);
  font-weight: 400;
}
.zk-catalog-card-scope {
  color: var(--muted);
  font-size: 0.8125rem;
}
.zk-catalog-card-description {
  color: var(--text-secondary);
  font-size: 0.8125rem;
  line-height: 1.45;
  margin-top: 0.35rem;
  padding: 0.5rem 0.65rem;
  background: var(--surface-subtle);
  border-radius: var(--radius-sm, 4px);
  border-left: 2.5px solid var(--border-control);
}
.zk-catalog-card-actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  gap: 0.625rem;
  margin-top: auto;
  padding-top: 1rem;
  border-top: 1px solid var(--border);
}
.zk-catalog-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  height: 2.25rem;
  padding: 0 0.75rem;
  font-size: 0.8125rem;
  font-weight: 600;
  border-radius: var(--radius);
  text-decoration: none !important;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.15s ease;
}
.zk-catalog-action-secondary {
  background: var(--card);
  border: 1px solid var(--border-control);
  color: var(--foreground) !important;
}
.zk-catalog-action-secondary:hover {
  background: var(--surface-hover);
  border-color: var(--border-strong);
}
.zk-catalog-action-danger {
  background: var(--destructive);
  border: 1px solid var(--destructive);
  color: var(--text-on-primary) !important;
}
.zk-catalog-action-danger:hover {
  background: var(--destructive-hover);
  border-color: var(--destructive-hover);
}
.zk-catalog-action-success {
  background: var(--primary);
  border: 1px solid var(--primary);
  color: var(--text-on-primary) !important;
}
.zk-catalog-action-success:hover {
  background: var(--primary-hover);
  border-color: var(--primary);
}
.zk-modal:has([data-zk-record-modal]) { width: min(44rem, 100%); max-height: 92vh; }

/* ==========================================================================
      ZeroKitty Shared TimeGrid Calendar & Session Status Cards
   ========================================================================== */
.zk-timegrid-container {
  display: flex;
  flex-direction: column;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  width: 100%;
}

.zk-timegrid-header-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--border);
  background: var(--surface);
  flex-wrap: wrap;
  gap: 0.75rem;
}

.zk-timegrid-nav-group {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.zk-timegrid-nav-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--card);
  color: var(--foreground);
  cursor: pointer;
  transition: all 0.15s ease;
  text-decoration: none;
}

.zk-timegrid-nav-btn:hover {
  background: var(--surface-hover);
  border-color: var(--primary);
  color: var(--primary);
}

.zk-timegrid-today-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.35rem 0.75rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--foreground);
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  text-decoration: none;
  cursor: pointer;
  transition: all 0.15s ease;
}

.zk-timegrid-today-btn:hover {
  background: var(--surface-hover);
  border-color: var(--primary);
  color: var(--primary);
}

.zk-timegrid-date-title {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--foreground);
  padding: 0 0.5rem;
}

.zk-timegrid-views-group {
  display: inline-flex;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--card);
}

.zk-timegrid-view-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.35rem 0.85rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--foreground);
  background: transparent;
  border: none;
  border-right: 1px solid var(--border);
  text-decoration: none;
  cursor: pointer;
  transition: all 0.15s ease;
}

.zk-timegrid-view-btn:last-child {
  border-right: none;
}

.zk-timegrid-view-btn:hover {
  background: var(--surface-hover);
}

.zk-timegrid-view-btn.is-active {
  background: var(--primary-light);
  color: var(--primary);
  font-weight: 600;
}

.zk-timegrid-body {
  display: flex;
  overflow-x: auto !important;
  overflow-y: auto;
  max-height: calc(100vh - 210px);
  min-height: 520px;
  position: relative;
  scrollbar-width: thin;
  scrollbar-color: var(--muted, var(--icon-sso-folder)) var(--surface-subtle, var(--background));
}

.zk-timegrid-body::-webkit-scrollbar {
  height: 12px;
  width: 10px;
}

.zk-timegrid-body::-webkit-scrollbar-track {
  background: var(--surface-subtle, var(--background));
  border-radius: 6px;
}

.zk-timegrid-body::-webkit-scrollbar-thumb {
  background: var(--muted, var(--icon-sso-folder));
  border-radius: 6px;
  border: 2px solid var(--surface-subtle, var(--background));
}

.zk-timegrid-body::-webkit-scrollbar-thumb:hover {
  background: var(--foreground-subtle, var(--text-disabled));
}

.zk-timegrid-times-col {
  width: 4.25rem;
  min-width: 4.25rem;
  flex-shrink: 0;
  border-right: 1px solid var(--border);
  background: var(--surface, var(--text-on-primary));
  position: sticky;
  left: 0;
  z-index: 20;
  height: max-content;
  min-height: 100%;
}

.zk-timegrid-times-header-cell {
  height: 2.75rem;
  min-height: 2.75rem;
  flex: 0 0 2.75rem;
  box-sizing: border-box;
  border-bottom: 1px solid var(--border);
  background: var(--surface-subtle, var(--surface-subtle));
  position: sticky;
  top: 0;
  left: 0;
  z-index: 30;
}

.zk-timegrid-time-slot-label {
  height: var(--zk-timegrid-slot-height, 24px);
  box-sizing: border-box;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  padding-right: 0.5rem;
  font-size: 0.6875rem;
  color: var(--muted);
  user-select: none;
  line-height: 1;
}

.zk-timegrid-time-slot-label.is-hour {
  font-weight: 700;
  color: var(--foreground);
  font-size: 0.75rem;
}

.zk-timegrid-time-slot-label.is-half-hour {
  font-weight: 600;
  color: var(--muted);
  font-size: 0.6875rem;
}

.zk-timegrid-columns-container {
  display: flex;
  flex: 1 1 0;
  min-width: 0;
  height: max-content;
  min-height: 100%;
}

.zk-timegrid-day-col {
  flex: 1 1 0;
  min-width: 0;
  border-right: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  position: relative;
  height: max-content;
  min-height: 100%;
}

.zk-timegrid-day-col:last-child {
  border-right: none;
}

.zk-timegrid-day-header {
  height: 2.75rem;
  min-height: 2.75rem;
  flex: 0 0 2.75rem;
  flex-shrink: 0;
  box-sizing: border-box;
  border-bottom: 1px solid var(--border);
  background: var(--surface-subtle, var(--surface-subtle));
  position: sticky;
  top: 0;
  z-index: 15;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--foreground);
  width: 100%;
  min-width: 100%;
}

.zk-timegrid-day-slots {
  position: relative;
  flex: 1;
  width: 100%;
  min-width: 100%;
}

.zk-timegrid-slot-row {
  height: var(--zk-timegrid-slot-height, 24px);
  box-sizing: border-box;
  border-bottom: 1px solid var(--border-subtle);
  cursor: pointer;
  transition: background 0.1s ease;
  width: 100%;
  min-width: 100%;
}

.zk-timegrid-slot-row:nth-child(4n) {
  border-bottom: 1px solid var(--border);
}

.zk-timegrid-slot-row:hover {
  background: var(--surface-hover);
}

/* Session Status Cards */
.zk-session-card {
  position: absolute;
  left: 3px;
  right: 3px;
  border-radius: var(--radius);
  color: var(--foreground);
  padding: 3px 8px;
  box-sizing: border-box;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-shadow: var(--shadow-sm);
  z-index: 2;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  cursor: default;
  border: 1px solid var(--border);
  border-left-width: 4px !important;
  container-type: size;
}

.zk-session-card-inner {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  gap: 8px;
  box-sizing: border-box;
}

.zk-session-card-info {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 2px 8px;
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
}

.zk-session-card:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
  z-index: 3;
}

/* Purple: Buổi tập cộng đồng */
.zk-session-card-purple,
.zk-session-card-community {
  background-color: color-mix(in srgb, var(--zk-session-purple) 12%, var(--card)) !important;
  border-color: color-mix(in srgb, var(--zk-session-purple) 30%, var(--border)) !important;
  border-left-color: var(--zk-session-purple) !important;
  color: var(--foreground) !important;
}
.zk-session-card-purple:hover,
.zk-session-card-community:hover {
  background-color: color-mix(in srgb, var(--zk-session-purple) 18%, var(--card)) !important;
  border-color: color-mix(in srgb, var(--zk-session-purple) 45%, var(--border)) !important;
}

/* Green: Card hoàn thành */
.zk-session-card-green,
.zk-session-card-completed {
  background-color: color-mix(in srgb, var(--zk-session-green) 12%, var(--card)) !important;
  border-color: color-mix(in srgb, var(--zk-session-green) 30%, var(--border)) !important;
  border-left-color: var(--zk-session-green) !important;
  color: var(--foreground) !important;
}
.zk-session-card-green:hover,
.zk-session-card-completed:hover {
  background-color: color-mix(in srgb, var(--zk-session-green) 18%, var(--card)) !important;
  border-color: color-mix(in srgb, var(--zk-session-green) 45%, var(--border)) !important;
}

/* Yellow: Card chờ xác nhận */
.zk-session-card-yellow,
.zk-session-card-orange,
.zk-session-card-awaiting {
  background-color: color-mix(in srgb, var(--zk-session-yellow) 14%, var(--card)) !important;
  border-color: color-mix(in srgb, var(--zk-session-yellow) 35%, var(--border)) !important;
  border-left-color: var(--zk-session-yellow) !important;
  color: var(--foreground) !important;
}
.zk-session-card-yellow:hover,
.zk-session-card-orange:hover,
.zk-session-card-awaiting:hover {
  background-color: color-mix(in srgb, var(--zk-session-yellow) 20%, var(--card)) !important;
  border-color: color-mix(in srgb, var(--zk-session-yellow) 50%, var(--border)) !important;
}

/* Blue: Card đã đặt */
.zk-session-card-blue,
.zk-session-card-booked {
  background-color: color-mix(in srgb, var(--zk-session-blue) 12%, var(--card)) !important;
  border-color: color-mix(in srgb, var(--zk-session-blue) 30%, var(--border)) !important;
  border-left-color: var(--zk-session-blue) !important;
  color: var(--foreground) !important;
}
.zk-session-card-blue:hover,
.zk-session-card-booked:hover {
  background-color: color-mix(in srgb, var(--zk-session-blue) 18%, var(--card)) !important;
  border-color: color-mix(in srgb, var(--zk-session-blue) 45%, var(--border)) !important;
}

/* Red: Buổi tập màu Đỏ */
.zk-session-card-red {
  background-color: color-mix(in srgb, var(--destructive) 12%, var(--card)) !important;
  border-color: color-mix(in srgb, var(--destructive) 30%, var(--border)) !important;
  border-left-color: var(--destructive) !important;
  color: var(--foreground) !important;
}
.zk-session-card-red:hover {
  background-color: color-mix(in srgb, var(--destructive) 18%, var(--card)) !important;
  border-color: color-mix(in srgb, var(--destructive) 45%, var(--border)) !important;
}

/* Teal: Buổi tập màu Xanh ngọc */
.zk-session-card-teal {
  background-color: color-mix(in srgb, var(--frozen-border) 12%, var(--card)) !important;
  border-color: color-mix(in srgb, var(--frozen-border) 30%, var(--border)) !important;
  border-left-color: var(--frozen-border) !important;
  color: var(--foreground) !important;
}
.zk-session-card-teal:hover {
  background-color: color-mix(in srgb, var(--frozen-border) 18%, var(--card)) !important;
  border-color: color-mix(in srgb, var(--frozen-border) 45%, var(--border)) !important;
}

/* Pink: Buổi tập màu Hồng */
.zk-session-card-pink {
  background-color: color-mix(in srgb, var(--zk-avatar-rose-text) 12%, var(--card)) !important;
  border-color: color-mix(in srgb, var(--zk-avatar-rose-text) 30%, var(--border)) !important;
  border-left-color: var(--zk-avatar-rose-text) !important;
  color: var(--foreground) !important;
}
.zk-session-card-pink:hover {
  background-color: color-mix(in srgb, var(--zk-avatar-rose-text) 18%, var(--card)) !important;
  border-color: color-mix(in srgb, var(--zk-avatar-rose-text) 45%, var(--border)) !important;
}

/* Gray: Buổi tập fallback / Hủy */
.zk-session-card-gray {
  background-color: var(--zk-badge-muted-bg) !important;
  border-color: var(--zk-badge-muted-border) !important;
  border-left-color: var(--zk-badge-muted-text) !important;
  color: var(--text-secondary) !important;
}
.zk-session-card-gray:hover {
  background-color: var(--surface-hover) !important;
  border-color: var(--border-hover) !important;
}

/* Passed / Cancelled Session Cards: Giữ nguyên màu nền nhưng mờ nhẹ nhận diện quá khứ */
.zk-session-card.is-passed,
.zk-session-card[data-session-status="CANCELLED"] {
  opacity: 0.72;
  filter: saturate(0.85);
}

.zk-session-card-header {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.25;
  white-space: nowrap;
}

.zk-session-badge-group {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.zk-session-pill {
  display: inline-flex;
  align-items: center;
  padding: 1px 6px;
  border-radius: var(--radius-button);
  font-size: 0.6875rem;
  font-weight: 600;
  background: color-mix(in srgb, var(--foreground) 8%, var(--card));
  color: var(--foreground);
  border: 1px solid color-mix(in srgb, var(--foreground) 18%, transparent);
  line-height: 1.3;
}

.zk-session-card-title {
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--foreground);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.zk-session-card-subtitle {
  font-size: 0.6875rem;
  opacity: 0.92;
  line-height: 1.25;
  color: var(--muted-foreground);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
  min-width: 0;
  display: inline-flex;
  align-items: center;
}

.zk-session-card-meta-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
  gap: 2px 8px;
  width: 100%;
  min-width: 0;
  line-height: 1.25;
}

.zk-session-card-meta-sep {
  font-size: 0.625rem;
  opacity: 0.65;
  user-select: none;
  flex-shrink: 0;
  display: inline-block;
  line-height: 1;
}

.zk-session-card-trainer,
.zk-session-card-package,
.zk-session-card-branch {
  font-size: 0.6875rem;
  font-weight: 600;
  opacity: 0.95;
  line-height: 1.25;
  color: var(--muted-foreground);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap !important;
  width: auto !important;
  max-width: 100%;
  min-width: 0;
  display: inline-flex;
  align-items: center;
}

.zk-session-package-tag {
  font-size: 0.625rem;
  font-weight: 700;
  opacity: 0.85;
  margin-right: 2px;
}

.zk-session-card-right {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  margin-left: auto;
}

.zk-session-card-actions {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
}

.zk-session-actions-hover-only {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s ease, transform 0.15s ease;
  transform: scale(0.95);
}

.zk-session-card:hover .zk-session-actions-hover-only {
  opacity: 1;
  pointer-events: auto;
  transform: scale(1);
}

.zk-session-btn-action {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 2px 8px;
  border-radius: var(--radius-sm);
  font-size: 0.6875rem;
  font-weight: 600;
  border: 1px solid color-mix(in srgb, var(--foreground) 16%, transparent);
  cursor: pointer;
  background: color-mix(in srgb, var(--foreground) 6%, var(--card));
  color: var(--foreground);
  transition: all 0.15s ease;
  line-height: 1.35;
  white-space: nowrap;
}

.zk-session-btn-action:hover {
  background: color-mix(in srgb, var(--foreground) 14%, var(--card));
  border-color: color-mix(in srgb, var(--foreground) 28%, transparent);
}

.zk-session-btn-cancel {
  background: var(--zk-session-btn-cancel-bg);
  border-color: var(--zk-session-btn-cancel-border);
  color: var(--zk-session-text);
}

.zk-session-btn-cancel:hover {
  background: var(--zk-session-btn-cancel-hover);
}

.zk-session-btn-complete-active {
  background: var(--zk-session-btn-complete-bg);
  border-color: var(--zk-session-btn-complete-border);
  color: var(--zk-session-text);
}

.zk-session-btn-complete-active:hover {
  background: var(--zk-session-btn-complete-hover);
}

.zk-session-btn-complete-disabled {
  background: var(--zk-session-btn-disabled-bg);
  border-color: var(--zk-session-btn-disabled-border);
  color: var(--zk-session-btn-disabled-text);
  cursor: not-allowed !important;
  pointer-events: none !important;
  opacity: 0.65;
}

/* Compact & Narrow Modifiers for Session Cards */
.zk-session-card.zk-session-card-narrow {
  padding: 2px 6px;
}
.zk-session-card.zk-session-card-narrow .zk-session-card-subtitle {
  display: none !important;
}

.zk-session-card.zk-session-card-xs {
  padding: 1px 6px;
  border-radius: var(--radius-sm, 4px);
}
.zk-session-card.zk-session-card-xs .zk-session-card-subtitle,
.zk-session-card.zk-session-card-xs .zk-session-status-badge {
  display: none !important;
}
.zk-session-card.zk-session-card-xs .zk-session-card-header,
.zk-session-card.zk-session-card-xs .zk-session-card-title {
  font-size: 0.6875rem !important;
  line-height: 1.1 !important;
}
.zk-session-card.zk-session-card-xs .zk-session-btn-action {
  padding: 1px 5px !important;
  font-size: 0.625rem !important;
  line-height: 1.2 !important;
  height: 16px !important;
}

@container (max-height: 48px) {
  .zk-session-card-subtitle {
    display: none !important;
  }
}

@container (max-height: 28px) {
  .zk-session-card-inner {
    gap: 4px !important;
  }
  .zk-session-card-subtitle,
  .zk-session-status-badge {
    display: none !important;
  }
  .zk-session-card-header,
  .zk-session-card-title {
    font-size: 0.6875rem !important;
    line-height: 1.1 !important;
  }
  .zk-session-btn-action {
    padding: 1px 5px !important;
    font-size: 0.625rem !important;
    line-height: 1.2 !important;
    height: 16px !important;
  }
}


/* ============================================================
   TimeGrid Current Time Indicator & Past Slots
   ============================================================ */
.zk-timegrid-now-indicator {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 20;
  pointer-events: none;
  display: flex;
  align-items: center;
}

.zk-timegrid-now-arrow {
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 7px solid var(--zk-session-blue);
  position: absolute;
  left: 0;
  top: -4px;
}

.zk-timegrid-now-line {
  width: 100%;
  height: 2px;
  background-color: var(--zk-session-blue);
  box-shadow: 0 0 4px var(--zk-timegrid-now-glow);
}

.zk-timegrid-slot-row.is-past {
  background-color: var(--zk-timegrid-past-bg);
  cursor: not-allowed;
}

.zk-timegrid-slot-row.is-past:hover {
  background-color: var(--zk-timegrid-past-hover-bg);
}

/* ============================================================
   TimeGrid Ghost / Draft Booking Card (Drag & Resize)
   ============================================================ */
.zk-ghost-card {
  position: absolute;
  left: 4px;
  right: 4px;
  border: 2px dashed var(--zk-ghost-border);
  background-color: var(--zk-ghost-bg);
  border-radius: var(--radius, 8px);
  color: var(--foreground);
  box-sizing: border-box;
  z-index: 50;
  user-select: none;
  touch-action: none;
  box-shadow: 0 0 0 2px var(--zk-ghost-shadow), 0 8px 24px var(--overlay-shadow);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  overflow: hidden;
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
  container-type: size;
}

.zk-ghost-card.zk-ghost-pulse {
  animation: zk-ghost-pulse-anim 1.8s ease-in-out infinite;
}

@keyframes zk-ghost-pulse-anim {
  0%, 100% {
    box-shadow: 0 0 0 2px var(--zk-ghost-shadow), 0 8px 24px var(--overlay-shadow);
  }
  50% {
    box-shadow: 0 0 0 6px var(--zk-ghost-shadow-strong), 0 12px 28px var(--zk-ghost-shadow-glow);
  }
}

.zk-ghost-content {
  padding: 2px 8px;
  flex: 1;
  cursor: grab;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  height: 100%;
  min-height: 0;
  box-sizing: border-box;
  overflow: hidden;
}

.zk-ghost-card.is-dragging .zk-ghost-content {
  cursor: grabbing;
}

.zk-ghost-info-col {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1px;
  min-width: 0;
  flex: 1;
  overflow: hidden;
}

.zk-ghost-resize-handle {
  position: absolute;
  left: 0;
  right: 0;
  height: 8px;
  cursor: ns-resize;
  width: 100%;
  background: transparent;
  z-index: 40;
}

.zk-ghost-resize-top {
  top: 0;
  border-top-left-radius: var(--radius, 8px);
  border-top-right-radius: var(--radius, 8px);
}

.zk-ghost-resize-bottom {
  bottom: 0;
  border-bottom-left-radius: var(--radius, 8px);
  border-bottom-right-radius: var(--radius, 8px);
}

.zk-ghost-time-row {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  flex-wrap: nowrap;
  white-space: nowrap;
}

.zk-ghost-tag {
  font-size: 0.65rem;
  font-weight: 700;
  color: var(--primary);
  letter-spacing: 0.02em;
}

.zk-ghost-time {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--foreground);
}

.zk-ghost-dur-badge {
  display: inline-flex;
  align-items: center;
  padding: 0 4px;
  border-radius: var(--radius-button, 4px);
  font-size: 0.625rem;
  font-weight: 700;
  background-color: var(--primary);
  color: var(--text-on-primary);
  line-height: 1.3;
}

.zk-ghost-subtitle {
  font-size: 0.6875rem;
  color: var(--muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.2;
}

.zk-ghost-actions {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
  margin-left: auto;
  z-index: 50;
}

.zk-ghost-btn-confirm {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 2px 7px;
  border-radius: var(--radius-sm, 4px);
  font-size: 0.6875rem;
  font-weight: 600;
  border: none;
  background-color: var(--primary);
  color: var(--text-on-primary) !important;
  cursor: pointer;
  transition: opacity 0.15s ease;
  white-space: nowrap;
}

.zk-ghost-btn-confirm:hover {
  opacity: 0.9;
}

.zk-ghost-btn-cancel {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 2px 7px;
  border-radius: var(--radius-sm, 4px);
  font-size: 0.6875rem;
  font-weight: 600;
  border: 1px solid var(--zk-ghost-btn-cancel-border);
  background-color: var(--zk-ghost-btn-cancel-bg);
  color: var(--text-on-primary) !important;
  cursor: pointer;
  transition: background-color 0.15s ease;
  white-space: nowrap;
}

.zk-ghost-btn-cancel:hover {
  background-color: var(--zk-ghost-btn-cancel-hover);
}

/* Compact & Narrow Modifiers for Ghost Card */
.zk-ghost-card.zk-ghost-xs .zk-ghost-tag,
.zk-ghost-card.zk-ghost-xs .zk-ghost-subtitle {
  display: none !important;
}
.zk-ghost-card.zk-ghost-xs .zk-ghost-content {
  padding: 0 6px !important;
}
.zk-ghost-card.zk-ghost-xs .zk-ghost-action-btn {
  padding: 1px 5px !important;
  font-size: 0.625rem !important;
  height: 16px !important;
}
.zk-ghost-card.zk-ghost-xs .zk-ghost-resize-handle {
  height: 5px !important;
}

@container (max-height: 36px) {
  .zk-ghost-tag,
  .zk-ghost-subtitle {
    display: none !important;
  }
  .zk-ghost-content {
    padding: 0 6px !important;
  }
  .zk-ghost-action-btn {
    padding: 1px 5px !important;
    font-size: 0.625rem !important;
    height: 16px !important;
  }
  .zk-ghost-resize-handle {
    height: 5px !important;
  }
}


/* Drag Calendar Button Styling */
.zk-btn-drag-calendar {
  color: var(--text-on-primary) !important;
}

.zk-btn-drag-calendar:not(:disabled) {
  background-color: var(--primary) !important;
  border-color: var(--primary) !important;
  color: var(--text-on-primary) !important;
}

.zk-btn-drag-calendar:not(:disabled):hover {
  filter: brightness(1.1);
}

.zk-btn-drag-calendar svg,
.zk-btn-drag-calendar span {
  color: var(--text-on-primary) !important;
}

/* ============================================================
   All-PT TimeGrid Calendar & Session Card (Multi-PT Day View)
   ============================================================ */
.zk-timegrid-all-pt {
  --zk-timegrid-slot-height: 42px;
}

.zk-timegrid-all-pt .zk-timegrid-time-slot-label {
  height: 42px !important;
}

.zk-timegrid-all-pt .zk-timegrid-slot-row {
  height: 42px !important;
  cursor: default !important;
}

.zk-timegrid-all-pt .zk-timegrid-columns-container {
  flex: 1 1 0;
  min-width: 0;
}

.zk-timegrid-all-pt .zk-timegrid-day-col {
  flex: 1 1 0;
  min-width: 0;
  position: relative;
}

.zk-timegrid-all-pt .zk-timegrid-day-slots {
  position: relative;
  width: 100%;
  min-width: 100%;
}

.zk-all-pt-card {
  position: absolute;
  border-radius: var(--radius, 8px);
  color: var(--foreground) !important;
  padding: 6px 8px;
  box-sizing: border-box;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  box-shadow: 0 1px 3px color-mix(in srgb, var(--media-background) 8%, transparent);
  z-index: 2;
  transition: transform 0.15s ease, box-shadow 0.15s ease, z-index 0.15s ease;
  cursor: default;
  border: 1px solid var(--border);
  border-left-width: 4px !important;
  opacity: 1 !important;
}

.zk-all-pt-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px color-mix(in srgb, var(--media-background) 16%, transparent);
  z-index: 50;
  overflow: visible;
}

.zk-all-pt-card[data-session-status="CANCELLED"] {
  opacity: 0.65;
  filter: saturate(0.7);
}

.zk-all-pt-card.is-passed {
  opacity: 0.78;
  filter: saturate(0.85);
}

.zk-all-pt-card[data-session-type="COMMUNITY"],
.zk-session-card[data-session-type="COMMUNITY"] {
  cursor: pointer !important;
}

/* Header: Time range on left + Status Pill on right */
.zk-all-pt-v-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 4px;
  line-height: 1.2;
  margin-bottom: 4px;
}

.zk-all-pt-v-time {
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}

.zk-all-pt-v-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1px 6px;
  border-radius: 9999px;
  font-size: 0.5625rem;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  flex-shrink: 0;
  background: color-mix(in srgb, var(--foreground) 8%, var(--card));
  border: 1px solid color-mix(in srgb, var(--foreground) 18%, transparent);
  color: var(--foreground);
}

.zk-all-pt-v-badge-attendee {
  background: var(--tab-header-border);
  font-size: 0.625rem;
  letter-spacing: 0.2px;
}

/* Body: Clean left-aligned layout */
.zk-all-pt-v-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 3px;
  margin: 0;
  min-width: 0;
  width: 100%;
  text-align: left;
}

.zk-all-pt-v-title {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--foreground);
  text-align: left;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.zk-all-pt-v-person {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
  width: 100%;
  min-width: 0;
}

.zk-all-pt-v-avatar {
  width: 20px;
  height: 20px;
  min-width: 20px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.625rem;
  font-weight: 800;
  border: 1px solid color-mix(in srgb, var(--foreground) 15%, transparent);
  background: color-mix(in srgb, var(--primary) 12%, var(--card));
  color: var(--primary);
}

.zk-all-pt-v-avatar-placeholder {
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.zk-all-pt-v-name {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--foreground);
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  line-height: 1.25;
}

/* Member row: Avatar + Name + Tag */
.zk-all-pt-v-member-row {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  min-width: 0;
  line-height: 1.2;
}

.zk-all-pt-v-member-name {
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--foreground);
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.25;
}

.zk-all-pt-v-member-tag {
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--muted-foreground);
  white-space: nowrap;
  flex-shrink: 0;
}

/* Package row in All-PT card */
.zk-all-pt-v-package-row {
  display: flex;
  align-items: center;
  gap: 4px;
  width: 100%;
  min-width: 0;
  line-height: 1.2;
}

.zk-all-pt-v-package-name {
  font-size: 0.6875rem;
  font-weight: 500;
  color: var(--foreground);
  opacity: 0.92;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  line-height: 1.25;
}

.zk-all-pt-v-package-tag {
  font-size: 0.6875rem;
  line-height: 1;
  flex-shrink: 0;
}

/* Branch row in All-PT card */
.zk-all-pt-v-branch-row {
  display: flex;
  align-items: center;
  gap: 4px;
  width: 100%;
  min-width: 0;
  line-height: 1.2;
}

.zk-all-pt-v-branch-name {
  font-size: 0.6875rem;
  font-weight: 500;
  color: var(--muted-foreground);
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  line-height: 1.2;
}

.zk-all-pt-v-branch-tag {
  font-size: 0.6875rem;
  line-height: 1;
  flex-shrink: 0;
}

/* Tone specific accents */
.zk-session-card-blue .zk-all-pt-v-time {
  color: var(--zk-session-blue) !important;
}
.zk-session-card-blue .zk-all-pt-v-badge {
  background-color: color-mix(in srgb, var(--zk-session-blue) 14%, var(--card)) !important;
  color: var(--zk-session-blue) !important;
  border-color: color-mix(in srgb, var(--zk-session-blue) 28%, transparent) !important;
}

.zk-session-card-green .zk-all-pt-v-time {
  color: var(--zk-session-green) !important;
}
.zk-session-card-green .zk-all-pt-v-badge {
  background-color: color-mix(in srgb, var(--zk-session-green) 14%, var(--card)) !important;
  color: var(--zk-session-green) !important;
  border-color: color-mix(in srgb, var(--zk-session-green) 28%, transparent) !important;
}

.zk-session-card-yellow .zk-all-pt-v-time,
.zk-session-card-orange .zk-all-pt-v-time {
  color: var(--zk-session-yellow) !important;
}
.zk-session-card-yellow .zk-all-pt-v-badge,
.zk-session-card-orange .zk-all-pt-v-badge {
  background-color: color-mix(in srgb, var(--zk-session-yellow) 16%, var(--card)) !important;
  color: var(--zk-session-yellow) !important;
  border-color: color-mix(in srgb, var(--zk-session-yellow) 30%, transparent) !important;
}

.zk-session-card-purple .zk-all-pt-v-time {
  color: var(--zk-session-purple) !important;
}
.zk-session-card-purple .zk-all-pt-v-badge {
  background-color: color-mix(in srgb, var(--zk-session-purple) 14%, var(--card)) !important;
  color: var(--zk-session-purple) !important;
  border-color: color-mix(in srgb, var(--zk-session-purple) 28%, transparent) !important;
}

.zk-all-pt-card.zk-session-card-narrow .zk-all-pt-v-package-row,
.zk-all-pt-card.zk-session-card-narrow .zk-all-pt-v-branch-row {
  display: none !important;
}

.zk-all-pt-card.zk-session-card-xs .zk-all-pt-v-badge,
.zk-all-pt-card.zk-session-card-xs .zk-all-pt-v-avatar {
  display: none !important;
}

/* Footer: Hidden by default, floats/overlays on hover */
.zk-all-pt-v-actions {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--popover);
  border-top: 1px solid var(--border);
  backdrop-filter: blur(4px);
  padding: 6px 8px;
  border-radius: 0 0 var(--radius, 8px) var(--radius, 8px);
  flex-direction: column;
  gap: 4px;
  width: 100%;
  box-sizing: border-box;
  z-index: 20;
  box-shadow: 0 -4px 10px var(--media-portrait-shadow);
}

.zk-all-pt-card:hover .zk-all-pt-v-actions {
  display: flex;
}

.zk-all-pt-v-btn {
  width: 100%;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 3px 6px;
  border-radius: 4px;
  font-size: 0.6875rem;
  font-weight: 700;
  cursor: pointer;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-height: 21px;
  border: 1px solid transparent;
  transition: all 0.15s ease;
}

/* Card action buttons (Confirm & Cancel) */
.zk-all-pt-v-btn-complete,
.zk-session-btn-complete-active {
  background-color: color-mix(in srgb, var(--success) 14%, var(--card)) !important;
  border: 1px solid color-mix(in srgb, var(--success) 45%, transparent) !important;
  color: var(--success) !important;
  font-weight: 700 !important;
  box-shadow: var(--shadow-xs);
  cursor: pointer;
  transition: all 0.15s ease;
}

.zk-all-pt-v-btn-complete:hover:not(:disabled),
.zk-session-btn-complete-active:hover:not(:disabled) {
  background-color: var(--success) !important;
  border-color: var(--success) !important;
  color: var(--text-on-primary) !important;
  box-shadow: var(--shadow-sm);
  transform: translateY(-1px);
}

.zk-all-pt-v-btn-cancel,
.zk-session-btn-cancel {
  background-color: color-mix(in srgb, var(--destructive) 12%, var(--card)) !important;
  border: 1px solid color-mix(in srgb, var(--destructive) 35%, transparent) !important;
  color: var(--destructive) !important;
  font-weight: 700 !important;
  box-shadow: var(--shadow-xs);
  cursor: pointer;
  transition: all 0.15s ease;
}

.zk-all-pt-v-btn-cancel:hover:not(:disabled),
.zk-session-btn-cancel:hover:not(:disabled) {
  background-color: var(--destructive) !important;
  border-color: var(--destructive) !important;
  color: var(--text-on-primary) !important;
  box-shadow: var(--shadow-sm);
  transform: translateY(-1px);
}

.zk-all-pt-v-btn-disabled,
.zk-all-pt-v-btn:disabled {
  background-color: var(--surface-subtle) !important;
  border-color: var(--border) !important;
  color: var(--muted) !important;
  cursor: not-allowed !important;
  pointer-events: none;
}

/* Feedback Buttons for PT Completed Sessions */
.zk-all-pt-v-btn-feedback,
.zk-session-btn-feedback {
  background-color: color-mix(in srgb, var(--primary) 12%, var(--card)) !important;
  border: 1px solid color-mix(in srgb, var(--primary) 35%, transparent) !important;
  color: var(--primary) !important;
  font-weight: 700 !important;
  box-shadow: var(--shadow-xs);
  cursor: pointer;
  transition: all 0.15s ease;
}

.zk-all-pt-v-btn-feedback:hover,
.zk-session-btn-feedback:hover {
  background-color: var(--primary) !important;
  border-color: var(--primary) !important;
  color: var(--text-on-primary) !important;
  box-shadow: var(--shadow-sm);
  transform: translateY(-1px);
}

/* ==========================================================================
   Command Palette (Ctrl + K) & Search Triggers
   ========================================================================== */
.zk-sidebar-brand-controls {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  flex: 0 0 auto;
}

.zk-sidebar-search-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border-radius: var(--radius-sm);
  color: var(--sidebar-text-secondary);
  background: transparent;
  border: none;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}

.zk-sidebar-search-trigger:hover,
.zk-sidebar-search-trigger:focus-visible {
  color: var(--sidebar-text-primary);
  background: var(--sidebar-hover-bg);
  border-color: transparent;
}

.zk-topbar-search-slot {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 22rem;
  z-index: 10;
  pointer-events: auto;
}

.zk-topbar:has(.zk-topbar-filter-slot) .zk-topbar-search-slot {
  display: none !important;
}

.zk-topbar-search-trigger {
  display: flex;
  align-items: center;
  width: 100%;
  min-width: 0;
  height: 2.1rem;
  padding: 0 0.65rem;
  gap: 0.5rem;
  background: color-mix(in srgb, var(--card) 92%, var(--border));
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  color: var(--muted);
  font-size: 0.825rem;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
  outline: none;
}

.zk-topbar-search-trigger:hover {
  border-color: color-mix(in srgb, var(--border) 60%, var(--text));
  color: var(--text);
}

.zk-topbar-search-trigger:focus-visible {
  border-color: var(--primary);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary) 25%, transparent);
}

.zk-topbar-search-icon {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  color: var(--muted);
}

.zk-topbar-search-placeholder {
  flex: 1 1 auto;
  min-width: 0;
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.zk-topbar-search-kbd {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  flex-shrink: 0;
  padding: 0.1rem 0.35rem;
  font-size: 0.7rem;
  font-family: inherit;
  font-weight: 500;
  color: var(--muted);
  background: color-mix(in srgb, var(--card) 70%, var(--border));
  border: 1px solid var(--border);
  border-radius: var(--radius-xs, 3px);
  line-height: 1;
}

.zk-command-palette-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 12vh;
}

.zk-command-palette-modal[hidden] {
  display: none;
}

.zk-command-palette-backdrop {
  position: fixed;
  inset: 0;
  background: var(--overlay-backdrop);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.zk-command-palette-dialog {
  position: relative;
  z-index: 1001;
  width: calc(100vw - 2rem);
  max-width: 38rem;
  max-height: 70vh;
  display: flex;
  flex-direction: column;
  background: var(--card);
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg, 0.75rem);
  box-shadow: var(--shadow-lg);
  overflow: hidden;
  outline: none;
}

.zk-command-palette-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--border);
}

.zk-command-palette-header-icon {
  display: flex;
  align-items: center;
  color: var(--muted);
  flex: 0 0 auto;
}

.zk-command-palette-input,
input.zk-command-palette-input {
  flex: 1 1 auto;
  background: transparent;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  color: var(--text);
  font-size: 0.95rem;
  font-family: inherit;
  padding: 0;
}

.zk-command-palette-input:focus,
.zk-command-palette-input:focus-visible,
input.zk-command-palette-input:focus,
input.zk-command-palette-input:focus-visible {
  outline: none !important;
  box-shadow: none !important;
  border: none !important;
}

.zk-command-palette-input::placeholder {
  color: var(--muted);
}

.zk-command-palette-clear {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  background: transparent;
  border: none;
  color: var(--muted);
  cursor: pointer;
  border-radius: var(--radius-sm);
}

.zk-command-palette-clear:hover {
  color: var(--text);
  background: var(--bg-hover);
}

.zk-command-palette-list {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 0.5rem;
  max-height: 50vh;
  scroll-behavior: smooth;
}

.zk-command-palette-group {
  margin-bottom: 0.5rem;
}

.zk-command-palette-group-heading {
  padding: 0.35rem 0.5rem 0.2rem;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--muted);
}

.zk-command-palette-item {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.45rem 0.65rem;
  border-radius: var(--radius-md);
  cursor: pointer;
  color: var(--text);
  transition: background 0.1s ease;
  user-select: none;
}

.zk-command-palette-item:hover,
.zk-command-palette-item.is-selected {
  background: var(--bg-hover);
}

.zk-palette-item-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--muted);
  flex: 0 0 auto;
  width: 1.25rem;
  height: 1.25rem;
}

.zk-palette-avatar-thumb {
  width: 1.5rem;
  height: 1.5rem;
  border-radius: var(--radius-full);
  object-fit: cover;
}

.zk-palette-avatar-placeholder {
  width: 1.5rem;
  height: 1.5rem;
  border-radius: var(--radius-full);
  background: var(--bg-surface-elevated, var(--border));
  color: var(--primary);
  font-size: 0.75rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
}

.zk-command-palette-modal.is-searching .zk-command-palette-header-icon {
  animation: zk-palette-pulse 1s ease-in-out infinite;
  color: var(--primary);
}

@keyframes zk-palette-pulse {
  0%, 100% { opacity: 0.4; }
  50% { opacity: 1; }
}

.zk-command-palette-item.is-selected .zk-palette-item-icon {
  color: var(--primary);
}

.zk-palette-item-info {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.zk-palette-item-title {
  font-size: 0.875rem;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.zk-palette-item-breadcrumb {
  font-size: 0.72rem;
  color: var(--muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.zk-palette-item-enter {
  display: none;
  font-size: 0.8rem;
  color: var(--muted);
  flex: 0 0 auto;
}

.zk-command-palette-item.is-selected .zk-palette-item-enter {
  display: inline;
}

.zk-command-palette-empty {
  padding: 2rem 1rem;
  text-align: center;
  font-size: 0.875rem;
  color: var(--muted);
}

.zk-command-palette-footer {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.5rem 1rem;
  border-top: 1px solid var(--border);
  background: color-mix(in srgb, var(--card) 95%, var(--border));
  font-size: 0.72rem;
  color: var(--muted);
}

.zk-palette-hint {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
}

.zk-palette-hint kbd {
  display: inline-flex;
  align-items: center;
  padding: 0.1rem 0.3rem;
  font-size: 0.68rem;
  font-family: inherit;
  font-weight: 500;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius-xs, 3px);
  line-height: 1;
}

@media (max-width: 768px) {
  .zk-topbar { gap: 0.25rem; padding-inline: 0.5rem; }
  .zk-topbar-search-slot {
    position: static;
    left: auto;
    transform: none;
    flex: 0 0 auto;
    margin-left: auto;
    width: auto;
    max-width: none;
  }
  .zk-topbar-search-trigger {
    width: 2.1rem;
    padding: 0;
    justify-content: center;
  }
  .zk-topbar-search-placeholder,
  .zk-topbar-search-kbd {
    display: none;
  }
}

/* QTV reference presentation v1: opt-in content; shell/default consumers unchanged. */
.zk-reference-calendar-scroll {
  overflow: auto;
  max-height: 75dvh;
  border: 1px solid var(--border);
  border-radius: var(--reference-radius);
}
.zk-reference-calendar-scroll:focus-visible {
  outline: 2px solid var(--reference-primary);
  outline-offset: 2px;
}
.zk-reference-calendar-grid {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
  min-width: max-content;
  font-size: .8125rem;
}
.zk-reference-calendar-grid th,
.zk-reference-calendar-grid td {
  border-inline-end: 1px solid var(--border);
  border-block-end: 1px solid var(--border);
  vertical-align: top;
  min-width: 12rem;
  padding: 0;
}
.zk-reference-calendar-grid thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--surface);
  padding: .625rem;
}
.zk-reference-calendar-grid tbody tr {
  height: 1.5rem;
}
.zk-reference-calendar-grid tbody th {
  position: sticky;
  inset-inline-start: 0;
  z-index: 1;
  min-width: 4rem;
  background: var(--surface);
  padding-inline: .375rem;
  color: var(--text-muted);
  font-weight: 400;
}
.zk-reference-calendar-event {
  height: 100%;
  min-height: 1.5rem;
  border-inline-start: 3px solid var(--info-border);
  padding: .375rem .5rem;
  background: var(--surface);
  overflow-wrap: anywhere;
}
.zk-reference-calendar-event-success { border-color: var(--success); }
.zk-reference-calendar-event-warning { border-color: var(--warning-border); }
.zk-reference-calendar-event-danger { border-color: var(--danger); }
.zk-reference-calendar-event-muted { border-color: var(--text-muted); }
.zk-reference-calendar-event[data-calendar-draft="true"] { border-style: dashed; }
.zk-reference-calendar-overflow { display: grid; gap: .5rem; padding-inline-start: 1.5rem; }
.zk-reference-calendar-detail { white-space: normal; text-align: start; }
.zk-reference-v1 { min-width: 0; font-family: var(--reference-font); font-size: 0.8125rem; line-height: 1.55; color: var(--text-primary); }
.zk-reference-v1 .zk-button { border-radius: var(--reference-radius); min-height: 2.25rem; }
.zk-reference-v1 .zk-button-primary { background: var(--reference-primary); color: var(--text-on-primary); }
.zk-reference-v1 .zk-button-primary:hover { background: var(--reference-primary-hover); }
.zk-reference-v1 .zk-form-row { display: flex; flex-direction: column; align-items: stretch; gap: 0.375rem; }
.zk-reference-v1 .zk-form-row > label { width: auto; text-align: start; color: var(--text-secondary); font-weight: 500; }
.zk-reference-v1 .zk-input, .zk-reference-v1 .zk-select, .zk-reference-v1 .zk-textarea { border-radius: var(--reference-radius); border-color: var(--border-control); min-height: 2.25rem; font-family: inherit; }
.zk-reference-v1 .zk-input:focus-visible, .zk-reference-v1 .zk-select:focus-visible, .zk-reference-v1 .zk-button:focus-visible, .zk-reference-table-wrap:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; }
.zk-reference-section, .zk-reference-card { background: var(--card); border: 1px solid var(--border); border-radius: var(--reference-radius); min-width: 0; }
.zk-reference-section-heading, .zk-reference-card-heading { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 0.75rem; }
.zk-reference-section-heading { padding: 1rem 1.25rem; border-bottom: 1px solid var(--border); }
.zk-reference-section-heading h2 { margin: 0; font-size: 0.9375rem; font-weight: 600; }
.zk-reference-section-body { padding: 1.25rem; min-width: 0; }
.zk-reference-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 0.625rem; }
.zk-reference-card { display: flex; flex-direction: column; gap: 1rem; padding: 1.25rem; }
.zk-reference-card-heading h3 { margin: 0; font-size: 1rem; font-weight: 600; overflow-wrap: anywhere; }
.zk-reference-caption { margin: 0.25rem 0 0; color: var(--text-muted); font-size: 0.75rem; overflow-wrap: anywhere; }
.zk-reference-card-value { color: var(--reference-primary); font-size: 1.5rem; line-height: 1.4; font-weight: 600; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.zk-reference-card-footer { margin-top: auto; padding-top: 0.875rem; border-top: 1px solid var(--border); display: flex; flex-wrap: wrap; gap: 0.625rem; }
.zk-reference-info-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 1.5rem; margin: 0; }
.zk-reference-info-item { min-width: 0; }
.zk-reference-info-item dt { color: var(--text-muted); font-size: 0.75rem; }
.zk-reference-info-item dd { margin: 0.375rem 0 0; font-weight: 500; overflow-wrap: anywhere; }
.zk-reference-table-wrap { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; border: 1px solid var(--border); border-radius: var(--reference-radius); }
.zk-reference-table { width: 100%; border-collapse: collapse; background: var(--card); }
.zk-reference-table th, .zk-reference-table td { padding: 0.75rem 0.875rem; text-align: start; border-bottom: 1px solid var(--border); }
.zk-reference-table th { color: var(--text-muted); font-size: 0.75rem; font-weight: 500; white-space: nowrap; }
.zk-reference-table tr:last-child td { border-bottom: 0; }
.zk-reference-table tbody tr:hover { background: var(--surface-hover); }
.zk-reference-v1 .zk-catalog-card-actions { gap: 0.625rem; border-top: 1px solid var(--border); padding-top: 0.875rem; }
.zk-reference-v1 .zk-dynamic-card { border-radius: var(--reference-radius); box-shadow: none; }
.zk-reference-v1 .zk-dynamic-card-price { font-size: 1.5rem; font-weight: 600; color: var(--reference-primary); }
.zk-reference-v1 .zk-table th { color: var(--text-muted); font-size: 0.75rem; font-weight: 500; }
.zk-reference-command-panel { width: min(48rem, calc(100vw - 2rem)); border-radius: var(--reference-modal-radius); max-height: calc(100dvh - 2rem); }
.zk-reference-v1 .zk-modal-header { padding: 1rem 1.375rem; }
.zk-reference-v1 .zk-modal-header h2 { font-size: 1.0625rem; }
.zk-reference-v1 .zk-modal-content { padding: 1.375rem; overflow-y: auto; min-height: 0; }
.zk-reference-drawer { justify-content: flex-end; padding: 0; }
.zk-reference-drawer .zk-reference-command-panel { width: min(52rem, 100vw); height: 100dvh; max-height: 100dvh; border-radius: 0; }
.zk-ref-page-header { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 1rem !important; width: 100% !important; }
.zk-ref-page-title { font-size: 1.5rem !important; font-weight: 700 !important; color: var(--foreground) !important; margin: 0 !important; letter-spacing: -0.01em !important; }
.zk-ref-create-btn { display: inline-flex !important; align-items: center !important; gap: 0.5rem !important; background: var(--reference-primary) !important; color: var(--text-on-primary) !important; border-radius: 6px !important; font-weight: 600 !important; font-size: 0.875rem !important; padding: 0.55rem 1.15rem !important; border: none !important; cursor: pointer !important; transition: background 0.15s ease !important; white-space: nowrap !important; }
.zk-ref-create-btn:hover { background: var(--reference-primary-hover) !important; }
.zk-ref-create-btn svg { width: 1rem !important; height: 1rem !important; stroke-width: 2.5 !important; }
.zk-ref-filter-bar { display: flex !important; flex-direction: row !important; align-items: center !important; gap: 0.75rem !important; margin-bottom: 1.25rem !important; width: 100% !important; flex-wrap: nowrap !important; }
.zk-ref-filter-field { position: relative !important; background: var(--card) !important; border: 1px solid var(--border) !important; border-radius: 6px !important; padding: 0.4rem 0.75rem !important; display: flex !important; flex-direction: column !important; justify-content: center !important; height: 42px !important; box-sizing: border-box !important; transition: border-color 0.15s ease, box-shadow 0.15s ease !important; }
.zk-ref-filter-field:focus-within { border-color: var(--primary) !important; box-shadow: 0 0 0 1px var(--primary) !important; }
.zk-ref-filter-search { flex: 1 1 auto !important; min-width: 15rem !important; }
.zk-ref-filter-select-field { flex: 0 0 13.5rem !important; min-width: 10rem !important; }
.zk-ref-filter-label { position: absolute !important; top: -0.45rem !important; left: 0.65rem !important; background: var(--card) !important; padding: 0 0.35rem !important; font-size: 0.6875rem !important; color: var(--muted) !important; font-weight: 500 !important; line-height: 1 !important; pointer-events: none !important; z-index: 2 !important; white-space: nowrap !important; }
.zk-ref-filter-input { border: none !important; background: transparent !important; color: var(--foreground) !important; font-size: 0.875rem !important; outline: none !important; width: 100% !important; padding: 0 !important; line-height: 1.25 !important; }
.zk-ref-filter-select { border: none !important; background: transparent !important; color: var(--foreground) !important; font-size: 0.875rem !important; outline: none !important; width: 100% !important; padding: 0 !important; cursor: pointer !important; line-height: 1.25 !important; }
.zk-ref-filter-actions { display: flex !important; align-items: center !important; gap: 0.5rem !important; margin-left: 0 !important; flex-shrink: 0 !important; }
.zk-ref-filter-btn { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 42px !important; height: 42px !important; min-width: 42px !important; border: 1px solid var(--border) !important; border-radius: 6px !important; background: var(--card) !important; color: var(--muted) !important; cursor: pointer !important; transition: all 0.15s ease !important; text-decoration: none !important; padding: 0 !important; min-height: unset !important; box-sizing: border-box !important; }
.zk-ref-filter-btn:hover { background: var(--surface-hover) !important; border-color: var(--primary) !important; color: var(--primary) !important; }
.zk-ref-filter-btn svg { width: 1.125rem !important; height: 1.125rem !important; }
.zk-ref-card-container { background: var(--card) !important; border: 1px solid var(--border) !important; border-radius: 8px !important; box-shadow: var(--shadow-sm) !important; overflow: hidden !important; width: 100% !important; }
.zk-ref-card-header { padding: 0.875rem 1.25rem 0.625rem !important; display: flex !important; align-items: center !important; }
.zk-ref-count-badge { font-size: 0.875rem !important; font-weight: 500 !important; color: var(--foreground) !important; }
.zk-ref-table-wrap { overflow-x: auto !important; width: 100% !important; }
.zk-ref-table { width: 100% !important; border-collapse: collapse !important; text-align: left !important; table-layout: auto !important; }
.zk-ref-table thead th { padding: 0.75rem 1.25rem !important; font-size: 0.75rem !important; font-weight: 600 !important; color: var(--muted) !important; background: var(--surface) !important; border-top: 1px solid var(--border) !important; border-bottom: 1px solid var(--border) !important; white-space: nowrap !important; letter-spacing: 0.02em !important; }
.zk-ref-table tbody td { padding: 0.875rem 1.25rem !important; font-size: 0.875rem !important; color: var(--foreground) !important; border-bottom: 1px solid var(--border) !important; vertical-align: middle !important; }
.zk-ref-table tbody tr:hover td { background: var(--surface-hover) !important; }
.zk-ref-col-code .zk-ref-link { color: var(--info-text) !important; text-decoration: none !important; font-weight: 500 !important; }
.zk-ref-col-code .zk-ref-link:hover { text-decoration: underline !important; }
.zk-ref-name-cell { display: inline-flex !important; align-items: center !important; gap: 0.75rem !important; }
.zk-ref-avatar-circle { width: 2rem !important; height: 2rem !important; min-width: 2rem !important; max-width: 2rem !important; min-height: 2rem !important; max-height: 2rem !important; border-radius: 50% !important; background: var(--success-light) !important; color: var(--success-text) !important; border: 1px solid var(--success-border) !important; font-size: 0.75rem !important; font-weight: 700 !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; user-select: none !important; flex-shrink: 0 !important; }
.zk-ref-name-text { font-weight: 600 !important; color: var(--foreground) !important; white-space: nowrap !important; }
.zk-ref-status-badge { display: inline-flex !important; align-items: center !important; justify-content: center !important; padding: 0.2rem 0.65rem !important; border-radius: 9999px !important; font-size: 0.75rem !important; font-weight: 600 !important; white-space: nowrap !important; line-height: 1.25 !important; }
.zk-ref-status-active { background: var(--success-light) !important; color: var(--success-text) !important; border: 1px solid var(--success-border) !important; }
.zk-ref-status-inactive { background: var(--warning-light) !important; color: var(--warning-text) !important; border: 1px solid var(--warning-border) !important; }
.zk-ref-actions-cell { display: inline-flex !important; align-items: center !important; justify-content: flex-end !important; gap: 0.35rem !important; }
.zk-ref-action-icon { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 1.85rem !important; height: 1.85rem !important; border-radius: 4px !important; background: transparent !important; border: 1px solid transparent !important; color: var(--muted) !important; cursor: pointer !important; transition: all 0.15s ease !important; text-decoration: none !important; padding: 0 !important; min-height: unset !important; }
.zk-ref-action-icon:hover { background: var(--surface-hover) !important; color: var(--primary) !important; border-color: var(--border) !important; }
.zk-ref-action-icon svg { width: 1rem !important; height: 1rem !important; }
.zk-ref-pagination { display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0.75rem 1.25rem !important; border-top: 1px solid var(--border) !important; font-size: 0.8125rem !important; color: var(--muted) !important; flex-wrap: nowrap !important; width: 100% !important; box-sizing: border-box !important; }
.zk-ref-page-sizes { display: flex !important; align-items: center !important; gap: 0.5rem !important; }
.zk-ref-size-item { padding: 0.2rem 0.55rem !important; border-radius: 4px !important; cursor: pointer !important; font-weight: 500 !important; color: var(--muted) !important; transition: all 0.15s ease !important; }
.zk-ref-size-item:hover { color: var(--foreground) !important; }
.zk-ref-size-active { background: var(--primary-light) !important; color: var(--primary) !important; font-weight: 600 !important; }
.zk-ref-page-nav { display: flex !important; align-items: center !important; gap: 1rem !important; }
.zk-ref-page-info { white-space: nowrap !important; }
.zk-ref-nav-arrows { display: flex !important; align-items: center !important; gap: 0.35rem !important; }
.zk-ref-nav-btn { border: 1px solid var(--border) !important; background: var(--card) !important; color: var(--muted) !important; border-radius: 4px !important; width: 1.85rem !important; height: 1.85rem !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; cursor: pointer !important; padding: 0 !important; min-height: unset !important; }
.zk-ref-nav-btn:disabled { opacity: 0.35 !important; cursor: not-allowed !important; }
.zk-ref-nav-page-num { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 1.85rem !important; height: 1.85rem !important; border-radius: 4px !important; font-weight: 600 !important; border: 1px solid var(--border) !important; color: var(--foreground) !important; }
.zk-ref-nav-page-active { border-color: var(--primary) !important; color: var(--primary) !important; background: var(--primary-light) !important; }
@media (max-width: 40rem) {
  .zk-reference-info-grid { grid-template-columns: minmax(0, 1fr); }
  .zk-reference-section-heading, .zk-reference-section-body, .zk-reference-card { padding: 1rem; }
  .zk-reference-command-panel { width: calc(100vw - 1rem); max-height: calc(100dvh - 1rem); }
  .zk-reference-v1 .zk-modal-header, .zk-reference-v1 .zk-modal-content { padding: 1rem; }
  .zk-reference-drawer .zk-reference-command-panel { width: 100vw; max-height: 100dvh; }
}
