/*! tailwindcss v4.3.3 | 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-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking: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-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-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:"Instrument 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;--color-blue-300:oklch(80.9% .105 251.813);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xl:36rem;--container-6xl:72rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-medium:500;--font-weight-semibold:600;--tracking-wider:.05em;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;-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:where(:not(iframe)){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{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.top-0{top:0}.right-0{right:0}.mx-auto{margin-inline:auto}.-mt-px{margin-top:-1px}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mr-2{margin-right:calc(var(--spacing) * 2)}.-ml-px{margin-left:-1px}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-12{margin-left:calc(var(--spacing) * 12)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.h-5{height:calc(var(--spacing) * 5)}.h-8{height:calc(var(--spacing) * 8)}.h-16{height:calc(var(--spacing) * 16)}.min-h-screen{min-height:100vh}.w-5{width:calc(var(--spacing) * 5)}.w-8{width:calc(var(--spacing) * 8)}.w-auto{width:auto}.max-w-6xl{max-width:var(--container-6xl)}.max-w-xl{max-width:var(--container-xl)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-items-center{justify-items:center}.gap-2{gap:calc(var(--spacing) * 2)}.overflow-hidden{overflow:hidden}.rounded-md{border-radius:var(--radius-md)}.rounded-l-md{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.rounded-r-md{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-400{border-color:var(--color-gray-400)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-white{background-color:var(--color-white)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-4{padding-block:calc(var(--spacing) * 4)}.pt-8{padding-top:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-black{color:var(--color-black)}.text-gray-200{color:var(--color-gray-200)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow,.shadow-sm{--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-gray-300{--tw-ring-color:var(--color-gray-300)}.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,)}.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,)}.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))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}@media (hover:hover){.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:text-gray-400:hover{color:var(--color-gray-400)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}}.focus\:border-blue-300:focus{border-color:var(--color-blue-300)}.focus\:ring:focus{--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)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:bg-gray-100:active{background-color:var(--color-gray-100)}.active\:text-gray-500:active{color:var(--color-gray-500)}.active\:text-gray-700:active{color:var(--color-gray-700)}.active\:text-gray-800:active{color:var(--color-gray-800)}@media (width>=40rem){.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:flex-1{flex:1}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:justify-start{justify-content:flex-start}.sm\:gap-2{gap:calc(var(--spacing) * 2)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:pt-0{padding-top:0}}@media (width>=64rem){.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}}.rtl\:flex-row-reverse:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *){flex-direction:row-reverse}@media (prefers-color-scheme:dark){.dark\:border-gray-600{border-color:var(--color-gray-600)}.dark\:bg-gray-700{background-color:var(--color-gray-700)}.dark\:bg-gray-800{background-color:var(--color-gray-800)}.dark\:text-gray-200{color:var(--color-gray-200)}.dark\:text-gray-300{color:var(--color-gray-300)}.dark\:text-gray-400{color:var(--color-gray-400)}.dark\:text-gray-600{color:var(--color-gray-600)}@media (hover:hover){.dark\:hover\:bg-gray-900:hover{background-color:var(--color-gray-900)}.dark\:hover\:text-gray-200:hover{color:var(--color-gray-200)}.dark\:hover\:text-gray-300:hover{color:var(--color-gray-300)}}.dark\:focus\:border-blue-700:focus{border-color:var(--color-blue-700)}.dark\:focus\:border-blue-800:focus{border-color:var(--color-blue-800)}.dark\:active\:bg-gray-700:active{background-color:var(--color-gray-700)}.dark\:active\:text-gray-300:active{color:var(--color-gray-300)}}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--app-bg:#f7f8fa;--app-surface:#fff;--app-surface-subtle:#f9fafb;--app-border:#e5e7eb;--app-border-strong:#d1d5db;--app-text:#111827;--app-text-secondary:#6b7280;--app-text-muted:#9ca3af;--app-primary:#1d4ed8;--app-primary-strong:#1e3a8a;--app-primary-soft:#eff6ff;--app-success:#16a34a;--app-success-soft:#ecfdf3;--app-warning:#f59e0b;--app-warning-soft:#fffbeb;--app-danger:#ef4444;--app-danger-soft:#fef2f2;--app-info:#2563eb;--app-info-soft:#eff6ff;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--app-topbar-height:56px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--font-page-title:700 30px / 1.2 var(--font-sans);--font-section-title:600 20px / 1.3 var(--font-sans);--font-body:400 14px / 1.5 var(--font-sans);--font-small:500 12px / 1.4 var(--font-sans);--font-table:400 13px / 1.45 var(--font-sans);--shadow-subtle:0 1px 2px #1118270a;--focus-ring:0 0 0 3px #2563eb2e}*{box-sizing:border-box}.app-body{background:var(--app-bg);min-height:100vh;color:var(--app-text);font:var(--font-body);margin:0}.app-body.has-invoice-workspace{overflow:hidden}:is(.app-body.has-invoice-workspace:has(.invoice-panel.is-open),.app-body.has-invoice-workspace:has(.invoice-panel:target)){overflow:auto}.app-body a{color:inherit;text-decoration:none}.app-body :where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--app-primary);outline-offset:2px;box-shadow:var(--focus-ring)}.app-shell{grid-template-columns:244px minmax(0,1fr);min-height:100vh;display:grid}.app-main{grid-template-rows:auto minmax(0,1fr);min-width:0;display:grid}.app-body.has-invoice-workspace .app-main,.app-body.has-invoice-workspace .app-content{height:100vh;overflow:hidden}:is(.app-body.has-invoice-workspace:has(.invoice-panel.is-open) .app-main,.app-body.has-invoice-workspace:has(.invoice-panel:target) .app-main,.app-body.has-invoice-workspace:has(.invoice-panel.is-open) .app-content,.app-body.has-invoice-workspace:has(.invoice-panel:target) .app-content){height:auto;overflow:visible}.app-content{width:100%;min-width:0;padding:var(--space-6)}.app-content-inner{width:100%;min-width:0}.app-sidebar{z-index:20;gap:var(--space-5);border-right:1px solid var(--app-border);background:var(--app-surface);height:100vh;color:var(--app-text);padding:var(--space-5) var(--space-4);flex-direction:column;display:flex;position:sticky;top:0;overflow-y:auto}.app-brand{padding:0 var(--space-2);color:var(--app-text);letter-spacing:0;align-items:center;gap:10px;font-weight:800;display:flex}.app-brand-mark{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--app-primary), #0f766e);color:#fff;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.app-brand-text{font-size:17px}.app-nav{gap:var(--space-5);display:grid}.app-nav-section{gap:var(--space-2);display:grid}.app-nav-section-label{padding:0 var(--space-2);color:var(--app-text-muted);font:var(--font-small);text-transform:uppercase;font-size:11px;font-weight:700}.app-nav-list{gap:var(--space-1);display:grid}.app-nav-link{border-radius:var(--radius-md);min-height:38px;color:var(--app-text-secondary);align-items:center;gap:10px;padding:9px 10px;font-size:14px;font-weight:650;display:flex}.app-nav-link:hover{background:var(--app-surface-subtle);color:var(--app-text)}.app-nav-link.is-active{background:var(--app-primary-soft);color:var(--app-primary-strong)}.app-nav-icon{color:currentColor;flex:0 0 17px;width:17px;height:17px}.app-sidebar-footer{gap:var(--space-3);border-top:1px solid var(--app-border);padding-top:var(--space-4);margin-top:auto;display:grid}.app-locale-switch{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.app-locale-switch form{margin:0}.app-locale-button{border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface);width:100%;color:var(--app-text-secondary);cursor:pointer;padding:8px 10px;font-size:12px;font-weight:750}.app-locale-button.is-active{background:var(--app-primary-soft);color:var(--app-primary-strong);border-color:#bfdbfe}.app-topbar-locale{border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface);grid-template-columns:repeat(2,42px);gap:0;overflow:hidden}.app-topbar-locale .app-locale-button{background:0 0;border:0;border-radius:0;min-height:30px;padding:6px 10px;font-size:11px}.app-topbar-locale form+form{border-left:1px solid var(--app-border)}.app-topbar-locale .app-locale-button.is-active{background:var(--app-primary-soft);color:var(--app-primary-strong)}.app-topbar{z-index:15;justify-content:space-between;align-items:center;gap:var(--space-4);border-bottom:1px solid var(--app-border);min-height:56px;padding:0 var(--space-6);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe6;display:flex;position:sticky;top:0}.app-topbar-left,.app-topbar-right{align-items:center;gap:var(--space-3);min-width:0;display:flex}.app-topbar-title{color:var(--app-text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;overflow:hidden}.app-mobile-toggle{display:none}.app-user-menu{position:relative}.app-user-menu summary{align-items:center;gap:var(--space-2);cursor:pointer;min-width:0;list-style:none;display:flex}.app-user-menu summary::-webkit-details-marker{display:none}.app-avatar{background:var(--app-primary-soft);width:30px;height:30px;color:var(--app-primary-strong);border:1px solid #bfdbfe;border-radius:999px;place-items:center;font-size:12px;font-weight:800;display:grid}.app-user-text{gap:1px;min-width:0;display:grid}.app-user-name{max-width:140px;color:var(--app-text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:750;overflow:hidden}.app-user-role{color:var(--app-text-secondary);font-size:11px;font-weight:500}.app-user-dropdown{gap:var(--space-3);border:1px solid var(--app-border);border-radius:var(--radius-lg);background:var(--app-surface);width:220px;padding:var(--space-3);display:grid;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 50px #1118271f}.app-page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.app-page-title{color:var(--app-text);font:var(--font-page-title);letter-spacing:0;margin:0}.app-page-description{margin-top:var(--space-2);color:var(--app-text-secondary);font-size:14px}.app-page-actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.app-alert{border:1px solid var(--app-border);border-radius:var(--radius-md);margin-bottom:var(--space-4);padding:10px 12px;font-size:13px;font-weight:650}.app-alert-success{background:var(--app-success-soft);color:#166534;border-color:#bbf7d0}.app-alert-danger{background:var(--app-danger-soft);color:#991b1b;border-color:#fecaca}.app-sidebar-scrim{display:none}.ui-button,.ui-icon-button{border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface);color:var(--app-text);cursor:pointer;justify-content:center;align-items:center;font-weight:700;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.ui-button{gap:var(--space-2);min-height:38px;padding:9px 13px;font-size:13px}.ui-icon-button{width:36px;height:36px;padding:0}.ui-button-primary{border-color:var(--app-primary);background:var(--app-primary);color:#fff}.ui-button-secondary{border-color:var(--app-border-strong);background:var(--app-surface)}.ui-button-ghost{color:var(--app-text-secondary);background:0 0;border-color:#0000}.ui-button-danger{background:var(--app-danger-soft);color:#b91c1c;border-color:#fecaca}.ui-button:hover,.ui-icon-button:hover{background:var(--app-primary-soft);color:var(--app-primary-strong);border-color:#bfdbfe}.ui-button-primary:hover{border-color:var(--app-primary-strong);background:var(--app-primary-strong);color:#fff}.ui-card{border:1px solid var(--app-border);border-radius:var(--radius-lg);background:var(--app-surface);box-shadow:var(--shadow-subtle)}.ui-card-body{padding:var(--space-5)}.ui-badge{background:var(--app-surface-subtle);width:max-content;color:var(--app-text-secondary);white-space:nowrap;border-radius:999px;align-items:center;padding:4px 8px;font-size:12px;font-weight:700;display:inline-flex}.ui-badge-success{background:var(--app-success-soft);color:#15803d}.ui-badge-warning{background:var(--app-warning-soft);color:#a16207}.ui-badge-danger{background:var(--app-danger-soft);color:#b91c1c}.ui-badge-info{background:var(--app-info-soft);color:var(--app-primary-strong)}.app-tabs{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.app-tabs-compact{margin-bottom:var(--space-4)}.app-tab{align-items:center;gap:var(--space-2);border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface);min-height:38px;color:var(--app-text-secondary);padding:8px 12px;font-size:13px;font-weight:700;display:inline-flex}.app-tab.is-active{background:var(--app-primary-soft);color:var(--app-primary-strong);border-color:#bfdbfe}.app-filter-card{margin-bottom:var(--space-4)}.app-filter-form,.app-inline-form,.app-form-grid{gap:var(--space-2);display:grid}.app-filter-form-workers{grid-template-columns:minmax(0,1fr) auto auto;align-items:end}.app-filter-form-payroll{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end}.app-filter-form-hours{grid-template-columns:minmax(0,1fr) 180px auto;align-items:end}.app-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-assignment-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end}.app-field{color:var(--app-text-secondary);gap:5px;font-size:12px;font-weight:700;display:grid}.app-field input,.app-field select,.app-field textarea{border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface);width:100%;min-width:0;color:var(--app-text);font:var(--font-body);padding:10px 11px}.app-field textarea{resize:vertical}.app-split-grid{gap:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(300px,380px);align-items:start;display:grid}.app-stack,.app-list,.app-link-list{gap:var(--space-3);display:grid}.app-card-head,.app-row-card-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.app-card-head{margin-bottom:var(--space-4);align-items:center}.app-card-head h2,.app-modal-head h2{font:var(--font-section-title);margin:0;font-size:17px}.app-row-card{gap:var(--space-3);border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface);padding:var(--space-4);display:grid}.app-row-card-title-block{min-width:0}.app-row-card-title{color:var(--app-text);font-size:16px;font-weight:800}.app-muted,.app-empty{color:var(--app-text-secondary);font-size:13px}.app-row-actions,.app-status-actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.app-row-actions form{margin:0}.app-icon{width:17px;height:17px}.app-metrics-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(118px,1fr));display:grid}.app-metrics-grid-payroll{grid-template-columns:repeat(5,minmax(112px,1fr))}.app-metrics-grid-run{margin-bottom:var(--space-4)}.payroll-layout{max-width:100%}.payroll-list{gap:var(--space-3)}.payroll-live-summary{border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface-subtle);padding:var(--space-2) var(--space-3)}.payroll-worker-card{gap:var(--space-2);padding:var(--space-3)}.payroll-worker-head{align-items:flex-start}.payroll-worker-card .app-metric strong{font-size:15px}.app-payroll-official-grid{border-top:1px solid var(--app-border);padding-top:var(--space-2);align-items:end;gap:var(--space-2);grid-template-columns:minmax(130px,170px) minmax(130px,170px) minmax(140px,auto)}.payroll-worker-save{justify-content:end}.payroll-worker-save .btn,.payroll-worker-save button{width:auto;min-width:140px}.payroll-locked-note{border-top:1px solid var(--app-border);padding-top:var(--space-3);color:var(--app-text-muted);font-size:13px}.payroll-entry-modal{width:min(760px,100vw - 28px)}.executive-dashboard{gap:var(--space-4);display:grid}.exec-kpi-grid{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.exec-kpi-card,.exec-panel{border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface);min-width:0;box-shadow:var(--shadow-subtle)}.exec-kpi-card{min-height:104px;padding:var(--space-4);gap:4px;display:grid}.exec-kpi-label,.exec-kpi-card span,.exec-panel-head span,.exec-site-main span,.exec-site-side span,.exec-alert-row span,.exec-money-stack span,.exec-status-list span,.exec-attention-card span{color:var(--app-text-secondary);font-size:12px;font-weight:650}.exec-kpi-card strong{font-size:24px;line-height:1.15}.exec-kpi-card.is-danger strong,.exec-ranked-list .is-danger{color:var(--app-danger)}.exec-kpi-card.is-good strong,.exec-ranked-list .is-good{color:var(--app-success)}.exec-kpi-card.is-warning strong{color:var(--app-warning)}.exec-dashboard-grid{gap:var(--space-4);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.exec-panel{gap:var(--space-3);padding:var(--space-4);grid-column:span 2;display:grid}.exec-panel-wide{grid-column:span 4}.exec-panel-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.exec-panel-head h2{margin:0;font-size:16px;line-height:1.25}.exec-site-list,.exec-compact-list,.exec-ranked-list,.exec-money-stack{gap:var(--space-2);display:grid}.exec-site-row{align-items:center;gap:var(--space-3);border-top:1px solid var(--app-border);padding-top:var(--space-2);color:inherit;grid-template-columns:minmax(170px,1.4fr) minmax(120px,1fr) minmax(96px,auto);text-decoration:none;display:grid}a.exec-site-row:hover,a.exec-site-row:focus-visible{color:inherit;transform:translateY(-1px)}.exec-site-main,.exec-site-side,.exec-alert-row div{gap:2px;min-width:0;display:grid}.exec-site-main strong,.exec-alert-row strong,.exec-ranked-list span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.exec-site-side{text-align:right}.exec-bar{background:var(--app-surface-subtle);border-radius:999px;height:9px;overflow:hidden}.exec-bar span{border-radius:inherit;background:var(--app-primary);height:100%;display:block}.exec-bar.is-green span{background:var(--app-success)}.exec-donut-row{align-items:center;gap:var(--space-4);grid-template-columns:132px minmax(0,1fr);display:grid}.exec-donut{background:radial-gradient(circle at center, var(--app-surface) 0 52%, transparent 53%), conic-gradient(var(--app-primary) calc(var(--value) * 1%), #e5e7eb 0);text-align:center;border-radius:50%;place-items:center;width:124px;height:124px;display:grid}.exec-donut.is-housing{background:radial-gradient(circle at center, var(--app-surface) 0 52%, transparent 53%), conic-gradient(var(--app-success) calc(var(--value) * 1%), #e5e7eb 0)}.exec-donut strong,.exec-donut span{grid-area:1/1}.exec-donut strong{align-self:center;margin-top:-12px;font-size:22px}.exec-donut span{color:var(--app-text-secondary);align-self:center;margin-top:28px;font-size:11px;font-weight:700}.exec-status-list,.exec-two-metrics,.exec-control-grid{gap:var(--space-2);display:grid}.exec-status-list div,.exec-status-list a,.exec-money-stack div,.exec-ranked-list div,.exec-ranked-list a{justify-content:space-between;gap:var(--space-3);border-top:1px solid var(--app-border);padding-top:var(--space-2);color:inherit;text-decoration:none;display:flex}.exec-status-list a:hover,.exec-status-list a:focus-visible,.exec-ranked-list a:hover,.exec-ranked-list a:focus-visible{color:var(--app-primary)}.exec-two-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.exec-two-metrics div,.exec-control-grid div{border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface-subtle);min-height:76px;padding:12px}.exec-two-metrics strong,.exec-control-grid strong{font-size:22px;line-height:1.1;display:block}.exec-two-metrics span,.exec-control-grid span{color:var(--app-text-secondary);font-size:12px;font-weight:650}.exec-control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exec-control-grid .is-danger strong{color:var(--app-danger)}.exec-control-grid .is-warning strong{color:var(--app-warning)}.exec-control-grid .is-good strong{color:var(--app-success)}.exec-alert-row{align-items:center;gap:var(--space-3);border:1px solid var(--app-border);border-radius:var(--radius-md);color:inherit;grid-template-columns:minmax(0,1fr) auto;padding:9px 10px;text-decoration:none;display:grid}a.exec-alert-row:hover,a.exec-alert-row:focus-visible,a.exec-attention-card:hover,a.exec-attention-card:focus-visible{box-shadow:var(--shadow-subtle);color:inherit;transform:translateY(-1px)}.exec-alert-row.is-danger{background:var(--app-danger-soft);border-color:#fecaca}.exec-alert-row.is-warning{background:var(--app-warning-soft);border-color:#fed7aa}.exec-money-stack .is-danger strong{color:var(--app-danger)}.exec-money-stack .is-warning strong{color:var(--app-warning)}.exec-formwork-summary{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.exec-formwork-summary div{border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface-subtle);padding:12px}.exec-formwork-summary strong,.exec-formwork-row strong{line-height:1.15;display:block}.exec-formwork-summary span,.exec-formwork-row span{color:var(--app-text-secondary);font-size:12px;font-weight:650}.exec-formwork-list{gap:var(--space-2);display:grid}.exec-formwork-row{align-items:center;gap:var(--space-3);border-top:1px solid var(--app-border);color:inherit;padding-top:var(--space-2);grid-template-columns:minmax(180px,1.35fr) repeat(4,minmax(100px,1fr));text-decoration:none;display:grid}.exec-formwork-row>div{min-width:0}.exec-formwork-row>div:first-child strong,.exec-formwork-row>div:first-child span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.exec-formwork-row:hover,.exec-formwork-row:focus-visible{color:var(--app-primary)}.exec-attention-grid{gap:var(--space-2);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.exec-attention-card{border:1px solid var(--app-border);border-radius:var(--radius-md);color:inherit;padding:var(--space-3);gap:4px;text-decoration:none;display:grid}.exec-attention-card strong,.exec-attention-card b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.exec-attention-card.is-danger{background:var(--app-danger-soft);border-color:#fecaca}.exec-attention-card.is-warning{background:var(--app-warning-soft);border-color:#fed7aa}.app-metric{border-top:1px solid var(--app-border);min-width:0;padding-top:var(--space-1)}.app-metric strong{overflow-wrap:anywhere;color:var(--app-text);font-size:15px;display:block}.app-metric span{color:var(--app-text-muted);margin-top:2px;font-size:12px;display:block}.app-filter-link{justify-content:space-between;align-items:center;gap:var(--space-3);border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface);min-width:0;padding:11px 12px;font-size:13px;display:flex}.app-filter-link.is-active{background:var(--app-primary-soft);color:var(--app-primary-strong);border-color:#bfdbfe}.app-filter-link span{min-width:0}.app-filter-link small{color:var(--app-text-secondary);margin-top:2px;font-size:12px;font-weight:500;display:block}.app-table-toolbar{justify-content:space-between;align-items:end;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.app-table-toolbar-main,.app-table-toolbar-actions{align-items:end;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.app-table-toolbar-main{flex:420px}.app-search-field{flex:240px;min-width:180px}.app-table-wrap{border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface);overflow-x:auto}.app-table{border-collapse:collapse;width:100%;min-width:720px;font:var(--font-table)}.app-table th,.app-table td{border-bottom:1px solid var(--app-border);text-align:left;vertical-align:middle;padding:11px 12px}.app-table th{background:var(--app-surface-subtle);color:var(--app-text-secondary);letter-spacing:0;text-transform:uppercase;font-size:11px;font-weight:800}.app-table tbody tr{min-height:48px}.app-table tbody tr:hover{background:var(--app-surface-subtle)}.app-table tbody tr:last-child td{border-bottom:0}.app-table .is-numeric,.app-table th.is-numeric{text-align:right;font-variant-numeric:tabular-nums}.app-row-action-menu{display:inline-flex;position:relative}.app-row-action-menu summary{list-style:none}.app-row-action-menu summary::-webkit-details-marker{display:none}.app-pagination{justify-content:space-between;align-items:center;gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.app-empty-state{justify-items:center;gap:var(--space-2);border:1px dashed var(--app-border-strong);border-radius:var(--radius-md);background:var(--app-surface-subtle);padding:var(--space-6);color:var(--app-text-secondary);text-align:center;display:grid}.app-empty-state strong{color:var(--app-text);font-size:14px}.reports-page{gap:var(--space-4);display:grid}.reports-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.reports-note{margin-bottom:var(--space-4);text-align:left;justify-items:start}.reports-table{min-width:860px}.reports-table [hidden]{display:none!important}.report-summary-row{cursor:pointer;transition:background .16s,box-shadow .16s}.report-summary-row:hover,.report-summary-row:focus-visible{background:var(--app-surface-subtle);box-shadow:inset 3px 0 0 var(--app-accent)}.report-summary-row[aria-expanded=true]{box-shadow:inset 3px 0 0 var(--app-primary);background:#f8fbff}.report-row-worker{align-items:center;gap:8px;font-weight:750;display:inline-flex}.report-row-indicator{border:1px solid var(--app-border-strong);background:var(--app-surface);border-radius:999px;flex:none;width:18px;height:18px;position:relative}.report-row-indicator:before{content:"";border-right:2px solid var(--app-text-secondary);border-bottom:2px solid var(--app-text-secondary);width:5px;height:5px;transition:transform .16s,border-color .16s;position:absolute;top:5px;left:6px;transform:rotate(45deg)}.report-summary-row[aria-expanded=true] .report-row-indicator{border-color:var(--app-primary)}.report-summary-row[aria-expanded=true] .report-row-indicator:before{border-color:var(--app-primary);transform:translateY(2px)rotate(225deg)}.report-detail-row td{background:#fbfdff;padding:0 12px 14px}.report-breakdown{max-width:520px;color:var(--app-text-secondary);gap:6px;margin-left:26px;font-size:12px;display:grid}.report-breakdown-title{color:var(--app-text);font-size:13px;font-weight:800}.report-formula,.report-line{justify-content:space-between;gap:var(--space-2);border-radius:var(--radius-sm);background:var(--app-surface-subtle);padding:7px 9px;display:flex}.report-line.is-positive{color:#047857}.report-line.is-negative{color:#b91c1c}.report-line.is-total{color:var(--app-text);font-weight:800}.attendance-report-filter{grid-template-columns:minmax(150px,180px) minmax(180px,1fr) minmax(180px,1fr) auto}.payroll-report-filter{grid-template-columns:minmax(150px,180px) minmax(140px,1fr) minmax(140px,1fr) minmax(120px,auto) auto;align-items:end}.report-check{min-height:40px;color:var(--app-text);white-space:nowrap;align-items:center;gap:7px;font-size:13px;font-weight:650;display:inline-flex}.report-check input{flex:none;width:14px;height:14px;margin:0}.attendance-report-page>.ui-card,.attendance-report-page .ui-card-body{min-width:0}.attendance-report-legend{gap:var(--space-3);color:var(--app-text-secondary);flex-wrap:wrap;font-size:12px;display:flex}.attendance-report-legend span{align-items:center;gap:7px;display:inline-flex}.attendance-dot{border:1px solid var(--app-border-strong);background:var(--app-surface);border-radius:999px;width:10px;height:10px}.attendance-dot.is-weekend{background:#fff7ed;border-color:#fed7aa}.attendance-dot.is-holiday{background:#fef2f2;border-color:#fecaca}.attendance-dot.is-empty{background:var(--app-surface-subtle)}.attendance-grid-wrap{border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface);width:100%;min-width:0;max-width:100%;overflow:auto}.attendance-month-grid{grid-template-columns:minmax(190px, 240px) repeat(var(--attendance-days), 54px) 82px;min-width:max-content;display:grid}.attendance-cell{border-right:1px solid var(--app-border);border-bottom:1px solid var(--app-border);background:var(--app-surface);min-height:46px}.attendance-cell.is-weekend{background:#fffaf4}.attendance-cell.is-holiday{background:#fff5f5}.attendance-worker-heading,.attendance-total-heading,.attendance-day-heading{z-index:2;background:var(--app-surface-subtle);min-height:56px;color:var(--app-text-secondary);text-align:center;text-transform:uppercase;place-items:center;font-size:11px;font-weight:800;display:grid;position:sticky;top:0}.attendance-worker-heading,.attendance-worker-name{z-index:3;border-right-color:var(--app-border-strong);position:sticky;left:0}.attendance-worker-heading{padding:0 var(--space-3);justify-items:start}.attendance-worker-name{min-width:0;padding:var(--space-2) var(--space-3);align-content:center;gap:2px;display:grid;box-shadow:8px 0 16px #1118270a}.attendance-worker-name strong{color:var(--app-text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.attendance-worker-name span{color:var(--app-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.attendance-day-heading strong{color:var(--app-text);font-size:13px}.attendance-day-heading span{font-size:10px}.attendance-total-heading,.attendance-row-total{z-index:2;border-left:1px solid var(--app-border-strong);position:sticky;right:0}.attendance-row-total{background:var(--app-surface-subtle);font-variant-numeric:tabular-nums;place-items:center;font-size:12px;font-weight:800;display:grid}.attendance-day-cell{place-items:stretch stretch;display:grid}.attendance-hour-button,.attendance-hour-static{width:100%;min-height:45px;color:var(--app-text);font-variant-numeric:tabular-nums;background:0 0;border:0;place-items:center;font-size:12px;font-weight:800;display:grid}.attendance-hour-button{cursor:pointer;transition:background .14s,color .14s,box-shadow .14s}.attendance-hour-button:hover,.attendance-hour-button:focus-visible{background:var(--app-primary-soft);color:var(--app-primary-strong);outline:0;box-shadow:inset 0 0 0 2px #bfdbfe}.attendance-day-cell.is-empty .attendance-hour-button,.attendance-day-cell.is-empty .attendance-hour-static{color:#9ca3af;font-size:16px}.attendance-day-cell.is-aggregate .attendance-hour-button,.attendance-day-cell.is-aggregate .attendance-hour-static{box-shadow:inset 0 -3px #bfdbfe}.attendance-edit-modal textarea{resize:vertical}.app-segmented-control{gap:var(--space-2);margin-bottom:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.app-segmented-control button{border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface-subtle);color:var(--app-text-secondary);cursor:pointer;padding:10px 12px;font-weight:750}.app-segmented-control button.is-active{border-color:var(--app-primary);background:var(--app-primary);color:#fff}.app-pay-form[hidden]{display:none}.app-modal{border:1px solid var(--app-border);border-radius:var(--radius-md);width:min(560px,100vw - 28px);color:var(--app-text);padding:0;box-shadow:0 24px 70px #11182733}.app-modal::backdrop{background:#11182773}.app-modal-head{justify-content:space-between;align-items:center;gap:var(--space-4);border-bottom:1px solid var(--app-border);padding:var(--space-4) var(--space-5);display:flex}.app-modal-body{gap:var(--space-3);padding:var(--space-5);display:grid}.app-modal-actions,.app-form-footer{justify-content:flex-end;gap:var(--space-2);display:flex}.app-form-footer{margin-top:var(--space-4)}.hours-page{gap:var(--space-4);display:grid}.hours-summary{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.hours-summary .app-metric{border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface);padding:var(--space-3);box-shadow:var(--shadow-subtle)}.hours-grid{grid-template-columns:minmax(0,1fr) minmax(270px,340px)}.hours-list{gap:var(--space-3);display:grid}.hours-row{gap:var(--space-3);border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface);padding:var(--space-4);grid-template-columns:minmax(180px,1.25fr) 130px 180px minmax(150px,.95fr);align-items:end;display:grid}.hours-worker{align-content:start;gap:var(--space-1);min-width:0;display:grid}.hours-toggle{align-items:center;gap:var(--space-2);border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface-subtle);min-height:40px;color:var(--app-text);padding:9px 11px;font-size:13px;font-weight:750;display:flex}.hours-toggle input{width:auto}.hours-time-fields{gap:var(--space-2);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.hours-status-row{justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--app-border);padding-bottom:var(--space-2);color:var(--app-text-secondary);font-size:13px;display:flex}.hours-status-row:last-child{border-bottom:0;padding-bottom:0}.hours-status-row strong{color:var(--app-text);font-variant-numeric:tabular-nums}.invoice-page{gap:var(--space-4);display:grid}.invoice-panels{gap:var(--space-3);display:grid}.invoice-panel{display:none}.invoice-panel.is-open,.invoice-panel:target{display:block}.invoice-import-grid{gap:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.invoice-import-grid>form+form{border-left:1px solid var(--app-border);padding-left:var(--space-4)}.invoice-layout{gap:var(--space-4);min-height:360px;max-height:var(--invoice-workspace-height,calc(100vh - 260px));grid-template-columns:minmax(360px,440px) minmax(0,1fr);align-items:start;display:grid;overflow:hidden}.invoice-layout>*,.invoice-layout .ui-card,.invoice-layout .ui-card-body,.invoice-layout .app-stack>*,.invoice-layout form,.invoice-layout .invoice-form-section{min-width:0}.invoice-section-title,.invoice-detail-head h2,.invoice-form-section h3{color:var(--app-text);letter-spacing:0;margin:0}.invoice-section-title,.invoice-detail-head h2{font:var(--font-section-title);font-size:17px}.invoice-form-section{gap:var(--space-3);border-top:1px solid var(--app-border);padding-top:var(--space-3);display:grid}.invoice-form-section:first-child{border-top:0;padding-top:0}.invoice-form-section h3{font-size:13px;font-weight:800}.invoice-form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.invoice-form-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.invoice-note,.invoice-ksef-block{border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface-subtle);color:var(--app-text-secondary);padding:10px 12px;font-size:13px}.invoice-list-column{min-width:0}.invoice-list-column,.invoice-detail-column{max-height:inherit;overscroll-behavior:contain;scrollbar-gutter:stable;overflow-y:auto}.invoice-list-column>.ui-card{min-height:100%}.invoice-list{gap:var(--space-2);display:grid}.invoice-list-item{border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface);color:inherit;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:12px;text-decoration:none;display:grid}.invoice-list-item:hover,.invoice-list-item.is-selected{background:var(--app-primary-soft);border-color:#bfdbfe}.invoice-list-item-main,.invoice-list-item-side,.invoice-list-item-meta{min-width:0}.invoice-list-item-main,.invoice-list-item-side{gap:3px;display:grid}.invoice-list-item-main strong,.invoice-list-item-side strong{overflow-wrap:anywhere;color:var(--app-text);font-size:14px}.invoice-list-item-main span,.invoice-list-item-side span,.invoice-list-item-meta{color:var(--app-text-secondary);font-size:12px;line-height:1.3}.invoice-list-item-side{text-align:right}.invoice-list-item-meta{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:6px;display:flex}.invoice-table{table-layout:fixed;min-width:0}.invoice-lines-table{min-width:760px}.invoice-table th,.invoice-table td{overflow-wrap:anywhere}.invoice-table .ui-badge{white-space:normal;max-width:100%}.invoice-table tr.is-selected{background:var(--app-primary-soft)}.invoice-table tr[data-row-href]{cursor:pointer}.invoice-table tr[data-row-href]:hover{background:var(--app-primary-soft)}.invoice-number-link{color:var(--app-primary-strong);font-weight:800}.invoice-row-meta{color:var(--app-text-secondary);gap:2px;margin-top:2px;font-size:12px;line-height:1.25;display:grid}.invoice-detail-column{width:100%;min-width:0;position:static}.invoice-detail-column>.ui-card,.invoice-detail-column .ui-card-body{min-width:0}.invoice-detail-column .app-form-grid,.invoice-detail-column .invoice-form-grid-3,.invoice-detail-column .invoice-form-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-detail-column .invoice-lines-table{min-width:680px}.invoice-detail-head,.invoice-ksef-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.invoice-total-block{gap:var(--space-1);margin:var(--space-4) 0;border-radius:var(--radius-md);background:var(--app-primary-soft);padding:var(--space-4);display:grid}.invoice-total-block span,.invoice-ksef-head span,.invoice-definition-list span{color:var(--app-text-secondary);font-size:12px;font-weight:700}.invoice-total-block strong{color:var(--app-primary-strong);overflow-wrap:anywhere;font-size:24px;line-height:1.12}.invoice-summary-grid{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.invoice-ksef-block{gap:var(--space-2);margin-top:var(--space-4);display:grid}.invoice-ksef-reference{overflow-wrap:anywhere;color:var(--app-text);font-size:13px;font-weight:750}.invoice-definition-list{gap:var(--space-3);display:grid}.invoice-definition-list div{border-top:1px solid var(--app-border);padding-top:var(--space-2)}.invoice-definition-list div:first-child{border-top:0;padding-top:0}.invoice-definition-list strong{overflow-wrap:anywhere;color:var(--app-text);margin-top:2px;font-size:13px;display:block}.invoice-counterparty-inline{margin-top:var(--space-4);border-top:1px solid var(--app-border);padding-top:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr))}.invoice-counterparty-inline div{border-top:0;padding-top:0}.invoice-lines-table input,.invoice-lines-table select{border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface);width:100%;min-width:0;color:var(--app-text);font:var(--font-body);padding:8px 9px;font-size:13px}.invoice-allocation-form{margin-top:var(--space-4)}.module-page{gap:var(--space-4);min-width:0;display:grid}.module-page h1,.module-page h2,.module-page h3{color:var(--app-text);letter-spacing:0;margin:0}.module-page h2{font:var(--font-section-title);font-size:17px}.module-page h3{font-size:14px}.module-page .subtitle,.module-page .muted{color:var(--app-text-secondary);font-size:13px;line-height:1.4}.module-page .panel,.module-page .card,.module-page .resource-card,.module-page .hr-card,.module-page .access-row,.module-page .dictionary-node,.module-page .item-row,.module-page .add-drawer,.module-page .action-drawer,.module-page .access-mode{border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface);min-width:0;box-shadow:var(--shadow-subtle)}.module-page .panel,.module-page .access-mode{padding:var(--space-5)}.module-page .panel-head,.module-page .row,.module-page .access-summary,.module-page .item-summary,.module-page .dictionary-summary,.module-page .resource-link,.module-page .history-date{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.module-page .panel-head{margin-bottom:var(--space-4)}.module-page .grid{gap:var(--space-4);grid-template-columns:minmax(320px,420px) minmax(0,1fr);align-items:start;display:grid}.resources-page .grid,.access-page .grid,.hr-card-page .grid{grid-template-columns:minmax(0,1fr) minmax(280px,360px)}.resources-page.has-resident-detail .grid{grid-template-columns:minmax(300px,.9fr) minmax(440px,1.1fr)}.module-page .stack,.module-page .list,.module-page .checks,.module-page .forms,.module-page .resource-list,.module-page .resource-residents,.module-page .history-list,.module-page .role-grid,.module-page .attention-list,.module-page .kv,.module-page form{gap:var(--space-3);display:grid}.module-page .card,.module-page .resource-card,.module-page .hr-card{gap:var(--space-3);padding:var(--space-4);display:grid}.module-page .card.active,.module-page .resource-card.active,.module-page .dictionary-node.active{background:var(--app-primary-soft);box-shadow:inset 3px 0 0 var(--app-primary), var(--shadow-subtle);border-color:#bfdbfe}.module-page .title,.module-page .history-target{min-width:0;color:var(--app-text);overflow-wrap:anywhere;font-size:15px;font-weight:800}.module-page .badge,.module-page .tab-count,.module-page .tree-count,.module-page .group-count,.module-page .chip,.module-page .tag{background:var(--app-surface-subtle);width:max-content;max-width:100%;color:var(--app-text-secondary);white-space:nowrap;border-radius:999px;align-items:center;padding:4px 8px;font-size:12px;font-weight:750;display:inline-flex}.module-page .badge,.module-page .tab-count,.module-page .tree-count,.module-page .group-count{background:var(--app-primary-soft);color:var(--app-primary-strong)}.module-page .badge.warn{background:var(--app-warning-soft);color:#a16207}.module-page .badge.danger,.module-page .attention-item{background:var(--app-danger-soft);color:#b91c1c}.module-page .site-tags,.module-page .chips,.module-page .actions,.module-page .summary-meta,.module-page .inline-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.module-page .actions,.module-page .summary-meta{justify-content:flex-end}.module-page .btn,.module-page button,.module-page .summary-action,.module-page .ghost{justify-content:center;align-items:center;gap:var(--space-2);border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface);min-height:38px;color:var(--app-text);white-space:nowrap;cursor:pointer;padding:9px 13px;font-size:13px;font-weight:700;display:inline-flex}.module-page .primary,.module-page button.primary,.module-page .btn.primary{border-color:var(--app-primary);background:var(--app-primary);color:#fff}.module-page button:disabled,.module-page .primary:disabled,.module-page button.primary:disabled{border-color:var(--app-border);background:var(--app-surface-subtle);color:var(--app-text-muted);cursor:not-allowed;opacity:.72}.module-page .danger-soft{background:var(--app-danger-soft);color:#b91c1c;border-color:#fecaca}.module-page .ghost,.module-page .summary-action{background:var(--app-primary-soft);color:var(--app-primary-strong);border-color:#bfdbfe}.module-page label{min-width:0;color:var(--app-text-secondary);gap:5px;font-size:12px;font-weight:700;display:grid}.module-page input,.module-page select,.module-page textarea{border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface);width:100%;min-width:0;color:var(--app-text);font:var(--font-body);padding:10px 11px}.module-page textarea{resize:vertical}.module-page .check,.module-page .toggle-row{align-items:flex-start;gap:var(--space-2);color:var(--app-text);font-size:13px;font-weight:700;display:flex}.module-page :is(.check,.toggle-row) input,.module-page input[type=checkbox]{width:auto;min-width:auto}.module-page .numbers,.module-page .stat-row,.module-page .stats{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(118px,1fr));display:grid}.module-page .number,.module-page .kv-row,.module-page .mini-row,.module-page .history-item,.module-page .stat{border-top:1px solid var(--app-border);min-width:0;padding-top:var(--space-2)}.module-page .stat{border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface);padding:var(--space-3)}.module-page .stat strong{margin-top:var(--space-1);color:var(--app-text);font-size:22px;line-height:1;display:block}.module-page .stat.ok{background:var(--app-success-soft);border-color:#bbf7d0}.module-page .stat.danger{background:var(--app-danger-soft);border-color:#fecaca}.module-page :is(.number,.kv-row,.mini-row,.history-item):first-child{border-top:0;padding-top:0}.module-page .number strong,.module-page .kv-row strong{color:var(--app-text);overflow-wrap:anywhere;font-size:13px;display:block}.module-page .number span,.module-page .kv-row span{color:var(--app-text-muted);font-size:12px;display:block}.module-page .tabs,.resources-page .resource-menu{gap:var(--space-2);flex-wrap:wrap;display:flex}.module-page .tab,.resources-page .resource-link{border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface);min-height:38px;color:var(--app-text-secondary);align-items:center;padding:8px 12px;font-size:13px;font-weight:700}.module-page .tab.active,.resources-page .resource-link.active{background:var(--app-primary-soft);color:var(--app-primary-strong);border-color:#bfdbfe}.resources-page .resource-layout{gap:var(--space-4);grid-template-columns:240px minmax(0,1fr);align-items:start;display:grid}.dictionaries-page .dictionary-workspace{gap:var(--space-4);grid-template-columns:minmax(340px,400px) minmax(0,1fr);align-items:start;display:grid}.resources-page .resource-menu,.resources-page .resource-detail{top:calc(var(--app-topbar-height) + var(--space-6));position:sticky}.resources-page .resource-menu{align-content:start;display:grid}.resources-page .filters,.resources-page .assign-form,.access-page .form-row,.hr-card-page .form-row,.resources-page .form-row,.dictionaries-page .item-edit-grid,.dictionaries-page .drawer-form,.dictionaries-page .drawer-form [data-dictionary-meta-fields]{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.resources-page .filters{grid-template-columns:minmax(0,1fr) minmax(0,220px) auto;align-items:end}.resources-page .assign-form,.resources-page .resident-actions,.dictionaries-page .drawer-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end}.resources-page .resident-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.resources-page .resident-actions select{grid-column:1/-1}.resources-page .resident-actions button{white-space:nowrap;grid-column:1/-1}.resources-page .resident-row{gap:var(--space-3);border:1px solid var(--app-border);border-radius:var(--radius-md);padding:var(--space-3);display:grid}.resources-page .resident-actions{gap:var(--space-2);min-width:0;display:grid}.resources-page .resident-actions-release{grid-template-columns:minmax(0,1fr) auto}.module-page details>summary{cursor:pointer;list-style:none}.module-page details>summary::-webkit-details-marker{display:none}.module-page .create-drawer,.module-page .action-drawer,.module-page .access-row,.module-page .item-row{overflow:hidden}.module-page .create-drawer summary,.module-page .action-drawer>summary,.module-page .access-summary,.module-page .item-summary{padding:var(--space-4)}.module-page .edit-box,.module-page .access-edit,.module-page .drawer-body,.module-page .item-edit,.module-page .inline-edit{border-top:1px solid var(--app-border);background:var(--app-surface-subtle);padding:var(--space-4)}.access-page .identity{align-items:center;gap:var(--space-3);min-width:0;display:flex}.access-page .avatar{border-radius:var(--radius-md);background:var(--app-primary-soft);width:34px;height:34px;color:var(--app-primary-strong);flex:0 0 34px;place-items:center;font-weight:900;display:grid}.access-page .identity-text{gap:2px;min-width:0;display:grid}.access-page .identity strong,.access-page .identity .muted{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.access-page .check-list{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.access-page .check-group,.access-page .permission-details{border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface);overflow:hidden}.access-page .check-group>summary,.access-page .permission-details>summary{padding:10px 12px;font-size:13px;font-weight:800}.access-page .check-group .check-list,.access-page .permission-details .checks,.access-page .permission-details>.chips{padding:var(--space-3)}.access-page .helper,.access-page .field-note{color:var(--app-text-secondary);font-size:12px;line-height:1.35}.module-page .modal,.module-page .access-modal{border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface);width:min(760px,100vw - 28px);max-height:calc(100vh - 28px);color:var(--app-text);padding:0;box-shadow:0 24px 70px #11182733}.module-page .modal::backdrop,.module-page .access-modal::backdrop{background:#11182773}.module-page .modal-head,.module-page .modal-body,.module-page .modal-actions,.module-page .modal-shell{min-width:0}.module-page .modal-head{justify-content:space-between;align-items:center;gap:var(--space-4);border-bottom:1px solid var(--app-border);padding:var(--space-4) var(--space-5);display:flex}.module-page .modal-body{gap:var(--space-3);max-height:calc(100vh - 120px);padding:var(--space-5);display:grid;overflow:auto}.module-page .modal-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.module-page .modal-close,.module-page .icon-btn,.module-page .icon-action{border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface);width:34px;height:34px;color:var(--app-text-secondary);place-items:center;padding:0;display:inline-grid}.dictionaries-page{min-height:0}.dictionaries-page .dictionary-workspace{align-items:stretch;height:calc(100vh - 180px);min-height:460px}.dictionaries-page .dictionary-tree-panel,.dictionaries-page .work-panel{background:#fbfcfe;border-color:#dbe2ea;min-height:0;overflow:hidden}.dictionaries-page .dictionary-tree-panel{padding:var(--space-4);flex-direction:column;display:flex}.dictionaries-page .toolbar{margin-bottom:var(--space-3);flex:none}.dictionaries-page .tree-scroll,.dictionaries-page .work-panel{overscroll-behavior:contain;scrollbar-gutter:stable;overflow-y:auto}.dictionaries-page .tree-scroll{min-height:0;padding-right:var(--space-1)}.dictionaries-page .dictionary-list,.dictionaries-page .items,.dictionaries-page .tree-preview,.dictionaries-page .tree-nav,.dictionaries-page .tree-branch{gap:var(--space-2);display:grid}.dictionaries-page :is(.tree-preview,.tree-nav,.tree-branch){margin:0;padding:0;list-style:none}.dictionaries-page .tree-nav{padding:var(--space-2) 0 0}.dictionaries-page .tree-branch{margin:var(--space-2) 0 0 16px;padding-left:var(--space-2);border-left:1px solid #cbd5e1;position:relative}.dictionaries-page .tree-summary,.dictionaries-page .tree-leaf,.dictionaries-page .tree-link{align-items:center}.dictionaries-page .dictionary-summary{gap:var(--space-2);border-radius:var(--radius-md);grid-template-columns:18px minmax(0,1fr) auto 32px 32px;align-items:center;min-height:44px;padding:6px 8px;display:grid}.dictionaries-page .dictionary-group .dictionary-summary{grid-template-columns:18px minmax(0,1fr) auto 32px 32px}.dictionaries-page .tree-summary,.dictionaries-page .tree-leaf{gap:var(--space-2);border-radius:var(--radius-md);grid-template-columns:18px minmax(0,1fr) 32px 32px;min-height:38px;padding:3px 5px;display:grid}.dictionaries-page .tree-leaf:before{content:"";background:#cbd5e1;border-radius:999px;justify-self:center;width:6px;height:6px}.dictionaries-page .tree-link{justify-content:space-between;gap:var(--space-2);border-radius:var(--radius-md);min-width:0;color:var(--app-text-secondary);padding:7px 8px;font-size:13px;font-weight:650;display:flex}.dictionaries-page .dictionary-summary:hover,.dictionaries-page .tree-summary:hover,.dictionaries-page .tree-leaf:hover{background:var(--app-surface)}.dictionaries-page .tree-link.active,.dictionaries-page .tree-link:hover{background:var(--app-primary-soft);color:var(--app-primary-strong)}.dictionaries-page .dictionary-link,.dictionaries-page .tree-link span:first-child,.dictionaries-page .tree-preview li{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.dictionaries-page .dictionary-link{color:var(--app-text);font-size:14px;font-weight:780}.dictionaries-page .disclosure-icon{width:18px;height:18px;color:var(--app-text-muted);border-radius:999px;place-items:center;font-size:10px;transition:transform .16s,background .16s,color .16s;display:grid}.dictionaries-page details[open]>summary>.disclosure-icon{background:var(--app-primary-soft);color:var(--app-primary-strong);transform:rotate(180deg)}.dictionaries-page .dictionary-node{box-shadow:none;border-color:#e2e8f0;overflow:hidden}.dictionaries-page .dictionary-node.active{box-shadow:inset 3px 0 0 var(--app-primary), var(--shadow-subtle);background:#f8fbff;border-color:#bfdbfe}.dictionaries-page .dictionary-node.nested{background:var(--app-surface)}.dictionaries-page .dictionary-node>.tree-nav,.dictionaries-page .dictionary-group-list{padding:var(--space-2);background:#f8fafc;border-top:1px solid #e2e8f0}.dictionaries-page .dictionary-group-list{gap:var(--space-2);display:grid}.dictionaries-page .dictionary-node .badge,.dictionaries-page .tree-count{flex:none}.dictionaries-page .dictionary-summary .icon-action,.dictionaries-page .tree-summary .icon-action,.dictionaries-page .tree-leaf .icon-action{color:#64748b;border-color:#dbe2ea;width:32px;height:32px}.dictionaries-page .icon-action.danger{color:#b91c1c}.dictionaries-page .inline-edit,.dictionaries-page .item-edit{background:#f8fafc;border-color:#dbe2ea}.dictionaries-page .work-panel{padding:var(--space-5);background:var(--app-surface)}.dictionaries-page .work-panel .panel-head{margin-bottom:var(--space-3);border-bottom:1px solid var(--app-border);padding-bottom:var(--space-4)}.dictionaries-page .panel-title{gap:var(--space-1);min-width:0;display:grid}.dictionaries-page .panel-title h2{overflow-wrap:anywhere}.dictionaries-page .context-line{gap:var(--space-2);color:var(--app-text-secondary);flex-wrap:wrap;align-items:center;font-size:13px;display:flex}.dictionaries-page .context-dot{background:var(--app-border-strong);border-radius:999px;width:4px;height:4px}.dictionaries-page .create-actions{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.dictionaries-page .add-drawer{background:var(--app-surface);overflow:visible}.dictionaries-page .add-drawer>summary{padding:0}.dictionaries-page .add-drawer[open]{box-shadow:var(--shadow-subtle);border-color:#bfdbfe;flex-basis:100%;overflow:hidden}.dictionaries-page .add-drawer[open]>summary{border-bottom:1px solid var(--app-border);background:var(--app-primary-soft);padding:var(--space-3)}.dictionaries-page .add-drawer[open] .drawer-button{width:auto}.dictionaries-page .drawer-form{padding:var(--space-4)}.dictionaries-page .items{gap:var(--space-3)}.dictionaries-page .item-row{background:var(--app-surface);box-shadow:none;border-color:#dbe2ea}.dictionaries-page .item-row.child{margin:0 var(--space-3) var(--space-3);background:#fbfcfe;border-left:3px solid #bfdbfe}.dictionaries-page .item-summary{gap:var(--space-3);padding:var(--space-4);grid-template-columns:minmax(0,1fr) auto 32px 32px;align-items:center;display:grid}.dictionaries-page .item-name{min-width:0;color:var(--app-text);overflow-wrap:anywhere;font-size:14px;font-weight:780}.dictionaries-page .language-fields{gap:var(--space-2);min-width:0;display:grid}.dictionaries-page .drawer-form .language-fields,.dictionaries-page .item-edit-grid .language-fields,.dictionaries-page .drawer-form [data-dictionary-meta-fields]{grid-column:1/-1}.dictionaries-page .language-field{gap:var(--space-2);grid-template-columns:42px minmax(0,1fr);align-items:center;display:grid}.dictionaries-page .language-code{border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-primary-soft);color:var(--app-primary-strong);text-align:center;padding:10px 0;font-size:11px;font-weight:900}.dictionaries-page .empty-workspace,.resources-page .empty-detail{border:1px dashed var(--app-border-strong);border-radius:var(--radius-md);background:var(--app-surface-subtle);min-height:180px;color:var(--app-text-secondary);text-align:center;place-items:center;display:grid}.hr-card-page .form-section{gap:var(--space-3);border-top:1px solid var(--app-border);padding-top:var(--space-4);display:grid}.hr-card-page .form-section:first-child{border-top:0;padding-top:0}.hr-folder-tabs{margin:calc(var(--space-5) * -1) calc(var(--space-5) * -1) var(--space-5);padding:var(--space-3) var(--space-4) 0;border-bottom:1px solid var(--app-border);background:var(--app-surface-subtle);flex-wrap:wrap;align-items:flex-end;gap:0;display:flex}.hr-folder-tab{border:1px solid var(--app-border);border-radius:var(--radius-md) var(--radius-md) 0 0;min-height:42px;color:var(--app-text-secondary);background:#eef2f7;margin:0 -1px -1px 0;padding:10px 14px;font-size:13px;font-weight:800;position:relative}.hr-folder-tab.is-active{z-index:1;border-bottom-color:var(--app-surface);background:var(--app-surface);color:var(--app-primary-strong)}.hr-tab-panel{min-width:0}.hr-tab-panel[hidden]{display:none}.hr-generator-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.hr-generator-card{gap:var(--space-3);border:1px dashed var(--app-border-strong);border-radius:var(--radius-md);background:var(--app-surface-subtle);padding:var(--space-4);display:grid}.hr-generator-preview{gap:var(--space-2);border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface);padding:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.hr-generator-preview>div{gap:2px;min-width:0;display:grid}.hr-generator-preview strong{overflow-wrap:anywhere}.hr-generator-missing{border-radius:var(--radius-md);background:var(--app-danger-soft);color:#b91c1c;padding:var(--space-3);border:1px solid #fecaca;gap:2px;font-size:13px;font-weight:750;display:grid}.hr-generator-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.hr-floating-save{z-index:30;border:1px solid var(--app-primary);background:var(--app-primary);color:#fff;cursor:pointer;border-radius:999px;place-items:center;width:52px;height:52px;display:inline-grid;position:fixed;bottom:26px;right:26px;box-shadow:0 18px 42px #1d4ed852}.hr-floating-save:hover{background:var(--app-primary-strong)}.hr-floating-save svg{width:24px;height:24px}.hr-document-slot{gap:var(--space-3);border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface-subtle);padding:var(--space-3);display:grid}.hr-document-slot.is-warning{background:var(--app-warning-soft);border-color:#fde68a}.hr-document-slot.is-expired{background:var(--app-danger-soft);border-color:#fecaca}.hr-document-head,.hr-document-actions,.hr-document-history-row{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.hr-document-head strong{display:block}.hr-document-eyebrow{color:var(--app-text-muted);text-transform:uppercase;font-size:11px;font-weight:800;display:block}.hr-document-current{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.hr-document-current>div{border:1px solid var(--app-border);border-radius:var(--radius-sm);background:var(--app-surface);gap:2px;min-width:0;padding:8px 10px;display:grid}.hr-document-current strong,.hr-document-history-row strong{overflow-wrap:anywhere;min-width:0}.hr-document-alert{border-radius:var(--radius-sm);color:#b45309;border:1px solid;padding:8px 10px;font-size:12px;font-weight:800}.hr-document-slot.is-expired .hr-document-alert{color:#b91c1c}.hr-document-actions{justify-content:flex-start}.hr-document-actions button,.hr-document-history-row button,.primary-soft{border-radius:var(--radius-md);background:var(--app-primary-soft);color:var(--app-primary-strong);cursor:pointer;border:1px solid #bfdbfe;padding:8px 10px;font-size:12px;font-weight:800}.hr-document-history{border-top:1px solid var(--app-border);padding-top:var(--space-2)}.hr-document-history summary{color:var(--app-text-secondary);cursor:pointer;font-size:12px;font-weight:800}.hr-document-history-list{gap:var(--space-2);margin-top:var(--space-2);display:grid}.hr-document-history-row{border:1px solid var(--app-border);border-radius:var(--radius-sm);background:var(--app-surface);align-items:flex-start;padding:8px 10px}.hr-document-history-row>div{gap:2px;display:grid}.hr-document-viewer{width:min(960px,100vw - 28px)}.hr-document-pages{gap:var(--space-4);display:grid}.hr-document-page{gap:var(--space-2);margin:0;display:grid}.hr-document-page img,.hr-document-page iframe{border:1px solid var(--app-border);border-radius:var(--radius-md);object-fit:contain;background:#fff;width:100%;min-height:420px}.hr-document-page img{height:auto;max-height:72vh}.hr-document-page figcaption{color:var(--app-text-secondary);font-size:12px;font-weight:700}.auth-body{background:var(--app-bg);min-height:100vh;color:var(--app-text);font:var(--font-body);padding:var(--space-6);place-items:center;margin:0;display:grid}.auth-card{gap:var(--space-5);border:1px solid var(--app-border);border-radius:var(--radius-lg);background:var(--app-surface);width:min(440px,100%);padding:var(--space-6);display:grid;box-shadow:0 24px 70px #1118271a}.auth-head,.auth-brand,.auth-locale,.auth-check,.auth-chips{align-items:center;gap:var(--space-2);display:flex}.auth-head{justify-content:space-between}.auth-brand{font-size:17px;font-weight:850}.auth-brand-mark{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--app-primary), #0f766e);color:#fff;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.auth-title{color:var(--app-text);font:var(--font-section-title);letter-spacing:0;margin:0;font-size:24px}.auth-muted{margin-top:var(--space-2);color:var(--app-text-secondary);font-size:13px;line-height:1.45}.auth-locale{border:1px solid var(--app-border);border-radius:var(--radius-md);overflow:hidden}.auth-locale form{margin:0}.auth-locale form+form{border-left:1px solid var(--app-border)}.auth-locale button{min-height:30px;color:var(--app-text-secondary);cursor:pointer;background:0 0;border:0;padding:6px 10px;font-size:11px;font-weight:750}.auth-locale button.is-active{background:var(--app-primary-soft);color:var(--app-primary-strong)}.auth-form,.auth-roles{gap:var(--space-3);display:grid}.auth-field{color:var(--app-text-secondary);gap:5px;font-size:12px;font-weight:700;display:grid}.auth-field input{border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface);width:100%;min-width:0;color:var(--app-text);font:var(--font-body);padding:10px 11px}.auth-check{color:var(--app-text-secondary);font-size:13px;font-weight:700}.auth-submit{border:1px solid var(--app-primary);border-radius:var(--radius-md);background:var(--app-primary);color:#fff;cursor:pointer;justify-content:center;align-items:center;min-height:40px;padding:10px 13px;font-size:13px;font-weight:800;display:inline-flex}.auth-error{border-radius:var(--radius-md);background:var(--app-danger-soft);color:#991b1b;border:1px solid #fecaca;padding:10px 12px;font-size:13px;font-weight:650}.auth-roles{border-top:1px solid var(--app-border);padding-top:var(--space-4)}.auth-chips{flex-wrap:wrap}.auth-chip{border:1px solid var(--app-border);background:var(--app-surface-subtle);color:var(--app-text-secondary);border-radius:999px;padding:6px 9px;font-size:12px;font-weight:750}@media (width<=1180px){.module-page .grid,.resources-page .resource-layout,.resources-page .grid,.access-page .grid,.hr-card-page .grid,.dictionaries-page .dictionary-workspace{grid-template-columns:1fr}.resources-page .resource-menu,.resources-page .resource-detail{position:static}.dictionaries-page .dictionary-workspace{height:auto;min-height:0}.dictionaries-page .dictionary-tree-panel,.dictionaries-page .work-panel,.dictionaries-page .tree-scroll{overflow:visible}}@media (width<=1240px){.resources-page.has-resident-detail .resource-layout,.resources-page.has-resident-detail .grid{grid-template-columns:1fr}.resources-page.has-resident-detail .resource-menu,.resources-page.has-resident-detail .resource-detail{position:static}}@media (width<=760px){.app-content{padding:var(--space-4)}.app-page-header{gap:var(--space-3);display:grid}.app-page-actions,.module-page .actions,.module-page .summary-meta,.module-page .row,.module-page .panel-head{justify-content:stretch}.app-page-actions>*,.module-page .btn,.module-page button,.module-page .actions>*,.module-page .actions form,.module-page .actions a,.module-page .summary-action,.module-page .ghost{width:100%}.module-page .row,.module-page .panel-head,.module-page .access-summary,.module-page .item-summary,.resources-page .filters,.resources-page .assign-form,.resources-page .resident-actions,.resources-page .resident-actions-release,.access-page .form-row,.access-page .check-list,.hr-card-page .form-row,.resources-page .form-row,.dictionaries-page .item-edit-grid,.dictionaries-page .drawer-form,.dictionaries-page .drawer-form [data-dictionary-meta-fields]{grid-template-columns:1fr;display:grid}.resources-page .resource-menu,.module-page .tabs{flex-wrap:nowrap;padding-bottom:2px;display:flex;overflow-x:auto}.resources-page .resource-link,.module-page .tab{flex:none}.resources-page .resident-row{overflow:hidden}.resources-page .resident-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.resources-page .resident-actions select,.resources-page .resident-actions button{grid-column:1/-1}.resources-page .resident-actions button{width:100%;min-width:0}.resources-page .resident-actions-release{grid-template-columns:minmax(0,1fr) minmax(128px,auto)}.resources-page .resident-actions-release button{grid-column:auto}.module-page .panel,.module-page .access-mode{padding:var(--space-4)}.dictionaries-page .dictionary-summary,.dictionaries-page .tree-summary,.dictionaries-page .tree-leaf{grid-template-columns:18px minmax(0,1fr) 32px 32px}.dictionaries-page .dictionary-summary{grid-template-columns:18px minmax(0,1fr) auto 32px 32px}.dictionaries-page .item-summary{grid-template-columns:minmax(0,1fr) auto 32px 32px}.dictionaries-page .item-summary>.muted{justify-self:end}.auth-body{padding:var(--space-4);align-items:start}.auth-card{padding:var(--space-5)}}.dashboard-page{gap:var(--space-4);display:grid}.dashboard-page .topbar{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.dashboard-page h1,.dashboard-page h2,.dashboard-page h3{color:var(--app-text);letter-spacing:0;margin:0}.dashboard-page h1{font:var(--font-page-title)}.dashboard-page h2{font:var(--font-section-title);font-size:17px}.dashboard-page h3{font-size:14px}.dashboard-page .subtitle,.dashboard-page .muted{color:var(--app-text-secondary);font-size:13px}.dashboard-page .subtitle{margin-top:var(--space-2)}.dashboard-page .actions{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.dashboard-page .stage-inline-action{border:1px solid var(--app-border);border-radius:var(--radius-sm);background:var(--app-surface);color:var(--app-text);padding:6px 10px;font-size:12px;font-weight:800}.dashboard-page .stage-inline-action:hover,.dashboard-page .stage-inline-action:focus-visible{border-color:var(--app-primary)}@supports (color:color-mix(in lab, red, red)){.dashboard-page .stage-inline-action:hover,.dashboard-page .stage-inline-action:focus-visible{border-color:color-mix(in srgb, var(--app-primary) 35%, var(--app-border))}}.dashboard-page .stage-inline-action:hover,.dashboard-page .stage-inline-action:focus-visible{color:var(--app-primary)}.dashboard-page .invoice-protocol-checks{margin-top:var(--space-2);gap:8px;display:grid}.dashboard-page .checkbox-row{color:var(--app-text);align-items:flex-start;gap:10px;font-size:13px;font-weight:700;display:flex}.dashboard-page .checkbox-row input{flex:0 0 16px;width:16px;height:16px;margin-top:2px}.app-page-actions .action-icon,.dashboard-page .action-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;flex:0 0 16px;width:16px;height:16px}.dashboard-action-menu,.dashboard-page .action-menu{position:relative}.dashboard-action-menu summary,.dashboard-page .action-menu summary{-webkit-user-select:none;user-select:none;list-style:none}.dashboard-action-menu summary::-webkit-details-marker{display:none}.dashboard-page .action-menu summary::-webkit-details-marker{display:none}.dashboard-action-menu .action-menu-list,.dashboard-page .action-menu-list{z-index:4;gap:var(--space-2);border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface);width:230px;padding:var(--space-2);display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 42px #11182724}.dashboard-action-menu .action-menu-list button,.dashboard-action-menu .action-menu-list .btn,.dashboard-page .action-menu-list button,.dashboard-page .action-menu-list .btn{justify-content:flex-start;width:100%}.dashboard-action-menu .action-menu-list button,.dashboard-page .btn,.dashboard-page button{border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface);min-height:38px;color:var(--app-text);white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:7px;padding:9px 13px;font-size:13px;font-weight:700;display:inline-flex}.dashboard-page .btn.primary,.dashboard-page button.primary{border-color:var(--app-primary);background:var(--app-primary);color:#fff}.dashboard-page .metrics{gap:var(--space-3);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.dashboard-page .metric,.dashboard-page .panel,.dashboard-page .site-card{border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface);box-shadow:var(--shadow-subtle)}.dashboard-page .metric{align-content:start;gap:7px;min-width:0;min-height:116px;padding:13px 14px;display:grid}.dashboard-page .metric-head{align-items:center;gap:8px;min-width:0;display:flex}.dashboard-page .metric-icon{border-radius:var(--radius-md);background:var(--app-primary-soft);width:28px;height:28px;color:var(--app-primary-strong);flex:0 0 28px;place-items:center;display:grid}.dashboard-page .label{color:var(--app-text-secondary);letter-spacing:0;text-transform:uppercase;font-size:11px;font-weight:700}.dashboard-page .value{color:var(--app-text);overflow-wrap:anywhere;font-size:18px;font-weight:800;line-height:1.18}.dashboard-page .metric-context{color:var(--app-text-muted);font-size:12px;line-height:1.35}.dashboard-page .metric.is-danger{background:linear-gradient(180deg, #fef2f2f2, var(--app-surface));border-color:#dc262659}.dashboard-page .metric.is-danger .metric-icon{background:var(--app-danger-soft);color:#b91c1c}.dashboard-page .metric.is-danger .value,.dashboard-page .metric.is-danger .metric-context{color:#b91c1c}.dashboard-page .metric.is-success{background:linear-gradient(180deg, #f0fdf4f2, var(--app-surface));border-color:#16a34a4d}.dashboard-page .metric.is-success .metric-icon{background:var(--app-success-soft);color:#15803d}.dashboard-page .metric.is-success .value,.dashboard-page .metric.is-success .metric-context{color:#15803d}.dashboard-page .metric-bar{background:#94a3b838;border-radius:999px;width:100%;height:7px;overflow:hidden}.dashboard-page .metric-bar>div{width:var(--w);border-radius:inherit;background:currentColor;height:100%}.dashboard-page .grid{gap:var(--space-4);grid-template-columns:minmax(0,7.3fr) minmax(260px,2.7fr);align-items:start;display:grid}.dashboard-page.is-detail-view .dashboard-overview-grid{grid-template-columns:minmax(0,1fr)}.dashboard-page .panel{min-width:0;padding:var(--space-5)}.dashboard-page .panel-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.dashboard-page .site-list,.dashboard-page .stack,.dashboard-page .mini-list,.dashboard-page .cost-items,.dashboard-page .formwork-items,.dashboard-page .formwork-stock,.dashboard-page .formwork-ledger,.dashboard-page .stage-items,.dashboard-page .stage-indicators,.dashboard-page .timeline-list{gap:var(--space-3);display:grid}.dashboard-page .creation-flow{gap:var(--space-2);border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface-subtle);padding:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.dashboard-page .creation-flow.compact{margin-bottom:var(--space-1)}.dashboard-page .creation-flow-hint{color:var(--app-text-muted);margin:-4px 0 0;font-size:13px;line-height:1.45}.dashboard-page .creation-step{gap:var(--space-2);border-radius:var(--radius-sm);min-width:0;color:var(--app-text-muted);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;padding:8px 10px;font-size:12px;font-weight:800;display:flex}.dashboard-page .creation-step strong{background:var(--app-surface);width:22px;height:22px;color:var(--app-text-secondary);border-radius:999px;flex:none;place-items:center;font-size:11px;display:grid}.dashboard-page .creation-step span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-page .creation-step.active{background:var(--app-primary)}@supports (color:color-mix(in lab, red, red)){.dashboard-page .creation-step.active{background:color-mix(in srgb, var(--app-primary) 11%, var(--app-surface))}}.dashboard-page .creation-step.active{color:var(--app-primary)}.dashboard-page .creation-step.active strong,.dashboard-page .creation-step.done strong{background:var(--app-primary);color:#fff}.dashboard-page .site-wizard-panel{gap:var(--space-3);display:grid}.dashboard-page .site-wizard-panel[hidden]{display:none}.dashboard-page .stage-empty-state,.dashboard-page .stage-flow-card,.dashboard-page .stage-flow-heading{gap:var(--space-2);border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface-subtle);padding:var(--space-4);display:grid}.dashboard-page .stage-empty-state{grid-template-columns:minmax(0,1fr) auto;align-items:center}.dashboard-page .stage-empty-state strong,.dashboard-page .stage-flow-heading strong{color:var(--app-text);font-size:15px;display:block}.dashboard-page .stage-empty-state span,.dashboard-page .stage-flow-heading span{color:var(--app-text-muted);font-size:13px;display:block}.dashboard-page .stage-primary-action,.dashboard-page .stage-secondary-action{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);min-height:44px;font-weight:900;display:inline-flex}.dashboard-page .stage-primary-action{background:var(--app-primary);color:#fff}.dashboard-page .stage-secondary-action{background:var(--app-surface);width:100%}.dashboard-page .site-card{gap:var(--space-3);padding:13px 14px;transition:border-color .14s,background .14s,box-shadow .14s;display:grid}.dashboard-page .site-card.selected{box-shadow:inset 3px 0 0 var(--app-primary), var(--shadow-subtle);background:#fbfdff;border-color:#bfdbfe}.dashboard-page .site-card:hover{border-color:var(--app-border-strong);background:var(--app-surface-subtle)}.dashboard-page .site-card-select{gap:var(--space-3);min-width:0;display:grid}.dashboard-page .site-card-actions,.dashboard-page .selected-actions{justify-content:flex-end;display:flex}.dashboard-page .selected-actions{margin-top:var(--space-3)}.dashboard-page .dashboard-return{justify-content:center;align-items:center;gap:7px;display:inline-flex}.dashboard-page .site-main,.dashboard-page .mini-row{justify-content:space-between;gap:var(--space-3);display:flex}.dashboard-page .site-title{color:var(--app-text);font-size:15px;font-weight:800}.dashboard-page .site-meta{margin-top:var(--space-1);color:var(--app-text-secondary);font-size:13px}.dashboard-page .badge,.dashboard-page .status-pill{background:var(--app-success-soft);color:#15803d;white-space:nowrap;border-radius:999px;align-items:center;width:max-content;padding:5px 9px;font-size:12px;font-weight:800;display:inline-flex}.dashboard-page .status-pill{justify-content:center;min-width:82px}.dashboard-page .status-pill.danger{background:var(--app-danger-soft);color:#b91c1c}.dashboard-page .status-pill.neutral{background:var(--app-surface-subtle);color:var(--app-text-secondary)}.dashboard-page .selected-label{color:var(--app-primary-strong);align-items:center;gap:6px;font-size:12px;font-weight:850;display:inline-flex}.dashboard-page .selected-dot{background:var(--app-primary);border-radius:50%;width:8px;height:8px}.dashboard-page .selected-panel{border-color:#bfdbfe}.dashboard-page.is-detail-view .selected-panel{padding-bottom:var(--space-4)}.dashboard-page.is-detail-view .selected-panel .panel-head{margin-bottom:var(--space-3);align-items:flex-start}.dashboard-page.is-detail-view .selected-panel .mini-list{gap:var(--space-2);grid-template-columns:repeat(4,minmax(150px,1fr))}.dashboard-page.is-detail-view .selected-panel .selected-budget-usage{grid-column:1/-1}.dashboard-page.is-detail-view .selected-panel .mini-row{border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface-subtle);min-width:0;padding:10px 12px}.dashboard-page.is-detail-view .selected-panel .mini-row:first-child{border-top:1px solid var(--app-border);padding-top:10px}.dashboard-page.is-detail-view .selected-panel .mini-row strong{text-align:right;overflow-wrap:anywhere}.dashboard-page .protocol-row{align-items:flex-start}.dashboard-page .protocol-row.is-paid{background:linear-gradient(180deg, #f0fdf4eb, var(--app-surface-subtle));border-color:#16a34a52}.dashboard-page .protocol-title-line{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.dashboard-page .protocol-side{justify-items:end;gap:8px;min-width:156px;display:grid}.dashboard-page .protocol-pay-button{color:var(--app-primary-strong);cursor:pointer;background:#eff6fff2;border:1px solid #2563eb38;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:850}.dashboard-page .protocol-pay-button:hover{background:#dbeafef2}.dashboard-page .protocol-payment-form .stage-flow-card{gap:4px;display:grid}.dashboard-page .invoice-title-line{flex-wrap:wrap;align-items:center;gap:7px;display:inline-flex}.dashboard-page .invoice-type-badge{white-space:nowrap;border-radius:999px;align-items:center;padding:4px 8px;font-size:11px;font-weight:850;line-height:1;display:inline-flex}.dashboard-page .invoice-type-badge.income{background:var(--app-success-soft);color:#15803d}.dashboard-page .invoice-type-badge.cost{color:#92400e;background:#f59e0b24}.dashboard-page .selected-context{gap:var(--space-1);display:grid}.dashboard-page .progress{background:#e5e7eb;border-radius:999px;height:8px;overflow:hidden}.dashboard-page .bar{width:var(--w);background:var(--app-primary);height:100%}.dashboard-page .bar.warn{background:var(--app-warning)}.dashboard-page .site-progress-row{gap:var(--space-2);color:var(--app-text-secondary);grid-template-columns:auto minmax(0,1fr) 40px;align-items:center;font-size:12px;display:grid}.dashboard-page .site-progress-row strong{color:var(--app-text);text-align:right;font-size:12px}.dashboard-page .selected-budget-usage{border-bottom:1px solid var(--app-border);padding-bottom:var(--space-3)}.dashboard-page .numbers,.dashboard-page .stage-summary{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(118px,1fr));display:grid}.dashboard-page .stage-level-nav{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.dashboard-page .stage-level-link{border:1px solid var(--app-border);border-radius:var(--radius-sm);min-height:32px;padding:6px 10px 6px calc(10px + (var(--depth,0) * 14px));background:var(--app-surface);color:var(--app-text-secondary);align-items:center;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.dashboard-page .stage-level-link.active{border-color:var(--app-primary);background:var(--app-primary)}@supports (color:color-mix(in lab, red, red)){.dashboard-page .stage-level-link.active{background:color-mix(in srgb, var(--app-primary) 10%, var(--app-surface))}}.dashboard-page .stage-level-link.active{color:var(--app-primary)}.dashboard-page .timeline-row{margin-left:calc(var(--depth,0) * 14px)}.dashboard-page .stage-open-link{color:var(--app-primary);font-size:12px;font-weight:800;text-decoration:none}.dashboard-page .number,.dashboard-page .protocol-cell{border-top:1px solid var(--app-border);min-width:0;padding-top:var(--space-2)}.dashboard-page .number strong,.dashboard-page .protocol-cell strong{color:var(--app-text);overflow-wrap:anywhere;font-size:13px;display:block}.dashboard-page .number span,.dashboard-page .protocol-cell span{color:var(--app-text-muted);font-size:12px;display:block}.dashboard-page .positive{color:var(--app-success)}.dashboard-page .negative{color:var(--app-danger)}.dashboard-page table:not(.app-table){border-collapse:collapse;width:100%;font:var(--font-table)}.dashboard-page table:not(.app-table) th,.dashboard-page table:not(.app-table) td{border-top:1px solid var(--app-border);vertical-align:top;text-align:left;padding:11px 8px}.dashboard-page table:not(.app-table) th{color:var(--app-text-secondary);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:800}.dashboard-page table:not(.app-table) td:last-child,.dashboard-page table:not(.app-table) th:last-child{text-align:right}.dashboard-page .mini-row{border-top:1px solid var(--app-border);padding-top:9px;font-size:13px}.dashboard-page .mini-row:first-child{border-top:0;padding-top:0}.dashboard-page label{color:var(--app-text-secondary);gap:5px;font-size:12px;font-weight:700;display:grid}.dashboard-page input,.dashboard-page select{border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface);width:100%;min-width:0;color:var(--app-text);font:var(--font-body);padding:10px 11px}.dashboard-page .form-row,.dashboard-page .compact-form,.dashboard-page .return-form{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dashboard-page .field-with-action{gap:var(--space-2);grid-template-columns:minmax(0,1fr) 42px;align-items:end;display:grid}.dashboard-page .icon-btn{width:42px;height:42px;padding:0}.dashboard-page .cost-item,.dashboard-page .formwork-item,.dashboard-page .stage-item,.dashboard-page .timeline-row,.dashboard-page .protocol-card,.dashboard-page .formwork-row{gap:var(--space-3);border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface-subtle);padding:var(--space-3);display:grid}.dashboard-page .formwork-stock{margin-bottom:var(--space-4)}.dashboard-page .formwork-stock-row{gap:var(--space-3);border:1px solid var(--app-border);border-radius:var(--radius-sm);background:var(--app-surface);grid-template-columns:minmax(180px,1fr) repeat(3,minmax(120px,auto));align-items:center;padding:10px 12px;font-size:13px;display:grid}.dashboard-page .formwork-stock-row span{color:var(--app-text-muted);white-space:nowrap}.formwork-page .formwork-inventory-list{gap:var(--space-3);display:grid}.formwork-page .formwork-create-trigger,.formwork-page .formwork-inline-create{justify-content:center;align-items:center;gap:8px;display:inline-flex}.formwork-page .formwork-create-trigger{min-height:40px;padding-inline:16px;box-shadow:0 10px 22px #1d4ed82e}.formwork-page .formwork-create-trigger span,.formwork-page .formwork-inline-create span{font-size:18px;font-weight:900;line-height:1}.formwork-page .panel-head-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:inline-flex}.formwork-page .formwork-inline-create{padding:7px 10px;font-size:12px}.formwork-page .formwork-workspace{gap:var(--space-4);grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);align-items:start;display:grid}.formwork-page .formwork-inventory-card{gap:var(--space-3);border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface);padding:var(--space-4);display:grid}.formwork-page .formwork-inventory-main{gap:var(--space-4);grid-template-columns:minmax(160px,1fr) minmax(320px,1.3fr);align-items:center;display:grid}.formwork-page .formwork-inventory-main h3{margin:0 0 4px;font-size:18px}.formwork-page .formwork-inventory-numbers{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.formwork-page .formwork-inventory-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.formwork-page .formwork-inventory-actions details{min-width:min(100%,320px)}.formwork-page .formwork-inventory-actions summary{width:fit-content}.dashboard-page .stage-grid{gap:var(--space-2);grid-template-columns:1.2fr .8fr .8fr;display:grid}.dashboard-page .indicator-row,.dashboard-page .indicator-row.with-execution,.dashboard-page .execution-form,.dashboard-page .execution-edit-form,.dashboard-page .indicator-edit-grid{gap:var(--space-2);grid-template-columns:minmax(0,1.5fr) .7fr .7fr .7fr auto;align-items:end;display:grid}.dashboard-page .indicator-row.with-execution{grid-template-columns:minmax(0,1.5fr) .65fr .65fr .55fr .65fr auto}.dashboard-page label:has([data-stage-indicator-name]){position:relative}.dashboard-page .indicator-suggest{z-index:30;border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface);gap:6px;width:min(420px,100vw - 48px);max-height:280px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;overflow:auto;box-shadow:0 18px 45px #11182729}.dashboard-page .indicator-suggest[hidden]{display:none}.dashboard-page .indicator-suggestion{border-radius:var(--radius-sm);min-height:0;color:var(--app-text);text-align:left;white-space:normal;background:0 0;border:0;grid-template-columns:minmax(0,1fr);gap:6px;padding:10px 12px;display:grid}.dashboard-page .indicator-suggestion:hover,.dashboard-page .indicator-suggestion:focus-visible{background:var(--app-surface-subtle)}.dashboard-page .indicator-suggestion-main{gap:3px;min-width:0;display:grid}.dashboard-page .indicator-suggestion-main strong{color:var(--app-text);overflow-wrap:anywhere;font-size:13px;line-height:1.25}.dashboard-page .indicator-suggestion-parent{color:var(--app-text-muted);overflow-wrap:anywhere;font-size:12px;line-height:1.25}.dashboard-page .indicator-suggestion-meta{background:var(--app-primary);border-radius:999px;justify-self:start}@supports (color:color-mix(in lab, red, red)){.dashboard-page .indicator-suggestion-meta{background:color-mix(in srgb, var(--app-primary) 9%, var(--app-surface))}}.dashboard-page .indicator-suggestion-meta{color:var(--app-primary);padding:3px 8px;font-size:11px;font-weight:900;line-height:1.2}.dashboard-page .timeline-title,.dashboard-page .formwork-title,.dashboard-page .protocol-card-head,.dashboard-page .execution-row{gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.dashboard-page .timeline-meta,.dashboard-page .indicator-actions,.dashboard-page .indicator-head-actions,.dashboard-page .formwork-side,.dashboard-page .formwork-actions,.dashboard-page .formwork-tools,.dashboard-page .execution-row-actions{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.dashboard-page .timeline-meta{color:var(--app-text-secondary);font-size:12px}.dashboard-page .timeline-bars{gap:7px;display:grid}.dashboard-page .bar-line{gap:var(--space-2);color:var(--app-text-secondary);grid-template-columns:78px minmax(0,1fr) 42px;align-items:center;font-size:12px;display:grid}.dashboard-page .protocol-grid{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.dashboard-page .stage-tool summary,.dashboard-page .formwork-action summary{list-style:none}.dashboard-page .stage-tool summary::-webkit-details-marker{display:none}.dashboard-page .formwork-action summary::-webkit-details-marker{display:none}.dashboard-page .stage-tool-form{margin-top:var(--space-3);border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface);padding:var(--space-3)}.dashboard-page .icon-action,.dashboard-page .tool-icon,.dashboard-page .modal-close{width:34px;height:34px;padding:0}.dashboard-page .danger-btn{background:var(--app-danger-soft);color:#b91c1c;border-color:#fecaca}.dashboard-page .execution-row-main,.dashboard-page .protocol-card-title{gap:2px;min-width:0;display:grid}.dashboard-page .execution-row-actions form{display:none}.dashboard-page .formwork-action{position:relative}.dashboard-page .formwork-action form{z-index:5;border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface);width:min(760px,100vw - 72px);padding:var(--space-3);position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 42px #11182724}.dashboard-page .edit-form{gap:var(--space-2);grid-template-columns:1.4fr .9fr .7fr .7fr .7fr .8fr auto;align-items:end;display:grid}.dashboard-page .item-head,.dashboard-page .picker-path{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.dashboard-page .dictionary-picker-list{gap:var(--space-2);max-height:230px;padding-right:2px;display:grid;overflow:auto}.dashboard-page .dictionary-choice{align-items:center;gap:var(--space-2);text-align:left;white-space:normal;grid-template-columns:minmax(0,1fr) auto auto;width:100%;display:grid}.dashboard-page .dictionary-choice[hidden]{display:none}.dashboard-page .subcount{background:var(--app-surface-subtle);color:var(--app-text-secondary);border-radius:999px;padding:4px 8px;font-size:12px;font-weight:800}.dashboard-page .dictionary-inline-form{gap:var(--space-3);border-top:1px solid var(--app-border);padding-top:var(--space-3);display:grid}.dashboard-page .modal{border:1px solid var(--app-border);border-radius:var(--radius-md);width:min(560px,100vw - 28px);color:var(--app-text);padding:0;box-shadow:0 24px 70px #11182733}.dashboard-page .modal.wide{width:min(760px,100vw - 28px)}.dashboard-page .modal::backdrop{background:#11182773}.dashboard-page .modal-head{justify-content:space-between;align-items:center;gap:var(--space-4);border-bottom:1px solid var(--app-border);padding:var(--space-4) var(--space-5);display:flex}.dashboard-page .modal-body{gap:var(--space-3);padding:var(--space-5);display:grid}.dashboard-page .modal-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-1);display:flex}.dashboard-page .modal-actions.split{justify-content:space-between;align-items:center}.dashboard-page .modal-actions-group{justify-content:flex-end;gap:var(--space-2);display:flex}.shell-demo-panel{gap:var(--space-4);display:grid}.shell-demo-list{gap:var(--space-3);display:grid}.shell-demo-card{gap:var(--space-3);padding:var(--space-4);display:grid}.shell-demo-card.is-unallocated{background:var(--app-danger-soft);border-color:#fecaca}.shell-demo-card.is-rejected{opacity:.72}.shell-demo-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.shell-demo-title{color:var(--app-text);margin:0;font-size:15px;font-weight:750}.shell-demo-muted{color:var(--app-text-secondary);font-size:13px}.shell-demo-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.shell-demo-field{border-top:1px solid var(--app-border);padding-top:var(--space-2)}.shell-demo-field span{color:var(--app-text-muted);font-size:12px;display:block}.shell-demo-field strong{overflow-wrap:anywhere;margin-top:2px;display:block}.shell-demo-tabs{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.shell-demo-tab{align-items:center;gap:var(--space-2);border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface);color:var(--app-text-secondary);padding:9px 12px;font-size:13px;font-weight:700;display:inline-flex}.shell-demo-tab.is-active{background:var(--app-primary-soft);color:var(--app-primary-strong);border-color:#bfdbfe}.shell-demo-pager{justify-content:space-between;gap:var(--space-2);margin-top:var(--space-4);display:flex}.telegram-request-summary{margin-bottom:var(--space-4)}.telegram-advance-block,.telegram-advance-lines,.telegram-advance-form,.telegram-tmc-actions,.telegram-reject-form{gap:var(--space-3);display:grid}.telegram-advance-block,.telegram-tmc-actions{border-top:1px solid var(--app-border);padding-top:var(--space-3)}.telegram-tmc-actions{grid-template-columns:auto minmax(260px,1fr);align-items:end}.telegram-advance-form{grid-template-columns:minmax(220px,1.4fr) minmax(150px,.8fr) minmax(150px,.8fr) minmax(180px,1fr) auto;align-items:end}.telegram-reject-form{grid-template-columns:minmax(220px,1fr) auto;align-items:end}.is-disabled{opacity:.45;pointer-events:none}@media (width<=1180px){.exec-kpi-grid,.exec-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exec-panel,.exec-panel-wide{grid-column:span 1}.exec-attention-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-body.has-invoice-workspace{overflow:auto}.app-body.has-invoice-workspace .app-main,.app-body.has-invoice-workspace .app-content{height:auto;overflow:visible}.invoice-layout{grid-template-columns:1fr;min-height:0;max-height:none;overflow:visible}.invoice-list-column,.invoice-detail-column{max-height:none;overflow:visible}.invoice-detail-column .invoice-form-grid-3,.invoice-detail-column .invoice-form-grid-4{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=980px){.exec-site-row{grid-template-columns:1fr}.exec-site-side{text-align:left;justify-content:space-between;display:flex}.app-shell{display:block}.app-main,.app-topbar,.app-content{max-width:100vw;overflow-x:clip}.app-sidebar{width:min(86vw,280px);transition:transform .18s;position:fixed;inset:0 auto 0 0;transform:translate(-100%);box-shadow:16px 0 40px #11182729}.app-body.is-sidebar-open .app-sidebar{transform:translate(0)}.app-body.is-sidebar-open .app-sidebar-scrim{z-index:18;background:#11182761;border:0;padding:0;display:block;position:fixed;inset:0}.app-mobile-toggle{display:inline-flex}.app-topbar{padding:0 var(--space-4)}.app-content{padding:var(--space-4)}.app-page-header{gap:var(--space-3);display:grid}.app-page-actions{justify-content:flex-start}.app-filter-form-workers,.app-filter-form-payroll,.app-filter-form-hours,.payroll-report-filter,.attendance-report-filter,.app-assignment-form,.app-form-grid,.app-split-grid,.invoice-import-grid,.invoice-layout,.invoice-form-grid-3,.invoice-form-grid-4,.hours-summary,.hours-row{grid-template-columns:1fr}.invoice-import-grid>form+form{border-left:0;border-top:1px solid var(--app-border);padding-left:0;padding-top:var(--space-4)}.invoice-detail-column{position:static}.invoice-detail-column .app-form-grid,.invoice-detail-column .invoice-form-grid-3,.invoice-detail-column .invoice-form-grid-4,.invoice-list-item,.invoice-counterparty-inline{grid-template-columns:1fr}.invoice-list-item-side{text-align:left}.reports-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.report-row-details,.report-breakdown{width:100%;min-width:0}.report-row-details summary{text-align:right}.report-formula,.report-line{text-align:left;display:grid}.invoice-detail-column .invoice-lines-table{min-width:0}.hours-time-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.app-table-toolbar,.app-table-toolbar-main,.app-table-toolbar-actions{grid-template-columns:1fr;width:100%;display:grid}.app-search-field{min-width:0}.app-table-wrap{background:0 0;border:0;overflow:visible}.app-table{min-width:0}.app-table,.app-table thead,.app-table tbody,.app-table tr,.app-table th,.app-table td{display:block}.app-table thead{display:none}.app-table tr{border:1px solid var(--app-border);border-radius:var(--radius-md);background:var(--app-surface);gap:4px;padding:10px 12px;display:grid}.app-table tbody{gap:var(--space-2);display:grid}.app-table td{justify-content:space-between;gap:var(--space-3);text-align:right;border:0;padding:2px 0;display:flex}.app-table td:before{content:attr(data-label);color:var(--app-text-secondary);text-align:left}.app-table .is-numeric{text-align:right}.app-metrics-grid-payroll,.app-payroll-official-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-worker-save{grid-column:1/-1}.payroll-worker-save .btn,.payroll-worker-save button{width:100%}.telegram-advance-form,.telegram-tmc-actions,.telegram-reject-form{grid-template-columns:1fr}.telegram-advance-form .ui-button,.telegram-tmc-actions .ui-button,.telegram-reject-form .ui-button{width:100%}.app-card-head,.app-row-card-head,.app-modal-actions,.app-form-footer{grid-template-columns:1fr;display:grid}.app-row-actions,.app-status-actions{justify-content:stretch}.app-row-actions>*,.app-status-actions form,.app-status-actions .ui-button{width:100%}.app-tab,.app-filter-link,.app-segmented-control button{min-width:0}.dashboard-page .topbar,.dashboard-page .app-page-header{display:grid}.dashboard-page .actions,.dashboard-page .site-card-actions,.dashboard-page .selected-actions,.dashboard-page .modal-actions,.dashboard-page .modal-actions-group{justify-content:stretch}.dashboard-page .btn,.dashboard-page .actions>button,.dashboard-action-menu,.dashboard-action-menu summary,.dashboard-page .action-menu,.dashboard-page .action-menu summary{width:100%}.dashboard-action-menu .action-menu-list,.dashboard-page .action-menu-list,.dashboard-page .formwork-action form{width:100%;margin-top:var(--space-2);box-shadow:none;position:static}.dashboard-page .metrics,.dashboard-page.is-detail-view .selected-panel .mini-list{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-page .grid,.dashboard-page .numbers,.dashboard-page .form-row,.dashboard-page .compact-form,.dashboard-page .return-form,.dashboard-page .edit-form,.dashboard-page .creation-flow,.dashboard-page .stage-empty-state,.dashboard-page .stage-grid,.dashboard-page .stage-summary,.dashboard-page .formwork-stock-row,.dashboard-page .indicator-row,.dashboard-page .indicator-row.with-execution,.dashboard-page .protocol-grid,.dashboard-page .execution-form,.dashboard-page .execution-edit-form,.dashboard-page .indicator-edit-grid{grid-template-columns:1fr}.dashboard-page .formwork-stock-row span{white-space:normal}.formwork-page .formwork-workspace,.formwork-page .formwork-inventory-main,.formwork-page .formwork-inventory-numbers{grid-template-columns:1fr}.formwork-page .panel-head-actions,.formwork-page .formwork-create-trigger,.formwork-page .formwork-inline-create,.formwork-page .formwork-inventory-actions,.formwork-page .formwork-inventory-actions details,.formwork-page .formwork-inventory-actions summary{width:100%}.dashboard-page .timeline-title,.dashboard-page .formwork-title,.dashboard-page .protocol-card-head,.dashboard-page .execution-row{grid-template-columns:1fr}.dashboard-page table:not(.app-table),.dashboard-page table:not(.app-table) thead,.dashboard-page table:not(.app-table) tbody,.dashboard-page table:not(.app-table) tr,.dashboard-page table:not(.app-table) th,.dashboard-page table:not(.app-table) td{display:block}.dashboard-page table:not(.app-table) thead{display:none}.dashboard-page table:not(.app-table) tr{border-top:1px solid var(--app-border);padding:10px 0}.dashboard-page table:not(.app-table) td{justify-content:space-between;gap:var(--space-3);text-align:right;border:0;padding:3px 0;display:flex}.dashboard-page table:not(.app-table) td:before{content:attr(data-label);color:var(--app-text-secondary);text-align:left}.dashboard-page table:not(.app-table) td:last-child{text-align:right}}@media (width<=640px){.exec-kpi-grid,.exec-dashboard-grid,.exec-attention-grid,.exec-formwork-summary,.exec-donut-row,.exec-two-metrics,.exec-control-grid,.exec-formwork-row{grid-template-columns:1fr}.exec-donut{justify-self:center}.app-page-title{font-size:24px}.hr-floating-save{width:48px;height:48px;bottom:18px;right:18px}.dashboard-page.is-detail-view .selected-panel .mini-list,.reports-summary{grid-template-columns:1fr}.report-detail-row{border-color:var(--app-primary);margin-top:calc(var(--space-2) * -1);padding-top:0}.report-detail-row td{text-align:left;padding:0;display:block}.report-detail-row td:before{content:none}.report-breakdown{max-width:none;margin-left:0}.app-user-text{display:none}.shell-demo-head,.shell-demo-pager{grid-template-columns:1fr;display:grid}}@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-tracking{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-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-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
