/*eg101:typography*/@font-face{font-family:"Geist";font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/geist-latin-wght-normal.19f9c925.woff2) format("woff2-variations"),url(/_next/static/media/geist-latin-wght-normal.19f9c925.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/*eg101:has-perf*//*eg101:has-perf2*//* eGestion — flattened production stylesheet (see scripts/flatten-stylesheet-0.7.7.mjs). */
/* eGestion 0.7.8 production stylesheet entry (flattened by scripts/flatten-stylesheet-0.7.7.mjs). */

/* >>> 91b0a8671bf167f7-egprod260813r18.css */

/* >>> 91b0a8671bf167f7-egprod260813r5.css */

/* >>> 91b0a8671bf167f7-egprod260813r2.css */

/* >>> 91b0a8671bf167f7-egprod260813r1.css */

/* >>> 91b0a8671bf167f7-egprod260812r22.css */

/* >>> 91b0a8671bf167f7-egprod260812r18.css */

/* >>> eg-ui-0.6.1.css */
/*! tailwindcss v4.3.0 | 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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:"Geist", "IBM Plex Sans Variable", "IBM Plex Sans", "Segoe UI", ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-amber-50:oklch(98.7% .022 95.277);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-900:oklch(41.4% .112 45.904);--color-amber-950:oklch(27.9% .077 45.635);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-900:oklch(37.8% .077 168.94);--color-emerald-950:oklch(26.2% .051 172.552);--color-cyan-50:oklch(98.4% .019 200.873);--color-cyan-200:oklch(91.7% .08 205.041);--color-cyan-700:oklch(52% .105 223.128);--color-cyan-900:oklch(39.8% .07 227.392);--color-cyan-950:oklch(30.2% .056 229.695);--color-sky-50:oklch(97.7% .013 236.62);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-500:oklch(68.5% .169 237.323);--color-sky-700:oklch(50% .134 242.749);--color-sky-900:oklch(39.1% .09 240.876);--color-sky-950:oklch(29.3% .066 243.157);--color-blue-50:oklch(97% .014 254.604);--color-blue-700:oklch(48.8% .243 264.376);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-200:oklch(87% .065 274.039);--color-indigo-700:oklch(45.7% .24 277.023);--color-indigo-900:oklch(35.9% .144 278.697);--color-indigo-950:oklch(25.7% .09 281.288);--color-violet-50:oklch(96.9% .016 293.756);--color-violet-200:oklch(89.4% .057 293.283);--color-violet-700:oklch(49.1% .27 292.581);--color-violet-900:oklch(38% .189 293.745);--color-violet-950:oklch(28.3% .141 291.089);--color-rose-50:oklch(96.9% .015 12.422);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-600:oklch(58.6% .253 17.585);--color-rose-700:oklch(51.4% .222 16.935);--color-rose-900:oklch(41% .159 10.272);--color-rose-950:oklch(27.1% .105 12.094);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-900:oklch(20.8% .042 265.755);--color-slate-950:oklch(12.9% .042 264.695);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:600;--tracking-normal:0em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:where(:root),[data-theme=light]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(95% 0 0);--color-base-content:oklch(21% .006 285.885);--color-primary:oklch(45% .24 277.023);--color-primary-content:oklch(93% .034 272.788);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root{--page-scroll-lock:initial;--page-overflow:var(--page-scroll-lock) hidden}:root:not(span){overflow:var(--page-overflow)}:root{--fx-noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.34' numOctaves='4' stitchTiles='stitch'%3E%3C/feTurbulence%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23a)' opacity='0.2'%3E%3C/rect%3E%3C/svg%3E")}:root,[data-theme]{background-color:var(--root-bg);color:var(--color-base-content)}:root{background-color:var(--page-scroll-bg,var(--root-bg))}:where(:root,[data-theme]){--root-bg:var(--color-base-100)}@property --radialprogress{syntax:"<percentage>";inherits:true;initial-value:0%}@property --aura-angle{syntax:"<angle>";inherits:false;initial-value:0deg}:root{scrollbar-color:currentColor #0000}@supports (color:color-mix(in lab, red, red)){:root{scrollbar-color:color-mix(in oklch, currentColor 35%, #0000) #0000}}:root{--page-has-backdrop:var(--page-scroll-lock) 1;--page-scroll-bg:var(--page-scroll-lock) var(--root-bg,#0000)}@supports (color:color-mix(in lab, red, red)){:root{--page-scroll-bg:var(--page-scroll-lock) color-mix(in srgb, var(--root-bg,#0000), oklch(0% 0 0) calc(var(--page-has-backdrop,0) * 40%))}}:root{background-image:var(--page-scroll-lock) linear-gradient(var(--root-bg,#0000), var(--root-bg,#0000));transition:var(--page-scroll-lock) background-color .3s ease-out;animation:var(--page-scroll-lock) set-page-has-scroll forwards;animation-timeline:var(--page-scroll-lock) scroll();--page-has-scroll:initial;scrollbar-gutter:var(--page-has-scroll) var(--page-scroll-lock) stable}@keyframes set-page-has-scroll{0%,to{--page-has-scroll: }}}@layer components;@layer utilities{@layer daisyui.l1.l2.l3{.modal{pointer-events:none;visibility:hidden;width:100%;max-width:none;height:100%;max-height:none;color:inherit;transition:overlay .3s allow-discrete, visibility .3s allow-discrete, background-color .3s ease-out, opacity .1s ease-out;overscroll-behavior:contain;z-index:999;scrollbar-gutter:auto;background-color:#0000;place-items:center;margin:0;padding:0;display:grid;position:fixed;inset:0;overflow:clip}.modal::backdrop{display:none}.modal[popover]{color:inherit;background:0 0;border:0;max-width:none;max-height:none;margin:0;padding:0;inset:0}.modal[popover]::backdrop{background-color:oklch(0% 0 0/.4);transition:background-color .3s ease-out}:where(.drawer-side){overflow:hidden}.drawer-side{pointer-events:none;visibility:hidden;z-index:10;overscroll-behavior:contain;opacity:0;width:100%;transition:opacity .2s ease-out .1s allow-discrete, visibility .3s ease-out .1s allow-discrete;inset-inline-start:0;background-color:#0000;grid-template-rows:repeat(1,minmax(0,1fr));grid-template-columns:repeat(1,minmax(0,1fr));grid-row-start:1;grid-column-start:1;place-items:flex-start start;height:100dvh;display:grid;position:fixed;top:0}.drawer-side>*{grid-row-start:1;grid-column-start:1}.drawer-side>:not(.drawer-overlay){will-change:transform;transition:translate .3s ease-out,width .2s ease-out;translate:-100%}[dir=rtl] :is(.drawer-side>:not(.drawer-overlay)){translate:100%}@supports (color:color-mix(in lab, red, red)){:where(.drawer-toggle:checked~.drawer-side){scrollbar-color:color-mix(in oklch, currentColor 35%, #0000) oklch(0 0 0 / calc(var(--page-has-backdrop,0) * .4))}}.drawer-toggle{appearance:none;opacity:0;width:0;height:0;position:fixed}:where(.drawer-toggle:checked~.drawer-side){scrollbar-color:currentColor oklch(0 0 0 / calc(var(--page-has-backdrop,0) * .4))}@supports (color:color-mix(in lab, red, red)){:where(.drawer-toggle:checked~.drawer-side){scrollbar-color:color-mix(in oklch, currentColor 35%, #0000) oklch(0 0 0 / calc(var(--page-has-backdrop,0) * .4))}}:where(.drawer-toggle:checked~.drawer-side)>:not(.drawer-overlay){will-change:auto;transform:none}.drawer-open>.drawer-toggle:checked~.drawer-side{scrollbar-color:revert-layer}@media (hover:hover){.tab:is(.tabs>.tab):hover{color:var(--color-base-content)}}@supports (color:color-mix(in lab, red, red)){.tab:is(.tabs>.tab):not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:color-mix(in oklab, var(--color-base-content) 50%, transparent)}}@media (forced-colors:active){.tab:is(.tabs>.tab):focus{outline-offset:2px;outline:2px solid #0000}}@media (hover:hover){.tab:is(.tabs>.tab):hover{color:var(--color-base-content)}}@supports (color:color-mix(in lab, red, red)){.tab:is(.tabs>.tab):not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:color-mix(in oklab, var(--color-base-content) 50%, transparent)}}@media (forced-colors:active){.tab:is(.tabs>.tab):focus{outline-offset:2px;outline:2px solid #0000}}.tooltip{--tt-bg:var(--color-neutral);--tt-off:calc(100% + .5rem);--tt-tail:calc(100% + 1px + .25rem);--tt-tail-off:.5rem;display:inline-block;position:relative}.tooltip>.tooltip-content,.tooltip[data-tip]:before{border-radius:var(--radius-field);text-align:center;white-space:normal;max-width:20rem;color:var(--color-neutral-content);opacity:0;background-color:var(--tt-bg);pointer-events:none;z-index:2;--tw-content:attr(data-tip);content:var(--tw-content);width:max-content;transform:translateX(var(--tt-trans,-50%)) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-off) 50%;padding-block:.25rem;padding-inline:.5rem;font-size:.875rem;line-height:1.25;position:absolute}.tooltip:after{opacity:0;background-color:var(--tt-bg);content:"";pointer-events:none;--mask-tooltip:url("data:image/svg+xml,%3Csvg width='10' height='4' viewBox='0 0 8 4' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.500009 1C3.5 1 3.00001 4 5.00001 4C7 4 6.5 1 9.5 1C10 1 10 0.499897 10 0H0C-1.99338e-08 0.5 0 1 0.500009 1Z' fill='black'/%3E%3C/svg%3E%0A");width:.625rem;height:.25rem;-webkit-mask-position:-1px 0;mask-position:-1px 0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-image:var(--mask-tooltip);-webkit-mask-image:var(--mask-tooltip);mask-image:var(--mask-tooltip);transform:translateX(var(--tt-trans,-50%)) translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-tail) 50%;display:block;position:absolute}@media (prefers-reduced-motion:no-preference){.tooltip>.tooltip-content,.tooltip[data-tip]:before,.tooltip:after{transition:opacity .2s cubic-bezier(.4,0,.2,1) 75ms,transform .2s cubic-bezier(.4,0,.2,1) 75ms}}@media (prefers-reduced-motion:no-preference){}@media (prefers-reduced-motion:no-preference){}@media (prefers-reduced-motion:no-preference){}@media (prefers-reduced-motion:no-preference){}@media (prefers-reduced-motion:no-preference){}@media (prefers-reduced-motion:no-preference){}@media (prefers-reduced-motion:no-preference){}@media (prefers-reduced-motion:no-preference){}@media (prefers-reduced-motion:no-preference){}.tabs{--tabs-height:auto;--tabs-direction:row;--tab-height:calc(var(--size-field,.25rem) * 10);height:var(--tabs-height);flex-wrap:wrap;flex-direction:var(--tabs-direction);display:flex}.tab:is(.tabs>.tab){cursor:pointer;appearance:none;text-align:center;webkit-user-select:none;-webkit-user-select:none;user-select:none;flex-wrap:wrap;justify-content:center;align-items:center;display:inline-flex;position:relative}@media (hover:hover){.tab:is(.tabs>.tab):hover{color:var(--color-base-content)}}.tab:is(.tabs>.tab){--tab-p:.75rem;--tab-bg:var(--color-base-100);--tab-border-color:var(--color-base-300);--tab-radius-ss:0;--tab-radius-se:0;--tab-radius-es:0;--tab-radius-ee:0;--tab-order:0;--tab-radius-min:calc(.75rem - var(--border));--tab-radius-limit:min(var(--radius-field), var(--tab-radius-min));--tab-radius-grad:#0000 calc(69% - var(--border)), var(--tab-border-color) calc(69% - var(--border) + .25px), var(--tab-border-color) 69%, var(--tab-bg) calc(69% + .25px);order:var(--tab-order);height:var(--tab-height);padding-inline:var(--tab-p);border-color:#0000;font-size:.875rem}.tab:is(.tabs>.tab):is(input[type=radio]){min-width:fit-content}.tab:is(.tabs>.tab):is(input[type=radio]):after{--tw-content:attr(aria-label);content:var(--tw-content)}.tab:is(.tabs>.tab):is(label){position:relative}.tab:is(.tabs>.tab):is(label) input{cursor:pointer;appearance:none;opacity:0;position:absolute;inset:0}:is(.tab:is(.tabs>.tab):checked,.tab:is(.tabs>.tab):is(label:has(:checked)),.tab:is(.tabs>.tab):is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content{display:block}.tab:is(.tabs>.tab):not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.tab:is(.tabs>.tab):not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:color-mix(in oklab, var(--color-base-content) 50%, transparent)}}.tab:is(.tabs>.tab):not(input):empty{cursor:default;flex-grow:1}.tab:is(.tabs>.tab):focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.tab:is(.tabs>.tab):focus{outline-offset:2px;outline:2px solid #0000}}.tab:is(.tabs>.tab):focus-visible,.tab:is(.tabs>.tab):is(label:has(:checked:focus-visible)){outline-offset:-5px;outline:2px solid}.tab:is(.tabs>.tab)[disabled]{pointer-events:none;opacity:.4}.menu{--menu-active-fg:var(--color-neutral-content);--menu-active-bg:var(--color-neutral);flex-flow:column wrap;width:fit-content;padding:.5rem;font-size:.875rem;display:flex}.menu :where(li ul,li menu){white-space:nowrap;margin-inline-start:1rem;padding-inline-start:.5rem;position:relative}.menu :where(li ul,li menu):before{background-color:var(--color-base-content);opacity:.1;width:var(--border);content:"";inset-inline-start:0;position:absolute;top:.75rem;bottom:.75rem}.menu :where(li>.menu-dropdown:not(.menu-dropdown-show)){display:none}.menu :where(li:not(.menu-title)>:not(ul,menu,details,.menu-title,.btn)),.menu :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);text-align:start;-webkit-user-select:none;user-select:none;grid-auto-columns:minmax(auto,max-content) auto max-content;grid-auto-flow:column;align-content:flex-start;align-items:center;gap:.5rem;padding-block:.375rem;padding-inline:.75rem;transition-property:color,background-color,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:grid}.menu :where(li>details>summary){--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li>details>summary){outline-offset:2px;outline:2px solid #0000}}.menu :where(li>details>summary)::-webkit-details-marker{display:none}:is(.menu :where(li>details>summary),.menu :where(li>.menu-dropdown-toggle)):after{content:"";transform-origin:50%;pointer-events:none;content:"";pointer-events:none;justify-self:flex-end;width:.375rem;height:.375rem;transition-property:rotate,translate;transition-duration:.2s;display:block;translate:0 -1px;rotate:-135deg;box-shadow:inset 2px 2px}.menu details{interpolate-size:allow-keywords;overflow:hidden}.menu details::details-content{block-size:0}@media (prefers-reduced-motion:no-preference){.menu details::details-content{transition-behavior:allow-discrete;transition-property:block-size,content-visibility;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}}.menu details[open]::details-content{block-size:auto}.menu :where(li>details[open]>summary):after,.menu :where(li>.menu-dropdown-toggle.menu-dropdown-show):after{translate:0 1px;rotate:45deg}.menu :where(li:not(.menu-title,.disabled)>:not(ul,menu,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus{cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li:not(.menu-title,.disabled)>:not(ul,menu,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus{background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,menu,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus{color:var(--color-base-content);--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li:not(.menu-title,.disabled)>:not(ul,menu,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus{outline-offset:2px;outline:2px solid #0000}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,menu,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li:not(.menu-title,.disabled)>:not(ul,menu,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,menu,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{color:var(--color-base-content);--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li:not(.menu-title,.disabled)>:not(ul,menu,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{outline-offset:2px;outline:2px solid #0000}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,menu,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li:not(.menu-title,.disabled)>:not(ul,menu,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,menu,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li:not(.menu-title,.disabled)>:not(ul,menu,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){outline-offset:2px;outline:2px solid #0000}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,menu,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){box-shadow:inset 0 1px oklch(0% 0 0/.01),inset 0 -1px oklch(100% 0 0/.01)}.menu :where(li:empty){background-color:var(--color-base-content);opacity:.1;height:1px;margin:.5rem 1rem}.menu :where(li){flex-flow:column wrap;flex-shrink:0;align-items:stretch;display:flex;position:relative}.menu :where(li) .badge{justify-self:flex-end}.menu :where(li)>:not(ul,menu,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,menu,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.menu :where(li)>:not(ul,menu,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,menu,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{outline-offset:2px;outline:2px solid #0000}}.menu :where(li)>:not(ul,menu,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,menu,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{color:var(--menu-active-fg);background-color:var(--menu-active-bg);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise)}:is(.menu :where(li)>:not(ul,menu,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,menu,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active):not(:is(.menu :where(li)>:not(ul,menu,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,menu,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active):active){box-shadow:0 2px calc(var(--depth) * 3px) -2px var(--menu-active-bg)}.menu :where(li).menu-disabled,.menu :where(li) [disabled]{pointer-events:none;color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.menu :where(li).menu-disabled,.menu :where(li) [disabled]{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.menu .dropdown-content{margin-top:.5rem;padding:.5rem}.menu .dropdown-content:before{display:none}.collapse-title{grid-row-start:1;grid-column-start:1;width:100%;min-height:1lh;padding:1rem;padding-inline-end:3rem;transition:background-color .2s ease-out;position:relative}.dropdown{position-area:var(--anchor-v,bottom) var(--anchor-h,span-right);display:inline-block;position:relative}.dropdown>:not(:has(~[class*=dropdown-content])):focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.dropdown>:not(:has(~[class*=dropdown-content])):focus{outline-offset:2px;outline:2px solid #0000}}.dropdown .dropdown-content{position:absolute}.dropdown.dropdown-close .dropdown-content,.dropdown:not(details,.dropdown-open,.dropdown-hover:hover,:focus-within) .dropdown-content,.dropdown.dropdown-hover:not(:hover) [tabindex]:first-child:focus:not(:focus-visible)~.dropdown-content{transform-origin:top;opacity:0;display:none;scale:.95}.dropdown[popover]{z-index:999}@media (prefers-reduced-motion:no-preference){.dropdown[popover]{transition-behavior:allow-discrete;transition-property:opacity,scale,display,overlay;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation:.2s dropdown}}@starting-style{.dropdown[popover]{opacity:0;scale:.95}}.dropdown .dropdown-content{z-index:999}@media (prefers-reduced-motion:no-preference){.dropdown .dropdown-content{transition-behavior:allow-discrete;transition-property:opacity,scale,display,overlay;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation:.2s dropdown}}@starting-style{.dropdown .dropdown-content{opacity:0;scale:.95}}:is(.dropdown:not(.dropdown-close).dropdown-open,.dropdown:not(.dropdown-close):not(.dropdown-hover):focus,.dropdown:not(.dropdown-close):focus-within)>[tabindex]:first-child{pointer-events:none;pointer-events:none;pointer-events:none}:is(.dropdown:not(.dropdown-close).dropdown-open,.dropdown:not(.dropdown-close):not(.dropdown-hover):focus,.dropdown:not(.dropdown-close):focus-within) .dropdown-content{opacity:1;opacity:1;opacity:1;scale:1}.dropdown:not(.dropdown-close).dropdown-hover:hover .dropdown-content{opacity:1;scale:1}.dropdown:is(details){overflow:revert-layer}.dropdown:is(details) summary::-webkit-details-marker{display:none}.dropdown:where([popover]){background:0 0}.dropdown[popover]{color:inherit;position:fixed}@supports not (position-area:bottom){.dropdown[popover]{margin:auto}.dropdown[popover].dropdown-close{transform-origin:top;opacity:0;display:none;scale:.95}.dropdown[popover].dropdown-open:not(:popover-open){transform-origin:top;opacity:0;display:none;scale:.95}.dropdown[popover]::backdrop{background-color:oklab(0% none none/.3)}}:is(.dropdown[popover].dropdown-close,.dropdown[popover]:not(.dropdown-open,:popover-open)){transform-origin:top;opacity:0;display:none;scale:.95}:where(.btn){width:unset}.btn{--size:calc(var(--size-field,.25rem) * 10);--btn-p:1rem;--btn-fg:var(--color-base-content);cursor:pointer;text-align:center;vertical-align:middle;outline-offset:2px;webkit-user-select:none;-webkit-user-select:none;user-select:none;border-width:var(--border);touch-action:manipulation;--btn-bg:var(--btn-color,var(--color-base-200));--btn-border:var(--btn-color,var(--color-base-200));border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-wrap:nowrap;flex-shrink:0;justify-content:center;align-items:center;gap:.375rem;font-weight:600;transition-property:color,background-color,border-color,box-shadow,transform;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:inline-flex}@supports (color:color-mix(in lab, red, red)){.btn{--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 calc(var(--depth) * 5%))}}.btn{--btn-soft-bg:initial;--btn-shadow:0 3px 2px -2px var(--btn-bg), 0 4px 3px -2px var(--btn-bg)}@supports (color:color-mix(in lab, red, red)){.btn{--btn-shadow:0 3px 2px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000), 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000)}}.btn{--btn-inset:0 .5px 0 .5px oklch(100% 0 0 / calc(var(--depth) * 6%));height:var(--size);padding-inline:var(--btn-p);font-size:var(--fontsize,.875rem);background-color:var(--btn-bg);color:var(--btn-fg);border-color:var(--btn-border);border-style:var(--btn-border-style,solid);outline-color:var(--btn-color,var(--color-base-content));--tw-prose-links:var(--btn-fg);background-image:none, var(--fx-noise);background-size:auto, calc(var(--noise,0) * 100%);text-shadow:0 .5px oklch(100% 0 0 / calc(var(--depth) * .15));box-shadow:var(--btn-inset) inset, var(--btn-shadow)}.btn:is([type=checkbox],[type=radio]){appearance:none}.btn:is([type=checkbox],[type=radio])[aria-label]:after{--tw-content:attr(aria-label);content:var(--tw-content)}.\!loading{pointer-events:none!important;aspect-ratio:1!important;vertical-align:middle!important;width:calc(var(--size-selector,.25rem) * 6)!important;background-color:currentColor!important;display:inline-block!important;-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='8s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='6s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='6s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E")!important;mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='8s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='6s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='6s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E")!important;-webkit-mask-position:50%!important;mask-position:50%!important;-webkit-mask-size:100%!important;mask-size:100%!important;-webkit-mask-repeat:no-repeat!important;mask-repeat:no-repeat!important}@media (prefers-reduced-motion:no-preference){.\!loading{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E")!important;mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E")!important}}.loading{pointer-events:none;aspect-ratio:1;vertical-align:middle;width:calc(var(--size-selector,.25rem) * 6);background-color:currentColor;display:inline-block;-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='8s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='6s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='6s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='8s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='6s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='6s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:100%;mask-size:100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@media (prefers-reduced-motion:no-preference){.loading{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E")}}.collapse:not(td,tr,colgroup){border-radius:var(--radius-box,1rem);isolation:isolate;grid-template-rows:max-content 0fr;grid-template-columns:minmax(0,1fr);width:100%;display:grid;position:relative}@media (prefers-reduced-motion:no-preference){.collapse:not(td,tr,colgroup){transition:grid-template-rows .2s}}.collapse:not(td,tr,colgroup)>input:is([type=checkbox],[type=radio]){appearance:none;opacity:0;z-index:1;grid-row-start:1;grid-column-start:1;width:100%;min-height:1lh;padding:1rem;padding-inline-end:3rem;transition:background-color .2s ease-out}.collapse:not(td,tr,colgroup):is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close)),.collapse:not(td,tr,colgroup):not(.collapse-close):has(>input:is([type=checkbox],[type=radio]):checked){grid-template-rows:max-content 1fr}.collapse:not(td,tr,colgroup):is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close))>.collapse-content,.collapse:not(td,tr,colgroup):not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content){--overflow-delay:.2s;overflow:revert-layer;content-visibility:visible;min-height:fit-content}@supports not (content-visibility:visible){.collapse:not(td,tr,colgroup):is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close))>.collapse-content,.collapse:not(td,tr,colgroup):not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content){visibility:visible}}.collapse:not(td,tr,colgroup):focus-visible,.collapse:not(td,tr,colgroup):has(>input:is([type=checkbox],[type=radio]):focus-visible),.collapse:not(td,tr,colgroup):has(summary:focus-visible){outline-color:var(--color-base-content);outline-offset:2px;outline-width:2px;outline-style:solid}.collapse:not(td,tr,colgroup):not(.collapse-close)>input[type=checkbox],.collapse:not(td,tr,colgroup):not(.collapse-close)>input[type=radio]:not(:checked),.collapse:not(td,tr,colgroup):not(.collapse-close)>.collapse-title{cursor:pointer}:is(.collapse:not(td,tr,colgroup)[tabindex]:focus:not(.collapse-close,.collapse[open]),.collapse:not(td,tr,colgroup)[tabindex]:focus-within:not(.collapse-close,.collapse[open]))>.collapse-title{cursor:unset}.collapse:not(td,tr,colgroup):is([open],[tabindex]:focus:not(.collapse-close),[tabindex]:focus-within:not(.collapse-close))>:where(.collapse-content),.collapse:not(td,tr,colgroup):not(.collapse-close)>:where(input:is([type=checkbox],[type=radio]):checked~.collapse-content){padding-bottom:1rem}.collapse:not(td,tr,colgroup):is(details){width:100%}.collapse:not(td,tr,colgroup):is(details)::details-content{--overflow-delay:0s;height:0;overflow:clip}.collapse:not(td,tr,colgroup):is(details):where([open])::details-content{overflow:revert-layer;height:auto}@media (prefers-reduced-motion:no-preference){.collapse:not(td,tr,colgroup):is(details)::details-content{transition:overflow .2s allow-discrete var(--overflow-delay), content-visibility .2s allow-discrete, visibility .2s allow-discrete, min-height .2s ease-out allow-discrete, padding .1s ease-out 20ms, background-color .2s ease-out, height .2s;interpolate-size:allow-keywords}.collapse:not(td,tr,colgroup):is(details):where([open])::details-content{--overflow-delay:.2s}}.collapse:not(td,tr,colgroup):is(details)>summary{outline:none;display:block;position:relative}.collapse:not(td,tr,colgroup):is(details)>summary::-webkit-details-marker{display:none}.collapse-content{--overflow-delay:0s;content-visibility:hidden;min-height:0;cursor:unset;grid-row-start:2;grid-column-start:1;padding-left:1rem;padding-right:1rem;overflow:clip}@supports not (content-visibility:hidden){.collapse-content{visibility:hidden}}@media (prefers-reduced-motion:no-preference){.collapse-content{transition:overflow .2s allow-discrete var(--overflow-delay), content-visibility .2s allow-discrete, visibility .2s allow-discrete, min-height .2s ease-out allow-discrete, padding .1s ease-out 20ms, background-color .2s ease-out}}details>.collapse-content{content-visibility:visible}.filter{flex-wrap:wrap;display:flex}.filter [type=radio]{width:auto}.filter input{opacity:1;transition:visibility .1s allow-discrete, margin .1s, opacity .3s, padding .3s, border-width .1s;overflow:hidden;scale:1}.filter input.filter-reset{aspect-ratio:1}.filter input.filter-reset:after{--tw-content:"×";content:var(--tw-content)}.filter>input:not(:last-child),.filter>:not(:last-child) input{margin-inline-end:.25rem}.radial-progress{height:var(--size);width:var(--size);vertical-align:middle;box-sizing:content-box;--value:0;--size:5rem;--thickness:calc(var(--size) / 10);--radialprogress:calc(var(--value) * 1%);background-color:#0000;border-radius:3.40282e38px;flex-shrink:0;place-content:center;transition:--radialprogress .3s linear;display:inline-grid;position:relative}.radial-progress:before{content:"";background:radial-gradient(farthest-side, currentColor 98%, #0000) top/var(--thickness) var(--thickness) no-repeat, conic-gradient(currentColor var(--radialprogress), #0000 0);webkit-mask:radial-gradient(farthest-side, #0000 calc(100% - var(--thickness)), #000 calc(100% + .5px - var(--thickness)));-webkit-mask:radial-gradient(farthest-side, #0000 calc(100% - var(--thickness)), #000 calc(100% + .5px - var(--thickness)));-webkit-mask:radial-gradient(farthest-side, #0000 calc(100% - var(--thickness)), #000 calc(100% + .5px - var(--thickness)));mask:radial-gradient(farthest-side, #0000 calc(100% - var(--thickness)), #000 calc(100% + .5px - var(--thickness)));border-radius:3.40282e38px;position:absolute;inset:0}.radial-progress:after{content:"";inset:calc(50% - var(--thickness) / 2);transform:rotate(calc(var(--value) * 3.6deg - 90deg)) translate(calc(var(--size) / 2 - 50%));background-color:currentColor;border-radius:3.40282e38px;transition:transform .3s linear;position:absolute}.list{flex-direction:column;font-size:.875rem;display:flex}@supports (color:color-mix(in lab, red, red)){:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{border-color:color-mix(in oklab, var(--color-base-content) 5%, transparent)}}@supports (color:color-mix(in lab, red, red)){:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{border-color:color-mix(in oklab, var(--color-base-content) 5%, transparent)}}.list .list-row{--list-grid-cols:minmax(0, auto) 1fr;border-radius:var(--radius-box);word-break:break-word;grid-auto-flow:column;grid-template-columns:var(--list-grid-cols);gap:1rem;padding:1rem;display:grid;position:relative}@supports (color:color-mix(in lab, red, red)){:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{border-color:color-mix(in oklab, var(--color-base-content) 5%, transparent)}}:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{content:"";border-bottom:var(--border) solid;inset-inline:var(--radius-box);border-color:var(--color-base-content);position:absolute;bottom:0}@supports (color:color-mix(in lab, red, red)){:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{border-color:color-mix(in oklab, var(--color-base-content) 5%, transparent)}}.toast{translate:var(--toast-x,0) var(--toast-y,0);inset-inline:auto 1rem;background-color:#0000;flex-direction:column;gap:.5rem;width:max-content;max-width:calc(100vw - 2rem);display:flex;position:fixed;top:auto;bottom:1rem}@media (prefers-reduced-motion:no-preference){.toast>*{animation:.25s ease-out toast}}.toggle{border:var(--border) solid currentColor;color:var(--input-color);cursor:pointer;appearance:none;vertical-align:middle;webkit-user-select:none;-webkit-user-select:none;user-select:none;--radius-selector-max:calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));border-radius:calc(var(--radius-selector) + min(var(--toggle-p), var(--radius-selector-max)) + min(var(--border), var(--radius-selector-max)));padding:var(--toggle-p);flex-shrink:0;grid-template-columns:0fr 1fr 1fr;place-content:center;display:inline-grid;position:relative;box-shadow:inset 0 1px}@supports (color:color-mix(in lab, red, red)){.toggle{box-shadow:0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000) inset}}.toggle{--input-color:var(--color-base-content);transition:color .3s,grid-template-columns .2s}@supports (color:color-mix(in lab, red, red)){.toggle{--input-color:color-mix(in oklab, var(--color-base-content) 50%, #0000)}}.toggle{--toggle-p:calc(var(--size) * .125);--size:calc(var(--size-selector,.25rem) * 6);width:calc((var(--size) * 2) - (var(--border) + var(--toggle-p)) * 2);height:var(--size)}.toggle>*{z-index:1;cursor:pointer;appearance:none;background-color:#0000;border:none;grid-column:2/span 1;grid-row-start:1;height:100%;padding:.125rem;transition:opacity .2s,rotate .4s}.toggle>:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.toggle>:focus{outline-offset:2px;outline:2px solid #0000}}.toggle>:nth-child(2){color:var(--color-base-100);rotate:0deg}.toggle>:nth-child(3){color:var(--color-base-100);opacity:0;rotate:-15deg}.toggle:before{aspect-ratio:1;border-radius:var(--radius-selector);--tw-content:"";content:var(--tw-content);width:100%;height:100%;box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px currentColor;background-color:currentColor;grid-row-start:1;grid-column-start:2;transition:background-color .1s,translate .2s,inset-inline-start .2s;position:relative;inset-inline-start:0;translate:0}@supports (color:color-mix(in lab, red, red)){.toggle:before{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000)}}.toggle:before{background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise)}@media (forced-colors:active){.toggle:before{outline-style:var(--tw-outline-style);outline-offset:calc(1px * -1);outline-width:1px}}@media print{.toggle:before{outline-offset:-1rem;outline:.25rem solid}}.toggle:focus-visible{outline-offset:2px;outline:2px solid}.toggle:checked{background-color:var(--color-base-100);--input-color:var(--color-base-content);grid-template-columns:1fr 1fr 0fr}.toggle:checked:before{background-color:currentColor}@starting-style{.toggle:checked:before{opacity:0}}.toggle[aria-checked=true]{background-color:var(--color-base-100);--input-color:var(--color-base-content);grid-template-columns:1fr 1fr 0fr}.toggle[aria-checked=true]:before{background-color:currentColor}@starting-style{.toggle[aria-checked=true]:before{opacity:0}}@starting-style{}.toggle:indeterminate{grid-template-columns:.5fr 1fr .5fr}.toggle:disabled{cursor:not-allowed;opacity:.3}.toggle:disabled:before{border:var(--border) solid currentColor;background-color:#0000}.input{appearance:none;background-color:var(--color-base-100);vertical-align:middle;white-space:nowrap;--size:calc(var(--size-field,.25rem) * var(--in-size-mul,10));--input-color:var(--color-base-content);flex-shrink:1;align-items:center;gap:.5rem;padding-inline:.75rem;display:inline-flex;position:relative}@supports (color:color-mix(in lab, red, red)){.input{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.input{cursor:text;width:clamp(3rem,20rem,100%);height:var(--size);font-size:max(var(--font-size,0rem), var(--font-size-min,.875rem));touch-action:manipulation;border:var(--border) solid var(--input-color,#0000);box-shadow:0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field))}@supports (color:color-mix(in lab, red, red)){.input{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset}}.input input{appearance:none;background-color:#0000;border:none;width:100%;height:100%}.input input::placeholder{color:var(--color-base-content);opacity:.5}.input input:focus,.input input:focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.input input:focus,.input input:focus-within{outline-offset:2px;outline:2px solid #0000}}.input input::-webkit-calendar-picker-indicator{inset-inline-end:-.15em}.input::-webkit-inner-spin-button{margin-inline-end:-10px}.input::-webkit-calendar-picker-indicator{inset-inline-end:.75em}input.input{text-align:start;display:inline-flex;position:relative}input.input[type=url],input.input[type=tel],input.input[type=email],input.input[type=number]{direction:ltr}input.input::-webkit-datetime-edit{min-height:100%;text-align:inherit;align-items:center;display:grid}input.input::-webkit-date-and-time-value{min-height:100%;text-align:inherit;align-items:center;display:grid}input.input::-webkit-inner-spin-button{margin-block:calc(.25rem * var(--spin-my,-3))}input.input::-webkit-calendar-picker-indicator{cursor:pointer;width:1em;height:1em;position:absolute}input.input::-webkit-color-swatch-wrapper{padding-block:.25rem}.input input{text-align:start;display:inline-flex;position:relative}.input input[type=url],.input input[type=tel],.input input[type=email],.input input[type=number]{direction:ltr}.input input::-webkit-datetime-edit{min-height:100%;text-align:inherit;align-items:center;display:grid}.input input::-webkit-date-and-time-value{min-height:100%;text-align:inherit;align-items:center;display:grid}.input input::-webkit-inner-spin-button{margin-block:calc(.25rem * var(--spin-my,-3))}.input input::-webkit-calendar-picker-indicator{cursor:pointer;width:1em;height:1em;position:absolute}.input input::-webkit-color-swatch-wrapper{padding-block:.25rem}.input:focus{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.input:focus{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.input:focus{outline:2px solid var(--input-color);outline-offset:2px}@media (pointer:coarse){@supports (-webkit-touch-callout:none){.input:focus{--font-size:1rem}}}.input:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.input:focus-within{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.input:focus-within{outline:2px solid var(--input-color);outline-offset:2px}@media (pointer:coarse){@supports (-webkit-touch-callout:none){.input:focus-within{--font-size:1rem}}}@supports (color:color-mix(in lab, red, red)){}.input:is(:disabled,[disabled]){cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200)}.input:is(:disabled,[disabled]):is(input),.input:is(:disabled,[disabled]) :is(input){color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.input:is(:disabled,[disabled]):is(input),.input:is(:disabled,[disabled]) :is(input){color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}.input:is(:disabled,[disabled]){box-shadow:none}.input:is(:disabled,[disabled])::placeholder,.input:is(:disabled,[disabled]) ::placeholder{color:var(--color-base-content);opacity:.2}fieldset:disabled .input{cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200)}fieldset:disabled .input:is(input),fieldset:disabled .input :is(input){color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){fieldset:disabled .input:is(input),fieldset:disabled .input :is(input){color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}fieldset:disabled .input{box-shadow:none}fieldset:disabled .input::placeholder,fieldset:disabled .input ::placeholder{color:var(--color-base-content);opacity:.2}.range{appearance:none;webkit-appearance:none;--range-thumb:var(--color-base-100);--range-thumb-size:calc(var(--size-selector,.25rem) * 6);--range-progress:currentColor;--range-fill:1;--range-p:.25rem;--range-bg:currentColor}@supports (color:color-mix(in lab, red, red)){.range{--range-bg:color-mix(in oklab, currentColor 10%, #0000)}}.range{--range-fill-x:calc((var(--range-dir,1) * -100cqw) - (var(--range-dir,1) * var(--range-thumb-size) / 2));--range-fill-y:0;--range-fill-spread:calc(100cqw * var(--range-fill));cursor:pointer;vertical-align:middle;--radius-selector-max:calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));border-radius:calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));width:clamp(3rem,20rem,100%);height:var(--range-thumb-size);background-color:#0000;border:none;overflow:hidden}[dir=rtl] .range{--range-dir:-1}.range:focus{outline:none}.range:focus-visible{outline-offset:2px;outline:2px solid}.range::-webkit-slider-runnable-track{background-color:var(--range-bg);border-radius:var(--radius-selector);width:100%;height:calc(var(--range-thumb-size) * .5)}@media (forced-colors:active){.range::-webkit-slider-runnable-track{border:1px solid}.range::-moz-range-track{border:1px solid}}.range::-moz-range-track{background-color:var(--range-bg);border-radius:var(--radius-selector);width:100%;height:calc(var(--range-thumb-size) * .5)}.range::-webkit-slider-thumb{box-sizing:border-box;border-radius:calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));background-color:var(--range-thumb);height:var(--range-thumb-size);width:var(--range-thumb-size);border:var(--range-p) solid;appearance:none;webkit-appearance:none;color:var(--range-progress);box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px currentColor, 0 0 0 2rem var(--range-thumb) inset, var(--range-fill-x) var(--range-fill-y) 0 var(--range-fill-spread);position:relative;inset-block-start:50%;transform:translateY(-50%)}@supports (color:color-mix(in lab, red, red)){.range::-webkit-slider-thumb{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000), 0 0 0 2rem var(--range-thumb) inset, var(--range-fill-x) var(--range-fill-y) 0 var(--range-fill-spread)}}.range::-moz-range-thumb{box-sizing:border-box;border-radius:calc(var(--radius-selector) + min(var(--range-p), var(--radius-selector-max)));height:var(--range-thumb-size);width:var(--range-thumb-size);border:var(--range-p) solid;color:var(--range-progress);box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px currentColor, 0 0 0 2rem var(--range-thumb) inset, var(--range-fill-x) var(--range-fill-y) 0 var(--range-fill-spread);background-color:currentColor;position:relative}@supports (color:color-mix(in lab, red, red)){.range::-moz-range-thumb{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000), 0 0 0 2rem var(--range-thumb) inset, var(--range-fill-x) var(--range-fill-y) 0 var(--range-fill-spread)}}.range:disabled{cursor:not-allowed;opacity:.3}.indicator{width:max-content;display:inline-flex;position:relative}.table{border-collapse:separate;--tw-border-spacing-x:0px;--tw-border-spacing-y:0px;width:100%;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y);border-radius:var(--radius-box);text-align:left;font-size:.875rem;position:relative}.table:where(:dir(rtl),[dir=rtl],[dir=rtl] *){text-align:right}@media (hover:hover){:is(:is(.table tr.row-hover),.table tr.row-hover:nth-child(2n)):hover{background-color:var(--color-base-200);background-color:var(--color-base-200)}}.table :where(th,td){vertical-align:middle;padding-block:.75rem;padding-inline:1rem}.table :where(thead,tfoot){white-space:nowrap;color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(thead,tfoot){color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.table :where(thead,tfoot){font-size:.875rem;font-weight:600}.table :where(tfoot tr:first-child :is(td,th)){border-top:var(--border) solid var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(tfoot tr:first-child :is(td,th)){border-top:var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000)}}.table :where(.table-pin-rows thead){z-index:1;position:sticky;top:0}.table :where(.table-pin-rows tfoot){z-index:1;position:sticky;bottom:0}.table :where(.table-pin-rows :is(thead,tfoot) tr){background-color:var(--color-base-100)}.table :where(.table-pin-cols tr th){background-color:var(--color-base-100);position:sticky;left:0;right:0}.table :where(thead tr :is(td,th),tbody tr:not(:last-child) :is(td,th)){border-bottom:var(--border) solid var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.table :where(thead tr :is(td,th),tbody tr:not(:last-child) :is(td,th)){border-bottom:var(--border) solid color-mix(in oklch, var(--color-base-content) 5%, #0000)}}.indicator :where(.indicator-item){z-index:1;white-space:nowrap;top:var(--indicator-t,0);bottom:var(--indicator-b,auto);left:var(--indicator-s,auto);right:var(--indicator-e,0);translate:var(--indicator-x,50%) var(--indicator-y,-50%);position:absolute}.steps{counter-reset:step;grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid;overflow:auto hidden}.steps .step{text-align:center;--step-bg:var(--color-base-300);--step-fg:var(--color-base-content);grid-template-rows:40px 1fr;grid-template-columns:auto;place-items:center;min-width:4rem;display:grid}.steps .step:before{width:100%;height:.5rem;color:var(--step-bg);background-color:var(--step-bg);content:"";border:1px solid;grid-row-start:1;grid-column-start:1;margin-inline-start:-100%;top:0}.steps .step>.step-icon,.steps .step:not(:has(.step-icon)):after{--tw-content:counter(step);content:var(--tw-content);counter-increment:step;z-index:1;color:var(--step-fg);background-color:var(--step-bg);border:1px solid var(--step-bg);border-radius:3.40282e38px;grid-row-start:1;grid-column-start:1;place-self:center;place-items:center;width:2rem;height:2rem;display:grid;position:relative}.steps .step:first-child:before{--tw-content:none;content:var(--tw-content)}.steps .step[data-content]:after{--tw-content:attr(data-content);content:var(--tw-content)}.drawer-side>.drawer-overlay{cursor:pointer;background-color:oklch(0% 0 0/.4);place-self:stretch stretch;position:sticky;top:0}.timeline{display:flex;position:relative}.timeline>li{grid-template-rows:var(--timeline-row-start,minmax(0, 1fr)) auto var(--timeline-row-end,minmax(0, 1fr));grid-template-columns:var(--timeline-col-start,minmax(0, 1fr)) auto var(--timeline-col-end,minmax(0, 1fr));flex-shrink:0;align-items:center;display:grid;position:relative}.timeline>li>hr{border:none;width:100%}.timeline>li>hr:first-child{grid-row-start:2;grid-column-start:1}.timeline>li>hr:last-child{grid-area:2/3/auto/none}@media print{.timeline>li>hr{border:.1px solid var(--color-base-300)}}.timeline :where(hr){background-color:var(--color-base-300);height:.25rem}.timeline:not(:has(.timeline-middle)) :first-child hr:last-child{border-start-start-radius:var(--radius-selector);border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:var(--radius-selector)}.timeline:not(:has(.timeline-middle)) :last-child hr:first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.select{appearance:none;background-color:var(--color-base-100);vertical-align:middle;--size:calc(var(--size-field,.25rem) * var(--sl-size-mul,10));--input-color:var(--color-base-content);flex-shrink:1;align-items:center;gap:.375rem;padding-inline:.75rem 1.75rem;display:inline-flex;position:relative}@supports (color:color-mix(in lab, red, red)){.select{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.select{width:clamp(3rem,20rem,100%);height:var(--size);font-size:max(var(--font-size,0rem), var(--font-size-min,.875rem));touch-action:manipulation;white-space:nowrap;text-overflow:ellipsis;border:var(--border) solid var(--input-color,#0000);box-shadow:0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 20px) calc(1px + 50%),calc(100% - 16.1px) calc(1px + 50%);background-repeat:no-repeat;background-size:4px 4px,4px 4px;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));overflow:hidden}@supports (color:color-mix(in lab, red, red)){.select{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset}}[dir=rtl] .select{background-position:12px calc(1px + 50%),16px calc(1px + 50%)}.select[multiple]{background-image:none;height:auto;padding-block:.75rem;padding-inline-end:.75rem;overflow:auto}.select select{appearance:none;width:calc(100% + 2.75rem);height:calc(100% - calc(var(--border) * 2));background:inherit;border-radius:inherit;border-style:none;align-items:center;margin-inline:-.75rem -1.75rem;padding-inline:.75rem 1.75rem}.select select::placeholder{color:var(--color-base-content);opacity:.5}.select select:focus,.select select:focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.select select:focus,.select select:focus-within{outline-offset:2px;outline:2px solid #0000}}.select select:not(:last-child){background-image:none;margin-inline-end:-1.375rem}.select:focus{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.select:focus{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.select:focus{outline:2px solid var(--input-color);outline-offset:2px}.select:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.select:focus-within{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.select:focus-within{outline:2px solid var(--input-color);outline-offset:2px}.select:open{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.select:open{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.select:open{outline:2px solid var(--input-color);outline-offset:2px}.select:open{background-image:linear-gradient(135deg,#0000 50%,currentColor 50%),linear-gradient(45deg,currentColor 50%,#0000 50%)}@supports (color:color-mix(in lab, red, red)){}.select:is(:disabled,[disabled]){cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200)}.select:is(:disabled,[disabled]):is(select),.select:is(:disabled,[disabled]) :is(select){color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.select:is(:disabled,[disabled]):is(select),.select:is(:disabled,[disabled]) :is(select){color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}.select:is(:disabled,[disabled]){box-shadow:none}.select:is(:disabled,[disabled])::placeholder,.select:is(:disabled,[disabled]) ::placeholder{color:var(--color-base-content);opacity:.2}fieldset:disabled .select{cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200)}fieldset:disabled .select:is(select),fieldset:disabled .select :is(select){color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){fieldset:disabled .select:is(select),fieldset:disabled .select :is(select){color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}fieldset:disabled .select{box-shadow:none}fieldset:disabled .select::placeholder,fieldset:disabled .select ::placeholder{color:var(--color-base-content);opacity:.2}@supports (appearance:base-select){:is(.select,.select select){appearance:base-select}:is(.select,.select select)::picker(select){appearance:base-select}}:is(.select,.select select)::picker(select){color:inherit;border:var(--border) solid var(--color-base-200);border-radius:var(--radius-box);background-color:inherit;max-height:min(24rem,70dvh);box-shadow:0 2px calc(var(--depth) * 3px) -2px oklch(0% 0 0/.2);box-shadow:0 20px 25px -5px rgb(0 0 0/calc(var(--depth) * .1)), 0 8px 10px -6px rgb(0 0 0/calc(var(--depth) * .1));margin-block:.5rem;margin-inline:.5rem;padding:.5rem;translate:-.5rem}:is(.select,.select select)::picker-icon{display:none}:is(.select,.select select) selectedcontent{text-overflow:ellipsis;white-space:nowrap;white-space:nowrap;width:100%;overflow:hidden}:is(.select,.select select) optgroup{padding-top:.5em}:is(.select,.select select) optgroup option:first-child{margin-top:.5em}@supports (color:color-mix(in lab, red, red)){:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}@media (forced-colors:active){:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{outline-offset:2px;outline:2px solid #0000}}:is(.select,.select select) option{border-radius:var(--radius-field);padding-block:.375rem;padding-inline:calc(.25rem * var(--option-px,3));white-space:normal;transition-property:color,background-color;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{outline-offset:2px;outline:2px solid #0000}}:is(.select,.select select) option:not(:disabled):active{background-color:var(--color-neutral);color:var(--color-neutral-content);box-shadow:0 2px calc(var(--depth) * 3px) -2px var(--color-neutral)}[dir=rtl] .select::picker(select){translate:.5rem}[dir=rtl] .select select::picker(select){translate:.5rem}.avatar-group .avatar{border:4px solid var(--color-base-100);border-radius:3.40282e38px;overflow:hidden}.avatar{vertical-align:middle;align-self:center;display:inline-flex;position:relative}.avatar>div{aspect-ratio:1;display:block;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.checkbox{border:var(--border) solid var(--input-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.checkbox{border:var(--border) solid var(--input-color,color-mix(in oklab, var(--color-base-content) 20%, #0000))}}.checkbox{cursor:pointer;appearance:none;border-radius:var(--radius-selector);vertical-align:middle;color:var(--color-base-content);box-shadow:0 1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 0 #0000 inset, 0 0 #0000;--size:calc(var(--size-selector,.25rem) * 6);width:var(--size);height:var(--size);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);flex-shrink:0;padding:.25rem;transition:background-color .2s,box-shadow .2s;display:inline-block;position:relative}.checkbox:before{--tw-content:"";content:var(--tw-content);opacity:0;clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 80%,70% 80%,70% 100%);width:100%;height:100%;box-shadow:0px 3px 0 0px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;background-color:currentColor;font-size:1rem;line-height:.75;transition:clip-path .3s .1s,opacity .1s .1s,rotate .3s .1s,translate .3s .1s;display:block;rotate:45deg}.checkbox:focus-visible{outline:2px solid var(--input-color,currentColor);outline-offset:2px}.checkbox:checked{background-color:var(--input-color,#0000);box-shadow:0 0 #0000 inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * .1))}.checkbox:checked:before{clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 0%,70% 0%,70% 100%);opacity:1}@media (forced-colors:active){.checkbox:checked:before{--tw-content:"✔︎";clip-path:none;background-color:#0000;rotate:0deg}}@media print{.checkbox:checked:before{--tw-content:"✔︎";clip-path:none;background-color:#0000;rotate:0deg}}.checkbox[aria-checked=true]{background-color:var(--input-color,#0000);box-shadow:0 0 #0000 inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * .1))}.checkbox[aria-checked=true]:before{clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 0%,70% 0%,70% 100%);opacity:1}@media (forced-colors:active){.checkbox[aria-checked=true]:before{--tw-content:"✔︎";clip-path:none;background-color:#0000;rotate:0deg}}@media print{.checkbox[aria-checked=true]:before{--tw-content:"✔︎";clip-path:none;background-color:#0000;rotate:0deg}}.checkbox:indeterminate{background-color:var(--input-color,var(--color-base-content))}@supports (color:color-mix(in lab, red, red)){.checkbox:indeterminate{background-color:var(--input-color,color-mix(in oklab, var(--color-base-content) 20%, #0000))}}.checkbox:indeterminate:before{opacity:1;clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 80%,80% 80%,80% 100%);translate:0 -35%;rotate:0deg}.radio{cursor:pointer;appearance:none;vertical-align:middle;border:var(--border) solid var(--input-color,currentColor);border-radius:3.40282e38px;flex-shrink:0;padding:.25rem;display:inline-block;position:relative}@supports (color:color-mix(in lab, red, red)){.radio{border:var(--border) solid var(--input-color,color-mix(in srgb, currentColor 20%, #0000))}}.radio{box-shadow:0 1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset;--size:calc(var(--size-selector,.25rem) * 6);width:var(--size);height:var(--size);color:var(--input-color,currentColor)}.radio:before{--tw-content:"";content:var(--tw-content);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);border-radius:3.40282e38px;width:100%;height:100%;display:block}.radio:focus-visible{outline:2px solid}.radio:checked{background-color:var(--color-base-100);border-color:currentColor}@media (prefers-reduced-motion:no-preference){.radio:checked{animation:.2s ease-out radio}}.radio:checked:before{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * .1));background-color:currentColor}@media (forced-colors:active){.radio:checked:before{outline-style:var(--tw-outline-style);outline-offset:calc(1px * -1);outline-width:1px}}@media print{.radio:checked:before{outline-offset:-1rem;outline:.25rem solid}}.radio[aria-checked=true]{background-color:var(--color-base-100);border-color:currentColor}@media (prefers-reduced-motion:no-preference){.radio[aria-checked=true]{animation:.2s ease-out radio}}.radio[aria-checked=true]:before{box-shadow:0 -1px oklch(0% 0 0 / calc(var(--depth) * .1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px oklch(0% 0 0 / calc(var(--depth) * .1));background-color:currentColor}@media (forced-colors:active){.radio[aria-checked=true]:before{outline-style:var(--tw-outline-style);outline-offset:calc(1px * -1);outline-width:1px}}@media print{.radio[aria-checked=true]:before{outline-offset:-1rem;outline:.25rem solid}}.navbar{align-items:center;width:100%;min-height:4rem;padding:.5rem;display:flex}.drawer{grid-auto-columns:max-content auto;width:100%;display:grid;position:relative}.card-body{padding:var(--card-p,1.5rem);font-size:var(--card-fs,.875rem);flex-direction:column;flex:auto;gap:.5rem;display:flex}.card{border-radius:var(--radius-box);outline-offset:2px;outline:2px solid #0000;flex-direction:column;transition:outline .2s ease-in-out;display:flex;position:relative}.card:focus-visible,.card[aria-checked=true]{outline-color:currentColor}.card[aria-checked=true]:focus-visible{outline-width:4px}.card>:is([type=checkbox],[type=radio]){appearance:none}.stats{border-radius:var(--radius-box);grid-auto-flow:column;display:inline-grid;position:relative;overflow-x:auto}.progress{appearance:none;border-radius:var(--radius-box);background-color:currentColor;width:100%;height:.5rem;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.progress{background-color:color-mix(in oklab, currentcolor 20%, transparent)}}.progress{color:var(--color-base-content)}.progress:indeterminate{background-image:repeating-linear-gradient(90deg,currentColor -1% 10%,#0000 10% 90%);background-position-x:15%;background-size:200%}@media (prefers-reduced-motion:no-preference){.progress:indeterminate{animation:5s ease-in-out infinite progress}}@supports ((-moz-appearance:none)){.progress:indeterminate::-moz-progress-bar{background-color:#0000}@media (prefers-reduced-motion:no-preference){.progress:indeterminate::-moz-progress-bar{background-image:repeating-linear-gradient(90deg,currentColor -1% 10%,#0000 10% 90%);background-position-x:15%;background-size:200%;animation:5s ease-in-out infinite progress}}.progress::-moz-progress-bar{border-radius:var(--radius-box);background-color:currentColor}@media (prefers-reduced-motion:no-preference){.progress::-moz-progress-bar{transition:inline-size .3s}}}@supports ((-webkit-appearance:none)){.progress::-webkit-progress-bar{border-radius:var(--radius-box);background-color:#0000}.progress::-webkit-progress-value{border-radius:var(--radius-box);background-color:currentColor}@media (prefers-reduced-motion:no-preference){.progress::-webkit-progress-value{transition:inline-size .3s}}}.file-input{border:var(--border) solid #0000;cursor:pointer;appearance:none;background-color:var(--color-base-100);vertical-align:middle;webkit-user-select:none;-webkit-user-select:none;user-select:none;width:clamp(3rem,20rem,100%);height:var(--size);border-color:var(--input-color);box-shadow:0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));align-items:center;padding-inline-end:.75rem;font-size:.875rem;line-height:2;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.file-input{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset}}.file-input{--size:calc(var(--size-field,.25rem) * 10);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.file-input{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.file-input::file-selector-button{cursor:pointer;webkit-user-select:none;-webkit-user-select:none;user-select:none;height:calc(100% + var(--border) * 2);margin-inline-end:1rem;margin-block:calc(var(--border) * -1);color:var(--btn-fg);border-width:var(--border);border-style:solid;border-color:var(--btn-border);background-color:var(--btn-bg);background-size:calc(var(--noise) * 100%);background-image:var(--fx-noise);text-shadow:0 .5px oklch(1 0 0 / calc(var(--depth) * .15));box-shadow:0 .5px 0 .5px white inset, var(--btn-shadow);border-start-start-radius:calc(var(--join-ss,var(--radius-field) - var(--border)));border-end-start-radius:calc(var(--join-es,var(--radius-field) - var(--border)));margin-inline-start:calc(var(--border) * -1);padding-inline:1rem;font-size:.875rem;font-weight:600}@supports (color:color-mix(in lab, red, red)){.file-input::file-selector-button{box-shadow:0 .5px 0 .5px color-mix(in oklab, color-mix(in oklab, white 30%, var(--btn-bg)) calc(var(--depth) * 20%), #0000) inset, var(--btn-shadow)}}.file-input::file-selector-button{--size:calc(var(--size-field,.25rem) * 10);--btn-bg:var(--btn-color,var(--color-base-200));--btn-fg:var(--color-base-content);--btn-border:var(--btn-bg)}@supports (color:color-mix(in lab, red, red)){.file-input::file-selector-button{--btn-border:color-mix(in oklab, var(--btn-bg), #000 5%)}}.file-input::file-selector-button{--btn-shadow:0 3px 2px -2px var(--btn-bg), 0 4px 3px -2px var(--btn-bg)}@supports (color:color-mix(in lab, red, red)){.file-input::file-selector-button{--btn-shadow:0 3px 2px -2px color-mix(in oklab, var(--btn-bg) 30%, #0000), 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) 30%, #0000)}}.file-input:focus{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.file-input:focus{box-shadow:0 1px color-mix(in oklab, var(--input-color) 10%, #0000)}}.file-input:focus{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}@supports (color:color-mix(in lab, red, red)){}@supports (color:color-mix(in lab, red, red)){}@supports (color:color-mix(in lab, red, red)){}.file-input:is(:disabled,[disabled]){cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200)}.file-input:is(:disabled,[disabled])::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.file-input:is(:disabled,[disabled])::placeholder{color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.file-input:is(:disabled,[disabled]){box-shadow:none;color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.file-input:is(:disabled,[disabled]){color:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.file-input:is(:disabled,[disabled])::file-selector-button{cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);--btn-border:#0000;--btn-fg:var(--color-base-content);background-image:none}@supports (color:color-mix(in lab, red, red)){.file-input:is(:disabled,[disabled])::file-selector-button{--btn-fg:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.textarea{appearance:none;border-radius:var(--radius-field);background-color:var(--color-base-100);vertical-align:middle;--input-color:var(--color-base-content);flex-shrink:1;min-height:5rem;padding-block:.5rem;padding-inline:.75rem}@supports (color:color-mix(in lab, red, red)){.textarea{--input-color:color-mix(in oklab, var(--color-base-content) 20%, #0000)}}.textarea{width:clamp(3rem,20rem,100%);font-size:max(var(--font-size,0rem), var(--font-size-min,.875rem));touch-action:manipulation;border:var(--border) solid var(--input-color,#0000);box-shadow:0 1px var(--input-color) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset}@supports (color:color-mix(in lab, red, red)){.textarea{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000) inset, 0 -1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset}}.textarea textarea{appearance:none;background-color:#0000;border:none}.textarea textarea::placeholder{color:var(--color-base-content);opacity:.5}.textarea textarea:focus,.textarea textarea:focus-within{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.textarea textarea:focus,.textarea textarea:focus-within{outline-offset:2px;outline:2px solid #0000}}.textarea:focus{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.textarea:focus{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.textarea:focus{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}@media (pointer:coarse){@supports (-webkit-touch-callout:none){.textarea:focus{--font-size:1rem}}}.textarea:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab, red, red)){.textarea:focus-within{box-shadow:0 1px color-mix(in oklab, var(--input-color) calc(var(--depth) * 10%), #0000)}}.textarea:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}@media (pointer:coarse){@supports (-webkit-touch-callout:none){.textarea:focus-within{--font-size:1rem}}}@supports (color:color-mix(in lab, red, red)){}.textarea:is(:disabled,[disabled]){cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.textarea:is(:disabled,[disabled]){color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}.textarea:is(:disabled,[disabled]){box-shadow:none}.textarea:is(:disabled,[disabled])::placeholder,.textarea:is(:disabled,[disabled]) ::placeholder{color:var(--color-base-content);opacity:.2}.stack{grid-template-rows:3px 4px 1fr 4px 3px;grid-template-columns:3px 4px 1fr 4px 3px;display:inline-grid}.stack>*{width:100%;height:100%}.stack>:nth-child(n+2){opacity:.7;width:100%}.stack>:nth-child(2){z-index:2;opacity:.9}.stack>:first-child{z-index:3;width:100%}.timeline-start{grid-area:1/1/2/4;place-self:flex-end center;margin:.25rem}.timeline-end{grid-area:3/1/4/4;place-self:flex-start center;margin:.25rem}.modal-box{background-color:var(--color-base-100);border-top-left-radius:var(--modal-tl,var(--radius-box));border-top-right-radius:var(--modal-tr,var(--radius-box));border-bottom-left-radius:var(--modal-bl,var(--radius-box));border-bottom-right-radius:var(--modal-br,var(--radius-box));opacity:0;overscroll-behavior:contain;grid-row-start:1;grid-column-start:1;width:91.6667%;max-width:32rem;max-height:100vh;padding:1.5rem;transition:translate .3s ease-out,scale .3s ease-out,opacity .2s ease-out 50ms,box-shadow .3s ease-out;overflow-y:auto;scale:.95;box-shadow:0 25px 50px -12px oklch(0% 0 0/.25)}.drawer-content{grid-row-start:1;grid-column-start:2;min-width:0}.timeline-middle{grid-row-start:2;grid-column-start:2}.stat-value{white-space:nowrap;grid-column-start:1;font-size:2rem;font-weight:650}.stat-desc{white-space:nowrap;color:var(--color-base-content);grid-column-start:1}@supports (color:color-mix(in lab, red, red)){.stat-desc{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.stat-desc{font-size:.75rem}.stat-title{white-space:nowrap;color:var(--color-base-content);grid-column-start:1}@supports (color:color-mix(in lab, red, red)){.stat-title{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.stat-title{font-size:.75rem}.breadcrumbs{max-width:100%;padding-block:.5rem;overflow-x:auto}.breadcrumbs>menu{white-space:nowrap;align-items:center;min-height:min-content;display:flex}.breadcrumbs>menu>li{align-items:center;display:flex}.breadcrumbs>menu>li>*{cursor:pointer;align-items:center;gap:.5rem;display:flex}@media (hover:hover){.breadcrumbs>menu>li>:hover{text-decoration-line:underline}}.breadcrumbs>menu>li>:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.breadcrumbs>menu>li>:focus{outline-offset:2px;outline:2px solid #0000}}.breadcrumbs>menu>li>:focus-visible{outline-offset:2px;outline:2px solid}.breadcrumbs>menu>li+:before{content:"";opacity:.4;background-color:#0000;border-top:1px solid;border-right:1px solid;width:.375rem;height:.375rem;margin-inline:.5rem .75rem;display:block;rotate:45deg}[dir=rtl] :is(.breadcrumbs>menu>li)+:before{rotate:-135deg}.breadcrumbs>ul{white-space:nowrap;align-items:center;min-height:min-content;display:flex}.breadcrumbs>ul>li{align-items:center;display:flex}.breadcrumbs>ul>li>*{cursor:pointer;align-items:center;gap:.5rem;display:flex}@media (hover:hover){.breadcrumbs>ul>li>:hover{text-decoration-line:underline}}.breadcrumbs>ul>li>:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.breadcrumbs>ul>li>:focus{outline-offset:2px;outline:2px solid #0000}}.breadcrumbs>ul>li>:focus-visible{outline-offset:2px;outline:2px solid}.breadcrumbs>ul>li+:before{content:"";opacity:.4;background-color:#0000;border-top:1px solid;border-right:1px solid;width:.375rem;height:.375rem;margin-inline:.5rem .75rem;display:block;rotate:45deg}[dir=rtl] :is(.breadcrumbs>ul>li)+:before{rotate:-135deg}.breadcrumbs>ol{white-space:nowrap;align-items:center;min-height:min-content;display:flex}.breadcrumbs>ol>li{align-items:center;display:flex}.breadcrumbs>ol>li>*{cursor:pointer;align-items:center;gap:.5rem;display:flex}@media (hover:hover){.breadcrumbs>ol>li>:hover{text-decoration-line:underline}}.breadcrumbs>ol>li>:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.breadcrumbs>ol>li>:focus{outline-offset:2px;outline:2px solid #0000}}.breadcrumbs>ol>li>:focus-visible{outline-offset:2px;outline:2px solid}.breadcrumbs>ol>li+:before{content:"";opacity:.4;background-color:#0000;border-top:1px solid;border-right:1px solid;width:.375rem;height:.375rem;margin-inline:.5rem .75rem;display:block;rotate:45deg}[dir=rtl] :is(.breadcrumbs>ol>li)+:before{rotate:-135deg}.label{white-space:nowrap;color:currentColor;align-items:center;gap:.375rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.label{color:color-mix(in oklab, currentcolor 60%, transparent)}}@supports (color:color-mix(in lab, red, red)){.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border) solid color-mix(in oklab, currentColor 10%, #0000)}}@supports (color:color-mix(in lab, red, red)){.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border) solid color-mix(in oklab, currentColor 10%, #0000)}}.label\!{white-space:nowrap!important;color:currentColor!important;align-items:center!important;gap:.375rem!important;display:inline-flex!important}@supports (color:color-mix(in lab, red, red)){.label\!{color:color-mix(in oklab, currentcolor 60%, transparent)!important}}.label\!:has(input){cursor:pointer!important}.label\!:is(.input>*,.select>*){white-space:nowrap!important;height:calc(100% - .5rem)!important;font-size:inherit!important;align-items:center!important;padding-inline:.75rem!important;display:flex!important}.label\!:is(.input>*,.select>*):first-child{border-inline-end:var(--border) solid currentColor!important;margin-inline:-.75rem .75rem!important}@supports (color:color-mix(in lab, red, red)){.label\!:is(.input>*,.select>*):first-child{border-inline-end:var(--border) solid color-mix(in oklab, currentColor 10%, #0000)!important}}.label\!:is(.input>*,.select>*):last-child{border-inline-start:var(--border) solid currentColor!important;margin-inline:.75rem -.75rem!important}@supports (color:color-mix(in lab, red, red)){.label\!:is(.input>*,.select>*):last-child{border-inline-start:var(--border) solid color-mix(in oklab, currentColor 10%, #0000)!important}}@supports (color:color-mix(in lab, red, red)){.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border) solid color-mix(in oklab, currentColor 10%, #0000)}}@supports (color:color-mix(in lab, red, red)){.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border) solid color-mix(in oklab, currentColor 10%, #0000)}}.label:is(.input>*,.select>*){white-space:nowrap;height:calc(100% - .5rem);font-size:inherit;align-items:center;padding-inline:.75rem;display:flex}.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border) solid currentColor;margin-inline:-.75rem .75rem}@supports (color:color-mix(in lab, red, red)){.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border) solid color-mix(in oklab, currentColor 10%, #0000)}}.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border) solid currentColor;margin-inline:.75rem -.75rem}@supports (color:color-mix(in lab, red, red)){.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border) solid color-mix(in oklab, currentColor 10%, #0000)}}.fieldset-legend{color:var(--color-base-content);margin-bottom:-.25rem;justify-content:space-between;align-items:center;gap:.5rem;margin-inline-end:auto;padding-block:.5rem;font-weight:600;display:flex}.modal-action{justify-content:flex-end;gap:.5rem;margin-top:1.5rem;display:flex}.status{aspect-ratio:1;border-radius:var(--radius-selector);background-color:var(--color-base-content);width:.5rem;height:.5rem;display:inline-block}@supports (color:color-mix(in lab, red, red)){.status{background-color:color-mix(in oklab, var(--color-base-content) 20%, transparent)}}.status{vertical-align:middle;color:#0000004d;background-position:50%;background-repeat:no-repeat}@supports (color:color-mix(in lab, red, red)){.status{color:color-mix(in oklab, var(--color-black) 30%, transparent)}}.status{background-image:radial-gradient(circle at 35% 30%, oklch(1 0 0 / calc(var(--depth) * .5)), #0000);box-shadow:0 2px 3px -1px}@supports (color:color-mix(in lab, red, red)){.status{box-shadow:0 2px 3px -1px color-mix(in oklab, currentColor calc(var(--depth) * 100%), #0000)}}.badge{border-radius:var(--radius-selector);vertical-align:middle;color:var(--badge-fg);border:var(--border) solid var(--badge-color,var(--color-base-200));background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);background-color:var(--badge-bg);--badge-bg:var(--badge-color,var(--color-base-100));--badge-fg:var(--color-base-content);--size:calc(var(--size-selector,.25rem) * 6);width:fit-content;height:var(--size);padding-inline:calc(var(--size) / 2 - var(--border));justify-content:center;align-items:center;gap:.5rem;font-size:.875rem;display:inline-flex}.footer{grid-auto-flow:row;place-items:start;gap:2.5rem 1rem;width:100%;font-size:.875rem;line-height:1.25rem;display:grid}.footer>:not(script,style,template){place-items:start;gap:.5rem;display:grid}.stat{grid-template-columns:repeat(1,1fr);column-gap:1rem;width:100%;padding-block:1rem;padding-inline:1.5rem;display:inline-grid}.stat:not(:last-child){border-inline-end:var(--border) dashed currentColor}@supports (color:color-mix(in lab, red, red)){.stat:not(:last-child){border-inline-end:var(--border) dashed color-mix(in oklab, currentColor 10%, #0000)}}.stat:not(:last-child){border-block-end:none}.navbar-end{justify-content:flex-end;align-items:center;width:50%;display:inline-flex}.navbar-start{justify-content:flex-start;align-items:center;width:50%;display:inline-flex}.navbar-center{flex-shrink:0;align-items:center;display:inline-flex}.fieldset-label{color:var(--color-base-content);align-items:center;gap:.375rem;display:flex}@supports (color:color-mix(in lab, red, red)){.fieldset-label{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.alert{--alert-border-color:var(--color-base-200);border-radius:var(--radius-box);color:var(--color-base-content);background-color:var(--alert-color,var(--color-base-200));text-align:start;background-size:auto, calc(var(--noise) * 33%);background-image:none, var(--fx-noise);box-shadow:0 3px 0 -2px oklch(100% 0 0 / calc(var(--depth) * .08)) inset, 0 1px #000, 0 4px 3px -2px oklch(0% 0 0 / calc(var(--depth) * .08));border-style:solid;grid-template-columns:auto;grid-auto-flow:column;justify-content:start;place-items:center start;gap:1rem;padding-block:.75rem;padding-inline:1rem;font-size:.875rem;line-height:1.25rem;display:grid}@supports (color:color-mix(in lab, red, red)){.alert{box-shadow:0 3px 0 -2px oklch(100% 0 0 / calc(var(--depth) * .08)) inset, 0 1px color-mix(in oklab, color-mix(in oklab, #000 20%, var(--alert-color,var(--color-base-200))) calc(var(--depth) * 20%), #0000), 0 4px 3px -2px oklch(0% 0 0 / calc(var(--depth) * .08))}}.fieldset{grid-template-columns:1fr;grid-auto-rows:max-content;gap:.375rem;padding-block:.25rem;font-size:.75rem;display:grid}.chat{--mask-chat:url("data:image/svg+xml,%3csvg width='13' height='13' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='M0 11.5004C0 13.0004 2 13.0004 2 13.0004H12H13V0.00036329L12.5 0C12.5 0 11.977 2.09572 11.8581 2.50033C11.6075 3.35237 10.9149 4.22374 9 5.50036C6 7.50036 0 10.0004 0 11.5004Z'/%3e%3c/svg%3e");grid-auto-rows:min-content;column-gap:.75rem;padding-block:.25rem;display:grid}.card-title{font-size:var(--cardtitle-fs,1.125rem);align-items:center;gap:.5rem;font-weight:600;display:flex}.mask{vertical-align:middle;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.menu .dropdown:focus-within .menu-dropdown-toggle:after{translate:0 1px;rotate:45deg}.skeleton{border-radius:var(--radius-box);background-color:var(--color-base-300);will-change:background-position;background-image:linear-gradient(105deg, #0000 0% 40%, var(--color-base-100) 50%, #0000 60% 100%);background-position-x:-50%;background-size:200%}@media (prefers-reduced-motion:reduce){.skeleton{transition-duration:15s}}@media (prefers-reduced-motion:no-preference){.skeleton{animation:1.8s ease-in-out infinite skeleton}}.link{cursor:pointer;text-decoration-line:underline}.link:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.link:focus{outline-offset:2px;outline:2px solid #0000}}.link:focus-visible{outline-offset:2px;outline:2px solid}.timeline-box{border:var(--border) solid;border-radius:var(--radius-box);border-color:var(--color-base-300);background-color:var(--color-base-100);padding-block:.5rem;padding-inline:1rem;font-size:.75rem;box-shadow:0 1px 2px oklch(0% 0 0/.05)}.btn-ghost{--btn-bg:#0000;color:var(--btn-rest-fg,var(--btn-color,var(--color-base-content,currentColor)));--btn-border:#0000;--btn-inset:0 0 0 0 oklch(0% 0 0/0);--btn-shadow:0 0 0 0 oklch(0% 0 0/0);background-image:none}}@layer daisyui.l1.l2{@starting-style{.modal.modal-open{opacity:0}}.modal[open]{pointer-events:auto;visibility:visible;opacity:1;transition:visibility 0s allow-discrete, background-color .3s ease-out, opacity .1s ease-out;background-color:oklch(0% 0 0/.4)}.modal[open]>.modal-box{opacity:1;translate:0;scale:1}:root:has(.modal[open]){--page-scroll-lock: }@starting-style{.modal[open]{opacity:0}}.modal:popover-open{pointer-events:auto;visibility:visible;opacity:1;transition:visibility 0s allow-discrete, background-color .3s ease-out, opacity .1s ease-out;background-color:oklch(0% 0 0/.4)}.modal:popover-open>.modal-box{opacity:1;translate:0;scale:1}:root:has(.modal:popover-open){--page-scroll-lock: }@starting-style{.modal:popover-open{opacity:0}}.modal:target{pointer-events:auto;visibility:visible;opacity:1;transition:visibility 0s allow-discrete, background-color .3s ease-out, opacity .1s ease-out;background-color:oklch(0% 0 0/.4)}.modal:target>.modal-box{opacity:1;translate:0;scale:1}:root:has(.modal:target){--page-scroll-lock: }@starting-style{.modal:target{opacity:0}}.modal-toggle:checked+.modal{pointer-events:auto;visibility:visible;opacity:1;transition:visibility 0s allow-discrete, background-color .3s ease-out, opacity .1s ease-out;background-color:oklch(0% 0 0/.4)}.modal-toggle:checked+.modal>.modal-box{opacity:1;translate:0;scale:1}:root:has(.modal-toggle:checked+.modal){--page-scroll-lock: }@starting-style{.modal-toggle:checked+.modal{opacity:0}}.drawer-open>.drawer-side{overflow-y:auto}:where(.drawer-toggle:checked~.drawer-side){pointer-events:auto;visibility:visible;opacity:1;overflow-y:auto}:where(.drawer-toggle:checked~.drawer-side)>:not(.drawer-overlay){translate:0%}.drawer-end>.drawer-toggle~.drawer-side{grid-column-start:2;justify-items:end}.drawer-end>.drawer-toggle~.drawer-side>:not(.drawer-overlay){translate:100%}[dir=rtl] :is(.drawer-end>.drawer-toggle~.drawer-side>:not(.drawer-overlay)){translate:-100%}.drawer-end>.drawer-toggle:checked~.drawer-side>:not(.drawer-overlay){translate:0%}.drawer-open>.drawer-toggle{display:none}.drawer-open>.drawer-toggle~.drawer-side{pointer-events:auto;visibility:visible;overscroll-behavior:auto;opacity:1;width:auto;display:block;position:sticky}.drawer-open>.drawer-toggle~.drawer-side>.drawer-overlay{cursor:default;background-color:#0000}.drawer-open>.drawer-toggle:checked~.drawer-side{pointer-events:auto;visibility:visible}.modal.modal-open{pointer-events:auto;visibility:visible;opacity:1;transition:visibility 0s allow-discrete, background-color .3s ease-out, opacity .1s ease-out;background-color:oklch(0% 0 0/.4)}.modal.modal-open>.modal-box{opacity:1;translate:0;scale:1}:root:has(.modal.modal-open){--page-scroll-lock: }@starting-style{.modal.modal-open{opacity:0}}.tabs-lift>.tab{--tab-border:0 0 var(--border) 0;--tab-radius-ss:var(--tab-radius-limit);--tab-radius-se:var(--tab-radius-limit);--tab-radius-es:0;--tab-radius-ee:0;--tab-paddings:var(--border) var(--tab-p) 0 var(--tab-p);--tab-border-colors:#0000 #0000 var(--tab-border-color) #0000;--tab-corner-width:calc(100% + var(--tab-radius-limit) * 2);--tab-corner-height:var(--tab-radius-limit);--tab-corner-position:top left, top right;border-width:var(--tab-border);padding:var(--tab-paddings);border-color:var(--tab-border-colors);border-start-start-radius:var(--tab-radius-ss);border-start-end-radius:var(--tab-radius-se);border-end-end-radius:var(--tab-radius-ee);border-end-start-radius:var(--tab-radius-es)}.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked)){--tab-border:var(--border) var(--border) 0 var(--border);--tab-border-colors:var(--tab-border-color) var(--tab-border-color) #0000 var(--tab-border-color);--tab-paddings:0 calc(var(--tab-p) - var(--border)) var(--border) calc(var(--tab-p) - var(--border));--tab-inset:auto auto 0 auto;--radius-start:radial-gradient(circle at top left, var(--tab-radius-grad));--radius-end:radial-gradient(circle at top right, var(--tab-radius-grad));background-color:var(--tab-bg)}:is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):before{z-index:1;content:"";width:var(--tab-corner-width);height:var(--tab-corner-height);background-position:var(--tab-corner-position);background-image:var(--radius-start), var(--radius-end);background-size:var(--tab-radius-limit) var(--tab-radius-limit);inset:var(--tab-inset);background-repeat:no-repeat;display:block;position:absolute}:is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):first-child:before{--radius-start:none}[dir=rtl] :is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):first-child:before{transform:rotateY(180deg)}:is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):last-child:before{--radius-end:none}[dir=rtl] :is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):last-child:before{transform:rotateY(180deg)}.tabs-top>.tab{--tab-order:0;--tab-border:0 0 var(--border) 0;--tab-radius-ss:var(--tab-radius-limit);--tab-radius-se:var(--tab-radius-limit);--tab-radius-es:0;--tab-radius-ee:0;--tab-paddings:var(--border) var(--tab-p) 0 var(--tab-p);--tab-border-colors:#0000 #0000 var(--tab-border-color) #0000;--tab-corner-width:calc(100% + var(--tab-radius-limit) * 2);--tab-corner-height:var(--tab-radius-limit);--tab-corner-position:top left, top right}.tabs-top>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-top>.tab:is(input:checked),.tabs-top>.tab:is(label:has(:checked)){--tab-border:var(--border) var(--border) 0 var(--border);--tab-border-colors:var(--tab-border-color) var(--tab-border-color) #0000 var(--tab-border-color);--tab-paddings:0 calc(var(--tab-p) - var(--border)) var(--border) calc(var(--tab-p) - var(--border));--tab-inset:auto auto 0 auto;--radius-start:radial-gradient(circle at top left, var(--tab-radius-grad));--radius-end:radial-gradient(circle at top right, var(--tab-radius-grad))}.tabs-bottom>.tab{--tab-order:1;--tab-border:var(--border) 0 0 0;--tab-radius-ss:0;--tab-radius-se:0;--tab-radius-es:var(--tab-radius-limit);--tab-radius-ee:var(--tab-radius-limit);--tab-border-colors:var(--tab-border-color) #0000 #0000 #0000;--tab-paddings:0 var(--tab-p) var(--border) var(--tab-p);--tab-corner-width:calc(100% + var(--tab-radius-limit) * 2);--tab-corner-height:var(--tab-radius-limit);--tab-corner-position:top left, top right}.tabs-bottom>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-bottom>.tab:is(input:checked),.tabs-bottom>.tab:is(label:has(:checked)){--tab-border:0 var(--border) var(--border) var(--border);--tab-border-colors:#0000 var(--tab-border-color) var(--tab-border-color) var(--tab-border-color);--tab-paddings:var(--border) calc(var(--tab-p) - var(--border)) 0 calc(var(--tab-p) - var(--border));--tab-inset:0 auto auto auto;--radius-start:radial-gradient(circle at bottom left, var(--tab-radius-grad));--radius-end:radial-gradient(circle at bottom right, var(--tab-radius-grad))}.tabs-xs>.tab{--tab-p:.375rem;--tab-radius-min:calc(.5rem - var(--border));font-size:.75rem}.tabs-md>.tab{--tab-p:.75rem;--tab-radius-min:calc(.75rem - var(--border));font-size:.875rem}.tabs-lg>.tab{--tab-p:1rem;--tab-radius-min:calc(1.5rem - var(--border));font-size:1.125rem}.tabs-xl>.tab{--tab-p:1.25rem;--tab-radius-min:calc(2rem - var(--border));font-size:1.125rem}@media (prefers-reduced-motion:no-preference){.collapse-arrow>.collapse-title:after{transition-property:all;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}}.collapse-plus>.collapse-title:after{width:.5rem;height:.5rem;display:block;position:absolute}@media (prefers-reduced-motion:no-preference){.collapse-plus>.collapse-title:after{transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}}.collapse-plus>.collapse-title:after{--tw-content:"+";content:var(--tw-content);pointer-events:none;top:.9rem;inset-inline-end:1.4rem}.collapse-arrow>.collapse-title:after{width:.5rem;height:.5rem;display:block;position:absolute;transform:translateY(-100%)rotate(45deg)}@media (prefers-reduced-motion:no-preference){.collapse-arrow>.collapse-title:after{transition-property:all;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}}.collapse-arrow>.collapse-title:after{content:"";transform-origin:75% 75%;pointer-events:none;top:50%;inset-inline-end:1.4rem;box-shadow:2px 2px}@media (prefers-reduced-motion:no-preference){.collapse:not(td,tr,colgroup)[open].collapse-arrow>.collapse-title:after,.collapse:not(td,tr,colgroup).collapse-open.collapse-arrow>.collapse-title:after{transform:translateY(-50%)rotate(225deg)}}.collapse:not(td,tr,colgroup).collapse-open.collapse-plus>.collapse-title:after{--tw-content:"−";content:var(--tw-content)}:is(.collapse:not(td,tr,colgroup)[tabindex].collapse-arrow:focus:not(.collapse-close),.collapse:not(td,tr,colgroup).collapse-arrow[tabindex]:focus-within:not(.collapse-close))>.collapse-title:after,.collapse:not(td,tr,colgroup).collapse-arrow:not(.collapse-close)>input:is([type=checkbox],[type=radio]):checked~.collapse-title:after{transform:translateY(-50%)rotate(225deg)}.collapse:not(td,tr,colgroup)[open].collapse-plus>.collapse-title:after,.collapse:not(td,tr,colgroup)[tabindex].collapse-plus:focus:not(.collapse-close)>.collapse-title:after,.collapse:not(td,tr,colgroup).collapse-plus:not(.collapse-close)>input:is([type=checkbox],[type=radio]):checked~.collapse-title:after{--tw-content:"−";content:var(--tw-content)}.collapse-open>.collapse-content{--overflow-delay:.2s;overflow:revert-layer;content-visibility:visible;min-height:fit-content;padding-bottom:1rem}@supports not (content-visibility:visible){.collapse-open>.collapse-content{visibility:visible}}.list .list-row>*{grid-row-start:1}.steps-horizontal .step{text-align:center;grid-template-rows:40px 1fr;grid-template-columns:auto;place-items:center;min-width:4rem;display:grid}.steps-horizontal .step:before{width:100%;height:.5rem;margin-inline-start:-100%;translate:0}[dir=rtl] :is(.steps-horizontal .step):before{translate:0}.steps .step-neutral+.step-neutral:before,.steps .step-neutral:after,.steps .step-neutral>.step-icon{--step-bg:var(--color-neutral);--step-fg:var(--color-neutral-content)}.steps .step-primary+.step-primary:before,.steps .step-primary:after,.steps .step-primary>.step-icon{--step-bg:var(--color-primary);--step-fg:var(--color-primary-content)}.steps .step-secondary+.step-secondary:before,.steps .step-secondary:after,.steps .step-secondary>.step-icon{--step-bg:var(--color-secondary);--step-fg:var(--color-secondary-content)}.steps .step-accent+.step-accent:before,.steps .step-accent:after,.steps .step-accent>.step-icon{--step-bg:var(--color-accent);--step-fg:var(--color-accent-content)}.steps .step-info+.step-info:before,.steps .step-info:after,.steps .step-info>.step-icon{--step-bg:var(--color-info);--step-fg:var(--color-info-content)}.steps .step-success+.step-success:before,.steps .step-success:after,.steps .step-success>.step-icon{--step-bg:var(--color-success);--step-fg:var(--color-success-content)}.steps .step-warning+.step-warning:before,.steps .step-warning:after,.steps .step-warning>.step-icon{--step-bg:var(--color-warning);--step-fg:var(--color-warning-content)}.steps .step-error+.step-error:before,.steps .step-error:after,.steps .step-error>.step-icon{--step-bg:var(--color-error);--step-fg:var(--color-error-content)}.tabs-border>.tab{--tab-border-color:#0000 #0000 var(--tab-border-color) #0000;border-radius:var(--radius-field);position:relative}.tabs-border>.tab:before{content:"";background-color:var(--tab-border-color);width:calc(100% - var(--tab-p) * 2);border-radius:var(--radius-field);height:3px;bottom:0;left:var(--tab-p);transition:background-color .2s;position:absolute}:is(.tabs-border>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-border>.tab:is(input:checked),.tabs-border>.tab:is(label:has(:checked))):before{--tab-border-color:currentColor;border-top:3px solid}.checkbox:disabled,.radio:disabled{cursor:not-allowed;opacity:.2}:where(.navbar){position:relative}.image-full>.card-body{color:var(--color-neutral-content);position:relative}.card-xs .card-body{--card-p:.5rem;--card-fs:.6875rem}.card-sm .card-body{--card-p:1rem;--card-fs:.75rem}.card-md .card-body{--card-p:1.5rem;--card-fs:.875rem}.card-lg .card-body{--card-p:2rem;--card-fs:1rem}.card-xl .card-body{--card-p:2.5rem;--card-fs:1.125rem}.tooltip-left>.tooltip-content,.tooltip-left[data-tip]:before{transform:translateX(calc(var(--tt-pos,.25rem) - .25rem)) translateY(var(--tt-trans,-50%));left:auto;right:var(--tt-off);inset-block:var(--tt-inset,50% auto)}.tooltip-left:after{transform:translateX(var(--tt-pos,.25rem)) translateY(var(--tt-trans,-50%)) rotate(-90deg);left:auto;right:calc(var(--tt-tail) + 1px);inset-block:var(--tt-tail-inset,50% auto)}.chat-end{grid-template-columns:1fr auto;place-items:end}.chat-end .chat-header,.chat-end .chat-footer{grid-column-start:1}.chat-end .chat-image{grid-column-start:2}.chat-end .chat-bubble{border-end-end-radius:0;grid-column-start:1}.chat-end .chat-bubble:before{inset-inline-start:100%;transform:rotateY(180deg)}[dir=rtl] :is(.chat-end .chat-bubble):before{transform:rotateY(0)}.chat-start{grid-template-columns:auto 1fr;place-items:start}.chat-start .chat-header,.chat-start .chat-footer{grid-column-start:2}.chat-start .chat-image{grid-column-start:1}.chat-start .chat-bubble{border-end-start-radius:0;grid-column-start:2}.chat-start .chat-bubble:before{inset-inline-start:-.75rem;transform:rotateY(0)}[dir=rtl] :is(.chat-start .chat-bubble):before{transform:rotateY(180deg)}:is(.stack,.stack.stack-bottom)>*{grid-area:3/3/6/4}:is(.stack,.stack.stack-bottom)>:nth-child(2){grid-area:2/2/5/5}:is(.stack,.stack.stack-bottom)>:first-child{grid-area:1/1/4/6}.stack.stack-top>*{grid-area:1/3/4/4}.stack.stack-top>:nth-child(2){grid-area:2/2/5/5}.stack.stack-top>:first-child{grid-area:3/1/6/6}.stack.stack-start>*{grid-area:3/1/4/4}.stack.stack-start>:nth-child(2){grid-area:2/2/5/5}.stack.stack-start>:first-child{grid-area:1/3/6/6}.stack.stack-end>*{grid-area:3/3/4/6}.stack.stack-end>:nth-child(2){grid-area:2/2/5/5}.stack.stack-end>:first-child{grid-area:1/1/6/4}.tabs-box{background-color:var(--color-base-200);--tabs-box-radius:calc(3 * var(--radius-field));border-radius:calc(min(var(--tab-height) / 2, var(--radius-field)) + min(.25rem, var(--tabs-box-radius)));box-shadow:0 -.5px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 .5px oklch(0% 0 0 / calc(var(--depth) * .05)) inset;padding:.25rem}.tabs-box>.tab{border-radius:var(--radius-field);border-style:none}.tabs-box>.tab:focus-visible,.tabs-box>.tab:is(label:has(:checked:focus-visible)){outline-offset:2px}.tabs-box>.tab:focus-visible{z-index:1}@supports (color:color-mix(in lab, red, red)){.tabs-box>:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]){box-shadow:0 1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px 1px -1px color-mix(in oklab, var(--color-neutral) calc(var(--depth) * 50%), #0000), 0 1px 6px -4px color-mix(in oklab, var(--color-neutral) calc(var(--depth) * 100%), #0000)}}@media (forced-colors:active){.tabs-box>:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]){border:1px solid}}.tabs-box>:is(input:checked){background-color:var(--tab-bg,var(--color-base-100));box-shadow:0 1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px 1px -1px var(--color-neutral), 0 1px 6px -4px var(--color-neutral)}@supports (color:color-mix(in lab, red, red)){.tabs-box>:is(input:checked){box-shadow:0 1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px 1px -1px color-mix(in oklab, var(--color-neutral) calc(var(--depth) * 50%), #0000), 0 1px 6px -4px color-mix(in oklab, var(--color-neutral) calc(var(--depth) * 100%), #0000)}}@media (forced-colors:active){.tabs-box>:is(input:checked){border:1px solid}}.tabs-box>:is(label:has(:checked)){background-color:var(--tab-bg,var(--color-base-100));box-shadow:0 1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px 1px -1px var(--color-neutral), 0 1px 6px -4px var(--color-neutral)}@supports (color:color-mix(in lab, red, red)){.tabs-box>:is(label:has(:checked)){box-shadow:0 1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px 1px -1px color-mix(in oklab, var(--color-neutral) calc(var(--depth) * 50%), #0000), 0 1px 6px -4px color-mix(in oklab, var(--color-neutral) calc(var(--depth) * 100%), #0000)}}@media (forced-colors:active){.tabs-box>:is(label:has(:checked)){border:1px solid}}.tabs-box>.tab-content{height:calc(100% - var(--tab-height) + var(--border) - .5rem);border-radius:calc(min(var(--tab-height) / 2, var(--radius-field)) + min(.25rem, var(--tabs-box-radius)) - var(--border));margin-top:.25rem}.timeline-compact .timeline-start{grid-area:3/1/4/4;place-self:flex-start center}.timeline-horizontal .timeline-start{grid-area:1/1/2/4;place-self:flex-end center}.timeline-compact li:has(.timeline-start) .timeline-end{grid-row-start:auto;grid-column-start:none}.timeline-horizontal .timeline-end{grid-area:3/1/4/4;place-self:flex-start center}.timeline-compact.timeline-vertical>li{--timeline-col-start:0}.timeline-compact.timeline-vertical .timeline-start{grid-area:1/3/4/4;place-self:center flex-start}.timeline-compact.timeline-vertical li:has(.timeline-start) .timeline-end{grid-row-start:none;grid-column-start:auto}.timeline-vertical{flex-direction:column}.timeline-vertical>li{--timeline-row-start:minmax(0, 1fr);--timeline-row-end:minmax(0, 1fr);justify-items:center}.timeline-vertical>li>hr{width:.25rem;height:100%}.timeline-vertical>li>hr:first-child{grid-row-start:1;grid-column-start:2}.timeline-vertical>li>hr:last-child{grid-area:3/2/none}.timeline-vertical .timeline-start{grid-area:1/1/4/2;place-self:center flex-end}.timeline-vertical .timeline-end{grid-area:1/3/4/4;place-self:center flex-start}.timeline-vertical:not(:has(.timeline-middle)) :first-child>hr:last-child{border-top-left-radius:var(--radius-selector);border-top-right-radius:var(--radius-selector);border-bottom-right-radius:0;border-bottom-left-radius:0}.timeline-vertical:not(:has(.timeline-middle)) :last-child>hr:first-child{border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:var(--radius-selector);border-bottom-left-radius:var(--radius-selector)}.timeline-vertical.timeline-snap-icon>li{--timeline-col-start:minmax(0, 1fr);--timeline-row-start:.5rem}.modal-top>.modal-box{--modal-tl:0;--modal-tr:0;--modal-bl:var(--radius-box);--modal-br:var(--radius-box);width:100%;max-width:none;height:auto;max-height:calc(100vh - 5em);translate:0 -100%;scale:1}.modal-middle>.modal-box{--modal-tl:var(--radius-box);--modal-tr:var(--radius-box);--modal-bl:var(--radius-box);--modal-br:var(--radius-box);width:91.6667%;max-width:32rem;height:auto;max-height:calc(100vh - 5em);translate:0 2%;scale:.98}.modal-bottom>.modal-box{--modal-tl:var(--radius-box);--modal-tr:var(--radius-box);--modal-bl:0;--modal-br:0;width:100%;max-width:none;height:auto;max-height:calc(100vh - 5em);translate:0 100%;scale:1}.modal-start>.modal-box{--modal-tl:0;--modal-tr:var(--radius-box);--modal-bl:0;--modal-br:var(--radius-box);width:auto;max-width:none;height:100vh;max-height:none;translate:-100%;scale:1}[dir=rtl] :is(.modal-start>.modal-box){--modal-tl:var(--radius-box);--modal-tr:0;--modal-bl:var(--radius-box);--modal-br:0;translate:100%}.modal-end>.modal-box{--modal-tl:var(--radius-box);--modal-tr:0;--modal-bl:var(--radius-box);--modal-br:0;width:auto;max-width:none;height:100vh;max-height:none;translate:100%;scale:1}[dir=rtl] :is(.modal-end>.modal-box){--modal-tl:0;--modal-tr:var(--radius-box);--modal-bl:0;--modal-br:var(--radius-box);translate:-100%}.drawer-toggle:focus-visible~.drawer-content label.drawer-button{outline-offset:2px;outline:2px solid}.drawer-end>.drawer-toggle~.drawer-content{grid-column-start:1}.steps-vertical{grid-auto-rows:1fr;grid-auto-flow:row}.steps-vertical .step{grid-template-rows:auto;grid-template-columns:40px 1fr;justify-items:start;gap:.5rem;min-height:4rem;display:grid}.steps-vertical .step:before{width:.5rem;height:100%;margin-inline-start:50%;translate:-50% -50%}[dir=rtl] :is(.steps-vertical .step):before{translate:50% -50%}@supports (color:color-mix(in lab, red, red)){.stats-horizontal .stat:not(:last-child){border-inline-end:var(--border) dashed color-mix(in oklab, currentColor 10%, #0000)}}.stats-vertical .stat:not(:last-child){border-inline-end:none;border-block-end:var(--border) dashed currentColor}@supports (color:color-mix(in lab, red, red)){.stats-vertical .stat:not(:last-child){border-block-end:var(--border) dashed color-mix(in oklab, currentColor 10%, #0000)}}.card-xs .card-title{--cardtitle-fs:.875rem}.card-sm .card-title{--cardtitle-fs:1rem}.card-md .card-title{--cardtitle-fs:1.125rem}.card-lg .card-title{--cardtitle-fs:1.25rem}.card-xl .card-title{--cardtitle-fs:1.375rem}.btn-circle{width:var(--size);height:var(--size);border-radius:3.40282e38px;padding-inline:0}.btn-square{width:var(--size);height:var(--size);padding-inline:0}.loading-sm{width:calc(var(--size-selector,.25rem) * 5)}.stats-horizontal{grid-auto-flow:column;overflow-x:auto}.stats-horizontal .stat:not(:last-child){border-inline-end:var(--border) dashed currentColor}@supports (color:color-mix(in lab, red, red)){.stats-horizontal .stat:not(:last-child){border-inline-end:var(--border) dashed color-mix(in oklab, currentColor 10%, #0000)}}.stats-horizontal .stat:not(:last-child){border-block-end:none}.menu-sm :where(li:not(.menu-title)>:not(ul,menu,details,.menu-title)),.menu-sm :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);padding-block:.25rem;padding-inline:.625rem;font-size:.75rem}.menu-sm details[open]>summary:before{font-size:.75rem}.menu-sm .menu-title{padding-block:.5rem;padding-inline:.75rem}.badge-ghost{border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content);background-image:none}.badge-outline{color:var(--badge-color);--badge-bg:#0000;background-image:none;border-color:currentColor}:where(:not(ul,menu,details,.menu-title,.btn)).menu-active{--tw-outline-style:none;color:var(--menu-active-fg);background-color:var(--menu-active-bg);background-size:auto, calc(var(--noise) * 100%);background-image:none, var(--fx-noise);outline-style:none}@media (forced-colors:active){:where(:not(ul,menu,details,.menu-title,.btn)).menu-active{outline-offset:2px;outline:2px solid #0000}}.status-info{background-color:var(--color-info);color:var(--color-info)}.status-success{background-color:var(--color-success);color:var(--color-success)}.status-warning{background-color:var(--color-warning);color:var(--color-warning)}:is(.tabs-lift :checked,.tabs-lift label:has(:checked),.tabs-lift :is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content:first-child,:is(.tabs-lift :checked,.tabs-lift label:has(:checked),.tabs-lift :is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content:nth-child(n+3),:is(.tabs-top :checked,.tabs-top label:has(:checked),.tabs-top :is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content:first-child,:is(.tabs-top :checked,.tabs-top label:has(:checked),.tabs-top :is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content:nth-child(n+3){--tabcontent-radius-ss:var(--radius-box)}:is(.tabs-bottom>:checked,.tabs-bottom>:is(label:has(:checked)),.tabs-bottom>:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content:not(:nth-child(2)){--tabcontent-radius-es:var(--radius-box)}.tabs-box>:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]){background-color:var(--tab-bg,var(--color-base-100));box-shadow:0 1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px 1px -1px var(--color-neutral), 0 1px 6px -4px var(--color-neutral)}@supports (color:color-mix(in lab, red, red)){.tabs-box>:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]){box-shadow:0 1px oklch(100% 0 0 / calc(var(--depth) * .1)) inset, 0 1px 1px -1px color-mix(in oklab, var(--color-neutral) calc(var(--depth) * 50%), #0000), 0 1px 6px -4px color-mix(in oklab, var(--color-neutral) calc(var(--depth) * 100%), #0000)}}@media (forced-colors:active){.tabs-box>:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]){border:1px solid}}.loading-spinner{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='8s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='6s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='6s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='8s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='6s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='6s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E")}@media (prefers-reduced-motion:no-preference){.loading-spinner{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E")}}.checkbox-sm{--size:calc(var(--size-selector,.25rem) * 5);padding:.1875rem}.radio-sm{padding:.1875rem}.radio-sm[type=radio]{--size:calc(var(--size-selector,.25rem) * 5)}.table-sm :not(thead,tfoot) tr{font-size:.75rem}.table-sm :where(th,td){padding-block:.5rem;padding-inline:.75rem}.file-input-sm{--size:calc(var(--size-field,.25rem) * 8);font-size:.75rem;line-height:1.5rem}.file-input-sm::file-selector-button{font-size:.75rem}.tabs-sm{--tab-height:calc(var(--size-field,.25rem) * 8)}.tabs-sm>.tab{--tab-p:.5rem;--tab-radius-min:calc(.5rem - var(--border));font-size:.875rem}.badge-sm{--size:calc(var(--size-selector,.25rem) * 5);font-size:.75rem}.alert-error{color:var(--color-error-content);--alert-border-color:var(--color-error);--alert-color:var(--color-error)}.alert-success{color:var(--color-success-content);--alert-border-color:var(--color-success);--alert-color:var(--color-success)}.alert-warning{color:var(--color-warning-content);--alert-border-color:var(--color-warning);--alert-color:var(--color-warning)}.progress-success{color:var(--color-success)}.steps .step-success+.step-success:before,.steps .step-success:after,.steps .step-success>.step-icon{--step-bg:var(--color-success);--step-fg:var(--color-success-content)}.input-sm{--in-size-mul:8;--font-size-min:.75rem;--spin-my:-2}.select-sm{--sl-size-mul:8;--font-size-min:.75rem;--option-px:2.5}.btn-primary{--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content);--btn-soft-bg:initial}.btn-sm{--fontsize:.75rem;--btn-p:.75rem;--size:calc(var(--size-field,.25rem) * 8)}.textarea-sm{--font-size-min:.75rem}.badge-info{--badge-color:var(--color-info);--badge-fg:var(--color-info-content)}.badge-success{--badge-color:var(--color-success);--badge-fg:var(--color-success-content)}.badge-warning{--badge-color:var(--color-warning);--badge-fg:var(--color-warning-content)}.toggle-sm[type=checkbox]{--size:calc(var(--size-selector,.25rem) * 5)}.toggle-success:checked,.toggle-success[aria-checked=true]{--input-color:var(--color-success)}.card-border{border:var(--border) solid var(--color-base-200)}}@layer daisyui.l1{.drawer-open>.drawer-toggle~.drawer-side>:not(.drawer-overlay),[dir=rtl] :is(.drawer-open>.drawer-toggle~.drawer-side>:not(.drawer-overlay)),.drawer-open>.drawer-toggle~.drawer-side>:not(.drawer-overlay),[dir=rtl] :is(.drawer-open>.drawer-toggle~.drawer-side>:not(.drawer-overlay)){translate:0%}.btn:where(:checked:not(.filter [type=radio].btn)){--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content)}@media (hover:hover){.btn:hover{--btn-bg:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn:hover{--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}.btn:hover{color:var(--btn-fg);--btn-border:var(--btn-bg)}@supports (color:color-mix(in lab, red, red)){.btn:hover{--btn-border:color-mix(in oklab, var(--btn-bg), #000 calc(var(--depth) * 5%))}}.btn:hover{--btn-border-style:solid;--btn-inset:0 .5px 0 .5px oklch(100% 0 0 / calc(var(--depth) * 6%));--btn-shadow:0 3px 2px -2px var(--btn-bg), 0 4px 3px -2px var(--btn-bg)}@supports (color:color-mix(in lab, red, red)){.btn:hover{--btn-shadow:0 3px 2px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000), 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000)}}}.btn:active:not(.btn-active){--btn-bg:var(--btn-color,var(--color-base-200));translate:0 .5px}@supports (color:color-mix(in lab, red, red)){.btn:active:not(.btn-active){--btn-bg:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 5%)}}.btn:active:not(.btn-active){color:var(--btn-fg,var(--color-base-content));--btn-border:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab, red, red)){.btn:active:not(.btn-active){--btn-border:color-mix(in oklab, var(--btn-color,var(--color-base-200)), #000 7%)}}.btn:active:not(.btn-active){--btn-border-style:solid;--btn-inset:0 0 0 0 oklch(0% 0 0/0);--btn-shadow:0 0 0 0 oklch(0% 0 0/0)}.btn:where(:checked:not(.filter [type=radio].btn),:not([type=radio],[type=checkbox]):focus-visible){--btn-bg:var(--btn-color,var(--color-base-200));color:var(--btn-fg,var(--color-base-content));--btn-border:var(--btn-bg)}@supports (color:color-mix(in lab, red, red)){.btn:where(:checked:not(.filter [type=radio].btn),:not([type=radio],[type=checkbox]):focus-visible){--btn-border:color-mix(in oklab, var(--btn-bg), #000 calc(var(--depth) * 5%))}}.btn:where(:checked:not(.filter [type=radio].btn),:not([type=radio],[type=checkbox]):focus-visible){--btn-border-style:solid;--btn-inset:0 .5px 0 .5px oklch(100% 0 0 / calc(var(--depth) * 6%));--btn-shadow:0 3px 2px -2px var(--btn-bg), 0 4px 3px -2px var(--btn-bg)}@supports (color:color-mix(in lab, red, red)){.btn:where(:checked:not(.filter [type=radio].btn),:not([type=radio],[type=checkbox]):focus-visible){--btn-shadow:0 3px 2px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000), 0 4px 3px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000)}}.btn:where(:checked:not(.filter [type=radio].btn),:not([type=radio],[type=checkbox]):focus-visible){isolation:isolate}.btn:focus-visible,.btn:has(:focus-visible){isolation:isolate;outline-width:2px;outline-style:solid}}.prose :where(a.btn:not(.btn-link)):not(:where([class~=not-prose],[class~=not-prose] *)){text-decoration-line:none}@layer daisyui{.btn:is(:disabled,[disabled],[aria-disabled=true]){pointer-events:none;color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.btn:is(:disabled,[disabled],[aria-disabled=true]){color:color-mix(in oklch, var(--color-base-content) 20%, #0000)}}.btn:is(:disabled,[disabled],[aria-disabled=true]){--btn-bg:#0000;--btn-border:#0000;--btn-inset:0 0 0 0 oklch(0% 0 0/0);--btn-shadow:0 0 0 0 oklch(0% 0 0/0);background-image:none}:is(.btn-disabled,.btn:is(:disabled,[disabled],[aria-disabled=true])):not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){:is(.btn-disabled,.btn:is(:disabled,[disabled],[aria-disabled=true])):not(.btn-link,.btn-ghost){background-color:color-mix(in oklab, var(--color-base-content) 10%, transparent)}}}.pointer-events-none{pointer-events:none}.collapse:not(td,tr,colgroup){visibility:revert-layer}.\!visible{visibility:visible!important}.collapse{visibility:collapse}.visible{visibility:visible}:is(.input[type=url],.input[type=tel],.input[type=email],.input[type=number]):dir(rtl){border-start-start-radius:var(--join-se,var(--radius-field));border-start-end-radius:var(--join-ss,var(--radius-field));border-end-end-radius:var(--join-es,var(--radius-field));border-end-start-radius:var(--join-ee,var(--radius-field))}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@layer daisyui.l1.l2.l3.l4{.card-body p{flex-grow:1}.card figure:first-child{border-start-start-radius:inherit;border-start-end-radius:inherit;border-end-end-radius:unset;border-end-start-radius:unset;overflow:hidden}.card figure:last-child{border-start-start-radius:unset;border-start-end-radius:unset;border-end-end-radius:inherit;border-end-start-radius:inherit;overflow:hidden}.card figure{justify-content:center;align-items:center;display:flex}.join-item>*{--join-ss:initial;--join-se:initial;--join-es:initial;--join-ee:initial}}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.left-3{left:calc(var(--spacing) * 3)}.isolate{isolation:isolate}.join{--join-ss:0;--join-se:0;--join-es:0;--join-ee:0;--join-v:0;--join-h:1;align-items:stretch;display:inline-flex}@scope(.join){:scope>:where(:focus,:has(:focus)){z-index:2}@media (hover:hover){:scope>:where(.btn:hover,:has(.btn:hover)){z-index:1}}:scope :where(:scope>:first-child){--join-ss:var(--radius-field);--join-se:calc(var(--radius-field) * var(--join-v));--join-es:calc(var(--radius-field) * var(--join-h));--join-ee:0}:scope :where(:scope>:last-child){--join-ss:0;--join-se:calc(var(--radius-field) * var(--join-h));--join-es:calc(var(--radius-field) * var(--join-v));--join-ee:var(--radius-field)}:scope :where(:scope>:only-child){--join-ss:var(--radius-field);--join-se:var(--radius-field);--join-es:var(--radius-field);--join-ee:var(--radius-field)}}.\!z-\[160\]{z-index:160!important}.\!z-\[170\]{z-index:170!important}.\!z-\[180\]{z-index:180!important}.\!z-\[190\]{z-index:190!important}.z-\[120\]{z-index:120}.mx-auto{margin-inline:auto}.join-item{border-style:solid;border-width:var(--border,1px);border-start-start-radius:var(--join-ss);border-start-end-radius:var(--join-se);border-end-end-radius:var(--join-ee);border-end-start-radius:var(--join-es)}.join-item:not(:first-child,:disabled,[disabled],.btn-disabled){margin-block-start:calc(var(--border,1px) * -1 * var(--join-v));margin-inline-start:calc(var(--border,1px) * -1 * var(--join-h))}.join-item:is(:disabled,[disabled],.btn-disabled){border-width:var(--border,1px);border-inline-end-width:calc(var(--border,1px) * var(--join-v));border-block-end-width:calc(var(--border,1px) * var(--join-h))}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.ml-auto{margin-left:auto}.alert{border-width:var(--border);border-color:var(--alert-border-color,var(--color-base-200))}.\!block{display:block!important}.\!grid{display:grid!important}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.table{display:table}.aspect-square{aspect-ratio:1}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-full{width:100%;height:100%}.\!h-auto{height:auto!important}.h-7{height:calc(var(--spacing) * 7)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-36{height:calc(var(--spacing) * 36)}.h-44{height:calc(var(--spacing) * 44)}.h-72{height:calc(var(--spacing) * 72)}.h-\[154px\]{height:154px}.h-\[170px\]{height:170px}.max-h-\[60vh\]{max-height:60vh}.\!min-h-10{min-height:calc(var(--spacing) * 10)!important}.\!min-h-\[70px\]{min-height:70px!important}.min-h-64{min-height:calc(var(--spacing) * 64)}.min-h-\[144px\]{min-height:144px}.min-h-\[188px\]{min-height:188px}.min-h-\[238px\]{min-height:238px}.min-h-\[260px\]{min-height:260px}.\!w-full{width:100%!important}.w-28{width:calc(var(--spacing) * 28)}.w-36{width:calc(var(--spacing) * 36)}.w-\[154px\]{width:154px}.w-\[170px\]{width:170px}.w-full{width:100%}.\!max-w-\[72ch\]{max-width:72ch!important}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-md{max-width:var(--container-md)}.max-w-xl{max-width:var(--container-xl)}.\!min-w-0{min-width:calc(var(--spacing) * 0)!important}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.flex-none{flex:none}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.\!cursor-pointer{cursor:pointer!important}.cursor-pointer{cursor:pointer}.resize{resize:both}.\!list-none{list-style-type:none!important}.\!grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto!important}.grid-cols-\[20px_minmax\(0\,1fr\)\]{grid-template-columns:20px minmax(0,1fr)}.grid-cols-\[144px_minmax\(0\,1fr\)\]{grid-template-columns:144px minmax(0,1fr)}.grid-cols-\[154px_minmax\(0\,1fr\)\]{grid-template-columns:154px minmax(0,1fr)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.\!content-center{align-content:center!important}.\!items-center{align-items:center!important}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.\!justify-start{justify-content:flex-start!important}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.\!gap-2{gap:calc(var(--spacing) * 2)!important}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-base-200>:not(:last-child)){border-color:var(--color-base-200)}.\!justify-self-end{justify-self:flex-end!important}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\!overflow-visible{overflow:visible!important}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-amber-200{border-color:var(--color-amber-200)}.border-base-200{border-color:var(--color-base-200)}.border-base-300{border-color:var(--color-base-300)}.border-cyan-200{border-color:var(--color-cyan-200)}.border-emerald-200{border-color:var(--color-emerald-200)}.border-error\/25{border-color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.border-error\/25{border-color:color-mix(in oklab, var(--color-error) 25%, transparent)}}.border-indigo-200{border-color:var(--color-indigo-200)}.border-rose-200{border-color:var(--color-rose-200)}.border-sky-200{border-color:var(--color-sky-200)}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-200{border-color:var(--color-slate-200)}.border-violet-200{border-color:var(--color-violet-200)}.glass{-webkit-backdrop-filter:blur(var(--glass-blur,40px));backdrop-filter:blur(var(--glass-blur,40px));background-color:#0000;background-image:linear-gradient(135deg, oklch(100% 0 0 / var(--glass-opacity,30%)) 0%, oklch(0% 0 0/0) 100%), linear-gradient(var(--glass-reflect-degree,100deg), oklch(100% 0 0 / var(--glass-reflect-opacity,5%)) 25%, oklch(0% 0 0/0) 25%);box-shadow:0 0 0 1px oklch(100% 0 0 / var(--glass-border-opacity,20%)) inset, 0 0 0 2px oklch(0% 0 0/.05);text-shadow:0 1px oklch(0% 0 0 / var(--glass-text-shadow-opacity,5%));border:none}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-base-100{background-color:var(--color-base-100)}.bg-base-200\/60{background-color:var(--color-base-200)}@supports (color:color-mix(in lab, red, red)){.bg-base-200\/60{background-color:color-mix(in oklab, var(--color-base-200) 60%, transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-cyan-50{background-color:var(--color-cyan-50)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-error\/10{background-color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.bg-error\/10{background-color:color-mix(in oklab, var(--color-error) 10%, transparent)}}.bg-indigo-50{background-color:var(--color-indigo-50)}.bg-primary\/10{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab, var(--color-primary) 10%, transparent)}}.bg-rose-50{background-color:var(--color-rose-50)}.bg-rose-600{background-color:var(--color-rose-600)}.bg-sky-50{background-color:var(--color-sky-50)}.bg-sky-500{background-color:var(--color-sky-500)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-900{background-color:var(--color-slate-900)}.bg-slate-950\/45{background-color:#02061873}@supports (color:color-mix(in lab, red, red)){.bg-slate-950\/45{background-color:color-mix(in oklab, var(--color-slate-950) 45%, transparent)}}.bg-violet-50{background-color:var(--color-violet-50)}.bg-white{background-color:var(--color-white)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-fill{object-fit:fill}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.\!px-2{padding-inline:calc(var(--spacing) * 2)!important}.\!px-\[17px\]{padding-inline:17px!important}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.\!py-\[15px\]{padding-block:15px!important}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-12{padding-block:calc(var(--spacing) * 12)}.\!pt-0{padding-top:calc(var(--spacing) * 0)!important}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.\!pr-12{padding-right:calc(var(--spacing) * 12)!important}.pl-9{padding-left:calc(var(--spacing) * 9)}.\!text-left{text-align:left!important}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.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))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[clamp\(1\.45rem\,2\.15vw\,2\.05rem\)\]{font-size:clamp(1.45rem,2.15vw,2.05rem)}.\!leading-relaxed{--tw-leading:var(--leading-relaxed)!important;line-height:var(--leading-relaxed)!important}.\!leading-tight{--tw-leading:var(--leading-tight)!important;line-height:var(--leading-tight)!important}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.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-\[-0\.025em\]{--tw-tracking:-.025em;letter-spacing:-.012em}.tracking-\[-0\.035em\]{--tw-tracking:-.035em;letter-spacing:-.012em}.tracking-\[0\.07em\]{--tw-tracking:.07em;letter-spacing:.07em}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.whitespace-nowrap{white-space:nowrap}.text-amber-700{color:var(--color-amber-700)}.text-amber-900{color:var(--color-amber-900)}.text-amber-900\/70{color:#7b3306b3}@supports (color:color-mix(in lab, red, red)){.text-amber-900\/70{color:color-mix(in oklab, var(--color-amber-900) 70%, transparent)}}.text-amber-950{color:var(--color-amber-950)}.text-base-content,.text-base-content\/40{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.text-base-content\/40{color:color-mix(in oklab, var(--color-base-content) 40%, transparent)}}.text-base-content\/45{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.text-base-content\/45{color:color-mix(in oklab, var(--color-base-content) 45%, transparent)}}.text-base-content\/50{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.text-base-content\/50{color:color-mix(in oklab, var(--color-base-content) 50%, transparent)}}.text-base-content\/55{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.text-base-content\/55{color:color-mix(in oklab, var(--color-base-content) 55%, transparent)}}.text-base-content\/60{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.text-base-content\/60{color:color-mix(in oklab, var(--color-base-content) 60%, transparent)}}.text-base-content\/65{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.text-base-content\/65{color:color-mix(in oklab, var(--color-base-content) 65%, transparent)}}.text-base-content\/70{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.text-base-content\/70{color:color-mix(in oklab, var(--color-base-content) 70%, transparent)}}.text-base-content\/75{color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.text-base-content\/75{color:color-mix(in oklab, var(--color-base-content) 75%, transparent)}}.text-blue-700{color:var(--color-blue-700)}.text-current\/65{color:currentColor}@supports (color:color-mix(in lab, red, red)){.text-current\/65{color:color-mix(in oklab, currentcolor 65%, transparent)}}.text-cyan-700{color:var(--color-cyan-700)}.text-cyan-900\/70{color:#104e64b3}@supports (color:color-mix(in lab, red, red)){.text-cyan-900\/70{color:color-mix(in oklab, var(--color-cyan-900) 70%, transparent)}}.text-cyan-950{color:var(--color-cyan-950)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-emerald-800{color:var(--color-emerald-800)}.text-emerald-900\/70{color:#004e3bb3}@supports (color:color-mix(in lab, red, red)){.text-emerald-900\/70{color:color-mix(in oklab, var(--color-emerald-900) 70%, transparent)}}.text-emerald-950{color:var(--color-emerald-950)}.text-error{color:var(--color-error)}.text-indigo-700{color:var(--color-indigo-700)}.text-indigo-900\/70{color:#312c85b3}@supports (color:color-mix(in lab, red, red)){.text-indigo-900\/70{color:color-mix(in oklab, var(--color-indigo-900) 70%, transparent)}}.text-indigo-950{color:var(--color-indigo-950)}.text-primary{color:var(--color-primary)}.text-rose-700{color:var(--color-rose-700)}.text-rose-900\/70{color:#8b0836b3}@supports (color:color-mix(in lab, red, red)){.text-rose-900\/70{color:color-mix(in oklab, var(--color-rose-900) 70%, transparent)}}.text-rose-950{color:var(--color-rose-950)}.text-sky-700{color:var(--color-sky-700)}.text-sky-900\/70{color:#024a70b3}@supports (color:color-mix(in lab, red, red)){.text-sky-900\/70{color:color-mix(in oklab, var(--color-sky-900) 70%, transparent)}}.text-sky-950{color:var(--color-sky-950)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-900{color:var(--color-slate-900)}.text-slate-950{color:var(--color-slate-950)}.text-success{color:var(--color-success)}.text-violet-700{color:var(--color-violet-700)}.text-violet-900\/70{color:#4d179ab3}@supports (color:color-mix(in lab, red, red)){.text-violet-900\/70{color:color-mix(in oklab, var(--color-violet-900) 70%, transparent)}}.text-violet-950{color:var(--color-violet-950)}.text-warning{color:var(--color-warning)}.text-white{color:var(--color-white)}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-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{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);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,)}.backdrop-blur-\[2px\]{--tw-backdrop-blur:blur(2px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[transform\,border-color\]{transition-property:transform,border-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;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}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-none{-webkit-user-select:none;user-select:none}.\[--value\:72\]{--value:72}@media (hover:hover){.group-hover\:-translate-y-0\.5:is(:where(.group):hover *){--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}}.first\:border-0:first-child{border-style:var(--tw-border-style);border-width:0}.first\:pt-0:first-child{padding-top:calc(var(--spacing) * 0)}@media (hover:hover){.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:border-base-content\/25:hover{border-color:var(--color-base-content)}@supports (color:color-mix(in lab, red, red)){.hover\:border-base-content\/25:hover{border-color:color-mix(in oklab, var(--color-base-content) 25%, transparent)}}.hover\:border-primary:hover{border-color:var(--color-primary)}.hover\:\!bg-slate-100:hover{background-color:var(--color-slate-100)!important}.hover\:bg-base-200\/45:hover{background-color:var(--color-base-200)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-base-200\/45:hover{background-color:color-mix(in oklab, var(--color-base-200) 45%, transparent)}}.hover\:bg-primary\/10:hover{background-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/10:hover{background-color:color-mix(in oklab, var(--color-primary) 10%, transparent)}}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}}.focus-visible\:\!outline-2:focus-visible{outline-style:var(--tw-outline-style)!important;outline-width:2px!important}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:\!outline-cyan-700:focus-visible{outline-color:var(--color-cyan-700)!important}.focus-visible\:outline-primary:focus-visible{outline-color:var(--color-primary)}@media not all and (min-width:40rem){.max-sm\:\!grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}.max-sm\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}}@media (min-width:40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-start{align-items:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:p-5{padding:calc(var(--spacing) * 5)}}@media (min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-3{grid-column:span 3/span 3}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:64rem){@layer daisyui.l1.l2.l3{.lg\:drawer-open>.drawer-toggle:checked~.drawer-side{scrollbar-color:revert-layer}}@layer daisyui.l1.l2{.lg\:drawer-open>.drawer-side{overflow-y:auto}.lg\:drawer-open>.drawer-toggle{display:none}.lg\:drawer-open>.drawer-toggle~.drawer-side{pointer-events:auto;visibility:visible;overscroll-behavior:auto;opacity:1;width:auto;display:block;position:sticky}.lg\:drawer-open>.drawer-toggle~.drawer-side>.drawer-overlay{cursor:default;background-color:#0000}.lg\:drawer-open>.drawer-toggle:checked~.drawer-side{pointer-events:auto;visibility:visible}.lg\:steps-horizontal{grid-auto-columns:1fr;grid-auto-flow:column;display:inline-grid;overflow:auto hidden}.lg\:steps-horizontal .step{text-align:center;grid-template-rows:40px 1fr;grid-template-columns:auto;place-items:center;min-width:4rem;display:grid}.lg\:steps-horizontal .step:before{width:100%;height:.5rem;margin-inline-start:-100%;translate:0}[dir=rtl] :is(.lg\:steps-horizontal .step):before{translate:0}}@layer daisyui.l1{.lg\:drawer-open>.drawer-toggle~.drawer-side>:not(.drawer-overlay),[dir=rtl] :is(.lg\:drawer-open>.drawer-toggle~.drawer-side>:not(.drawer-overlay)){translate:0%}}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-end{align-items:flex-end}.lg\:justify-between{justify-content:space-between}}@media (min-width:80rem){.xl\:col-span-1{grid-column:span 1/span 1}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-\[minmax\(0\,1\.65fr\)_minmax\(250px\,0\.7fr\)\]{grid-template-columns:minmax(0,1.65fr) minmax(250px,.7fr)}}}@keyframes dropdown{0%{opacity:0}}@keyframes aura{to{--aura-angle:360deg;transform:translateZ(1px)}}@keyframes aura-glow{20%,80%{opacity:.7;filter:blur(.25rem)}50%{opacity:1;filter:blur(.75rem)}}@keyframes aura-glow-after{20%,80%{opacity:.3;filter:blur(1rem)}50%{opacity:.6;filter:blur(1.5rem)}}@keyframes progress{50%{background-position-x:-115%}}@keyframes skeleton{0%{background-position:150%}to{background-position:-50%}}@keyframes rating{0%,40%{filter:brightness(1.05)contrast(1.05);scale:1.1}}@keyframes menu{0%{opacity:0}}@keyframes toast{0%{opacity:0;scale:.9}to{opacity:1;scale:1}}@keyframes rotator{89.9999%,to{--first-item-position:0 0%}90%,99.9999%{--first-item-position:0 calc(var(--items) * 100%)}to{translate:0 -100%}}@keyframes radio{0%{padding:5px}50%{padding:3px}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@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-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}

/* <<< eg-ui-0.6.1.css */

/* eGestion 0.6.1 launch polish production stylesheet entry. */

/* >>> 91b0a8671bf167f7-egprod260809r8.generated.css */
/*! tailwindcss v4.3.0 | 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)))){*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-mask-linear:linear-gradient(#fff,#fff);--tw-mask-radial:linear-gradient(#fff,#fff);--tw-mask-conic:linear-gradient(#fff,#fff);--tw-mask-left:linear-gradient(#fff,#fff);--tw-mask-right:linear-gradient(#fff,#fff);--tw-mask-bottom:linear-gradient(#fff,#fff);--tw-mask-top:linear-gradient(#fff,#fff);--tw-mask-bottom-from-position:0%;--tw-mask-bottom-to-position:100%;--tw-mask-bottom-from-color:black;--tw-mask-bottom-to-color:transparent}}}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_next/static/media/ibm-plex-sans-cyrillic-ext-wght-normal.192d14b2.woff2)format("woff2-variations");unicode-range:u+460-52f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_next/static/media/ibm-plex-sans-cyrillic-wght-normal.b0b919fc.woff2)format("woff2-variations");unicode-range:u+301,u+400-45f,u+490-491,u+4b0-4b1,u+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_next/static/media/ibm-plex-sans-greek-wght-normal.ef1c8a30.woff2)format("woff2-variations");unicode-range:u+370-377,u+37a-37f,u+384-38a,u+38c,u+38e-3a1,u+3a3-3ff}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_next/static/media/ibm-plex-sans-vietnamese-wght-normal.bdc4ddcb.woff2)format("woff2-variations");unicode-range:u+102-103,u+110-111,u+128-129,u+168-169,u+1a0-1a1,u+1af-1b0,u+300-301,u+303-304,u+308-309,u+323,u+329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_next/static/media/ibm-plex-sans-latin-ext-wght-normal.a8a9073d.woff2)format("woff2-variations");unicode-range:u+100-2ba,u+2bd-2c5,u+2c7-2cc,u+2ce-2d7,u+2dd-2ff,u+304,u+308,u+329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_next/static/media/ibm-plex-sans-latin-wght-normal.a7358d2e.woff2)format("woff2-variations");unicode-range:u+??,u+131,u+152-153,u+2bb-2bc,u+2c6,u+2da,u+2dc,u+304,u+308,u+329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@layer theme{:host,:root{--font-sans:"Geist", "IBM Plex Sans Variable", "IBM Plex Sans", "Segoe UI", ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-orange-50:oklch(98% .016 73.684);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-200:oklch(90.1% .076 70.697);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-600:oklch(64.6% .222 41.116);--color-orange-700:oklch(55.3% .195 38.402);--color-orange-800:oklch(47% .157 37.304);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-amber-950:oklch(27.9% .077 45.635);--color-green-50:oklch(98.2% .018 155.826);--color-green-200:oklch(92.5% .084 155.995);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-900:oklch(37.8% .077 168.94);--color-teal-700:oklch(51.1% .096 186.391);--color-sky-50:oklch(97.7% .013 236.62);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-700:oklch(50% .134 242.749);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-violet-50:oklch(96.9% .016 293.756);--color-violet-100:oklch(94.3% .029 294.588);--color-violet-200:oklch(89.4% .057 293.283);--color-violet-500:oklch(60.6% .25 292.717);--color-violet-700:oklch(49.1% .27 292.581);--color-rose-50:oklch(96.9% .015 12.422);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-700:oklch(51.4% .222 16.935);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-slate-950:oklch(12.9% .042 264.695);--color-neutral-500:oklch(55.6% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:600;--tracking-tight:-.025em;--tracking-normal:0em;--leading-tight:1.25;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1) infinite;--animate-bounce:bounce 1s infinite;--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{*,::backdrop,:after,:before{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}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{:where(.page-shell>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}.page-shell{padding:calc(var(--spacing) * 3)}@media (min-width:48rem){.page-shell{padding:calc(var(--spacing) * 4)}}@media (min-width:80rem){.page-shell{padding:calc(var(--spacing) * 5)}}.page-header{justify-content:space-between;gap:calc(var(--spacing) * 3);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-slate-200);background-color:var(--surface);min-height:62px;padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 3);flex-direction:column;display:flex}@media (min-width:48rem){.page-header{padding-inline:calc(var(--spacing) * 4);flex-direction:row;align-items:center}}.page-header-icon{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-orange-200);background-color:var(--color-orange-50);color:var(--color-orange-600);flex-shrink:0;place-items:center;display:grid}.page-title{--tw-leading:calc(var(--spacing) * 6);font-size:20px;line-height:calc(var(--spacing) * 6);--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);--tw-tracking:-.02em;letter-spacing:-.012em;overflow-wrap:break-word;color:#142b3a}@media (min-width:48rem){.page-title{font-size:21px}}.page-description{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page-info{flex-shrink:0;position:relative}.page-info summary{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7);cursor:pointer;border-radius:var(--radius-md);color:var(--color-slate-400);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));--tw-outline-style:none;outline-style:none;place-items:center;list-style-type:none;display:grid}@media (hover:hover){.page-info summary:hover{background-color:var(--color-slate-100);color:#07364d}}.page-info summary:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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);--tw-ring-color:#b9d3df}.page-info summary::-webkit-details-marker{display:none}.page-info p{z-index:50;--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2.5);text-align:left;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5);--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal);color:var(--color-slate-600);background-color:#fbfdfe;width:min(320px,100vw - 2rem);position:absolute;top:calc(100% + 8px);left:50%;box-shadow:0 12px 30px #06283a24}.page-actions{align-items:center;gap:calc(var(--spacing) * 2);flex-wrap:wrap;flex-shrink:0;display:flex}@media (min-width:48rem){.page-actions{justify-content:flex-end}}.field-input{height:calc(var(--spacing) * 10);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-300);background-color:var(--surface);width:100%;padding-inline:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-slate-900);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));--tw-outline-style:none;outline-style:none}.field-input::placeholder{color:var(--color-slate-400)}@media (hover:hover){.field-input:hover{border-color:var(--color-slate-400)}}.field-input:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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);--tw-ring-color:#dcecf2;background-color:#f8fbfc;border-color:#4e7c91}.field-select{height:calc(var(--spacing) * 10);appearance:none;border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-300);background-color:var(--surface);width:100%;padding-inline:calc(var(--spacing) * 3);padding-right:calc(var(--spacing) * 9);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-slate-900);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));--tw-outline-style:none;outline-style:none}@media (hover:hover){.field-select:hover{border-color:var(--color-slate-400)}}.field-select:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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);--tw-ring-color:#dcecf2;background-color:#f8fbfc;border-color:#4e7c91}.field-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2307364d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 10 4 4 4-4'/%3E%3C/svg%3E");background-position:right .7rem center;background-repeat:no-repeat}.field-textarea{min-height:calc(var(--spacing) * 20);resize:vertical;border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-300);background-color:var(--surface);width:100%;padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-slate-900);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));--tw-outline-style:none;outline-style:none}.field-textarea::placeholder{color:var(--color-slate-400)}@media (hover:hover){.field-textarea:hover{border-color:var(--color-slate-400)}}.field-textarea:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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);--tw-ring-color:#dcecf2;background-color:#f8fbfc;border-color:#4e7c91}.field-label{margin-bottom:calc(var(--spacing) * 1.5);--tw-font-weight:var(--font-weight-semibold);font-size:12.5px;font-weight:var(--font-weight-semibold);color:var(--color-slate-700);display:block}.field-help{margin-top:calc(var(--spacing) * 1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-slate-500)}.table-shell{border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:var(--color-white);overflow:hidden}.data-table{border-collapse:collapse;text-align:left;width:100%;font-size:13.5px}.data-table thead{background-color:var(--color-slate-100);color:var(--color-slate-600)}.data-table th{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-slate-200);--tw-font-weight:var(--font-weight-semibold);font-size:10px;font-weight:var(--font-weight-semibold);--tw-tracking:.07em;letter-spacing:.07em;white-space:nowrap;text-transform:uppercase}.data-table td,.data-table th{padding-inline:calc(var(--spacing) * 3.5);padding-block:calc(var(--spacing) * 3)}.data-table td{vertical-align:middle}:where(.data-table tbody>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-color:var(--color-slate-100)}.data-table tbody tr{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.data-table tbody tr:hover{background-color:var(--color-slate-50)}}.module-toolbar{gap:calc(var(--spacing) * 3);border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:var(--color-white);padding:calc(var(--spacing) * 3);display:grid}@media (min-width:48rem){.module-toolbar{grid-template-columns:minmax(240px,1fr) auto}}.surface-card{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:var(--surface);border-radius:10px}.panel-title{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-slate-900)}.panel-description{margin-top:calc(var(--spacing) * 1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5);color:var(--color-slate-500)}.primary-action{height:calc(var(--spacing) * 10);justify-content:center;align-items:center;gap:calc(var(--spacing) * 2);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-orange-600);background-color:var(--color-orange-500);padding-inline:calc(var(--spacing) * 3.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-white);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));display:inline-flex}@media (hover:hover){.primary-action:hover{--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y);background-color:var(--color-orange-600)}}.primary-action:disabled{cursor:not-allowed;opacity:.5}@media (hover:hover){.primary-action:disabled:hover{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}}.secondary-action{height:calc(var(--spacing) * 10);justify-content:center;align-items:center;gap:calc(var(--spacing) * 2);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-300);background-color:var(--surface);padding-inline:calc(var(--spacing) * 3.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-slate-700);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));display:inline-flex}@media (hover:hover){.secondary-action:hover{border-color:var(--color-slate-400);background-color:var(--color-slate-50)}}.secondary-action:disabled{cursor:not-allowed;opacity:.5}.danger-action{height:calc(var(--spacing) * 10);justify-content:center;align-items:center;gap:calc(var(--spacing) * 2);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-red-200);background-color:var(--surface);padding-inline:calc(var(--spacing) * 3.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-red-700);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));display:inline-flex}@media (hover:hover){.danger-action:hover{background-color:var(--color-red-50)}}.icon-button{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-300);background-color:var(--surface);color:var(--color-slate-600);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));place-items:center;display:grid}@media (hover:hover){.icon-button:hover{border-color:var(--color-slate-400);background-color:var(--color-slate-50);color:var(--color-slate-900)}}.metric-label{--tw-font-weight:var(--font-weight-semibold);font-size:10px;--tw-tracking:.065em;letter-spacing:.065em;color:var(--color-slate-500);text-transform:uppercase}.metric-label,.metric-value{font-weight:var(--font-weight-semibold)}.metric-value{margin-top:calc(var(--spacing) * 1.5);font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-font-weight:var(--font-weight-semibold);--tw-tracking:-.02em;letter-spacing:-.012em;color:var(--color-slate-950);--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.dialog-panel{inset:calc(var(--spacing) * 0);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:var(--color-white);--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);max-height:calc(100dvh - 2rem);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);margin:auto;position:fixed;overflow-y:auto}.dialog-panel::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0206177a}.document-directory-toolbar{gap:calc(var(--spacing) * 2);border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:var(--color-white);padding:calc(var(--spacing) * 3);flex-direction:column;display:flex}@media (min-width:64rem){.document-directory-toolbar{flex-direction:row;align-items:center}}.document-filter-panel{gap:calc(var(--spacing) * 3);border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:var(--color-slate-50);padding:calc(var(--spacing) * 3);display:grid}@media (min-width:40rem){.document-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:80rem){.document-filter-panel{grid-template-columns:1fr 1fr 1fr auto auto}}.document-kpis{gap:calc(var(--spacing) * 2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (min-width:64rem){.document-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}.document-kpis>div{min-height:calc(var(--spacing) * 16);border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:var(--color-white);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);justify-content:space-between;align-items:center;display:flex}.document-kpis span{--tw-font-weight:var(--font-weight-semibold);font-size:10px;font-weight:var(--font-weight-semibold);--tw-tracking:.06em;letter-spacing:.06em;color:var(--color-slate-500);text-transform:uppercase}.document-kpis strong{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-slate-950);--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.document-grid-shell{border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:var(--color-white);overflow:visible}.document-grid-head,.document-grid-row{grid-template-columns:52px 130px 168px minmax(150px,180px) minmax(220px,1fr) 170px 145px 52px 48px;align-items:center;display:grid}.document-grid-head{padding-inline:calc(var(--spacing) * 0);--tw-font-weight:var(--font-weight-semibold);font-size:10px;font-weight:var(--font-weight-semibold);--tw-tracking:.055em;letter-spacing:.055em;color:var(--color-slate-100);text-transform:uppercase;background-color:#1b3558;border-top-left-radius:11px;border-top-right-radius:11px}.document-grid-head>span{padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 3.5)}.document-record{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--color-slate-200);background-color:var(--color-white);position:relative}.document-record:first-child{border-top-style:var(--tw-border-style);border-top-width:0}.document-record:last-child{border-bottom-right-radius:11px;border-bottom-left-radius:11px}.document-record.is-expanded{background-color:var(--color-slate-50)}.document-grid-row{background-color:var(--color-white);min-height:68px;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.15s;transition-duration:.15s}@media (hover:hover){.document-grid-row:hover{background-color:#fbfaf8}}.document-record.is-expanded>.document-grid-row{background-color:#fbfaf8}.document-grid-row>button,.document-grid-row>div,.document-grid-row>span{min-width:calc(var(--spacing) * 0);padding-inline:calc(var(--spacing) * 3);font-size:13px}.document-grid-row>*+*{border-left-style:var(--tw-border-style);border-left-width:1px;border-color:var(--color-slate-100)}.document-icon-cell{color:#1b3558;place-items:center;height:100%;display:grid}.document-reference{text-overflow:ellipsis;white-space:nowrap;text-align:left;--tw-font-weight:var(--font-weight-semibold);height:100%;font-weight:var(--font-weight-semibold);color:var(--color-orange-600);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));overflow:hidden}@media (hover:hover){.document-reference:hover{color:var(--color-orange-700);text-decoration-line:underline}}.document-expand-button{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-300);background-color:var(--color-white);padding:calc(var(--spacing) * 0);color:#1b3558;--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);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));border-radius:3.40282e+38px;place-items:center;margin-inline:auto;display:grid}@media (hover:hover){.document-expand-button:hover{--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y);background-color:var(--color-slate-50);border-color:#1b3558}}.document-menu-button{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10);border-radius:var(--radius-lg);padding:calc(var(--spacing) * 0);color:var(--color-slate-500);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));place-items:center;margin-inline:auto;display:grid}@media (hover:hover){.document-menu-button:hover{background-color:var(--color-slate-100);color:var(--color-slate-900)}}.document-action-menu{top:calc(var(--spacing) * 11);right:calc(var(--spacing) * 2);z-index:50;border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:var(--color-white);width:292px;padding:calc(var(--spacing) * 2);--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);animation:menu-in .12s ease-out;position:absolute;overflow:hidden}.document-action-menu button{min-height:calc(var(--spacing) * 10);align-items:center;gap:calc(var(--spacing) * 3);border-radius:var(--radius-lg);width:100%;padding-inline:calc(var(--spacing) * 3);text-align:left;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-slate-700);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));display:flex}@media (hover:hover){.document-action-menu button:hover{background-color:var(--color-slate-50);color:var(--color-slate-950)}}.document-action-menu button:disabled{cursor:not-allowed;opacity:.4}.document-action-menu button.danger{color:var(--color-red-600)}@media (hover:hover){.document-action-menu button.danger:hover{background-color:var(--color-red-50);color:var(--color-red-700)}}.document-action-menu .menu-separator{margin-block:calc(var(--spacing) * 1);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--color-slate-200);display:block}.document-expanded-panel{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--color-slate-300);background-color:#f3f6fa;animation:expanded-in .18s ease-out}.document-detail-actions{border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);padding:calc(var(--spacing) * 2);flex-wrap:wrap;display:flex}.document-detail-actions,.document-detail-actions button{gap:calc(var(--spacing) * 2);background-color:var(--color-white)}.document-detail-actions button{height:calc(var(--spacing) * 9);justify-content:center;align-items:center;border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-300);padding-inline:calc(var(--spacing) * 3);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-slate-700);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));display:inline-flex}@media (hover:hover){.document-detail-actions button:hover{background-color:var(--color-slate-50)}}.document-detail-actions button:disabled{cursor:not-allowed;opacity:.4}.document-detail-actions button.success{border-color:var(--color-emerald-200);color:var(--color-emerald-700)}@media (hover:hover){.document-detail-actions button.success:hover{background-color:var(--color-emerald-50)}}.document-detail-actions button.danger{border-color:var(--color-red-200);color:var(--color-red-700)}@media (hover:hover){.document-detail-actions button.danger:hover{background-color:var(--color-red-50)}}.document-detail-meta{align-items:center;column-gap:calc(var(--spacing) * 5);row-gap:calc(var(--spacing) * 2);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:var(--color-white);padding-inline:calc(var(--spacing) * 3.5);padding-block:calc(var(--spacing) * 2.5);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-slate-600);flex-wrap:wrap;display:flex}.document-detail-meta>div{min-width:calc(var(--spacing) * 0);align-items:center;gap:calc(var(--spacing) * 1.5);display:flex}.document-lines-table{border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-300);background-color:var(--color-white);overflow:hidden}.document-lines-row{grid-template-columns:minmax(240px,1.8fr) .55fr .72fr 1fr .55fr 1fr;align-items:center;display:grid}.document-lines-row>span{min-width:calc(var(--spacing) * 0);border-right-style:var(--tw-border-style);border-right-width:1px;border-color:var(--color-slate-200);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 2);font-size:13px}.document-lines-row>span:last-child{border-right-style:var(--tw-border-style);border-right-width:0}.document-lines-row.head{--tw-font-weight:var(--font-weight-semibold);font-size:10px;font-weight:var(--font-weight-semibold);--tw-tracking:.05em;letter-spacing:.05em;color:var(--color-white);text-transform:uppercase;background-color:#284c75}.document-lines-row.head>span{border-right:1px var(--tw-border-style);border-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.document-lines-row.head>span{border-color:color-mix(in oklab,var(--color-white) 15%,transparent)}}.document-lines-row.head>span{padding-block:calc(var(--spacing) * 3)}.document-lines-row:not(.head){border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--color-slate-200)}.document-total-cards{gap:calc(var(--spacing) * 3);display:grid}@media (min-width:40rem){.document-total-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:80rem){.document-total-cards{grid-template-columns:repeat(4,minmax(0,1fr))}}.document-total-cards>div{min-height:calc(var(--spacing) * 20);align-items:center;gap:calc(var(--spacing) * 3);border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-300);background-color:var(--color-white);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);display:flex}.document-total-cards>div.total-ttc{border-color:var(--color-emerald-300);background-color:var(--color-emerald-50)}.document-total-cards small{--tw-font-weight:var(--font-weight-semibold);font-size:10px;font-weight:var(--font-weight-semibold);--tw-tracking:.055em;letter-spacing:.055em;color:var(--color-slate-500);text-transform:uppercase;display:block}.document-total-cards strong{margin-top:calc(var(--spacing) * 1);font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:#1b3558;--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);display:block}.document-total-cards .total-ttc strong{color:var(--color-emerald-700)}.total-icon{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10);border-radius:var(--radius-lg);--tw-font-weight:var(--font-weight-bold);font-size:10px;font-weight:var(--font-weight-bold);flex-shrink:0;place-items:center;display:grid}.total-icon.blue{background-color:var(--color-blue-50);color:var(--color-blue-600)}.total-icon.amber{background-color:var(--color-amber-100);color:var(--color-amber-700)}.total-icon.violet{background-color:var(--color-violet-100);color:var(--color-violet-700)}.total-icon.green{background-color:var(--color-emerald-100);color:var(--color-emerald-700)}.document-info-panel{border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-300);background-color:var(--color-white);overflow:hidden}.document-info-panel>header{min-height:calc(var(--spacing) * 11);justify-content:space-between;align-items:center;gap:calc(var(--spacing) * 3);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-slate-300);background-color:var(--color-slate-100);padding-inline:calc(var(--spacing) * 4);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:.04em;letter-spacing:.04em;color:#1b3558;text-transform:uppercase;display:flex}.document-info-panel>header>span:first-child{align-items:center;gap:calc(var(--spacing) * 2);display:flex}.payment-line{justify-content:space-between;align-items:center;gap:calc(var(--spacing) * 3);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);display:flex}.payment-line span{min-width:calc(var(--spacing) * 0)}.payment-line strong{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-slate-900);display:block}.payment-line small{margin-top:calc(var(--spacing) * .5);color:var(--color-slate-500);font-size:11px;display:block}.attachment-dropzone{min-height:calc(var(--spacing) * 28);border-radius:var(--radius-xl);--tw-border-style:dashed;border-style:dashed;border-width:2px;border-color:var(--color-blue-200);background-color:var(--color-white);width:100%;padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 4);text-align:center;color:var(--color-blue-500);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));flex-direction:column;justify-content:center;align-items:center;display:flex}@media (hover:hover){.attachment-dropzone:hover{border-color:var(--color-blue-400);background-color:#eff6ff66}@supports (color:color-mix(in lab,red,red)){.attachment-dropzone:hover{background-color:color-mix(in oklab,var(--color-blue-50) 40%,transparent)}}}.attachment-dropzone:disabled{opacity:.5}.attachment-dropzone strong{margin-top:calc(var(--spacing) * 2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:#1b3558}.attachment-dropzone small{margin-top:calc(var(--spacing) * 1);color:var(--color-slate-500);font-size:11px}.attachment-row{border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:var(--color-white);padding:calc(var(--spacing) * 2)}.attachment-row,.attachment-row>a{align-items:center;gap:calc(var(--spacing) * 2);display:flex}.attachment-row>a{min-width:calc(var(--spacing) * 0);color:var(--color-slate-700);flex:1}@media (hover:hover){.attachment-row>a:hover{color:var(--color-orange-600)}}.attachment-row>a span{min-width:calc(var(--spacing) * 0)}.attachment-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);display:block;overflow:hidden}.attachment-row small{margin-top:calc(var(--spacing) * .5);color:var(--color-slate-500);font-size:10px;display:block}.attachment-row>button{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8);border-radius:var(--radius-md);color:var(--color-red-500);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));flex-shrink:0;place-items:center;display:grid}@media (hover:hover){.attachment-row>button:hover{background-color:var(--color-red-50)}}.document-extra-grid{gap:calc(var(--spacing) * 3);display:grid}@media (min-width:40rem){.document-extra-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.document-extra-grid>div{border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:var(--color-white);padding:calc(var(--spacing) * 3)}.document-extra-grid small{--tw-font-weight:var(--font-weight-semibold);font-size:10px;font-weight:var(--font-weight-semibold);--tw-tracking:.055em;letter-spacing:.055em;color:var(--color-slate-500);text-transform:uppercase}.document-extra-grid p{margin-top:calc(var(--spacing) * 1.5);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5);white-space:pre-wrap;color:var(--color-slate-700)}.document-audit-footer{align-items:center;column-gap:calc(var(--spacing) * 4);row-gap:calc(var(--spacing) * 1);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-300);background-color:#e2e8f0b3;flex-wrap:wrap;display:flex}@supports (color:color-mix(in lab,red,red)){.document-audit-footer{background-color:color-mix(in oklab,var(--color-slate-200) 70%,transparent)}}.document-audit-footer{padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2.5);color:var(--color-slate-600);font-size:11px}.document-audit-footer span{align-items:center;gap:calc(var(--spacing) * 1.5);display:flex}.document-modal-backdrop{inset:calc(var(--spacing) * 0);z-index:90;background-color:#0206188c;place-items:center;display:grid;position:fixed}@supports (color:color-mix(in lab,red,red)){.document-modal-backdrop{background-color:color-mix(in oklab,var(--color-slate-950) 55%,transparent)}}.document-modal-backdrop{padding:calc(var(--spacing) * 2);--tw-backdrop-blur:blur(2px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}@media (min-width:40rem){.document-modal-backdrop{padding:calc(var(--spacing) * 5)}}.document-modal-backdrop{animation:fade-in .14s ease-out}.document-modal{border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-600);background-color:var(--color-white);--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);width:100%;max-width:1200px;max-height:calc(100dvh - 1rem);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);flex-direction:column;display:flex;overflow:hidden}@media (min-width:40rem){.document-modal{max-height:calc(100dvh - 2.5rem)}}.document-modal{animation:modal-in .16s ease-out}.document-modal-scroll{min-height:calc(var(--spacing) * 0);overscroll-behavior:contain;background-color:var(--color-white);flex:1;overflow-y:auto}.document-dialog-header{justify-content:space-between;align-items:center;gap:calc(var(--spacing) * 4);min-height:68px;padding-inline:calc(var(--spacing) * 5);padding-block:calc(var(--spacing) * 4);color:var(--color-white);background-color:#172d4b;display:flex}.dialog-close-button{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10);border-style:var(--tw-border-style);border-width:1px;border-color:#fff3;border-radius:3.40282e+38px;flex-shrink:0;place-items:center;display:grid}@supports (color:color-mix(in lab,red,red)){.dialog-close-button{border-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.dialog-close-button{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.dialog-close-button{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.dialog-close-button{color:var(--color-white);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.dialog-close-button:hover{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.dialog-close-button:hover{background-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}}.document-modal-footer{gap:calc(var(--spacing) * 3);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--color-slate-200);background-color:var(--color-white);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);flex-direction:column;display:flex}@media (min-width:40rem){.document-modal-footer{flex-direction:row;justify-content:space-between;align-items:center}}.field-static{background-color:var(--color-slate-50);padding-inline:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-slate-700);align-items:center}.document-number-field,.field-static{height:calc(var(--spacing) * 10);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-300);display:flex}.document-number-field{background-color:var(--color-white);overflow:hidden}.document-number-field strong{min-width:calc(var(--spacing) * 16);padding-inline:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-white);background-color:#172d4b;place-items:center;display:grid}.document-number-field span{align-items:center;display:flex}.document-number-field input,.document-number-field span{min-width:calc(var(--spacing) * 0);padding-inline:calc(var(--spacing) * 3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-slate-800);--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);flex:1}.document-number-field input{border-style:var(--tw-border-style);background-color:var(--color-white);--tw-outline-style:none;border-width:0;outline-style:none}.document-number-field input:focus{box-shadow:inset 0 0 0 2px #f4b57d}.document-number-field input:disabled{background-color:var(--color-slate-50);color:var(--color-slate-600)}.document-form-section{border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:var(--color-white);overflow:visible}.document-form-section-title{min-height:calc(var(--spacing) * 14);align-items:center;gap:calc(var(--spacing) * 2);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-slate-200);padding-inline:calc(var(--spacing) * 5);display:flex}.document-form-section-title h2{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:.03em;letter-spacing:.03em;color:var(--color-slate-950);text-transform:uppercase}.document-form-section-title>span:last-child{color:var(--color-red-500)}.combobox-panel{top:calc(100% + 6px);right:calc(var(--spacing) * 0);left:calc(var(--spacing) * 0);z-index:40;max-height:calc(var(--spacing) * 72);border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:var(--color-white);padding:calc(var(--spacing) * 1.5);--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px 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);position:absolute;overflow-y:auto}.combobox-option{min-height:calc(var(--spacing) * 12);justify-content:space-between;align-items:center;gap:calc(var(--spacing) * 3);border-radius:var(--radius-lg);width:100%;padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);text-align:left;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));display:flex}@media (hover:hover){.combobox-option:hover{background-color:var(--color-slate-50)}}.combobox-option strong{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-slate-900);display:block}.combobox-option small{margin-top:calc(var(--spacing) * .5);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-slate-500);display:block}.input-suffix{height:calc(var(--spacing) * 10);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-300);background-color:var(--color-white);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));display:flex;overflow:hidden}.input-suffix:focus-within{border-color:var(--color-orange-500);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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);--tw-ring-color:var(--color-orange-100)}.input-suffix input{min-width:calc(var(--spacing) * 0);border-style:var(--tw-border-style);padding-inline:calc(var(--spacing) * 3);text-align:right;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);--tw-outline-style:none;background-color:#0000;border-width:0;outline-style:none;flex:1}.input-suffix span{min-width:calc(var(--spacing) * 14);border-left-style:var(--tw-border-style);border-left-width:1px;border-color:var(--color-slate-300);background-color:var(--color-slate-50);padding-inline:calc(var(--spacing) * 2);--tw-font-weight:var(--font-weight-semibold);font-size:11px;font-weight:var(--font-weight-semibold);color:var(--color-slate-600);place-items:center;display:grid}.document-lines-head{color:var(--color-white);background-color:#172d4b}.document-lines-head th{border-bottom-style:var(--tw-border-style);color:var(--color-white);border-bottom-width:0}.line-action{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:var(--color-white);color:#1b3558;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));place-items:center;display:grid}@media (hover:hover){.line-action:hover{background-color:var(--color-slate-50);border-color:#1b3558}}.line-action.danger{color:var(--color-red-600)}@media (hover:hover){.line-action.danger:hover{border-color:var(--color-red-300);background-color:var(--color-red-50)}}.document-mode-card{min-height:calc(var(--spacing) * 28);align-items:flex-start;gap:calc(var(--spacing) * 3);border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-300);background-color:var(--color-white);padding:calc(var(--spacing) * 4);color:var(--color-slate-700);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));display:flex;position:relative}@media (hover:hover){.document-mode-card:hover{border-color:var(--color-slate-400);background-color:var(--color-slate-50)}}.document-mode-card.is-selected{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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);--tw-ring-color:#dcecf2;background-color:#edf6f9;border-color:#8bb0c1}.mode-check{top:calc(var(--spacing) * 3);right:calc(var(--spacing) * 3);width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6);color:var(--color-white);background-color:#07364d;border-radius:3.40282e+38px;place-items:center;display:none;position:absolute}.document-mode-card.is-selected .mode-check{display:grid}.notification-drawer{top:72px;right:calc(var(--spacing) * 0);bottom:calc(var(--spacing) * 0);z-index:70;border-top-left-radius:var(--radius-2xl);border-bottom-left-radius:var(--radius-2xl);border-left-style:var(--tw-border-style);border-left-width:1px;border-color:var(--color-slate-200);background-color:var(--surface);--tw-shadow:-18px 0 50px var(--tw-shadow-color,#06283a29);width:min(430px,100vw - .75rem);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);position:fixed;overflow:hidden}.notification-drawer>header{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-slate-200);height:60px;padding-inline:calc(var(--spacing) * 4);justify-content:space-between;align-items:center;display:flex}.notification-drawer>header h2{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:-.01em;letter-spacing:-.01em;color:var(--color-slate-950)}.notification-drawer>header span{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7);background-color:var(--color-red-600);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-white);border-radius:3.40282e+38px;place-items:center;display:grid}.notification-drawer>header button{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10);background-color:var(--color-slate-100);color:var(--color-slate-500);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));border-radius:3.40282e+38px;place-items:center;display:grid}@media (hover:hover){.notification-drawer>header button:hover{background-color:var(--color-slate-200);color:var(--color-slate-900)}}.notification-drawer-scroll{height:calc(100dvh - 132px);padding:calc(var(--spacing) * 3);overflow-y:auto}.notification-group{margin-bottom:calc(var(--spacing) * 5)}.notification-group-title{margin-bottom:calc(var(--spacing) * 2);height:calc(var(--spacing) * 9);border-radius:var(--radius-lg);padding-inline:calc(var(--spacing) * 3);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:.04em;letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;align-items:center;display:flex}.notification-group-title>span{align-items:center;gap:calc(var(--spacing) * 2);display:flex}.notification-group-title b{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6);background-color:#0000000d;border-radius:3.40282e+38px;place-items:center;display:grid}@supports (color:color-mix(in lab,red,red)){.notification-group-title b{background-color:color-mix(in oklab,var(--color-black) 5%,transparent)}}.notification-group-title b{font-size:11px}.notification-group.overdue .notification-group-title{background-color:var(--color-red-50);color:var(--color-red-600)}.notification-group.upcoming .notification-group-title{background-color:var(--color-amber-50);color:var(--color-amber-600)}.notification-group.info .notification-group-title{background-color:var(--color-slate-100);color:#1b3558}.notification-card{align-items:center;gap:calc(var(--spacing) * 3);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-100);background-color:var(--surface);min-height:66px;padding:calc(var(--spacing) * 3);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));display:flex}@media (hover:hover){.notification-card:hover{border-color:var(--color-slate-300);background-color:var(--color-slate-50)}}.notification-card-icon{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11);border-radius:var(--radius-xl);background-color:var(--color-slate-100);color:#1b3558;flex-shrink:0;place-items:center;display:grid}.notification-group.overdue .notification-card-icon{background-color:var(--color-red-50);color:var(--color-red-500)}.notification-group.upcoming .notification-card-icon{background-color:var(--color-amber-50);color:var(--color-orange-500)}.notification-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-slate-900);display:block;overflow:hidden}.notification-card small{margin-top:calc(var(--spacing) * 1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5);color:var(--color-slate-500);display:block}.ai-provider-card{min-height:calc(var(--spacing) * 20);align-items:center;gap:calc(var(--spacing) * 3);border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:var(--color-white);padding:calc(var(--spacing) * 4);color:var(--color-slate-700);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));display:flex}@media (hover:hover){.ai-provider-card:hover{border-color:var(--color-slate-400);background-color:var(--color-slate-50)}}.ai-provider-card strong{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-slate-950);display:block}.ai-provider-card small{margin-top:calc(var(--spacing) * 1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5);color:var(--color-slate-500);display:block}.ai-provider-card.is-selected{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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);--tw-ring-color:#dcecf2;background-color:#edf6f9;border-color:#8bb0c1}.document-page-hero{margin-inline:calc(var(--spacing) * 3);margin-top:calc(var(--spacing) * 3);justify-content:space-between;align-items:center;gap:calc(var(--spacing) * 3);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-slate-200);background-color:var(--surface);min-height:68px;padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);display:flex;position:relative;overflow:hidden}@media (min-width:48rem){.document-page-hero{margin-inline:calc(var(--spacing) * 4)}}@media (min-width:80rem){.document-page-hero{margin-inline:calc(var(--spacing) * 5)}}.document-page-hero:after{display:none}.document-page-hero-icon{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-orange-200);background-color:var(--color-orange-50);color:var(--color-orange-600);flex-shrink:0;place-items:center;display:grid}.document-page-hero-title{text-overflow:ellipsis;white-space:nowrap;--tw-font-weight:var(--font-weight-bold);font-size:21px;font-weight:var(--font-weight-bold);--tw-tracking:-.02em;letter-spacing:-.012em;color:#142b3a;overflow:hidden}.document-page-hero-description{margin-top:calc(var(--spacing) * .5);text-overflow:ellipsis;white-space:nowrap;color:var(--color-slate-500);font-size:13px;overflow:hidden}.document-list-commandbar{gap:calc(var(--spacing) * 4);border-radius:var(--radius-2xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:var(--color-white);padding:calc(var(--spacing) * 4);--tw-shadow:0 4px 18px var(--tw-shadow-color,#0f172a0a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);display:grid}@media (min-width:80rem){.document-list-commandbar{grid-template-columns:auto minmax(0,1fr);align-items:center}}.document-list-actions{align-items:center;gap:calc(var(--spacing) * 2.5);flex-wrap:wrap;display:flex}.document-create-action{height:calc(var(--spacing) * 12);justify-content:center;align-items:center;gap:calc(var(--spacing) * 2);border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-emerald-700);background-color:var(--color-emerald-600);padding-inline:calc(var(--spacing) * 5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:var(--color-white);--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);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));--tw-duration:.15s;transition-duration:.15s;display:inline-flex}@media (hover:hover){.document-create-action:hover{--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y);background-color:var(--color-emerald-700);--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px 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)}}.document-create-action{background-color:#83a83d!important;border-color:#759637!important}.document-create-action:hover{background-color:#759637!important;border-color:#6d8d32!important}.document-scan-action{height:calc(var(--spacing) * 12);justify-content:center;align-items:center;gap:calc(var(--spacing) * 2);border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-900);background-color:var(--color-slate-900);padding-inline:calc(var(--spacing) * 5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:var(--color-white);--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);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));--tw-duration:.15s;transition-duration:.15s;display:inline-flex}@media (hover:hover){.document-scan-action:hover{--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y);background-color:var(--color-slate-800);--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px 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)}}.document-export-action{height:calc(var(--spacing) * 12);justify-content:center;align-items:center;gap:calc(var(--spacing) * 2);border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-orange-400);background-color:var(--color-white);padding-inline:calc(var(--spacing) * 5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:var(--color-orange-800);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));--tw-duration:.15s;transition-duration:.15s;display:inline-flex}@media (hover:hover){.document-export-action:hover{--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y);background-color:var(--color-orange-50)}}.document-payment-summary{min-width:calc(var(--spacing) * 0);gap:calc(var(--spacing) * 3);display:grid}@media (min-width:40rem){.document-payment-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}.document-payment-summary article{min-height:118px;min-width:calc(var(--spacing) * 0);border-radius:var(--radius-2xl);border-style:var(--tw-border-style);padding-inline:calc(var(--spacing) * 5);padding-block:calc(var(--spacing) * 4);border-width:1px;justify-content:space-between;align-items:center;display:flex;position:relative;overflow:hidden}.document-payment-summary article>div{z-index:10;min-width:calc(var(--spacing) * 0);position:relative}.document-payment-summary article span{align-items:center;gap:calc(var(--spacing) * 2);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);--tw-tracking:.045em;letter-spacing:.045em;text-transform:uppercase;display:flex}.document-payment-summary article span i{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2);border-radius:3.40282e+38px}.document-payment-summary article strong{margin-top:calc(var(--spacing) * 2);--tw-leading:1;--tw-font-weight:var(--font-weight-bold);font-size:30px;line-height:1;font-weight:var(--font-weight-bold);--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);display:block}.document-payment-summary article small{margin-top:calc(var(--spacing) * 2);text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);opacity:.7;display:block;overflow:hidden}.document-payment-summary article>svg{right:calc(var(--spacing) * 2);bottom:calc(var(--spacing) * -2);opacity:.1;position:absolute}.document-payment-summary .is-paid{border-color:var(--color-emerald-200);background-color:var(--color-emerald-50);color:var(--color-emerald-800)}.document-payment-summary .is-paid i{background-color:var(--color-emerald-500)}.document-payment-summary .is-partial{border-color:var(--color-amber-200);background-color:var(--color-amber-50);color:var(--color-amber-900)}.document-payment-summary .is-partial i{background-color:var(--color-amber-500)}.document-payment-summary .is-unpaid{border-color:var(--color-red-200);background-color:var(--color-red-50);color:var(--color-red-800)}.document-payment-summary .is-unpaid i{background-color:var(--color-red-500)}.document-advanced-toggle{justify-content:space-between;border-radius:var(--radius-xl);padding-inline:calc(var(--spacing) * 4);color:var(--color-white);--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);background-color:#23344c;overflow:hidden}.document-advanced-toggle,.document-advanced-toggle-main{min-height:calc(var(--spacing) * 14);align-items:center;gap:calc(var(--spacing) * 3);display:flex}.document-advanced-toggle-main{text-align:left;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);--tw-tracking:.06em;letter-spacing:.06em;text-transform:uppercase;flex:1}.document-advanced-toggle-main svg{color:var(--color-orange-400)}.document-filter-toggle-meta{align-items:center;gap:calc(var(--spacing) * 1.5);display:flex}.document-filter-toggle-meta button{height:calc(var(--spacing) * 9);align-items:center;gap:calc(var(--spacing) * 1.5);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:#ffffff1a;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.document-filter-toggle-meta button{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.document-filter-toggle-meta button{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.document-filter-toggle-meta button{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.document-filter-toggle-meta button{padding-inline:calc(var(--spacing) * 3);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-slate-200);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))}@media (hover:hover){.document-filter-toggle-meta button:hover{background-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.document-filter-toggle-meta button:hover{background-color:color-mix(in oklab,var(--color-white) 15%,transparent)}}.document-filter-toggle-meta button:hover{color:var(--color-white)}}.document-filter-toggle-meta button:last-child{width:calc(var(--spacing) * 9);padding-inline:calc(var(--spacing) * 0);justify-content:center}.document-filter-toggle-meta svg{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;transition-duration:.2s}.document-filter-panel-reference{background-color:var(--color-white)}@media (min-width:80rem){.document-filter-panel-reference{grid-template-columns:minmax(210px,1.4fr) minmax(150px,1fr) minmax(150px,1fr) minmax(160px,1fr) auto auto}}.document-scan-dropzone{min-height:calc(var(--spacing) * 44);border-radius:var(--radius-xl);--tw-border-style:dashed;border-style:dashed;border-width:2px;border-color:var(--color-blue-200);background-color:#eff6ff66;flex-direction:column;justify-content:center;align-items:center;width:100%;display:flex}@supports (color:color-mix(in lab,red,red)){.document-scan-dropzone{background-color:color-mix(in oklab,var(--color-blue-50) 40%,transparent)}}.document-scan-dropzone{padding-inline:calc(var(--spacing) * 5);text-align:center;color:var(--color-blue-600);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))}@media (hover:hover){.document-scan-dropzone:hover{border-color:var(--color-blue-400);background-color:var(--color-blue-50)}}.document-scan-dropzone strong{margin-top:calc(var(--spacing) * 3);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-slate-900);overflow:hidden}.document-scan-dropzone small{margin-top:calc(var(--spacing) * 1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-slate-500)}.sidebar-search{height:calc(var(--spacing) * 10);align-items:center;gap:calc(var(--spacing) * 2.5);border-radius:var(--radius-lg);border-style:var(--tw-border-style);padding-inline:calc(var(--spacing) * 3);color:var(--color-slate-400);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));background-color:#0a3042;border-width:1px;border-color:#24566a;display:flex}.sidebar-search:focus-within{color:var(--color-slate-200);background-color:#0d3c50;border-color:#4c7181}.sidebar-search input{min-width:calc(var(--spacing) * 0);border-style:var(--tw-border-style);color:var(--color-slate-100);--tw-outline-style:none;background-color:#0000;border-width:0;outline-style:none;flex:1;font-size:13px}.sidebar-search input::placeholder{color:var(--color-slate-500)}.sidebar-search button{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7);border-radius:var(--radius-md);color:var(--color-slate-500);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));place-items:center;display:grid}@media (hover:hover){.sidebar-search button:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.sidebar-search button:hover{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.sidebar-search button:hover{color:var(--color-white)}}.sidebar-dashboard-link{min-height:calc(var(--spacing) * 9);align-items:center;gap:calc(var(--spacing) * 2.5);border-radius:var(--radius-lg);border-style:var(--tw-border-style);padding-inline:calc(var(--spacing) * 2);--tw-font-weight:var(--font-weight-semibold);font-size:13px;font-weight:var(--font-weight-semibold);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));--tw-duration:.2s;border-width:1px;border-color:#0000;transition-duration:.2s;display:flex;position:relative}@media (hover:hover){.sidebar-dashboard-link:hover{color:var(--color-white);background-color:#0d4055;border-color:#24566a}}.sidebar-dashboard-link.is-active{color:#f8fbfc;--tw-shadow:0 5px 16px var(--tw-shadow-color,#031a262e);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:#10455a;border-color:#2b6075}.sidebar-item-icon{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7);border-radius:var(--radius-md);background-color:#0d4055;flex-shrink:0;place-items:center;display:grid}.sidebar-dashboard-link.is-active .sidebar-item-icon{color:#ff9c38;background-color:#4c351d}.sidebar-group{border-radius:var(--radius-lg);border-style:var(--tw-border-style);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));border-width:1px;border-color:#0000;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.sidebar-group.has-active{background-color:color-mix(in oklab,var(--color-white) 2.5%,transparent)}}.sidebar-group-trigger{align-items:center;gap:calc(var(--spacing) * 2.5);border-radius:var(--radius-lg);width:100%;padding-inline:calc(var(--spacing) * 2);text-align:left;--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);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));display:flex}@media (hover:hover){.sidebar-group-trigger:hover{color:var(--color-slate-100);background-color:#0d4055}}.sidebar-group-icon{border-style:var(--tw-border-style);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));background-color:#0a3042;border-width:1px;border-color:#204f63;flex-shrink:0;place-items:center;display:grid}.sidebar-group.has-active .sidebar-group-icon{color:#ff9c38;background-color:#4c351d;border-color:#704b24}.sidebar-group-count{min-width:calc(var(--spacing) * 6);background-color:#ffffff0e;border-radius:3.40282e+38px;place-items:center;display:grid}@supports (color:color-mix(in lab,red,red)){.sidebar-group-count{background-color:color-mix(in oklab,var(--color-white) 5.5%,transparent)}}.sidebar-group-count{padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);--tw-font-weight:var(--font-weight-semibold);font-size:10px;font-weight:var(--font-weight-semibold);color:var(--color-slate-500)}.sidebar-group-content{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .2s cubic-bezier(.22,1,.36,1),opacity .16s cubic-bezier(.22,1,.36,1),transform .2s cubic-bezier(.22,1,.36,1);display:grid;transform:translateY(-3px)}.sidebar-group-content>div{overflow:hidden}.sidebar-group-content.is-open{opacity:1;grid-template-rows:1fr;transform:translateY(0)}.sidebar-nav-link{align-items:center;gap:calc(var(--spacing) * 2.5);border-radius:var(--radius-lg);border-style:var(--tw-border-style);--tw-font-weight:var(--font-weight-medium);font-size:13px;font-weight:var(--font-weight-medium);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));--tw-duration:.15s;border-width:1px;border-color:#0000;transition-duration:.15s;display:flex;position:relative}@media (hover:hover){.sidebar-nav-link:hover{color:var(--color-white);background-color:#0d4055;border-color:#24566a}}.sidebar-nav-link.is-active{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:#f8fbfc;--tw-shadow:0 5px 16px var(--tw-shadow-color,#031a2629);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:#10455a;border-color:#2b6075}.sidebar-nav-link.is-active>svg{color:#ff9c38}.sidebar-active-bar{display:none}.settings-main-header{gap:calc(var(--spacing) * 4);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-slate-200);background-color:var(--color-white);padding:calc(var(--spacing) * 5);flex-direction:column;display:flex}@media (min-width:40rem){.settings-main-header{flex-direction:row;justify-content:space-between;align-items:center}}.settings-main-header h2{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:-.02em;letter-spacing:-.012em;color:var(--color-slate-950)}.settings-main-header p{margin-top:calc(var(--spacing) * 1);--tw-leading:calc(var(--spacing) * 6);font-size:14px;line-height:calc(var(--spacing) * 6);color:var(--color-slate-500)}.settings-section{border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:var(--color-white);padding:calc(var(--spacing) * 4)}@media (min-width:40rem){.settings-section{padding:calc(var(--spacing) * 5)}}.settings-section-heading{align-items:flex-start;gap:calc(var(--spacing) * 3);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-slate-100);padding-bottom:calc(var(--spacing) * 3);color:var(--color-slate-600);display:flex}.settings-section-heading>svg{margin-top:calc(var(--spacing) * .5);color:var(--color-orange-500);flex-shrink:0}.settings-section-heading h3{--tw-font-weight:var(--font-weight-semibold);font-size:15px;font-weight:var(--font-weight-semibold);color:var(--color-slate-950)}.settings-section-heading p{margin-top:calc(var(--spacing) * .5);--tw-leading:calc(var(--spacing) * 5);font-size:13px;line-height:calc(var(--spacing) * 5);color:var(--color-slate-500)}.brand-asset-card{gap:calc(var(--spacing) * 4);border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:#f8fafc99;flex-direction:column;display:flex}@supports (color:color-mix(in lab,red,red)){.brand-asset-card{background-color:color-mix(in oklab,var(--color-slate-50) 60%,transparent)}}.brand-asset-card{padding:calc(var(--spacing) * 3)}@media (min-width:40rem){.brand-asset-card{flex-direction:row}}.brand-asset-preview{height:calc(var(--spacing) * 32);border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:var(--color-white);flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}@media (min-width:40rem){.brand-asset-preview{width:calc(var(--spacing) * 48)}}.brand-asset-preview.is-logo{padding:calc(var(--spacing) * 4)}.brand-asset-preview.is-background{background-color:var(--color-slate-900)}.brand-asset-preview img{object-fit:contain;width:100%;height:100%}.brand-asset-preview.is-background img{object-fit:cover}.brand-asset-preview>div{align-items:center;gap:calc(var(--spacing) * 2);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-slate-400);flex-direction:column;display:flex}.brand-asset-card h4{--tw-font-weight:var(--font-weight-semibold);font-size:14px;font-weight:var(--font-weight-semibold);color:var(--color-slate-950)}.brand-asset-card p{margin-top:calc(var(--spacing) * 1);--tw-leading:calc(var(--spacing) * 5);font-size:12px;line-height:calc(var(--spacing) * 5);color:var(--color-slate-500)}@media (min-width:80rem){.users-toolbar{grid-template-columns:minmax(320px,1fr) auto}}.user-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#030a1694}.dialog-header{justify-content:space-between;align-items:center;gap:calc(var(--spacing) * 4);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-slate-200);background-color:var(--color-white);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3.5);display:flex}@media (min-width:40rem){.dialog-header{padding-inline:calc(var(--spacing) * 5)}}.dialog-footer{gap:calc(var(--spacing) * 2);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--color-slate-200);background-color:var(--color-slate-50);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);flex-direction:column-reverse;display:flex}@media (min-width:40rem){.dialog-footer{padding-inline:calc(var(--spacing) * 5);flex-direction:row;justify-content:flex-end}}.field-leading-icon{pointer-events:none;top:50%;left:calc(var(--spacing) * 3.5);--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);color:var(--color-slate-400);position:absolute}.role-pill{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-blue-200);background-color:var(--color-blue-50);color:var(--color-blue-700);border-radius:3.40282e+38px}.account-state,.role-pill{padding-inline:calc(var(--spacing) * 2.5);padding-block:calc(var(--spacing) * 1);--tw-font-weight:var(--font-weight-semibold);font-size:11px;font-weight:var(--font-weight-semibold);display:inline-flex}.account-state{align-items:center;gap:calc(var(--spacing) * 1.5);border-style:var(--tw-border-style);border-width:1px;border-radius:3.40282e+38px}.account-state.is-active{border-color:var(--color-emerald-200);background-color:var(--color-emerald-50);color:var(--color-emerald-700)}.account-state.is-inactive{border-color:var(--color-slate-200);background-color:var(--color-slate-100);color:var(--color-slate-500)}.table-action{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:var(--color-white);color:var(--color-slate-500);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));place-items:center;display:grid}@media (hover:hover){.table-action:hover{border-color:var(--color-slate-300);background-color:var(--color-slate-50);color:var(--color-slate-900)}}.table-action:disabled{cursor:not-allowed;opacity:.35}@media (hover:hover){.table-action.danger:hover{border-color:var(--color-red-200);background-color:var(--color-red-50);color:var(--color-red-700)}}.role-selector{margin-top:calc(var(--spacing) * 4);gap:calc(var(--spacing) * 2);display:grid}@media (min-width:40rem){.role-selector{grid-template-columns:repeat(2,minmax(0,1fr))}}.role-option{min-height:calc(var(--spacing) * 14);align-items:center;gap:calc(var(--spacing) * 3);border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:var(--color-white);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2.5);text-align:left;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));display:flex}@media (hover:hover){.role-option:hover{border-color:var(--color-slate-300);background-color:var(--color-slate-50)}}.role-option.is-selected{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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);--tw-ring-color:#dcecf2;background-color:#edf6f9;border-color:#8bb0c1}.role-option-check{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-300);background-color:var(--color-white);color:var(--color-orange-600);border-radius:3.40282e+38px;flex-shrink:0;place-items:center;display:grid}.role-option.is-selected .role-option-check{color:var(--color-white);background-color:#07364d;border-color:#07364d}.role-option strong{--tw-font-weight:var(--font-weight-semibold);font-size:13px;font-weight:var(--font-weight-semibold);color:var(--color-slate-900);display:block}.role-option small{margin-top:calc(var(--spacing) * .5);color:var(--color-slate-500);font-size:11px;display:block}.permission-group{border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:#f8fafc99}@supports (color:color-mix(in lab,red,red)){.permission-group{background-color:color-mix(in oklab,var(--color-slate-50) 60%,transparent)}}.permission-group{padding:calc(var(--spacing) * 3)}.permission-group legend{padding-inline:calc(var(--spacing) * 1);--tw-font-weight:var(--font-weight-semibold);font-size:12px;font-weight:var(--font-weight-semibold);color:var(--color-slate-800)}.permission-check{cursor:pointer;align-items:flex-start;gap:calc(var(--spacing) * 2);border-radius:var(--radius-lg);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1.5);--tw-leading:calc(var(--spacing) * 5);font-size:12px;line-height:calc(var(--spacing) * 5);color:var(--color-slate-600);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));display:flex}@media (hover:hover){.permission-check:hover{background-color:var(--color-white);color:var(--color-slate-900)}}.permission-check input{margin-top:calc(var(--spacing) * .5);width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4);accent-color:#07364d;flex-shrink:0}.permission-toggle{cursor:pointer;align-items:flex-start;gap:calc(var(--spacing) * 3);border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:#f8fafc99;display:flex}@supports (color:color-mix(in lab,red,red)){.permission-toggle{background-color:color-mix(in oklab,var(--color-slate-50) 60%,transparent)}}.permission-toggle{padding:calc(var(--spacing) * 3);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))}@media (hover:hover){.permission-toggle:hover{background-color:var(--color-slate-50)}}.permission-toggle input{margin-top:calc(var(--spacing) * .5);width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4);accent-color:#07364d;flex-shrink:0}.permission-toggle strong{--tw-font-weight:var(--font-weight-semibold);font-size:13px;font-weight:var(--font-weight-semibold);color:var(--color-slate-900);display:block}.permission-toggle small{margin-top:calc(var(--spacing) * .5);--tw-leading:calc(var(--spacing) * 5);font-size:11px;line-height:calc(var(--spacing) * 5);color:var(--color-slate-500);display:block}.text-action{height:calc(var(--spacing) * 9);align-items:center;gap:calc(var(--spacing) * 1.5);border-radius:var(--radius-lg);padding-inline:calc(var(--spacing) * 2.5);--tw-font-weight:var(--font-weight-semibold);font-size:12px;font-weight:var(--font-weight-semibold);color:var(--color-orange-700);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));display:inline-flex}@media (hover:hover){.text-action:hover{background-color:var(--color-orange-50)}}.login-shell{background-color:var(--color-white);min-height:100dvh;display:grid}@media (min-width:64rem){.login-shell{grid-template-columns:minmax(0,1.1fr) minmax(460px,.9fr)}}.login-visual{background-color:#071a2d;background-position:50%;background-size:cover;min-height:100dvh;display:none;position:relative;overflow:hidden}@media (min-width:64rem){.login-visual{display:block}}.login-visual:after{content:"";background:linear-gradient(120deg,#04101d38,#04101d14);position:absolute;inset:0}.login-visual-grid{display:none}.login-brand{align-items:center;gap:calc(var(--spacing) * 3);color:var(--color-white);display:flex}.login-brand img{height:calc(var(--spacing) * 12);object-fit:contain;width:auto;max-width:210px}.login-brand>span{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11);border-style:var(--tw-border-style);border-width:3px;border-color:var(--color-orange-500);font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:var(--color-orange-400);border-radius:3.40282e+38px;place-items:center;display:grid}.login-brand strong{--tw-font-weight:var(--font-weight-semibold);font-size:24px;font-weight:var(--font-weight-semibold);--tw-tracking:-.045em;letter-spacing:-.012em}.login-brand small{margin-left:calc(var(--spacing) * .5);--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal);color:var(--color-orange-400);font-size:10px}.login-brand.is-dark{color:var(--color-slate-950)}.login-trust{align-items:center;gap:calc(var(--spacing) * 2);border-style:var(--tw-border-style);border-width:1px;border-color:#ffffff26;border-radius:3.40282e+38px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.login-trust{border-color:color-mix(in oklab,var(--color-white) 15%,transparent)}}.login-trust{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.login-trust{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.login-trust{padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 1.5);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.login-trust{color:color-mix(in oklab,var(--color-white) 90%,transparent)}}.login-trust{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.login-visual h1{margin-top:calc(var(--spacing) * 5);max-width:var(--container-xl);--tw-leading:1.12;--tw-font-weight:var(--font-weight-semibold);font-size:38px;line-height:1.12;font-weight:var(--font-weight-semibold);--tw-tracking:-.035em;letter-spacing:-.012em;color:var(--color-white)}@media (min-width:80rem){.login-visual h1{font-size:46px}}.login-visual p{margin-top:calc(var(--spacing) * 4);max-width:var(--container-xl);--tw-leading:calc(var(--spacing) * 7);font-size:16px;line-height:calc(var(--spacing) * 7);color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.login-visual p{color:color-mix(in oklab,var(--color-white) 70%,transparent)}}.login-form-side{background-color:var(--color-white);min-height:100dvh;padding-inline:calc(var(--spacing) * 5);padding-block:calc(var(--spacing) * 10);justify-content:center;align-items:center;display:flex}@media (min-width:40rem){.login-form-side{padding-inline:calc(var(--spacing) * 10)}}@media (min-width:64rem){.login-form-side{padding-inline:calc(var(--spacing) * 14)}}@media (min-width:80rem){.login-form-side{padding-inline:calc(var(--spacing) * 20)}}.login-eyebrow{--tw-font-weight:var(--font-weight-semibold);font-size:12px;--tw-tracking:.12em;letter-spacing:.12em;color:var(--color-orange-600);text-transform:uppercase}.login-eyebrow,.login-form-side h2{font-weight:var(--font-weight-semibold)}.login-form-side h2{margin-top:calc(var(--spacing) * 2);--tw-leading:var(--leading-tight);font-size:28px;line-height:var(--leading-tight);--tw-font-weight:var(--font-weight-semibold);--tw-tracking:-.03em;letter-spacing:-.012em;color:var(--color-slate-950)}.login-field-label{font-size:13px}.login-input{font-size:15px}.login-input,.login-submit{height:calc(var(--spacing) * 12);border-radius:var(--radius-xl)}.login-submit{width:100%;padding-inline:calc(var(--spacing) * 4);--tw-font-weight:var(--font-weight-semibold);font-size:14px;font-weight:var(--font-weight-semibold);color:var(--color-white);--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);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));background-color:#0b1c30;justify-content:space-between;align-items:center;display:flex}@media (hover:hover){.login-submit:hover{--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y);--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px 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);background-color:#102943}}.login-submit:disabled{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y);cursor:not-allowed;opacity:.6}.party-metrics{border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:#fbfdfe;display:grid;overflow:hidden}@media (min-width:40rem){.party-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}:where(.party-metrics>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)));border-color:var(--color-slate-200)}}.party-metrics>div{min-height:calc(var(--spacing) * 14);align-items:center;gap:calc(var(--spacing) * 2);padding-inline:calc(var(--spacing) * 3.5);padding-block:calc(var(--spacing) * 2.5);display:flex}.party-metrics>div>svg{color:#0a5772}.party-metrics span{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-slate-500)}.party-metrics strong{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-slate-950);--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);margin-left:auto}:where(.party-list>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-color:var(--color-slate-100)}.party-list{border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:#fbfdfe;overflow:hidden}.party-list-row{min-height:calc(var(--spacing) * 16);align-items:center;gap:calc(var(--spacing) * 3);padding-inline:calc(var(--spacing) * 3.5);padding-block:calc(var(--spacing) * 2.5);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));--tw-outline-style:none;outline-style:none;display:flex}@media (hover:hover){.party-list-row:hover{background-color:#f1f7f9}}.party-list-row:focus-visible{background-color:#edf6f9}.party-list-row>span strong{--tw-font-weight:var(--font-weight-semibold);font-size:13.5px;font-weight:var(--font-weight-semibold);color:var(--color-slate-900)}.party-list-row>span small,.party-list-row>span strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.party-list-row>span small{margin-top:calc(var(--spacing) * .5);color:var(--color-slate-500);font-size:11px}.party-avatar{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9);border-radius:var(--radius-lg);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:#f8fbfc;background-color:#07364d;flex-shrink:0;place-items:center;display:grid}.dashboard-intelligence{border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:#fbfdfe;display:grid;overflow:hidden}@media (min-width:40rem){.dashboard-intelligence{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:80rem){.dashboard-intelligence{grid-template-columns:repeat(4,minmax(0,1fr))}}.dashboard-intelligence article{min-height:calc(var(--spacing) * 20);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-slate-100);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);position:relative;overflow:hidden}@media (min-width:40rem){.dashboard-intelligence article:nth-child(odd){border-right-style:var(--tw-border-style);border-right-width:1px}}@media (min-width:80rem){.dashboard-intelligence article{border-right-style:var(--tw-border-style);border-right-width:1px;border-bottom-style:var(--tw-border-style);border-bottom-width:0}.dashboard-intelligence article:last-child{border-right-style:var(--tw-border-style);border-right-width:0}}.dashboard-intelligence article>svg{right:calc(var(--spacing) * 2);bottom:calc(var(--spacing) * -2);color:#dcecf2;position:absolute}.dashboard-intelligence span{--tw-font-weight:var(--font-weight-medium);font-size:11px;font-weight:var(--font-weight-medium);color:var(--color-slate-500);display:block;position:relative}.dashboard-intelligence strong{margin-top:calc(var(--spacing) * 1.5);font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:#07364d;--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);display:block;position:relative}.chart-tabs{gap:calc(var(--spacing) * 1);border-radius:var(--radius-lg);background-color:var(--color-slate-100);padding:calc(var(--spacing) * 1);display:flex}.chart-tabs button{height:calc(var(--spacing) * 7);border-radius:var(--radius-md);padding-inline:calc(var(--spacing) * 2.5);--tw-font-weight:var(--font-weight-semibold);font-size:11px;font-weight:var(--font-weight-semibold);color:var(--color-slate-500);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))}@media (hover:hover){.chart-tabs button:hover{color:var(--color-slate-900)}}.chart-tabs button.is-active{color:#07364d;--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);background-color:#fbfdfe}.party-account-header{min-height:calc(var(--spacing) * 16);align-items:center;gap:calc(var(--spacing) * 3);border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);padding:calc(var(--spacing) * 3);background-color:#fbfdfe;display:flex}.party-account-header h2{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:-.015em;letter-spacing:-.012em;color:var(--color-slate-950)}.party-account-header h2,.party-account-header p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.party-account-header p{margin-top:calc(var(--spacing) * .5);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-slate-500)}.account-metric-strip{border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:#fbfdfe;display:grid;overflow:hidden}@media (min-width:40rem){.account-metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:80rem){.account-metric-strip{grid-template-columns:repeat(4,minmax(0,1fr))}:where(.account-metric-strip>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)));border-color:var(--color-slate-200)}}.account-metric-strip>div{min-height:calc(var(--spacing) * 16);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-slate-100);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 2.5);flex-direction:column;justify-content:center;display:flex}@media (min-width:80rem){.account-metric-strip>div{border-bottom-style:var(--tw-border-style);border-bottom-width:0}}.account-metric-strip span{--tw-font-weight:var(--font-weight-medium);font-size:11px;font-weight:var(--font-weight-medium);color:var(--color-slate-500)}.account-metric-strip strong{margin-top:calc(var(--spacing) * 1);font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-slate-950);--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.account-guidance{align-items:flex-start;gap:calc(var(--spacing) * 2.5);border-radius:var(--radius-lg);border-style:var(--tw-border-style);padding-inline:calc(var(--spacing) * 3.5);padding-block:calc(var(--spacing) * 3);--tw-leading:calc(var(--spacing) * 5);font-size:13px;line-height:calc(var(--spacing) * 5);border-width:1px;display:flex}.account-guidance svg{margin-top:calc(var(--spacing) * .5);flex-shrink:0}.account-guidance.is-risk{border-color:var(--color-amber-200);background-color:#fffbebb3}@supports (color:color-mix(in lab,red,red)){.account-guidance.is-risk{background-color:color-mix(in oklab,var(--color-amber-50) 70%,transparent)}}.account-guidance.is-risk{color:var(--color-amber-900)}.account-guidance.is-good{border-color:var(--color-emerald-200);background-color:#ecfdf5b3}@supports (color:color-mix(in lab,red,red)){.account-guidance.is-good{background-color:color-mix(in oklab,var(--color-emerald-50) 70%,transparent)}}.account-guidance.is-good{color:var(--color-emerald-900)}.account-tabs{gap:calc(var(--spacing) * 1);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:var(--color-slate-100);width:fit-content;padding:calc(var(--spacing) * 1);display:flex}.account-tabs button{height:calc(var(--spacing) * 8);align-items:center;gap:calc(var(--spacing) * 2);border-radius:var(--radius-md);padding-inline:calc(var(--spacing) * 3);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-slate-500);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));display:flex}@media (hover:hover){.account-tabs button:hover{color:var(--color-slate-900)}}.account-tabs button.is-active{color:#07364d;--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);background-color:#fbfdfe}.account-tabs button span{background-color:var(--color-slate-100);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);border-radius:.25rem;font-size:10px}:where(.account-activity>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-color:var(--color-slate-100)}.account-activity{border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:#fbfdfe;overflow:hidden}.account-activity-row{min-height:calc(var(--spacing) * 16);align-items:center;gap:calc(var(--spacing) * 3);padding-inline:calc(var(--spacing) * 3.5);padding-block:calc(var(--spacing) * 2.5);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));display:flex}@media (hover:hover){.account-activity-row:hover{background-color:#f1f7f9}}.account-activity-row>span:first-child{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9);border-radius:var(--radius-lg);flex-shrink:0;place-items:center;display:grid}.account-activity-row>span:first-child.is-document{color:#0a5772;background-color:#edf6f9}.account-activity-row>span:first-child.is-payment{background-color:var(--color-emerald-50);color:var(--color-emerald-700)}.account-activity-row>span strong{--tw-font-weight:var(--font-weight-semibold);font-size:13px;font-weight:var(--font-weight-semibold);color:var(--color-slate-900);display:block}.account-activity-row>span small{margin-top:calc(var(--spacing) * .5);color:var(--color-slate-500);font-size:11px;display:block}.account-activity-row>span:last-child{align-items:flex-end;gap:calc(var(--spacing) * 1);flex-direction:column;flex-shrink:0;display:flex}.account-edit{border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);padding:calc(var(--spacing) * 4);background-color:#fbfdfe}.account-edit footer{margin-top:calc(var(--spacing) * 4);justify-content:flex-end;gap:calc(var(--spacing) * 2);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--color-slate-100);padding-top:calc(var(--spacing) * 4);display:flex}.account-identity{border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:#fbfdfe;display:grid;overflow:hidden}@media (min-width:40rem){.account-identity{grid-template-columns:repeat(2,minmax(0,1fr))}}.account-identity>div{align-items:center;gap:calc(var(--spacing) * 2);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-slate-100);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);grid-template-columns:24px minmax(100px,.45fr) minmax(0,1fr);display:grid}@media (min-width:40rem){.account-identity>div:nth-child(odd){border-right-style:var(--tw-border-style);border-right-width:1px}}.account-identity svg{color:#0a5772}.account-identity span{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-slate-500)}.account-identity strong{text-overflow:ellipsis;white-space:nowrap;text-align:right;--tw-font-weight:var(--font-weight-semibold);font-size:13px;font-weight:var(--font-weight-semibold);color:var(--color-slate-900);overflow:hidden}.password-change-shell{background-color:var(--color-slate-100);min-height:100dvh;padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 8);place-items:center;display:grid}.password-change-card{border-radius:var(--radius-2xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:var(--color-white);width:100%;max-width:520px;padding:calc(var(--spacing) * 5);--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px 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)}@media (min-width:40rem){.password-change-card{padding:calc(var(--spacing) * 7)}}.password-change-brand{align-items:center;gap:calc(var(--spacing) * 3);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-slate-100);padding-bottom:calc(var(--spacing) * 5);display:flex}.password-change-brand img{height:calc(var(--spacing) * 11);object-fit:contain;width:auto;max-width:190px}.password-change-mark{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10);border-style:var(--tw-border-style);border-width:3px;border-color:var(--color-orange-500);font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));color:var(--color-orange-500);border-radius:3.40282e+38px;place-items:center;display:grid}.password-change-brand p,.password-change-mark{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.password-change-brand p{font-size:15px;color:var(--color-slate-950)}.password-change-brand small{margin-top:calc(var(--spacing) * .5);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-slate-500);display:block}.password-change-heading{margin-top:calc(var(--spacing) * 6);align-items:flex-start;gap:calc(var(--spacing) * 3);display:flex}.password-change-heading>span{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11);border-radius:var(--radius-xl);background-color:var(--color-orange-50);color:var(--color-orange-600);flex-shrink:0;place-items:center;display:grid}.password-change-heading h1{--tw-font-weight:var(--font-weight-semibold);font-size:22px;font-weight:var(--font-weight-semibold);--tw-tracking:-.025em;letter-spacing:-.012em;color:var(--color-slate-950)}.password-change-heading p{margin-top:calc(var(--spacing) * 1);--tw-leading:calc(var(--spacing) * 5);font-size:13px;line-height:calc(var(--spacing) * 5);color:var(--color-slate-500)}.password-rules{gap:calc(var(--spacing) * 2);border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:var(--color-slate-50);padding:calc(var(--spacing) * 3);display:grid}@media (min-width:40rem){.password-rules{grid-template-columns:repeat(2,minmax(0,1fr))}}.password-rules span{align-items:center;gap:calc(var(--spacing) * 1.5);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-slate-400);display:flex}.password-rules span.is-valid{color:var(--color-emerald-700)}.account-company-switcher{border-block-style:var(--tw-border-style);border-block-width:1px;border-color:var(--color-slate-100);padding-block:calc(var(--spacing) * 2)}.account-company-switcher>p{align-items:center;gap:calc(var(--spacing) * 1.5);padding-inline:calc(var(--spacing) * 3);padding-bottom:calc(var(--spacing) * 1.5);--tw-font-weight:var(--font-weight-semibold);font-size:10px;font-weight:var(--font-weight-semibold);--tw-tracking:.07em;letter-spacing:.07em;color:var(--color-slate-400);text-transform:uppercase;display:flex}.account-company-switcher>div{max-height:calc(var(--spacing) * 48)}:where(.account-company-switcher>div>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}.account-company-switcher>div{padding-inline:calc(var(--spacing) * 1);overflow-y:auto}.account-company-switcher button{min-height:calc(var(--spacing) * 12);align-items:center;gap:calc(var(--spacing) * 2.5);border-radius:var(--radius-lg);width:100%;padding-inline:calc(var(--spacing) * 2.5);padding-block:calc(var(--spacing) * 2);text-align:left;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));display:flex}@media (hover:hover){.account-company-switcher button:hover{background-color:var(--color-slate-50)}}.account-company-switcher button:disabled{cursor:default;opacity:.7}.account-company-switcher button.is-current{background-color:var(--color-orange-50)}.account-company-mark{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:var(--color-white);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-slate-600);flex-shrink:0;place-items:center;display:grid;overflow:hidden}.account-company-mark img{object-fit:contain;width:100%;height:100%;padding:calc(var(--spacing) * 1)}.account-company-switcher strong{--tw-font-weight:var(--font-weight-semibold);font-size:12px;font-weight:var(--font-weight-semibold);color:var(--color-slate-800)}.account-company-switcher small,.account-company-switcher strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.account-company-switcher small{margin-top:calc(var(--spacing) * .5);color:var(--color-slate-500);font-size:10px}.erp-sidebar{contain:layout style}.sidebar-desktop-control{justify-content:flex-end;align-items:center;min-height:62px;padding-inline:.75rem}.sidebar-collapse-button{border-radius:var(--radius-xl);border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.sidebar-collapse-button{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.sidebar-collapse-button{background-color:#ffffff0b}@supports (color:color-mix(in lab,red,red)){.sidebar-collapse-button{background-color:color-mix(in oklab,var(--color-white) 4.5%,transparent)}}.sidebar-collapse-button{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;--tw-outline-style:none;outline-style:none}@media (hover:hover){.sidebar-collapse-button:hover{border-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.sidebar-collapse-button:hover{border-color:color-mix(in oklab,var(--color-white) 15%,transparent)}}.sidebar-collapse-button:hover{background-color:#ffffff17}@supports (color:color-mix(in lab,red,red)){.sidebar-collapse-button:hover{background-color:color-mix(in oklab,var(--color-white) 9%,transparent)}}.sidebar-collapse-button:hover{color:var(--color-white)}}.sidebar-collapse-button:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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);--tw-ring-color:#ff8b1ab3}@supports (color:color-mix(in lab,red,red)){.sidebar-collapse-button:focus-visible{--tw-ring-color:color-mix(in oklab,var(--color-orange-400) 70%,transparent)}}.sidebar-flyout-backdrop{inset:calc(var(--spacing) * 0);z-index:44;cursor:default;background-color:#0000;display:none;position:fixed;top:72px}@media (min-width:64rem){.sidebar-flyout-backdrop{display:block}}.sidebar-flyout{z-index:56;border-radius:var(--radius-2xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:var(--color-white);width:348px;color:var(--color-slate-800);--tw-shadow:0 22px 65px var(--tw-shadow-color,#0f172a38);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);display:none;position:fixed;overflow:hidden}@media (min-width:64rem){.sidebar-flyout{flex-direction:column;display:flex}}.sidebar-flyout{transform-origin:0 0;animation:sidebar-flyout-in .17s cubic-bezier(.22,1,.36,1)}.sidebar-flyout:before{content:"";background:#fff;border-bottom:1px solid #dfe4ea;border-left:1px solid #dfe4ea;width:14px;height:14px;position:absolute;top:26px;left:-7px;transform:rotate(45deg)}.sidebar-flyout-header{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-slate-100);min-height:58px;padding-inline:calc(var(--spacing) * 5);--tw-font-weight:var(--font-weight-bold);font-size:12px;font-weight:var(--font-weight-bold);--tw-tracking:.09em;letter-spacing:.09em;color:var(--color-slate-500);text-transform:uppercase;justify-content:space-between;align-items:center;display:flex;position:relative}.sidebar-flyout-header small{min-width:calc(var(--spacing) * 7);background-color:var(--color-slate-100);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1);--tw-font-weight:var(--font-weight-semibold);font-size:10px;font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal);color:var(--color-slate-500);border-radius:3.40282e+38px;place-items:center;display:grid}.sidebar-flyout-list{min-height:calc(var(--spacing) * 0);flex:1}:where(.sidebar-flyout-list>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}.sidebar-flyout-list{overscroll-behavior:contain;padding:calc(var(--spacing) * 3);overflow-y:auto}.sidebar-flyout-link{align-items:center;gap:calc(var(--spacing) * 3);border-radius:var(--radius-xl);min-height:50px;padding-inline:calc(var(--spacing) * 3.5);--tw-font-weight:var(--font-weight-medium);font-size:15px;font-weight:var(--font-weight-medium);color:var(--color-slate-700);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));--tw-outline-style:none;outline-style:none;display:flex}@media (hover:hover){.sidebar-flyout-link:hover{background-color:var(--color-slate-100);color:var(--color-slate-950)}}.sidebar-flyout-link:focus-visible{background-color:var(--color-slate-100);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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);--tw-ring-color:var(--color-orange-200)}.sidebar-flyout-link>svg{color:var(--color-slate-500);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));flex-shrink:0}.sidebar-flyout-link.is-active{background-color:var(--color-slate-100);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-slate-950)}.sidebar-flyout-link.is-active>svg{color:var(--color-orange-600)}.sidebar-search{background-color:#06283d;border-color:#173b51}.sidebar-search:focus-within{background-color:#082f46;border-color:#315c72}.sidebar-dashboard-link,.sidebar-group-trigger,.sidebar-nav-link{isolation:isolate;--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:#0000;border-color:#0000;overflow:hidden}.sidebar-dashboard-link{min-height:calc(var(--spacing) * 10);border-radius:var(--radius-md);padding-inline:calc(var(--spacing) * 2.5);color:var(--color-slate-300);font-size:12.5px}.sidebar-group{border-radius:var(--radius-md)}.sidebar-group,.sidebar-group.has-active{background-color:#0000}.sidebar-group-trigger{min-height:calc(var(--spacing) * 10);padding-inline:calc(var(--spacing) * 2.5);color:var(--color-slate-400);font-size:12px}.sidebar-group-icon,.sidebar-group-trigger{border-radius:var(--radius-md);position:relative}.sidebar-group-icon{z-index:2;width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7);background-color:#06283d;border-color:#173b51}.sidebar-group.has-active .sidebar-group-trigger{color:var(--color-white)}.sidebar-group.has-active .sidebar-group-icon{border-color:#fe6e004d}@supports (color:color-mix(in lab,red,red)){.sidebar-group.has-active .sidebar-group-icon{border-color:color-mix(in oklab,var(--color-orange-500) 30%,transparent)}}.sidebar-group.has-active .sidebar-group-icon{background-color:#fe6e001a}@supports (color:color-mix(in lab,red,red)){.sidebar-group.has-active .sidebar-group-icon{background-color:color-mix(in oklab,var(--color-orange-500) 10%,transparent)}}.sidebar-group.has-active .sidebar-group-icon{color:var(--color-orange-400)}.sidebar-nav-link{min-height:calc(var(--spacing) * 9);border-radius:var(--radius-md);padding-inline:calc(var(--spacing) * 3);color:var(--color-slate-400);font-size:12.5px}.sidebar-dashboard-link>span:not(.sidebar-active-surface):not(.sidebar-hover-surface),.sidebar-group-trigger>span:not(.sidebar-hover-surface),.sidebar-group-trigger>svg,.sidebar-nav-link>span:not(.sidebar-active-surface):not(.sidebar-hover-surface):not(.sidebar-active-bar),.sidebar-nav-link>svg{z-index:2;position:relative}.sidebar-dashboard-link.is-active,.sidebar-nav-link.is-active{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.sidebar-dashboard-link.is-active,.sidebar-dashboard-link:hover,.sidebar-group-trigger:hover,.sidebar-nav-link.is-active,.sidebar-nav-link:hover{color:var(--color-white);background-color:#0000;border-color:#0000}.sidebar-item-icon{z-index:2;background-color:#082c41;position:relative}.sidebar-dashboard-link.is-active .sidebar-item-icon{background-color:var(--color-orange-500);color:#031f33}.sidebar-nav-link.is-active>svg{z-index:2;color:var(--color-orange-400);position:relative}.sidebar-active-surface,.sidebar-hover-surface{inset:calc(var(--spacing) * 0);z-index:0;border-radius:var(--radius-md);background-color:#0b344a;position:absolute}.sidebar-active-surface{border-style:var(--tw-border-style);border-width:1px;border-color:#1d455a}.sidebar-active-bar{top:calc(var(--spacing) * 1.5);bottom:calc(var(--spacing) * 1.5);left:calc(var(--spacing) * 0);z-index:3;background-color:var(--color-orange-500);border-top-right-radius:3.40282e+38px;border-bottom-right-radius:3.40282e+38px;width:3px;display:block;position:absolute}:where(.dashboard-page>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}.dashboard-page{background-color:#f4f8fa}.dashboard-command{justify-content:space-between;gap:calc(var(--spacing) * 3);border-style:var(--tw-border-style);min-height:72px;padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3.5);color:var(--color-white);--tw-shadow:0 12px 30px var(--tw-shadow-color,#031f331f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:#05283c;border-width:1px;border-color:#133e55;border-radius:14px;flex-direction:column;display:flex;position:relative;overflow:hidden}@media (min-width:48rem){.dashboard-command{flex-direction:row;align-items:center}}.dashboard-command:after{content:"";pointer-events:none;background:radial-gradient(circle,#f9731642,#0000 67%);border-radius:999px;width:330px;height:330px;position:absolute;top:-220px;right:-180px}.dashboard-command-main{z-index:1;min-width:calc(var(--spacing) * 0);gap:calc(var(--spacing) * 3);flex-direction:column;display:flex;position:relative}@media (min-width:64rem){.dashboard-command-main{align-items:center;gap:calc(var(--spacing) * 5);flex-direction:row}}.dashboard-command-title{align-items:center;gap:calc(var(--spacing) * 2.5);flex-shrink:0;display:flex}.dashboard-command-title h1{--tw-font-weight:var(--font-weight-semibold);font-size:20px;font-weight:var(--font-weight-semibold);--tw-tracking:-.025em;letter-spacing:-.012em}.dashboard-live-dot{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2);background-color:var(--color-emerald-400);border-radius:3.40282e+38px;animation:live-pulse 2.2s ease-out infinite;position:relative;box-shadow:0 0 0 5px #34d3991a}.dashboard-periods{align-items:center;gap:calc(var(--spacing) * .5);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:#ffffff1a;width:fit-content;display:flex;position:relative}@supports (color:color-mix(in lab,red,red)){.dashboard-periods{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.dashboard-periods{background-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.dashboard-periods{background-color:color-mix(in oklab,var(--color-black) 10%,transparent)}}.dashboard-periods{padding:calc(var(--spacing) * 1)}.dashboard-periods button{isolation:isolate;height:calc(var(--spacing) * 8);border-radius:var(--radius-md);padding-inline:calc(var(--spacing) * 2.5);--tw-font-weight:var(--font-weight-semibold);font-size:11px;font-weight:var(--font-weight-semibold);color:var(--color-slate-400);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));--tw-outline-style:none;outline-style:none;position:relative}@media (hover:hover){.dashboard-periods button:hover{color:var(--color-white)}}.dashboard-periods button>span:last-child{z-index:2;position:relative}.dashboard-periods button.is-active{color:var(--color-white)}.dashboard-period-indicator{inset:calc(var(--spacing) * 0);z-index:0;border-radius:var(--radius-md);background-color:#ffffff1a;position:absolute}@supports (color:color-mix(in lab,red,red)){.dashboard-period-indicator{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.dashboard-period-indicator{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,#ffffff14);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dashboard-command-actions{z-index:1;display:flex;position:relative}.dashboard-command-actions,.dashboard-date{align-items:center;gap:calc(var(--spacing) * 2)}.dashboard-date{height:calc(var(--spacing) * 9);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:#ffffff1a;display:none}@supports (color:color-mix(in lab,red,red)){.dashboard-date{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.dashboard-date{padding-inline:calc(var(--spacing) * 3);--tw-font-weight:var(--font-weight-medium);font-size:11px;font-weight:var(--font-weight-medium);color:var(--color-slate-300)}@media (min-width:40rem){.dashboard-date{display:inline-flex}}.dashboard-date svg{color:var(--color-orange-400)}.dashboard-filter-button{height:calc(var(--spacing) * 9);align-items:center;gap:calc(var(--spacing) * 2);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:#ffffff1a;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.dashboard-filter-button{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.dashboard-filter-button{background-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.dashboard-filter-button{background-color:color-mix(in oklab,var(--color-white) 6%,transparent)}}.dashboard-filter-button{padding-inline:calc(var(--spacing) * 3);--tw-font-weight:var(--font-weight-semibold);font-size:11px;font-weight:var(--font-weight-semibold);color:var(--color-slate-200);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))}@media (hover:hover){.dashboard-filter-button:hover{background-color:#ffffff1c}@supports (color:color-mix(in lab,red,red)){.dashboard-filter-button:hover{background-color:color-mix(in oklab,var(--color-white) 11%,transparent)}}}.dashboard-filter-button.is-active{border-color:#ff8b1a66}@supports (color:color-mix(in lab,red,red)){.dashboard-filter-button.is-active{border-color:color-mix(in oklab,var(--color-orange-400) 40%,transparent)}}.dashboard-filter-button.is-active{background-color:#fe6e0026}@supports (color:color-mix(in lab,red,red)){.dashboard-filter-button.is-active{background-color:color-mix(in oklab,var(--color-orange-500) 15%,transparent)}}.dashboard-filter-button.is-active{color:var(--color-orange-200)}.dashboard-filter-shelf{border-radius:var(--radius-xl);border-style:var(--tw-border-style);background-color:var(--color-white);padding-inline:calc(var(--spacing) * 3);--tw-shadow:0 8px 25px var(--tw-shadow-color,#06283a0f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-width:1px;border-color:#cbdbe3;display:grid;overflow:hidden}@media (min-width:40rem){.dashboard-filter-shelf{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:64rem){.dashboard-filter-shelf{grid-template-columns:180px 180px minmax(220px,1fr) 40px;align-items:flex-end}}.dashboard-filter-shelf label{padding-block:calc(var(--spacing) * 3)}@media (min-width:64rem){.dashboard-filter-shelf label{padding-right:calc(var(--spacing) * 3)}}.dashboard-filter-shelf label>span{margin-bottom:calc(var(--spacing) * 1);--tw-font-weight:var(--font-weight-semibold);font-size:10px;font-weight:var(--font-weight-semibold);--tw-tracking:.06em;letter-spacing:.06em;color:var(--color-slate-500);text-transform:uppercase;display:block}.dashboard-filter-shelf input,.dashboard-filter-shelf select{height:calc(var(--spacing) * 9);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);width:100%;padding-inline:calc(var(--spacing) * 3);color:var(--color-slate-800);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));--tw-outline-style:none;background-color:#f7fafb;outline-style:none;font-size:12px}:is(.dashboard-filter-shelf input,.dashboard-filter-shelf select):focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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);--tw-ring-color:#dcecf2;border-color:#547e91}.dashboard-filter-shelf select{appearance:none}.dashboard-filter-shelf>button{margin-bottom:calc(var(--spacing) * 3);width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:var(--color-white);color:var(--color-slate-500);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));place-items:center;display:grid}@media (hover:hover){.dashboard-filter-shelf>button:hover{color:#05283c;border-color:#547e91}}.dashboard-error{border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-red-200);background-color:var(--color-red-50);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2.5);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-red-700)}.dashboard-kpi-grid{gap:calc(var(--spacing) * 3);grid-template-columns:repeat(1,minmax(0,1fr));display:grid}@media (min-width:40rem){.dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:64rem){.dashboard-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:96rem){.dashboard-kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}.dashboard-kpi{border-style:var(--tw-border-style);background-color:var(--color-white);min-height:132px;padding:calc(var(--spacing) * 4);--tw-shadow:0 8px 26px var(--tw-shadow-color,#06283a0b);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-width:1px;border-radius:13px;position:relative;overflow:hidden}.dashboard-kpi:before{content:"";background:var(--kpi-accent);width:3px;position:absolute;inset:0 auto 0 0}.dashboard-kpi.is-blue{--kpi-accent:#0b6b91;--kpi-soft:#e7f4f8;--kpi-ink:#075575;border-color:#cde2ea}.dashboard-kpi.is-green{--kpi-accent:#10a36f;--kpi-soft:#e8f8f2;--kpi-ink:#087554;border-color:#cae9dd}.dashboard-kpi.is-orange{--kpi-accent:#f07a00;--kpi-soft:#fff2e4;--kpi-ink:#b85200;border-color:#f4d7b9}.dashboard-kpi.is-red{--kpi-accent:#dc4051;--kpi-soft:#ffedf0;--kpi-ink:#ad2434;border-color:#f2ccd2}.dashboard-kpi-head{z-index:1;justify-content:space-between;align-items:center;gap:calc(var(--spacing) * 3);display:flex;position:relative}.dashboard-kpi-head>span:first-child{--tw-font-weight:var(--font-weight-semibold);font-size:10px;font-weight:var(--font-weight-semibold);--tw-tracking:.065em;letter-spacing:.065em;color:var(--color-slate-500);text-transform:uppercase}.dashboard-kpi-icon{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8);border-radius:var(--radius-lg);color:var(--kpi-ink);background:var(--kpi-soft);place-items:center;display:grid}.dashboard-kpi>strong{z-index:1;margin-top:calc(var(--spacing) * 2);text-overflow:ellipsis;white-space:nowrap;--tw-font-weight:var(--font-weight-semibold);font-size:23px;font-weight:var(--font-weight-semibold);--tw-tracking:-.035em;letter-spacing:-.012em;color:#102b3b;--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);display:block;position:relative;overflow:hidden}.dashboard-kpi-foot{z-index:1;margin-top:calc(var(--spacing) * 3);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--color-slate-100);padding-top:calc(var(--spacing) * 2);--tw-font-weight:var(--font-weight-medium);font-size:11px;font-weight:var(--font-weight-medium);color:var(--color-slate-500);justify-content:space-between;align-items:center;display:flex;position:relative}.dashboard-kpi-foot svg{color:var(--kpi-ink)}.dashboard-kpi-watermark{right:calc(var(--spacing) * -5);bottom:calc(var(--spacing) * -7);opacity:.04;color:var(--kpi-ink);position:absolute}.dashboard-bento{gap:calc(var(--spacing) * 3);display:grid}@media (min-width:80rem){.dashboard-bento{grid-template-columns:repeat(12,minmax(0,1fr))}}.dashboard-chart-panel,.dashboard-gauge-panel,.dashboard-operations,.dashboard-pulse-panel,.dashboard-risk-panel,.dashboard-top-clients{border-style:var(--tw-border-style);background-color:var(--color-white);--tw-shadow:0 8px 26px var(--tw-shadow-color,#06283a0a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-width:1px;border-color:#d7e3e8;border-radius:13px}.dashboard-chart-panel{min-width:calc(var(--spacing) * 0);padding:calc(var(--spacing) * 4)}@media (min-width:80rem){.dashboard-chart-panel{grid-area:span 2/span 7/span 2/span 7}}.dashboard-chart-panel>header{justify-content:space-between;align-items:flex-start;gap:calc(var(--spacing) * 3);flex-wrap:wrap;display:flex}.dashboard-chart-panel h2,.dashboard-gauge-panel h2,.dashboard-pulse-panel h2,.dashboard-risk-panel h2{--tw-font-weight:var(--font-weight-semibold);font-size:13px;font-weight:var(--font-weight-semibold);color:#102b3b}.dashboard-chart-panel header>div>strong{margin-top:calc(var(--spacing) * 1);font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:-.025em;letter-spacing:-.012em;color:#05283c;--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);display:block}.dashboard-tabs{border-radius:var(--radius-lg);padding:calc(var(--spacing) * 1);background-color:#edf3f5;display:flex}.dashboard-tabs button{isolation:isolate;height:calc(var(--spacing) * 8);border-radius:var(--radius-md);padding-inline:calc(var(--spacing) * 3);--tw-font-weight:var(--font-weight-semibold);font-size:11px;font-weight:var(--font-weight-semibold);color:var(--color-slate-500);--tw-outline-style:none;outline-style:none;position:relative}.dashboard-tabs button>span:last-child{z-index:2;position:relative}.dashboard-tabs button[aria-selected=true]{color:#05283c}.dashboard-tab-indicator{inset:calc(var(--spacing) * 0);z-index:0;border-radius:var(--radius-md);border-style:var(--tw-border-style);background-color:var(--color-white);--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);border-width:1px;border-color:#d5e2e8;position:absolute}.dashboard-bars{margin-top:calc(var(--spacing) * 4);align-items:flex-end;gap:calc(var(--spacing) * 1.5);height:300px;padding-inline:calc(var(--spacing) * 1);background-image:linear-gradient(#0000 24.7%,#edf2f4 25%,#0000 25.3% 49.7%,#edf2f4 50%,#0000 50.3% 74.7%,#edf2f4 75%,#0000 75.3%);border-bottom:1px var(--tw-border-style);border-color:#dce6ea;grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.dashboard-bar-column{height:100%;min-width:calc(var(--spacing) * 0);flex-direction:column;justify-content:flex-end;display:flex}.dashboard-bar-track{min-height:calc(var(--spacing) * 0);flex:1;position:relative;overflow:visible}.dashboard-bar{inset-inline:calc(var(--spacing) * 0);bottom:calc(var(--spacing) * 0);background-color:#0b6b91;border-top-left-radius:4px;border-top-right-radius:4px;min-height:2px;position:absolute}.dashboard-bar.is-receipts{background-color:var(--color-emerald-500)}.dashboard-bar.is-outstanding{background-color:var(--color-orange-500)}.dashboard-bar>span{pointer-events:none;top:calc(var(--spacing) * -7);z-index:10;--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);border-radius:var(--radius-md);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * 1);--tw-font-weight:var(--font-weight-medium);font-size:9px;font-weight:var(--font-weight-medium);white-space:nowrap;color:var(--color-white);--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px 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);background-color:#031f33;display:none;position:absolute;left:50%}.dashboard-bar:hover>span{display:block}.dashboard-bar-column small{padding-block:calc(var(--spacing) * 1.5);text-align:center;--tw-font-weight:var(--font-weight-medium);font-size:9px;font-weight:var(--font-weight-medium);color:var(--color-slate-400);text-transform:capitalize}.dashboard-gauge-panel{min-height:214px;padding:calc(var(--spacing) * 4)}@media (min-width:80rem){.dashboard-gauge-panel{grid-column:span 5/span 5}}.dashboard-gauge-panel>header,.dashboard-pulse-panel>header,.dashboard-risk-panel>header{justify-content:space-between;align-items:center;gap:calc(var(--spacing) * 3);display:flex}.dashboard-gauge-panel>header>span{align-items:center;gap:calc(var(--spacing) * 1);background-color:var(--color-orange-50);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1);--tw-font-weight:var(--font-weight-semibold);font-size:9px;font-weight:var(--font-weight-semibold);--tw-tracking:.05em;letter-spacing:.05em;color:var(--color-orange-600);text-transform:uppercase;border-radius:3.40282e+38px;display:inline-flex}.dashboard-gauge-body{margin-top:calc(var(--spacing) * 3);align-items:center;gap:calc(var(--spacing) * 3);grid-template-columns:132px minmax(0,1fr);display:grid}.dashboard-gauge{width:126px;height:126px;position:relative}.dashboard-gauge svg{width:100%;height:100%;rotate:-90deg}.dashboard-gauge circle{fill:none;stroke-width:10px}.dashboard-gauge-track{stroke:#edf3f5}.dashboard-gauge-value{stroke:#f07a00;stroke-linecap:round}.dashboard-gauge>strong{inset:calc(var(--spacing) * 0);font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));color:#05283c;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);place-items:center;display:grid;position:absolute}.dashboard-gauge-copy>strong,.dashboard-gauge>strong{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-numeric-spacing:tabular-nums}.dashboard-gauge-copy>strong{text-overflow:ellipsis;white-space:nowrap;font-size:17px;color:#102b3b;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);display:block;overflow:hidden}.dashboard-progress{margin-top:calc(var(--spacing) * 3);height:calc(var(--spacing) * 2);background-color:#edf3f5;border-radius:3.40282e+38px;overflow:hidden}.dashboard-progress>span{background:linear-gradient(90deg,#f97316,#fb923c);border-radius:3.40282e+38px;height:100%;display:block}.dashboard-gauge-copy p{margin-top:calc(var(--spacing) * 2);--tw-font-weight:var(--font-weight-medium);font-size:11px;font-weight:var(--font-weight-medium);color:var(--color-slate-500)}.dashboard-risk-panel{min-height:190px;padding:calc(var(--spacing) * 4);overflow:hidden}@media (min-width:80rem){.dashboard-risk-panel{grid-column:span 5/span 5}}.dashboard-risk-panel>header button{align-items:center;gap:calc(var(--spacing) * 1);--tw-font-weight:var(--font-weight-semibold);font-size:10px;font-weight:var(--font-weight-semibold);color:#0b6b91;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));display:inline-flex}@media (hover:hover){.dashboard-risk-panel>header button:hover{color:#05283c}}.dashboard-risk-stack{margin-top:calc(var(--spacing) * 3);height:92px;position:relative}.dashboard-risk-card{inset-inline:calc(var(--spacing) * 0);top:calc(var(--spacing) * 0);justify-content:space-between;align-items:center;gap:calc(var(--spacing) * 3);border-style:var(--tw-border-style);background-color:var(--color-white);min-height:72px;padding-inline:calc(var(--spacing) * 3.5);text-align:left;--tw-shadow:0 8px 18px var(--tw-shadow-color,#06283a14);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);transform-origin:top;border-width:1px;border-color:#dce6ea;border-radius:10px;display:flex;position:absolute}.dashboard-risk-card span{min-width:calc(var(--spacing) * 0)}.dashboard-risk-card strong{--tw-font-weight:var(--font-weight-semibold);font-size:12.5px;font-weight:var(--font-weight-semibold);color:#102b3b}.dashboard-risk-card small,.dashboard-risk-card strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.dashboard-risk-card small{margin-top:calc(var(--spacing) * 1);color:var(--color-slate-500);font-size:10px}.dashboard-risk-card b{--tw-font-weight:var(--font-weight-semibold);font-size:13px;font-weight:var(--font-weight-semibold);color:var(--color-red-600);--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);flex-shrink:0}.dashboard-stack-dots{margin-top:calc(var(--spacing) * 1);justify-content:center;gap:calc(var(--spacing) * 1);display:flex}.dashboard-stack-dots span{height:calc(var(--spacing) * 1);width:calc(var(--spacing) * 1);background-color:var(--color-slate-300);transition-property:width,background-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.15s;border-radius:3.40282e+38px;transition-duration:.15s}.dashboard-stack-dots span.is-active{width:calc(var(--spacing) * 3);background-color:var(--color-orange-500)}.dashboard-risk-empty{height:calc(var(--spacing) * 20);border-radius:var(--radius-lg);background-color:var(--color-emerald-50);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-emerald-700);place-items:center;display:grid}.dashboard-pulse-panel{overflow:hidden}@media (min-width:80rem){.dashboard-pulse-panel{grid-column:span 7/span 7}}.dashboard-pulse-panel>header{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-slate-100);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3)}.dashboard-pulse-panel>header svg{color:#0b6b91}.dashboard-pulse-grid{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}:where(.dashboard-pulse-grid>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)));--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-color:var(--color-slate-100)}@media (min-width:40rem){.dashboard-pulse-grid{grid-template-columns:repeat(4,minmax(0,1fr))}:where(.dashboard-pulse-grid>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(0px * var(--tw-divide-y-reverse));border-bottom-width:calc(0px * calc(1 - var(--tw-divide-y-reverse)))}}.dashboard-pulse-grid>div{min-width:calc(var(--spacing) * 0);padding-inline:calc(var(--spacing) * 3.5);padding-block:calc(var(--spacing) * 3)}.dashboard-pulse-grid span{--tw-font-weight:var(--font-weight-semibold);font-size:9px;font-weight:var(--font-weight-semibold);--tw-tracking:.06em;letter-spacing:.06em;color:var(--color-slate-400);text-transform:uppercase;display:block}.dashboard-pulse-grid strong{margin-top:calc(var(--spacing) * 1);text-overflow:ellipsis;white-space:nowrap;--tw-font-weight:var(--font-weight-semibold);font-size:14px;font-weight:var(--font-weight-semibold);color:#102b3b;--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);display:block;overflow:hidden}.dashboard-pulse-grid small{margin-top:calc(var(--spacing) * .5);color:var(--color-slate-500);font-size:9px;display:block}.dashboard-quick-actions{border-style:var(--tw-border-style);background-color:#05283c;border-width:1px;border-color:#173f55;border-radius:13px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}@media (min-width:80rem){.dashboard-quick-actions{grid-column:span 5/span 5;grid-template-columns:repeat(2,minmax(0,1fr))}}.dashboard-quick-actions a{min-height:calc(var(--spacing) * 14);align-items:center;gap:calc(var(--spacing) * 2);border-left-color:#ffffff12;border-right:1px var(--tw-border-style) #ffffff12;border-top-color:#ffffff12;border-bottom:1px var(--tw-border-style) #ffffff12;display:flex}@supports (color:color-mix(in lab,red,red)){.dashboard-quick-actions a{border-color:color-mix(in oklab,var(--color-white) 7%,transparent)}}.dashboard-quick-actions a{padding-inline:calc(var(--spacing) * 3.5);color:var(--color-slate-300);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))}@media (hover:hover){.dashboard-quick-actions a:hover{background-color:#fff1}@supports (color:color-mix(in lab,red,red)){.dashboard-quick-actions a:hover{background-color:color-mix(in oklab,var(--color-white) 6.5%,transparent)}}.dashboard-quick-actions a:hover{color:var(--color-white)}}.dashboard-quick-actions a>span{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8);border-radius:var(--radius-lg);background-color:#fe6e0026;place-items:center;display:grid}@supports (color:color-mix(in lab,red,red)){.dashboard-quick-actions a>span{background-color:color-mix(in oklab,var(--color-orange-500) 15%,transparent)}}.dashboard-quick-actions a>span{color:var(--color-orange-400);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))}.dashboard-quick-actions a:hover>span{background-color:var(--color-orange-500);color:#031f33}.dashboard-quick-actions a b{min-width:calc(var(--spacing) * 0);text-overflow:ellipsis;white-space:nowrap;--tw-font-weight:var(--font-weight-semibold);font-size:12px;font-weight:var(--font-weight-semibold);flex:1;overflow:hidden}.dashboard-quick-actions a>svg{color:var(--color-slate-600);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))}@media (hover:hover){.dashboard-quick-actions a>svg:is(:where(.group):hover *){color:var(--color-white)}}.sidebar-desktop-control{min-height:64px}.sidebar-collapse-button{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10);border-radius:var(--radius-lg);border-style:var(--tw-border-style);color:var(--color-slate-400);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));background-color:#101c2d;border-width:1px;border-color:#233149;flex-shrink:0;place-items:center;display:grid}@media (hover:hover){.sidebar-collapse-button:hover{color:var(--color-white);background-color:#172338;border-color:#35445d}}.erp-sidebar[data-collapsed=true] .sidebar-desktop-control{padding-inline:calc(var(--spacing) * 2);justify-content:center}.erp-sidebar[data-collapsed=true] .sidebar-collapse-button{margin-inline:auto}.sidebar-dashboard-link.is-active .sidebar-item-icon,.sidebar-group-icon,.sidebar-group.has-active .sidebar-group-icon,.sidebar-item-icon{border-style:var(--tw-border-style);--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:#0000;border-width:0}.sidebar-item-icon{color:var(--color-slate-400)}.sidebar-group-icon{color:var(--color-slate-500)}.sidebar-dashboard-link.is-active .sidebar-item-icon,.sidebar-group.has-active .sidebar-group-icon{color:var(--color-orange-400)}.sidebar-hover-surface{background-color:#111e31}.sidebar-active-surface{background-color:#142238;border-color:#26364e}.dashboard-kpi{min-height:126px}.dashboard-kpi-foot b{align-items:center;gap:calc(var(--spacing) * .5);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);--tw-font-weight:var(--font-weight-semibold);font-size:10px;font-weight:var(--font-weight-semibold);border-radius:3.40282e+38px;flex-shrink:0;display:inline-flex}.dashboard-kpi-foot b.is-positive{background-color:var(--color-emerald-50);color:var(--color-emerald-700)}.dashboard-kpi-foot b.is-negative{background-color:var(--color-red-50);color:var(--color-red-700)}.dashboard-bar.is-expenses{background-color:var(--color-red-500)}.dashboard-bar.is-net{background-color:var(--color-violet-500)}.dashboard-bar.is-negative{background-color:var(--color-red-600)}.dashboard-top-clients{overflow:hidden}@media (min-width:80rem){.dashboard-top-clients{grid-column:span 7/span 7}}.dashboard-operations>header,.dashboard-top-clients>header{justify-content:space-between;align-items:flex-start;gap:calc(var(--spacing) * 3);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-slate-100);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);display:flex}.dashboard-operations h2,.dashboard-top-clients h2{--tw-font-weight:var(--font-weight-semibold);font-size:13px;font-weight:var(--font-weight-semibold);color:#102b3b}.dashboard-operations header p,.dashboard-top-clients header p{margin-top:calc(var(--spacing) * .5);color:var(--color-slate-500);font-size:10px}.dashboard-operations header>svg,.dashboard-top-clients header>svg{color:#0b6b91}:where(.dashboard-client-list>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-color:var(--color-slate-100)}.dashboard-client-list{padding-inline:calc(var(--spacing) * 4)}.dashboard-client-list>div{min-height:calc(var(--spacing) * 14);align-items:center;gap:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2.5);display:flex}.dashboard-client-rank{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7);--tw-font-weight:var(--font-weight-bold);font-size:10px;font-weight:var(--font-weight-bold);color:#0b6b91;background-color:#edf4f7;border-radius:3.40282e+38px;flex-shrink:0;place-items:center;display:grid}.dashboard-client-list span>strong{text-overflow:ellipsis;white-space:nowrap;--tw-font-weight:var(--font-weight-semibold);font-size:12px;font-weight:var(--font-weight-semibold);color:#102b3b;display:block;overflow:hidden}.dashboard-client-list i{margin-top:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5);background-color:var(--color-slate-100);border-radius:3.40282e+38px;font-style:normal;display:block;overflow:hidden}.dashboard-client-list i>b{background-color:#0b6b91;border-radius:3.40282e+38px;height:100%;display:block}.dashboard-client-amount{text-align:right;flex-shrink:0}.dashboard-client-amount strong{--tw-font-weight:var(--font-weight-semibold);font-size:12px;font-weight:var(--font-weight-semibold);color:#102b3b;--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.dashboard-client-amount small{margin-top:calc(var(--spacing) * .5);color:var(--color-slate-400);font-size:9px;display:block}.dashboard-operations{overflow:hidden}@media (min-width:80rem){.dashboard-operations{grid-column:span 5/span 5}}.dashboard-operations-grid{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}:where(.dashboard-operations-grid>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)));--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-color:var(--color-slate-100)}@media (min-width:40rem){.dashboard-operations-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:80rem){.dashboard-operations-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.dashboard-operations-grid>div{min-width:calc(var(--spacing) * 0);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3)}.dashboard-operations-grid span{--tw-font-weight:var(--font-weight-semibold);font-size:9px;font-weight:var(--font-weight-semibold);--tw-tracking:.055em;letter-spacing:.055em;color:var(--color-slate-400);text-transform:uppercase;display:block}.dashboard-operations-grid strong{margin-top:calc(var(--spacing) * 1);--tw-font-weight:var(--font-weight-semibold);font-size:18px;font-weight:var(--font-weight-semibold);color:#102b3b;--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.dashboard-operations-grid small,.dashboard-operations-grid strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.dashboard-operations-grid small{margin-top:calc(var(--spacing) * .5);color:var(--color-slate-500);font-size:9px}.dashboard-operations-grid .is-alert strong{color:var(--color-red-600)}.dashboard-empty-copy{padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 10);text-align:center;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-slate-500)}.topbar-company{min-width:calc(var(--spacing) * 0);display:none;position:relative}@media (min-width:64rem){.topbar-company{display:block}}.topbar-company-trigger{height:calc(var(--spacing) * 11);align-items:center;gap:calc(var(--spacing) * 2.5);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);min-width:210px;max-width:290px;padding-inline:calc(var(--spacing) * 3);text-align:left;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));background-color:#f8fafb;display:flex}@media (hover:hover){.topbar-company-trigger:hover{border-color:var(--color-slate-300);background-color:var(--color-white)}}.topbar-company-trigger>span:first-child{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8);border-radius:var(--radius-lg);color:#0b5b78;background-color:#e9f1f4;flex-shrink:0;place-items:center;display:grid}.topbar-company-trigger strong{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-slate-900)}.topbar-company-trigger small,.topbar-company-trigger strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.topbar-company-trigger small{color:var(--color-slate-500);font-size:10px}.topbar-company-menu{top:calc(100% + 10px);left:calc(var(--spacing) * 0);z-index:80;border-radius:var(--radius-xl);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:var(--color-white);width:320px;padding:calc(var(--spacing) * 2);--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px 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);position:absolute;overflow:hidden}.topbar-company-menu>header{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-slate-100);padding-inline:calc(var(--spacing) * 2.5);padding-block:calc(var(--spacing) * 2);justify-content:space-between;align-items:center;display:flex}.topbar-company-menu>header strong{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-slate-900)}.topbar-company-menu>header small{color:var(--color-slate-500);font-size:10px}.topbar-company-option{margin-top:calc(var(--spacing) * 1);align-items:center;gap:calc(var(--spacing) * 2.5);border-radius:var(--radius-lg);width:100%;padding-inline:calc(var(--spacing) * 2.5);padding-block:calc(var(--spacing) * 2.5);text-align:left;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));display:flex}@media (hover:hover){.topbar-company-option:hover{background-color:var(--color-slate-50)}}.topbar-company-option:disabled{cursor:default;opacity:.7}.topbar-company-option.is-current{background-color:#eef5f7}.topbar-company-option>span:first-child{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8);border-radius:var(--radius-lg);background-color:var(--color-slate-100);--tw-font-weight:var(--font-weight-bold);font-size:11px;font-weight:var(--font-weight-bold);color:var(--color-slate-700);flex-shrink:0;place-items:center;display:grid}.topbar-company-option strong{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--color-slate-900)}.topbar-company-option small,.topbar-company-option strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.topbar-company-option small{margin-top:calc(var(--spacing) * .5);color:var(--color-slate-500);font-size:10px}.settings-info-tip{flex-shrink:0;position:relative}.settings-info-tip summary{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7);cursor:pointer;color:var(--color-slate-400);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));border-radius:3.40282e+38px;place-items:center;list-style-type:none;display:grid}@media (hover:hover){.settings-info-tip summary:hover{background-color:var(--color-slate-100);color:#0b5b78}}.settings-info-tip summary:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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);--tw-ring-color:#c7dce5}.settings-info-tip summary::-webkit-details-marker{display:none}.settings-info-tip p{z-index:50;--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);width:min(300px,100vw - 2rem);translate:var(--tw-translate-x) var(--tw-translate-y);border-radius:var(--radius-lg);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200);background-color:var(--color-white);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2.5);text-align:left;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5);--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal);color:var(--color-slate-600);--tw-shadow:0 12px 30px var(--tw-shadow-color,#06283a24);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);position:absolute;top:calc(100% + 7px);left:50%}:where(.dashboard-operations>div>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-color:var(--color-slate-100)}.dashboard-operations>div{padding-inline:calc(var(--spacing) * 2)}.dashboard-operations>div>a{align-items:center;gap:calc(var(--spacing) * 2);border-radius:var(--radius-lg);min-height:54px;padding-inline:calc(var(--spacing) * 2.5);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));grid-template-columns:32px minmax(0,1fr) auto 18px;display:grid}@media (hover:hover){.dashboard-operations>div>a:hover{background-color:var(--color-slate-50)}}.dashboard-operations>div>a>span{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8);border-radius:var(--radius-lg);color:#0b6b91;background-color:#edf4f7;place-items:center;display:grid}.dashboard-operations>div>a>small{text-overflow:ellipsis;white-space:nowrap;--tw-font-weight:var(--font-weight-medium);font-size:11px;font-weight:var(--font-weight-medium);color:var(--color-slate-600);overflow:hidden}.dashboard-operations>div>a>strong{--tw-font-weight:var(--font-weight-semibold);font-size:15px;font-weight:var(--font-weight-semibold);color:#102b3b;--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.dashboard-operations>div>a>svg{color:var(--color-slate-300)}}@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-x-\[12\%\]{inset-inline:12%}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-3{top:calc(var(--spacing) * 3)}.top-\[27\%\]{top:27%}.top-\[34px\]{top:34px}.top-\[35px\]{top:35px}.top-\[66px\]{top:66px}.top-\[72px\]{top:72px}.-right-0\.5{right:calc(var(--spacing) * -.5)}.-right-4{right:calc(var(--spacing) * -4)}.-right-px{right:-1px}.right-0{right:calc(var(--spacing) * 0)}.right-0\.5{right:calc(var(--spacing) * .5)}.right-1{right:calc(var(--spacing) * 1)}.right-2{right:calc(var(--spacing) * 2)}.right-3\.5{right:calc(var(--spacing) * 3.5)}.-bottom-0\.5{bottom:calc(var(--spacing) * -.5)}.-bottom-7{bottom:calc(var(--spacing) * -7)}.-bottom-px{bottom:-1px}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-0\.5{bottom:calc(var(--spacing) * .5)}.bottom-1{bottom:calc(var(--spacing) * 1)}.bottom-2{bottom:calc(var(--spacing) * 2)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing) * 3)}.left-3\.5{left:calc(var(--spacing) * 3.5)}.left-7{left:calc(var(--spacing) * 7)}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[55\]{z-index:55}.z-\[60\]{z-index:60}.z-\[90\]{z-index:90}.z-\[120\]{z-index:120}.col-span-2{grid-column:span 2/span 2}.col-span-full{grid-column:1/-1}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-5{margin:calc(var(--spacing) * 5)}.m-auto{margin:auto}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-5{margin-inline:calc(var(--spacing) * 5)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-14{margin-top:calc(var(--spacing) * 14)}.mt-\[10\%\]{margin-top:10%}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-7{margin-bottom:calc(var(--spacing) * 7)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.aspect-\[210\/297\]{aspect-ratio:210/297}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-4\.5{width:calc(var(--spacing) * 4.5);height:calc(var(--spacing) * 4.5)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.size-12{width:calc(var(--spacing) * 12);height:calc(var(--spacing) * 12)}.size-14{width:calc(var(--spacing) * 14);height:calc(var(--spacing) * 14)}.size-16{width:calc(var(--spacing) * 16);height:calc(var(--spacing) * 16)}.size-18{width:calc(var(--spacing) * 18);height:calc(var(--spacing) * 18)}.size-20{width:calc(var(--spacing) * 20);height:calc(var(--spacing) * 20)}.size-24{width:calc(var(--spacing) * 24);height:calc(var(--spacing) * 24)}.size-32{width:calc(var(--spacing) * 32);height:calc(var(--spacing) * 32)}.size-40{width:calc(var(--spacing) * 40);height:calc(var(--spacing) * 40)}.size-full{width:100%;height:100%}.size-max{width:max-content;height:max-content}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-18{height:calc(var(--spacing) * 18)}.h-20{height:calc(var(--spacing) * 20)}.h-64{height:calc(var(--spacing) * 64)}.h-\[20\%\]{height:20%}.h-\[72px\]{height:72px}.h-auto{height:auto}.h-full{height:100%}.h-max{height:max-content}.h-min{height:min-content}.h-px{height:1px}.h-screen{height:100vh}.max-h-36{max-height:calc(var(--spacing) * 36)}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-\[60vh\]{max-height:60vh}.max-h-\[92dvh\]{max-height:92dvh}.max-h-\[92vh\]{max-height:92vh}.max-h-\[calc\(100dvh-2rem\)\]{max-height:calc(100dvh - 2rem)}.max-h-\[calc\(100dvh-180px\)\]{max-height:calc(100dvh - 180px)}.max-h-\[calc\(var\(--visual-viewport-height\)-var\(--modal-pt\)-var\(--modal-pb\)\)\]{max-height:calc(var(--visual-viewport-height) - var(--modal-pt) - var(--modal-pb))}.max-h-\[inherit\]{max-height:inherit}.min-h-6{min-height:calc(var(--spacing) * 6)}.min-h-9{min-height:calc(var(--spacing) * 9)}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-12{min-height:calc(var(--spacing) * 12)}.min-h-14{min-height:calc(var(--spacing) * 14)}.min-h-16{min-height:calc(var(--spacing) * 16)}.min-h-24{min-height:calc(var(--spacing) * 24)}.min-h-28{min-height:calc(var(--spacing) * 28)}.min-h-32{min-height:calc(var(--spacing) * 32)}.min-h-36{min-height:calc(var(--spacing) * 36)}.min-h-48{min-height:calc(var(--spacing) * 48)}.min-h-64{min-height:calc(var(--spacing) * 64)}.min-h-72{min-height:calc(var(--spacing) * 72)}.min-h-\[297mm\]{min-height:297mm}.min-h-\[calc\(100dvh-5rem\)\]{min-height:calc(100dvh - 5rem)}.min-h-\[calc\(100dvh-72px\)\]{min-height:calc(100dvh - 72px)}.min-h-dvh{min-height:100dvh}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-24{width:calc(var(--spacing) * 24)}.w-28{width:calc(var(--spacing) * 28)}.w-36{width:calc(var(--spacing) * 36)}.w-60{width:calc(var(--spacing) * 60)}.w-62{width:calc(var(--spacing) * 62)}.w-64{width:calc(var(--spacing) * 64)}.w-\[32\%\]{width:32%}.w-\[60\%\]{width:60%}.w-\[284px\]{width:284px}.w-\[min\(92vw\,500px\)\]{width:min(92vw,500px)}.w-\[min\(92vw\,520px\)\]{width:min(92vw,520px)}.w-\[min\(94vw\,520px\)\]{width:min(94vw,520px)}.w-\[min\(94vw\,560px\)\]{width:min(94vw,560px)}.w-\[min\(94vw\,600px\)\]{width:min(94vw,600px)}.w-\[min\(94vw\,620px\)\]{width:min(94vw,620px)}.w-\[min\(94vw\,640px\)\]{width:min(94vw,640px)}.w-\[min\(94vw\,650px\)\]{width:min(94vw,650px)}.w-\[min\(94vw\,680px\)\]{width:min(94vw,680px)}.w-\[min\(94vw\,720px\)\]{width:min(94vw,720px)}.w-\[min\(94vw\,760px\)\]{width:min(94vw,760px)}.w-\[min\(94vw\,900px\)\]{width:min(94vw,900px)}.w-\[min\(96vw\,860px\)\]{width:min(96vw,860px)}.w-\[min\(96vw\,980px\)\]{width:min(96vw,980px)}.w-\[min\(680px\,calc\(100\%-2rem\)\)\]{width:min(680px,100% - 2rem)}.w-\[min\(720px\,calc\(100\%-2rem\)\)\]{width:min(720px,100% - 2rem)}.w-\[min\(1040px\,calc\(100vw-1rem\)\)\]{width:min(1040px,100vw - 1rem)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-min{width:min-content}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-\[55\%\]{max-width:55%}.max-w-\[84\%\]{max-width:84%}.max-w-\[90px\]{max-width:90px}.max-w-\[175px\]{max-width:175px}.max-w-\[180px\]{max-width:180px}.max-w-\[210mm\]{max-width:210mm}.max-w-\[270px\]{max-width:270px}.max-w-\[290px\]{max-width:290px}.max-w-\[430px\]{max-width:430px}.max-w-\[540px\]{max-width:540px}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-36{min-width:calc(var(--spacing) * 36)}.min-w-44{min-width:calc(var(--spacing) * 44)}.min-w-48{min-width:calc(var(--spacing) * 48)}.min-w-\[620px\]{min-width:620px}.min-w-\[780px\]{min-width:780px}.min-w-\[820px\]{min-width:820px}.min-w-\[860px\]{min-width:860px}.min-w-\[900px\]{min-width:900px}.min-w-\[980px\]{min-width:980px}.min-w-\[1080px\]{min-width:1080px}.min-w-max{min-width:max-content}.flex-1{flex:1}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.origin-\(--trigger-anchor-point\){transform-origin:var(--trigger-anchor-point)}.origin-center{transform-origin:50%}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1)}.-translate-x-1\/2,.-translate-x-full{translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-full{--tw-translate-x:-100%}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0)}.translate-x-0,.translate-x-4{translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing) * 4)}.translate-x-5{--tw-translate-x:calc(var(--spacing) * 5)}.-translate-y-1\/2,.translate-x-5{translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1)}.-rotate-90{rotate:-90deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-bounce{animation:var(--animate-bounce)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.appearance-none{appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.grid-cols-\[minmax\(0\,1fr\)_96px_76px\]{grid-template-columns:minmax(0,1fr) 96px 76px}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.content-start{align-content:flex-start}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-normal{justify-content:normal}.justify-start{justify-content:flex-start}.gap-0{gap:calc(var(--spacing) * 0)}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-slate-100>:not(:last-child)){border-color:var(--color-slate-100)}:where(.divide-slate-200>:not(:last-child)){border-color:var(--color-slate-200)}.self-end{align-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-clip{overflow-x:clip}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\[3px\]{border-radius:3px}.rounded-\[7px\]{border-radius:7px}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-br-md{border-bottom-right-radius:var(--radius-md)}.rounded-bl-md{border-bottom-left-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-\[3px\]{border-style:var(--tw-border-style);border-width:3px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[\#172235\]{border-color:#172235}.border-\[var\(--border\)\]{border-color:var(--border)}.border-\[var\(--brand\)\]{border-color:var(--brand)}.border-amber-200{border-color:var(--color-amber-200)}.border-amber-200\/90{border-color:#fee685e6}@supports (color:color-mix(in lab,red,red)){.border-amber-200\/90{border-color:color-mix(in oklab,var(--color-amber-200) 90%,transparent)}}.border-blue-100{border-color:var(--color-blue-100)}.border-blue-200{border-color:var(--color-blue-200)}.border-emerald-200{border-color:var(--color-emerald-200)}.border-emerald-200\/90{border-color:#a4f4cfe6}@supports (color:color-mix(in lab,red,red)){.border-emerald-200\/90{border-color:color-mix(in oklab,var(--color-emerald-200) 90%,transparent)}}.border-green-200{border-color:var(--color-green-200)}.border-orange-200{border-color:var(--color-orange-200)}.border-orange-300{border-color:var(--color-orange-300)}.border-orange-500{border-color:var(--color-orange-500)}.border-orange-600{border-color:var(--color-orange-600)}.border-red-200{border-color:var(--color-red-200)}.border-red-600{border-color:var(--color-red-600)}.border-rose-200\/90{border-color:#ffccd3e6}@supports (color:color-mix(in lab,red,red)){.border-rose-200\/90{border-color:color-mix(in oklab,var(--color-rose-200) 90%,transparent)}}.border-sky-200\/90{border-color:#b8e6fee6}@supports (color:color-mix(in lab,red,red)){.border-sky-200\/90{border-color:color-mix(in oklab,var(--color-sky-200) 90%,transparent)}}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-300{border-color:var(--color-slate-300)}.border-slate-300\/70{border-color:#cad5e2b3}@supports (color:color-mix(in lab,red,red)){.border-slate-300\/70{border-color:color-mix(in oklab,var(--color-slate-300) 70%,transparent)}}.border-slate-800{border-color:var(--color-slate-800)}.border-slate-900{border-color:var(--color-slate-900)}.border-transparent{border-color:#0000}.border-violet-200{border-color:var(--color-violet-200)}.border-white{border-color:var(--color-white)}.border-white\/5{border-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.border-white\/5{border-color:color-mix(in oklab,var(--color-white) 5%,transparent)}}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.border-white\/20{border-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.bg-\[\#0f172a\]{background-color:#0f172a}.bg-\[\#0f2537\]{background-color:#0f2537}.bg-\[\#063b56\]{background-color:#063b56}.bg-\[\#081322\]{background-color:#081322}.bg-\[\#ea580c\]{background-color:#ea580c}.bg-\[\#eaf4f7\]{background-color:#eaf4f7}.bg-\[\#edf6f9\]{background-color:#edf6f9}.bg-\[var\(--brand\)\]{background-color:var(--brand)}.bg-\[var\(--canvas\)\]{background-color:var(--canvas)}.bg-\[var\(--ink\)\]{background-color:var(--ink)}.bg-\[var\(--surface\)\]{background-color:var(--surface)}.bg-\[var\(--surface-muted\)\]{background-color:var(--surface-muted)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-50\/60{background-color:#ecfdf599}@supports (color:color-mix(in lab,red,red)){.bg-emerald-50\/60{background-color:color-mix(in oklab,var(--color-emerald-50) 60%,transparent)}}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-green-50{background-color:var(--color-green-50)}.bg-orange-50{background-color:var(--color-orange-50)}.bg-orange-50\/40{background-color:#fff7ed66}@supports (color:color-mix(in lab,red,red)){.bg-orange-50\/40{background-color:color-mix(in oklab,var(--color-orange-50) 40%,transparent)}}.bg-orange-50\/50{background-color:#fff7ed80}@supports (color:color-mix(in lab,red,red)){.bg-orange-50\/50{background-color:color-mix(in oklab,var(--color-orange-50) 50%,transparent)}}.bg-orange-50\/60{background-color:#fff7ed99}@supports (color:color-mix(in lab,red,red)){.bg-orange-50\/60{background-color:color-mix(in oklab,var(--color-orange-50) 60%,transparent)}}.bg-orange-500{background-color:var(--color-orange-500)}.bg-orange-500\/15{background-color:#fe6e0026}@supports (color:color-mix(in lab,red,red)){.bg-orange-500\/15{background-color:color-mix(in oklab,var(--color-orange-500) 15%,transparent)}}.bg-red-50{background-color:var(--color-red-50)}.bg-red-50\/70{background-color:#fef2f2b3}@supports (color:color-mix(in lab,red,red)){.bg-red-50\/70{background-color:color-mix(in oklab,var(--color-red-50) 70%,transparent)}}.bg-red-600{background-color:var(--color-red-600)}.bg-rose-50{background-color:var(--color-rose-50)}.bg-sky-50{background-color:var(--color-sky-50)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-50\/60{background-color:#f8fafc99}@supports (color:color-mix(in lab,red,red)){.bg-slate-50\/60{background-color:color-mix(in oklab,var(--color-slate-50) 60%,transparent)}}.bg-slate-50\/70{background-color:#f8fafcb3}@supports (color:color-mix(in lab,red,red)){.bg-slate-50\/70{background-color:color-mix(in oklab,var(--color-slate-50) 70%,transparent)}}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-200{background-color:var(--color-slate-200)}.bg-slate-300{background-color:var(--color-slate-300)}.bg-slate-400{background-color:var(--color-slate-400)}.bg-slate-800{background-color:var(--color-slate-800)}.bg-slate-900{background-color:var(--color-slate-900)}.bg-slate-950{background-color:var(--color-slate-950)}.bg-slate-950\/45{background-color:#02061873}@supports (color:color-mix(in lab,red,red)){.bg-slate-950\/45{background-color:color-mix(in oklab,var(--color-slate-950) 45%,transparent)}}.bg-slate-950\/50{background-color:#02061880}@supports (color:color-mix(in lab,red,red)){.bg-slate-950\/50{background-color:color-mix(in oklab,var(--color-slate-950) 50%,transparent)}}.bg-transparent{background-color:#0000}.bg-violet-50{background-color:var(--color-violet-50)}.bg-white{background-color:var(--color-white)}.bg-white\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.bg-white\/5{background-color:color-mix(in oklab,var(--color-white) 5%,transparent)}}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-white\/10{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.bg-white\/20{background-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\/80{background-color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.bg-white\/95{background-color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.bg-white\/95{background-color:color-mix(in oklab,var(--color-white) 95%,transparent)}}.fill-current{fill:currentColor}.stroke-current{stroke:currentColor}.stroke-3{stroke-width:3px}.stroke-\[2\.25px\]{stroke-width:2.25px}.stroke-\[3px\]{stroke-width:3px}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-left{object-position:left}.p-0{padding:calc(var(--spacing) * 0)}.p-0\!{padding:calc(var(--spacing) * 0)!important}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-0\.75{padding:calc(var(--spacing) * .75)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-1\.25{padding:calc(var(--spacing) * 1.25)}.p-1\.75{padding:calc(var(--spacing) * 1.75)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-7{padding:calc(var(--spacing) * 7)}.p-8{padding:calc(var(--spacing) * 8)}.p-\[1\.5px\]{padding:1.5px}.p-px{padding:1px}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-4\.5{padding-inline:calc(var(--spacing) * 4.5)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-7{padding-inline:calc(var(--spacing) * 7)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-9{padding-block:calc(var(--spacing) * 9)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-14{padding-block:calc(var(--spacing) * 14)}.py-px{padding-block:1px}.pt-\(--modal-pt\){padding-top:var(--modal-pt)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-\[72px\]{padding-top:72px}.pr-0{padding-right:calc(var(--spacing) * 0)}.pr-0\.75{padding-right:calc(var(--spacing) * .75)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-1\.5{padding-right:calc(var(--spacing) * 1.5)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-7{padding-right:calc(var(--spacing) * 7)}.pr-11{padding-right:calc(var(--spacing) * 11)}.pr-12{padding-right:calc(var(--spacing) * 12)}.pb-\(--modal-pb\){padding-bottom:var(--modal-pb)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.pl-0\.75{padding-left:calc(var(--spacing) * .75)}.pl-1{padding-left:calc(var(--spacing) * 1)}.pl-1\.5{padding-left:calc(var(--spacing) * 1.5)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-9{padding-left:calc(var(--spacing) * 9)}.pl-10{padding-left:calc(var(--spacing) * 10)}.pl-11{padding-left:calc(var(--spacing) * 11)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.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))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[8\.5px\]{font-size:8.5px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[21px\]{font-size:21px}.leading-3\.5{--tw-leading:calc(var(--spacing) * 3.5);line-height:calc(var(--spacing) * 3.5)}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-\[13px\]{--tw-leading:13px;line-height:13px}.leading-none{--tw-leading:1;line-height:1}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-\.02em\]{--tw-tracking:-.02em;letter-spacing:-.012em}.tracking-\[-\.03em\]{--tw-tracking:-.03em;letter-spacing:-.012em}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.012em}.tracking-\[-0\.04em\]{--tw-tracking:-.04em;letter-spacing:-.012em}.tracking-\[\.1em\]{--tw-tracking:.1em;letter-spacing:.1em}.tracking-\[\.05em\]{--tw-tracking:.05em;letter-spacing:.05em}.tracking-\[\.06em\]{--tw-tracking:.06em;letter-spacing:.06em}.tracking-\[\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[\.055em\]{--tw-tracking:.055em;letter-spacing:.055em}.tracking-\[0\.07em\]{--tw-tracking:.07em;letter-spacing:.07em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#142b3a\]{color:#142b3a}.text-\[\#07364d\]{color:#07364d}.text-\[\#ea580c\]{color:#ea580c}.text-\[var\(--brand\)\]{color:var(--brand)}.text-\[var\(--ink\)\]{color:var(--ink)}.text-\[var\(--muted\)\]{color:var(--muted)}.text-\[var\(--text-muted\)\]{color:var(--text-muted)}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-amber-900{color:var(--color-amber-900)}.text-amber-950{color:var(--color-amber-950)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-blue-900{color:var(--color-blue-900)}.text-current{color:currentColor}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-emerald-800{color:var(--color-emerald-800)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-neutral-500{color:var(--color-neutral-500)}.text-orange-300{color:var(--color-orange-300)}.text-orange-400{color:var(--color-orange-400)}.text-orange-500{color:var(--color-orange-500)}.text-orange-600{color:var(--color-orange-600)}.text-orange-700{color:var(--color-orange-700)}.text-orange-800{color:var(--color-orange-800)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-rose-700{color:var(--color-rose-700)}.text-sky-700{color:var(--color-sky-700)}.text-slate-200{color:var(--color-slate-200)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-slate-900{color:var(--color-slate-900)}.text-slate-950{color:var(--color-slate-950)}.text-teal-700{color:var(--color-teal-700)}.text-violet-700{color:var(--color-violet-700)}.text-white{color:var(--color-white)}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab,red,red)){.text-white\/60{color:color-mix(in oklab,var(--color-white) 60%,transparent)}}.text-white\/75{color:#ffffffbf}@supports (color:color-mix(in lab,red,red)){.text-white\/75{color:color-mix(in oklab,var(--color-white) 75%,transparent)}}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.accent-orange-500{accent-color:var(--color-orange-500)}.accent-orange-600{accent-color:var(--color-orange-600)}.opacity-0{opacity:0}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-100{opacity:1}.opacity-\[\.035\]{opacity:.035}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow,.shadow-2xl{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040)}.shadow-\[0_0_0_1px_\#dbe4e8\,0_12px_28px_rgba\(6\,40\,58\,\.14\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#dbe4e8),0 12px 28px var(--tw-shadow-color,#06283a24)}.shadow-\[0_0_0_1px_\#dbe4e8\,0_12px_28px_rgba\(6\,40\,58\,\.14\)\],.shadow-\[0_8px_30px_rgba\(15\,23\,42\,\.12\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_30px_rgba\(15\,23\,42\,\.12\)\]{--tw-shadow:0 8px 30px var(--tw-shadow-color,#0f172a1f)}.shadow-\[0_24px_70px_rgba\(13\,35\,59\,\.12\)\]{--tw-shadow:0 24px 70px var(--tw-shadow-color,#0d233b1f)}.shadow-\[0_24px_70px_rgba\(13\,35\,59\,\.12\)\],.shadow-\[inset_0_1px_0_rgba\(255\,255\,255\,\.55\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_0_1px_0_rgba\(255\,255\,255\,\.55\)\]{--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,#ffffff8c)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a)}.shadow-lg,.shadow-sm{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a)}.shadow-xl,.shadow-xs{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.ring,.ring-1,.ring-2{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.ring-\[0\.5px\]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(.5px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.ring-\[0\.5px\],.ring-\[1\.5px\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-\[1\.5px\]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1.5px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.ring-\[1\.67px\]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1.67px + 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)}.shadow-slate-900\/5{--tw-shadow-color:#0f172b0d}@supports (color:color-mix(in lab,red,red)){.shadow-slate-900\/5{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-slate-900) 5%,transparent) var(--tw-shadow-alpha),transparent)}}.ring-orange-200{--tw-ring-color:var(--color-orange-200)}.ring-transparent{--tw-ring-color:transparent}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-width:1px}.outline,.outline-2{outline-style:var(--tw-outline-style)}.outline-2{outline-width:2px}.outline-\[0\.5px\]{outline-style:var(--tw-outline-style);outline-width:.5px}.outline-\[0\.75px\]{outline-style:var(--tw-outline-style);outline-width:.75px}.-outline-offset-2{outline-offset:calc(2px * -1)}.-outline-offset-\[0\.5px\]{outline-offset:calc(.5px * -1)}.-outline-offset-\[0\.75px\]{outline-offset:calc(.75px * -1)}.outline-offset-2{outline-offset:2px}.outline-black\/16{outline-color:#00000029}@supports (color:color-mix(in lab,red,red)){.outline-black\/16{outline-color:color-mix(in oklab,var(--color-black) 16%,transparent)}}.outline-transparent{outline-color:#0000}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px)}.backdrop-blur,.backdrop-blur-\[1px\]{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-\[1px\]{--tw-backdrop-blur:blur(1px)}.backdrop-blur-\[2px\]{--tw-backdrop-blur:blur(2px)}.backdrop-blur-\[2px\],.backdrop-blur-\[6px\]{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-\[6px\]{--tw-backdrop-blur:blur(6px)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[border-color\,background-color\,box-shadow\]{transition-property:border-color,background-color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-transform{will-change:transform}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[--modal-pb\:clamp\(16px\,8vh\,64px\)\]{--modal-pb:clamp(16px,8vh,64px)}.\[--modal-pt\:16px\]{--modal-pt:16px}.\[animation-delay\:-\.1s\]{animation-delay:-.1s}.\[animation-delay\:-\.2s\]{animation-delay:-.2s}.ring-inset{--tw-ring-inset:inset}@media (hover:hover){.group-hover\:-translate-y-1:is(:where(.group):hover *){--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:opacity-\[\.055\]:is(:where(.group):hover *){opacity:.055}}.group-focus-visible\:outline-2:is(:where(.group):focus-visible *){outline-style:var(--tw-outline-style);outline-width:2px}.group-focus-visible\:outline-offset-2:is(:where(.group):focus-visible *){outline-offset:2px}.peer-checked\:bg-orange-500:is(:where(.peer):checked~*){background-color:var(--color-orange-500)}.peer-focus-visible\:ring-2:is(:where(.peer):focus-visible~*){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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)}.peer-focus-visible\:ring-orange-300:is(:where(.peer):focus-visible~*){--tw-ring-color:var(--color-orange-300)}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:inset-0:before{content:var(--tw-content);inset:calc(var(--spacing) * 0)}.before\:inset-\[0\.5px\]:before{content:var(--tw-content);inset:.5px}.before\:inset-px:before{content:var(--tw-content);inset:1px}.before\:hidden:before{content:var(--tw-content);display:none}.before\:rounded-\[7px\]:before{content:var(--tw-content);border-radius:7px}.before\:rounded-\[inherit\]:before{content:var(--tw-content);border-radius:inherit}.before\:rounded-full:before{content:var(--tw-content);border-radius:3.40282e+38px}.before\:border:before{content:var(--tw-content);border-style:var(--tw-border-style);border-width:1px}.before\:border-\[1\.5px\]:before{content:var(--tw-content);border-style:var(--tw-border-style);border-width:1.5px}.before\:border-white\/12:before{content:var(--tw-content);border-color:#ffffff1f}@supports (color:color-mix(in lab,red,red)){.before\:border-white\/12:before{border-color:color-mix(in oklab,var(--color-white) 12%,transparent)}}.before\:border-white\/32:before{content:var(--tw-content);border-color:#ffffff52}@supports (color:color-mix(in lab,red,red)){.before\:border-white\/32:before{border-color:color-mix(in oklab,var(--color-white) 32%,transparent)}}.before\:mask-b-from-0\%:before{content:var(--tw-content);-webkit-mask-image:var(--tw-mask-linear),var(--tw-mask-radial),var(--tw-mask-conic);mask-image:var(--tw-mask-linear),var(--tw-mask-radial),var(--tw-mask-conic);--tw-mask-linear:var(--tw-mask-left),var(--tw-mask-right),var(--tw-mask-bottom),var(--tw-mask-top);--tw-mask-bottom:linear-gradient(to bottom,var(--tw-mask-bottom-from-color) var(--tw-mask-bottom-from-position),var(--tw-mask-bottom-to-color) var(--tw-mask-bottom-to-position));--tw-mask-bottom-from-position:0%;-webkit-mask-composite:source-in;mask-composite:intersect}.before\:mask-\[linear-gradient\(to_bottom\,black_0\%\,transparent_25\%\,transparent_75\%\,black_100\%\)\]:before{content:var(--tw-content);-webkit-mask-image:linear-gradient(#000,#0000 25% 75%,#000);mask-image:linear-gradient(#000,#0000 25% 75%,#000)}.after\:pointer-events-none:after{content:var(--tw-content);pointer-events:none}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:top-1:after{content:var(--tw-content);top:calc(var(--spacing) * 1)}.after\:left-1:after{content:var(--tw-content);left:calc(var(--spacing) * 1)}.after\:size-4:after{content:var(--tw-content);width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.after\:rounded-full:after{content:var(--tw-content);border-radius:3.40282e+38px}.after\:bg-white:after{content:var(--tw-content);background-color:var(--color-white)}.after\:transition-transform:after{content:var(--tw-content);transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.peer-checked\:after\:translate-x-5:is(:where(.peer):checked~*):after{content:var(--tw-content);--tw-translate-x:calc(var(--spacing) * 5);translate:var(--tw-translate-x) var(--tw-translate-y)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.focus-within\:border-orange-300:focus-within{border-color:var(--color-orange-300)}.focus-within\:ring-4:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + 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-within\:ring-orange-100:focus-within{--tw-ring-color:var(--color-orange-100)}@media (hover:hover){.hover\:border-blue-400:hover{border-color:var(--color-blue-400)}.hover\:border-orange-300:hover{border-color:var(--color-orange-300)}.hover\:border-red-200:hover{border-color:var(--color-red-200)}.hover\:border-slate-300:hover{border-color:var(--color-slate-300)}.hover\:bg-\[\#1e293b\]:hover{background-color:#1e293b}.hover\:bg-\[\#075071\]:hover{background-color:#075071}.hover\:bg-\[\#c2410c\]:hover{background-color:#c2410c}.hover\:bg-amber-100:hover{background-color:var(--color-amber-100)}.hover\:bg-blue-50\/40:hover{background-color:#eff6ff66}@supports (color:color-mix(in lab,red,red)){.hover\:bg-blue-50\/40:hover{background-color:color-mix(in oklab,var(--color-blue-50) 40%,transparent)}}.hover\:bg-orange-50:hover{background-color:var(--color-orange-50)}.hover\:bg-orange-600:hover{background-color:var(--color-orange-600)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-red-100:hover{background-color:var(--color-red-100)}.hover\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:bg-slate-50\/70:hover{background-color:#f8fafcb3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-slate-50\/70:hover{background-color:color-mix(in oklab,var(--color-slate-50) 70%,transparent)}}.hover\:bg-slate-50\/80:hover{background-color:#f8fafccc}@supports (color:color-mix(in lab,red,red)){.hover\:bg-slate-50\/80:hover{background-color:color-mix(in oklab,var(--color-slate-50) 80%,transparent)}}.hover\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\:bg-slate-200:hover{background-color:var(--color-slate-200)}.hover\:bg-slate-900:hover{background-color:var(--color-slate-900)}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.hover\:bg-white\/15:hover{background-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/15:hover{background-color:color-mix(in oklab,var(--color-white) 15%,transparent)}}.hover\:text-red-600:hover{color:var(--color-red-600)}.hover\:text-red-700:hover{color:var(--color-red-700)}.hover\:text-slate-700:hover{color:var(--color-slate-700)}.hover\:text-slate-900:hover{color:var(--color-slate-900)}.hover\:text-white:hover{color:var(--color-white)}.hover\:brightness-95:hover{--tw-brightness:brightness(95%);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,)}}.focus\:border-\[var\(--brand\)\]:focus{border-color:var(--brand)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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\:ring-\[color\:var\(--brand\)\]\/20:focus{--tw-ring-color:var(--brand)}@supports (color:color-mix(in lab,red,red)){.focus\:ring-\[color\:var\(--brand\)\]\/20:focus{--tw-ring-color:color-mix(in oklab,var(--brand) 20%,transparent)}}.focus-visible\:z-1:focus-visible{z-index:1}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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-visible\:ring-orange-200:focus-visible{--tw-ring-color:var(--color-orange-200)}.focus-visible\:ring-orange-500:focus-visible{--tw-ring-color:var(--color-orange-500)}.focus-visible\:ring-red-200:focus-visible{--tw-ring-color:var(--color-red-200)}.focus-visible\:ring-slate-200:focus-visible{--tw-ring-color:var(--color-slate-200)}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:-outline-offset-2:focus-visible{outline-offset:calc(2px * -1)}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-inset:focus-visible{--tw-ring-inset:inset}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-slate-100:disabled{background-color:var(--color-slate-100)}.disabled\:text-slate-500:disabled{color:var(--color-slate-500)}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}:where([data-input-wrapper]) .in-data-input-wrapper\:gap-1\.5{gap:calc(var(--spacing) * 1.5)}:where([data-input-wrapper]) .in-data-input-wrapper\:px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}:where([data-input-wrapper]) .in-data-input-wrapper\:px-4{padding-inline:calc(var(--spacing) * 4)}:where([data-input-wrapper]) .in-data-input-wrapper\:py-2\.5{padding-block:calc(var(--spacing) * 2.5)}:where([data-input-wrapper]) .in-data-input-wrapper\:shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}:where([data-input-wrapper]) .in-data-input-wrapper\:focus\:\!z-50:focus{z-index:50!important}:where([data-input-wrapper]) .in-data-input-wrapper\:disabled\:opacity-100:disabled{opacity:1}:where([data-leading]) :is(:where([data-input-wrapper]) .in-data-input-wrapper\:in-data-leading\:-mr-px){margin-right:-1px}:where([data-leading]) :is(:where([data-input-wrapper]) .in-data-input-wrapper\:in-data-leading\:rounded-r-none){border-top-right-radius:0;border-bottom-right-radius:0}:where([data-leading]) :is(:where([data-input-wrapper]) .in-data-input-wrapper\:in-data-leading\:before\:rounded-r-none):before{content:var(--tw-content);border-top-right-radius:0;border-bottom-right-radius:0}:where([data-trailing]) :is(:where([data-input-wrapper]) .in-data-input-wrapper\:in-data-trailing\:-ml-px){margin-left:-1px}:where([data-trailing]) :is(:where([data-input-wrapper]) .in-data-input-wrapper\:in-data-trailing\:rounded-l-none){border-top-left-radius:0;border-bottom-left-radius:0}:where([data-trailing]) :is(:where([data-input-wrapper]) .in-data-input-wrapper\:in-data-trailing\:before\:rounded-l-none):before{content:var(--tw-content);border-top-left-radius:0;border-bottom-left-radius:0}:is(.\*\:data-icon\:pointer-events-none>*)[data-icon]{pointer-events:none}:is(.\*\:data-icon\:size-4>*)[data-icon]{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}:is(.\*\:data-icon\:size-5>*)[data-icon]{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}:is(.\*\:data-icon\:shrink-0>*)[data-icon]{flex-shrink:0}:is(.\*\:data-icon\:stroke-\[2\.25px\]>*)[data-icon]{stroke-width:2.25px}:is(.\*\:data-icon\:text-white\/60>*)[data-icon]{color:#fff9}@supports (color:color-mix(in lab,red,red)){:is(.\*\:data-icon\:text-white\/60>*)[data-icon]{color:color-mix(in oklab,var(--color-white) 60%,transparent)}}@media (hover:hover){:is(.hover\:\*\:data-icon\:text-white\/70:hover>*)[data-icon]{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){:is(.hover\:\*\:data-icon\:text-white\/70:hover>*)[data-icon]{color:color-mix(in oklab,var(--color-white) 70%,transparent)}}}.data-icon-only\:p-2[data-icon-only]{padding:calc(var(--spacing) * 2)}.data-icon-only\:p-2\.5[data-icon-only]{padding:calc(var(--spacing) * 2.5)}.data-icon-only\:p-3[data-icon-only]{padding:calc(var(--spacing) * 3)}.data-icon-only\:p-3\.5[data-icon-only]{padding:calc(var(--spacing) * 3.5)}:where([data-input-wrapper]) .in-data-input-wrapper\:data-icon-only\:p-2\.5[data-icon-only]{padding:calc(var(--spacing) * 2.5)}:where([data-input-wrapper]) .in-data-input-wrapper\:data-icon-only\:p-3[data-icon-only]{padding:calc(var(--spacing) * 3)}:is(.\*\:data-text\:underline>*)[data-text]{text-decoration-line:underline}:is(.\*\:data-text\:decoration-transparent>*)[data-text]{text-decoration-color:#0000}:is(.\*\:data-text\:underline-offset-2>*)[data-text]{text-underline-offset:2px}:is(.\*\:data-text\:underline-offset-3>*)[data-text]{text-underline-offset:3px}:is(.\*\:data-text\:underline-offset-4>*)[data-text]{text-underline-offset:4px}@media (hover:hover){:is(.hover\:\*\:data-text\:decoration-current:hover>*)[data-text]{text-decoration-color:currentColor}}.nth-2\:pl-3:nth-child(2){padding-left:calc(var(--spacing) * 3)}@media not all and (min-width:40rem){.max-sm\:overflow-y-auto{overflow-y:auto}}@media (min-width:40rem){.sm\:col-span-1{grid-column:span 1/span 1}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:col-span-3{grid-column:span 3/span 3}.sm\:block{display:block}.sm\:max-w-\[220px\]{max-width:220px}.sm\:max-w-\[500px\]{max-width:500px}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-\[1fr_1fr_1fr_auto\]{grid-template-columns:1fr 1fr 1fr auto}.sm\:grid-cols-\[auto_minmax\(0\,1fr\)_auto_auto\]{grid-template-columns:auto minmax(0,1fr) auto auto}.sm\:grid-cols-\[minmax\(0\,1fr\)_120px_130px_auto_auto\]{grid-template-columns:minmax(0,1fr) 120px 130px auto auto}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:justify-center{justify-content:center}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2{gap:calc(var(--spacing) * 2)}:where(.sm\:divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.sm\:divide-y-0>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(0px * var(--tw-divide-y-reverse));border-bottom-width:calc(0px * calc(1 - var(--tw-divide-y-reverse)))}.sm\:rounded-2xl{border-radius:var(--radius-2xl)}.sm\:p-4{padding:calc(var(--spacing) * 4)}.sm\:p-5{padding:calc(var(--spacing) * 5)}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:p-8{padding:calc(var(--spacing) * 8)}.sm\:p-9{padding:calc(var(--spacing) * 9)}.sm\:p-10{padding:calc(var(--spacing) * 10)}.sm\:px-5{padding-inline:calc(var(--spacing) * 5)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}.sm\:\[--modal-pb\:32px\]{--modal-pb:32px}.sm\:\[--modal-pt\:32px\]{--modal-pt:32px}}@media (min-width:48rem){.md\:block{display:block}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-\[1fr_1fr\]{grid-template-columns:1fr 1fr}.md\:grid-cols-\[minmax\(0\,1\.3fr\)_minmax\(120px\,\.7fr\)_minmax\(115px\,\.55fr\)_auto\]{grid-template-columns:minmax(0,1.3fr) minmax(120px,.7fr) minmax(115px,.55fr) auto}.md\:flex-row{flex-direction:row}.md\:justify-end{justify-content:flex-end}.md\:px-5{padding-inline:calc(var(--spacing) * 5)}.md\:px-6{padding-inline:calc(var(--spacing) * 6)}.md\:pb-8{padding-bottom:calc(var(--spacing) * 8)}.md\:pl-5{padding-left:calc(var(--spacing) * 5)}.md\:pl-6{padding-left:calc(var(--spacing) * 6)}}@media (min-width:64rem){.lg\:sticky{position:sticky}.lg\:top-\[72px\]{top:72px}.lg\:z-50{z-index:50}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:h-\[calc\(100dvh-72px\)\]{height:calc(100dvh - 72px)}.lg\:w-\[258px\]{width:258px}.lg\:w-full{width:100%}.lg\:flex-none{flex:none}.lg\:translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-\[1fr_1fr_1fr\]{grid-template-columns:1fr 1fr 1fr}.lg\:grid-cols-\[1fr_1fr_180px_132px\]{grid-template-columns:1fr 1fr 180px 132px}.lg\:grid-cols-\[1fr_360px\]{grid-template-columns:1fr 360px}.lg\:grid-cols-\[260px_minmax\(0\,1fr\)\]{grid-template-columns:260px minmax(0,1fr)}.lg\:grid-cols-\[320px_1fr\]{grid-template-columns:320px 1fr}.lg\:grid-cols-\[minmax\(0\,1fr\)_190px\]{grid-template-columns:minmax(0,1fr) 190px}.lg\:grid-cols-\[minmax\(0\,1fr\)_260px\]{grid-template-columns:minmax(0,1fr) 260px}.lg\:grid-cols-\[minmax\(0\,1fr\)_360px\]{grid-template-columns:minmax(0,1fr) 360px}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:items-end{align-items:flex-end}.lg\:justify-between{justify-content:space-between}.lg\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@media (min-width:80rem){.xl\:col-span-1{grid-column:span 1/span 1}.xl\:col-span-2{grid-column:span 2/span 2}.xl\:col-span-3{grid-column:span 3/span 3}.xl\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.xl\:grid-cols-\[minmax\(0\,0\.9fr\)_minmax\(0\,1\.2fr\)\]{grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr)}.xl\:grid-cols-\[minmax\(0\,1\.15fr\)_minmax\(360px\,\.85fr\)\]{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr)}.xl\:grid-cols-\[minmax\(0\,1\.25fr\)_minmax\(360px\,\.75fr\)\]{grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr)}.xl\:grid-cols-\[minmax\(0\,1fr\)_310px\]{grid-template-columns:minmax(0,1fr) 310px}.xl\:grid-cols-\[minmax\(0\,1fr\)_320px\]{grid-template-columns:minmax(0,1fr) 320px}.xl\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.xl\:border-slate-100{border-color:var(--color-slate-100)}.xl\:p-14{padding:calc(var(--spacing) * 14)}}@media print{.print\:mt-0{margin-top:calc(var(--spacing) * 0)}.print\:hidden{display:none}.print\:min-h-0{min-height:calc(var(--spacing) * 0)}.print\:max-w-none{max-width:none}.print\:bg-white{background-color:var(--color-white)}.print\:p-0{padding:calc(var(--spacing) * 0)}.print\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.\[\&\>\*\:not\(\[data-icon\=loading\]\)\]\:invisible>:not([data-icon=loading]){visibility:hidden}.\[\&\>\*\:not\(\[data-icon\=loading\]\)\:not\(\[data-text\]\)\]\:hidden>:not([data-icon=loading]):not([data-text]){display:none}.\[\&\>td\]\:after\:absolute>td:after{content:var(--tw-content);position:absolute}.\[\&\>td\]\:after\:inset-x-0>td:after{content:var(--tw-content);inset-inline:calc(var(--spacing) * 0)}.\[\&\>td\]\:after\:bottom-0>td:after{content:var(--tw-content);bottom:calc(var(--spacing) * 0)}.\[\&\>td\]\:after\:h-px>td:after{content:var(--tw-content);height:1px}.\[\&\>td\]\:after\:w-full>td:after{content:var(--tw-content);width:100%}.last\:\[\&\>td\]\:after\:hidden:last-child>td:after{content:var(--tw-content);display:none}.\[\&\>td\]\:focus-visible\:after\:opacity-0>td:focus-visible:after,.focus-visible\:\[\&\>td\]\:after\:opacity-0:focus-visible>td:after{content:var(--tw-content);opacity:0}.\[\&\>tr\>th\]\:after\:pointer-events-none>tr>th:after{content:var(--tw-content);pointer-events:none}.\[\&\>tr\>th\]\:after\:absolute>tr>th:after{content:var(--tw-content);position:absolute}.\[\&\>tr\>th\]\:after\:inset-x-0>tr>th:after{content:var(--tw-content);inset-inline:calc(var(--spacing) * 0)}.\[\&\>tr\>th\]\:after\:bottom-0>tr>th:after{content:var(--tw-content);bottom:calc(var(--spacing) * 0)}.\[\&\>tr\>th\]\:after\:h-px>tr>th:after{content:var(--tw-content);height:1px}.\[\&\>tr\>th\]\:focus-visible\:after\:bg-transparent>tr>th:focus-visible:after{content:var(--tw-content);background-color:#0000}}.settings-center-body>nav{flex-direction:column;display:flex!important}.settings-logout{color:#9f3140;text-align:left;border:0;border-top:1px solid #dfe8ec;align-items:center;gap:.65rem;width:calc(100% - 1rem);min-height:42px;margin:auto .5rem .5rem;padding:.65rem .75rem;font-size:.76rem;font-weight:600;display:flex}.settings-logout:hover{color:#8d2435;background:#fff1f2}.settings-logout:disabled{opacity:.55}.settings-logout-error{color:#a92e42;margin:0 .75rem .75rem;font-size:.65rem}.planning-live{color:#d7e4e9;background:#ffffff12;border:1px solid #ffffff29;border-radius:7px;align-items:center;gap:.35rem;height:32px;padding:0 .55rem;font-size:.6rem;font-weight:580;display:inline-flex}.planning-live.is-sse svg{color:#69d5aa}.planning-live.is-polling svg{color:#ffb25f}.planning-live.is-offline{color:#ffd1d7}.planning-kpis.planning-kpis-five{grid-template-columns:repeat(5,minmax(0,1fr))}.planning-workload{align-items:center;gap:.35rem;min-height:36px;margin-top:.25rem;display:flex}.planning-workload>span{position:relative}.planning-workload>span>b{color:#fff;background:#143d52;border:2px solid #fff;border-radius:99px;place-items:center;min-width:16px;height:16px;font-size:.48rem;display:grid;position:absolute;bottom:-3px;right:-5px}.planning-workspace{grid-template-columns:minmax(0,1fr) 292px;align-items:start;gap:.7rem;min-width:0;display:grid}.planning-main{min-width:0}.planning-workspace .planning-board{grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem;overflow:visible}.planning-workspace .planning-column{border-radius:9px;min-height:520px}.planning-column>header{z-index:4;min-height:43px;position:sticky;top:0}.planning-quick-add{background:#ffffffad;border-bottom:1px solid #dbe4e8;grid-template-columns:minmax(0,1fr) 30px;gap:.25rem;padding:.35rem;display:grid}.planning-quick-add input{color:#294854;background:#fff;border:1px solid #d5e0e5;border-radius:5px;outline:none;min-width:0;height:30px;padding:0 .45rem;font-size:.58rem}.planning-quick-add input:focus{border-color:#df7219;box-shadow:0 0 0 2px #ffead7}.planning-quick-add button{color:#496774;background:#fff;border:1px solid #d4dfe4;border-radius:5px;place-items:center;width:30px;height:30px;display:grid}.planning-column>div{gap:.4rem;padding:.4rem}.planning-card{border-radius:8px;padding:.5rem}.planning-card>header button:disabled{opacity:.28;cursor:not-allowed}.planning-card-progress{grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:.35rem;margin-top:.45rem;display:grid}.planning-card-progress i{background:#e9eff2;border-radius:99px;height:4px;overflow:hidden}.planning-card-progress i b{background:#2685a4;height:100%;display:block}.planning-card-progress span{color:#6a7d87;font-size:.52rem;font-weight:600}.planning-card-assignees{padding-right:.2rem;display:flex}.planning-card-assignees>*{margin-right:-5px;box-shadow:0 0 0 2px #fff}.planning-mobile-status{display:none}.planning-chat{background:#fff;border:1px solid #cbd9df;border-radius:9px;grid-template-rows:54px minmax(0,1fr) auto;height:min(650px,100dvh - 105px);min-height:480px;display:grid;position:sticky;top:80px;overflow:hidden;box-shadow:0 8px 24px #0728390f}.planning-chat>header{background:#f4f7f8;border-bottom:1px solid #dbe4e8;justify-content:space-between;align-items:center;gap:.5rem;padding:.45rem .5rem;display:flex}.planning-chat>header>div{align-items:center;gap:.45rem;min-width:0;display:flex}.planning-chat>header>div>span{color:#ff9a42;background:#0b3549;border-radius:6px;flex:none;place-items:center;width:30px;height:30px;display:grid}.planning-chat>header small,.planning-chat>header strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.planning-chat>header strong{color:#173a4a;font-size:.63rem}.planning-chat>header small{color:#758791;margin-top:.1rem;font-size:.49rem}.planning-chat>header select{color:#0000;cursor:pointer;background:0 0;border:0;width:26px;height:30px}.planning-chat-messages{background:#f8fafb;min-height:0;padding:.55rem;overflow-y:auto}.planning-chat-messages>article{grid-template-columns:24px minmax(0,1fr);align-items:start;gap:.38rem;margin-bottom:.55rem;display:grid}.planning-chat-messages>article.is-own{grid-template-columns:minmax(0,1fr) 24px}.planning-chat-messages>article.is-own>div{background:#eaf4f7;grid-area:1/1}.planning-chat-messages>article.is-own>span{grid-column:2}.planning-chat-messages>article>div{background:#fff;border:1px solid #dbe4e8;border-radius:3px 8px 8px;padding:.4rem .45rem}.planning-chat-messages article>div>header{justify-content:space-between;align-items:center;gap:.4rem;display:flex}.planning-chat-messages article>div>header strong{color:#385563;font-size:.54rem}.planning-chat-messages article>div>header time{color:#94a1a8;font-variant-numeric:tabular-nums;font-size:.46rem}.planning-chat-messages article p{color:#314b58;white-space:pre-wrap;overflow-wrap:anywhere;margin:.2rem 0 0;font-size:.6rem;line-height:1.45}.planning-chat-messages article footer{flex-wrap:wrap;gap:.2rem;margin-top:.35rem;display:flex}.planning-chat-messages article footer span{color:#45626f;background:#edf2f5;border-radius:4px;align-items:center;gap:.2rem;padding:.2rem .3rem;font-size:.48rem;font-weight:580;display:inline-flex}.planning-chat-empty{color:#8a9aa2;text-align:center;place-content:center;justify-items:center;min-height:100%;padding:1rem;display:grid}.planning-chat-empty strong{color:#506a76;margin-top:.4rem;font-size:.66rem}.planning-chat-empty p{max-width:190px;margin:.2rem 0 0;font-size:.54rem;line-height:1.5}.planning-chat-composer{background:#fff;border-top:1px solid #dbe4e8;padding:.45rem;position:relative}.planning-chat-composer>div:last-of-type{border:1px solid #cedbe1;border-radius:7px;grid-template-columns:20px minmax(0,1fr) 30px;align-items:end;gap:.25rem;padding:.35rem;display:grid}.planning-chat-composer>div:last-of-type>svg{color:#d86f18;align-self:start;margin-top:.18rem}.planning-chat-composer textarea{resize:none;color:#294854;background:0 0;border:0;outline:0;width:100%;min-height:38px;font-size:.58rem;line-height:1.4}.planning-chat-composer>div:last-of-type>button{color:#fff;background:#0a3c55;border-radius:6px;place-items:center;width:30px;height:30px;display:grid}.planning-chat-composer>div:last-of-type>button:disabled{opacity:.38}.planning-reference-tokens{flex-wrap:wrap;gap:.25rem;margin-bottom:.35rem;display:flex}.planning-reference-tokens button{color:#3e606e;background:#f1f6f8;border:1px solid #cddce2;border-radius:5px;align-items:center;gap:.25rem;max-width:100%;min-height:24px;padding:0 .35rem;font-size:.52rem;font-weight:580;display:inline-flex}.planning-reference-tokens button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.entity-suggestion-menu{z-index:120;background:#fff;border:1px solid #bdced5;border-radius:7px;max-height:260px;padding:.3rem;position:absolute;bottom:calc(100% - .05rem);left:.45rem;right:.45rem;overflow:auto;box-shadow:0 16px 35px #0522312e}.entity-suggestion-menu section+section{border-top:1px solid #e5ecef;margin-top:.25rem;padding-top:.25rem}.entity-suggestion-menu section>header{color:#80919a;letter-spacing:.04em;text-transform:uppercase;padding:.25rem .35rem;font-size:.48rem;font-weight:600}.entity-suggestion-menu section>button{text-align:left;border-radius:5px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem;width:100%;min-height:36px;padding:.3rem .4rem;display:grid}.entity-suggestion-menu section>button:focus,.entity-suggestion-menu section>button:hover{background:#edf4f7;outline:0}.entity-suggestion-menu button span{color:#294854;text-overflow:ellipsis;white-space:nowrap;font-size:.58rem;font-weight:580;overflow:hidden}.entity-suggestion-menu button small{color:#80919a;font-size:.49rem}.planning-editor-dialog{outline:0;border:1px solid #9fb3bc!important}.planning-assignees{background:#f8fafb;border:1px solid #d4dfe5;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;padding:.45rem;display:grid}.planning-assignees>label{color:#3f5c69;cursor:pointer;border-radius:5px;align-items:center;gap:.4rem;min-height:34px;padding:0 .35rem;font-size:.6rem;display:flex}.planning-assignees>label:hover{background:#edf3f5}.planning-assignees input{accent-color:#d86f18;width:15px;height:15px}.planning-editor-references{background:#f8fafb;border:1px solid #d4dfe5;border-radius:9px;padding:.65rem;position:relative}.planning-editor-references>header>div{color:#d86f18;align-items:center;gap:.45rem;display:flex}.planning-editor-references>header small,.planning-editor-references>header span,.planning-editor-references>header strong{display:block}.planning-editor-references>header strong{color:#294854;font-size:.65rem}.planning-editor-references>header small{color:#71838d;margin-top:.1rem;font-size:.52rem}.entity-reference-picker{margin-top:.55rem;position:relative}.entity-reference-picker>label{color:#7a8d96;background:#fff;border:1px solid #cbd9df;border-radius:6px;grid-template-columns:22px minmax(0,1fr);align-items:center;height:36px;padding:0 .5rem;display:grid}.entity-reference-picker>label input{color:#294854;background:0 0;border:0;outline:0;min-width:0;font-size:.58rem}.entity-reference-picker .entity-suggestion-menu{inset:calc(100% + 4px) 0 auto}@media (max-width:1050px){.planning-workspace{grid-template-columns:1fr}.planning-chat{height:480px;position:relative;top:auto}}@media (max-width:760px){.planning-kpis.planning-kpis-five{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-kpis-five article:nth-child(2n){border-right:0}.planning-kpis-five article:last-child{grid-column:1/-1}.planning-hero>div:last-child{grid-template-columns:auto minmax(0,1fr)}.planning-mobile-status{gap:.25rem;margin-bottom:.45rem;padding-bottom:.15rem;display:flex;overflow-x:auto}.planning-mobile-status button{color:#5b727e;background:#fff;border:1px solid #d0dde2;border-radius:6px;align-items:center;gap:.35rem;min-width:max-content;height:34px;padding:0 .55rem;font-size:.57rem;font-weight:580;display:inline-flex}.planning-mobile-status button[aria-selected=true]{color:#fff;background:#0a3c55;border-color:#0a3c55}.planning-mobile-status button b{background:#ffffff24;border-radius:99px;place-items:center;min-width:18px;height:18px;font-size:.48rem;display:grid}.planning-workspace .planning-board{display:block;overflow:visible}.planning-board .planning-column{min-height:420px;display:none}.planning-board[data-mobile-active=BACKLOG] .planning-column[data-status=BACKLOG],.planning-board[data-mobile-active=DONE] .planning-column[data-status=DONE],.planning-board[data-mobile-active=IN_PROGRESS] .planning-column[data-status=IN_PROGRESS],.planning-board[data-mobile-active=REVIEW] .planning-column[data-status=REVIEW],.planning-board[data-mobile-active=TODO] .planning-column[data-status=TODO]{display:block}.planning-assignees{grid-template-columns:1fr}}.measured-menu-backdrop{z-index:198;background:0 0;border:0;position:fixed;inset:0}.measured-context-menu{z-index:199;background:#fff;border:1px solid #bdcdd4;border-radius:8px;min-width:230px;max-width:min(310px,100vw - 16px);max-height:min(480px,100dvh - 16px);position:fixed;overflow:auto;box-shadow:0 18px 42px #041f2d38}.measured-context-menu>.document-action-menu.is-context-menu{max-height:none;box-shadow:none;border:0;border-radius:0;width:100%!important;position:static!important;inset:auto!important}.common-filter-bar{background:#fff;border:1px solid #cddbe1;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;padding:.55rem;position:relative}.common-filter-bar,.common-filter-main{align-items:center;gap:.5rem;display:grid}.common-filter-main{grid-template-columns:minmax(220px,1fr) auto;min-width:0}.common-filter-search{display:block;position:relative}.common-filter-search>svg{z-index:1;color:#80929b;position:absolute;top:50%;left:.65rem;transform:translateY(-50%)}.common-filter-search input{color:#294854;background:#f8fafb;border:1px solid #cbd9df;border-radius:8px;outline:0;width:100%;height:42px;padding:0 .8rem 0 2.25rem;font-size:.78rem}.common-filter-fields input:focus,.common-filter-fields select:focus,.common-filter-search input:focus{border-color:#dd7119;box-shadow:0 0 0 2px #ffead7}.common-filter-fields{border-top:1px solid #e1e8eb;grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:end;gap:.65rem;padding:.75rem .15rem .15rem;display:grid}.common-filter-fields[hidden]{display:none}.common-filter-fields label{gap:.3rem;min-width:0;display:grid}.common-filter-fields label>span{color:#667b86;font-size:.65rem;font-weight:600}.common-filter-fields input,.common-filter-fields select{color:#294854;background:#fff;border:1px solid #cbd9df;border-radius:7px;outline:0;width:100%;height:40px;padding:0 .65rem;font-size:.72rem}.common-filter-actions{align-items:center;gap:.25rem;display:flex}.common-filter-actions>button,.common-filter-toggle{color:#405d6a;background:#fff;border:1px solid #cbd9df;border-radius:7px;align-items:center;gap:.4rem;height:40px;padding:0 .7rem;font-size:.7rem;font-weight:600;display:inline-flex}.common-filter-toggle[aria-expanded=true]{color:#163f58;background:#edf4f6;border-color:#163f58}.common-filter-chevron{transition:transform .18s}.common-filter-toggle[aria-expanded=true] .common-filter-chevron{transform:rotate(180deg)}.common-filter-active-dot{background:#e9771b;border-radius:50%;width:7px;height:7px}.document-reference{font-variant-numeric:tabular-nums;letter-spacing:.01em;font-weight:600!important}.document-grid-row>.document-expand-button,.document-grid-row>[data-document-menu]{border-left:1px solid #dce5e9;width:36px;height:36px}.document-grid-row>[data-document-menu]{place-items:center;display:grid}.document-expand-button,.document-menu-button{place-items:center!important;width:36px!important;height:36px!important}.document-load-more{border-top:1px solid #e1e8eb;place-items:center;min-height:54px;display:grid}.document-load-more button{color:#3e5c69;background:#fff;border:1px solid #c9d8de;border-radius:6px;align-items:center;gap:.35rem;height:34px;padding:0 .7rem;font-size:.6rem;font-weight:580;display:inline-flex}.party-toolbar-production{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem;display:grid}.party-toolbar-production>div{gap:.35rem;display:flex}.party-list-production .party-list-row{grid-template-columns:minmax(0,1fr) 42px;padding:0;display:grid}.party-row-main{min-width:0;min-height:68px;color:inherit;align-items:center;gap:.7rem;padding:.55rem .7rem;text-decoration:none;display:flex}.party-row-main>span{gap:.12rem;display:grid}.party-row-main>span>small,.party-row-main>span>strong{display:block}.party-row-main>span:nth-child(3){justify-items:end}.party-row-menu{color:#667c87;border-left:1px solid #e0e8eb;place-items:center;width:42px;min-height:100%;display:grid}.party-row-menu:hover,.party-row-menu[aria-expanded=true]{color:#0a3c55;background:#edf4f6}.party-context-actions{min-width:245px;padding:.35rem;display:grid}.party-context-actions>header{border-bottom:1px solid #e2eaed;align-items:center;gap:.5rem;margin-bottom:.25rem;padding:.4rem;display:flex}.party-context-actions>header>span{min-width:0;display:grid}.party-context-actions>header small,.party-context-actions>header strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.party-context-actions>header strong{color:#243f4c;font-size:.65rem}.party-context-actions>header small{color:#82929a;margin-top:.08rem;font-size:.5rem}.party-context-actions>a,.party-context-actions>button{color:#405d6a;text-align:left;border-radius:5px;align-items:center;gap:.48rem;min-height:35px;padding:0 .5rem;font-size:.6rem;font-weight:580;text-decoration:none;display:flex}.party-context-actions>a:hover,.party-context-actions>button:hover{color:#153e51;background:#edf4f6}.party-context-actions>.danger{color:#b83245}.party-context-actions>.menu-separator{background:#e2eaed;height:1px;margin:.25rem .35rem}.party-load-more{place-items:center;min-height:52px;display:grid}.party-load-more button{color:#456471;background:#fff;border:1px solid #cbd9df;border-radius:6px;height:34px;padding:0 .7rem;font-size:.6rem;font-weight:580}.document-create-action.document-new-action{color:#fff!important;background:#e9771b!important;border-color:#dc6d14!important}@media (max-width:700px){.party-toolbar-production{grid-template-columns:1fr}.party-toolbar-production>div{justify-content:flex-end}.party-row-main{gap:.45rem;padding:.5rem}}@media (max-width:980px){.common-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.common-filter-bar,.common-filter-main{grid-template-columns:1fr}.common-filter-actions{grid-row:2;justify-content:flex-end}.common-filter-toggle{justify-content:center}.common-filter-fields{grid-template-columns:1fr}}:root{--brand:oklch(69% .18 54);--brand-hover:oklch(60% .17 52);--nav-hover:oklch(31% .061 233);--ink:#06283a;--canvas:oklch(97% .008 226);--surface:oklch(99.2% .004 226);--surface-muted:var(--canvas);--text:oklch(28% .035 232);--muted:oklch(54% .025 226);--border:oklch(89% .014 226);--border-strong:oklch(82% .022 226);--scroll-track:transparent;--scroll-thumb:#738398;--scroll-thumb-hover:#56677c;--duration-exit:.15s;--duration-enter:.21s;--duration-move:.4s}*{box-sizing:border-box}html{color-scheme:light;scrollbar-color:var(--scroll-thumb) var(--scroll-track);scrollbar-width:thin;min-width:320px}body,html{background:var(--canvas)}body{min-height:100dvh;color:var(--text);letter-spacing:-.004em;font-kerning:normal;font-variant-numeric:proportional-nums;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:"Geist", "IBM Plex Sans Variable", "IBM Plex Sans", "Segoe UI", ui-sans-serif, system-ui, sans-serif;font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit}input[type=checkbox],input[type=radio]{accent-color:#07364d}a,button,select,summary{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}::selection{background:#07364d29}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border:2px solid #0000;border-radius:999px;min-height:42px}@supports (color:color-mix(in lab,red,red)){::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--scroll-thumb) 72%,transparent)}}::-webkit-scrollbar-thumb{background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background-color:var(--scroll-thumb-hover)}.sidebar-scroll::-webkit-scrollbar-thumb{background-color:#405168}:where(button,a,input,select,textarea,summary):focus-visible{outline-offset:2px;outline:2px solid #f07a00b8}dialog[open]{max-height:calc(100dvh - 2rem);margin:auto;position:fixed;inset:0}@media (max-width:639px){::-webkit-scrollbar{width:6px;height:6px}.page-actions>*{flex:auto}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.skip-link{z-index:1000;color:#fff;background:#0f172a;border-radius:.5rem;padding:.65rem .9rem;font-size:.8125rem;font-weight:600;transition:transform .15s;position:fixed;top:1rem;left:1rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}dialog[open]{animation:dialog-in .14s ease-out}@keyframes dialog-in{0%{opacity:0;transform:translateY(4px)scale(.992)}to{opacity:1;transform:translateY(0)scale(1)}}@media print{@page{size:A4;margin:0}body,html{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff!important}.no-print{display:none!important}}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes expanded-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.992)}to{opacity:1;transform:translateY(0)scale(1)}}@media (max-width:1279px){.document-grid-head,.document-grid-row{grid-template-columns:46px 112px 145px minmax(130px,160px) minmax(170px,1fr) 145px 125px 48px 44px}}@media (max-width:1535px){.document-grid-head{display:none}.document-record{border-radius:.75rem;margin:.65rem;overflow:visible;border:1px solid #dfe4ea!important}.document-grid-row{border-radius:.75rem;grid-template-columns:42px minmax(0,1fr) auto auto;gap:.55rem;min-height:auto;padding:.75rem;display:grid}.document-grid-row>*{border-left:0!important;padding:0!important}.document-icon-cell{background:#f1f5f9;border-radius:.5rem;grid-row:span 3;align-self:stretch}.document-grid-row>span[data-label=Date]{color:#64748b;grid-column:2;font-size:.75rem}.document-grid-row>span[data-label=Société]{grid-column:2;font-size:.75rem}.document-reference{grid-column:2;font-size:.875rem}.document-grid-row>span[data-label=Client],.document-grid-row>span[data-label=Destination],.document-grid-row>span[data-label=Fournisseur],.document-grid-row>span[data-label=Origine]{color:#475569;grid-column:2;font-size:.8125rem}.document-grid-row>span[data-label=Montant\ TTC]{grid-area:2/3/auto/5;align-self:center;font-size:.875rem}.document-grid-row>span[data-label=État]{grid-area:3/3/auto/5;justify-self:end}.document-expand-button{grid-area:1/3}.document-grid-row>div:last-child{grid-area:1/4}.document-action-menu{top:2.75rem;right:0}.document-expanded-panel{border-radius:0 0 .75rem .75rem}}@media (max-width:767px){.document-lines-row{grid-template-columns:1fr 1fr;gap:0;padding:.65rem;display:grid}.document-lines-row.head{display:none}.document-lines-row>span{border:0;padding:.35rem .5rem;font-size:.75rem}.document-lines-row>span:before{content:attr(data-label);color:#64748b;text-transform:uppercase;letter-spacing:.045em;margin-bottom:.15rem;font-size:.625rem;font-weight:600;display:block}.document-lines-row>span:first-child{grid-column:1/-1;font-size:.8125rem}.document-lines-row>span:last-child{text-align:right}.document-detail-actions{flex-wrap:wrap}.document-modal-backdrop{padding:0}.document-modal{border:0;border-radius:0;min-height:100dvh;max-height:100dvh}.document-modal-footer{padding-bottom:max(.75rem,env(safe-area-inset-bottom))}.document-dialog-header{padding-top:max(1rem,env(safe-area-inset-top))}}.document-row-badges{flex-wrap:wrap;align-items:center;gap:.3rem;min-width:0;display:flex}.document-expand-button svg{transition:transform .16s cubic-bezier(.2,.8,.2,1)}.document-scan-source-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.document-scan-source{color:#0d5874;text-align:left;background:#f8fbfc;border:1px solid #ccd9df;border-radius:12px;align-items:center;gap:.8rem;min-height:110px;padding:1rem;transition:border-color .15s,background-color .15s,transform .15s;display:flex}.document-scan-source:hover{background:#eff7fa;border-color:#71a5b9;transform:translateY(-1px)}.document-scan-source span{min-width:0}.document-scan-source strong{color:#142b3a;font-size:.86rem;display:block}.document-scan-source small{color:#647684;margin-top:.25rem;font-size:.72rem;display:block}.document-scan-file{color:#15805e;background:#f1f8f5;border:1px solid #b8d5c9;border-radius:10px;align-items:center;gap:.7rem;min-height:58px;padding:.7rem .8rem;display:flex}.document-scan-file span{flex:1;min-width:0}.document-scan-file small,.document-scan-file strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.document-scan-file strong{color:#17372d;font-size:.82rem}.document-scan-file small{color:#5d7b70;margin-top:.15rem;font-size:.7rem}.document-scan-file button{color:#527067;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.document-scan-file button:hover{color:#174e3c;background:#deeee7}.document-scan-hint{color:#76502e;background:#fff8ef;border-left:3px solid #f47a00;padding:.6rem .75rem;font-size:.75rem;line-height:1.45}.document-preview-workspace{background:#edf2f4;border:1px solid #cbd8de;border-radius:12px;grid-template-columns:minmax(235px,.65fr) minmax(420px,1.35fr);min-height:620px;scroll-margin-top:76px;display:grid;overflow:hidden}.document-preview-ledger{background:#fbfdfe;border-right:1px solid #cbd8de;flex-direction:column;min-width:0;display:flex}.document-preview-ledger>header{border-bottom:1px solid #dbe4e8;justify-content:space-between;align-items:center;gap:.6rem;min-height:48px;padding:.7rem .85rem;display:flex}.document-preview-ledger>header>span:first-child{color:#17364a;align-items:center;gap:.45rem;font-size:.78rem;font-weight:600;display:inline-flex}.document-preview-ledger dl{display:grid}.document-preview-ledger dl>div{border-bottom:1px solid #edf1f3;grid-template-columns:minmax(82px,.75fr) minmax(0,1.25fr);align-items:center;gap:.6rem;padding:.72rem .85rem;display:grid}.document-preview-ledger dt{color:#647684;font-size:.69rem;font-weight:580}.document-preview-ledger dd{overflow-wrap:anywhere;color:#142b3a;text-align:right;font-variant-numeric:tabular-nums;min-width:0;font-size:.76rem;font-weight:580}.document-preview-ledger>p{color:#647684;border-top:1px solid #dbe4e8;margin:auto .85rem .85rem;padding-top:.75rem;font-size:.7rem;line-height:1.5}.document-preview-paper{background:#dfe7eb;padding:1rem}.document-preview-paper iframe{background:#fff;border:0;border-radius:5px;width:100%;height:100%;min-height:690px;display:block;box-shadow:0 12px 28px #06283a21}.document-create-action,.document-scan-action{isolation:isolate;transition:transform .16s cubic-bezier(.2,.8,.2,1),background-color .16s,border-color .16s,box-shadow .16s;position:relative;overflow:hidden}.document-create-action:before,.document-scan-action:before{content:"";z-index:-1;opacity:.55;background:#ffffff29;border-radius:999px;width:42px;height:42px;transition:transform .26s cubic-bezier(.2,.8,.2,1),opacity .16s;position:absolute;right:-18px;transform:scale(.6)}.document-create-action:hover:before,.document-scan-action:hover:before{opacity:.9;transform:scale(6.5)}.document-create-action:active,.document-scan-action:active{transform:translateY(0)scale(.98)}@media (max-width:900px){.document-preview-workspace{grid-template-columns:1fr}.document-preview-ledger{border-bottom:1px solid #cbd8de;border-right:0}.document-preview-ledger>p{margin-top:.8rem}.document-preview-paper iframe{min-height:560px}}@media (max-width:520px){.document-scan-source-grid{grid-template-columns:1fr}.document-scan-source{min-height:80px}.document-preview-paper{padding:.5rem}}@media (prefers-reduced-motion:reduce){.document-create-action,.document-create-action:before,.document-expand-button svg,.document-scan-action,.document-scan-action:before,.document-scan-source{transition-duration:.01ms!important}}.print-document-sheet{position:relative;overflow:hidden}.letterhead-a4-background{z-index:0;object-fit:contain;object-position:50% 50%;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.print-letterhead-document{padding:34mm 14mm 25mm!important}.print-normal-document{padding:12mm!important}@media print{.print-document-sheet{overflow:hidden;width:210mm!important;max-width:210mm!important;min-height:297mm!important}.letterhead-a4-background{object-fit:contain;object-position:center;width:210mm;height:297mm;position:fixed;top:0;left:50%;right:auto;transform:translate(-50%)}.print-letterhead-document{padding:34mm 14mm 25mm!important}}@keyframes drawer-in{0%{opacity:0;transform:translate(12px,-4px)scale(.985)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes popover-in{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (max-width:1279px){.document-list-commandbar{grid-template-columns:1fr}}@media (max-width:767px){.document-page-hero{border-radius:.9rem;min-height:88px;margin:.75rem;padding:.9rem}.document-page-hero-icon{border-radius:.75rem;width:3rem;height:3rem}.document-page-hero-title{font-size:1.2rem}.document-page-hero-description{white-space:normal;font-size:.8rem}.document-list-commandbar{border-radius:.85rem;padding:.75rem}.document-list-actions{grid-template-columns:1fr 1fr;display:grid}.document-create-action{grid-column:1/-1}.document-create-action,.document-export-action,.document-scan-action{height:2.75rem;padding-inline:.75rem;font-size:.78rem}.document-payment-summary{grid-template-columns:1fr}.document-payment-summary article{min-height:84px}.document-payment-summary article strong{font-size:1.45rem}.document-advanced-toggle{min-height:3rem;padding-inline:.75rem}.document-advanced-toggle-main{min-height:3rem;font-size:.72rem}.document-filter-toggle-meta button:first-child{display:none}}@media (max-width:1023px){.login-shell{min-height:100dvh}}@media (prefers-reduced-motion:no-preference){.icon-button,.login-submit,.primary-action,.role-option,.secondary-action,.sidebar-dashboard-link,.sidebar-nav-link{transition-duration:.16s}}.erp-shell{display:block}@media (min-width:1024px){.erp-shell{grid-template-columns:258px minmax(0,1fr);transition:grid-template-columns .24s cubic-bezier(.22,1,.36,1);display:grid}.erp-shell.is-sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}.erp-sidebar{transition:width .24s cubic-bezier(.22,1,.36,1),box-shadow .18s}.erp-sidebar[data-collapsed=true] .sidebar-desktop-control{justify-content:center;padding-inline:0}.erp-sidebar[data-collapsed=true] .sidebar-footer,.erp-sidebar[data-collapsed=true] .sidebar-search-wrap{display:none}.erp-sidebar[data-collapsed=true] .sidebar-scroll{scrollbar-width:none;padding:.7rem .45rem 1rem}.erp-sidebar[data-collapsed=true] .sidebar-scroll::-webkit-scrollbar{display:none}.erp-sidebar[data-collapsed=true] .sidebar-dashboard-link{border-radius:14px;justify-content:center;width:56px;min-height:56px;margin-inline:auto;padding:0}.erp-sidebar[data-collapsed=true] .sidebar-dashboard-link.is-active{background:#f973161f;border-color:#0000;box-shadow:inset 3px 0 #f97316}.erp-sidebar[data-collapsed=true] .sidebar-dashboard-label,.erp-sidebar[data-collapsed=true] .sidebar-expanded-only{display:none}.erp-sidebar[data-collapsed=true] .sidebar-item-icon{background:0 0;border-radius:12px;width:42px;height:42px}.erp-sidebar[data-collapsed=true] .sidebar-dashboard-link.is-active .sidebar-item-icon{color:#fb8500;background:0 0}.erp-sidebar[data-collapsed=true] .sidebar-groups{gap:.4rem;margin-top:.5rem;display:grid}.erp-sidebar[data-collapsed=true] .sidebar-group{background:0 0;border:0;border-radius:14px;overflow:visible}.erp-sidebar[data-collapsed=true] .sidebar-group.has-active{background:0 0;border:0}.erp-sidebar[data-collapsed=true] .sidebar-group-trigger{border:1px solid #0000;border-radius:14px;justify-content:center;width:56px;min-height:54px;margin-inline:auto;padding:0}.erp-sidebar[data-collapsed=true] .sidebar-group-trigger:hover,.erp-sidebar[data-collapsed=true] .sidebar-group.has-open-flyout .sidebar-group-trigger{background:#ffffff12;border-color:#ffffff14}.erp-sidebar[data-collapsed=true] .sidebar-group.has-active .sidebar-group-trigger{background:#f9731617}.erp-sidebar[data-collapsed=true] .sidebar-group-icon{color:#71839a;background:0 0;border:0;border-radius:12px;width:42px;height:42px}.erp-sidebar[data-collapsed=true] .sidebar-group-trigger:hover .sidebar-group-icon,.erp-sidebar[data-collapsed=true] .sidebar-group.has-open-flyout .sidebar-group-icon{color:#dce5ef}.erp-sidebar[data-collapsed=true] .sidebar-group.has-active .sidebar-group-icon{color:#fb8500;background:0 0;border:0}.erp-sidebar[data-collapsed=true] .sidebar-group-content{display:none}}@keyframes sidebar-flyout-in{0%{opacity:0;transform:translate(-8px)scale(.985)}to{opacity:1;transform:translate(0)scale(1)}}@media (prefers-reduced-motion:reduce){.erp-shell,.erp-sidebar,.sidebar-collapse-button,.sidebar-flyout,.sidebar-flyout-link{transition-duration:.01ms!important;animation:none!important}}@keyframes fade{0%{filter:blur(3px);opacity:0}to{filter:blur();opacity:1}}@keyframes slide{0%{translate:var(--slide-offset)}to{translate:0}}@keyframes slide-y{0%{transform:translateY(var(--slide-y-offset,10px))}to{transform:translateY(0)}}::view-transition-old(.fade-out){animation:var(--duration-exit) ease-in fade reverse}::view-transition-new(.fade-in){animation:var(--duration-enter) ease-out var(--duration-exit) both fade}::view-transition-old(.slide-down){animation:var(--duration-exit) ease-out both fade reverse,var(--duration-exit) ease-out both slide-y reverse}::view-transition-new(.slide-up){animation:var(--duration-enter) ease-in var(--duration-exit) both fade,var(--duration-move) ease-in both slide-y}::view-transition-new(.slide-from-right){--slide-offset:60px;animation:var(--duration-enter) ease-out var(--duration-exit) both fade,var(--duration-move) ease-in-out both slide}::view-transition-old(.slide-to-left){--slide-offset:-60px;animation:var(--duration-exit) ease-in both fade reverse,var(--duration-move) ease-in-out both slide reverse}::view-transition-new(.slide-from-left){--slide-offset:-60px;animation:var(--duration-enter) ease-out var(--duration-exit) both fade,var(--duration-move) ease-in-out both slide}::view-transition-old(.slide-to-right){--slide-offset:60px;animation:var(--duration-exit) ease-in both fade reverse,var(--duration-move) ease-in-out both slide reverse}::view-transition-old(.nav-forward){--slide-offset:-60px;animation:var(--duration-exit) ease-in both fade reverse,var(--duration-move) ease-in-out both slide reverse}::view-transition-new(.nav-forward){--slide-offset:60px;animation:var(--duration-enter) ease-out var(--duration-exit) both fade,var(--duration-move) ease-in-out both slide}::view-transition-old(.nav-back){--slide-offset:60px;animation:var(--duration-exit) ease-in both fade reverse,var(--duration-move) ease-in-out both slide reverse}::view-transition-new(.nav-back){--slide-offset:-60px;animation:var(--duration-enter) ease-out var(--duration-exit) both fade,var(--duration-move) ease-in-out both slide}::view-transition-group(.morph){animation-duration:var(--duration-move)}::view-transition-group(.text-morph){animation-duration:var(--duration-move)}::view-transition-image-pair(.morph){animation-name:via-blur}::view-transition-old(.text-morph){display:none}::view-transition-new(.text-morph){object-fit:none;object-position:left top;animation:none}::view-transition-old(.scale-out){animation:var(--duration-exit) ease-in scale-down}::view-transition-new(.scale-in){animation:var(--duration-enter) ease-out var(--duration-exit) both scale-up}::view-transition-group(persistent-topbar){z-index:100;animation:none}::view-transition-group(persistent-sidebar){z-index:100;animation:none}::view-transition-old(persistent-topbar){display:none}::view-transition-old(persistent-sidebar){display:none}::view-transition-new(persistent-topbar){animation:none}::view-transition-new(persistent-sidebar){animation:none}@keyframes via-blur{30%{filter:blur(3px)}}@keyframes scale-down{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.85)}}@keyframes scale-up{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.route-stage{min-width:0}.erp-sidebar{view-transition-name:persistent-sidebar}.erp-shell>header{view-transition-name:persistent-topbar}@keyframes live-pulse{0%,55%{box-shadow:0 0 0 5px #34d3991a}to{box-shadow:0 0 0 11px #34d39900}}@media (max-width:639px){.dashboard-page{padding:.75rem}.dashboard-command{border-radius:12px}.dashboard-periods{width:100%}.dashboard-periods button{flex:1;padding-inline:.4rem}.dashboard-command-actions{position:absolute;top:.75rem;right:.75rem}.dashboard-filter-button{justify-content:center;width:38px;padding:0;font-size:0}.dashboard-kpi{min-height:108px;padding:.75rem}.dashboard-kpi>strong{margin-top:.55rem;font-size:1.05rem}.dashboard-kpi-head>span:first-child{font-size:.52rem}.dashboard-kpi-icon{width:1.75rem;height:1.75rem}.dashboard-kpi-foot{margin-top:.6rem;padding-top:.4rem;font-size:.6rem}.dashboard-bar-column:nth-child(-n+6){display:none}.dashboard-bars{grid-template-columns:repeat(6,minmax(0,1fr))}.dashboard-gauge-body{grid-template-columns:110px minmax(0,1fr)}.dashboard-gauge{width:106px;height:106px}}@media (prefers-reduced-motion:reduce){::view-transition-old(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-new(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-group(*){animation-duration:0s!important;animation-delay:0s!important}.dashboard-live-dot{animation:none}}:root{--nav:#081322}.dialog-close-button,.dialog-close-button:hover,.notification-drawer>header button,.notification-drawer>header button:hover,button[aria-label="Fermer le menu"],button[aria-label="Fermer le menu"]:hover,button[aria-label=Fermer],button[aria-label=Fermer]:hover{transform:translate(0)rotate(0)!important}dialog.dialog-panel[open],dialog[open]{overscroll-behavior:contain;max-width:calc(100vw - 1.5rem)!important;max-height:calc(100dvh - 1.5rem)!important;margin:auto!important;position:fixed!important;inset:0!important}@media (max-width:639px){dialog.dialog-panel[open],dialog[open]{max-width:calc(100vw - .75rem)!important;max-height:calc(100dvh - .75rem)!important}.notification-drawer{border-radius:1rem 0 0 1rem;width:calc(100vw - .25rem)}}html{scrollbar-gutter:stable}::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}::view-transition-old(.nav-forward){animation:none!important}::view-transition-new(.nav-forward){animation:none!important}::view-transition-old(.nav-back){animation:none!important}::view-transition-new(.nav-back){animation:none!important}::view-transition-old(.route-crossfade){animation:none!important}::view-transition-new(.route-crossfade){animation:none!important}.route-stage{min-height:calc(100dvh - 72px);animation:none!important}.page-header{z-index:25;isolation:isolate;position:relative;overflow:visible}.page-info{z-index:40}.page-info p{z-index:140;left:auto;right:0;transform:none}.settings-info-tip{z-index:40}.settings-info-tip p{z-index:140;left:auto;right:0;transform:none}.topbar-company,.topbar-company-menu{display:none!important}.profile-trigger{color:#334155;background:#fff;border:1px solid #dbe2e8;border-radius:.75rem;align-items:center;gap:.6rem;height:44px;padding:.25rem .65rem .25rem .3rem;transition:border-color .12s,background-color .12s,box-shadow .12s;display:flex}.profile-trigger:hover,.profile-trigger[aria-expanded=true]{background:#f8fafc;border-color:#b9c6d0;box-shadow:0 4px 14px #0f172a0f}.profile-trigger strong{color:#102b3b;font-size:.75rem;font-weight:580}.profile-trigger small,.profile-trigger strong{text-overflow:ellipsis;white-space:nowrap;max-width:9.5rem;display:block;overflow:hidden}.profile-trigger small{color:#64748b;font-size:.625rem;line-height:.9rem}.user-avatar-anchor{flex:none;place-items:center;display:inline-grid;position:relative}.user-avatar-fallback,.user-avatar-image{border:2px solid #fff;border-radius:999px;width:100%;height:100%;box-shadow:0 0 0 1px #d8e1e8}.user-avatar-image{object-fit:cover}.user-avatar-fallback{color:#fff;letter-spacing:.025em;background:radial-gradient(circle at 74% 18%,#ffffff47,#0000 28%),linear-gradient(145deg,#0b5b78,#081322 68%);place-items:center;font-size:.68rem;font-weight:600;display:grid}.user-avatar-status{background:#16a34a;border:2px solid #fff;border-radius:999px;width:10px;height:10px;position:absolute;bottom:0;right:-1px}.notification-count-badge{color:#fff;background:#dc2626;border:2px solid #fff;border-radius:999px;place-items:center;min-width:18px;height:18px;padding-inline:3px;font-size:9px;font-weight:600;line-height:1;display:grid;position:absolute;top:-3px;right:-3px}.account-popover{z-index:82;transform-origin:100% 0;background:#fff;border:1px solid #dce3e9;border-radius:14px;width:min(360px,100vw - 1rem);position:absolute;top:calc(100% + 10px);right:0;overflow:hidden;box-shadow:0 22px 55px #0f172a2e}.account-profile-summary{background:linear-gradient(#fbfdfe,#fff);border-bottom:1px solid #eef2f5;align-items:center;gap:.75rem;padding:1rem;display:flex}.account-profile-summary strong{color:#0f2533;font-size:.875rem;font-weight:600}.account-profile-summary small,.account-profile-summary strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.account-profile-summary small{color:#64748b;margin-top:.12rem;font-size:.7rem}.account-profile-summary em{color:#0b5b78;background:#eef5f7;border-radius:999px;margin-top:.4rem;padding:.18rem .5rem;font-size:.62rem;font-style:normal;font-weight:580;display:inline-flex}.account-company-switcher{border-top:0;border-bottom:1px solid #eef2f5;padding:.65rem}.account-company-switcher>p{color:#64748b;padding:0 .35rem .45rem}.account-company-switcher>div{max-height:236px;padding:0}.account-company-switcher button{border:1px solid #0000;min-height:52px;padding:.45rem .55rem}.account-company-switcher button:hover{background:#f8fafc;border-color:#e2e8ee}.account-company-switcher button.is-current{background:#eef6f8;border-color:#cfe1e8}.account-company-mark{background:#f8fafc;border-radius:10px}.account-company-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:0 0 .45rem;padding:.45rem .6rem;font-size:.68rem;font-weight:600;display:block}.account-company-state{color:#64748b;flex:none;font-size:.62rem}.account-links{padding:.45rem}.account-links a,.account-links button{text-align:left;color:#334155;border-radius:9px;align-items:center;gap:.65rem;width:100%;min-height:40px;padding:0 .7rem;font-size:.8rem;font-weight:550;transition:background-color .12s,color .12s;display:flex}.account-links a:hover{color:#0f2533;background:#f1f5f9}.account-links button{color:#b42318}.account-links button:hover{background:#fef2f2}.notification-backdrop{z-index:90;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#08132247;border:0;position:fixed;inset:0}.notification-drawer{background:#fbfdfe;flex-direction:column;height:100dvh;display:flex;overflow:hidden;z-index:100!important;border:0!important;border-left:1px solid #dce3e9!important;border-radius:0!important;width:min(440px,100vw)!important;position:fixed!important;inset:0 0 0 auto!important;box-shadow:-24px 0 70px #08132238!important}.notification-drawer>header{background:#fff;border-bottom:1px solid #dce3e9;flex:none;justify-content:space-between;align-items:center;gap:1rem;height:auto;min-height:78px;padding:1rem 1.1rem;display:flex}.notification-drawer>header h2{color:#102b3b;font-size:.94rem;font-weight:600}.notification-drawer>header p{color:#64748b;margin-top:.12rem;font-size:.68rem}.notification-drawer>header>button{background:#f1f5f9;border-radius:10px;flex:none;width:38px;height:38px}.notification-drawer-title-icon{color:#0b5b78;background:#eaf2f5;border-radius:11px;flex:none;place-items:center;width:38px;height:38px;display:grid}.notification-drawer-scroll{flex:1;min-height:0;padding:.9rem;overflow-y:auto;height:auto!important}.notification-empty{text-align:center;align-content:center;place-items:center;min-height:calc(100dvh - 108px);padding:2rem;display:grid}.notification-empty>span{color:#78909d;background:#edf4f7;border-radius:18px;place-items:center;width:58px;height:58px;display:grid}.notification-empty strong{color:#243746;margin-top:.9rem;font-size:.88rem}.notification-empty p{color:#64748b;max-width:260px;margin-top:.3rem;font-size:.72rem;line-height:1.45}.notification-group{margin-bottom:1rem}.notification-group-title{border-radius:8px;min-height:34px;padding-inline:.7rem}.notification-card{border-color:#e6ebef;min-height:64px;box-shadow:0 1px #0f172a05}.notification-card:hover{transform:none;box-shadow:0 7px 18px #0f172a0f}dialog.dialog-panel[open],dialog[open]{animation:none!important;transform:none!important}.dialog-panel::backdrop,dialog::backdrop{-webkit-backdrop-filter:blur(2px)!important;backdrop-filter:blur(2px)!important;background:#0813226b!important}.document-modal-backdrop{z-index:110;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);overscroll-behavior:contain;background:#0813226b;padding:1rem;animation:none!important}.document-modal{contain:layout style;border-color:#d4dde5;border-radius:14px;max-height:calc(100dvh - 2rem);box-shadow:0 28px 80px #02081747;animation:none!important}.document-modal-scroll{scrollbar-gutter:stable}.document-dialog-header{min-height:64px}.document-modal-footer{min-height:66px}.dialog-close-button{border-radius:9px;width:38px;height:38px}.document-expand-button{width:32px;height:32px;box-shadow:none;border-color:#cbd5df;border-radius:9px;transition:border-color .12s,background-color .12s,color .12s}.document-expand-button:hover{color:#0b5b78;background:#edf4f7;border-color:#7893a2;transform:none}.document-expand-button[aria-expanded=true]{color:#0b5b78;background:#eaf3f6;border-color:#9fc0cd}.document-expanded-panel{animation:document-detail-open .15s ease-out}@keyframes document-detail-open{0%{opacity:0}to{opacity:1}}.document-detail-state{text-align:center;color:#64748b;align-content:center;place-items:center;gap:.45rem;min-height:210px;padding:2rem;display:grid}.document-detail-state strong{color:#243746;font-size:.82rem}.document-detail-state small{max-width:420px;font-size:.7rem;line-height:1.45}.document-detail-state.is-error{color:#b42318}.document-detail-state.is-error strong{color:#8f1d17}.document-detail-spinner{border:2px solid #dce7ec;border-top-color:#0b6b91;border-radius:999px;width:24px;height:24px;animation:document-detail-spin .65s linear infinite}@keyframes document-detail-spin{to{transform:rotate(1turn)}}.sidebar-scroll{scrollbar-color:#405168 transparent}.sidebar-scroll::-webkit-scrollbar{width:5px}.sidebar-scroll::-webkit-scrollbar-thumb{background:#405168;border:0}.sidebar-dashboard-link,.sidebar-group-trigger,.sidebar-nav-link{transition:background-color .11s,color .11s,border-color .11s}.sidebar-dashboard-link:before,.sidebar-group-trigger:before,.sidebar-nav-link:before{content:"";z-index:0;background:0 0;border-radius:7px;transition:background-color .11s,border-color .11s;position:absolute;inset:2px}.sidebar-dashboard-link:hover:before,.sidebar-group-trigger:hover:before,.sidebar-nav-link:hover:before{background:#111e31}.sidebar-dashboard-link.is-active:before,.sidebar-nav-link.is-active:before{background:#142238;border:1px solid #26364e}.sidebar-flyout{border-radius:12px;width:268px;animation:none;box-shadow:0 18px 48px #0f172a33}.sidebar-flyout-header{min-height:46px;padding-inline:.9rem;font-size:.68rem}.sidebar-flyout-list{scrollbar-color:#a6b1bc transparent;scrollbar-width:thin;padding:.45rem}.sidebar-flyout-list::-webkit-scrollbar{width:5px}.sidebar-flyout-list::-webkit-scrollbar-thumb{background:#a6b1bc;border:0}.sidebar-flyout-link{border-radius:8px;gap:.6rem;min-height:41px;padding-inline:.65rem;font-size:.79rem}.sidebar-flyout-link>svg{width:17px;height:17px}@media (max-width:639px){.profile-trigger{padding-right:.3rem}.account-popover{width:auto;max-height:calc(100dvh - 86px);position:fixed;top:78px;left:.5rem;right:.5rem}.notification-drawer{width:100vw!important}.document-modal-backdrop{padding:0}.document-modal{border-radius:0;min-height:100dvh;max-height:100dvh}.page-info p,.settings-info-tip p{width:auto;position:fixed;top:82px;left:.75rem;right:.75rem}}.dashboard-page{background:#f5f7f9}.dashboard-command{background:#081322;border-color:#1d3044;border-radius:12px;min-height:66px;box-shadow:0 8px 24px #0813221c}.dashboard-command:after{display:none}.dashboard-command-title h1{letter-spacing:-.012em;font-size:1.04rem}.dashboard-greeting{grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:.65rem;min-width:250px;display:grid}.dashboard-greeting h1{letter-spacing:-.012em;text-wrap:balance;font-size:1.02rem;font-weight:600;line-height:1.15}.dashboard-greeting p{color:#aebdca;margin-top:.16rem;font-size:.69rem;line-height:1.2}.dashboard-greeting time{color:#d9e5ec;font-variant-numeric:tabular-nums;font-size:.72rem}.dashboard-greeting-sky{color:#ffd276;background:#174b69;border:1px solid #ffffff21;border-radius:10px;place-items:center;width:38px;height:38px;display:grid;position:relative;overflow:hidden}.dashboard-greeting.is-afternoon .dashboard-greeting-sky{color:#ffd08a;background:#6c3f22}.dashboard-greeting.is-evening .dashboard-greeting-sky,.dashboard-greeting.is-night .dashboard-greeting-sky{color:#dbe8ff;background:#111b35}.dashboard-greeting-sky i{opacity:0;background:currentColor;border-radius:999px;width:2px;height:2px;position:absolute}.dashboard-greeting.is-evening .dashboard-greeting-sky i,.dashboard-greeting.is-night .dashboard-greeting-sky i{opacity:.9}.dashboard-greeting-sky i:first-of-type{top:8px;left:7px}.dashboard-greeting-sky i:nth-of-type(2){top:12px;right:6px}.dashboard-greeting-sky i:nth-of-type(3){bottom:7px;left:12px}.dashboard-periods{background:#ffffff09;border-color:#ffffff14;border-radius:8px}.dashboard-periods button{border-radius:6px;height:31px;transition:background-color .11s,color .11s}.dashboard-periods button.is-active{background:#ffffff1c;box-shadow:inset 0 0 0 1px #ffffff0f}.dashboard-filter-shelf{animation:none}.dashboard-stat-grid{grid-template-columns:repeat(1,minmax(0,1fr));gap:.75rem;display:grid}.dashboard-stat-card{--stat-accent:#0b6b91;--stat-soft:#edf5f8;background:#fff;border:1px solid #dbe3e8;border-radius:12px;min-width:0;min-height:142px;padding:.9rem;position:relative;overflow:hidden;box-shadow:0 4px 16px #0f172a09}.dashboard-stat-card:before{content:"";background:var(--stat-accent);width:2px;position:absolute;inset:0 auto 0 0}.dashboard-stat-card.is-blue{--stat-accent:#0b6b91;--stat-soft:#edf5f8}.dashboard-stat-card.is-green{--stat-accent:#0f9f6e;--stat-soft:#edf9f4}.dashboard-stat-card.is-orange{--stat-accent:#d96a08;--stat-soft:#fff5eb}.dashboard-stat-card.is-red{--stat-accent:#cf3b4f;--stat-soft:#fff1f3}.dashboard-stat-card.is-slate{--stat-accent:#64748b;--stat-soft:#f1f5f9}.dashboard-stat-card>header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.dashboard-stat-card>header>span:first-child{text-overflow:ellipsis;white-space:nowrap;color:#64748b;letter-spacing:.055em;text-transform:uppercase;font-size:.63rem;overflow:hidden}.dashboard-stat-icon{background:var(--stat-soft);width:30px;height:30px;flex:none;place-items:center;display:grid}.dashboard-stat-value-row{justify-content:space-between;gap:.75rem;min-width:0;margin-top:.8rem;display:flex}.dashboard-stat-value-row>strong{text-overflow:ellipsis;white-space:nowrap;color:#102b3b;letter-spacing:-.012em;font-variant-numeric:tabular-nums;min-width:0;font-size:1.22rem;font-weight:600;overflow:hidden}.dashboard-stat-spark{flex:none;align-items:end;gap:3px;width:62px;height:29px;display:flex}.dashboard-stat-spark i{opacity:.55;width:100%;min-height:3px}.dashboard-stat-card>footer{border-top:1px solid #eef2f5;justify-content:space-between;align-items:center;gap:.5rem;min-width:0;margin-top:.72rem;padding-top:.58rem;display:flex}.dashboard-stat-card>footer>span{text-overflow:ellipsis;white-space:nowrap;color:#64748b;min-width:0;font-size:.67rem;font-weight:550;overflow:hidden}.dashboard-stat-card>footer b{border-radius:999px;flex:none;align-items:center;gap:1px;padding:.18rem .38rem;font-size:.61rem;font-weight:600;display:inline-flex}.dashboard-stat-card>footer b.is-positive{color:#047857;background:#ecfdf5}.dashboard-stat-card>footer b.is-negative{color:#b91c1c;background:#fef2f2}.dashboard-metric-strip{background:#fff;border:1px solid #dbe3e8;border-radius:12px;display:grid;overflow:hidden;box-shadow:0 4px 16px #0f172a08}.dashboard-metric-strip a{border-bottom:1px solid #edf1f4;grid-template-columns:34px minmax(0,1fr) 16px;align-items:center;gap:.65rem;min-height:66px;padding:.65rem .8rem;transition:background-color .11s;display:grid}.dashboard-metric-strip a:last-child{border-bottom:0}.dashboard-metric-strip a:hover{background:#f8fafb}.dashboard-metric-icon{color:#0b6b91;background:#edf4f7;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.dashboard-metric-strip a>span:nth-child(2){min-width:0}.dashboard-metric-strip small{text-overflow:ellipsis;white-space:nowrap;color:#64748b;font-size:.63rem;font-weight:600;display:block;overflow:hidden}.dashboard-metric-strip strong{color:#102b3b;font-variant-numeric:tabular-nums;margin-top:.12rem;font-size:.98rem;font-weight:600;display:block}.dashboard-metric-strip a>svg{color:#c1cbd3}.dashboard-metric-strip a.is-alert .dashboard-metric-icon{color:#cf3b4f;background:#fff1f2}.dashboard-metric-strip a.is-alert strong{color:#b42335}.dashboard-bento-modern{align-items:start}.dashboard-bento-modern .dashboard-chart-panel{grid-column:span 12;min-height:410px}.dashboard-chart-panel>header p{color:#64748b;margin-top:.18rem;font-size:.67rem}.dashboard-tabs button{transition:background-color .11s,color .11s,box-shadow .11s}.dashboard-tabs button[aria-selected=true]{background:#fff;border:1px solid #d5e2e8;box-shadow:0 1px 3px #0f172a14}.dashboard-bar{transition:none!important}.dashboard-health-panel,.dashboard-receivables{background:#fff;border:1px solid #d7e3e8;border-radius:13px;overflow:hidden;box-shadow:0 8px 26px #06283a0a}.dashboard-health-panel{grid-column:span 12}.dashboard-health-panel>header,.dashboard-receivables>header{border-bottom:1px solid #edf1f4;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;display:flex}.dashboard-health-panel h2,.dashboard-receivables h2{color:#102b3b;font-size:.79rem;font-weight:600}.dashboard-health-panel header p,.dashboard-receivables header p{color:#64748b;margin-top:.12rem;font-size:.64rem}.dashboard-health-panel header>svg,.dashboard-receivables header>svg{color:#0b6b91}.dashboard-health-main{padding:1rem}.dashboard-health-score{padding-bottom:1rem}.dashboard-health-score>strong{color:#102b3b;letter-spacing:-.012em;font-variant-numeric:tabular-nums;font-size:1.8rem;font-weight:600;display:block}.dashboard-health-score>span{color:#64748b;margin-top:.12rem;font-size:.68rem;font-weight:600;display:block}.dashboard-health-score>i{background:#edf2f5;border-radius:999px;height:7px;margin-top:.7rem;display:block;overflow:hidden}.dashboard-health-score>i>b{border-radius:inherit;background:#0f9f6e;height:100%;display:block}.dashboard-health-grid{border:1px solid #edf1f4;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.dashboard-health-grid>div{border-bottom:1px solid #edf1f4;min-width:0;padding:.72rem}.dashboard-health-grid>div:nth-child(odd){border-right:1px solid #edf1f4}.dashboard-health-grid>div:nth-last-child(-n+2){border-bottom:0}.dashboard-health-grid span{color:#64748b;letter-spacing:.04em;text-transform:uppercase;font-size:.59rem;font-weight:580;display:block}.dashboard-health-grid strong{text-overflow:ellipsis;white-space:nowrap;color:#102b3b;font-variant-numeric:tabular-nums;margin-top:.3rem;font-size:.88rem;font-weight:600;display:block;overflow:hidden}.dashboard-health-grid small{color:#94a3b8;margin-top:.12rem;font-size:.58rem;display:block}.dashboard-health-grid .is-danger strong{color:#c42f45}.dashboard-bento-modern .dashboard-receivables,.dashboard-bento-modern .dashboard-top-clients{grid-column:span 12}.dashboard-receivable-list{padding-inline:.85rem}.dashboard-receivable-list>div{border-bottom:1px solid #edf1f4;align-items:center;gap:.65rem;min-height:58px;padding-block:.65rem;display:flex}.dashboard-receivable-list>div:last-child{border-bottom:0}.dashboard-receivable-status{background:#e05262;border-radius:999px;flex:none;width:7px;height:7px;box-shadow:0 0 0 4px #fff0f2}.dashboard-receivable-list strong{color:#102b3b;font-size:.74rem;font-weight:580}.dashboard-receivable-list small,.dashboard-receivable-list strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.dashboard-receivable-list small{color:#64748b;margin-top:.12rem;font-size:.62rem}.dashboard-receivable-list>div>b{color:#c42f45;font-variant-numeric:tabular-nums;flex:none;font-size:.73rem;font-weight:600}.dashboard-clean-state{color:#047857;justify-content:center;font-size:.72rem;font-weight:580}.dashboard-bento-modern .dashboard-quick-actions{border-color:#1c3043;border-radius:13px;grid-column:span 12;display:block;overflow:hidden}.dashboard-quick-actions>header{border-bottom:1px solid #ffffff14;padding:.85rem 1rem}.dashboard-quick-actions>header h2{color:#fff;font-size:.79rem;font-weight:600}.dashboard-quick-actions>header p{color:#8fa0b4;margin-top:.12rem;font-size:.64rem}.dashboard-quick-actions>div{grid-template-columns:repeat(1,minmax(0,1fr));display:grid}.dashboard-quick-actions>div a{min-height:52px}@media (min-width:640px){.dashboard-metric-strip,.dashboard-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-metric-strip a{border-right:1px solid #edf1f4}.dashboard-metric-strip a:nth-child(2n){border-right:0}.dashboard-quick-actions>div{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.dashboard-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-metric-strip{grid-template-columns:repeat(5,minmax(0,1fr))}.dashboard-metric-strip a{border-bottom:0;border-right:1px solid #edf1f4}.dashboard-metric-strip a:last-child{border-right:0}.dashboard-quick-actions>div{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1280px){.dashboard-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-bento-modern .dashboard-chart-panel{grid-column:span 8}.dashboard-bento-modern .dashboard-health-panel{grid-column:span 4}.dashboard-bento-modern .dashboard-top-clients{grid-column:span 7}.dashboard-bento-modern .dashboard-receivables{grid-column:span 5}}@media (max-width:639px){.dashboard-stat-card{min-height:128px}.dashboard-stat-value-row>strong{font-size:1.05rem}.dashboard-stat-spark{width:54px}.dashboard-health-grid{grid-template-columns:1fr}.dashboard-health-grid>div,.dashboard-health-grid>div:nth-child(odd),.dashboard-health-grid>div:nth-last-child(-n+2){border-bottom:1px solid #edf1f4;border-right:0}.dashboard-health-grid>div:last-child{border-bottom:0}}.app-empty-state{text-align:center;background:linear-gradient(#f8fafc59,#fff0);place-items:center;min-height:250px;padding:2rem 1rem;display:grid}.app-empty-state-inner{width:min(100%,570px)}.app-empty-illustration{width:88px;height:76px;margin-inline:auto;position:relative}.app-empty-icon{color:#6b7f8d;background:#f8fafc;border:1px solid #dce5eb;border-radius:17px;place-items:center;width:56px;height:56px;display:grid;position:absolute;top:4px;left:10px;box-shadow:0 8px 24px #0f172a0f}.app-empty-pointer{color:#f5a623;filter:drop-shadow(0 4px 7px #f5a62333);position:absolute;bottom:0;right:1px}.app-empty-state h3{color:#172b3a;letter-spacing:-.012em;margin-top:.35rem;font-size:1rem;font-weight:600}.app-empty-state p{color:#667785;max-width:520px;margin:.55rem auto 0;font-size:.82rem;line-height:1.65}.app-empty-action{justify-content:center;margin-top:1rem;display:flex}.payment-dialog>form,.receipt-dialog>form,.reminder-dialog>form,.treasury-payment-dialog>form{flex-direction:column;max-height:calc(100dvh - 2rem);display:flex;overflow:hidden}.payment-dialog-body,.receipt-dialog-body,.reminder-dialog-body{scrollbar-gutter:stable;min-height:0;padding:1.15rem;overflow-y:auto}.payment-dialog-body,.reminder-dialog-body{gap:1rem;display:grid}.payment-document-summary,.reminder-summary{background:#f8fafb;border:1px solid #dbe4e9;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.payment-document-summary>div,.reminder-summary>div{min-width:0;padding:.8rem .9rem}.payment-document-summary>div+div,.reminder-summary>div+div{border-left:1px solid #dbe4e9}.payment-document-summary small,.reminder-summary small{color:#71818d;letter-spacing:.045em;text-transform:uppercase;font-size:.64rem;font-weight:600;display:block}.payment-document-summary strong,.reminder-summary strong{text-overflow:ellipsis;white-space:nowrap;color:#122b3b;margin-top:.25rem;font-size:.95rem;font-weight:600;display:block;overflow:hidden}.payment-document-summary span{text-overflow:ellipsis;white-space:nowrap;color:#64748b;margin-top:.2rem;font-size:.7rem;display:block;overflow:hidden}.payment-method-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;display:grid}.payment-method-grid button,.reminder-channel-grid button{color:#475569;text-align:left;background:#fff;border:1px solid #d8e1e7;border-radius:10px;align-items:center;gap:.55rem;min-width:0;min-height:58px;padding:.65rem .7rem;transition:border-color .11s,background-color .11s,box-shadow .11s;display:flex;position:relative}.payment-method-grid button:hover,.reminder-channel-grid button:hover:not(:disabled){background:#f8fafb;border-color:#a9bcc7}.payment-method-grid button.is-selected,.reminder-channel-grid button.is-selected{color:#0b5b78;background:#edf6f8;border-color:#76a8ba;box-shadow:inset 0 0 0 1px #0b5b781f}.payment-method-grid button span{text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-weight:580;overflow:hidden}.payment-method-check{position:absolute;top:.45rem;right:.45rem}.payment-balance-preview{background:#f1f7f9;border:1px solid #cfe0e7;border-radius:11px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.1rem .8rem;padding:.75rem .9rem;display:grid}.payment-balance-preview span{color:#536875;font-size:.72rem;font-weight:580}.payment-balance-preview strong{color:#0b5b78;font-variant-numeric:tabular-nums;grid-row:span 2;font-size:1.05rem;font-weight:650}.payment-balance-preview small{color:#71818d;font-size:.65rem}.payment-dialog-footer,.receipt-dialog-footer,.reminder-dialog-footer{flex:none}.reminder-channel-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;display:grid}.reminder-channel-grid button{flex-wrap:wrap;align-items:flex-start;min-height:74px}.reminder-channel-grid button>span{font-size:.77rem;font-weight:600}.reminder-channel-grid button>small{text-overflow:ellipsis;white-space:nowrap;color:#71818d;width:100%;font-size:.63rem;overflow:hidden}.reminder-channel-grid button:disabled{cursor:not-allowed;opacity:.45}.reminder-preview{background:#fbfcfd;border:1px solid #dbe4e9;border-radius:11px;overflow:hidden}.reminder-preview header{color:#526875;border-bottom:1px solid #e7edf1;justify-content:space-between;align-items:center;padding:.6rem .75rem;font-size:.68rem;font-weight:600;display:flex}.reminder-preview pre{white-space:pre-wrap;color:#475569;font:inherit;margin:0;padding:.8rem;font-size:.72rem;line-height:1.6;overflow:auto}.receipt-dialog-body{gap:1rem;display:grid}.receipt-dialog-tools{background:#f8fafb;border:1px solid #dce5ea;border-radius:10px;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .8rem;display:flex}.receipt-dialog-tools p{color:#627481;font-size:.74rem;font-weight:600;line-height:1.45}.receipt-dialog-tools .secondary-action{flex:none;min-height:36px}.receipt-lines{border:1px solid #d9e2e7;border-radius:11px;overflow:hidden}.receipt-line,.receipt-line-head{grid-template-columns:minmax(220px,1fr) 105px 105px 145px;align-items:center;gap:.65rem;display:grid}.receipt-line-head{color:#687985;letter-spacing:.04em;text-transform:uppercase;background:#f3f6f8;min-height:38px;padding:0 .75rem;font-size:.64rem;font-weight:600}.receipt-line{color:#3e5260;border-top:1px solid #e6ecef;min-height:66px;padding:.55rem .75rem;font-size:.76rem}.receipt-line>span:first-child{min-width:0}.receipt-line strong{text-overflow:ellipsis;white-space:nowrap;color:#172b3a;font-size:.78rem;display:block;overflow:hidden}.receipt-line small{color:#84919b;margin-top:.12rem;font-size:.63rem;display:block}.receipt-line>span:not(:first-child){font-variant-numeric:tabular-nums}.receipt-line.is-complete{color:#6b7f75;background:#f7fbf9}.receipt-line label{min-width:0}.receipt-note{color:#34624c;background:#f1f9f5;border:1px solid #cfe4d8;border-radius:10px;align-items:flex-start;gap:.55rem;padding:.7rem .8rem;font-size:.7rem;line-height:1.5;display:flex}.receipt-note svg{flex:none;margin-top:.08rem}.purchase-fulfillment-panel{background:#fff;border:1px solid #d8e4e9;border-radius:11px;overflow:hidden}.purchase-fulfillment-panel>header{border-bottom:1px solid #e8eef1;justify-content:space-between;align-items:center;gap:.75rem;min-height:46px;padding:.65rem .8rem;display:flex}.purchase-fulfillment-panel>header>span{color:#233d4d;align-items:center;gap:.45rem;font-size:.76rem;font-weight:600;display:flex}.purchase-fulfillment-panel>div{padding:.3rem .8rem}.purchase-fulfillment-panel article{border-bottom:1px solid #edf1f3;grid-template-columns:minmax(0,1fr) minmax(180px,38%);align-items:center;gap:.85rem;padding:.65rem 0;display:grid}.purchase-fulfillment-panel article:last-child{border-bottom:0}.purchase-fulfillment-panel article>span{min-width:0}.purchase-fulfillment-panel article strong{text-overflow:ellipsis;white-space:nowrap;color:#223846;font-size:.72rem;display:block;overflow:hidden}.purchase-fulfillment-panel article small{color:#73838e;font-size:.63rem}.purchase-fulfillment-panel article>div{background:#e9eff2;border-radius:999px;height:8px;position:relative}.purchase-fulfillment-panel article>div i{border-radius:inherit;background:#0f8b67;height:100%;display:block}.purchase-fulfillment-panel article>div small{position:absolute;top:-1.15rem;right:0}.reminder-center-page{min-width:0}.reminder-kpis{background:#fff;border:1px solid #dbe3e8;border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.reminder-kpis article{border-right:1px solid #e9eef1;min-width:0;min-height:78px;padding:.8rem .9rem}.reminder-kpis article:last-child{border-right:0}.reminder-kpis span{color:#6f7f8a;font-size:.64rem;font-weight:580}.reminder-kpis span,.reminder-kpis strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.reminder-kpis strong{color:#132c3c;font-variant-numeric:tabular-nums;margin-top:.38rem;font-size:1.05rem;font-weight:600}.reminder-toolbar{grid-template-columns:minmax(0,1fr) auto}.reminder-list{background:#fff;border:1px solid #dbe3e8;border-radius:12px;overflow:hidden}.reminder-history-row,.reminder-invoice-row{border-bottom:1px solid #e9eef1;grid-template-columns:40px minmax(0,1fr) 150px auto;align-items:center;gap:.75rem;min-height:78px;padding:.7rem .85rem;display:grid}.reminder-history-row:last-child,.reminder-invoice-row:last-child{border-bottom:0}.reminder-row-icon{color:#0b5b78;background:#edf4f7;border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.reminder-history-row strong,.reminder-invoice-row strong{color:#172e3d;font-size:.78rem}.reminder-history-row p,.reminder-invoice-row p{text-overflow:ellipsis;white-space:nowrap;color:#475d6b;margin-top:.14rem;font-size:.72rem;overflow:hidden}.reminder-history-row small,.reminder-invoice-row small{text-overflow:ellipsis;white-space:nowrap;color:#7a8993;margin-top:.14rem;font-size:.62rem;display:block;overflow:hidden}.reminder-row-amount{text-align:right}.reminder-row-amount strong{color:#b42335;font-variant-numeric:tabular-nums;margin-top:.18rem;font-size:.82rem;display:block}.reminder-provider{color:#64748b;background:#f1f5f9;border-radius:999px;justify-self:end;padding:.28rem .55rem;font-size:.64rem;font-weight:580}.document-action-backdrop{display:none}.document-action-menu{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b4c0c8 transparent}.document-action-menu::-webkit-scrollbar{width:5px}.document-action-menu::-webkit-scrollbar-thumb{background:#b4c0c8;border-radius:999px}@media (pointer:coarse){.danger-action,.primary-action,.secondary-action{min-height:44px}.document-expand-button,.document-menu-button{min-width:40px;min-height:40px}}@media (max-width:767px){.app-empty-state{min-height:280px;padding:2.25rem 1rem}.app-empty-state p{font-size:.78rem}dialog.payment-dialog,dialog.receipt-dialog,dialog.reminder-dialog,dialog.treasury-payment-dialog{border:0!important;border-radius:0!important;width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;margin:0!important;inset:0!important}.payment-dialog>form,.receipt-dialog>form,.reminder-dialog>form,.treasury-payment-dialog>form{height:100dvh;max-height:none}.payment-dialog-body,.receipt-dialog-body,.reminder-dialog-body{flex:1;padding:.9rem}.payment-document-summary,.reminder-summary{grid-template-columns:1fr}.payment-document-summary>div+div,.reminder-summary>div+div{border-top:1px solid #dbe4e9;border-left:0}.payment-method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reminder-channel-grid{grid-template-columns:1fr}.reminder-channel-grid button{min-height:62px}.payment-dialog-footer,.receipt-dialog-footer,.reminder-dialog-footer{z-index:2;padding:.65rem .75rem max(.65rem,env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border-top:1px solid #dbe3e8;grid-template-columns:1fr;gap:.5rem;display:grid;position:sticky;bottom:0}.payment-dialog-footer .primary-action,.payment-dialog-footer .secondary-action,.receipt-dialog-footer .primary-action,.receipt-dialog-footer .secondary-action,.reminder-dialog-footer .primary-action,.reminder-dialog-footer .secondary-action{justify-content:center;width:100%;min-height:46px}.receipt-dialog-tools{flex-direction:column;align-items:stretch}.receipt-dialog-tools .secondary-action{justify-content:center;width:100%}.receipt-line-head{display:none}.receipt-lines{border:0;border-radius:0;gap:.55rem;display:grid}.receipt-line{border:1px solid #dbe3e8;border-radius:11px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;min-height:0;padding:.75rem;display:grid}.receipt-line>span:first-child{border-bottom:1px solid #e9eef1;grid-column:1/-1;padding-bottom:.55rem}.receipt-line>span[data-label]:before{content:attr(data-label);color:#81909a;letter-spacing:.04em;text-transform:uppercase;margin-bottom:.18rem;font-size:.58rem;font-weight:600;display:block}.receipt-line label{grid-column:1/-1}.receipt-line label:before{content:"Quantité à recevoir";color:#81909a;letter-spacing:.04em;text-transform:uppercase;margin-bottom:.28rem;font-size:.58rem;font-weight:600;display:block}.purchase-fulfillment-panel article{grid-template-columns:1fr;gap:1.4rem}.document-action-backdrop{z-index:198;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#08132242;border:0;width:100%;height:100%;display:block;position:fixed;inset:0}.document-action-menu{max-height:min(72dvh,620px);overflow-y:auto;top:auto!important;left:.5rem!important;right:.5rem!important;bottom:max(.5rem,env(safe-area-inset-bottom))!important;z-index:200!important;border-radius:16px!important;width:auto!important;padding:.45rem!important;animation:none!important;position:fixed!important;box-shadow:0 24px 70px #0813224d!important}.document-action-menu button{border-radius:10px;min-height:46px;padding-inline:.8rem}.document-action-menu .menu-separator{margin-block:.25rem}.document-detail-actions{scroll-snap-type:x proximity;scrollbar-width:none;flex-wrap:nowrap;padding-bottom:.2rem;display:flex;overflow-x:auto}.document-detail-actions::-webkit-scrollbar{display:none}.document-detail-actions button{scroll-snap-align:start;min-width:max-content;min-height:42px}.document-lines-row:not(.head){border-radius:10px}.reminder-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.reminder-kpis article:nth-child(2){border-right:0}.reminder-kpis article:nth-child(-n+2){border-bottom:1px solid #e9eef1}.reminder-toolbar{grid-template-columns:1fr}.reminder-toolbar .secondary-action{justify-content:center;width:100%}.reminder-history-row,.reminder-invoice-row{grid-template-columns:38px minmax(0,1fr);gap:.65rem;padding:.8rem}.reminder-row-amount{text-align:left;border-top:1px solid #edf1f3;grid-column:1/-1;justify-content:space-between;align-items:center;padding-top:.6rem;display:flex}.reminder-row-amount strong{margin-top:0}.reminder-invoice-row>.primary-action,.reminder-provider{grid-column:1/-1;justify-content:center;width:100%}.reminder-provider{text-align:center;justify-self:stretch}.module-toolbar{gap:.55rem}.module-toolbar>button,.module-toolbar>label,.module-toolbar>select{width:100%;min-width:0}.field-input,.field-select,.field-textarea{font-size:16px}body{overscroll-behavior-y:none}.page-shell{padding:.65rem .65rem max(.75rem,env(safe-area-inset-bottom))}.page-header{border-radius:10px;gap:.65rem;min-height:58px;padding:.7rem .75rem}.page-header-icon{border-radius:8px;width:30px;height:30px}.page-title{font-size:1.05rem;line-height:1.3}.page-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;width:100%;display:grid}.page-actions>*{width:100%;min-width:0}.page-actions>:only-child{grid-column:1/-1}.module-toolbar{border-radius:10px;padding:.65rem}.module-toolbar,.surface-card,.table-shell{box-shadow:none}dialog.dialog-panel{overscroll-behavior:contain;border:0!important;border-radius:0!important;width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;margin:0!important;inset:0!important}dialog.dialog-panel>form{background:#fff;min-height:100dvh}dialog.dialog-panel>article>header,dialog.dialog-panel>form>header{z-index:5;padding-top:max(.85rem,env(safe-area-inset-top));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffffa;position:sticky;top:0}dialog.dialog-panel>form>footer{z-index:5;padding-bottom:max(.75rem,env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8fafcfa;position:sticky;bottom:0}dialog.dialog-panel>form>footer .danger-action,dialog.dialog-panel>form>footer .primary-action,dialog.dialog-panel>form>footer .secondary-action{min-height:46px}.account-popover{top:max(70px,calc(env(safe-area-inset-top) + 62px));max-height:calc(100dvh - max(78px, calc(env(safe-area-inset-top) + 70px)));overscroll-behavior:contain;overflow-y:auto}.notification-drawer>header{padding-top:max(1rem,env(safe-area-inset-top))}.notification-drawer-scroll{padding-bottom:max(.9rem,env(safe-area-inset-bottom))}.document-modal{padding-bottom:env(safe-area-inset-bottom)}.document-dialog-header{padding-top:max(.8rem,env(safe-area-inset-top))}.document-modal-footer{padding-bottom:max(.65rem,env(safe-area-inset-bottom))}.combobox-panel,[role=listbox]{overscroll-behavior:contain;max-width:calc(100vw - 1rem)}.data-table td,.data-table th{padding-inline:.75rem}}.app-empty-state.is-compact{min-height:220px;padding:1.35rem .75rem}.app-empty-state.is-compact .app-empty-illustration{width:72px;height:64px}.app-empty-state.is-compact .app-empty-icon{border-radius:14px;width:48px;height:48px}.app-empty-state.is-compact .app-empty-pointer{width:31px;height:31px}.app-empty-table-row:hover{background:0 0!important}.app-empty-table-row>td{padding:0!important}.signing-page{color:#172d3b;background:#eef3f5;min-height:100dvh}.signing-topbar{background:#fff;border-bottom:1px solid #d9e3e8;justify-content:space-between;align-items:center;gap:1rem;min-height:70px;padding:.75rem clamp(1rem,4vw,3rem);display:flex}.signing-topbar>div{align-items:center;gap:.7rem;display:flex}.signing-topbar small,.signing-topbar strong{display:block}.signing-topbar strong{font-size:.9rem}.signing-topbar small{color:#71818b;font-size:.65rem}.signing-topbar>span{color:#687b87;align-items:center;gap:.35rem;font-size:.68rem;display:inline-flex}.signing-mark{color:#fff;background:#0b3449;border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.signing-layout{grid-template-columns:minmax(0,1.55fr) minmax(330px,.75fr);align-items:start;gap:1rem;width:min(1240px,100% - 2rem);margin:1.25rem auto 3rem;display:grid}.signing-document,.signing-panel{background:#fff;border:1px solid #d7e1e6;border-radius:12px;box-shadow:0 16px 50px #08233214}.signing-document{overflow:hidden}.signing-document>header{color:#fff;background:#0b283b;border-bottom:3px solid #f49a30;justify-content:space-between;align-items:flex-start;gap:1rem;min-height:145px;padding:1.8rem 2rem;display:flex}.signing-document>header small{color:#f5b76e;letter-spacing:.08em;text-transform:uppercase;font-size:.65rem;font-weight:600}.signing-document>header h1{letter-spacing:-.012em;margin-top:.35rem;font-size:clamp(1.65rem,3vw,2.45rem);line-height:1}.signing-document>header p,.signing-document>header span{color:#b9c8d0;margin-top:.3rem;font-size:.7rem;display:block}.signing-document>header>div:last-child{text-align:right}.signing-document>header>div:last-child strong{font-size:1rem}.signing-party{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;padding:1.5rem 2rem;display:grid}.signing-party>div{border-left:2px solid #dfe8ec;min-width:0;padding-left:.8rem}.signing-party small,.signing-party span,.signing-party strong{display:block}.signing-party small{color:#82909a;letter-spacing:.07em;text-transform:uppercase;font-size:.62rem;font-weight:600}.signing-party strong{color:#183244;margin-top:.3rem;font-size:.82rem}.signing-party span{color:#71818b;margin-top:.15rem;font-size:.68rem}.signing-lines{border:1px solid #dce5e9;border-radius:9px;margin:0 2rem;overflow:hidden}.signing-lines>div{border-top:1px solid #e8edef;grid-template-columns:minmax(180px,1fr) 70px 105px 70px 110px;align-items:center;min-height:46px;display:grid}.signing-lines>div:first-child{border-top:0}.signing-lines span{text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:.65rem .7rem;font-size:.7rem;overflow:hidden}.signing-lines .head{color:#536875;text-transform:uppercase;background:#eff4f6;min-height:38px;font-size:.62rem;font-weight:600}.signing-lines>div span:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.signing-document>footer{width:min(340px,100% - 4rem);margin:1.4rem 2rem 2rem auto;display:grid}.signing-document>footer>div{border-bottom:1px solid #e1e8eb;justify-content:space-between;align-items:center;padding:.55rem .2rem;font-size:.72rem;display:flex}.signing-document>footer .grand{color:#fff;background:#0b3449;border:0;border-radius:8px;margin-top:.25rem;padding:.8rem}.signing-document>footer .grand strong{font-size:1rem}.signing-panel{gap:1rem;padding:1.2rem;display:grid;position:sticky;top:1rem}.signing-panel-heading{align-items:center;gap:.7rem;display:flex}.signing-panel-heading>span{color:#0b5d78;background:#edf5f7;border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.signing-panel-heading h2{font-size:.95rem}.signing-panel-heading p{color:#74848e;margin-top:.12rem;font-size:.67rem}.signing-alert{color:#b42335;background:#fff1f2;border:1px solid #fecaca;border-radius:8px;align-items:flex-start;gap:.4rem;padding:.65rem .7rem;font-size:.7rem;line-height:1.5;display:flex}.signing-canvas-label{color:#364f5e;justify-content:space-between;align-items:center;margin-bottom:.4rem;font-size:.72rem;font-weight:600;display:flex}.signing-canvas-label button,.signing-decline-link{color:#0b6a86;text-underline-offset:3px;background:0 0;border:0;font-size:.68rem;font-weight:600;text-decoration:underline}.signature-canvas{cursor:crosshair;touch-action:none;background-color:#fbfcfd;background-image:linear-gradient(#e8eef1 1px,#0000 0),linear-gradient(90deg,#e8eef1 1px,#0000 0);background-size:22px 22px;border:1px dashed #9fb3bd;border-radius:9px;width:100%;height:180px;display:block}.signing-help{color:#7a8992;margin-top:.35rem;font-size:.62rem;display:block}.signing-consent{color:#526775;background:#f8fafb;border:1px solid #dbe5e9;border-radius:9px;grid-template-columns:18px 1fr;align-items:start;gap:.55rem;padding:.75rem;font-size:.68rem;line-height:1.55;display:grid}.signing-consent input{width:17px;height:17px;margin:.12rem 0 0}.signing-legal{color:#72818a;align-items:flex-start;gap:.45rem;font-size:.62rem;line-height:1.55;display:flex}.signing-legal svg{flex:none;margin-top:.08rem}.signing-submit{width:100%;min-height:46px}.signing-decline-link{color:#8a4450;justify-self:center}.signing-decline{border-top:1px solid #e4eaed;gap:.65rem;padding-top:.9rem;display:grid}.signing-decline>div{justify-content:flex-end;gap:.5rem;display:flex}.signing-expiry{color:#7a8992;text-align:center;font-size:.6rem}.signing-state{text-align:center;align-content:center;place-items:center;gap:.7rem;min-height:100dvh;padding:1rem;display:grid}.signing-state h1{color:#183244;font-size:1.1rem}.signing-state p{color:#6d7e88;max-width:460px;font-size:.75rem}.signing-state.is-error svg{color:#bd354a}.signing-spinner{border:3px solid #ccdae0;border-top-color:#0b6a86;border-radius:50%;width:34px;height:34px;animation:signing-spin .75s linear infinite}@keyframes signing-spin{to{transform:rotate(1turn)}}.signing-complete{color:#20634c;background:#ecf9f4;border:1px solid #a7dcc8;border-radius:11px;align-items:center;gap:.8rem;width:min(900px,100% - 2rem);margin:1rem auto 0;padding:.8rem 1rem;display:flex}.signing-complete>svg{flex:none}.signing-complete h1{font-size:.9rem}.signing-complete p{flex:1;font-size:.68rem}.signing-complete.is-declined{color:#9b3644;background:#fff4f5;border-color:#f0c9ce}@media (max-width:900px){.signing-layout{grid-template-columns:1fr}.signing-panel{grid-row:1;position:static}.signing-document>header{min-height:120px;padding:1.25rem}.signing-party{padding:1rem 1.25rem}.signing-lines{margin-inline:1.25rem;overflow-x:auto}.signing-lines>div{min-width:650px}.signing-document>footer{margin-right:1.25rem}.signing-complete{flex-wrap:wrap}.signing-complete p{min-width:65%}}@media (max-width:520px){.signing-topbar{min-height:62px;padding:.65rem .75rem}.signing-topbar>span{display:none}.signing-layout{width:calc(100% - 1rem);margin-top:.5rem}.signing-document>header>div:last-child{display:none}.signing-party{grid-template-columns:1fr}.signing-panel{padding:.9rem}.signature-canvas{height:160px}.signing-complete{width:calc(100% - 1rem)}.signing-complete .secondary-action{width:100%}}.signature-request-dialog>article{flex-direction:column;max-height:calc(100dvh - 2rem);display:flex;overflow:hidden}.signature-request-body{gap:1rem;min-height:0;padding:1.1rem;display:grid;overflow-y:auto}.signature-mode-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;display:grid}.signature-mode-grid button{color:#566b78;text-align:left;background:#fff;border:1px solid #d9e3e8;border-radius:10px;align-items:flex-start;gap:.55rem;min-width:0;min-height:82px;padding:.75rem;display:flex}.signature-mode-grid button:hover{background:#f8fafb;border-color:#a9bdc7}.signature-mode-grid button.is-selected{color:#0b5d78;background:#edf6f8;border-color:#71a9bb;box-shadow:inset 0 0 0 1px #0b5d781f}.signature-mode-grid svg{flex:none;margin-top:.1rem}.signature-mode-grid small,.signature-mode-grid span,.signature-mode-grid strong{min-width:0;display:block}.signature-mode-grid strong{color:inherit;font-size:.73rem}.signature-mode-grid small{color:#778791;margin-top:.2rem;font-size:.61rem;line-height:1.4}.signature-request-alert{color:#b42335;background:#fff1f2;border:1px solid #fecaca;border-radius:8px;padding:.65rem .75rem;font-size:.7rem}.signature-request-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.signature-share-result{color:#256b51;background:#eef9f5;border:1px solid #a8dcc9;border-radius:10px;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:.6rem;padding:.75rem;display:grid}.signature-share-result small,.signature-share-result span,.signature-share-result strong{min-width:0;display:block}.signature-share-result strong{font-size:.72rem}.signature-share-result small{text-overflow:ellipsis;white-space:nowrap;margin-top:.15rem;font-size:.6rem;overflow:hidden}.signature-simple-notice{color:#607481;background:#f4f7f9;border-left:3px solid #8aa8b7;padding:.65rem .75rem;font-size:.64rem;line-height:1.55}.signature-request-history{border:1px solid #dce5e9;border-radius:10px;overflow:hidden}.signature-request-history h3{color:#536875;text-transform:uppercase;background:#f5f8f9;border-bottom:1px solid #e5ecef;padding:.6rem .75rem;font-size:.65rem}.signature-request-history>div{border-top:1px solid #edf1f3;justify-content:space-between;align-items:center;gap:.75rem;min-height:52px;padding:.55rem .75rem;display:flex}.signature-request-history>div:first-of-type{border-top:0}.signature-request-history small,.signature-request-history span,.signature-request-history strong{min-width:0;display:block}.signature-request-history strong{color:#263f4e;font-size:.7rem}.signature-request-history small{color:#81909a;font-size:.6rem}.signature-request-history em{color:#617580;background:#eef2f4;border-radius:999px;flex:none;padding:.25rem .5rem;font-size:.6rem;font-style:normal;font-weight:600}.signature-request-history em[data-status=SIGNED]{color:#167253;background:#e7f7f1}.signature-request-history em[data-status=DECLINED]{color:#aa3445;background:#fff0f1}.signature-request-footer{background:#f8fafb;border-top:1px solid #dfe6ea;flex:none;justify-content:flex-end;gap:.55rem;padding:.75rem;display:flex}@media (max-width:700px){.signature-request-dialog>article{height:100dvh;max-height:none}.signature-mode-grid,.signature-request-fields{grid-template-columns:1fr}.signature-mode-grid button{min-height:62px}.signature-request-body{flex:1;padding:.85rem}.signature-request-footer{padding-bottom:max(.75rem,env(safe-area-inset-bottom));grid-template-columns:1fr;display:grid}.signature-request-footer button{width:100%}.signature-share-result{grid-template-columns:24px minmax(0,1fr)}.signature-share-result button{grid-column:1/-1;width:100%}}.floating-ai-trigger{right:1rem;bottom:max(1rem,env(safe-area-inset-bottom));z-index:92;color:#fff;background:#081b2a;border:1px solid #21475b;border-radius:999px;align-items:center;gap:.5rem;height:48px;padding:0 .95rem;font-size:.72rem;font-weight:600;display:inline-flex;position:fixed;box-shadow:0 12px 34px #041c2b3d}.floating-ai-trigger:hover{background:#102c3d}.floating-ai-trigger.is-open{background:#f28b22;border-color:#c97c2c}.floating-ai-panel{right:1rem;bottom:calc(max(1rem, env(safe-area-inset-bottom)) + 58px);z-index:91;background:#fff;border:1px solid #cfdce2;border-radius:16px;flex-direction:column;width:min(390px,100vw - 2rem);height:min(610px,100dvh - 110px);animation:floating-ai-in .18s ease-out;display:flex;position:fixed;overflow:hidden;box-shadow:0 28px 80px #041e2d40}@keyframes floating-ai-in{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.floating-ai-panel>header{color:#fff;background:#092537;flex:none;justify-content:space-between;align-items:center;gap:.75rem;min-height:66px;padding:.75rem .85rem;display:flex}.floating-ai-panel>header>div{align-items:center;gap:.6rem;min-width:0;display:flex}.floating-ai-panel>header>div>span{background:#ffffff14;border:1px solid #ffffff24;border-radius:11px;flex:none;place-items:center;width:38px;height:38px;display:grid}.floating-ai-panel>header small,.floating-ai-panel>header strong{display:block}.floating-ai-panel>header strong{font-size:.8rem}.floating-ai-panel>header small{color:#b8cbd4;margin-top:.18rem;font-size:.58rem}.floating-ai-panel>header small i{background:#3bd39d;border-radius:50%;width:6px;height:6px;margin-right:.25rem;display:inline-block}.floating-ai-panel>header button{color:#c8d6dc;background:0 0;border:0;border-radius:9px;place-items:center;width:36px;height:36px;display:grid}.floating-ai-panel>header button:hover{color:#fff;background:#ffffff1a}.floating-ai-messages{overscroll-behavior:contain;scrollbar-width:thin;background:#f5f8f9;flex:1;padding:.9rem;overflow-y:auto}.floating-ai-messages article{white-space:pre-wrap;border-radius:11px;align-items:flex-start;gap:.35rem;width:fit-content;max-width:88%;margin-bottom:.65rem;padding:.65rem .75rem;font-size:.7rem;line-height:1.55;display:flex}.floating-ai-messages article[data-role=assistant]{color:#405865;background:#fff;border:1px solid #dce5e9;border-bottom-left-radius:4px}.floating-ai-messages article[data-role=assistant] svg{color:#e38426;flex:none;margin-top:.15rem}.floating-ai-messages article[data-role=user]{color:#fff;background:#0a4058;border-bottom-right-radius:4px;margin-left:auto}.floating-ai-messages .is-thinking{gap:.25rem;padding:.8rem}.floating-ai-messages .is-thinking span{background:#8ca0aa;border-radius:50%;width:6px;height:6px;animation:floating-ai-dot .9s ease-in-out infinite alternate}.floating-ai-messages .is-thinking span:nth-child(2){animation-delay:.15s}.floating-ai-messages .is-thinking span:nth-child(3){animation-delay:.3s}@keyframes floating-ai-dot{to{opacity:.25;transform:translateY(-3px)}}.floating-ai-error{color:#a63545;background:#fff2f3;border:1px solid #f2c8ce;border-radius:9px;align-items:flex-start;gap:.35rem;padding:.6rem;font-size:.65rem;line-height:1.5;display:flex}.floating-ai-error svg{flex:none}.floating-ai-prompts{scrollbar-width:none;background:#fff;border-top:1px solid #e1e8eb;flex:none;gap:.4rem;padding:.55rem .7rem;display:flex;overflow-x:auto}.floating-ai-prompts button{color:#4a626f;background:#f8fafb;border:1px solid #d5e0e5;border-radius:999px;min-width:max-content;min-height:32px;padding:0 .65rem;font-size:.62rem;font-weight:580}.floating-ai-prompts button:hover{background:#eff5f7;border-color:#9cb6c2}.floating-ai-voice{background:#fff;border-top:1px solid #e1e8eb;flex:none;justify-content:space-between;align-items:center;gap:.5rem;min-height:45px;padding:.42rem .7rem;display:flex}.floating-ai-voice>button{color:#375666;background:#f5f8f9;border:1px solid #cfdce2;border-radius:9px;align-items:center;gap:.4rem;min-height:34px;padding:0 .65rem;font-size:.63rem;font-weight:600;display:inline-flex}.floating-ai-voice.is-live>button{color:#aa3445;background:#fff1f2;border-color:#efb7bd}.floating-ai-voice>div{align-items:center;gap:3px;height:24px;display:flex}.floating-ai-voice>div i{background:#1b9b70;border-radius:3px;width:3px;height:7px;animation:floating-ai-wave .75s ease-in-out infinite alternate}.floating-ai-voice>div i:nth-child(2),.floating-ai-voice>div i:nth-child(4){animation-delay:.12s}.floating-ai-voice>div i:nth-child(3){animation-delay:.24s}@keyframes floating-ai-wave{to{height:21px}}.floating-ai-panel>footer{background:#fff;border-top:1px solid #e1e8eb;flex:none;grid-template-columns:minmax(0,1fr) 38px;align-items:end;gap:.4rem;padding:.6rem .7rem .35rem;display:grid}.floating-ai-panel>footer textarea{resize:none;color:#263f4e;border:1px solid #d2dee3;border-radius:10px;outline:none;min-height:40px;max-height:92px;padding:.62rem .7rem;font-size:.7rem}.floating-ai-panel>footer textarea:focus{border-color:#6e9bab;box-shadow:0 0 0 3px #e5f1f4}.floating-ai-panel>footer button{color:#fff;background:#0a4058;border:0;border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.floating-ai-panel>footer button:disabled{opacity:.35}.floating-ai-disclaimer{color:#8a979e;text-align:center;flex:none;padding:0 .75rem .55rem;font-size:.54rem}@media (max-width:560px){.floating-ai-trigger{right:.65rem;bottom:max(.65rem,env(safe-area-inset-bottom));justify-content:center;width:48px;padding:0}.floating-ai-trigger span{display:none}.floating-ai-panel{inset:max(.5rem,env(safe-area-inset-top)) .5rem calc(max(.65rem, env(safe-area-inset-bottom)) + 58px);border-radius:14px;width:auto;height:auto}}.document-record.is-context-selected>.document-grid-row{z-index:1;background:#f0f7fa;position:relative;box-shadow:inset 3px 0 #0b6b91,inset 0 0 0 1px #b9d6e0}.document-row-badges{flex-wrap:nowrap}.document-expand-button{color:#345265;background:linear-gradient(#fff,#f5f8fa);border:1px solid #c9d5dd;border-radius:10px;width:34px;height:34px;box-shadow:0 1px 2px #0726380f,inset 0 1px #fff}.document-expand-button[aria-expanded=true]{color:#075b7b;background:#e4f1f5;border-color:#73a6b9;box-shadow:inset 0 0 0 1px #0b6b9114}.document-expand-button svg{stroke-width:2.15px;width:16px;height:16px}.document-action-menu button.is-primary,.document-detail-actions button.is-primary{color:#075b7b;background:#edf6f9;border-color:#b8d2dd}.document-action-menu-document{background:#f8fafb;border-bottom:1px solid #e5eaee;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:.65rem;margin:-.1rem -.1rem .4rem;padding:.65rem;display:grid}.document-action-menu-icon{color:#075b7b;background:#eaf4f7;border:1px solid #c8dbe3;border-radius:9px;place-items:center;width:36px;height:36px;display:grid}.document-action-menu-document>span:nth-child(2){min-width:0}.document-action-menu-document small,.document-action-menu-document strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.document-action-menu-document strong{color:#142b3a;font-size:.78rem}.document-action-menu-document small{color:#6b7f8c;margin-top:.16rem;font-size:.66rem;font-weight:500}.document-action-menu.is-context-menu{transform-origin:0 0;max-height:calc(100dvh - 24px);overflow-y:auto;box-shadow:0 20px 55px #081e2c33,0 2px 8px #081e2c1a;z-index:240!important;width:320px!important;position:fixed!important;bottom:auto!important;right:auto!important}dialog.document-viewer-dialog{background:#e7edf0;border:1px solid #b9c9d2;border-radius:16px;width:min(96vw,1440px);height:min(94dvh,1040px);margin:auto;padding:0;position:fixed;inset:0;overflow:hidden;box-shadow:0 30px 100px #03141f57}dialog.document-viewer-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#05121e94}.document-viewer-dialog>article{flex-direction:column;height:100%;min-height:0;display:flex}.document-viewer-header{background:#fff;border-bottom:1px solid #d4dde2;justify-content:space-between;align-items:center;gap:1rem;min-height:72px;padding:.75rem 1rem;display:flex}.document-viewer-identity{align-items:center;gap:.75rem;min-width:0;display:flex}.document-viewer-identity>span{color:#075b7b;background:#eaf4f7;border-radius:11px;flex:none;place-items:center;width:42px;height:42px;display:grid}.document-viewer-identity div{min-width:0}.document-viewer-identity small{color:#70838f;text-transform:uppercase;letter-spacing:.05em;font-size:.65rem;font-weight:600;display:block}.document-viewer-identity strong{color:#142b3a;margin-top:.1rem;font-size:.96rem;display:block}.document-viewer-identity p{color:#607582;text-overflow:ellipsis;white-space:nowrap;margin-top:.1rem;font-size:.7rem;overflow:hidden}.document-viewer-actions{align-items:center;gap:.45rem;display:flex}.document-viewer-actions button{color:#405966;background:#fff;border:1px solid #d0dae0;border-radius:9px;justify-content:center;align-items:center;gap:.4rem;min-height:38px;padding:0 .75rem;font-size:.75rem;font-weight:580;display:inline-flex}.document-viewer-actions button:hover{color:#0b5b78;background:#f4f8fa;border-color:#9cb4bf}.document-viewer-actions button:last-child{width:38px;padding:0}.document-viewer-canvas{background:#dfe7eb;flex:1;min-height:0;padding:.85rem}.document-viewer-canvas iframe{background:#fff;border:0;border-radius:8px;width:100%;height:100%;display:block;box-shadow:0 10px 30px #09273724}@media (max-width:720px){.document-row-badges{flex-direction:column;align-items:flex-end}.document-action-menu.is-context-menu{top:auto!important;left:.5rem!important;right:.5rem!important;bottom:max(.5rem,env(safe-area-inset-bottom))!important;width:auto!important}dialog.document-viewer-dialog{border:0;border-radius:0;width:100vw;max-width:none;height:100dvh;max-height:none}.document-viewer-header{align-items:flex-start;padding:.7rem}.document-viewer-actions button:not(:last-child),.document-viewer-actions>span{display:none}.document-viewer-canvas{padding:.35rem}}.payment-document-summary{grid-template-columns:.8fr 1.35fr 1fr}.payment-workspace{grid-template-columns:minmax(0,1fr) 230px;align-items:start;gap:1rem;display:grid}.payment-workspace-main{gap:1rem;min-width:0;display:grid}.payment-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.payment-side-panel{background:linear-gradient(160deg,#f4f9fb,#fff 70%);border:1px solid #cbdbe3;border-radius:14px;gap:.8rem;padding:1rem;display:grid;position:sticky;top:0;box-shadow:0 8px 24px #07364d12}.payment-side-label{color:#647783;letter-spacing:.045em;text-transform:uppercase;font-size:.68rem;font-weight:600}.payment-side-amount{color:#07364d;font-variant-numeric:tabular-nums;font-size:1.35rem;line-height:1.1}.payment-quick-amounts{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;display:grid}.payment-quick-amounts button{color:#365565;background:#fff;border:1px solid #cbd9e0;border-radius:8px;min-height:32px;font-size:.64rem;font-weight:600;transition:border-color .15s,background-color .15s,transform .15s}.payment-quick-amounts button:hover{background:#edf6f9;border-color:#78a7ba;transform:translateY(-1px)}.payment-side-panel .payment-balance-preview{grid-template-columns:1fr;gap:.22rem}.payment-side-panel .payment-balance-preview strong{grid-row:auto;font-size:1.1rem}.payment-due-note{border-top:1px solid #dce6ea;padding-top:.75rem}.payment-due-note span,.payment-due-note strong{display:block}.payment-due-note span{color:#73848e;font-size:.64rem}.payment-due-note strong{color:#2f4857;margin-top:.18rem;font-size:.75rem}.document-modal{max-width:1080px}.document-lines-head,.document-lines-head th,.document-lines-head tr{color:#fff!important;background:#102f4a!important}@media (max-width:760px){.payment-document-summary,.payment-workspace{grid-template-columns:1fr}.payment-side-panel{grid-row:1;position:static}.payment-fields-grid{grid-template-columns:1fr}.payment-fields-grid .sm\:col-span-2{grid-column:auto}}.planning-page{background:#f4f7f9;gap:.85rem;display:grid}.planning-hero{color:#fff;background:linear-gradient(118deg,#05283c,#0b4057 72%,#7a431d 140%);border:1px solid #173f55;border-radius:15px;justify-content:space-between;align-items:center;gap:1rem;min-height:76px;padding:.9rem 1rem;display:flex;overflow:hidden;box-shadow:0 12px 30px #031f331f}.planning-hero>div{align-items:center;gap:.75rem;min-width:0;display:flex}.planning-hero>div:first-child>span{color:#ffb15b;background:#ffffff14;border:1px solid #ffffff24;border-radius:12px;flex:none;place-items:center;width:42px;height:42px;display:grid}.planning-hero h1{letter-spacing:-.012em;font-size:1rem;font-weight:600}.planning-hero p{color:#b9cad3;text-overflow:ellipsis;white-space:nowrap;margin-top:.16rem;font-size:.68rem;overflow:hidden}.planning-hero .secondary-action{color:#fff;background:#ffffff12;border-color:#ffffff2e}.planning-hero .secondary-action:hover{background:#ffffff21}.planning-kpis{background:#fff;border:1px solid #d8e2e7;border-radius:13px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden;box-shadow:0 5px 18px #07283909}.planning-kpis article{border-right:1px solid #e8eef1;min-width:0;min-height:84px;padding:.75rem .9rem}.planning-kpis article:last-child{border-right:0}.planning-kpis small,.planning-kpis span,.planning-kpis strong{display:block}.planning-kpis>article>span{color:#6b7e89;letter-spacing:.045em;text-transform:uppercase;font-size:.62rem;font-weight:600}.planning-kpis>article>strong{color:#102b3b;font-variant-numeric:tabular-nums;margin-top:.28rem;font-size:1.28rem;font-weight:600}.planning-kpis small{color:#91a0a9;margin-top:.14rem;font-size:.59rem}.planning-kpis article.is-danger strong{color:#bd3044}.planning-kpis article>i{background:#e9eff2;border-radius:99px;height:5px;margin-top:.38rem;display:block;overflow:hidden}.planning-kpis article>i b{border-radius:inherit;background:#15936b;height:100%;display:block}.planning-avatar-stack{align-items:center;min-height:32px;margin-top:.28rem;padding-left:.25rem;display:flex}.planning-avatar-stack>*{margin-left:-.25rem;box-shadow:0 0 0 2px #fff}.planning-avatar-stack em{color:#506875;background:#e7eef2;border-radius:999px;place-items:center;width:30px;height:30px;font-size:.62rem;font-style:normal;font-weight:600;display:grid}.planning-toolbar{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.planning-toolbar>label{width:min(430px,100%);position:relative}.planning-toolbar>label svg{color:#84949d;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.planning-toolbar>label input{color:#203b4a;background:#fff;border:1px solid #d1dde3;border-radius:10px;outline:none;width:100%;height:40px;padding:0 .8rem 0 2.35rem;font-size:.72rem}.planning-toolbar>label input:focus{border-color:#6f9fae;box-shadow:0 0 0 3px #e4f0f4}.planning-toolbar>div{background:#fff;border:1px solid #d5dfe4;border-radius:10px;flex:none;gap:.2rem;padding:.2rem;display:flex}.planning-toolbar>div button{color:#657783;border-radius:7px;align-items:center;gap:.38rem;height:34px;padding:0 .65rem;font-size:.68rem;font-weight:580;display:inline-flex}.planning-toolbar>div button[aria-selected=true]{color:#075b7b;background:#eaf3f6;box-shadow:inset 0 0 0 1px #c7dce4}.planning-error{color:#a52f40;background:#fff1f3;border:1px solid #f3cbd1;border-radius:10px;padding:.7rem .8rem;font-size:.72rem;font-weight:600}.planning-board{grid-template-columns:repeat(5,minmax(255px,1fr));gap:.7rem;padding-bottom:.35rem;display:grid;overflow-x:auto}.planning-column{background:#edf2f5;border:1px solid #d9e3e8;border-radius:13px;min-height:430px;overflow:hidden}.planning-column>header{background:#ffffffc7;border-bottom:1px solid #dbe4e8;grid-template-columns:minmax(0,1fr) auto 30px;align-items:center;gap:.45rem;min-height:48px;padding:.55rem .6rem .55rem .75rem;display:grid}.planning-column>header>span{color:#324d5b;align-items:center;gap:.45rem;min-width:0;font-size:.7rem;font-weight:600;display:flex}.planning-column>header>span i{background:#81919b;border-radius:3px;flex:none;width:8px;height:8px}.planning-column.is-blue>header>span i{background:#3182a6}.planning-column.is-orange>header>span i{background:#de791e}.planning-column.is-violet>header>span i{background:#8067b7}.planning-column.is-green>header>span i{background:#20906b}.planning-column>header>b{color:#667985;background:#e6edf0;border-radius:7px;place-items:center;min-width:24px;height:24px;font-size:.63rem;display:grid}.planning-column>header>button{color:#5f7480;border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.planning-column>header>button:hover{color:#075b7b;background:#e4eef2}.planning-column>div{align-content:start;gap:.55rem;padding:.6rem;display:grid}.planning-column-empty{color:#71848f;background:#ffffff73;border:1px dashed #c6d2d8;border-radius:10px;justify-content:center;align-items:center;gap:.35rem;min-height:48px;font-size:.67rem;font-weight:580;display:flex}.planning-column-empty:hover{color:#075b7b;background:#fff;border-color:#84aab9}.planning-card{cursor:grab;background:#fff;border:1px solid #d4dee3;border-radius:11px;padding:.68rem;transition:border-color .15s,box-shadow .15s,transform .15s;overflow:hidden;box-shadow:0 3px 10px #092d3e0b}.planning-card:hover{border-color:#aec4ce;transform:translateY(-1px);box-shadow:0 8px 22px #092d3e17}.planning-card:active{cursor:grabbing}.planning-card[data-priority=URGENT]{border-left:3px solid #d83b50}.planning-card[data-priority=HIGH]{border-left:3px solid #e58224}.planning-card>header{color:#9aa7af;align-items:center;gap:.35rem;display:flex}.planning-card>header>span:last-child{display:flex}.planning-card>header button{color:#8998a1;border-radius:7px;place-items:center;width:26px;height:26px;display:grid}.planning-card>header button:hover{color:#345565;background:#eff4f6}.planning-card-title{color:#17313f;text-align:left;width:100%;margin-top:.48rem;font-size:.74rem;font-weight:600;line-height:1.42;display:block}.planning-card>p{color:#6b7d87;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.28rem;font-size:.62rem;line-height:1.5;display:-webkit-box;overflow:hidden}.planning-card-tags{flex-wrap:wrap;gap:.3rem;margin-top:.58rem;display:flex}.planning-card-tags a,.planning-card-tags span{color:#58707d;text-overflow:ellipsis;white-space:nowrap;background:#eff4f6;border-radius:7px;align-items:center;gap:.25rem;max-width:100%;min-height:25px;padding:0 .42rem;font-size:.57rem;font-weight:580;display:inline-flex;overflow:hidden}.planning-card-tags a{color:#37618d;background:#eef4fb}.planning-card>footer{border-top:1px solid #eef2f4;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.65rem;padding-top:.55rem;display:flex}.planning-card>footer>span:first-child{color:#758791;align-items:center;gap:.25rem;font-size:.59rem;font-weight:600;display:flex}.planning-unassigned{color:#91a0a8;border:1px dashed #bdcad0;border-radius:99px;place-items:center;width:24px;height:24px;display:grid}.planning-calendar{background:#fff;border:1px solid #d6e0e5;border-radius:13px;overflow:hidden}.planning-calendar>div,.planning-calendar>header{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.planning-calendar>header{background:#f2f6f8;border-bottom:1px solid #dfe7eb}.planning-calendar>header span{color:#637783;text-align:center;text-transform:uppercase;padding:.6rem;font-size:.62rem;font-weight:600}.planning-calendar>div>article{border-bottom:1px solid #e6ecef;border-right:1px solid #e6ecef;min-width:0;min-height:112px;padding:.42rem}.planning-calendar>div>article:nth-child(7n){border-right:0}.planning-calendar article.is-outside{opacity:.55;background:#f8fafb}.planning-calendar article.is-today{background:#f1f8fa;box-shadow:inset 0 0 0 1px #8eb8c7}.planning-calendar time{color:#637783;border-radius:7px;place-items:center;width:24px;height:24px;font-size:.65rem;font-weight:600;display:grid}.planning-calendar .is-today time{color:#fff;background:#075b7b}.planning-calendar article button{color:#234959;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:#eaf4f7;border-left:3px solid #347e9e;border-radius:5px;width:100%;margin-top:.25rem;padding:.28rem .35rem;font-size:.57rem;font-weight:580;display:block;overflow:hidden}.planning-calendar article button[data-status=DONE]{color:#286b55;background:#edf8f4;border-color:#24906d}.planning-calendar article small{color:#87969e;margin-top:.22rem;font-size:.55rem;display:block}.planning-timeline{background:#fff;border:1px solid #d7e1e6;border-radius:13px;overflow:hidden}.planning-timeline>article,.planning-timeline>header{grid-template-columns:minmax(280px,1fr) 100px 100px 180px;align-items:center;gap:.7rem;padding:.65rem .85rem;display:grid}.planning-timeline>header{color:#687a85;letter-spacing:.045em;text-transform:uppercase;background:#f2f6f8;border-bottom:1px solid #dfe7eb;font-size:.6rem;font-weight:600}.planning-timeline>article{cursor:pointer;border-bottom:1px solid #edf1f3;min-height:68px}.planning-timeline>article:last-child{border-bottom:0}.planning-timeline>article:hover{background:#f8fafb}.planning-timeline article>div:first-child{grid-template-columns:auto minmax(0,1fr);gap:.18rem .5rem;min-width:0;display:grid}.planning-timeline article>div:first-child>span{grid-row:span 2;align-self:center}.planning-timeline article small,.planning-timeline article strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.planning-timeline article strong{color:#213a48;font-size:.71rem}.planning-timeline article small,.planning-timeline time{color:#72848f;font-size:.61rem}.planning-progress{grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:.5rem;display:grid}.planning-progress i{background:#e9eff2;border-radius:99px;height:7px;overflow:hidden}.planning-progress i b{border-radius:inherit;background:linear-gradient(90deg,#2781a4,#23a078);height:100%;display:block}.planning-progress span{color:#536a77;font-size:.61rem;font-weight:600}.planning-loading{background:#fffc;border:1px solid #d8e2e7;border-radius:13px;justify-content:center;align-items:center;gap:.3rem;min-height:220px;display:flex}.planning-loading span{background:#568da4;border-radius:99px;width:7px;height:7px;animation:floating-ai-dot .9s infinite alternate}.planning-loading span:nth-child(2){animation-delay:.15s}.planning-loading span:nth-child(3){animation-delay:.3s}.planning-loading p{color:#637783;margin-left:.4rem;font-size:.68rem}.planning-editor-dialog>form{flex-direction:column;max-height:calc(100dvh - 2rem);display:flex;overflow:hidden}.planning-editor-body{scrollbar-gutter:stable;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;min-height:0;padding:1rem;display:grid;overflow-y:auto}.planning-range{border:1px solid #d4dfe5;border-radius:9px;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:.65rem;min-height:40px;padding:0 .75rem;display:grid}.planning-range input{accent-color:#0b6b91}.planning-range strong{color:#365563;text-align:right;font-size:.7rem}.planning-meeting{background:#f2f8fa;border:1px solid #cfe0e7;border-radius:11px;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem;display:flex}.planning-meeting>div{color:#0b6b91;align-items:center;gap:.6rem;min-width:0;display:flex}.planning-meeting small,.planning-meeting span,.planning-meeting strong{min-width:0;display:block}.planning-meeting strong{color:#25424f;font-size:.72rem}.planning-meeting small{color:#71838d;margin-top:.12rem;font-size:.59rem}@media (max-width:760px){.planning-page{padding:.7rem}.planning-hero{flex-direction:column;align-items:stretch}.planning-hero p{white-space:normal;line-height:1.45;overflow:visible}.planning-hero>div:last-child{grid-template-columns:1fr 1fr;display:grid}.planning-hero button{justify-content:center}.planning-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-kpis article:nth-child(2){border-right:0}.planning-kpis article:nth-child(-n+2){border-bottom:1px solid #e8eef1}.planning-toolbar{flex-direction:column;align-items:stretch}.planning-toolbar>label{width:100%}.planning-toolbar>div{overflow-x:auto}.planning-toolbar>div button{white-space:nowrap;flex:1;justify-content:center}.planning-board{grid-template-columns:repeat(5,270px)}.planning-calendar{overflow-x:auto}.planning-calendar>div,.planning-calendar>header{min-width:760px}.planning-timeline{overflow-x:auto}.planning-timeline>article,.planning-timeline>header{min-width:760px}dialog.planning-editor-dialog{border:0!important;border-radius:0!important;width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important}.planning-editor-dialog>form{height:100dvh;max-height:none}.planning-editor-body{flex:1;grid-template-columns:1fr}.planning-editor-body .sm\:col-span-2{grid-column:auto}.planning-meeting{flex-direction:column;align-items:stretch}}.floating-team-trigger{right:1rem;bottom:calc(max(1rem, env(safe-area-inset-bottom)) + 58px);z-index:93;color:#17475c;background:#fff;border:1px solid #c9d8df;border-radius:999px;align-items:center;gap:.42rem;height:42px;padding:0 .75rem;font-size:.66rem;font-weight:600;display:inline-flex;position:fixed;box-shadow:0 9px 28px #041e2d29}.floating-team-trigger.is-open,.floating-team-trigger:hover{color:#075b7b;background:#eaf4f7;border-color:#73a4b6}.floating-team-panel{right:1rem;bottom:calc(max(1rem, env(safe-area-inset-bottom)) + 108px);z-index:94;background:#fff;border:1px solid #cbd9df;border-radius:16px;flex-direction:column;width:min(700px,100vw - 2rem);height:min(540px,100dvh - 130px);animation:floating-ai-in .18s ease-out;display:flex;position:fixed;overflow:hidden;box-shadow:0 28px 80px #041e2d40}.floating-team-panel>header{color:#fff;background:#092537;flex:none;justify-content:space-between;align-items:center;min-height:62px;padding:.7rem .8rem;display:flex}.floating-team-panel>header>div{align-items:center;gap:.55rem;display:flex}.floating-team-panel>header small,.floating-team-panel>header span,.floating-team-panel>header strong{display:block}.floating-team-panel>header strong{font-size:.77rem}.floating-team-panel>header small{color:#afc3cd;margin-top:.12rem;font-size:.57rem}.floating-team-panel>header button{color:#c4d3da;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.floating-team-panel>header button:hover{color:#fff;background:#ffffff1a}.floating-team-layout{flex:1;grid-template-columns:210px minmax(0,1fr);min-height:0;display:grid}.floating-team-layout>aside{background:#f7f9fa;border-right:1px solid #e0e7ea;min-height:0;padding:.55rem;overflow-y:auto}.floating-team-layout>aside>label{margin-bottom:.45rem;display:block;position:relative}.floating-team-layout>aside>label svg{color:#8b9aa2;position:absolute;top:50%;left:.55rem;transform:translateY(-50%)}.floating-team-layout>aside input{background:#fff;border:1px solid #d5dfe4;border-radius:8px;outline:none;width:100%;height:34px;padding:0 .55rem 0 1.8rem;font-size:.63rem}.floating-team-layout>aside>button{text-align:left;border-radius:9px;align-items:center;gap:.5rem;width:100%;min-width:0;padding:.5rem;display:flex}.floating-team-layout>aside>button.is-active,.floating-team-layout>aside>button:hover{background:#e8f1f4}.floating-team-layout>aside>button small,.floating-team-layout>aside>button span,.floating-team-layout>aside>button strong{min-width:0;display:block}.floating-team-layout>aside>button span{overflow:hidden}.floating-team-layout>aside>button small,.floating-team-layout>aside>button strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.floating-team-layout>aside>button strong{color:#2b4654;font-size:.64rem}.floating-team-layout>aside>button small{color:#819099;margin-top:.1rem;font-size:.52rem}.floating-team-layout>main{flex-direction:column;min-width:0;min-height:0;display:flex}.floating-team-layout>main>header{border-bottom:1px solid #e4eaed;flex:none;align-items:center;gap:.5rem;min-height:54px;padding:.55rem .7rem;display:flex}.floating-team-layout>main>header small,.floating-team-layout>main>header span,.floating-team-layout>main>header strong{min-width:0;display:block}.floating-team-layout>main>header strong{color:#263f4e;font-size:.67rem}.floating-team-layout>main>header small{color:#829098;margin-top:.1rem;font-size:.54rem}.floating-team-messages{background:#f5f8f9;flex:1;min-height:0;padding:.75rem;overflow-y:auto}.floating-team-messages article{color:#405865;background:#fff;border:1px solid #dce5e9;border-radius:10px 10px 10px 3px;width:fit-content;max-width:82%;margin-bottom:.45rem;padding:.48rem .58rem;font-size:.64rem;line-height:1.45}.floating-team-messages article[data-mine=true]{color:#fff;background:#0a4058;border-color:#0a4058;border-radius:10px 10px 3px;margin-left:auto}.floating-team-messages time{opacity:.58;text-align:right;margin-top:.18rem;font-size:.49rem;display:block}.floating-team-empty{color:#86959d;text-align:center;flex:1;place-content:center;justify-items:center;gap:.4rem;min-height:0;padding:1rem;display:grid}.floating-team-empty p{max-width:250px;font-size:.63rem;line-height:1.5}.floating-team-layout>main>footer{border-top:1px solid #e1e8eb;flex:none;grid-template-columns:34px minmax(0,1fr) 36px;align-items:end;gap:.35rem;padding:.5rem;display:grid}.floating-team-layout>main>footer textarea{resize:none;color:#2d4653;border:1px solid #d2dee3;border-radius:9px;outline:none;min-height:36px;max-height:80px;padding:.55rem .6rem;font-size:.64rem}.floating-team-layout>main>footer button{color:#617984;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.floating-team-layout>main>footer button:last-child{color:#fff;background:#0a4058;width:36px;height:36px}.floating-team-layout>main>footer button:disabled{opacity:.35}@media (max-width:620px){.floating-team-trigger{right:.65rem;bottom:calc(max(.65rem, env(safe-area-inset-bottom)) + 58px);justify-content:center;width:44px;padding:0}.floating-team-trigger span{display:none}.floating-team-panel{inset:max(.5rem,env(safe-area-inset-top)) .5rem calc(max(.65rem, env(safe-area-inset-bottom)) + 108px);width:auto;height:auto}.floating-team-layout{grid-template-columns:72px minmax(0,1fr)}.floating-team-layout>aside>label{display:none}.floating-team-layout>aside>button{justify-content:center;padding:.45rem}.floating-team-layout>aside>button>span{display:none}}.planning-meet-page{background:#071722;flex-direction:column;width:100%;height:calc(100dvh - 72px);display:flex;overflow:hidden}.planning-meet-page>header{color:#fff;background:#092537;border-bottom:1px solid #ffffff17;flex:none;justify-content:space-between;align-items:center;gap:1rem;min-height:58px;padding:.55rem .8rem;display:flex}.planning-meet-page>header>div,.planning-meet-page>header>div>span,.planning-meet-page>header>span{align-items:center;gap:.5rem;display:flex}.planning-meet-page>header a{color:#c5d5dc;border-radius:9px;place-items:center;width:36px;height:36px;display:grid}.planning-meet-page>header a:hover{color:#fff;background:#ffffff1a}.planning-meet-page>header h1{margin:0;font-size:.75rem;font-weight:600}.planning-meet-page>header>span{color:#afc1c9;font-size:.58rem}.planning-meet-page>iframe{background:#0a1520;border:0;flex:1;width:100%;min-height:0}@media (max-width:640px){.planning-meet-page>header>span{display:none}}.floating-ai-panel{border-radius:20px;width:min(430px,100vw - 2rem);height:min(680px,100dvh - 110px)}.floating-ai-panel>header{background:linear-gradient(120deg,#071f31,#0b3a4f);min-height:70px}.floating-ai-panel>header>div>span{color:#ffad54;background:linear-gradient(145deg,#ffffff1f,#ffffff0a);border-radius:13px}.floating-ai-messages article>div{min-width:0}.floating-ai-message-file{color:#356173;text-overflow:ellipsis;white-space:nowrap;background:#0b5b7817;border-radius:7px;align-items:center;gap:.25rem;max-width:100%;margin-bottom:.35rem;padding:.25rem .38rem;font-size:.56rem;font-weight:600;display:inline-flex;overflow:hidden}.floating-ai-messages article[data-role=user] .floating-ai-message-file{color:#e6f2f6;background:#ffffff24}.floating-ai-live{background:#f4f9fa;border-bottom:1px solid #dce6ea;flex-direction:column;flex:none;max-height:230px;display:flex;overflow:hidden}.floating-ai-live>header{border-bottom:1px solid #dfebee;flex:none;justify-content:space-between;align-items:center;gap:.5rem;min-height:54px;padding:.5rem .7rem;display:flex}.floating-ai-live>header>div{align-items:center;gap:.48rem;min-width:0;display:flex}.floating-ai-live>header>div>i{background:#e35362;border-radius:99px;flex:none;width:9px;height:9px;animation:live-pulse 1.6s infinite;box-shadow:0 0 0 5px #e353621a}.floating-ai-live>header small,.floating-ai-live>header span,.floating-ai-live>header strong{min-width:0;display:block}.floating-ai-live>header strong{color:#203c4a;font-size:.66rem}.floating-ai-live>header small{color:#7b8e98;margin-top:.1rem;font-size:.53rem}.floating-ai-live>header button{color:#ad3445;background:#fff3f4;border:1px solid #efc9ce;border-radius:8px;flex:none;align-items:center;gap:.3rem;min-height:32px;padding:0 .55rem;font-size:.57rem;font-weight:600;display:inline-flex}.floating-ai-live>div{min-height:0;padding:.55rem .7rem;overflow-y:auto}.floating-ai-live article{grid-template-columns:46px minmax(0,1fr);gap:.4rem;margin-bottom:.38rem;display:grid}.floating-ai-live article span{color:#6a7f8a;font-size:.55rem;font-weight:600}.floating-ai-live article[data-role=assistant] span{color:#c56817}.floating-ai-live article p{color:#334e5c;font-size:.62rem;line-height:1.45}.floating-ai-listening{color:#788b95;text-align:center;padding:.9rem;font-size:.61rem}.floating-ai-attachment{color:#476674;background:#f4f8fa;border-top:1px solid #dce6ea;flex:none;grid-template-columns:30px minmax(0,1fr) 30px;align-items:center;gap:.45rem;padding:.45rem .65rem;display:grid}.floating-ai-attachment>svg{color:#0b6b91;justify-self:center}.floating-ai-attachment small,.floating-ai-attachment span,.floating-ai-attachment strong{min-width:0;display:block}.floating-ai-attachment strong{color:#304d5b;text-overflow:ellipsis;white-space:nowrap;font-size:.61rem;overflow:hidden}.floating-ai-attachment small{color:#87969e;margin-top:.08rem;font-size:.51rem}.floating-ai-attachment button{color:#84949c;border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.floating-ai-attachment button:hover{color:#b53547;background:#fff0f2}.floating-ai-panel>footer{grid-template-columns:38px minmax(0,1fr) 38px;padding:.6rem .7rem .4rem}.floating-ai-panel>footer .floating-ai-attach-button{color:#536f7b;background:#f5f8f9;border:1px solid #d3dfe4}.floating-ai-panel>footer .floating-ai-attach-button:hover{color:#075b7b;background:#ebf4f7;border-color:#91b0bc}.floating-ai-panel>footer .floating-ai-attach-button.is-recording{color:#dc2626;background:#fff1f2;border-color:#fca5a5;animation:voice-memo-pulse 1.15s ease-in-out infinite}@keyframes voice-memo-pulse{50%{box-shadow:0 0 0 5px #ef44441f}}.floating-ai-panel>footer>button:last-child{transition:background-color .15s,transform .15s,box-shadow .15s}.floating-ai-panel>footer>button:last-child:not(:disabled):hover{background:#0d5874;transform:translateY(-1px);box-shadow:0 5px 12px #09405833}@media (max-width:560px){.floating-ai-panel{inset:max(.5rem,env(safe-area-inset-top)) .5rem calc(max(.65rem, env(safe-area-inset-bottom)) + 58px);border-radius:16px;width:auto;height:auto}}.danger-action,.icon-button,.primary-action,.secondary-action{transition:border-color .15s,background-color .15s,color .15s,box-shadow .15s!important;transform:none!important}.primary-action{background:#ee8427;border-color:#d86f12;box-shadow:0 2px 5px #b8520029,inset 0 1px #fff3}.primary-action:hover:not(:disabled){background:#da7014;border-color:#c55d06;box-shadow:0 4px 10px #b8520033,inset 0 1px #ffffff2e;transform:none!important}.primary-action:active:not(:disabled){box-shadow:inset 0 2px 4px #752e002e}.icon-button:hover:not(:disabled),.secondary-action:hover:not(:disabled){box-shadow:0 2px 6px #0f172a0f;transform:none!important}.dashboard-flow-chart{color:#0b6b91;margin-top:1rem}.dashboard-flow-chart.is-receipts{color:#15936b}.dashboard-flow-chart.is-expenses{color:#c84a5b}.dashboard-flow-chart.is-net{color:#7457b3}.dashboard-flow-chart>svg{width:100%;height:270px;display:block;overflow:visible}.dashboard-flow-gridline{stroke:#e8eef1;stroke-width:1px;vector-effect:non-scaling-stroke}.dashboard-flow-baseline{stroke:#b8c7ce;stroke-width:1px;stroke-dasharray:4 5;vector-effect:non-scaling-stroke}.dashboard-flow-line{fill:none;stroke:currentColor;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 4px 5px #0b6b911f)}.dashboard-flow-point{fill:#fff;stroke:currentColor;stroke-width:2.5px;vector-effect:non-scaling-stroke;transition:r .15s,fill .15s}.dashboard-flow-point:hover{r:6px;fill:currentColor}.dashboard-flow-chart>div{grid-template-columns:repeat(12,minmax(0,1fr));margin-top:-.15rem;display:grid}.dashboard-flow-chart small{color:#81919a;text-align:center;text-overflow:ellipsis;white-space:nowrap;text-transform:capitalize;font-size:.56rem;font-weight:600;overflow:hidden}@media (max-width:639px){.dashboard-flow-chart>svg{height:220px}.dashboard-flow-chart small:nth-child(-n+6){display:none}.dashboard-flow-chart>div{grid-template-columns:repeat(6,minmax(0,1fr))}}.document-create-action,.document-new-action,.document-scan-action{height:38px;min-height:38px;box-shadow:none;border-radius:8px;justify-content:center;align-items:center;gap:.45rem;padding-inline:.8rem;font-size:.74rem;font-weight:600;line-height:1.1;transition:border-color .15s,background-color .15s,color .15s,box-shadow .15s;display:inline-flex;position:relative;transform:none!important}.document-create-action,.document-new-action{color:#fbfdf8;background:#83a83d;border:1px solid #759637}.document-create-action:hover:not(:disabled),.document-new-action:hover:not(:disabled){background:#759637;border-color:#6d8d32;box-shadow:0 0 0 3px #83a83d21;transform:none!important}.document-scan-action{color:#f8fbfc;background:#17384a;border:1px solid #17384a}.document-scan-action:hover:not(:disabled){background:#0f2f40;border-color:#0f2f40;box-shadow:0 0 0 3px #17384a1a;transform:none!important}.document-create-action:before,.document-new-action:before,.document-scan-action:before{display:none!important}.document-list-actions{gap:.5rem}.document-payment-summary{gap:.55rem}.document-payment-summary article{min-height:96px;box-shadow:none;border-radius:11px;padding:.8rem .9rem}.document-payment-summary article strong{margin-top:.4rem;font-size:1.45rem}.document-payment-summary article small{margin-top:.35rem;font-size:.7rem}.document-payment-summary article>svg{width:46px;height:46px}.document-expand-button,.document-expand-button:hover{color:#526b79;width:36px;height:36px;box-shadow:none;background:0 0;border:1px solid #0000;border-radius:9px;transform:none!important}.document-expand-button:hover{color:#173f52;background:#f1f6f8;border-color:#d5e0e5}.document-expand-button[aria-expanded=true]{color:#65862d;box-shadow:none;background:#f2f6e9;border-color:#cfddba}.document-expand-button svg{stroke-width:2.35px;width:20px;height:20px;transition:transform .16s cubic-bezier(.16,1,.3,1)}.quick-party-form{background:#f7fafb;border-bottom:1px solid #dfe7eb}.quick-party-form-intro{background:#f1f6e9;border-bottom:1px solid #e3eaed;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.quick-party-form-intro small,.quick-party-form-intro strong{display:block}.quick-party-form-intro strong{color:#36511d;font-size:.78rem}.quick-party-form-intro small{color:#68765f;margin-top:.16rem;font-size:.67rem}.quick-party-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;padding:1rem;display:grid}.quick-party-form-actions{background:#fbfdfe;border-top:1px solid #e3eaed;justify-content:flex-end;gap:.5rem;padding:.7rem 1rem;display:flex}.product-combobox-panel{max-height:360px}.combobox-group-label{color:#75858e;letter-spacing:.055em;text-transform:uppercase;padding:.45rem .65rem .3rem;font-size:.61rem;font-weight:600}.combobox-option.is-recent{background:#f7faef}.combobox-option.is-recent:hover{background:#eff5e2}.line-discount-note{color:#96701c;margin-top:.18rem;font-size:.62rem;font-weight:600;display:block}.document-line-inline-edit{background:#f5f8ee!important}.document-line-inline-edit>td{vertical-align:top;padding:.55rem .4rem!important}.document-line-inline-edit .field-input,.document-line-inline-edit .field-select{min-width:0;height:36px;padding-inline:.55rem;font-size:.72rem}.inline-line-discount{color:#6c7880;grid-template-columns:auto minmax(48px,70px) auto;align-items:center;gap:.35rem;margin-top:.35rem;font-size:.62rem;display:grid}.inline-line-discount input{text-align:right;background:#fbfdfe;border:1px solid #ccd8de;border-radius:6px;outline:none;min-width:0;height:28px;padding-inline:.4rem}.line-action.is-confirm{color:#64842f;background:#f1f6e8;border-color:#cbdcab}.mobile-line-inline-edit{background:#f5f8ee;padding:.8rem}.mobile-line-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.mobile-line-edit-actions{grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.75rem;display:grid}.document-viewer-workspace{flex:1;grid-template-columns:minmax(230px,280px) minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.document-viewer-summary{background:#f8fbfc;border-right:1px solid #d5e0e5;flex-direction:column;min-width:0;display:flex}.document-viewer-summary>header{border-bottom:1px solid #e0e7ea;justify-content:space-between;align-items:center;gap:.5rem;min-height:50px;padding:.7rem .8rem;display:flex}.document-viewer-summary>header span{color:#193c4e;align-items:center;gap:.4rem;font-size:.76rem;font-weight:600;display:inline-flex}.document-viewer-summary>header small{color:#819099;font-size:.61rem}.document-viewer-summary dl{display:grid}.document-viewer-summary dl>div{border-bottom:1px solid #e7edef;grid-template-columns:minmax(74px,.8fr) minmax(0,1.2fr);align-items:center;gap:.5rem;padding:.7rem .8rem;display:grid}.document-viewer-summary dt{color:#75858e;font-size:.65rem;font-weight:580}.document-viewer-summary dd{overflow-wrap:anywhere;color:#203d4d;text-align:right;font-variant-numeric:tabular-nums;min-width:0;font-size:.7rem;font-weight:600}.document-viewer-summary dl>div.is-total{background:#f2f6e9}.document-viewer-summary dl>div.is-total dd,.document-viewer-summary dl>div.is-total dt{color:#587829}.document-viewer-summary-actions{grid-template-columns:1fr;gap:.45rem;padding:.8rem;display:grid}.document-viewer-summary-actions button{color:#385564;background:#fbfdfe;border:1px solid #cdd9df;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;min-height:38px;font-size:.7rem;font-weight:600;display:inline-flex}.document-viewer-summary-actions button:hover{background:#eff5f7;border-color:#9db3bd}.document-viewer-summary>p{color:#74848d;border-top:1px solid #dde6e9;margin:auto .8rem .8rem;padding-top:.7rem;font-size:.63rem;line-height:1.5}.document-viewer-workspace .document-viewer-canvas{min-width:0;min-height:0;padding:.75rem}.signing-layout{grid-template-columns:minmax(0,1.4fr) minmax(390px,.9fr)}.signing-panel{gap:.85rem}.signing-canvas-stage{position:relative}.signature-canvas{background-color:#fbfdfb;background-image:linear-gradient(#83a83d1a 1px,#0000 0),linear-gradient(90deg,#83a83d1a 1px,#0000 0);background-size:28px 28px;border:1px solid #9eb2bc;border-radius:10px;height:300px;box-shadow:inset 0 0 0 4px #83a83d0a}.signing-canvas-stage>span{pointer-events:none;color:#84938b;place-content:center;justify-items:center;gap:.45rem;font-size:.72rem;font-weight:600;display:grid;position:absolute;inset:0}.signing-canvas-stage>span svg{color:#83a83d}.dashboard-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.dashboard-stat-card{--stat-accent:#27647a;--stat-surface:#f1f7f9;--stat-border:#cfe0e6;border:1px solid var(--stat-border);background:var(--stat-surface);min-height:136px;box-shadow:none;border-radius:11px;padding:.8rem;transform:none!important}.dashboard-stat-card:before{display:none}.dashboard-stat-card.is-blue{--stat-accent:#27647a;--stat-surface:#f1f7f9;--stat-border:#cfe0e6}.dashboard-stat-card.is-green{--stat-accent:#6f9133;--stat-surface:#f4f8ec;--stat-border:#d8e4c2}.dashboard-stat-card.is-orange{--stat-accent:#c96b25;--stat-surface:#fff6ed;--stat-border:#f0dbc8}.dashboard-stat-card.is-red{--stat-accent:#bd4650;--stat-surface:#fff2f3;--stat-border:#efcfd3}.dashboard-stat-card.is-slate{--stat-accent:#657784;--stat-surface:#f3f6f7;--stat-border:#d9e1e5}.dashboard-stat-card>header>span:first-child{color:#546975;letter-spacing:0;text-transform:none;white-space:normal;font-size:.67rem;font-weight:600}.dashboard-stat-icon{border:1px solid var(--stat-border);width:32px;height:32px;color:var(--stat-accent);background:#fbfdfe;border-radius:8px}.dashboard-stat-value-row{align-items:end;gap:.4rem;margin-top:.7rem}.dashboard-stat-value-row>strong{color:#173646;white-space:normal;overflow-wrap:anywhere;font-size:1.08rem;font-weight:600;line-height:1.15}.dashboard-stat-spark{gap:2px;width:48px;height:26px}.dashboard-stat-spark i{background:var(--stat-accent);opacity:.38;border-radius:2px 2px 0 0}.dashboard-stat-spark i:last-child{opacity:.9}.dashboard-stat-card>footer{border-top-color:var(--stat-border);align-items:end;gap:.35rem;margin-top:.6rem;padding-top:.5rem}.dashboard-stat-card>footer>span{color:#627681;white-space:normal;font-size:.62rem;line-height:1.25}.dashboard-stat-card>footer b{border:1px solid;border-radius:6px;padding:.14rem .28rem;font-size:.58rem;background:#fbfdfe!important}.dashboard-stat-card>footer b.is-positive{color:#63852d}.dashboard-stat-card>footer b.is-negative{color:#b83e49}.dashboard-metric-strip{box-shadow:none;border-radius:11px;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-metric-strip a{grid-template-columns:30px minmax(0,1fr);gap:.5rem;min-height:58px;padding:.55rem .65rem}.dashboard-metric-strip a>svg{display:none}.dashboard-metric-icon{border-radius:8px;width:30px;height:30px}.dashboard-metric-strip a:last-child{grid-column:1/-1}.dashboard-quick-actions a.is-document-create{color:#eff6e1;background:#83a83d1f}.dashboard-quick-actions a.is-document-create>span{color:#f8fbf1;background:#83a83d}.dashboard-quick-actions a.is-document-create:hover{background:#83a83d33}@media (max-width:767px){.document-list-commandbar{gap:.7rem}.document-list-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.document-create-action{grid-column:auto}.document-create-action,.document-new-action,.document-scan-action{white-space:normal;width:100%;min-width:0;height:42px;min-height:42px;padding:.35rem .5rem}.document-payment-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}.document-payment-summary article{min-height:78px;padding:.55rem}.document-payment-summary article span{letter-spacing:.02em;font-size:.54rem}.document-payment-summary article strong{margin-top:.3rem;font-size:1.2rem}.document-payment-summary article small{margin-top:.25rem;font-size:.58rem}.document-payment-summary article>svg{width:34px;height:34px;right:0}.quick-party-form-grid{grid-template-columns:1fr}.quick-party-form-grid .sm\:col-span-2{grid-column:auto}.quick-party-form-actions{grid-template-columns:1fr;display:grid}}@media (max-width:720px){.document-viewer-workspace{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.document-viewer-summary{border-bottom:1px solid #d5e0e5;border-right:0;max-height:190px;overflow-y:auto}.document-viewer-summary dl{grid-template-columns:repeat(3,minmax(0,1fr))}.document-viewer-summary dl>div{padding:.55rem;display:block}.document-viewer-summary dd{text-align:left;margin-top:.2rem}.document-viewer-summary dl>div:nth-child(n+7),.document-viewer-summary>p{display:none}.document-viewer-summary-actions{grid-template-columns:1fr 1fr}}@media (max-width:639px){.dashboard-page{padding-inline:.55rem}.dashboard-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.dashboard-stat-card{min-height:142px;padding:.65rem}.dashboard-stat-icon{width:28px;height:28px}.dashboard-stat-value-row>strong{font-size:.93rem}.dashboard-stat-spark{width:36px;height:22px}.dashboard-stat-card>footer{flex-direction:column;align-items:flex-start}.dashboard-stat-card>footer b{align-self:flex-start}.dashboard-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-health-grid>div:nth-child(odd){border-right:1px solid #edf1f4}.dashboard-health-grid>div:nth-last-child(-n+2){border-bottom:0}.dashboard-metric-strip a:last-child{grid-column:1/-1}.signature-canvas{height:250px}}@media (min-width:1024px){.dashboard-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.dashboard-metric-strip{grid-template-columns:repeat(5,minmax(0,1fr))}.dashboard-metric-strip a:last-child{grid-column:auto}}@media (prefers-reduced-motion:reduce){.document-expand-button svg{transition-duration:.01ms}}.pilot-page{background:#f8fafc;min-height:calc(100dvh - 56px);padding-bottom:2rem}.sidebar-settings-link{color:#aebdca;border:1px solid #0000;border-radius:7px;align-items:center;gap:.65rem;min-height:40px;padding:0 .55rem;font-size:.78rem;font-weight:580;text-decoration:none;display:flex}.sidebar-settings-link.is-active,.sidebar-settings-link:hover{color:#fff;background:#10384c;border-color:#2b5065}.erp-sidebar[data-collapsed=true] .sidebar-settings-link{justify-content:center;padding:0}.settings-center-page{background:#f1f5f6;min-height:calc(100dvh - 72px);padding:1rem}.settings-center-overlay{z-index:95;background:#03141f8a;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.settings-center{background:#fff;border:1px solid #aebfc7;border-radius:12px;grid-template-rows:58px minmax(0,1fr);width:min(1240px,100%);height:min(850px,100dvh - 2rem);display:grid;overflow:hidden;box-shadow:0 28px 90px #03192747}.settings-center-page .settings-center{height:calc(100dvh - 104px);min-height:640px;margin:0 auto}.settings-center-header{background:#f9fbfc;border-bottom:1px solid #d5e1e6;justify-content:space-between;align-items:center;padding:0 .85rem 0 1rem;display:flex}.settings-center-header>div{align-items:center;gap:.65rem;display:flex}.settings-center-header>div>span{color:#fb923c;background:#092e43;border-radius:7px;place-items:center;width:32px;height:32px;display:grid}.settings-center-header h1{color:#123649;margin:0;font-size:.9rem;font-weight:600}.settings-center-header p{color:#71838d;margin:.05rem 0 0;font-size:.58rem}.settings-center-header>button{color:#526a76;cursor:pointer;background:#fff;border:1px solid #d3dfe4;border-radius:7px;place-items:center;width:34px;height:34px;display:grid}.settings-center-header>a{color:#43606e;align-items:center;gap:.35rem;height:34px;font-size:.68rem;font-weight:580;text-decoration:none;display:inline-flex}.settings-center-body{grid-template-columns:238px minmax(0,1fr);min-height:0;display:grid}.settings-center-body>nav{background:#f4f7f8;border-right:1px solid #d8e3e7;padding:.65rem;overflow-y:auto}.settings-center-body>nav a{color:#4d6875;border:1px solid #0000;border-radius:6px;grid-template-columns:24px minmax(0,1fr) 14px;align-items:center;gap:.45rem;min-height:39px;padding:0 .55rem;font-size:.68rem;font-weight:580;text-decoration:none;display:grid}.settings-center-body>nav a:hover{color:#123649;background:#eaf1f4}.settings-center-body>nav a.is-active{color:#0a3d56;background:#fff;border-color:#c7d8df;box-shadow:0 2px 8px #06283a0f}.settings-center-body>nav a.is-active>svg:first-child{color:#e86f0c}.settings-center-content{background:#f7f9fa;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid}.settings-center-content>header{background:#fff;border-bottom:1px solid #dce5e9;padding:.75rem 1rem}.settings-center-content>header h2{color:#123649;margin:0;font-size:.92rem;font-weight:600}.settings-center-content>header p{color:#6d818c;margin:.12rem 0 0;font-size:.63rem}.settings-center-scroll{min-height:0;padding:.8rem;overflow:auto}.settings-center-scroll>.page-shell{padding:0}.settings-center-scroll .page-header{display:none}.compliance-settings{background:#fff;border:1px solid #d5e1e6;border-radius:9px;overflow:hidden}.compliance-matrix{border-bottom:1px solid #dde6ea;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.compliance-matrix article{gap:.55rem;padding:.85rem;display:flex;box-shadow:inset -1px 0 #e2eaed}.compliance-matrix article>svg{color:#27805d;flex:none}.compliance-matrix article:nth-child(2)>svg{color:#286e8d}.compliance-matrix article:nth-child(3)>svg{color:#c16319}.compliance-matrix strong{color:#173a4a;font-size:.68rem}.compliance-matrix p{color:#6a7f8a;margin:.18rem 0 0;font-size:.59rem;line-height:1.45}.compliance-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;padding:1rem;display:grid}.compliance-fields label{color:#405e6c;gap:.3rem;font-size:.65rem;font-weight:580;display:grid}.compliance-fields input,.compliance-fields select{color:#173646;background:#fbfcfd;border:1px solid #cbd9df;border-radius:6px;width:100%;height:38px;padding:0 .65rem;font-size:.7rem}.compliance-check{background:#fff8f1;border:1px solid #efd1b6;border-radius:7px;grid-column:1/-1;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;min-height:62px;padding:.7rem;gap:.6rem!important;display:flex!important}.compliance-check input{width:16px;height:16px}.compliance-check span{display:grid}.compliance-check small{color:#7a7168;font-weight:400}.compliance-settings>footer{background:#f8fafb;border-top:1px solid #dde6ea;align-items:center;gap:.75rem;padding:.7rem 1rem;display:flex}.compliance-settings footer p{color:#697e89;flex:1;min-width:0;margin:0;font-size:.61rem}.compliance-settings footer a,.compliance-settings footer button{color:#315867;background:#fff;border:1px solid #cbd9df;border-radius:6px;align-items:center;gap:.35rem;height:34px;padding:0 .65rem;font-size:.64rem;font-weight:580;text-decoration:none;display:inline-flex}.compliance-settings footer button{color:#fff;cursor:pointer;background:#e87317;border-color:#d56813}@media (max-width:760px){.settings-center-overlay{padding:0}.settings-center,.settings-center-page .settings-center{border-radius:0;width:100%;height:calc(100dvh - 72px);min-height:0}.settings-center-page{padding:0}.settings-center-body{grid-template-columns:76px minmax(0,1fr)}.settings-center-body>nav a{text-align:center;grid-template-columns:1fr;justify-items:center;padding:.45rem .2rem}.settings-center-body>nav a span{font-size:.52rem;line-height:1.15}.settings-center-body>nav a>svg:last-child,.settings-center-header p{display:none}.compliance-fields,.compliance-matrix{grid-template-columns:1fr}.compliance-check{grid-column:auto}.compliance-settings>footer{flex-direction:column;align-items:stretch}.compliance-settings footer a,.compliance-settings footer button{justify-content:center}}.pilot-command{background:#fff;border:1px solid #e2e8f0;border-radius:14px;justify-content:space-between;align-items:center;gap:1rem;min-height:64px;padding:.8rem 1.2rem;display:flex;box-shadow:0 1px 3px #0f172a08}.pilot-command h1{color:#0f172a;letter-spacing:-.012em;margin:0;font-size:1.25rem;font-weight:600}.pilot-command p{color:#64748b;margin:.15rem 0 0;font-size:.76rem}.pilot-command p time{color:#334155;font-variant-numeric:tabular-nums;font-weight:580}.pilot-command-tools{align-items:center;gap:.5rem;display:flex}.pilot-command-tools>button,.pilot-customize>button{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:.4rem;height:36px;padding:0 .75rem;font-size:.72rem;font-weight:580;transition:all .15s;display:inline-flex}.pilot-command-tools>button.is-active,.pilot-command-tools>button:hover,.pilot-customize>button:hover{color:#0f172a;background:#f8fafc;border-color:#94a3b8}.pilot-presets{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;padding:2px;display:flex}.pilot-presets button{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:6px;height:30px;padding:0 .7rem;font-size:.7rem;font-weight:580;transition:all .15s}.pilot-presets button.is-active{color:#fff;background:#0f2231;box-shadow:0 1px 4px #0f172a26}.pilot-customize{position:relative}.pilot-customize-menu{z-index:80;background:#fff;border:1px solid #cbd5e1;border-radius:12px;width:min(310px,100vw - 2rem);padding:.6rem;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 10px 30px #0f172a1f}.pilot-customize-menu>strong{color:#0f172a;padding:.35rem .45rem .5rem;font-size:.75rem}.pilot-customize-menu label{color:#475569;cursor:pointer;border-radius:6px;align-items:center;gap:.55rem;min-height:34px;padding:.35rem .45rem;font-size:.72rem;transition:background .12s;display:flex}.pilot-customize-menu label:hover{background:#f1f5f9}.pilot-customize-menu label input{accent-color:#0f2231;width:15px;height:15px}.pilot-customize-menu>button{color:#c2410c;cursor:pointer;background:#fff;border:0;border-top:1px solid #e2e8f0;align-items:center;gap:.45rem;min-height:36px;margin-top:.35rem;padding:.55rem .45rem .25rem;font-size:.72rem;font-weight:580;display:flex}.pilot-filters{background:#fff;border:1px solid #e2e8f0;border-radius:12px;align-items:end;gap:.65rem;padding:.75rem 1rem;display:flex;box-shadow:0 1px 3px #0f172a05}.pilot-filters label{gap:.25rem;display:grid}.pilot-filters label span{color:#64748b;text-transform:uppercase;letter-spacing:.045em;font-size:.62rem;font-weight:600}.pilot-filters input{color:#0f172a;background:#f8fafb;min-width:155px;padding:0 .65rem;font-size:.74rem}.pilot-filters button,.pilot-filters input{border:1px solid #cbd5e1;border-radius:7px;height:36px}.pilot-filters button{color:#334155;cursor:pointer;background:#fff;align-items:center;gap:.4rem;padding:0 .8rem;font-size:.72rem;font-weight:580;display:inline-flex}.pilot-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem;display:grid}.pilot-widget{min-width:0}.pilot-widget-avg-basket,.pilot-widget-expenses,.pilot-widget-net-margin,.pilot-widget-payables,.pilot-widget-receipts,.pilot-widget-receivables,.pilot-widget-revenue,.pilot-widget-unpaid-invoices{grid-column:span 3}.pilot-kpis-container{grid-column:1/-1;grid-template-columns:repeat(1,minmax(0,1fr));align-items:stretch;gap:1rem;width:100%;display:grid}@media (min-width:640px){.pilot-kpis-container{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.pilot-kpis-container{grid-template-columns:repeat(4,minmax(0,1fr))}}.pilot-widget-payments{grid-column:span 4}.pilot-widget-quick-actions{grid-column:span 12}.pilot-widget-monthly-flow{grid-column:span 8}.pilot-widget-purchase-orders{grid-column:span 4}.pilot-widget-recent-activity{grid-column:span 12}@media (max-width:1023px){.pilot-widget-monthly-flow,.pilot-widget-purchase-orders{grid-column:span 12}}.pilot-kpi-card{min-width:0;min-height:145px;color:inherit;border-radius:14px;flex-direction:column;flex:1;justify-content:space-between;padding:1.15rem 1.2rem;text-decoration:none;transition:all .22s cubic-bezier(.22,1,.36,1);display:flex;position:relative;overflow:hidden;box-shadow:0 1px 3px #0f172a08}.pilot-kpi-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0f172a14}.pilot-kpi-bg-icon{opacity:.08;pointer-events:none;transition:opacity .25s,transform .25s;position:absolute;bottom:-8px;right:-8px}.pilot-kpi-card:hover .pilot-kpi-bg-icon{opacity:.16;transform:scale(1.08)translate(-2px,-2px)}.pilot-kpi-card.is-blue{background:#f0f7ff;border:1px solid #dbeafe}.pilot-kpi-card.is-blue .pilot-kpi-bg-icon{color:#1d4ed8}.pilot-kpi-card.is-green{background:#f0fdf4;border:1px solid #dcfce7}.pilot-kpi-card.is-green .pilot-kpi-bg-icon{color:#15803d}.pilot-kpi-card.is-red{background:#fef2f2;border:1px solid #fee2e2}.pilot-kpi-card.is-red .pilot-kpi-bg-icon{color:#b91c1c}.pilot-kpi-card.is-orange{background:#fff7ed;border:1px solid #ffedd5}.pilot-kpi-card.is-orange .pilot-kpi-bg-icon{color:#c2410c}.pilot-kpi-card.is-purple{background:#faf5ff;border:1px solid #f3e8ff}.pilot-kpi-card.is-purple .pilot-kpi-bg-icon{color:#7e22ce}.pilot-kpi-card.is-cyan{background:#ecfeff;border:1px solid #cffafe}.pilot-kpi-card.is-cyan .pilot-kpi-bg-icon{color:#0891b2}.pilot-kpi-card.is-emerald{background:#ecfdf5;border:1px solid #d1fae5}.pilot-kpi-card.is-emerald .pilot-kpi-bg-icon{color:#059669}.pilot-kpi-card.is-rose{background:#fff1f2;border:1px solid #ffe4e6}.pilot-kpi-card.is-rose .pilot-kpi-bg-icon{color:#e11d48}.pilot-kpi-card.is-indigo{background:#eef2ff;border:1px solid #e0e7ff}.pilot-kpi-card.is-indigo .pilot-kpi-bg-icon{color:#4f46e5}.pilot-kpi-card.is-violet{background:#f5f3ff;border:1px solid #ede9fe}.pilot-kpi-card.is-violet .pilot-kpi-bg-icon{color:#7c3aed}.pilot-kpi-card.is-sky{background:#f0f9ff;border:1px solid #e0f2fe}.pilot-kpi-card.is-sky .pilot-kpi-bg-icon{color:#0284c7}.pilot-kpi-card.is-slate{background:#f8fafc;border:1px solid #e2e8f0}.pilot-kpi-card.is-slate .pilot-kpi-bg-icon{color:#475569}.pilot-kpi-head{z-index:2;justify-content:space-between;align-items:center;gap:.5rem;display:flex;position:relative}.pilot-kpi-head span{color:#475569;font-size:.78rem;font-weight:580}.pilot-kpi-value{z-index:2;color:#0f172a;font-variant-numeric:tabular-nums;letter-spacing:-.012em;margin-top:.4rem;font-size:1.55rem;font-weight:650;line-height:1.15;position:relative}.pilot-kpi-currency{color:#64748b;vertical-align:baseline;text-transform:uppercase;letter-spacing:.02em;margin-left:4px;font-size:.56em;font-weight:600}.pilot-kpi-lines{z-index:2;border-top:1px solid #0f172a12;flex-direction:column;gap:.35rem;margin-top:.75rem;padding-top:.6rem;display:flex;position:relative}.pilot-kpi-line{color:#475569;white-space:nowrap;text-overflow:ellipsis;width:100%;font-size:.68rem;font-weight:550;overflow:hidden;flex-direction:row!important;align-items:center!important;gap:.4rem!important;display:flex!important}.pilot-kpi-line svg,.pilot-kpi-line-icon{color:#64748b;flex:none!important;margin:0!important;display:inline-block!important}.pilot-kpi-line span{text-overflow:ellipsis;white-space:nowrap;flex:auto;display:inline-block;overflow:hidden}.pilot-customize-btn{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:9px;align-items:center;gap:.5rem;height:38px;padding:0 .85rem;font-size:.75rem;font-weight:580;transition:all .18s;display:inline-flex;box-shadow:0 1px 2px #0f172a0a}.pilot-customize-btn.is-active,.pilot-customize-btn:hover{color:#fff;background:#0f2231;border-color:#0f2231;box-shadow:0 4px 12px #0f223133}.pilot-customize-btn.is-active .text-orange-500,.pilot-customize-btn:hover .text-orange-500{color:#f97316}.pilot-customize-count{color:#475569;font-variant-numeric:tabular-nums;background:#f1f5f9;border-radius:9999px;place-items:center;height:20px;padding:0 .45rem;font-size:.62rem;font-weight:600;transition:all .18s;display:inline-grid}.pilot-customize-btn.is-active .pilot-customize-count,.pilot-customize-btn:hover .pilot-customize-count{color:#fff;background:#fff3}.pilot-modal-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a73;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.pilot-modal-card{background:#fff;border:1px solid #cbd5e1;border-radius:16px;flex-direction:column;width:min(640px,100%);max-height:min(720px,100vh - 2rem);display:flex;overflow:hidden;box-shadow:0 24px 60px #0f172a3d}.pilot-modal-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.35rem;display:flex}.pilot-modal-header h2{color:#0f172a;margin:0;font-size:1rem;font-weight:600}.pilot-modal-header p{color:#64748b;margin:.2rem 0 0;font-size:.72rem}.pilot-modal-close{color:#64748b;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;place-items:center;width:32px;height:32px;transition:all .15s;display:grid}.pilot-modal-close:hover{color:#0f172a;border-color:#0f172a}.pilot-modal-body{flex:1;padding:1.25rem 1.35rem;overflow-y:auto}.pilot-modal-section-title{color:#0f172a;align-items:center;gap:.45rem;margin-bottom:.75rem;font-size:.8rem;font-weight:600;display:flex}.pilot-modal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}@media (max-width:520px){.pilot-modal-grid{grid-template-columns:1fr}}.pilot-modal-toggle{color:#334155;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:.65rem;padding:.65rem .8rem;font-size:.74rem;font-weight:600;transition:all .15s;display:flex}.pilot-modal-toggle input{display:none}.pilot-modal-toggle-box{color:#0000;background:#fff;border:1.5px solid #cbd5e1;border-radius:6px;flex-shrink:0;place-items:center;width:20px;height:20px;transition:all .15s;display:grid}.pilot-modal-toggle.is-checked{color:#1e40af;background:#eff6ff;border-color:#2563eb}.pilot-modal-toggle.is-checked .pilot-modal-toggle-box{color:#fff;background:#2563eb;border-color:#2563eb}.pilot-modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:.75rem;padding:.9rem 1.35rem;display:flex}.pilot-modal-btn-subtle{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:.4rem;height:36px;padding:0 .75rem;font-size:.72rem;font-weight:580;display:inline-flex}.pilot-modal-btn-subtle:hover{color:#0f172a;border-color:#0f172a}.pilot-modal-btn-primary{color:#fff;cursor:pointer;background:#0f2231;border:0;border-radius:8px;align-items:center;gap:.4rem;height:36px;padding:0 1.1rem;font-size:.74rem;font-weight:600;transition:background .15s;display:inline-flex;box-shadow:0 2px 6px #0f223140}.pilot-modal-btn-primary:hover{background:#1a374c}.pilot-quick-section{background:0 0;flex-direction:column;gap:.65rem;padding:0;display:flex}.pilot-quick-header{color:#334155;letter-spacing:.03em;text-transform:uppercase;align-items:center;gap:.55rem;font-size:.82rem;font-weight:600;display:flex}.pilot-quick-header svg{color:#334155}.pilot-quick-row{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.pilot-quick-tile{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:.55rem;min-width:102px;height:94px;padding:10px 8px 12px;text-decoration:none;transition:all .18s cubic-bezier(.22,1,.36,1);display:flex;position:relative;overflow:hidden;box-shadow:0 1px 3px #0f172a08}.pilot-quick-tile svg{color:#475569;width:24px;height:24px;transition:color .18s,transform .18s}.pilot-quick-tile span{color:#475569;text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:90px;font-size:.72rem;font-weight:580;transition:color .18s;overflow:hidden}.pilot-quick-tile-bar{opacity:0;background:#f97316;border-radius:2px 2px 0 0;width:32px;height:4px;transition:opacity .18s;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.pilot-quick-tile.is-active,.pilot-quick-tile:hover{background:#0f2231;border-color:#0f2231;transform:translateY(-2px);box-shadow:0 6px 18px #0f223138}.pilot-quick-tile.is-active svg,.pilot-quick-tile:hover svg{color:#f97316;transform:scale(1.08)}.pilot-quick-tile.is-active span,.pilot-quick-tile:hover span{color:#fff;font-weight:580}.pilot-quick-tile.is-active .pilot-quick-tile-bar,.pilot-quick-tile:hover .pilot-quick-tile-bar{opacity:1}.pilot-operations-panel{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:.6rem;box-shadow:0 1px 3px #0f172a08}.pilot-operations{grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;display:grid}.pilot-operations a{color:#334155;background:#f8fafc;border:1px solid #f1f5f9;border-radius:10px;align-items:center;gap:.75rem;padding:.75rem .9rem;text-decoration:none;transition:all .15s;display:flex}.pilot-operations a:hover{background:#fff;border-color:#cbd5e1;box-shadow:0 2px 6px #0f172a0a}.pilot-operations a>svg:first-child{color:#0f2231;background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-shrink:0;place-items:center;width:34px;height:34px;padding:6px;display:grid}.pilot-operations a.is-alert>svg:first-child{color:#dc2626;background:#fef2f2;border-color:#fecaca}.pilot-operations a.is-alert strong{color:#dc2626}.pilot-operations small{color:#64748b;font-size:.65rem;font-weight:600;display:block}.pilot-operations strong{color:#0f172a;font-variant-numeric:tabular-nums;font-size:1.1rem;font-weight:600;display:block}.pilot-panel{background:#fff;border:1px solid #e2e8f0;border-radius:14px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 1px 3px #0f172a08}.pilot-panel>header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.1rem;display:flex}.pilot-panel h2{color:#0f172a;margin:0;font-size:.88rem;font-weight:600}.pilot-panel header p{color:#64748b;margin:.1rem 0 0;font-size:.68rem}.pilot-legend{align-items:center;gap:.8rem;display:flex}.pilot-legend span{color:#64748b;align-items:center;gap:.3rem;font-size:.65rem;font-weight:600;display:flex}.pilot-legend span:before{content:"";border-radius:2px;width:8px;height:8px}.pilot-legend .billed:before{background:#2563eb}.pilot-legend .received:before{background:#16a34a}.pilot-legend .spent:before{background:#dc2626}.pilot-legend .net:before{background:#ea580c;border-radius:0;width:14px;height:2px}.pilot-chart-scroll{flex:1;padding:.75rem 1rem 1rem;overflow-x:auto}.pilot-chart{min-width:700px;height:280px;position:relative}.pilot-chart svg{width:100%;height:248px;display:block;overflow:visible}.pilot-chart .gridline{stroke:#f1f5f9;stroke-width:1px}.pilot-chart .zero{stroke:#cbd5e1;stroke-width:1px;stroke-dasharray:4 4}.pilot-chart rect.billed{fill:#2563eb;rx:2}.pilot-chart rect.received{fill:#16a34a;rx:2}.pilot-chart rect.spent{fill:#dc2626;rx:2}.pilot-chart .net-line{fill:none;stroke:#ea580c;stroke-width:2.2px;stroke-linejoin:round;stroke-linecap:round}.pilot-chart .net-point{fill:#fff;stroke:#ea580c;stroke-width:2px}.pilot-chart-targets{grid-template-columns:repeat(12,1fr);display:grid;position:absolute;inset:0 0 32px}.pilot-chart-targets>div{cursor:crosshair;background:0 0;border:0;position:relative}.pilot-chart-targets>div:focus-visible,.pilot-chart-targets>div:hover{background:#0f172a05;border-radius:4px}.pilot-chart-targets>div>span{z-index:20;color:#e2e8f0;text-align:left;background:#0f2231;border:1px solid #cbd5e1;border-radius:8px;width:160px;padding:.55rem .65rem;font-size:.64rem;line-height:1.55;display:none;position:absolute;bottom:60%;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0f172a33}.pilot-chart-targets>div:focus-visible>span,.pilot-chart-targets>div:hover>span{display:block}.pilot-chart-targets>div>span b{color:#fff;font-weight:600;display:block}.pilot-chart-months{text-align:center;grid-template-columns:repeat(12,1fr);display:grid;position:absolute;inset:auto 0 0}.pilot-chart-months small{color:#64748b;text-transform:capitalize;font-size:.62rem;font-weight:600}.pilot-empty{color:#64748b;place-items:center;min-height:220px;font-size:.78rem;display:grid}.pilot-po header a{color:#2563eb;align-items:center;gap:.2rem;font-size:.72rem;font-weight:580;text-decoration:none;display:inline-flex}.pilot-po header a:hover{color:#1d4ed8}.pilot-po>div{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.pilot-po>div>span{border-bottom:1px solid #f1f5f9;border-right:1px solid #f1f5f9;min-height:88px;padding:.9rem 1.1rem}.pilot-po>div>span:nth-child(2n){border-right:0}.pilot-po>div>span:nth-last-child(-n+2){border-bottom:0}.pilot-po small{color:#64748b;font-size:.68rem;font-weight:600;display:block}.pilot-po strong{color:#0f172a;font-variant-numeric:tabular-nums;margin-top:.3rem;font-size:1.1rem;font-weight:600;display:block}.pilot-po .is-danger strong{color:#dc2626}.pilot-activity-columns{grid-template-columns:1fr 1fr;display:grid}.pilot-activity-columns>section{min-width:0;padding:.9rem 1.1rem 1.1rem}.pilot-activity-columns>section+section{border-left:1px solid #f1f5f9}.pilot-activity h3{color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin:0 0 .6rem;font-size:.68rem;font-weight:600}.pilot-activity section>a,.pilot-activity section>div{color:#334155;border-top:1px solid #f8fafc;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:.5rem;min-height:40px;font-size:.72rem;text-decoration:none;display:grid}.pilot-activity section>a:hover{background:#f8fafc;border-radius:6px}.pilot-activity section>a{grid-template-columns:minmax(0,1fr) auto}.pilot-activity section>a span{display:grid}.pilot-activity section>a small{color:#64748b}.pilot-activity section i{color:#64748b;border:1px solid #cbd5e1;border-radius:5px;place-items:center;width:20px;height:20px;font-size:.6rem;font-style:normal;font-weight:600;display:grid}.pilot-activity section strong{color:#0f172a;font-variant-numeric:tabular-nums;font-weight:600}@media (max-width:1100px){.pilot-kpis-container{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.pilot-radials-row{grid-template-columns:repeat(2,minmax(0,1fr))}.pilot-widget-monthly-flow,.pilot-widget-purchase-orders{grid-column:span 12}.pilot-operations{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.pilot-page{padding:.75rem}.pilot-grid{grid-template-columns:1fr}.pilot-kpis-container{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.pilot-radials-row{grid-template-columns:1fr}.pilot-widget-monthly-flow,.pilot-widget-purchase-orders{grid-column:span 12}.pilot-command{flex-direction:column;align-items:flex-start}.pilot-command-tools{flex-wrap:wrap;width:100%}.pilot-presets,.pilot-presets button{flex:1}}@media (max-width:480px){.pilot-kpis-container{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.pilot-customize-menu,.pilot-skeleton-card{animation:none}}.pilot-kpi-card{min-height:112px!important;padding-bottom:1rem!important}.pilot-kpi-lines{display:none!important}.pilot-payment-health{grid-template-columns:110px minmax(0,1fr);align-items:center;gap:1rem;min-height:100%;padding:1rem;display:grid}.pilot-payment-health>div:last-child{border-left:1px solid #dce6ea;gap:.2rem;padding-left:1rem;display:grid}.pilot-payment-health strong{color:#153e51;font-variant-numeric:tabular-nums;font-size:1.15rem}.pilot-payment-health span{color:#536d79;font-size:.72rem;font-weight:600}.pilot-payment-health small{color:#7b8f98;font-size:.65rem}.pilot-modal-toggle{grid-template-columns:auto minmax(0,1fr) auto!important}.pilot-modal-order-actions{gap:.2rem;display:inline-flex}.pilot-modal-order-actions button{color:#4d6874;background:#fff;border:1px solid #d4e0e5;border-radius:6px;place-items:center;width:26px;height:26px;display:grid}.pilot-modal-order-actions button:hover:not(:disabled){color:#173f57;border-color:#173f57}.pilot-modal-order-actions button:disabled{opacity:.32}@media (max-width:640px){.pilot-payment-health{grid-template-columns:1fr}.pilot-payment-health>div:last-child{text-align:center;border-top:1px solid #dce6ea;border-left:0;padding-top:.75rem;padding-left:0}}.document-draft-switch{cursor:pointer;color:#405d6a;background:#fff;border:1px solid #cbd9df;border-radius:8px;align-items:center;gap:.5rem;min-height:40px;padding:0 .7rem;font-size:.7rem;display:inline-flex}.document-draft-switch input{opacity:0;pointer-events:none;position:absolute}.document-draft-switch>span{background:#b8c7ce;border-radius:999px;width:34px;height:20px;transition:background .18s;position:relative}.document-draft-switch>span:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .18s;position:absolute;top:3px;left:3px}.document-draft-switch input:checked+span{background:#163f58}.document-draft-switch input:checked+span:after{transform:translate(14px)}.document-draft-switch input:focus-visible+span{outline-offset:2px;outline:2px solid #e9771b}.document-inline-viewer{background:#fff;border:1px solid #cbd9df;border-radius:12px;min-height:calc(100dvh - 150px);overflow:hidden;box-shadow:0 14px 34px #0526371f}.document-inline-viewer .document-viewer-header{position:relative}.document-inline-viewer .document-viewer-workspace{min-height:calc(100dvh - 230px)}@media (max-width:760px){.document-inline-viewer{border-radius:8px;min-height:calc(100dvh - 110px)}.document-inline-viewer .document-viewer-actions button span{display:none}}.internal-document-types{gap:.3rem;padding-bottom:.45rem;display:flex;overflow:auto}.internal-document-types button{white-space:nowrap;color:#58707b;background:#fff;border:1px solid #cfdae0;border-radius:6px;min-height:30px;padding:0 .55rem;font-size:.62rem;font-weight:600}.internal-document-types button.is-active{color:#fff;background:#164057;border-color:#164057}.internal-document-search{align-items:center;display:flex;position:relative}.internal-document-search>svg{color:#14805e;position:absolute;left:.65rem}.internal-document-search input{color:#244b40;background:#f5fbf8;border:1px solid #bdd8cc;border-radius:7px;outline:0;width:100%;height:40px;padding:0 .7rem 0 2rem;font-size:.68rem}.internal-document-search input:focus{border-color:#14805e;box-shadow:0 0 0 2px #d7f2e7}.internal-document-results{background:#fff;border:1px solid #b9d8ca;border-radius:8px;max-height:230px;margin-top:.35rem;overflow:auto;box-shadow:0 12px 28px #09463424}.internal-document-results button,.internal-document-selected>div{text-align:left;border-bottom:1px solid #e1ece7;justify-content:space-between;align-items:center;gap:.5rem;width:100%;min-height:44px;padding:.45rem .6rem;display:flex}.internal-document-results button:hover{color:#126348;background:#edf8f3}.internal-document-results span,.internal-document-selected span{min-width:0;display:grid}.internal-document-results strong,.internal-document-selected strong{color:#23433a;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.internal-document-results small,.internal-document-selected small{color:#6f827c;font-size:.58rem}.internal-document-results>p,.internal-document-selected>p{color:#788b84;text-align:center;padding:.75rem;font-size:.66rem}.internal-document-selected{gap:.35rem;margin-top:.65rem;display:grid}.internal-document-selected>div{background:#fbfdfc;border:1px solid #d7e4de;border-radius:7px}.internal-document-selected button{color:#8a4050;border-radius:6px;place-items:center;width:30px;height:30px;display:grid}.internal-document-selected button:hover{background:#fff0f2}.internal-document-error{color:#a92f42;margin-top:.45rem;font-size:.63rem}.combobox-option.is-create{color:#146447;background:#eef9f4;border:1px solid #b9dfcf}.combobox-option.is-create:hover{background:#e2f5ec}.combobox-option.is-create strong{color:#145c43}.combobox-option.is-create small{color:#4e7969}.document-leave-overlay{z-index:90;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#081b276b;place-items:center;padding:1rem;display:grid;position:absolute;inset:0}.document-leave-overlay>section{text-align:center;background:#fff;border:1px solid #d9e1e5;border-radius:14px;width:min(430px,100%);padding:1.35rem;box-shadow:0 24px 56px #041b2747}.document-leave-icon{color:#b32e43;background:#fff1f2;border-radius:12px;place-items:center;width:46px;height:46px;margin:0 auto .8rem;display:grid}.document-leave-overlay h2{color:#173645;font-size:1.05rem;font-weight:600}.document-leave-overlay p{color:#607782;margin-top:.4rem;font-size:.8rem;line-height:1.55}.document-leave-overlay section>div{justify-content:center;gap:.55rem;margin-top:1.15rem;display:flex}.report-analysis-grid{grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:.75rem;display:grid}.report-chart-panel,.report-tips-panel{background:#fff;border:1px solid #cedbe1;border-radius:12px}.report-chart-panel>header,.report-tips-panel>header{border-bottom:1px solid #e2e9ec;justify-content:space-between;align-items:center;gap:1rem;min-height:52px;padding:.7rem 1rem;display:flex}.report-chart-panel h2,.report-tips-panel h2{color:#193847;font-size:.78rem;font-weight:600}.report-chart-panel header>div{gap:.8rem;display:flex}.report-chart-panel header span{color:#647983;align-items:center;gap:.3rem;font-size:.58rem;font-weight:600;display:inline-flex}.report-chart-panel header span:before{content:"";background:#17445c;border-radius:2px;width:8px;height:8px}.report-chart-panel header span.is-secondary:before{background:#e9771b}.report-bar-chart{grid-template-columns:repeat(8,minmax(48px,1fr));align-items:end;gap:.65rem;min-height:260px;padding:1.25rem 1rem .8rem;display:grid;overflow-x:auto}.report-bar-chart>div{grid-template-rows:1fr auto;gap:.5rem;height:215px;display:grid}.report-bar-chart>div>span{border-bottom:1px solid #cbd8de;justify-content:center;align-items:end;gap:4px;min-height:0;display:flex}.report-bar-chart i{background:#17445c;border-radius:4px 4px 1px 1px;width:min(18px,38%);min-height:2px;display:block}.report-bar-chart i.is-secondary{background:#e9771b}.report-bar-chart small{color:#6a7f89;text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:.56rem;font-weight:600;overflow:hidden}.report-chart-empty{color:#728690;place-items:center;min-height:260px;font-size:.72rem;display:grid}.report-tips-panel>header{color:#d96a13;justify-content:flex-start}.report-tips-panel>div{display:grid}.report-tips-panel article{color:#a26220;border-bottom:1px solid #e5ecef;grid-template-columns:28px minmax(0,1fr);gap:.65rem;padding:.9rem 1rem;display:grid}.report-tips-panel article:last-child{border-bottom:0}.report-tips-panel article>span{color:#315568;background:#edf4f6;border-radius:6px;place-items:center;width:24px;height:24px;font-size:.62rem;font-weight:650;display:grid}.report-tips-panel strong{color:#284753;font-size:.72rem;display:block}.report-tips-panel p{color:#677c86;margin-top:.2rem;font-size:.64rem;line-height:1.55}@media (max-width:900px){.report-analysis-grid{grid-template-columns:1fr}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-mask-linear{syntax:"*";inherits:false;initial-value:linear-gradient(#fff,#fff)}@property --tw-mask-radial{syntax:"*";inherits:false;initial-value:linear-gradient(#fff,#fff)}@property --tw-mask-conic{syntax:"*";inherits:false;initial-value:linear-gradient(#fff,#fff)}@property --tw-mask-left{syntax:"*";inherits:false;initial-value:linear-gradient(#fff,#fff)}@property --tw-mask-right{syntax:"*";inherits:false;initial-value:linear-gradient(#fff,#fff)}@property --tw-mask-bottom{syntax:"*";inherits:false;initial-value:linear-gradient(#fff,#fff)}@property --tw-mask-top{syntax:"*";inherits:false;initial-value:linear-gradient(#fff,#fff)}@property --tw-mask-bottom-from-position{syntax:"*";inherits:false;initial-value:0}@property --tw-mask-bottom-to-position{syntax:"*";inherits:false;initial-value:100%}@property --tw-mask-bottom-from-color{syntax:"*";inherits:false;initial-value:black}@property --tw-mask-bottom-to-color{syntax:"*";inherits:false;initial-value:transparent}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}
/* eGestion interaction polish 2026-08 */
@keyframes eg-settings-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes eg-settings-panel-in{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes eg-route-in{from{opacity:.25;transform:translateY(7px) scale(.998)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes eg-tip-in{from{opacity:0;transform:translateY(-3px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.settings-center-overlay{animation:eg-settings-backdrop-in .14s ease-out both;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.settings-center-overlay>.settings-center{animation:eg-settings-panel-in .2s cubic-bezier(.22,1,.36,1) both;transform-origin:50% 42%}
.settings-center{border-radius:16px;box-shadow:0 30px 90px #0319273d,0 2px 10px #03192714}
.settings-center-header button[aria-label="Fermer les paramètres"]{transition:background-color .12s ease,border-color .12s ease,transform .12s ease!important}
.settings-center-header button[aria-label="Fermer les paramètres"]:active{transform:scale(.94)!important}
.settings-center-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}
@media(max-width:720px){.settings-center-overlay{padding:.45rem}.settings-center{height:calc(100dvh - .9rem);border-radius:14px}.settings-center-body{min-width:0}.settings-center-content,.settings-center-scroll{min-width:0}.settings-center-body>nav{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}}
.measured-context-menu{overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;touch-action:pan-y;overflow-y:auto!important;overflow-x:hidden!important}
.measured-context-menu>.document-action-menu.is-context-menu{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}
.page-info,.settings-info-tip{z-index:180!important;position:relative!important;overflow:visible!important}
.page-info>summary,.settings-info-tip>summary{cursor:pointer;touch-action:manipulation;transition:background-color .12s ease,border-color .12s ease,transform .12s ease}
.page-info>summary:active,.settings-info-tip>summary:active{transform:scale(.94)}
.page-info>p,.settings-info-tip>p{position:absolute!important;top:calc(100% + 8px)!important;right:0!important;bottom:auto!important;left:auto!important;width:min(320px,calc(100vw - 24px))!important;max-height:min(260px,calc(100dvh - 110px));overflow:auto;overscroll-behavior:contain;transform:none!important;z-index:320!important;margin:0!important;animation:eg-tip-in .14s cubic-bezier(.22,1,.36,1) both;box-shadow:0 16px 42px #041f2d24}
.settings-info-tip>p{width:min(300px,calc(100vw - 24px))!important}
@media(max-width:640px){.page-info>p,.settings-info-tip>p{position:fixed!important;top:auto!important;right:12px!important;bottom:max(12px,env(safe-area-inset-bottom))!important;left:12px!important;width:auto!important;max-height:min(42dvh,300px);border-radius:12px!important}}
.status-badge{max-width:100%;min-width:0;white-space:normal!important;overflow-wrap:anywhere;word-break:normal;text-align:center;line-height:1.15!important;justify-content:center;vertical-align:middle}
.document-row-badges{max-width:100%;min-width:0;flex-wrap:wrap!important;align-items:center!important;justify-content:flex-start!important;gap:.35rem!important}
.document-row-badges>*{max-width:100%;min-width:0}
@media(max-width:720px){.document-row-badges{flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;width:100%}.status-badge{font-size:10px}}
.route-stage{animation:none!important}
.route-stage>:first-child{animation:eg-route-in .24s cubic-bezier(.22,1,.36,1) both;transform-origin:50% 0}
.route-stage .surface-card,.route-stage .common-filter-bar,.route-stage .workspace-toolbar{transition:border-color .18s ease,box-shadow .18s ease,transform .18s cubic-bezier(.22,1,.36,1)}
.pilot-kpis-container{gap:.8rem!important}
.pilot-kpi-card{isolation:isolate;min-height:124px!important;border-radius:18px!important;padding:1rem 1.05rem!important;transition:transform .24s cubic-bezier(.22,1,.36,1),box-shadow .24s cubic-bezier(.22,1,.36,1),border-color .18s ease!important;box-shadow:0 1px 2px #0f172a08,0 8px 24px #0f172a08!important}
.pilot-kpi-card:before{content:"";pointer-events:none;position:absolute;inset:0;border-radius:inherit;background:linear-gradient(145deg,#ffffff8f 0%,#ffffff1f 42%,transparent 66%);z-index:0}
.pilot-kpi-card:after{content:"";pointer-events:none;position:absolute;left:14%;right:14%;bottom:-28px;height:44px;border-radius:999px;background:currentColor;opacity:.035;filter:blur(18px);z-index:0;transition:opacity .22s ease,transform .22s cubic-bezier(.22,1,.36,1)}
.pilot-kpi-card:hover{transform:translateY(-4px) scale(1.008)!important;box-shadow:0 2px 4px #0f172a0a,0 18px 36px #0f172a14!important}
.pilot-kpi-card:active{transform:translateY(-1px) scale(.992)!important;transition-duration:.09s!important}
.pilot-kpi-card:focus-visible{outline:3px solid color-mix(in srgb,currentColor 24%,transparent);outline-offset:3px}
.pilot-kpi-card:hover:after{opacity:.065;transform:translateY(-4px) scale(1.05)}
.pilot-kpi-bg-icon{right:-12px!important;bottom:-12px!important;opacity:.065!important;transform:rotate(-5deg);transition:opacity .26s ease,transform .32s cubic-bezier(.22,1,.36,1)!important}
.pilot-kpi-card:hover .pilot-kpi-bg-icon{opacity:.13!important;transform:translate(-4px,-5px) rotate(-2deg) scale(1.08)!important}
.pilot-kpi-head span{font-size:.75rem!important;font-weight:580!important;letter-spacing:.005em}
.pilot-kpi-value{margin-top:.6rem!important;font-size:clamp(1.45rem,2.1vw,1.85rem)!important;font-weight:600!important;letter-spacing:-.012em!important;line-height:1!important}
.pilot-kpi-currency{margin-left:5px!important;font-size:.48em!important;font-weight:600!important;letter-spacing:.04em!important}
@media(max-width:760px){.pilot-kpis-container{gap:.55rem!important}.pilot-kpi-card{min-height:112px!important;border-radius:16px!important;padding:.9rem!important}.pilot-kpi-value{font-size:1.42rem!important}}
@media(prefers-reduced-motion:reduce){.settings-center-overlay,.settings-center-overlay>.settings-center,.page-info>p,.settings-info-tip>p,.route-stage>:first-child{animation:none!important}.pilot-kpi-card,.pilot-kpi-bg-icon,.route-stage .surface-card,.route-stage .common-filter-bar,.route-stage .workspace-toolbar{transition:none!important}.pilot-kpi-card:hover,.pilot-kpi-card:active{transform:none!important}}
/* ══════════════════════════════════════════════════════════════════════════
   §20  PRODUCTION UI CORRECTIONS — Stable navigation, truthful KPI system
   ══════════════════════════════════════════════════════════════════════════ */

/* Keep route changes visually stable. Transformed route ancestors also break
   viewport positioning for dialogs and popovers. */
.route-stage,
.route-stage.eg-route-enter,
.route-stage > :first-child,
.route-stage .page-shell {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
}

.pilot-command,
.pilot-grid,
.pilot-widget,
.pilot-kpi-card {
  animation: none !important;
  opacity: 1 !important;
}

/* Information popovers: the legacy Tailwind translate longhand was shifting
   an otherwise-open popover off screen. */
.page-info > p,
.settings-info-tip > p {
  translate: none !important;
  transform: none !important;
  animation: none !important;
}

.page-info > p {
  right: auto !important;
  left: 0 !important;
}

.settings-info-tip > p {
  right: 0 !important;
  left: auto !important;
}

.page-info > summary,
.settings-info-tip > summary {
  min-width: 40px;
  min-height: 40px;
  border: 1px solid transparent;
}

.page-info[open] > summary,
.settings-info-tip[open] > summary {
  border-color: #c9d6dc;
  background: #edf3f5;
  color: var(--eg-deep);
}

/* Primary dashboard KPIs: information-first cards with no decorative wash,
   fake sparkline, or oversized background icon. */
.pilot-kpis-container {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: .75rem !important;
}

.pilot-kpi-card {
  --kpi-accent: #315a6f;
  position: relative !important;
  display: flex !important;
  min-width: 0 !important;
  min-height: 174px !important;
  flex-direction: column !important;
  padding: 1rem 1rem .95rem 1.1rem !important;
  overflow: hidden !important;
  border: 1px solid #d7e1e6 !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: none !important;
  color: var(--eg-text-primary) !important;
  text-decoration: none !important;
  transition: border-color .16s ease, background-color .16s ease !important;
}

.pilot-kpi-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 14px auto 14px 0 !important;
  width: 1px !important;
  border-radius: 0 !important;
  background: var(--kpi-accent) !important;
  opacity: .9 !important;
}

.pilot-kpi-card::after {
  display: none !important;
}

.pilot-kpi-card:hover {
  border-color: color-mix(in srgb, var(--kpi-accent) 46%, #d7e1e6) !important;
  background: color-mix(in srgb, var(--kpi-accent) 2.5%, #fff) !important;
  box-shadow: none !important;
  transform: none !important;
}

.pilot-kpi-card:focus-visible,
.pilot-radial-kpi:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--kpi-accent, var(--health-accent)) 26%, transparent) !important;
  outline-offset: 2px !important;
}

.pilot-kpi-bg-icon {
  display: none !important;
}

.pilot-kpi-top {
  align-items: flex-start !important;
}

.pilot-kpi-label {
  max-width: 18ch;
  color: #405965 !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  letter-spacing: .01em !important;
  line-height: 1.35 !important;
  text-transform: none !important;
}

.pilot-kpi-icon {
  width: 36px !important;
  height: 36px !important;
  border: 1px solid color-mix(in srgb, var(--kpi-accent) 20%, #e5ebee) !important;
  border-radius: 10px !important;
  background: color-mix(in srgb, var(--kpi-accent) 7%, #fff) !important;
}

.pilot-kpi-card:hover .pilot-kpi-icon {
  background: color-mix(in srgb, var(--kpi-accent) 10%, #fff) !important;
  transform: none !important;
}

.pilot-kpi-value {
  margin-top: .75rem !important;
  color: #0d2532 !important;
  font-size: clamp(1.45rem, 2vw, 1.8rem) !important;
  font-weight: 600 !important;
  letter-spacing: -.012em !important;
  line-height: 1 !important;
}

.pilot-kpi-currency {
  margin-left: .3rem !important;
  color: #637983 !important;
  font-size: .42em !important;
  font-weight: 600 !important;
  letter-spacing: .03em !important;
}

.pilot-kpi-meta {
  gap: .2rem !important;
  margin-top: auto !important;
  padding-top: .65rem !important;
  padding-right: 1.45rem !important;
  border-top: 1px solid #edf1f3 !important;
}

.pilot-kpi-meta span,
.pilot-kpi-meta small {
  display: -webkit-box !important;
  overflow: hidden !important;
  white-space: normal !important;
  text-overflow: clip !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.pilot-kpi-meta span {
  color: #405965 !important;
  font-size: .66rem !important;
  font-weight: 580 !important;
}

.pilot-kpi-meta small {
  color: #6d818a !important;
  font-size: .61rem !important;
  line-height: 1.35 !important;
}

.pilot-kpi-arrow {
  right: .9rem !important;
  bottom: .85rem !important;
  opacity: .45 !important;
  transform: none !important;
}

/* Four circular, data-backed financial indicators. */
.pilot-widget-payments {
  grid-column: 1 / -1 !important;
}

.pilot-payment-health {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: .65rem !important;
  width: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
}

.pilot-radial-kpi {
  --health-accent: #315a6f;
  display: flex;
  min-width: 0;
  min-height: 232px;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: .72rem;
  padding: 1rem .85rem .9rem;
  border: 1px solid #d7e1e6;
  border-radius: 14px;
  background: #fff;
  color: #17323f;
  text-align: center;
  text-decoration: none;
  transition: border-color .16s ease, background-color .16s ease;
}

.pilot-radial-kpi:hover {
  border-color: color-mix(in srgb, var(--health-accent) 46%, #d7e1e6);
  background: color-mix(in srgb, var(--health-accent) 2.5%, #fff);
}

.pilot-radial-chart {
  position: relative;
  width: 112px;
  height: 112px;
  flex: none;
}

.pilot-radial-chart svg {
  width: 100%;
  height: 100%;
  overflow: visible;
  transform: rotate(-90deg);
}

.pilot-radial-track,
.pilot-radial-progress {
  fill: none;
  stroke-width: 9;
}

.pilot-radial-track {
  stroke: #e7edef;
}

.pilot-radial-progress {
  stroke: var(--health-accent);
  stroke-linecap: round;
  transition: stroke-dashoffset .42s cubic-bezier(.22, 1, .36, 1);
}

.pilot-radial-value {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: baseline;
  justify-content: center;
  padding-top: 39px;
  color: #102c39;
  font-variant-numeric: tabular-nums;
}

.pilot-radial-value strong {
  font-size: 1.55rem;
  font-weight: 600;
  letter-spacing: -.012em;
  line-height: 1;
}

.pilot-radial-value span {
  margin-left: 2px;
  color: var(--health-accent);
  font-size: .7rem;
  font-weight: 600;
}

.pilot-radial-copy {
  display: grid;
  min-width: 0;
  justify-items: center;
  gap: .3rem;
}

.pilot-radial-label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  color: #17323f;
  font-size: .69rem;
  font-weight: 600;
  line-height: 1.3;
}

.pilot-radial-label svg {
  flex: none;
  color: var(--health-accent);
}

.pilot-radial-copy p {
  max-width: 24ch;
  color: #617780;
  font-size: .61rem;
  line-height: 1.42;
}

.pilot-radial-copy small {
  display: flex;
  align-items: center;
  gap: .35rem;
  color: #405965;
  font-size: .61rem;
  font-weight: 600;
}

.pilot-radial-copy small::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--health-accent);
}

/* KPI manager: fixed to the viewport and intentionally centred. */
body:has(.pilot-modal-overlay) {
  overflow: hidden;
}

.pilot-modal-overlay {
  inset: 0 !important;
  z-index: 10000 !important;
  display: grid !important;
  place-items: center !important;
  padding: 20px !important;
  background: rgba(4, 15, 24, .48) !important;
  backdrop-filter: blur(3px) !important;
  -webkit-backdrop-filter: blur(3px) !important;
}

.pilot-modal-card {
  width: min(820px, calc(100vw - 40px)) !important;
  max-width: 820px !important;
  height: min(680px, calc(100dvh - 40px)) !important;
  max-height: calc(100dvh - 40px) !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 28px 80px rgba(4, 15, 24, .34) !important;
  transform-origin: 50% 45% !important;
}

.pilot-modal-header {
  align-items: center !important;
  padding: 1.15rem 1.25rem 1rem !important;
  background: #fff !important;
}

.pilot-modal-header h2 {
  color: #102c39 !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  letter-spacing: -.012em !important;
}

.pilot-modal-header p {
  max-width: 64ch;
  color: #647a84 !important;
  font-size: .72rem !important;
}

.pilot-modal-close {
  width: 40px !important;
  height: 40px !important;
  border-radius: 10px !important;
}

.pilot-modal-body {
  padding: 1rem 1.25rem 1.25rem !important;
  scrollbar-gutter: stable;
}

.pilot-modal-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: .5rem !important;
}

.pilot-modal-toggle {
  min-height: 54px !important;
  padding: .45rem .55rem .45rem .7rem !important;
  border-color: #dfe7ea !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #405965 !important;
  font-size: .71rem !important;
}

.pilot-modal-toggle.is-checked {
  border-color: #8da4af !important;
  background: #f1f5f6 !important;
  color: #102c39 !important;
  box-shadow: none !important;
}

.pilot-modal-toggle-box {
  width: 22px !important;
  height: 22px !important;
  border-radius: 6px !important;
}

.pilot-modal-order-actions button {
  width: 40px !important;
  height: 40px !important;
  border-radius: 9px !important;
}

.pilot-modal-footer {
  padding: .85rem 1.25rem !important;
  background: #f7f9fa !important;
}

.pilot-modal-btn-subtle,
.pilot-modal-btn-primary {
  min-height: 44px !important;
  border-radius: 10px !important;
  font-size: .7rem !important;
}

.pilot-modal-btn-primary:hover {
  transform: none !important;
}

/* Settings keep their modal workflow but use a more readable, bounded canvas. */
.settings-center-overlay {
  display: grid !important;
  place-items: center !important;
  padding: 20px !important;
}

.settings-center {
  width: min(1120px, calc(100vw - 40px)) !important;
  max-width: 1120px !important;
  height: min(760px, calc(100dvh - 40px)) !important;
  max-height: calc(100dvh - 40px) !important;
  border-radius: 16px !important;
}

.settings-center-scroll {
  scrollbar-gutter: stable;
}

.pilot-skeleton-card {
  opacity: 1 !important;
  background: #e7edef !important;
}

@media (max-width: 1080px) {
  .pilot-kpis-container,
  .pilot-payment-health {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  .pilot-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .pilot-grid > * {
    grid-column: 1 / -1 !important;
    min-width: 0 !important;
  }

  .page-info > p,
  .settings-info-tip > p {
    position: fixed !important;
    inset: auto 12px max(12px, env(safe-area-inset-bottom)) !important;
    width: auto !important;
    max-height: min(42dvh, 300px) !important;
    translate: none !important;
  }

  .page-info > summary,
  .settings-info-tip > summary {
    min-width: 44px;
    min-height: 44px;
  }

  .pilot-modal-overlay,
  .settings-center-overlay {
    padding: 8px !important;
  }

  .pilot-modal-card,
  .settings-center {
    width: calc(100vw - 16px) !important;
    height: calc(100dvh - 16px) !important;
    max-height: calc(100dvh - 16px) !important;
    border-radius: 14px !important;
  }

  .pilot-modal-grid {
    grid-template-columns: 1fr !important;
  }

  .pilot-modal-footer,
  .pilot-modal-footer > div {
    align-items: stretch !important;
  }
}

@media (max-width: 560px) {
  .pilot-kpis-container,
  .pilot-payment-health {
    grid-template-columns: 1fr !important;
  }

  .pilot-kpi-card {
    min-height: 164px !important;
  }

  .pilot-radial-kpi {
    min-height: 0;
    display: grid;
    grid-template-columns: 104px minmax(0, 1fr);
    align-items: center;
    text-align: left;
  }

  .pilot-radial-chart {
    width: 104px;
    height: 104px;
  }

  .pilot-radial-copy {
    justify-items: start;
    text-align: left;
  }

  .pilot-radial-label {
    justify-content: flex-start;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pilot-radial-progress,
  .pilot-kpi-card,
  .pilot-radial-kpi {
    transition: none !important;
  }
}


/* eGestion 0.5.5 — production interaction and dashboard refinement */
:root {
  --eg-ledger-border: #d7e1e6;
  --eg-ledger-rule: #e9eef1;
  --eg-ledger-ink: #102d3b;
  --eg-ledger-muted: #526a75;
  --eg-ledger-accent: #174b5d;
}

html {
  scrollbar-width: thin;
  scrollbar-color: #a8b8bf transparent;
}

*::-webkit-scrollbar {
  width: 6px !important;
  height: 6px !important;
}

*::-webkit-scrollbar-track {
  background: transparent !important;
}

*::-webkit-scrollbar-thumb {
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  background: #a8b8bf !important;
  background-clip: padding-box !important;
}

*::-webkit-scrollbar-thumb:hover {
  background: #7f949d !important;
  background-clip: padding-box !important;
}

.route-stage,
.route-stage > :first-child,
.route-stage .page-shell {
  opacity: 1 !important;
  transform: none;
}

.route-stage.eg-route-enter > :first-child {
  animation: eg-route-settle .18s cubic-bezier(.16, 1, .3, 1) both !important;
}

@keyframes eg-route-settle {
  from {
    clip-path: inset(0 0 4px 0);
    transform: translateY(3px);
  }
  to {
    clip-path: inset(0);
    transform: translateY(0);
  }
}

.document-list-actions {
  display: grid !important;
  grid-template-columns: minmax(190px, 1fr) !important;
  gap: 8px !important;
  width: min(100%, 220px) !important;
}

.document-list-actions > a,
.document-list-actions > button {
  justify-content: center !important;
  width: 100% !important;
  min-height: 42px !important;
}

.eg-draft-original-hidden {
  display: none !important;
}

.common-filter-main {
  grid-template-columns: minmax(0, 1fr) auto auto !important;
  align-items: center !important;
}

.common-filter-toggle,
.eg-draft-filter-button {
  min-height: 42px !important;
  height: 42px !important;
}

.eg-draft-filter-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 0 12px !important;
  border: 1px solid #cbd8de !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #5a707a !important;
  font: inherit !important;
  font-size: 12px !important;
  font-weight: 580 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  box-shadow: none !important;
  transition: border-color .16s ease, background-color .16s ease, color .16s ease !important;
}

.eg-draft-filter-button:hover {
  border-color: #9fb2bb !important;
  background: #f8fafb !important;
}

.eg-draft-filter-button:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--eg-ledger-accent) 22%, transparent) !important;
  outline-offset: 2px !important;
}

.eg-draft-filter-button .eg-draft-choice {
  color: #73868e !important;
  transition: color .16s ease !important;
}

.eg-draft-filter-button:not(.is-active) .eg-draft-choice:first-child,
.eg-draft-filter-button.is-active .eg-draft-choice:last-child {
  color: var(--eg-ledger-ink) !important;
}

.eg-draft-track {
  position: relative !important;
  width: 34px !important;
  height: 20px !important;
  flex: 0 0 34px !important;
  border: 1px solid #b8c7cd !important;
  border-radius: 999px !important;
  background: #e7edf0 !important;
  transition: border-color .2s cubic-bezier(.16, 1, .3, 1), background-color .2s cubic-bezier(.16, 1, .3, 1) !important;
}

.eg-draft-track > i {
  position: absolute !important;
  top: 3px !important;
  left: 3px !important;
  width: 12px !important;
  height: 12px !important;
  border-radius: 50% !important;
  background: #fff !important;
  box-shadow: 0 1px 3px rgba(16, 45, 59, .25) !important;
  transition: transform .22s cubic-bezier(.16, 1, .3, 1) !important;
}

.eg-draft-filter-button.is-active .eg-draft-track {
  border-color: var(--eg-ledger-accent) !important;
  background: var(--eg-ledger-accent) !important;
}

.eg-draft-filter-button.is-active .eg-draft-track > i {
  transform: translateX(14px) !important;
}

.document-expanded-panel {
  transform-origin: top center !important;
  animation: eg-document-open .22s cubic-bezier(.16, 1, .3, 1) both !important;
}

@keyframes eg-document-open {
  from {
    clip-path: inset(0 0 100% 0);
    transform: translateY(-3px);
  }
  to {
    clip-path: inset(0);
    transform: translateY(0);
  }
}

.page-info,
.settings-info-tip {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
}

.page-info > summary,
.settings-info-tip > summary {
  display: inline-grid !important;
  place-items: center !important;
  width: 22px !important;
  min-width: 22px !important;
  height: 22px !important;
  min-height: 22px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: #607681 !important;
  box-shadow: none !important;
  cursor: help !important;
  transition: color .15s ease, background-color .15s ease !important;
}

.page-info > summary::-webkit-details-marker,
.settings-info-tip > summary::-webkit-details-marker {
  display: none !important;
}

.page-info > summary:hover,
.settings-info-tip > summary:hover,
.page-info[open] > summary,
.settings-info-tip[open] > summary {
  border: 0 !important;
  background: #edf3f5 !important;
  color: var(--eg-ledger-accent) !important;
}

.page-info > p,
.settings-info-tip > p {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  right: auto !important;
  bottom: auto !important;
  left: 50% !important;
  z-index: 220 !important;
  width: min(320px, calc(100vw - 24px)) !important;
  max-width: 320px !important;
  max-height: min(42dvh, 300px) !important;
  margin: 0 !important;
  padding: 11px 12px !important;
  overflow: auto !important;
  border: 1px solid #cbd8de !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #2f4854 !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
  text-align: left !important;
  translate: -50% 0 !important;
  transform: none !important;
  box-shadow: 0 10px 26px rgba(16, 45, 59, .14) !important;
  animation: eg-info-reveal .14s cubic-bezier(.16, 1, .3, 1) both !important;
}

@keyframes eg-info-reveal {
  from { clip-path: inset(0 0 6px 0); }
  to { clip-path: inset(0); }
}

@media (hover: hover) and (pointer: fine) {
  .page-info:hover > p,
  .settings-info-tip:hover > p {
    display: block !important;
  }
}

.pilot-kpis-container {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--eg-ledger-border) !important;
  border-radius: 16px !important;
  background: #fff !important;
}

.pilot-kpi-card,
.pilot-kpi-card[class*="is-"] {
  --kpi-accent: var(--eg-ledger-accent) !important;
  position: relative !important;
  display: flex !important;
  min-width: 0 !important;
  min-height: 178px !important;
  padding: 18px !important;
  overflow: hidden !important;
  border: 0 !important;
  border-right: 1px solid var(--eg-ledger-rule) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--eg-ledger-ink) !important;
  box-shadow: none !important;
  text-decoration: none !important;
  transition: background-color .16s ease !important;
}

.pilot-kpi-card:nth-child(4n),
.pilot-kpi-card:last-child {
  border-right: 0 !important;
}

.pilot-kpi-card:nth-child(n + 5) {
  border-top: 1px solid var(--eg-ledger-rule) !important;
}

.pilot-kpi-card::before,
.pilot-kpi-card::after,
.pilot-kpi-bg-icon,
.pilot-kpi-arrow {
  display: none !important;
}

.pilot-kpi-card:hover {
  border-color: var(--eg-ledger-rule) !important;
  background: #f7fafb !important;
  box-shadow: none !important;
  transform: none !important;
}

.pilot-kpi-card:focus-visible,
.pilot-radial-kpi:focus-visible {
  z-index: 1 !important;
  outline: 3px solid color-mix(in srgb, var(--eg-ledger-accent) 23%, transparent) !important;
  outline-offset: -3px !important;
}

.pilot-kpi-top {
  align-items: center !important;
  gap: 10px !important;
}

.pilot-kpi-label {
  max-width: 20ch !important;
  color: var(--eg-ledger-muted) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: .045em !important;
  text-transform: uppercase !important;
}

.pilot-kpi-icon {
  width: 24px !important;
  height: 24px !important;
  margin-left: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #456874 !important;
}

.pilot-kpi-card:hover .pilot-kpi-icon {
  background: transparent !important;
  transform: none !important;
}

.pilot-kpi-value {
  margin-top: 16px !important;
  color: var(--eg-ledger-ink) !important;
  font-size: clamp(1.55rem, 2.4vw, 2.05rem) !important;
  font-weight: 600 !important;
  font-variant-numeric: tabular-nums !important;
  letter-spacing: -.012em !important;
  line-height: 1 !important;
}

.pilot-kpi-currency {
  margin-left: 5px !important;
  color: #667c85 !important;
  font-size: .38em !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
}

.pilot-kpi-meta {
  gap: 3px !important;
  margin-top: auto !important;
  padding: 12px 0 0 !important;
  border-top: 1px solid var(--eg-ledger-rule) !important;
}

.pilot-kpi-meta span,
.pilot-kpi-meta small {
  color: #4d6570 !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
}

.pilot-payment-health {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--eg-ledger-border) !important;
  border-radius: 16px !important;
  background: #fff !important;
}

.pilot-radial-kpi {
  --health-accent: var(--eg-ledger-accent) !important;
  display: grid !important;
  grid-template-rows: 106px auto !important;
  align-content: start !important;
  justify-items: center !important;
  min-width: 0 !important;
  min-height: 260px !important;
  padding: 22px 18px 18px !important;
  border: 0 !important;
  border-right: 1px solid var(--eg-ledger-rule) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--eg-ledger-ink) !important;
  box-shadow: none !important;
  transition: background-color .16s ease !important;
}

.pilot-radial-kpi:last-child {
  border-right: 0 !important;
}

.pilot-radial-kpi:hover {
  background: #f7fafb !important;
  box-shadow: none !important;
  transform: none !important;
}

.pilot-radial-chart {
  width: 104px !important;
  height: 104px !important;
}

.pilot-radial-chart svg {
  transform: rotate(-90deg) !important;
}

.pilot-radial-track {
  stroke: #e4ebee !important;
  stroke-width: 7 !important;
}

.pilot-radial-progress {
  stroke: var(--eg-ledger-accent) !important;
  stroke-width: 7 !important;
  stroke-linecap: round !important;
  transition: stroke-dashoffset .5s cubic-bezier(.16, 1, .3, 1) !important;
}

.pilot-radial-value strong {
  color: var(--eg-ledger-ink) !important;
  font-size: 25px !important;
  font-weight: 600 !important;
  font-variant-numeric: tabular-nums !important;
  letter-spacing: -.012em !important;
}

.pilot-radial-value span {
  color: #687d86 !important;
  font-size: 11px !important;
}

.pilot-radial-copy {
  align-items: center !important;
  width: 100% !important;
  text-align: center !important;
}

.pilot-radial-label {
  justify-content: center !important;
  color: var(--eg-ledger-ink) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

.pilot-radial-label svg {
  color: #52717d !important;
}

.pilot-radial-copy p {
  min-height: 34px !important;
  margin-top: 8px !important;
  color: #526a75 !important;
  font-size: 11px !important;
  line-height: 1.45 !important;
}

.pilot-radial-copy small {
  margin-top: 8px !important;
  color: #334f5b !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .02em !important;
}

.pilot-modal-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 210 !important;
  display: grid !important;
  place-items: center !important;
  padding: 20px !important;
  background: rgba(8, 19, 34, .48) !important;
}

.pilot-modal-card {
  position: relative !important;
  inset: auto !important;
  width: min(780px, calc(100vw - 40px)) !important;
  max-height: min(760px, calc(100dvh - 40px)) !important;
  margin: auto !important;
  overflow: auto !important;
  border: 1px solid #cbd8de !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 24px 70px rgba(8, 19, 34, .26) !important;
}

@media (max-width: 1150px) {
  .pilot-kpis-container,
  .pilot-payment-health {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .pilot-kpi-card:nth-child(2n),
  .pilot-radial-kpi:nth-child(2n) {
    border-right: 0 !important;
  }

  .pilot-kpi-card:nth-child(n + 3),
  .pilot-radial-kpi:nth-child(n + 3) {
    border-top: 1px solid var(--eg-ledger-rule) !important;
  }
}

@media (max-width: 720px) {
  *::-webkit-scrollbar {
    width: 4px !important;
    height: 4px !important;
  }

  .document-list-actions {
    width: 100% !important;
  }

  .common-filter-main {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }

  .common-filter-search {
    grid-column: 1 / -1 !important;
  }

  .common-filter-toggle {
    grid-column: 1 !important;
    width: 100% !important;
  }

  .eg-draft-filter-button {
    grid-column: 2 !important;
    width: 100% !important;
  }

  .page-info > p,
  .settings-info-tip > p {
    position: fixed !important;
    inset: auto 12px max(12px, env(safe-area-inset-bottom)) !important;
    width: auto !important;
    max-width: none !important;
    translate: none !important;
  }

  .pilot-kpis-container,
  .pilot-payment-health {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .pilot-kpi-card,
  .pilot-radial-kpi {
    border-right: 0 !important;
    border-top: 1px solid var(--eg-ledger-rule) !important;
  }

  .pilot-kpi-card:first-child,
  .pilot-radial-kpi:first-child {
    border-top: 0 !important;
  }

  .pilot-radial-kpi {
    grid-template-columns: 96px minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
    align-items: center !important;
    justify-items: stretch !important;
    min-height: 150px !important;
    padding: 18px !important;
  }

  .pilot-radial-chart {
    width: 90px !important;
    height: 90px !important;
  }

  .pilot-radial-copy {
    align-items: flex-start !important;
    padding-left: 12px !important;
    text-align: left !important;
  }

  .pilot-radial-label {
    justify-content: flex-start !important;
  }

  .pilot-modal-overlay {
    padding: 8px !important;
  }

  .pilot-modal-card {
    width: calc(100vw - 16px) !important;
    max-height: calc(100dvh - 16px) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .route-stage.eg-route-enter > :first-child,
  .document-expanded-panel {
    animation: none !important;
  }
}

/* eGestion production interaction repair 0.5.6 */
.route-stage,
.route-stage.eg-route-enter,
.route-stage > :first-child { animation: none !important; opacity: 1 !important; transform: none !important; }

.page-info:not([open]) > p,
.settings-info-tip:not([open]) > p { display: none !important; }
.page-info > p,
.settings-info-tip > p { z-index: 40 !important; }
.page-info > summary,
.settings-info-tip > summary {
  min-width: 30px !important;
  min-height: 30px !important;
  width: 30px !important;
  height: 30px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
}
.page-info > summary:hover,
.settings-info-tip > summary:hover { color: #0b607d !important; background: #eaf4f7 !important; }

.measured-menu-backdrop { touch-action: pan-x pan-y !important; }
.measured-context-menu {
  scrollbar-width: thin;
  scrollbar-color: #9fb1ba transparent;
  overscroll-behavior: contain;
}
.measured-context-menu::-webkit-scrollbar,
.app-scrollbar::-webkit-scrollbar { width: 6px; height: 6px; }
.measured-context-menu::-webkit-scrollbar-thumb,
.app-scrollbar::-webkit-scrollbar-thumb { background: #9fb1ba; border-radius: 999px; }

.common-filter-main { grid-template-columns: minmax(220px,1fr) auto auto !important; }
.document-draft-switch {
  min-height: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 0 10px !important;
  border: 1px solid #c9d7dd !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #35515e !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  box-shadow: 0 1px 2px rgba(6,38,56,.05) !important;
}
.document-draft-switch:hover { border-color: #7d97a3 !important; background: #f8fbfc !important; }
.document-draft-switch > span { width: 32px !important; height: 18px !important; }
.document-draft-switch > span::after { width: 12px !important; height: 12px !important; }
.document-draft-switch input:checked + span::after { transform: translateX(14px) !important; }

@media (min-width:1536px) {
  .document-grid-head,
  .document-grid-row {
    grid-template-columns: 52px 130px minmax(160px,190px) minmax(220px,1fr) 170px 145px 52px 48px !important;
  }
}
@media (min-width:1280px) and (max-width:1535px) {
  .document-grid-head,
  .document-grid-row {
    grid-template-columns: 46px 112px minmax(150px,175px) minmax(170px,1fr) 145px 125px 48px 44px !important;
  }
}
.document-expand-button {
  display: grid !important;
  place-items: center !important;
  width: 34px !important;
  height: 34px !important;
  padding: 0 !important;
  border: 1px solid #c7d5dc !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #315260 !important;
  box-shadow: 0 2px 7px rgba(7,38,56,.10) !important;
  transition: color .16s ease, border-color .16s ease, background-color .16s ease, box-shadow .16s ease !important;
}
.document-expand-button:hover {
  color: #075f7d !important;
  border-color: #73a6b9 !important;
  background: #edf7fa !important;
  box-shadow: 0 3px 9px rgba(7,91,123,.16) !important;
}
.document-expand-button[aria-expanded="true"] {
  color: #fff !important;
  border-color: #0a627f !important;
  background: #0a627f !important;
}
.document-expand-button svg { width: 17px !important; height: 17px !important; transition: transform .22s cubic-bezier(.16,1,.3,1) !important; }

@media (max-width: 760px) {
  .common-filter-main { grid-template-columns: minmax(0,1fr) 1fr !important; }
  .common-filter-search { grid-column: 1 / -1 !important; }
  .common-filter-toggle,
  .document-draft-switch { width: 100% !important; justify-content: center !important; }
  .page-info > p,
  .settings-info-tip > p { z-index: 80 !important; }
}

/* eGestion dashboard 0.5.6 — dense financial instruments */
.pilot-kpis-container {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  gap: 12px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}
.pilot-kpi-card,
.pilot-kpi-card[class*="is-"] {
  --kpi-accent: #315a6f;
  --kpi-soft: #edf4f7;
  position: relative !important;
  display: flex !important;
  min-height: 128px !important;
  padding: 16px 18px !important;
  border: 1px solid color-mix(in srgb,var(--kpi-accent) 18%,#d8e3e8) !important;
  border-radius: 15px !important;
  background: linear-gradient(135deg,#fff 0%,var(--kpi-soft) 100%) !important;
  box-shadow: 0 6px 18px rgba(7,38,56,.055) !important;
  overflow: hidden !important;
  isolation: isolate !important;
  transition: transform .18s ease,border-color .18s ease,box-shadow .18s ease !important;
}
.pilot-kpi-card.is-blue { --kpi-accent:#1d4ed8; --kpi-soft:#eaf1ff; }
.pilot-kpi-card.is-green,.pilot-kpi-card.is-emerald { --kpi-accent:#047857; --kpi-soft:#e8f7f0; }
.pilot-kpi-card.is-red,.pilot-kpi-card.is-rose { --kpi-accent:#b4233f; --kpi-soft:#fff0f2; }
.pilot-kpi-card.is-orange { --kpi-accent:#b45309; --kpi-soft:#fff4e5; }
.pilot-kpi-card.is-purple,.pilot-kpi-card.is-violet { --kpi-accent:#6d28d9; --kpi-soft:#f4efff; }
.pilot-kpi-card.is-cyan,.pilot-kpi-card.is-sky { --kpi-accent:#08758f; --kpi-soft:#e8f8fb; }
.pilot-kpi-card.is-indigo { --kpi-accent:#4338ca; --kpi-soft:#eeefff; }
.pilot-kpi-card.is-slate { --kpi-accent:#475569; --kpi-soft:#f1f4f6; }
.pilot-kpi-card::before,.pilot-kpi-card::after,.pilot-kpi-bg-icon,.pilot-kpi-arrow { display:none !important; }
.pilot-kpi-card:hover { transform:translateY(-2px) !important; border-color:color-mix(in srgb,var(--kpi-accent) 38%,#d8e3e8) !important; box-shadow:0 10px 24px rgba(7,38,56,.09) !important; }
.pilot-kpi-top { position:static !important; z-index:2 !important; }
.pilot-kpi-label { max-width:calc(100% - 64px) !important; color:color-mix(in srgb,var(--kpi-accent) 74%,#223c48) !important; font-size:11px !important; font-weight:600 !important; letter-spacing:.04em !important; text-transform:uppercase !important; }
.pilot-kpi-icon {
  position:absolute !important;
  right:4px !important;
  bottom:-9px !important;
  z-index:-1 !important;
  width:88px !important;
  height:88px !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
  color:var(--kpi-accent) !important;
  opacity:.12 !important;
}
.pilot-kpi-icon svg { width:78px !important; height:78px !important; stroke-width:1.25 !important; }
.pilot-kpi-card:hover .pilot-kpi-icon { background:transparent !important; transform:none !important; opacity:.16 !important; }
.pilot-kpi-value { position:relative !important; z-index:2 !important; margin-top:10px !important; color:#132f3c !important; font-size:25px !important; font-weight:600 !important; letter-spacing:-.012em !important; }
.pilot-kpi-currency { color:var(--kpi-accent) !important; font-size:10px !important; font-weight:650 !important; letter-spacing:.06em !important; }
.pilot-kpi-meta { position:relative !important; z-index:2 !important; margin-top:auto !important; padding-top:7px !important; border:0 !important; }
.pilot-kpi-meta span { max-width:calc(100% - 40px) !important; color:#506a76 !important; font-size:10px !important; line-height:1.35 !important; white-space:nowrap !important; text-overflow:ellipsis !important; overflow:hidden !important; }
.pilot-kpi-meta small { display:none !important; }

.pilot-payment-health {
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}
.pilot-radial-kpi {
  --health-accent:#315a6f;
  display:grid !important;
  grid-template-rows:112px auto !important;
  justify-items:center !important;
  min-height:188px !important;
  padding:14px 12px !important;
  border:1px solid color-mix(in srgb,var(--health-accent) 20%,#d9e4e8) !important;
  border-radius:17px !important;
  background:linear-gradient(180deg,#fff 45%,color-mix(in srgb,var(--health-accent) 7%,#fff) 100%) !important;
  box-shadow:0 5px 16px rgba(7,38,56,.05) !important;
  transition:transform .18s ease,border-color .18s ease !important;
}
.pilot-radial-kpi:hover { transform:translateY(-2px) !important; border-color:color-mix(in srgb,var(--health-accent) 44%,#d9e4e8) !important; background:linear-gradient(180deg,#fff 40%,color-mix(in srgb,var(--health-accent) 10%,#fff) 100%) !important; }
.pilot-radial-kpi:nth-child(1){--health-accent:#1d4ed8 !important}.pilot-radial-kpi:nth-child(2){--health-accent:#047857 !important}.pilot-radial-kpi:nth-child(3){--health-accent:#b45309 !important}.pilot-radial-kpi:nth-child(4){--health-accent:#7c3aed !important}
.pilot-radial-chart { width:108px !important; height:108px !important; }
.pilot-radial-track { stroke:color-mix(in srgb,var(--health-accent) 11%,#e8eef1) !important; stroke-width:8 !important; }
.pilot-radial-progress { stroke:var(--health-accent) !important; stroke-width:8 !important; }
.pilot-radial-value strong { color:#142f3b !important; font-size:25px !important; }
.pilot-radial-value span { color:var(--health-accent) !important; font-weight:650 !important; }
.pilot-radial-copy { align-items:center !important; text-align:center !important; }
.pilot-radial-label { justify-content:center !important; color:#1f3a46 !important; font-size:11px !important; font-weight:600 !important; }
.pilot-radial-label svg { color:var(--health-accent) !important; }
.pilot-radial-copy p { display:none !important; }
.pilot-radial-copy small { margin-top:7px !important; padding:3px 7px !important; border-radius:999px !important; background:color-mix(in srgb,var(--health-accent) 10%,#fff) !important; color:var(--health-accent) !important; font-size:9px !important; font-weight:650 !important; letter-spacing:.035em !important; text-transform:uppercase !important; }

.pilot-flow-panel { min-height:430px !important; border-radius:15px !important; overflow:hidden !important; }
.pilot-flow-panel > header { min-height:66px !important; padding:13px 16px !important; }
.pilot-flow-panel > header h2 { font-size:14px !important; }
.pilot-flow-panel > header p { margin-top:2px !important; color:#657b86 !important; font-size:10px !important; }
.pilot-chart-unit { padding:4px 8px !important; border:1px solid #d7e2e7 !important; border-radius:7px !important; background:#f6f9fa !important; color:#506a76 !important; font-size:9px !important; font-weight:650 !important; letter-spacing:.08em !important; }
.pilot-apex-chart { min-height:340px !important; padding:4px 12px 8px !important; }
.pilot-chart-error { display:grid !important; place-items:center !important; min-height:300px !important; color:#a23d4f !important; font-size:12px !important; }
.apexcharts-tooltip { border:1px solid #cfdde3 !important; border-radius:9px !important; box-shadow:0 12px 28px rgba(4,31,45,.16) !important; }
.apexcharts-tooltip-title { border-bottom-color:#e2e9ec !important; background:#f7fafb !important; font-weight:600 !important; }

@media(max-width:1100px){.pilot-kpis-container{grid-template-columns:repeat(2,minmax(0,1fr))!important}.pilot-payment-health{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:640px){.pilot-kpis-container,.pilot-payment-health{grid-template-columns:1fr!important}.pilot-radial-kpi{grid-template-columns:96px minmax(0,1fr)!important;grid-template-rows:auto!important;align-items:center!important;justify-items:stretch!important;min-height:132px!important}.pilot-radial-chart{width:92px!important;height:92px!important}.pilot-radial-copy{align-items:flex-start!important;text-align:left!important}.pilot-radial-label{justify-content:flex-start!important}.pilot-apex-chart{padding-inline:2px!important}.pilot-flow-panel{min-height:390px!important}}

/* eGestion production polish 0.5.6 — parties, settings, search and assistant */
.account-metric-strip {
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.account-metric-strip > div {
  --metric-accent:#1d4ed8;
  --metric-soft:#edf3ff;
  position:relative !important;
  min-height:102px !important;
  padding:15px 16px !important;
  border:1px solid color-mix(in srgb,var(--metric-accent) 17%,#dbe5e9) !important;
  border-radius:14px !important;
  background:color-mix(in srgb,var(--metric-accent) 6%,#fff) !important;
  overflow:hidden !important;
  box-shadow:0 5px 15px rgba(7,38,56,.045) !important;
}
.account-metric-strip > div:nth-child(1){--metric-accent:#1d4ed8;--metric-soft:#edf3ff}
.account-metric-strip > div:nth-child(2){--metric-accent:#047857;--metric-soft:#eaf8f2}
.account-metric-strip > div:nth-child(3){--metric-accent:#b45309;--metric-soft:#fff6e8}
.account-metric-strip > div:nth-child(4){--metric-accent:#7c3aed;--metric-soft:#f5f0ff}
.account-metric-strip > div::after {
  content:"";
  position:absolute;
  right:-18px;
  bottom:-28px;
  width:78px;
  height:78px;
  border:18px solid color-mix(in srgb,var(--metric-accent) 10%,transparent);
  border-radius:999px;
}
.account-metric-strip small { color:color-mix(in srgb,var(--metric-accent) 70%,#405b68) !important; font-size:10px !important; font-weight:650 !important; letter-spacing:.045em !important; text-transform:uppercase !important; }
.account-metric-strip strong { position:relative !important; z-index:1 !important; color:#173744 !important; font-size:21px !important; font-weight:600 !important; letter-spacing:-.012em !important; }

.settings-center-content { background:#f4f7f8 !important; }
.settings-center-scroll { padding:14px !important; }
.settings-center-scroll > form.space-y-5 {
  display:block !important;
  max-width:1180px !important;
  margin:0 auto !important;
  border:1px solid #d8e3e8 !important;
  border-radius:16px !important;
  background:#fff !important;
  overflow:hidden !important;
  box-shadow:0 8px 24px rgba(7,38,56,.055) !important;
}
.settings-center-scroll > form.space-y-5 > .surface-card {
  margin:0 !important;
  border:0 !important;
  border-bottom:1px solid #e3eaed !important;
  border-radius:0 !important;
  background:#fff !important;
  box-shadow:none !important;
}
.settings-center-scroll > form.space-y-5 > .surface-card:last-of-type { border-bottom:0 !important; }
.settings-center-scroll > form.space-y-5 > [role=alert],
.settings-center-scroll > form.space-y-5 > [role=status] { margin:14px !important; }
.settings-center-scroll > form.space-y-5 > div:last-child { padding:14px 18px !important; background:#f8fafb !important; }
.ai-provider-card {
  min-height:76px !important;
  padding:12px !important;
  border:1px solid #d7e2e7 !important;
  border-radius:12px !important;
  background:#fff !important;
  box-shadow:none !important;
  transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,transform .16s ease !important;
}
.ai-provider-card:hover { border-color:#9fb6c1 !important; background:#f8fbfc !important; transform:translateY(-1px) !important; }
.ai-provider-card.is-selected { border-color:#1b607e !important; background:#eef7fa !important; box-shadow:0 0 0 2px rgba(27,96,126,.09) !important; }
.ai-provider-card strong { color:#173744 !important; font-size:13px !important; }
.ai-provider-card small { margin-top:3px !important; color:#637a85 !important; font-size:10px !important; line-height:1.35 !important; }
.ai-credential-panel { padding:16px !important; border:1px solid #ded8f2 !important; border-radius:12px !important; background:#faf8ff !important; }

.global-search-overlay { animation:eg-search-fade .14s ease-out both !important; }
.global-search-panel {
  width:min(680px,calc(100vw - 24px)) !important;
  border-color:#cbdbe2 !important;
  border-radius:18px !important;
  box-shadow:0 26px 70px rgba(3,25,38,.30) !important;
  animation:eg-search-enter .22s cubic-bezier(.16,1,.3,1) both !important;
}
.global-search-input { min-height:62px !important; background:#fbfdfe !important; }
.global-search-input input { font-size:15px !important; }
.global-search-results { padding:8px !important; }
.global-search-result {
  min-height:48px !important;
  justify-content:flex-start !important;
  border:0 !important;
  border-radius:11px !important;
  color:#294854 !important;
  transition:background-color .12s ease,transform .12s ease !important;
}
.global-search-result:hover,.global-search-result:focus-visible { background:#eef6f8 !important; transform:translateX(2px) !important; }
@keyframes eg-search-fade { from{opacity:0} to{opacity:1} }
@keyframes eg-search-enter { from{opacity:0;transform:translateY(10px) scale(.985)} to{opacity:1;transform:none} }

.floating-ai-panel {
  width:min(460px,calc(100vw - 24px)) !important;
  max-height:min(760px,calc(100dvh - 108px)) !important;
  right:18px !important;
  bottom:82px !important;
  border:1px solid #cbdce3 !important;
  border-radius:20px !important;
  background:#fff !important;
  overflow:hidden !important;
  box-shadow:0 28px 70px rgba(3,27,40,.25) !important;
  animation:eg-ai-enter .24s cubic-bezier(.16,1,.3,1) both !important;
}
.floating-ai-panel > header {
  min-height:64px !important;
  padding:11px 13px !important;
  border-bottom:1px solid #dce6ea !important;
  background:#0d2e3e !important;
  color:#fff !important;
}
.floating-ai-panel > header small { color:#a9c4d0 !important; letter-spacing:.02em !important; }
.floating-ai-panel > header button { border:1px solid rgba(255,255,255,.16) !important; border-radius:10px !important; color:#dceaf0 !important; }
.floating-ai-messages {
  min-height:210px !important;
  padding:16px 14px !important;
  background:#f6f9fa !important;
  scrollbar-width:thin !important;
  scrollbar-color:#9db1bb transparent !important;
}
.floating-ai-messages article { max-width:88% !important; gap:7px !important; }
.floating-ai-messages article[data-role="assistant"] > div {
  border:1px solid #d9e5e9 !important;
  border-radius:4px 15px 15px 15px !important;
  background:#fff !important;
  color:#294854 !important;
  box-shadow:0 3px 10px rgba(7,38,56,.045) !important;
}
.floating-ai-messages article[data-role="user"] { margin-left:auto !important; }
.floating-ai-messages article[data-role="user"] > div {
  border-radius:15px 4px 15px 15px !important;
  background:#0c607d !important;
  color:#fff !important;
}
.floating-ai-prompts { padding:9px 12px !important; border-top:1px solid #e3eaed !important; background:#fff !important; }
.floating-ai-prompts button { border:1px solid #d6e2e7 !important; border-radius:999px !important; background:#fff !important; color:#315260 !important; }
.floating-ai-voice { margin:10px 12px 0 !important; border:1px solid #d9e4e8 !important; border-radius:12px !important; background:#f8fbfc !important; }
.floating-ai-attachment { margin:10px 12px 0 !important; border-radius:12px !important; background:#eef6f8 !important; }
.floating-ai-panel > footer {
  display:grid !important;
  grid-template-columns:38px 38px minmax(0,1fr) 40px !important;
  align-items:end !important;
  gap:6px !important;
  margin:10px 12px 8px !important;
  padding:6px !important;
  border:1px solid #cadbe2 !important;
  border-radius:15px !important;
  background:#fff !important;
  box-shadow:0 5px 16px rgba(7,38,56,.06) !important;
}
.floating-ai-panel > footer textarea { min-height:38px !important; max-height:112px !important; padding:9px 4px !important; border:0 !important; background:transparent !important; box-shadow:none !important; resize:none !important; }
.floating-ai-panel > footer > button { width:38px !important; height:38px !important; min-height:38px !important; border-radius:11px !important; }
.floating-ai-panel > footer > button:last-child { background:#0c607d !important; color:#fff !important; }
.floating-ai-disclaimer { padding:0 14px 12px !important; color:#71858e !important; font-size:9px !important; line-height:1.45 !important; }
.floating-ai-trigger { right:18px !important; bottom:18px !important; min-height:48px !important; border-radius:999px !important; background:#0b4f68 !important; color:#fff !important; box-shadow:0 10px 28px rgba(4,45,64,.24) !important; }
@keyframes eg-ai-enter { from{opacity:0;transform:translateY(14px) scale(.97)} to{opacity:1;transform:none} }

@media(max-width:900px){.account-metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:640px){
  .account-metric-strip{grid-template-columns:1fr!important}
  .settings-center-scroll{padding:8px!important}
  .settings-center-scroll>form.space-y-5{border-radius:12px!important}
  .floating-ai-panel{position:fixed!important;inset:74px 6px 6px!important;width:auto!important;max-height:none!important;border-radius:16px!important}
  .floating-ai-trigger.is-open{display:none!important}
  .global-search-panel{border-radius:15px!important}
}
@media(prefers-reduced-motion:reduce){.global-search-overlay,.global-search-panel,.floating-ai-panel{animation:none!important}.global-search-result:hover{transform:none!important}}
.settings-center-scroll .grid:has(>.ai-provider-card){grid-template-columns:repeat(3,minmax(0,1fr))!important}@media(max-width:640px){.settings-center-scroll .grid:has(>.ai-provider-card){grid-template-columns:1fr!important}}


/* eGestion 0.5.7 — production hardening, flat financial UI */
:root { scrollbar-width: thin; scrollbar-color: #aebdc4 transparent; }
*::-webkit-scrollbar { width: 8px; height: 8px; }
*::-webkit-scrollbar-track { background: transparent; }
*::-webkit-scrollbar-thumb { background: #aebdc4; border: 2px solid transparent; border-radius: 999px; background-clip: padding-box; }
*::-webkit-scrollbar-thumb:hover { background-color: #8297a1; }

/* Context menus remain open during wheel/trackpad scrolling. */
.measured-menu-backdrop { pointer-events: none !important; touch-action: pan-x pan-y !important; }
.measured-context-menu { pointer-events: auto !important; max-height: min(520px, calc(100dvh - 20px)) !important; overflow-y: auto !important; overscroll-behavior: contain; scrollbar-width: thin; }

/* Status badges are compact, explicit controls for payment/receipt workflows. */
.document-status-action { appearance: none; border: 0; background: transparent; border-radius: 999px; padding: 0; cursor: pointer; line-height: 1; }
.document-status-action:hover .badge,
.document-status-action:hover [class*="status-badge"] { filter: saturate(1.08); box-shadow: 0 0 0 3px rgba(23,64,87,.10); }
.document-status-action:focus-visible { outline: 2px solid #e9771b; outline-offset: 3px; }

/* Dashboard: flat cards, no decorative gradients, black strokes or giant icons. */
.pilot-kpi-card,
.pilot-kpi-card[class*="is-"] {
  background: #fff !important;
  border: 1px solid #d7e1e6 !important;
  border-radius: 12px !important;
  min-height: 118px !important;
  padding: .95rem 1rem !important;
  color: #173f57 !important;
  box-shadow: 0 1px 2px rgba(7,38,56,.045) !important;
  transform: none !important;
}
.pilot-kpi-card::before,
.pilot-kpi-card::after,
.pilot-kpi-bg-icon,
.pilot-kpi-arrow { display: none !important; }
.pilot-kpi-card:hover { border-color: color-mix(in srgb, var(--kpi-accent, #173f57) 35%, #d7e1e6) !important; box-shadow: 0 7px 18px rgba(7,38,56,.075) !important; transform: translateY(-1px) !important; }
.pilot-kpi-top { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: .7rem !important; }
.pilot-kpi-label { color: #526b77 !important; font-size: .69rem !important; font-weight: 600 !important; letter-spacing: .015em !important; }
.pilot-kpi-icon {
  position: static !important;
  display: grid !important;
  place-items: center !important;
  flex: 0 0 34px !important;
  width: 34px !important;
  height: 34px !important;
  border: 1px solid color-mix(in srgb, var(--kpi-accent, #173f57) 20%, #fff) !important;
  border-radius: 9px !important;
  color: var(--kpi-accent, #173f57) !important;
  background: color-mix(in srgb, var(--kpi-accent, #173f57) 7%, #fff) !important;
  opacity: 1 !important;
  transform: none !important;
}
.pilot-kpi-icon svg { width: 18px !important; height: 18px !important; }
.pilot-kpi-card:hover .pilot-kpi-icon { opacity: 1 !important; transform: none !important; background: color-mix(in srgb, var(--kpi-accent, #173f57) 10%, #fff) !important; }
.pilot-kpi-value { margin-top: .48rem !important; color: #102f40 !important; font-size: 1.48rem !important; line-height: 1.05 !important; letter-spacing: -.012em !important; }
.pilot-kpi-meta { margin-top: .42rem !important; color: #637984 !important; font-size: .65rem !important; min-height: 1rem !important; }
.pilot-kpi-meta small { display: none !important; }
.pilot-radial-kpi,
.pilot-radial-kpi[class*="is-"] {
  background: #fff !important;
  border: 1px solid #d7e1e6 !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 2px rgba(7,38,56,.04) !important;
}
.pilot-radial-kpi::before,
.pilot-radial-kpi::after { display: none !important; }
.pilot-radial-visual { background: #fff !important; box-shadow: none !important; }
.pilot-widget,
.pilot-chart-card,
.pilot-po,
.pilot-activity { border-color: #d7e1e6 !important; box-shadow: 0 1px 2px rgba(7,38,56,.035) !important; }

/* Settings are one centered workspace, not cards nested inside cards. */
.settings-center-overlay { display: grid !important; place-items: center !important; padding: clamp(.65rem, 2vw, 1.25rem) !important; }
.settings-center { border: 1px solid #cfdbe0 !important; border-radius: 14px !important; background: #fff !important; box-shadow: 0 26px 72px rgba(4,27,39,.25) !important; overflow: hidden !important; }
.settings-center-content,
.settings-center-scroll { background: #fff !important; }
.settings-center-scroll .surface-card,
.settings-center-scroll .settings-section,
.settings-center-scroll .settings-form-section,
.settings-center-scroll .settings-branding-panel {
  background: transparent !important;
  border-color: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.settings-center-scroll .surface-card + .surface-card,
.settings-center-scroll .settings-section + .settings-section,
.settings-center-scroll .settings-form-section + .settings-form-section { border-top: 1px solid #e2e9ec !important; }
.settings-center-body > nav a { transition: color .16s ease, background-color .16s ease, transform .16s cubic-bezier(.16,1,.3,1) !important; }
.settings-center-body > nav a:hover { transform: translateX(2px); }

/* Quick catalogue entry: centered creation affordance and only unique fields. */
.combobox-option.is-create { min-height: 52px; justify-content: center !important; text-align: center !important; gap: .55rem !important; border-radius: 10px !important; }
.combobox-option.is-create > span { align-items: center !important; text-align: center !important; }
.quick-party-form .primary-action { min-height: 40px; }

/* Party image editing in customer and supplier account views. */
img.party-avatar { display: block; object-fit: cover; border: 1px solid #cbd9df; background: #f3f7f8; }
.party-image-field { display: grid; gap: .4rem; padding: .75rem; border: 1px dashed #c7d5db; border-radius: 10px; background: #f8fbfc; }
.party-image-field small { color: #657c87; font-size: .68rem; }
.party-image-field .file-input { width: 100%; min-height: 42px; border-color: #bdcdd4; background: #fff; }

/* Planning: compact Macintosh-like neutral columns, no priority side stripes. */
.planning-workspace { min-width: 0 !important; }
.planning-board { grid-template-columns: repeat(5, minmax(230px, 1fr)) !important; gap: .7rem !important; min-width: 0 !important; }
.planning-column { min-width: 0 !important; border: 1px solid #d5e0e5 !important; border-radius: 12px !important; background: #f7f9fa !important; box-shadow: 0 1px 2px rgba(7,38,56,.035) !important; }
.planning-card,
.planning-card[data-priority] { border: 1px solid #dce5e9 !important; border-left: 1px solid #dce5e9 !important; border-radius: 10px !important; background: #fff !important; box-shadow: 0 1px 1px rgba(7,38,56,.035) !important; }
.planning-card::before,
.planning-card[data-priority]::before { display: none !important; }
.planning-card:hover { border-color: #aec3cc !important; box-shadow: 0 5px 14px rgba(7,38,56,.07) !important; transform: translateY(-1px); }
.planning-mobile-status { scrollbar-width: none; }
.planning-mobile-status::-webkit-scrollbar { display: none; }

/* Information tips stay attached to their trigger and never pin over mobile UI. */
.page-info > p,
.settings-info-tip > p { pointer-events: auto; }
@media (max-width: 640px) {
  .page-info > p,
  .settings-info-tip > p {
    position: fixed !important;
    left: .75rem !important;
    right: .75rem !important;
    top: auto !important;
    bottom: calc(.75rem + env(safe-area-inset-bottom)) !important;
    width: auto !important;
    max-width: none !important;
    transform: none !important;
    z-index: 90 !important;
  }
  .planning-board { grid-template-columns: minmax(0, 1fr) !important; width: 100% !important; overflow: visible !important; }
  .planning-column { display: none !important; width: 100% !important; }
  .planning-column[data-mobile-active="true"],
  .planning-column.is-mobile-active { display: block !important; }
  .settings-center-overlay { padding: .4rem !important; }
  .settings-center { width: calc(100vw - .8rem) !important; height: calc(100dvh - .8rem) !important; border-radius: 12px !important; }
}

@media (min-width: 641px) and (max-width: 1180px) {
  .planning-board { grid-template-columns: repeat(5, minmax(240px, 1fr)) !important; overflow-x: auto !important; padding-bottom: .35rem; }
}

@media (prefers-reduced-motion: reduce) {
  .planning-card,
  .settings-center-body > nav a,
  .pilot-kpi-card { transition: none !important; transform: none !important; }
}


/* Planning overflow containment: board scrolls inside its pane, never under chat. */
.planning-main { min-width: 0 !important; overflow: hidden !important; }
.planning-board { width: 100% !important; max-width: 100% !important; overflow-x: auto !important; overflow-y: hidden !important; overscroll-behavior-x: contain; scrollbar-gutter: stable; padding-bottom: .35rem; }
.planning-chat { position: sticky !important; right: 0; z-index: 2 !important; background: #fff !important; }
@media (max-width: 640px) {
  .planning-main { overflow: visible !important; }
  .planning-board { overflow: visible !important; padding-bottom: 0; }
  .planning-chat { position: static !important; width: 100% !important; }
}

/* <<< 91b0a8671bf167f7-egprod260809r8.generated.css */


/* >>> eg-ui-0.5.8.d63a03adf47c.css */
/* =====================================================================
   eGestion 0.5.8 — final UI layer.

   This sheet is loaded after the generated Tailwind/daisyUI bundle and
   after every earlier repair pass. Those passes left overlapping
   `!important` declarations for the same components, so the rules here
   are also marked important: the goal is one authoritative definition
   per component rather than another layer of patches.

   Sections
     1. Tokens
     2. Dashboard KPI cards
     3. Financial health rings
     4. Clients & recouvrement
     5. Right-click context menu
     6. Settings centre
     7. De-ornamentation
   ===================================================================== */

/* ---------------------------------------------------------------
   1. Tokens
   --------------------------------------------------------------- */
:root {
  --eg-ink: #0d2430;
  --eg-ink-soft: #46606e;
  --eg-muted: #758b98;
  --eg-line: #dfe7ea;
  --eg-line-strong: #cbd8de;
  --eg-surface: #fff;
  --eg-shadow: 0 1px 2px rgba(9, 30, 42, .05);
  --eg-shadow-lift: 0 8px 22px rgba(9, 30, 42, .09);
  --eg-radius: 14px;
}

/* ---------------------------------------------------------------
   2. Dashboard KPI cards

   One accent per card, and it is spent entirely on the oversized
   watermark icon behind the content. Label, value and meta stay on the
   neutral ink ramp so a row of cards reads as one instrument panel
   instead of a colour chart.
   --------------------------------------------------------------- */
.pilot-kpis-container {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

@media (max-width: 1180px) { .pilot-kpis-container { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 900px)  { .pilot-kpis-container { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 560px)  { .pilot-kpis-container { grid-template-columns: 1fr !important; } }

.pilot-kpi-card,
.pilot-kpi-card[class*="is-"] {
  --kpi-accent: #2f5568;
  position: relative !important;
  isolation: isolate !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0 !important;
  min-height: 128px !important;
  margin: 0 !important;
  padding: 14px 16px 15px !important;
  border: 1px solid var(--eg-line) !important;
  border-radius: var(--eg-radius) !important;
  background: var(--eg-surface) !important;
  background-image: none !important;
  box-shadow: var(--eg-shadow) !important;
  color: var(--eg-ink) !important;
  text-decoration: none !important;
  overflow: hidden !important;
  transform: none !important;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease !important;
}

.pilot-kpi-card.is-blue    { --kpi-accent: #1d4ed8 !important; }
.pilot-kpi-card.is-green,
.pilot-kpi-card.is-emerald { --kpi-accent: #047857 !important; }
.pilot-kpi-card.is-red,
.pilot-kpi-card.is-rose    { --kpi-accent: #be123c !important; }
.pilot-kpi-card.is-orange  { --kpi-accent: #b45309 !important; }
.pilot-kpi-card.is-purple,
.pilot-kpi-card.is-violet  { --kpi-accent: #6d28d9 !important; }
.pilot-kpi-card.is-cyan,
.pilot-kpi-card.is-sky     { --kpi-accent: #0e7490 !important; }
.pilot-kpi-card.is-indigo  { --kpi-accent: #4338ca !important; }
.pilot-kpi-card.is-slate   { --kpi-accent: #475569 !important; }

.pilot-kpi-card::before,
.pilot-kpi-card::after,
.pilot-kpi-bg-icon,
.pilot-kpi-arrow { display: none !important; content: none !important; }

/* The watermark. Sits behind everything, never intercepts the pointer. */
.pilot-kpi-icon {
  position: absolute !important;
  right: -6px !important;
  bottom: -8px !important;
  z-index: 0 !important;
  display: block !important;
  flex: none !important;
  width: 88px !important;
  height: 88px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  color: var(--kpi-accent) !important;
  opacity: .085 !important;
  pointer-events: none !important;
  transform: none !important;
  transition: opacity .16s ease, transform .16s ease !important;
}

.pilot-kpi-icon svg {
  width: 100% !important;
  height: 100% !important;
  stroke-width: 1.05 !important;
}

.pilot-kpi-top {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  align-items: center !important;
  min-height: 18px !important;
}

.pilot-kpi-label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  max-width: 100% !important;
  color: var(--eg-muted) !important;
  font-size: .655rem !important;
  font-weight: 600 !important;
  letter-spacing: .055em !important;
  line-height: 1.25 !important;
  text-transform: uppercase !important;
}

.pilot-kpi-label::before {
  content: "" !important;
  flex: 0 0 auto !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background: var(--kpi-accent) !important;
}

.pilot-kpi-value {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  align-items: baseline !important;
  gap: 4px !important;
  margin-top: .55rem !important;
  color: var(--eg-ink) !important;
  font-size: 1.62rem !important;
  font-weight: 600 !important;
  font-variant-numeric: tabular-nums !important;
  letter-spacing: -.012em !important;
  line-height: 1.05 !important;
}

.pilot-kpi-currency {
  color: var(--eg-muted) !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

.pilot-kpi-meta {
  position: relative !important;
  z-index: 1 !important;
  margin-top: auto !important;
  padding-top: .5rem !important;
  color: var(--eg-ink-soft) !important;
  font-size: .655rem !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
}

.pilot-kpi-meta small { display: none !important; }

@media (hover: hover) {
  .pilot-kpi-card:hover {
    border-color: color-mix(in srgb, var(--kpi-accent) 42%, var(--eg-line)) !important;
    box-shadow: var(--eg-shadow-lift) !important;
    transform: translateY(-1px) !important;
  }
  .pilot-kpi-card:hover .pilot-kpi-icon {
    opacity: .14 !important;
    transform: translate(-2px, -3px) !important;
  }
}

.pilot-kpi-card:focus-visible {
  outline: 2px solid var(--kpi-accent) !important;
  outline-offset: 2px !important;
}

/* ---------------------------------------------------------------
   3. Financial health rings

   The ring colour identifies the metric; the pill under the label
   carries the verdict, so "Action requise" is never rendered in a
   reassuring colour just because the ring happens to be green.
   --------------------------------------------------------------- */
.pilot-payment-health {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

@media (max-width: 1180px) { .pilot-payment-health { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 560px)  { .pilot-payment-health { grid-template-columns: 1fr !important; } }

.pilot-radial-kpi,
.pilot-radial-kpi[class*="is-"] {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 84px minmax(0, 1fr) !important;
  grid-template-rows: auto !important;
  align-items: center !important;
  gap: 14px !important;
  min-height: 128px !important;
  padding: 14px 16px !important;
  border: 1px solid var(--eg-line) !important;
  border-radius: var(--eg-radius) !important;
  background: var(--eg-surface) !important;
  background-image: none !important;
  box-shadow: var(--eg-shadow) !important;
  overflow: hidden !important;
  isolation: isolate !important;
  text-decoration: none !important;
  transform: none !important;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease !important;
}

.pilot-radial-kpi::before,
.pilot-radial-kpi::after { display: none !important; content: none !important; }

/* An earlier pass set --health-accent with !important on :nth-child, which
   outranks the inline value the component provides. Rather than fight that,
   the accents are declared here to match the colour each ring is given:
   encaissement, couverture, part recouvrée, factures soldées. */
.pilot-radial-kpi:nth-child(1) { --health-accent: #0f766e !important; }
.pilot-radial-kpi:nth-child(2) { --health-accent: #1d4ed8 !important; }
.pilot-radial-kpi:nth-child(3) { --health-accent: #b45309 !important; }
.pilot-radial-kpi:nth-child(4) { --health-accent: #6d28d9 !important; }

.pilot-radial-watermark {
  position: absolute !important;
  right: -6px !important;
  bottom: -8px !important;
  z-index: 0 !important;
  width: 84px !important;
  height: 84px !important;
  color: var(--health-accent) !important;
  opacity: .07 !important;
  pointer-events: none !important;
  transition: opacity .16s ease !important;
}

.pilot-radial-watermark svg {
  width: 100% !important;
  height: 100% !important;
  stroke-width: 1.05 !important;
}

.pilot-radial-chart {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  place-items: center !important;
  width: 84px !important;
  height: 84px !important;
}

.pilot-radial-chart svg {
  width: 100% !important;
  height: 100% !important;
  transform: rotate(-90deg) !important;
}

.pilot-radial-track {
  fill: none !important;
  stroke: #e9eef1 !important;
  stroke-width: 9 !important;
}

.pilot-radial-progress {
  fill: none !important;
  stroke: var(--health-accent) !important;
  stroke-width: 9 !important;
  stroke-linecap: round !important;
  transition: stroke-dashoffset .55s cubic-bezier(.22, 1, .36, 1) !important;
}

/* Grid rather than flex, so `place-content: center` centres the number and its
   unit as a pair inside the ring on both axes. Baseline alignment is avoided
   deliberately: it sizes the row to the tallest ascent and pushes the value
   off-centre inside the 84px well. */
.pilot-radial-value {
  position: absolute !important;
  inset: 0 !important;
  display: grid !important;
  grid-auto-flow: column !important;
  place-content: center !important;
  align-items: center !important;
  column-gap: 1px !important;
  /* An earlier pass centred this well with a 39px top padding; that offset has
     to be cleared or the value sits below the middle of the ring. */
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1 !important;
}

.pilot-radial-value strong {
  color: var(--eg-ink) !important;
  font-size: 1.24rem !important;
  font-weight: 600 !important;
  font-variant-numeric: tabular-nums !important;
  letter-spacing: -.012em !important;
  line-height: 1 !important;
}

.pilot-radial-value span {
  color: var(--eg-muted) !important;
  font-size: .62rem !important;
  font-weight: 600 !important;
}

.pilot-radial-copy {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 5px !important;
  min-width: 0 !important;
  text-align: left !important;
}

.pilot-radial-label {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 7px !important;
  color: var(--eg-ink) !important;
  font-size: .69rem !important;
  font-weight: 600 !important;
  letter-spacing: -.005em !important;
  line-height: 1.25 !important;
  text-transform: none !important;
}

.pilot-radial-label svg { color: var(--health-accent) !important; flex: none !important; }

.pilot-radial-copy p {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  margin: 0 !important;
  /* Belt and braces: line-clamp is fragile under the layered !important
     rules above, so the height is capped outright at two lines. */
  max-height: 1.75rem !important;
  color: var(--eg-ink-soft) !important;
  font-size: .625rem !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  overflow: hidden !important;
}

.pilot-radial-copy small {
  --eg-verdict: #64748b;
  --eg-verdict-bg: #f1f5f7;
  margin-top: 1px !important;
  padding: 3px 8px !important;
  border: 1px solid color-mix(in srgb, var(--eg-verdict) 26%, #fff) !important;
  border-radius: 999px !important;
  background: var(--eg-verdict-bg) !important;
  color: var(--eg-verdict) !important;
  font-size: .58rem !important;
  font-weight: 600 !important;
  letter-spacing: .045em !important;
  text-transform: uppercase !important;
}

.pilot-radial-kpi.is-good small { --eg-verdict: #0f766e !important; --eg-verdict-bg: #e9f6f2 !important; }
.pilot-radial-kpi.is-warn small { --eg-verdict: #b45309 !important; --eg-verdict-bg: #fdf3e4 !important; }
.pilot-radial-kpi.is-bad  small { --eg-verdict: #be123c !important; --eg-verdict-bg: #fdeef1 !important; }

@media (hover: hover) {
  .pilot-radial-kpi:hover {
    border-color: color-mix(in srgb, var(--health-accent) 42%, var(--eg-line)) !important;
    box-shadow: var(--eg-shadow-lift) !important;
    transform: translateY(-1px) !important;
  }
  .pilot-radial-kpi:hover .pilot-radial-watermark { opacity: .12 !important; }
}

.pilot-radial-kpi:focus-visible {
  outline: 2px solid var(--health-accent) !important;
  outline-offset: 2px !important;
}

/* ---------------------------------------------------------------
   4. Clients & recouvrement

   Both columns are lists of links. Top accounts get a rank colour and
   a bar showing their share of the leader; receivables get a severity
   rail driven by how far past the due date they are.
   --------------------------------------------------------------- */
.pilot-activity-columns {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

@media (max-width: 860px) { .pilot-activity-columns { grid-template-columns: 1fr !important; } }

.pilot-activity-block {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  min-width: 0 !important;
}

.pilot-activity-block h3 {
  margin: 0 0 2px !important;
  color: var(--eg-muted) !important;
  font-size: .61rem !important;
  font-weight: 600 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
}

.pilot-activity-block > p {
  margin: 0 !important;
  padding: 14px 12px !important;
  border: 1px dashed var(--eg-line-strong) !important;
  border-radius: 10px !important;
  color: var(--eg-muted) !important;
  font-size: .68rem !important;
  text-align: center !important;
}

/* --- top accounts --------------------------------------------- */
.pilot-client-row {
  --eg-rank: #64748b;
  position: relative !important;
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 9px 11px 10px !important;
  border: 1px solid #e7edf0 !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: var(--eg-ink) !important;
  text-decoration: none !important;
  overflow: hidden !important;
  transition: border-color .15s ease, background-color .15s ease, transform .15s ease !important;
}

.pilot-client-row.is-rank-1 { --eg-rank: #0f766e !important; }
.pilot-client-row.is-rank-2 { --eg-rank: #1d4ed8 !important; }
.pilot-client-row.is-rank-3 { --eg-rank: #6d28d9 !important; }
.pilot-client-row.is-rank-4 { --eg-rank: #b45309 !important; }
.pilot-client-row.is-rank-5 { --eg-rank: #64748b !important; }

.pilot-client-rank {
  display: grid !important;
  place-items: center !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 7px !important;
  background: color-mix(in srgb, var(--eg-rank) 12%, #fff) !important;
  color: var(--eg-rank) !important;
  font-size: .62rem !important;
  font-style: normal !important;
  font-weight: 650 !important;
  font-variant-numeric: tabular-nums !important;
}

.pilot-client-name {
  min-width: 0 !important;
  color: var(--eg-ink) !important;
  font-size: .74rem !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.pilot-client-amount {
  color: var(--eg-ink) !important;
  font-size: .73rem !important;
  font-weight: 600 !important;
  font-variant-numeric: tabular-nums !important;
  white-space: nowrap !important;
}

.pilot-client-bar {
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  width: var(--eg-share, 0%) !important;
  height: 2px !important;
  border-radius: 0 2px 2px 0 !important;
  background: var(--eg-rank) !important;
  opacity: .6 !important;
  transition: width .5s cubic-bezier(.22, 1, .36, 1), opacity .15s ease !important;
}

@media (hover: hover) {
  .pilot-client-row:hover {
    border-color: color-mix(in srgb, var(--eg-rank) 42%, #e7edf0) !important;
    background: color-mix(in srgb, var(--eg-rank) 4%, #fff) !important;
    transform: translateX(1px) !important;
  }
  .pilot-client-row:hover .pilot-client-bar { opacity: 1 !important; }
}

.pilot-client-row:active { transform: none !important; }

.pilot-client-row:focus-visible {
  outline: 2px solid var(--eg-rank) !important;
  outline-offset: 1px !important;
}

/* --- receivables ---------------------------------------------- */
.pilot-recovery-row {
  --eg-sev: #64748b;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 9px 11px 9px 12px !important;
  border: 1px solid #e7edf0 !important;
  border-left: 3px solid var(--eg-sev) !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: var(--eg-ink) !important;
  text-decoration: none !important;
  transition: border-color .15s ease, background-color .15s ease, transform .15s ease !important;
}

.pilot-recovery-row.is-critical { --eg-sev: #be123c !important; }
.pilot-recovery-row.is-late     { --eg-sev: #c2410c !important; }
.pilot-recovery-row.is-soon     { --eg-sev: #a16207 !important; }
.pilot-recovery-row.is-open     { --eg-sev: #0f766e !important; }
.pilot-recovery-row.is-undated  { --eg-sev: #94a3b8 !important; }

.pilot-recovery-party {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  min-width: 0 !important;
}

.pilot-recovery-party b {
  color: var(--eg-ink) !important;
  font-size: .74rem !important;
  font-weight: 580 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.pilot-recovery-party small {
  color: var(--eg-muted) !important;
  font-size: .61rem !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.pilot-recovery-amount {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 3px !important;
  white-space: nowrap !important;
}

.pilot-recovery-amount strong {
  color: var(--eg-ink) !important;
  font-size: .74rem !important;
  font-weight: 600 !important;
  font-variant-numeric: tabular-nums !important;
}

.pilot-recovery-age {
  padding: 2px 7px !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--eg-sev) 11%, #fff) !important;
  color: var(--eg-sev) !important;
  font-size: .565rem !important;
  font-style: normal !important;
  font-weight: 600 !important;
  letter-spacing: .03em !important;
  text-transform: uppercase !important;
}

@media (hover: hover) {
  .pilot-recovery-row:hover {
    border-color: color-mix(in srgb, var(--eg-sev) 40%, #e7edf0) !important;
    border-left-color: var(--eg-sev) !important;
    background: color-mix(in srgb, var(--eg-sev) 4%, #fff) !important;
    transform: translateX(1px) !important;
  }
}

.pilot-recovery-row:active { transform: none !important; }

.pilot-recovery-row:focus-visible {
  outline: 2px solid var(--eg-sev) !important;
  outline-offset: 1px !important;
}

/* ---------------------------------------------------------------
   5. Right-click context menu

   Earlier passes stacked a desktop popover, a mobile bottom sheet and
   a scroll workaround on the same selectors, which is why the menu
   pinned itself to the bottom of the window and refused to scroll.
   The maximum height now arrives as --eg-menu-max from the placement
   code, so no declaration here can override the measured value.
   --------------------------------------------------------------- */
.measured-menu-backdrop {
  position: fixed !important;
  inset: 0 !important;
  z-index: 210 !important;
  border: 0 !important;
  background: transparent !important;
  pointer-events: auto !important;
  touch-action: manipulation !important;
  cursor: default !important;
}

.measured-context-menu {
  position: fixed !important;
  z-index: 220 !important;
  width: min(320px, calc(100vw - 16px)) !important;
  min-width: 232px !important;
  max-width: none !important;
  max-height: var(--eg-menu-max, min(520px, calc(100dvh - 20px))) !important;
  padding: 0 !important;
  border: 1px solid var(--eg-line-strong) !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 20px 48px rgba(6, 26, 38, .22), 0 2px 6px rgba(6, 26, 38, .10) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scrollbar-width: thin !important;
  scrollbar-color: #b6c5cd transparent !important;
  scrollbar-gutter: auto !important;
  touch-action: pan-y !important;
  -webkit-overflow-scrolling: touch !important;
  animation: none !important;
  pointer-events: auto !important;
}

.measured-context-menu::-webkit-scrollbar { width: 8px !important; }
.measured-context-menu::-webkit-scrollbar-thumb { border: 2px solid #fff !important; border-radius: 999px !important; background: #b6c5cd !important; }

/* The menu body is only a layout container once it is inside the
   measured shell: no size, no chrome, no positioning of its own. */
.measured-context-menu > .document-action-menu,
.measured-context-menu > .document-action-menu.is-context-menu,
.measured-context-menu > .sidebar-flyout {
  position: static !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  width: 100% !important;
  max-width: none !important;
  max-height: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: .3rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  transform: none !important;
  animation: none !important;
}

.measured-context-menu .document-action-menu-document {
  position: sticky !important;
  top: 0 !important;
  z-index: 1 !important;
  margin: -.3rem -.3rem .3rem !important;
  border-radius: 12px 12px 0 0 !important;
}

.measured-context-menu .document-action-menu button {
  min-height: 38px !important;
  border-radius: 8px !important;
  padding-inline: .7rem !important;
  font-size: .74rem !important;
}

/* ---------------------------------------------------------------
   6. Settings centre

   Each section is its own route, so moving between them unmounts and
   remounts the whole overlay. With enter animations attached to the
   backdrop and the panel, every section change replayed a fade from
   transparent — the flash. The panel is a persistent surface here, so
   only the content area gets any motion.
   --------------------------------------------------------------- */
.settings-center-overlay,
.settings-center-overlay > .settings-center,
.settings-center-page > .settings-center,
.settings-center-body,
.settings-center-content,
.settings-center-scroll {
  animation: none !important;
  transition: none !important;
}

.settings-center-overlay {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background: rgba(3, 20, 31, .54) !important;
}

.settings-center,
.settings-center-body > nav,
.settings-center-content {
  will-change: auto !important;
}

/* The nav is the only part that should react to the section change. */
.settings-center-body > nav a {
  transition: background-color .13s ease, color .13s ease, border-color .13s ease !important;
}

.settings-center-scroll {
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scrollbar-width: thin !important;
}

/* ---------------------------------------------------------------
   7. De-ornamentation

   Decorative gradients and glows on functional surfaces. Data-bearing
   fills (progress bars, avatars, the login art) keep theirs.
   --------------------------------------------------------------- */
.dashboard-command::after,
.app-empty-state,
.account-profile-summary,
.document-expand-button,
.payment-side-panel,
.planning-hero,
.floating-ai-panel > header,
.floating-ai-panel > header > div > span {
  background-image: none !important;
}

.pilot-panel,
.pilot-widget,
.pilot-chart-card,
.pilot-po,
.pilot-activity {
  border-color: var(--eg-line) !important;
  background-image: none !important;
  box-shadow: var(--eg-shadow) !important;
}

/* A stuck overlay must never be able to lock the page permanently. */
body:has(.pilot-modal-overlay) { overflow: hidden !important; }
body:not(:has(.pilot-modal-overlay)) { overflow: visible !important; }

@media (prefers-reduced-motion: reduce) {
  .pilot-kpi-card,
  .pilot-radial-kpi,
  .pilot-client-row,
  .pilot-recovery-row,
  .pilot-radial-progress,
  .pilot-client-bar {
    transition: none !important;
  }
}

/* <<< eg-ui-0.5.8.d63a03adf47c.css */


/* >>> eg-ui-0.5.9.3f3cbe6f342f.css */
/* eGestion 0.5.9 — production interaction and interface hardening. */

/* ------------------------------------------------------------------
   Document editor
   ------------------------------------------------------------------ */
.quick-product-create {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 240px) auto !important;
  align-items: end !important;
  gap: 14px !important;
  padding: 14px 16px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #edf4f6 !important;
  box-shadow: inset 0 0 0 1px #cfdee4 !important;
}
.quick-product-create-copy { align-self: center !important; min-width: 0 !important; }
.quick-product-create-copy strong { display: block !important; color: #173847 !important; font-size: .82rem !important; font-weight: 600 !important; }
.quick-product-create-copy small { display: block !important; max-width: 62ch !important; margin-top: 3px !important; color: #536d78 !important; font-size: .68rem !important; line-height: 1.45 !important; }
.quick-product-create-actions { display: flex !important; align-items: center !important; justify-content: flex-end !important; gap: 8px !important; }

.document-modal-scroll>div>div.eg-doc-totals-host {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}
.document-modal-scroll>div>div.eg-doc-totals-host>.eg-document-advanced { order: 2 !important; }
.document-modal-scroll>div>div.eg-doc-totals-host>section { order: 1 !important; }
.eg-document-advanced {
  border: 0 !important;
  background: #f7fafb !important;
  box-shadow: inset 0 0 0 1px #dce6ea !important;
}
.eg-document-advanced-summary { padding: 14px 16px !important; }
.eg-document-advanced-summary strong { color: #193b4a !important; font-size: .78rem !important; }
.eg-document-advanced-summary span { color: #617983 !important; font-size: .65rem !important; }

/* The action rail remains visible regardless of document length. */
.document-modal-footer {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 40 !important;
  border-top: 1px solid #d6e1e6 !important;
  background: #fff !important;
  box-shadow: 0 -10px 24px rgba(6, 36, 51, .07) !important;
}

/* ------------------------------------------------------------------
   Settings
   ------------------------------------------------------------------ */
.settings-center-scroll>form>footer:last-child,.settings-center-scroll>section>footer:last-child,.settings-center-scroll form>div:last-child:has(>.primary-action[type="submit"]) {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 35 !important;
  margin-top: 14px !important;
  border-top: 1px solid #d7e2e6 !important;
  background: #fff !important;
  box-shadow: 0 -10px 22px rgba(6, 36, 51, .07) !important;
}
.settings-center-scroll form>div:last-child:has(>.primary-action[type="submit"]) {
  padding: 12px 16px !important;
}
.settings-leave-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 360 !important;
  display: grid !important;
  place-items: center !important;
  padding: 16px !important;
  background: rgba(3, 22, 33, .58) !important;
}
.settings-leave-overlay > section {
  width: min(420px, calc(100vw - 32px)) !important;
  padding: 24px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 24px 64px rgba(3, 24, 36, .28) !important;
}
.settings-leave-overlay h2 { color: #173847 !important; font-size: 1.05rem !important; font-weight: 600 !important; }
.settings-leave-overlay p { max-width: 52ch !important; margin-top: 7px !important; color: #536d78 !important; font-size: .8rem !important; line-height: 1.55 !important; }
.settings-leave-overlay section > div { display: flex !important; justify-content: flex-end !important; gap: 8px !important; margin-top: 20px !important; }

/* ------------------------------------------------------------------
   Popup surfaces: remove the bright outer stroke, retain real depth.
   ------------------------------------------------------------------ */
.document-modal,
.settings-center,
.floating-ai-panel,
.notification-drawer,
.global-search-panel,
.pilot-modal-card,
.document-dialog,
[role="dialog"] > .dialog-panel {
  border-color: transparent !important;
  outline: 0 !important;
}

/* ------------------------------------------------------------------
   KPI/title de-ornamentation
   ------------------------------------------------------------------ */
.page-header-icon {
  width: auto !important;
  height: auto !important;
  padding: 3px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #b45309 !important;
}
.pilot-kpi-icon,.pilot-radial-watermark,main.eg-wide-table section.grid.eg-metric-grid article>svg.absolute {
  display: none !important;
}
.pilot-kpi-label::before { display: none !important; content: none !important; }
.pilot-kpi-label { letter-spacing: .015em !important; text-transform: none !important; }

/* ------------------------------------------------------------------
   Dashboard recovery ledger — no coloured card rail.
   ------------------------------------------------------------------ */
.pilot-activity-block h3 {
  margin: 0 0 6px !important;
  color: #294b5a !important;
  font-size: .75rem !important;
  font-weight: 600 !important;
  letter-spacing: -.005em !important;
  text-transform: none !important;
}
.pilot-recovery-row {
  padding: 10px 11px !important;
  border: 1px solid #e1e9ec !important;
  border-left-width: 1px !important;
  border-radius: 9px !important;
  background: #fff !important;
  box-shadow: none !important;
}
.pilot-recovery-age {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 2px 7px !important;
  border: 1px solid color-mix(in srgb, var(--eg-sev) 25%, #e1e9ec) !important;
  background: #fff !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
}
.pilot-recovery-age::before {
  content: "" !important;
  width: 5px !important;
  height: 5px !important;
  border-radius: 50% !important;
  background: var(--eg-sev) !important;
}
@media (hover: hover) {
  .pilot-recovery-row:hover {
    border-color: #c7d6dc !important;
    background: #f8fafb !important;
    transform: translateY(-1px) !important;
  }
}

/* ------------------------------------------------------------------
   Purchase-order states stay on one line.
   ------------------------------------------------------------------ */
.document-row-badges {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  gap: 5px !important;
  white-space: nowrap !important;
}
.document-row-badges > * { flex: 0 0 auto !important; }

/* ------------------------------------------------------------------
   Stock cockpit: connected metrics, stronger hierarchy, useful table motion.
   ------------------------------------------------------------------ */
main.eg-wide-table section.grid.eg-metric-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  border: 1px solid #d7e2e6 !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 8px 24px rgba(6, 37, 52, .06) !important;
  overflow: hidden !important;
}
main.eg-wide-table section.grid.eg-metric-grid>article {
  min-height: 126px !important;
  border: 0 !important;
  border-right: 1px solid #e1e9ec !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}
main.eg-wide-table section.grid.eg-metric-grid>article:last-child { border-right: 0 !important; }
main.eg-wide-table section.grid.eg-metric-grid article .grid.size-9 {
  width: auto !important;
  height: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
main.eg-wide-table .module-toolbar {
  border: 0 !important;
  border-radius: 12px !important;
  background: #eef4f6 !important;
  box-shadow: inset 0 0 0 1px #d7e2e6 !important;
}
main.eg-wide-table .table-shell {
  border: 0 !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 28px rgba(6, 37, 52, .08), inset 0 0 0 1px #d7e2e6 !important;
  overflow: hidden !important;
}
main.eg-wide-table .data-table thead {
  position: sticky !important;
  top: 0 !important;
  z-index: 2 !important;
}
main.eg-wide-table .data-table th {
  background: #eef4f6 !important;
  color: #385765 !important;
  letter-spacing: .018em !important;
}
main.eg-wide-table .data-table tbody tr {
  transition: background-color .16s ease, box-shadow .16s ease !important;
}
@media (hover: hover) {
  main.eg-wide-table .data-table tbody tr:hover {
    background: #f4f8f9 !important;
    box-shadow: inset 3px 0 0 #315f73 !important;
  }
}

/* ------------------------------------------------------------------
   Floating contextual assistant
   ------------------------------------------------------------------ */
.floating-ai-panel {
  width: min(430px, calc(100vw - 28px)) !important;
  height: auto !important;
  max-height: min(690px, calc(100dvh - 112px)) !important;
  right: 18px !important;
  bottom: 78px !important;
  display: flex !important;
  flex-direction: column !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 28px 72px rgba(3, 27, 40, .24), 0 3px 10px rgba(3, 27, 40, .1) !important;
  overflow: hidden !important;
}
.floating-ai-panel > header {
  min-height: 58px !important;
  padding: 10px 12px 10px 15px !important;
  border-bottom: 1px solid #dce6ea !important;
  background: #fff !important;
  color: #173847 !important;
}
.floating-ai-panel > header > div > span {
  width: auto !important;
  height: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #0e607d !important;
}
.floating-ai-panel > header strong { color: #173847 !important; font-size: .82rem !important; }
.floating-ai-panel > header small { color: #667e88 !important; letter-spacing: 0 !important; }
.floating-ai-panel > header button {
  border: 0 !important;
  border-radius: 8px !important;
  color: #607782 !important;
}
.floating-ai-messages {
  flex: 0 1 auto !important;
  min-height: 140px !important;
  max-height: min(380px, calc(100dvh - 360px)) !important;
  padding: 18px 15px 10px !important;
  background: #f5f8f9 !important;
}
.floating-ai-messages article { max-width: 90% !important; }
.floating-ai-messages article[data-role="assistant"] > svg { color: #0e607d !important; margin-top: 8px !important; }
.floating-ai-messages article[data-role="assistant"] > div {
  border: 0 !important;
  border-radius: 5px 13px 13px 13px !important;
  background: #fff !important;
  color: #284a59 !important;
  box-shadow: 0 4px 14px rgba(7, 38, 56, .07) !important;
}
.floating-ai-messages article[data-role="user"] > div {
  border: 0 !important;
  border-radius: 13px 5px 13px 13px !important;
  background: #15566e !important;
}
.floating-ai-prompts {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  padding: 8px 14px 4px !important;
  border: 0 !important;
  background: #fff !important;
}
.floating-ai-prompts button {
  min-height: 32px !important;
  padding: 6px 10px !important;
  border: 1px solid #d4e0e5 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #315564 !important;
  font-size: .67rem !important;
}
.floating-ai-voice {
  margin: 8px 14px 0 !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: #edf4f6 !important;
  box-shadow: inset 0 0 0 1px #d7e2e6 !important;
}
.floating-ai-panel > footer {
  margin: 9px 14px 7px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #f7f9fa !important;
  box-shadow: inset 0 0 0 1px #ccdce2 !important;
}
.floating-ai-disclaimer { padding: 0 15px 10px !important; }
.floating-ai-trigger {
  min-height: 46px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #123f53 !important;
  box-shadow: 0 12px 28px rgba(4, 45, 64, .22) !important;
}

/* Notification title icon: icon only, no artificial medallion. */
.notification-drawer-title-icon {
  width: auto !important;
  height: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

@media (max-width: 900px) {
  main.eg-wide-table section.grid.eg-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  main.eg-wide-table section.grid.eg-metric-grid>article:nth-child(2) { border-right: 0 !important; }
  main.eg-wide-table section.grid.eg-metric-grid>article:nth-child(-n+2) { border-bottom: 1px solid #e1e9ec !important; }
}
@media (max-width: 720px) {
  .quick-product-create { grid-template-columns: 1fr !important; align-items: stretch !important; }
  .quick-product-create-actions { justify-content: stretch !important; }
  .quick-product-create-actions > button { flex: 1 1 0 !important; }
  .settings-leave-overlay section > div { flex-direction: column-reverse !important; }
  .document-row-badges { overflow-x: auto !important; scrollbar-width: none !important; }
  .floating-ai-panel {
    inset: 72px 6px auto !important;
    width: auto !important;
    height: auto !important;
    max-height: calc(100dvh - 78px) !important;
    border-radius: 14px !important;
  }
}
@media (max-width: 560px) {
  main.eg-wide-table section.grid.eg-metric-grid { grid-template-columns: 1fr !important; }
  main.eg-wide-table section.grid.eg-metric-grid>article { min-height: 108px !important; border-right: 0 !important; border-bottom: 1px solid #e1e9ec !important; }
  main.eg-wide-table section.grid.eg-metric-grid>article:last-child { border-bottom: 0 !important; }
}
@media (prefers-reduced-motion: reduce) {
  .floating-ai-panel,
  .data-table tbody tr,
  .pilot-recovery-row { animation: none !important; transition: none !important; }
}

/* <<< eg-ui-0.5.9.3f3cbe6f342f.css */



/* >>> launch-polish-0.6.2-r3.css */
/* eGestion 0.6.1 launch polish: dashboard, planning, settings and document preview. */

/* Dashboard KPIs: restrained fintech colour, one large background glyph per card. */
.pilot-page .eg-glass-kpi {
  --eg-kpi-bg: #eef6ff;
  --eg-kpi-edge: #cbdff4;
  --eg-kpi-ink: #16476a;
  --eg-kpi-accent: #1e76a8;
  isolation: isolate;
  border-color: var(--eg-kpi-edge) !important;
  background:
    radial-gradient(circle at 7% 0%, rgba(255,255,255,.9), transparent 40%),
    linear-gradient(142deg, color-mix(in srgb, var(--eg-kpi-bg) 88%, white), var(--eg-kpi-bg)) !important;
  color: var(--eg-kpi-ink) !important;
  box-shadow: 0 12px 30px color-mix(in srgb, var(--eg-kpi-accent) 12%, transparent), inset 0 1px 0 rgba(255,255,255,.92) !important;
}
.pilot-page .eg-glass-kpi::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(112deg, rgba(255,255,255,.48), transparent 45%);
}
.pilot-page .eg-glass-kpi:hover {
  border-color: color-mix(in srgb, var(--eg-kpi-accent) 38%, white) !important;
  box-shadow: 0 18px 38px color-mix(in srgb, var(--eg-kpi-accent) 17%, transparent), inset 0 1px 0 #fff !important;
}
.pilot-page .eg-glass-kpi.is-blue { --eg-kpi-bg:#e8f3ff; --eg-kpi-edge:#bfd9f1; --eg-kpi-ink:#123f63; --eg-kpi-accent:#1971a6; }
.pilot-page .eg-glass-kpi.is-green { --eg-kpi-bg:#e7f7ef; --eg-kpi-edge:#bfe4d0; --eg-kpi-ink:#15543d; --eg-kpi-accent:#19845b; }
.pilot-page .eg-glass-kpi.is-red { --eg-kpi-bg:#fff0ef; --eg-kpi-edge:#f0ceca; --eg-kpi-ink:#713630; --eg-kpi-accent:#c05249; }
.pilot-page .eg-glass-kpi.is-orange { --eg-kpi-bg:#fff3e5; --eg-kpi-edge:#edd3af; --eg-kpi-ink:#704416; --eg-kpi-accent:#b66a1f; }
.pilot-page .eg-glass-kpi.is-purple { --eg-kpi-bg:#f3efff; --eg-kpi-edge:#d9cff2; --eg-kpi-ink:#4c3e75; --eg-kpi-accent:#725ab1; }
.pilot-page .eg-glass-kpi.is-cyan { --eg-kpi-bg:#e7f7f8; --eg-kpi-edge:#bde0e3; --eg-kpi-ink:#1c5359; --eg-kpi-accent:#27838c; }
.pilot-page .eg-glass-kpi.is-emerald { --eg-kpi-bg:#eaf8f2; --eg-kpi-edge:#c5e5d6; --eg-kpi-ink:#18533e; --eg-kpi-accent:#238463; }
.pilot-page .eg-glass-kpi.is-rose { --eg-kpi-bg:#fff0f4; --eg-kpi-edge:#eccbd5; --eg-kpi-ink:#713345; --eg-kpi-accent:#b84f6e; }
.pilot-page .eg-glass-kpi.is-indigo { --eg-kpi-bg:#edf0ff; --eg-kpi-edge:#cdd3f2; --eg-kpi-ink:#3f4776; --eg-kpi-accent:#606db2; }
.pilot-page .eg-glass-kpi.is-sky { --eg-kpi-bg:#e9f6fb; --eg-kpi-edge:#c1dfeb; --eg-kpi-ink:#214f65; --eg-kpi-accent:#3485a5; }
.pilot-page .eg-glass-kpi .stat-title,
.pilot-page .eg-glass-kpi .stat-value,
.pilot-page .eg-glass-kpi .stat-value small { color: var(--eg-kpi-ink) !important; }
.pilot-page .eg-kpi-watermark {
  right: -28px !important;
  bottom: -30px !important;
  width: 136px !important;
  height: 136px !important;
  color: var(--eg-kpi-accent) !important;
  opacity: .13 !important;
  transform: rotate(-9deg);
}
.pilot-page .eg-kpi-watermark > svg { width: 112px !important; height: 112px !important; }
.pilot-page .eg-kpi-count { color: color-mix(in srgb, var(--eg-kpi-ink) 72%, white) !important; max-width: calc(100% - 44px); }
.pilot-page .pilot-payment-health {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}
.pilot-page .eg-health-strip {
  position: relative !important;
  display: block !important;
  min-width: 0;
  min-height: 118px;
  overflow: hidden;
  border: 1px solid #d6e1e6 !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: #172f3b !important;
  text-decoration: none;
  box-shadow: 0 8px 24px rgba(15, 37, 48, .055) !important;
}
.pilot-page .eg-health-strip:hover { border-color: #b9ccd4 !important; box-shadow: 0 14px 30px rgba(15,37,48,.08) !important; }
.pilot-page .eg-health-strip > div { position: relative !important; display: block !important; min-height: 118px !important; padding: 17px 18px !important; }
.pilot-page .eg-health-strip > div > div:last-child { position: static !important; display: block !important; padding: 0 !important; }
.pilot-page .eg-health-strip h3 { max-width: calc(100% - 44px); margin: 0 !important; color: #3c5966 !important; font-size: 12px !important; line-height: 1.35 !important; }
.pilot-page .eg-health-strip p:last-child { margin: 6px 0 0 !important; color: #102f3d !important; font-size: 24px !important; font-weight: 600 !important; line-height: 1.1 !important; }
.pilot-page .eg-health-strip svg { position: absolute !important; top: 12px !important; right: 13px !important; width: 42px !important; height: 42px !important; color: #183f4e !important; opacity: .065 !important; }
.pilot-page .eg-health-chart {
  position: absolute !important;
  right: 18px !important;
  bottom: 16px !important;
  left: 18px !important;
  height: 6px !important;
  min-height: 6px !important;
  max-height: 6px !important;
  background: #e8eef1;
}
.pilot-page .eg-health-chart > * { display: none !important; }
.pilot-page .eg-health-chart::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: var(--eg-health-color, #0f766e);
  clip-path: inset(0 calc(100% - var(--eg-health, 0%)) 0 0 round 999px);
  transition: clip-path .72s cubic-bezier(.16, 1, .3, 1);
}
.pilot-widget-purchase-orders { align-self: stretch; margin-bottom: 0 !important; }
.pilot-widget-purchase-orders > article { height: 100%; }
.pilot-widget-recent-activity { margin-top: 0 !important; }
.pilot-recovery-age::before,
.pilot-recovery-age > i { display: none !important; }
.pilot-recovery-age {
  border: 0 !important;
  border-radius: 5px !important;
  background: #edf2f4 !important;
  color: #435d68 !important;
  padding: 3px 6px !important;
  font-style: normal !important;
  box-shadow: none !important;
}
.pilot-recovery-row.is-critical .pilot-recovery-age,
.pilot-recovery-row.is-late .pilot-recovery-age { background: #fff1f2 !important; color: #a61b35 !important; }

/* Information affordances never open visually until the disclosure is open. */
details.page-info,
details.settings-info-tip { position: relative; }
details.page-info:not([open]) > p,
details.settings-info-tip:not([open]) > p { display: none !important; }
details.page-info > summary,
details.settings-info-tip > summary {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid #cad7dd;
  border-radius: 50%;
  background: #fff;
  color: #365563;
  cursor: pointer;
  list-style: none;
}
details.page-info > summary::-webkit-details-marker,
details.settings-info-tip > summary::-webkit-details-marker { display: none; }
details.page-info[open] > p,
details.settings-info-tip[open] > p {
  position: absolute !important;
  z-index: 120 !important;
  top: calc(100% + 8px) !important;
  right: 0 !important;
  width: min(330px, calc(100vw - 32px)) !important;
  margin: 0 !important;
  border: 1px solid #d5e0e5 !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #294653 !important;
  padding: 11px 13px !important;
  box-shadow: 0 14px 34px rgba(15, 37, 48, .14) !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
}

/* Settings: stable shell, native-feeling section navigation and one scrolling pane. */
.settings-center-page { padding: 12px 16px 16px !important; }
.settings-center-page .settings-center {
  width: min(1320px, 100%) !important;
  height: calc(100dvh - 100px) !important;
  min-height: 560px !important;
  border-color: #c5d2d8 !important;
  border-radius: 16px !important;
  box-shadow: 0 22px 70px rgba(10,42,57,.12) !important;
}
.settings-center-body {
  position: relative !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: hidden !important;
}
.settings-center-body > nav { min-height: 0; overflow-y: auto; padding-bottom: 8px; }
.settings-center-body > main { min-height: 0; overflow: hidden !important; padding-bottom: 0 !important; }
.settings-center-content { display: grid !important; grid-template-rows: auto minmax(0, 1fr) !important; }
.settings-center-scroll {
  min-height: 0 !important;
  overflow: hidden !important;
  padding: 12px !important;
  overscroll-behavior: contain;
}
.settings-center-scroll > .surface-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  max-height: none !important;
  overflow: hidden !important;
}
.settings-center-scroll > .surface-card > header,
.settings-center-scroll > .surface-card > footer,
.settings-center-scroll > .surface-card > p { flex: 0 0 auto; }
.settings-center-scroll > .surface-card > div {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.settings-center-scroll > .surface-card > footer {
  position: relative !important;
  z-index: 30 !important;
  inset: auto !important;
  min-height: 62px;
  margin: 0 !important;
  border-top-color: #d7e1e6 !important;
  background: #fff !important;
  box-shadow: 0 -8px 22px rgba(15,37,48,.06) !important;
  backdrop-filter: none !important;
}
.settings-center-body > main form > footer.sticky {
  position: sticky !important;
  inset: auto auto 0 !important;
  z-index: 30 !important;
  border-top-color: #d7e1e6 !important;
  background: #fff !important;
  box-shadow: 0 -8px 22px rgba(15,37,48,.06) !important;
  backdrop-filter: none !important;
}
.settings-center-scroll > * { animation: eg-settings-enter .2s cubic-bezier(.22,1,.36,1) both !important; }
@keyframes eg-settings-enter { from { opacity: .72; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.settings-document-subnav {
  display: grid;
  gap: 3px;
  margin: -2px 8px 8px 35px;
  padding: 4px 0 4px 10px;
  border-left: 1px solid #ccd9de;
}
.settings-center-body > nav .settings-document-subnav > a {
  min-height: 31px !important;
  border: 0 !important;
  border-radius: 7px !important;
  padding: 6px 9px !important;
  color: #5a707a !important;
  font-size: 11px !important;
  font-weight: 580 !important;
}
.settings-center-body > nav .settings-document-subnav > a:hover { background: #eef4f6 !important; color: #183e4d !important; }
.settings-center-body > nav .settings-document-subnav > a.is-current { background: #e7f1f4 !important; color: #0b6374 !important; }
.settings-center-body main :is(input.input, select.select, textarea.textarea, .field-input, .field-select, .field-textarea) {
  border-color: #c5d3da !important;
  background: #fff !important;
  color: #132f3d !important;
  box-shadow: inset 0 1px 2px rgba(18, 52, 67, .035) !important;
}
.settings-center-body main :is(input.input, textarea.textarea, .field-input, .field-textarea)::placeholder { color: #637984 !important; opacity: 1 !important; }
.settings-center-body main :is(input.input, select.select, textarea.textarea, .field-input, .field-select, .field-textarea):focus {
  border-color: #0d7183 !important;
  outline: 3px solid rgba(13, 113, 131, .14) !important;
  outline-offset: 0 !important;
}
.settings-center-body main .surface-card,
.settings-center-body main form { color: #163441; }
.settings-center-body main .surface-card > header { background: #f8fbfc; }
.settings-center-body main form.card {
  border-color: #cbd9df !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 10px 28px rgba(18,52,67,.07) !important;
}
.settings-center-body main form.card .fieldset-label {
  color: #304f5d !important;
  font-size: 12px !important;
  font-weight: 580 !important;
}
.settings-center-body main form.card :is(input.input, select.select, textarea.textarea) {
  min-height: 38px !important;
  border: 1px solid #adbec6 !important;
  font-size: 12px !important;
}
.settings-center-body main form.card input.toggle {
  width: 38px !important;
  min-height: 22px !important;
  height: 22px !important;
  border: 1px solid #b8c8d0 !important;
  border-radius: 999px !important;
  background: radial-gradient(circle at 10px 50%, #fff 0 7px, transparent 7.5px), #cfdbe0 !important;
  box-shadow: inset 0 1px 2px rgba(15, 37, 48, .12) !important;
}
.settings-center-body main form.card input.toggle:checked {
  border-color: #0d7183 !important;
  background: radial-gradient(circle at 27px 50%, #fff 0 7px, transparent 7.5px), #0d7183 !important;
}
.settings-center-body main form.card .btn-primary {
  border-color: #173f4e !important;
  background: #173f4e !important;
  color: #fff !important;
  box-shadow: 0 6px 16px rgba(18,52,67,.15) !important;
}
.settings-center-body main form.card .btn-primary:hover { border-color: #0d7082 !important; background: #0d7082 !important; }
.settings-center-body main form.card .badge { white-space: nowrap !important; }
.eg-document-layout {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) 304px !important;
  align-items: start;
  gap: 16px !important;
}
.eg-document-layout > aside { display: none !important; }
.eg-template-choice {
  position: sticky;
  top: 0;
  border: 1px solid #cad8de;
  border-radius: 14px;
  background: #f8fbfc;
  padding: 13px;
  box-shadow: 0 12px 30px rgba(18,52,67,.07);
}
.eg-template-choice > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.eg-template-choice h3 { color: #173847; font-size: 13px; font-weight: 600; }
.eg-template-choice > header span { color: #607680 !important; font-size: 10px !important; }
.eg-template-card {
  display: block;
  width: 100%;
  margin-top: 10px;
  border: 1px solid #8fb6c1;
  border-radius: 11px;
  background: #fff;
  padding: 10px;
  text-align: left;
  box-shadow: 0 8px 22px rgba(18,52,67,.08);
}
.eg-template-thumb {
  position: relative;
  width: min(100%, 214px);
  aspect-ratio: 210 / 297;
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid #d4dade;
  background: #fff;
  box-shadow: 0 5px 16px rgba(15,37,48,.12);
}
.eg-template-thumb > img { position:absolute; inset:0; width:100%; height:100%; object-fit:fill; }
.eg-template-thumb .eg-thumb-client { position:absolute; top:15.2%; right:4.8%; width:40.6%; height:9.5%; border:1px solid #aeb6ba; border-radius:3px; }
.eg-template-thumb .eg-thumb-client::before { content:"CLIENT"; position:absolute; top:10%; left:5%; color:#53636a; font-size:4px; font-weight:600; }
.eg-template-thumb .eg-thumb-title { position:absolute; top:26.1%; left:4.8%; color:#303b40; font-size:7px; font-weight:650; }
.eg-template-thumb .eg-thumb-band { position:absolute; top:28.4%; left:4.8%; right:4.8%; height:5.3%; border:1px solid #9fa8ac; border-radius:2px; background:linear-gradient(#eceff0 46%,#fff 46%); }
.eg-template-thumb .eg-thumb-table { position:absolute; top:34.7%; left:4.8%; right:4.8%; height:30.3%; border:1px solid #9fa8ac; background:repeating-linear-gradient(to bottom,#eceff0 0 5.5%,#fff 5.5% 13%); }
.eg-template-thumb .eg-thumb-table::before { content:""; position:absolute; inset:0; background:linear-gradient(to right,transparent 0 38%,#aeb6ba 38% 38.3%,transparent 38.3% 46.3%,#aeb6ba 46.3% 46.6%,transparent 46.6% 53.6%,#aeb6ba 53.6% 53.9%,transparent 53.9% 66.9%,#aeb6ba 66.9% 67.2%,transparent 67.2% 86.4%,#aeb6ba 86.4% 86.7%,transparent 86.7%); opacity:.8; }
.eg-template-thumb .eg-thumb-words { position:absolute; top:67%; left:4.8%; right:7%; height:3px; background:#79878d; opacity:.4; }
.eg-template-card-info { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-top:10px; }
.eg-template-card-info strong { display:block; color:#163b49; font-size:12px; line-height:1.35; }
.eg-template-card-info span { display:block; margin-top:2px; color:#657983; font-size:10px; }
.eg-template-card-info b { flex:none; border-radius:999px; background:#163f4d; color:#fff; padding:3px 7px; font-size:8px; letter-spacing:.04em; text-transform:uppercase; }
.eg-numbering-grid { grid-template-columns: minmax(0,1fr) !important; }
.eg-numbering-row { grid-template-columns: minmax(150px,1fr) 92px 78px 104px !important; }
body:has(.settings-center) [aria-label="Ouvrir l’assistant"] { display:none !important; }
@media (max-width: 1040px) {
  .eg-document-layout { grid-template-columns: minmax(0,1fr) 260px !important; }
  .eg-numbering-grid { grid-template-columns: minmax(0,1fr) !important; }
}
@media (max-width: 760px) {
  .settings-center-page { padding: 0 !important; }
  .settings-center-page .settings-center { height: calc(100dvh - 72px) !important; min-height: 0 !important; border-radius: 0 !important; }
  .eg-document-layout { grid-template-columns: minmax(0,1fr) !important; }
  .eg-template-choice { position: relative; }
  .eg-numbering-row { grid-template-columns: minmax(0,1fr) 84px !important; }
  .eg-numbering-row > :first-child { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) { .settings-center-scroll > * { animation: none !important; } }

/* Planning */
.planning-page { min-width: 0; }
.planning-hero { color: #173847 !important; background: rgba(255,255,255,.92) !important; border-color: #d8e3e7 !important; }
.planning-hero h1 { color: #132f3d !important; }
.planning-hero p { color: #58717c !important; }
.planning-kpis article { min-width: 0; }
.planning-kpis article small { display: none !important; }
.planning-toolbar { position: sticky; top: 0; z-index: 20; background: rgba(246,249,250,.92); backdrop-filter: blur(14px); }
.planning-toolbar > div { overflow-x: auto; scrollbar-width: thin; }
.planning-workspace { min-width: 0; grid-template-columns: minmax(0, 1fr) !important; }
.planning-workspace:not(.is-chat) .planning-chat { display: none !important; }
.planning-workspace.is-chat .planning-main { display: none !important; }
.planning-workspace.is-chat .planning-chat {
  display: grid !important;
  grid-template-rows: auto minmax(280px, 1fr) auto;
  width: 100% !important;
  min-width: 0;
  height: clamp(420px, calc(100dvh - 420px), 650px);
  min-height: 420px;
  border: 1px solid #cfdae0;
  border-radius: 14px;
  background: #f7fafb;
  overflow: hidden;
  box-shadow: 0 16px 38px rgba(18,52,67,.08);
}
.planning-workspace.is-chat .planning-chat > header {
  padding: 14px 18px;
  border-bottom: 1px solid #d8e3e7;
  background: rgba(255,255,255,.96);
}
.planning-workspace.is-chat .planning-chat-messages { padding: 22px clamp(14px, 4vw, 54px); }
.planning-workspace.is-chat .planning-chat-messages article { max-width: min(680px, 82%); }
.planning-workspace.is-chat .planning-chat-messages article.is-own { margin-left: auto; }
.planning-chat-composer {
  position: relative;
  border-top: 1px solid #d8e3e7 !important;
  background: rgba(255,255,255,.96) !important;
  padding: 12px clamp(12px, 3vw, 32px) !important;
  transition: background-color .2s, box-shadow .2s;
}
.planning-chat-composer.is-dragging { background: #eaf6f7 !important; box-shadow: inset 0 0 0 2px #16869a; }
.planning-file-picker {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  margin-bottom: 8px;
  border: 1px dashed #9eb8c2;
  border-radius: 8px;
  color: #355664;
  padding: 4px 9px;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
}
.planning-file-picker:hover { border-color: #177f91; background: #f0f8f9; }
.planning-file-picker input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.planning-pending-files,
.planning-message-files { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 8px; }
.planning-pending-files button,
.planning-message-files a {
  display: inline-flex;
  align-items: center;
  max-width: 220px;
  border: 1px solid #ccdade;
  border-radius: 7px;
  background: #fff;
  color: #274b59;
  padding: 5px 8px;
  font-size: 10px;
  font-weight: 600;
  text-decoration: none;
}
.planning-pending-files button:hover,
.planning-message-files a:hover { border-color: #16869a; color: #0c6474; }
.planning-board { grid-template-columns: repeat(5, minmax(225px, 1fr)) !important; max-width: 100%; overflow-x: auto; scroll-snap-type: x proximity; }
.planning-column { scroll-snap-align: start; }

/* Native A4 preview */
.document-inline-viewer { min-width: 0; }
.document-viewer-actions { flex-wrap: nowrap !important; }
.document-viewer-actions button { flex: 0 0 auto !important; white-space: nowrap !important; }
.document-viewer-actions button:last-child { min-width: 116px !important; }
.document-viewer-workspace { grid-template-columns: 210px minmax(0, 1fr) !important; background: #e8eef1 !important; }
.document-viewer-summary { border-right-color: #d3dfe4 !important; background: rgba(255,255,255,.9) !important; }
.document-viewer-canvas {
  min-width: 0;
  padding: clamp(12px, 2.4vw, 30px) !important;
  background: #e8eef1 !important;
  overflow: auto !important;
}
.document-viewer-canvas iframe.eg-a4-preview-frame {
  display: block;
  width: min(100%, 940px) !important;
  min-height: 78vh !important;
  margin: 0 auto;
  border: 0 !important;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 46px rgba(15,37,48,.16) !important;
}
body.eg-embedded-print main { min-height: 100dvh !important; padding: 18px !important; background: #e8eef1 !important; }
body.eg-embedded-print main > div:first-child { display: none !important; }
.eg-document-preview-page { background:#e7edef; padding:18px; }
.eg-moroccan-sheet {
  position: relative;
  width: 210mm;
  height: 297mm;
  margin: 14px auto 0;
  overflow: hidden;
  background: #fff;
  color: #30383c;
  font: 400 11px/1.35 "IBM Plex Sans Variable", "IBM Plex Sans", Arial, sans-serif;
  box-shadow: 0 18px 48px rgba(15,37,48,.16);
}
body.eg-embedded-print .eg-moroccan-sheet { margin-top:0 !important; zoom:.56; box-shadow:0 14px 42px rgba(15,37,48,.15) !important; }
.letterhead-a4-background { position:absolute; inset:0; z-index:0; width:100%; height:100%; object-fit:fill; }
.eg-sheet-brand { position:absolute; z-index:1; top:10mm; left:10mm; width:92mm; display:grid; color:#58686f; font-size:9px; line-height:1.45; }
.eg-sheet-brand strong { color:#2c3a40; font-size:18px; letter-spacing:-.012em; }
.eg-sheet-party {
  position:absolute;
  z-index:2;
  top:45.13mm;
  left:114.63mm;
  width:85.23mm;
  height:28.22mm;
  padding:3.2mm 3.6mm 7mm;
  overflow:hidden;
  border:.26mm solid #999;
  border-radius:2.8mm;
  display:flex;
  flex-direction:column;
  gap:.7mm;
  font-size:9px;
}
.eg-sheet-party > strong { color:#252e32; font-size:12px; line-height:1.2; }
.eg-sheet-party > div { position:absolute; right:1.7mm; bottom:2mm; left:3.6mm; display:grid; grid-template-columns:1fr 1fr; gap:1mm; }
.eg-sheet-party > div > b { min-width:0; overflow:hidden; border:.26mm solid #ddd; border-radius:1.8mm; padding:1.35mm 2.8mm; text-overflow:ellipsis; white-space:nowrap; font-size:8.5px; }
.eg-sheet-title { position:absolute; z-index:2; top:77.86mm; left:10mm; margin:0; color:#30383c; font-size:20px; font-weight:600; letter-spacing:-.012em; }
.eg-sheet-number {
  position:absolute;
  z-index:2;
  top:84.35mm;
  left:10.13mm;
  width:189.72mm;
  height:15.77mm;
  overflow:hidden;
  border:.26mm solid #999;
  border-radius:2.8mm;
  display:grid;
  grid-template-columns:1fr 1fr;
}
.eg-sheet-number > div { display:grid; grid-template-rows:7.34mm 1fr; text-align:center; }
.eg-sheet-number > div:first-child { border-right:.26mm solid #999; }
.eg-sheet-number b { display:grid; place-items:center; border-bottom:.26mm solid #ddd; background:#eceeef; font-size:11px; }
.eg-sheet-number strong { display:grid; place-items:center; font-size:12px; }
.eg-sheet-table {
  position:absolute;
  z-index:2;
  top:102.97mm;
  left:10.06mm;
  width:189.89mm;
  border:.14mm solid #999;
  border-collapse:separate;
  border-spacing:0;
  border-radius:2.5mm;
  overflow:hidden;
  table-layout:fixed;
  background:rgba(255,255,255,.96);
}
.eg-sheet-table th,
.eg-sheet-table td { overflow:hidden; border-right:.14mm solid #bbb; padding:1.4mm 2mm; text-overflow:ellipsis; vertical-align:middle; }
.eg-sheet-table th:last-child,
.eg-sheet-table td:last-child { border-right:0; }
.eg-sheet-table thead tr { height:7.94mm; background:#f0f1f2; }
.eg-sheet-table thead th { border-bottom:.4mm solid #555; text-align:center; font-size:11px; }
.eg-sheet-table thead th:first-child { text-align:left; }
.eg-sheet-table tbody tr { height:7.2mm; }
.eg-sheet-table tbody td { border-bottom:.14mm solid #bbb; font-size:10.5px; }
.eg-sheet-table :is(th,td):nth-child(1) { width:37.75%; text-align:left; }
.eg-sheet-table :is(th,td):nth-child(2) { width:8%; text-align:left; }
.eg-sheet-table :is(th,td):nth-child(3) { width:7%; text-align:center; }
.eg-sheet-table :is(th,td):nth-child(4) { width:13%; text-align:right; }
.eg-sheet-table :is(th,td):nth-child(5) { width:19.25%; text-align:center; }
.eg-sheet-table :is(th,td):nth-child(6) { width:15%; text-align:right; font-weight:580; }
.eg-sheet-table tfoot tr { height:7.86mm; }
.eg-sheet-table tfoot th,
.eg-sheet-table tfoot td { border-top:.14mm solid #999; font-size:11px; font-weight:600; text-align:right; }
.eg-sheet-table tfoot td[colspan] { width:65.75%; }
.eg-sheet-table tfoot th { width:19.25%; }
.eg-sheet-table tfoot td:last-child { width:15%; }
.eg-sheet-table tfoot .is-grand-total { height:8.36mm; }
.eg-sheet-table tfoot .is-grand-total :is(th,td) { font-size:12px; }
.eg-invoice-empty-row td { height:7.2mm; }
.eg-sheet-amount { position:absolute; z-index:2; top:198.3mm; left:10mm; right:10mm; margin:0; font-size:12px; line-height:1.4; }
.eg-sheet-notes { position:absolute; z-index:2; top:207mm; left:10mm; right:10mm; border-top:.18mm solid #c7cdd0; padding-top:2.5mm; font-size:10px; }
.eg-sheet-notes > b { color:#54636a; font-size:9px; letter-spacing:.06em; }
.eg-sheet-notes > p { margin-top:1.2mm; white-space:pre-wrap; }
.eg-sheet-footer { position:absolute; z-index:2; right:10mm; bottom:8mm; left:10mm; border-top:.18mm solid #ccd2d5; padding-top:2mm; color:#68757b; text-align:center; font-size:8.5px; }

@media print {
  @page { size:A4; margin:0; }
  .eg-document-preview-page { min-height:0 !important; padding:0 !important; background:#fff !important; }
  .eg-document-preview-page > div:first-child { display:none !important; }
  .eg-moroccan-sheet { margin:0 !important; box-shadow:none !important; }
}

@media (max-width: 900px) {
  .pilot-page .pilot-payment-health { grid-template-columns: 1fr !important; }
  .document-viewer-workspace { grid-template-columns: 1fr !important; }
  .document-viewer-summary { display: none !important; }
  .planning-kpis-five { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (prefers-reduced-motion: reduce) {
  .pilot-page .eg-health-chart::after,
  .planning-chat-composer { transition: none !important; }
}

@view-transition { navigation: auto; }
::view-transition-old(root) { animation: eg-settings-out 90ms ease both; }
::view-transition-new(root) { animation: eg-settings-in 150ms ease both; }
@keyframes eg-settings-out { to { opacity:.985; } }
@keyframes eg-settings-in { from { opacity:.985; } }

@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root),
  ::view-transition-new(root) { animation-duration:1ms !important; }
}

/* <<< launch-polish-0.6.2-r3.css */


/* >>> dashboard-ai-popups-0.6.3-r4.css */
/* eGestion 0.6.4 — Clean Brand-Compliant Operational Dashboard & AI Workspace */

/* -------------------------------------------------------------------------- */
/* 1. UNIFIED POPUP & MODAL OPENING ANIMATION ACROSS ALL PARTS OF THE APP      */
/* -------------------------------------------------------------------------- */

@keyframes eg-popup-enter {
  0% {
    opacity: 0;
    transform: translateY(14px) scale(0.965);
    filter: blur(2px);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

@keyframes eg-popup-backdrop-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

dialog[open],
.modal,
.modal-box,
.modal-content,
[role="dialog"],
.pilot-modal-card,
.global-search-panel,
.settings-leave-dialog,
.measured-context-menu,
.command-palette-panel,
.floating-ai-panel,
.popover-content,
.dropdown-content {
  transform-origin: center center;
  animation: eg-popup-enter 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
}

.modal-backdrop,
.global-search-overlay,
.pilot-modal-backdrop,
.settings-leave-overlay,
.dialog-backdrop {
  animation: eg-popup-backdrop-in 0.2s ease-out forwards !important;
}

/* -------------------------------------------------------------------------- */
/* 2. PROGRESS METRIC CARDS (EXACT CODE STRUCTURE & EGESTION BRAND PALETTE)  */
/* -------------------------------------------------------------------------- */

.eg-progress-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 340px;
  width: 100%;
  overflow: hidden;
  border-radius: 28px;
  transition: transform 0.24s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.24s ease, box-shadow 0.24s ease;
}

/* Dark Theme Version (Action Navy #173f4e & Ledger Ink #132f3d) */
.eg-progress-card.is-dark {
  background: #132f3d !important;
  color: #ffffff !important;
  border: 1px solid rgba(215, 225, 230, 0.14) !important;
  box-shadow: 0 4px 20px rgba(15, 37, 48, 0.24) !important;
}
.eg-progress-card.is-dark:hover {
  transform: translateY(-2px);
  border-color: rgba(var(--eg-accent-rgb), 0.45) !important;
  box-shadow: 0 14px 36px rgba(15, 37, 48, 0.36) !important;
}
.eg-progress-card.is-dark .eg-card-title { color: #ffffff !important; }
.eg-progress-card.is-dark .eg-card-headline { color: #ffffff !important; }
.eg-progress-card.is-dark .eg-card-footer {
  background: #0c1f28 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  color: rgba(255, 255, 255, 0.72) !important;
}
.eg-progress-card.is-dark .eg-graph-mask { color: rgba(255, 255, 255, 0.14) !important; }

/* Light Theme Version (Paper White #ffffff & Cool Canvas #e8eef1) */
.eg-progress-card.is-light {
  background: #ffffff !important;
  color: #132f3d !important;
  border: 1px solid #d7e1e6 !important;
  box-shadow: 0 2px 10px rgba(15, 37, 48, 0.04) !important;
}
.eg-progress-card.is-light:hover {
  transform: translateY(-2px);
  border-color: rgba(var(--eg-accent-rgb), 0.38) !important;
  box-shadow: 0 12px 30px rgba(15, 37, 48, 0.08) !important;
}
.eg-progress-card.is-light .eg-card-title { color: #132f3d !important; }
.eg-progress-card.is-light .eg-card-headline { color: #132f3d !important; }
.eg-progress-card.is-light .eg-card-footer {
  background: #f8fbfc !important;
  border-top: 1px solid rgba(19, 47, 61, 0.06) !important;
  color: #58717c !important;
}
.eg-progress-card.is-light .eg-graph-mask { color: rgba(19, 47, 61, 0.13) !important; }

.eg-card-shell {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 340px;
}

/* 62% right graph region with dot pattern grid and mask linear gradient */
.eg-graph-region {
  pointer-events: none;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  z-index: 0;
  width: 62%;
  overflow: hidden;
}
.eg-graph-gradient {
  position: absolute;
  inset: 0;
}
.eg-graph-mask {
  position: absolute;
  inset: 0;
  -webkit-mask-image: linear-gradient(to right, transparent, black 55%);
  mask-image: linear-gradient(to right, transparent, black 55%);
}
.eg-sparkline-svg,
.eg-bars-svg {
  position: absolute;
  right: 0;
  bottom: 48px;
  width: 100%;
  height: 120px;
  overflow: visible;
}

/* Main Content Padding & Layout */
.eg-card-content {
  pointer-events: none;
  position: relative;
  z-index: 10;
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 28px 32px 20px;
}
.eg-card-header {
  pointer-events: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.eg-card-title {
  font-size: 17px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -.012em;
}

/* View Toggle (Curve vs Bars) */
.eg-view-toggle {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 3px;
  border-radius: 999px;
  background: rgba(19, 47, 61, 0.06);
  border: 1px solid rgba(19, 47, 61, 0.1);
  cursor: pointer;
}
.is-dark .eg-view-toggle { background: rgba(255, 255, 255, 0.1); border-color: rgba(255, 255, 255, 0.12); }
.eg-view-toggle button {
  border: 0;
  background: transparent;
  padding: 3px 6px;
  border-radius: 999px;
  font-size: 11px;
  opacity: 0.5;
  transition: opacity 0.18s, background 0.18s;
}
.eg-view-toggle button.is-active {
  opacity: 1;
  background: rgba(var(--eg-accent-rgb), 0.2);
}

/* Trend Indicator Badge */
.eg-trend-indicator {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 14px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

/* Period Select Dropdown */
.eg-period-select {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 1px solid rgba(var(--eg-accent-rgb), 0.22);
  border-radius: 999px;
  background: rgba(var(--eg-accent-rgb), 0.08);
  padding: 4px 12px;
  color: var(--eg-accent-text);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
}
.eg-period-menu {
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 6px;
  z-index: 30;
  display: flex;
  flex-direction: column;
  min-width: 130px;
  padding: 5px;
  border-radius: 12px;
  background: #132f3d;
  border: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.35);
}
.is-light .eg-period-menu { background: #ffffff; border-color: #d7e1e6; box-shadow: 0 10px 28px rgba(15, 37, 48, 0.12); }
.eg-period-menu button {
  border: 0;
  background: transparent;
  padding: 7px 12px;
  text-align: left;
  font-size: 12px;
  color: #ffffff;
  border-radius: 8px;
  cursor: pointer;
}
.is-light .eg-period-menu button { color: #132f3d; }
.eg-period-menu button:hover { background: rgba(var(--eg-accent-rgb), 0.2); }

/* Dominant Headline Figure Display */
.eg-card-headline {
  margin-top: 24px;
  font-size: clamp(2.8rem, 4.5vw, 4.5rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -.012em;
  font-variant-numeric: tabular-nums;
}

/* Opaque Footer Bar */
.eg-card-footer {
  pointer-events: auto;
  position: relative;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 32px;
  font-size: 14px;
}
.eg-footer-label { color: #58717c; }
.is-dark .eg-footer-label { color: rgba(255, 255, 255, 0.65); }

.eg-footer-stats {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: #58717c;
}
.is-dark .eg-footer-stats { color: rgba(255, 255, 255, 0.65); }
.eg-footer-stats strong { font-weight: 600; color: #132f3d; }
.is-dark .eg-footer-stats strong { color: rgba(255, 255, 255, 0.9); }
.eg-stat-dot { opacity: 0.4; font-weight: 600; margin: 0 2px; }

/* -------------------------------------------------------------------------- */
/* 3. SECTORS DONUT ALLOCATION RING KPI                                      */
/* -------------------------------------------------------------------------- */

.eg-allocation-card {
  display: block;
  min-width: 0;
  overflow: hidden;
  border-radius: 24px;
  transition: transform 0.24s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.24s ease, box-shadow 0.24s ease;
}
.eg-allocation-card.is-dark {
  background: #132f3d !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 4px 20px rgba(15, 37, 48, 0.24) !important;
}
.eg-allocation-card.is-light {
  background: #ffffff !important;
  color: #132f3d !important;
  border: 1px solid #d7e1e6 !important;
  box-shadow: 0 2px 10px rgba(15, 37, 48, 0.04) !important;
}
.eg-allocation-card:hover { transform: translateY(-2px); }

.eg-allocation-shell { min-height: 200px; padding: 24px; }
.eg-allocation-shell > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.eg-allocation-header-text h3 { font-size: 15px; font-weight: 600; letter-spacing: -0.01em; }
.eg-allocation-header-text small { font-size: 11px; opacity: 0.65; }

.eg-allocation-body { display: flex; align-items: center; gap: 28px; margin-top: 16px; }
.eg-allocation-ring { position: relative; flex: 0 0 132px; width: 132px; height: 132px; }
.eg-donut-svg { display: block; transform: rotate(-90deg); }

.eg-allocation-center {
  pointer-events: none;
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.eg-allocation-center strong { font-size: 15px; font-weight: 600; letter-spacing: 0.02em; }
.eg-allocation-center small { font-size: 9px; opacity: 0.45; margin-top: 2px; }

.eg-allocation-arc.is-muted { opacity: 0.22 !important; }

.eg-allocation-legend { display: flex; flex: 1; flex-direction: column; gap: 5px; min-width: 0; }
.eg-allocation-legend-row {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  border: 0;
  background: transparent;
  border-radius: 8px;
  padding: 6px 10px;
  text-align: left;
  transition: opacity 0.2s ease, background 0.2s ease;
  cursor: pointer;
}
.eg-allocation-legend-row:hover { background: rgba(255, 255, 255, 0.08); }
.is-light .eg-allocation-legend-row:hover { background: rgba(19, 47, 61, 0.04); }
.eg-allocation-legend-row.is-muted { opacity: 0.35 !important; }

.eg-legend-dot { width: 8px; height: 8px; border-radius: 3px; flex-shrink: 0; }
.eg-legend-label { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11.5px; opacity: 0.85; }
.eg-legend-pct { font-size: 11px; font-weight: 500; font-variant-numeric: tabular-nums; opacity: 0.75; }

/* -------------------------------------------------------------------------- */
/* 4. FLOATING AI ASSISTANT (DARK BLUE MENU THEME & LIVE ASSISTANT)           */
/* -------------------------------------------------------------------------- */

.floating-ai-panel {
  position: fixed;
  right: 20px;
  bottom: 84px;
  z-index: 150;
  display: flex;
  width: min(440px, calc(100vw - 28px)) !important;
  height: min(660px, calc(100dvh - 112px)) !important;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 24px !important;
  background: #132f3d !important;
  color: #ffffff !important;
  box-shadow: 0 28px 70px rgba(4, 19, 35, 0.45), 0 4px 18px rgba(4, 19, 35, 0.2);
  transform-origin: calc(100% - 26px) 100%;
  animation: eg-popup-enter 0.34s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
  transition: width 0.38s cubic-bezier(0.16, 1, 0.3, 1), height 0.38s cubic-bezier(0.16, 1, 0.3, 1);
}
.floating-ai-panel.is-wide {
  width: min(880px, calc(100vw - 36px)) !important;
  height: min(760px, calc(100dvh - 96px)) !important;
}

.floating-ai-toolbar {
  display: flex;
  min-height: 62px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  background: rgba(15, 37, 48, 0.95) !important;
  padding: 10px 16px !important;
}
.floating-ai-brand { display: flex; align-items: center; gap: 10px; }
.floating-ai-brand > span {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 12px;
  background: #0d7183;
  color: #ffffff;
}
.floating-ai-brand strong { color: #ffffff; font-size: 13px; font-weight: 600; }
.floating-ai-brand small { color: rgba(255, 255, 255, 0.6); font-size: 10px; }

.floating-ai-toolbar nav { display: flex; align-items: center; gap: 4px; }
.floating-ai-toolbar nav button {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: rgba(255, 255, 255, 0.75);
  transition: background 0.18s, color 0.18s;
  cursor: pointer;
}
.floating-ai-toolbar nav button:hover,
.floating-ai-toolbar nav button.is-active { background: rgba(255, 255, 255, 0.12); color: #ffffff; }

.floating-ai-workspace { display: flex; flex: 1; min-height: 0; }

.floating-ai-history {
  display: flex;
  width: 230px;
  flex-direction: column;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(10, 25, 33, 0.95);
}
.floating-ai-history > header { display: flex; align-items: center; justify-content: space-between; padding: 14px 12px 8px; }
.floating-ai-history > header strong { font-size: 11.5px; color: #ffffff; }
.floating-ai-history > header button { border: 0; background: transparent; color: #38bdf8; font-size: 10.5px; font-weight: 600; cursor: pointer; }

.floating-ai-history > div { display: flex; flex: 1; flex-direction: column; gap: 4px; overflow-y: auto; padding: 6px; }
.floating-ai-history > div > button {
  display: flex;
  flex-direction: column;
  gap: 3px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  padding: 8px 10px;
  text-align: left;
  color: rgba(255, 255, 255, 0.85);
  cursor: pointer;
}
.floating-ai-history > div > button:hover { background: rgba(255, 255, 255, 0.08); }
.floating-ai-history > div strong { font-size: 11px; font-weight: 500; }
.floating-ai-history > div small { font-size: 9px; opacity: 0.5; }

.floating-ai-main { display: flex; flex: 1; flex-direction: column; min-width: 0; min-height: 0; }

.floating-ai-messages {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 12px;
  overflow-y: auto;
  padding: 16px;
  background: #132f3d !important;
}
.floating-ai-messages > article { display: flex; max-width: 88%; align-items: flex-start; gap: 8px; }
.floating-ai-messages > article[data-role="user"] { align-self: flex-end; }
.floating-ai-messages > article[data-role="assistant"] { align-self: flex-start; }

.floating-ai-messages > article > div {
  border-radius: 16px;
  padding: 10px 14px;
  font-size: 12px;
  line-height: 1.6;
}
.floating-ai-messages > article[data-role="user"] > div {
  background: #0d7183;
  color: #ffffff;
  border-bottom-right-radius: 4px;
}
.floating-ai-messages > article[data-role="assistant"] > div {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #f1f5f9;
  border-bottom-left-radius: 4px;
}

.floating-ai-composer {
  margin: 10px;
  border-radius: 16px;
  background: rgba(15, 37, 48, 0.95);
  border: 1px solid rgba(255, 255, 255, 0.14);
}
.floating-ai-input-row { display: flex; align-items: flex-end; gap: 6px; padding: 8px; }
.floating-ai-tools { display: flex; align-items: center; gap: 2px; }
.floating-ai-tools button,
.floating-ai-submit {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: rgba(255, 255, 255, 0.75);
  cursor: pointer;
  transition: background 0.18s, color 0.18s;
}
.floating-ai-tools button:hover { background: rgba(255, 255, 255, 0.12); color: #ffffff; }

.floating-ai-input-row textarea {
  flex: 1;
  min-height: 36px;
  max-height: 120px;
  border: 0;
  background: transparent;
  padding: 8px 4px;
  color: #ffffff;
  font-size: 12px;
  outline: none;
  resize: none;
}
.floating-ai-input-row textarea::placeholder { color: rgba(255, 255, 255, 0.4); }

.floating-ai-submit { background: #0d7183; color: #ffffff; }
.floating-ai-submit:hover:not(:disabled) { background: #0c6474; }
.floating-ai-submit.is-stop { background: #a61b35 !important; color: #ffffff !important; }

.floating-ai-attachment {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 8px;
  padding: 6px 10px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 11px;
}
.floating-ai-attachment img { width: 36px; height: 36px; border-radius: 6px; object-fit: cover; }

/* LIVE VOICE ASSISTANT STAGE */
.floating-ai-live-stage {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 20px 16px;
  background: #0b1f2d;
  color: #ffffff;
}

.floating-ai-orb { position: relative; width: 180px; height: 180px; margin-top: 10px; }
.floating-ai-orb .orb-ring-a { animation: eg-orb-pulse 2s infinite ease-in-out; stroke: #0d7183; opacity: 0.4; }
.floating-ai-orb .orb-ring-b { animation: eg-orb-spin 12s infinite linear; stroke: #f07a00; stroke-dasharray: 6 10; }
.floating-ai-orb .orb-core { fill: rgba(13, 113, 131, 0.2); stroke: #0d7183; }
.floating-ai-orb .orb-wave { stroke: #0d7183; stroke-width: 3; animation: eg-orb-wave 2s infinite ease-in-out; }

@keyframes eg-orb-spin { to { transform: rotate(360deg); } }
@keyframes eg-orb-pulse { 0%, 100% { transform: scale(0.96); opacity: 0.4; } 50% { transform: scale(1.04); opacity: 0.8; } }
@keyframes eg-orb-wave { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }

.floating-ai-live-status { display: flex; align-items: center; gap: 8px; font-size: 12px; }
.floating-ai-live-transcript {
  width: 100%;
  max-height: 160px;
  overflow-y: auto;
  padding: 12px;
  border-radius: 16px;
  background: rgba(4, 20, 34, 0.64);
  border: 1px solid rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(12px);
  font-size: 11px;
}
.floating-ai-live-transcript article { margin-bottom: 8px; }
.floating-ai-live-transcript article span { font-size: 9px; font-weight: 600; text-transform: uppercase; color: #0d7183; }
.floating-ai-live-transcript article p { margin-top: 2px; color: #f1f5f9; }

.floating-ai-trigger {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 151;
  display: inline-flex;
  height: 48px;
  align-items: center;
  gap: 8px;
  padding: 0 18px;
  border-radius: 16px;
  background: #0d7183;
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow: 0 12px 30px rgba(13, 113, 131, 0.4);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: transform 0.2s, background 0.2s;
}
.floating-ai-trigger:hover { transform: translateY(-2px); background: #0c6474; }
.floating-ai-trigger.is-open { padding: 0 14px; }

@media (max-width: 768px) {
  .floating-ai-panel { right: 10px !important; bottom: 74px !important; width: calc(100vw - 20px) !important; }
}

@media (prefers-reduced-motion: reduce) {
  /* eg-popup-enter animations disabled for prefers-reduced-motion */
  dialog[open],
  .modal,
  .modal-box,
  .modal-content,
  [role="dialog"],
  .pilot-modal-card,
  .global-search-panel,
  .settings-leave-dialog,
  .measured-context-menu,
  .command-palette-panel,
  .floating-ai-panel,
  .popover-content,
  .dropdown-content {
    animation: none !important;
    transition: none !important;
  }
}

/* <<< dashboard-ai-popups-0.6.3-r4.css */


/* eGestion 0.6.4 — Unified Modal Animations, Module KPI Cards, Sectors Donut & Dark Menu Floating AI */

/* -------------------------------------------------------------------------- */
/* 1. UNIFIED POPUP & MODAL OPENING ANIMATION ACROSS ALL PARTS OF THE APP      */
/* -------------------------------------------------------------------------- */

@keyframes eg-popup-enter {
  0% {
    opacity: 0;
    transform: translateY(16px) scale(0.95);
    filter: blur(4px);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

@keyframes eg-popup-backdrop-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

dialog[open],
.modal,
.modal-box,
.modal-content,
[role="dialog"],
.pilot-modal-card,
.global-search-panel,
.settings-leave-dialog,
.measured-context-menu,
.command-palette-panel,
.floating-ai-panel,
.popover-content,
.dropdown-content {
  transform-origin: center center;
  animation: eg-popup-enter 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
}

.modal-backdrop,
.global-search-overlay,
.pilot-modal-backdrop,
.settings-leave-overlay,
.dialog-backdrop {
  animation: eg-popup-backdrop-in 0.22s ease-out forwards !important;
}

/* -------------------------------------------------------------------------- */
/* 2. PROGRESS METRIC CARDS (LIGHT & DARK THEMES + MODULE ACCENTS)            */
/* -------------------------------------------------------------------------- */

.eg-glass-kpi {
  --eg-accent: #2563eb;
  --eg-accent-rgb: 37, 99, 235;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 220px;
  overflow: hidden;
  border-radius: 22px;
  transition: transform 0.24s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.24s ease, box-shadow 0.24s ease;
}

/* Per-module color definitions */
.eg-glass-kpi.is-blue { --eg-accent: #3b82f6; --eg-accent-rgb: 59, 130, 246; }
.eg-glass-kpi.is-emerald { --eg-accent: #10b981; --eg-accent-rgb: 16, 185, 129; }
.eg-glass-kpi.is-rose { --eg-accent: #f43f5e; --eg-accent-rgb: 244, 63, 94; }
.eg-glass-kpi.is-amber { --eg-accent: #f59e0b; --eg-accent-rgb: 245, 158, 11; }
.eg-glass-kpi.is-cyan { --eg-accent: #06b6d4; --eg-accent-rgb: 6, 182, 212; }
.eg-glass-kpi.is-purple { --eg-accent: #8b5cf6; --eg-accent-rgb: 139, 92, 246; }
.eg-glass-kpi.is-indigo { --eg-accent: #6366f1; --eg-accent-rgb: 99, 102, 241; }
.eg-glass-kpi.is-slate { --eg-accent: #64748b; --eg-accent-rgb: 100, 116, 139; }

/* Dark Theme Version */
.eg-glass-kpi.is-dark {
  background: #132f3d !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 12px 32px rgba(4, 19, 35, 0.28), inset 0 1px rgba(255, 255, 255, 0.08) !important;
}
.eg-glass-kpi.is-dark:hover {
  transform: translateY(-2px);
  border-color: rgba(var(--eg-accent-rgb), 0.5) !important;
  box-shadow: 0 18px 40px rgba(4, 19, 35, 0.42), 0 0 20px rgba(var(--eg-accent-rgb), 0.15) !important;
}
.eg-glass-kpi.is-dark .eg-kpi-main h3 { color: rgba(255, 255, 255, 0.75) !important; }
.eg-glass-kpi.is-dark .eg-kpi-value { color: #ffffff !important; }
.eg-glass-kpi.is-dark .eg-kpi-footer {
  background: rgba(12, 31, 40, 0.85) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  color: rgba(255, 255, 255, 0.7) !important;
}
.eg-glass-kpi.is-dark .eg-kpi-watermark { color: rgba(var(--eg-accent-rgb), 0.12) !important; }

/* White Theme Version */
.eg-glass-kpi.is-light {
  background: rgba(255, 255, 255, 0.98) !important;
  color: #132f3d !important;
  border: 1px solid rgba(148, 163, 184, 0.32) !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.055), inset 0 1px rgba(255, 255, 255, 0.9) !important;
}
.eg-glass-kpi.is-light:hover {
  transform: translateY(-2px);
  border-color: rgba(var(--eg-accent-rgb), 0.4) !important;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.09) !important;
}
.eg-glass-kpi.is-light .eg-kpi-main h3 { color: #526174 !important; }
.eg-glass-kpi.is-light .eg-kpi-value { color: #0b172b !important; }
.eg-glass-kpi.is-light .eg-kpi-footer {
  background: rgba(248, 250, 252, 0.95) !important;
  border-top: 1px solid rgba(226, 232, 240, 0.8) !important;
  color: #64748b !important;
}
.eg-glass-kpi.is-light .eg-kpi-watermark { color: rgba(var(--eg-accent-rgb), 0.075) !important; }

.eg-kpi-shell { position: relative; display: flex; flex: 1; flex-direction: column; min-height: 220px; }
.eg-kpi-main { position: relative; z-index: 3; display: flex; flex: 1; min-width: 0; flex-direction: column; padding: 20px 20px 0; }
.eg-kpi-main > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }

.eg-kpi-header-title { display: flex; flex-direction: column; gap: 4px; }
.eg-kpi-main h3 { font-size: 13px; font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; }
.eg-kpi-module-tag { font-size: 10px; font-weight: 580; opacity: 0.65; text-transform: uppercase; }

.eg-kpi-controls { display: flex; align-items: center; gap: 8px; }

/* View Toggle (Curve vs Bars) */
.eg-kpi-view-toggle {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 2px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.1);
  cursor: pointer;
}
.is-light .eg-kpi-view-toggle { background: rgba(0, 0, 0, 0.05); border-color: rgba(0, 0, 0, 0.08); }
.eg-kpi-view-toggle button {
  border: 0;
  background: transparent;
  padding: 2px 5px;
  border-radius: 6px;
  font-size: 11px;
  opacity: 0.5;
  transition: opacity 0.2s, background 0.2s;
}
.eg-kpi-view-toggle button.is-active { opacity: 1; background: rgba(var(--eg-accent-rgb), 0.25); }

/* Period Select Dropdown */
.eg-kpi-period-container { position: relative; }
.eg-kpi-period {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: 1px solid rgba(var(--eg-accent-rgb), 0.25);
  border-radius: 999px;
  background: rgba(var(--eg-accent-rgb), 0.12);
  padding: 4px 10px;
  color: var(--eg-accent);
  font-size: 10px;
  font-weight: 600;
  cursor: pointer;
}
.eg-kpi-period-arrow { font-size: 8px; opacity: 0.8; }
.eg-kpi-period-menu {
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 4px;
  z-index: 20;
  display: flex;
  flex-direction: column;
  min-width: 110px;
  padding: 4px;
  border-radius: 10px;
  background: #0f2530;
  border: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
}
.is-light .eg-kpi-period-menu { background: #ffffff; border-color: #cbd5e1; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1); }
.eg-kpi-period-menu button {
  border: 0;
  background: transparent;
  padding: 6px 10px;
  text-align: left;
  font-size: 10.5px;
  color: #e2e8f0;
  border-radius: 6px;
  cursor: pointer;
}
.is-light .eg-kpi-period-menu button { color: #1e293b; }
.eg-kpi-period-menu button:hover { background: rgba(var(--eg-accent-rgb), 0.2); }

/* Value & Trend Badge */
.eg-kpi-value {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 24px;
  font-size: clamp(1.6rem, 2.3vw, 2.25rem);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.012em;
  line-height: 1;
}
.eg-kpi-value small { font-size: 12px; font-weight: 600; }

.eg-kpi-trend-badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  background: rgba(var(--eg-accent-rgb), 0.14);
  color: var(--eg-accent);
}
.eg-kpi-trend-badge[data-trend="down"] { background: rgba(244, 63, 94, 0.15); color: #f43f5e; }
.eg-kpi-trend-badge[data-trend="up"] { background: rgba(16, 185, 129, 0.15); color: #10b981; }

/* Plot SVG & Dots Grid */
.eg-kpi-plot {
  pointer-events: none;
  position: absolute;
  inset: 0 0 0 auto;
  z-index: 1;
  width: 62%;
  overflow: hidden;
  color: rgba(var(--eg-accent-rgb), 0.25);
  -webkit-mask-image: linear-gradient(to right, transparent, #000 45%);
  mask-image: linear-gradient(to right, transparent, #000 45%);
}
.eg-kpi-dot-field { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0.55; }
.eg-kpi-sparkline { position: absolute; right: 0; bottom: 34px; width: 100%; height: 96px; overflow: visible; }
.eg-kpi-bars-plot { position: absolute; right: 0; bottom: 34px; width: 100%; height: 96px; overflow: visible; }
.eg-kpi-area { fill: rgba(var(--eg-accent-rgb), 0.1); }
.eg-kpi-line { stroke: var(--eg-accent); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 4px 10px rgba(var(--eg-accent-rgb), 0.25)); }
.eg-kpi-endpoint { fill: #ffffff; stroke: var(--eg-accent); stroke-width: 2.5; }
.eg-kpi-bar-item { fill: var(--eg-accent); }

.eg-kpi-watermark {
  pointer-events: none;
  position: absolute;
  right: -18px;
  bottom: 19px;
  z-index: 2;
  display: grid;
  place-items: center;
  transform: rotate(-5deg);
}

/* Footer layout */
.eg-kpi-footer {
  position: relative;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  padding: 12px 20px;
  font-size: 11px;
}
.eg-kpi-footer-left { display: flex; align-items: center; gap: 5px; }
.eg-kpi-delta-val { font-weight: 600; color: var(--eg-accent); }
.eg-kpi-delta-label { opacity: 0.7; }

.eg-kpi-footer-stats { display: flex; align-items: center; gap: 6px; opacity: 0.85; font-size: 11px; }
.eg-kpi-footer-stats b { font-weight: 600; }
.eg-kpi-dot-sep { opacity: 0.4; font-weight: 650; }

/* -------------------------------------------------------------------------- */
/* 3. SECTORS DONUT ALLOCATION RING KPI                                      */
/* -------------------------------------------------------------------------- */

.eg-allocation-card {
  display: block;
  min-width: 0;
  overflow: hidden;
  border-radius: 22px;
  transition: transform 0.24s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.24s ease, box-shadow 0.24s ease;
}
.eg-allocation-card.is-dark {
  background: #132f3d !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 10px 28px rgba(4, 19, 35, 0.28) !important;
}
.eg-allocation-card.is-light {
  background: #ffffff !important;
  color: #132f3d !important;
  border: 1px solid rgba(148, 163, 184, 0.32) !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.045) !important;
}
.eg-allocation-card:hover { transform: translateY(-2px); }

.eg-allocation-shell { min-height: 200px; padding: 20px; }
.eg-allocation-shell > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.eg-allocation-header-text h3 { font-size: 13px; font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; }
.eg-allocation-header-text small { font-size: 10px; opacity: 0.65; }

.eg-allocation-body { display: flex; align-items: center; gap: 24px; margin-top: 14px; }
.eg-allocation-ring { position: relative; flex: 0 0 132px; width: 132px; height: 132px; }
.eg-donut-svg { display: block; transform: rotate(-90deg); }

.eg-allocation-center {
  pointer-events: none;
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.eg-allocation-center strong { font-size: 15px; font-weight: 600; letter-spacing: 0.03em; }
.eg-allocation-center small { font-size: 9px; opacity: 0.5; margin-top: 2px; }

.eg-allocation-arc.is-muted { opacity: 0.22 !important; }

.eg-allocation-legend { display: flex; flex: 1; flex-direction: column; gap: 4px; min-width: 0; }
.eg-allocation-legend-row {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  border: 0;
  background: transparent;
  border-radius: 8px;
  padding: 5px 8px;
  text-align: left;
  transition: opacity 0.2s ease, background 0.2s ease;
  cursor: pointer;
}
.eg-allocation-legend-row:hover { background: rgba(255, 255, 255, 0.08); }
.is-light .eg-allocation-legend-row:hover { background: rgba(0, 0, 0, 0.04); }
.eg-allocation-legend-row.is-muted { opacity: 0.35 !important; }

.eg-legend-dot { width: 8px; height: 8px; border-radius: 3px; flex-shrink: 0; }
.eg-legend-label { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11.5px; opacity: 0.85; }
.eg-legend-pct { font-size: 11px; font-weight: 600; font-variant-numeric: tabular-nums; opacity: 0.75; }

/* -------------------------------------------------------------------------- */
/* 4. FLOATING AI ASSISTANT (DARK BLUE MENU THEME & LIVE ASSISTANT)           */
/* -------------------------------------------------------------------------- */

.floating-ai-panel {
  position: fixed;
  right: 20px;
  bottom: 84px;
  z-index: 150;
  display: flex;
  width: min(440px, calc(100vw - 28px)) !important;
  height: min(660px, calc(100dvh - 112px)) !important;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 24px !important;
  background: #132f3d !important; /* Signature dark navy menu background */
  color: #ffffff !important;
  box-shadow: 0 28px 70px rgba(4, 19, 35, 0.45), 0 4px 18px rgba(4, 19, 35, 0.2);
  transform-origin: calc(100% - 26px) 100%;
  animation: eg-popup-enter 0.34s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
  transition: width 0.38s cubic-bezier(0.16, 1, 0.3, 1), height 0.38s cubic-bezier(0.16, 1, 0.3, 1);
}
.floating-ai-panel.is-wide {
  width: min(880px, calc(100vw - 36px)) !important;
  height: min(760px, calc(100dvh - 96px)) !important;
}

.floating-ai-toolbar {
  display: flex;
  min-height: 62px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  background: rgba(15, 37, 48, 0.95) !important;
  padding: 10px 16px !important;
}
.floating-ai-brand { display: flex; align-items: center; gap: 10px; }
.floating-ai-brand > span {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 12px;
  background: #0d7183;
  color: #ffffff;
}
.floating-ai-brand strong { color: #ffffff; font-size: 13px; font-weight: 600; }
.floating-ai-brand small { color: rgba(255, 255, 255, 0.6); font-size: 10px; }

.floating-ai-toolbar nav { display: flex; align-items: center; gap: 4px; }
.floating-ai-toolbar nav button {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: rgba(255, 255, 255, 0.7);
  transition: background 0.18s, color 0.18s;
  cursor: pointer;
}
.floating-ai-toolbar nav button:hover,
.floating-ai-toolbar nav button.is-active { background: rgba(255, 255, 255, 0.12); color: #ffffff; }

.floating-ai-workspace { display: flex; flex: 1; min-height: 0; }

.floating-ai-history {
  display: flex;
  width: 230px;
  flex-direction: column;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(10, 25, 33, 0.95);
}
.floating-ai-history > header { display: flex; align-items: center; justify-content: space-between; padding: 14px 12px 8px; }
.floating-ai-history > header strong { font-size: 11.5px; color: #ffffff; }
.floating-ai-history > header button { border: 0; background: transparent; color: #38bdf8; font-size: 10.5px; font-weight: 600; cursor: pointer; }

.floating-ai-history > div { display: flex; flex: 1; flex-direction: column; gap: 4px; overflow-y: auto; padding: 6px; }
.floating-ai-history > div > button {
  display: flex;
  flex-direction: column;
  gap: 3px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  padding: 8px 10px;
  text-align: left;
  color: rgba(255, 255, 255, 0.85);
  cursor: pointer;
}
.floating-ai-history > div > button:hover { background: rgba(255, 255, 255, 0.08); }
.floating-ai-history > div strong { font-size: 11px; font-weight: 580; }
.floating-ai-history > div small { font-size: 9px; opacity: 0.5; }

.floating-ai-main { display: flex; flex: 1; flex-direction: column; min-width: 0; min-height: 0; }

.floating-ai-messages {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 12px;
  overflow-y: auto;
  padding: 16px;
  background: #132f3d !important;
}
.floating-ai-messages > article { display: flex; max-width: 88%; align-items: flex-start; gap: 8px; }
.floating-ai-messages > article[data-role="user"] { align-self: flex-end; }
.floating-ai-messages > article[data-role="assistant"] { align-self: flex-start; }

.floating-ai-messages > article > div {
  border-radius: 16px;
  padding: 10px 14px;
  font-size: 12px;
  line-height: 1.6;
}
.floating-ai-messages > article[data-role="user"] > div {
  background: #0d7183;
  color: #ffffff;
  border-bottom-right-radius: 4px;
}
.floating-ai-messages > article[data-role="assistant"] > div {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #f1f5f9;
  border-bottom-left-radius: 4px;
}

.floating-ai-composer {
  margin: 10px;
  border-radius: 16px;
  background: rgba(15, 37, 48, 0.95);
  border: 1px solid rgba(255, 255, 255, 0.14);
}
.floating-ai-input-row { display: flex; align-items: flex-end; gap: 6px; padding: 8px; }
.floating-ai-tools { display: flex; align-items: center; gap: 2px; }
.floating-ai-tools button,
.floating-ai-submit {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: rgba(255, 255, 255, 0.75);
  cursor: pointer;
  transition: background 0.18s, color 0.18s;
}
.floating-ai-tools button:hover { background: rgba(255, 255, 255, 0.12); color: #ffffff; }

.floating-ai-input-row textarea {
  flex: 1;
  min-height: 36px;
  max-height: 120px;
  border: 0;
  background: transparent;
  padding: 8px 4px;
  color: #ffffff;
  font-size: 12px;
  outline: none;
  resize: none;
}
.floating-ai-input-row textarea::placeholder { color: rgba(255, 255, 255, 0.4); }

.floating-ai-submit { background: #0d7183; color: #ffffff; }
.floating-ai-submit:hover:not(:disabled) { background: #0c6474; }
.floating-ai-submit.is-stop { background: #e11d48 !important; color: #ffffff !important; }

.floating-ai-attachment {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 8px;
  padding: 6px 10px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 11px;
}
.floating-ai-attachment img { width: 36px; height: 36px; border-radius: 6px; object-fit: cover; }

/* -------------------------------------------------------------------------- */
/* LIVE VOICE ASSISTANT STAGE                                                */
/* -------------------------------------------------------------------------- */

.floating-ai-live-stage {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 20px 16px;
  background: #0b1f2d;
  color: #ffffff;
}

.floating-ai-orb { position: relative; width: 180px; height: 180px; margin-top: 10px; }
.floating-ai-orb .orb-ring-a { animation: eg-orb-pulse 2s infinite ease-in-out; stroke: #38bdf8; opacity: 0.4; }
.floating-ai-orb .orb-ring-b { animation: eg-orb-spin 12s infinite linear; stroke: #818cf8; stroke-dasharray: 6 10; }
.floating-ai-orb .orb-core { fill: rgba(14, 165, 233, 0.2); stroke: #38bdf8; }
.floating-ai-orb .orb-wave { stroke: #38bdf8; stroke-width: 3; animation: eg-orb-wave 2s infinite ease-in-out; }

@keyframes eg-orb-spin { to { transform: rotate(360deg); } }
@keyframes eg-orb-pulse { 0%, 100% { transform: scale(0.96); opacity: 0.4; } 50% { transform: scale(1.04); opacity: 0.8; } }
@keyframes eg-orb-wave { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }

.floating-ai-live-status { display: flex; align-items: center; gap: 8px; font-size: 12px; }
.floating-ai-live-transcript {
  width: 100%;
  max-height: 160px;
  overflow-y: auto;
  padding: 12px;
  border-radius: 16px;
  background: rgba(4, 20, 34, 0.64);
  border: 1px solid rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(12px);
  font-size: 11px;
}
.floating-ai-live-transcript article { margin-bottom: 8px; }
.floating-ai-live-transcript article span { font-size: 9px; font-weight: 600; text-transform: uppercase; color: #38bdf8; }
.floating-ai-live-transcript article p { margin-top: 2px; color: #f1f5f9; }

.floating-ai-trigger {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 151;
  display: inline-flex;
  height: 48px;
  align-items: center;
  gap: 8px;
  padding: 0 18px;
  border-radius: 16px;
  background: #0d7183;
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow: 0 12px 30px rgba(13, 113, 131, 0.4);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: transform 0.2s, background 0.2s;
}
.floating-ai-trigger:hover { transform: translateY(-2px); background: #0c6474; }
.floating-ai-trigger.is-open { padding: 0 14px; }

/* Responsive adjustments */
@media (max-width: 768px) {
  .floating-ai-panel { right: 10px !important; bottom: 74px !important; width: calc(100vw - 20px) !important; }
}

/* eGestion 0.6.4 — Unified Modal Animations, Module KPI Cards, Sectors Donut & Dark Menu Floating AI */

/* -------------------------------------------------------------------------- */
/* 1. UNIFIED POPUP & MODAL OPENING ANIMATION ACROSS ALL PARTS OF THE APP      */
/* -------------------------------------------------------------------------- */

@keyframes eg-popup-enter {
  0% {
    opacity: 0;
    transform: translateY(16px) scale(0.95);
    filter: blur(4px);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

@keyframes eg-popup-backdrop-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

dialog[open],
.modal,
.modal-box,
.modal-content,
[role="dialog"],
.pilot-modal-card,
.global-search-panel,
.settings-leave-dialog,
.measured-context-menu,
.command-palette-panel,
.floating-ai-panel,
.popover-content,
.dropdown-content {
  transform-origin: center center;
  animation: eg-popup-enter 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
}

.modal-backdrop,
.global-search-overlay,
.pilot-modal-backdrop,
.settings-leave-overlay,
.dialog-backdrop {
  animation: eg-popup-backdrop-in 0.22s ease-out forwards !important;
}

/* -------------------------------------------------------------------------- */
/* 2. PROGRESS METRIC CARDS (LIGHT & DARK THEMES + MODULE ACCENTS)            */
/* -------------------------------------------------------------------------- */

.eg-glass-kpi {
  --eg-accent: #2563eb;
  --eg-accent-rgb: 37, 99, 235;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 220px;
  overflow: hidden;
  border-radius: 22px;
  transition: transform 0.24s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.24s ease, box-shadow 0.24s ease;
}

/* Per-module color definitions */
.eg-glass-kpi.is-blue { --eg-accent: #3b82f6; --eg-accent-rgb: 59, 130, 246; }
.eg-glass-kpi.is-emerald { --eg-accent: #10b981; --eg-accent-rgb: 16, 185, 129; }
.eg-glass-kpi.is-rose { --eg-accent: #f43f5e; --eg-accent-rgb: 244, 63, 94; }
.eg-glass-kpi.is-amber { --eg-accent: #f59e0b; --eg-accent-rgb: 245, 158, 11; }
.eg-glass-kpi.is-cyan { --eg-accent: #06b6d4; --eg-accent-rgb: 6, 182, 212; }
.eg-glass-kpi.is-purple { --eg-accent: #8b5cf6; --eg-accent-rgb: 139, 92, 246; }
.eg-glass-kpi.is-indigo { --eg-accent: #6366f1; --eg-accent-rgb: 99, 102, 241; }
.eg-glass-kpi.is-slate { --eg-accent: #64748b; --eg-accent-rgb: 100, 116, 139; }

/* Dark Theme Version */
.eg-glass-kpi.is-dark {
  background: #132f3d !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 12px 32px rgba(4, 19, 35, 0.28), inset 0 1px rgba(255, 255, 255, 0.08) !important;
}
.eg-glass-kpi.is-dark:hover {
  transform: translateY(-2px);
  border-color: rgba(var(--eg-accent-rgb), 0.5) !important;
  box-shadow: 0 18px 40px rgba(4, 19, 35, 0.42), 0 0 20px rgba(var(--eg-accent-rgb), 0.15) !important;
}
.eg-glass-kpi.is-dark .eg-kpi-main h3 { color: rgba(255, 255, 255, 0.75) !important; }
.eg-glass-kpi.is-dark .eg-kpi-value { color: #ffffff !important; }
.eg-glass-kpi.is-dark .eg-kpi-footer {
  background: rgba(12, 31, 40, 0.85) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  color: rgba(255, 255, 255, 0.7) !important;
}
.eg-glass-kpi.is-dark .eg-kpi-watermark { color: rgba(var(--eg-accent-rgb), 0.12) !important; }

/* White Theme Version */
.eg-glass-kpi.is-light {
  background: rgba(255, 255, 255, 0.98) !important;
  color: #132f3d !important;
  border: 1px solid rgba(148, 163, 184, 0.32) !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.055), inset 0 1px rgba(255, 255, 255, 0.9) !important;
}
.eg-glass-kpi.is-light:hover {
  transform: translateY(-2px);
  border-color: rgba(var(--eg-accent-rgb), 0.4) !important;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.09) !important;
}
.eg-glass-kpi.is-light .eg-kpi-main h3 { color: #526174 !important; }
.eg-glass-kpi.is-light .eg-kpi-value { color: #0b172b !important; }
.eg-glass-kpi.is-light .eg-kpi-footer {
  background: rgba(248, 250, 252, 0.95) !important;
  border-top: 1px solid rgba(226, 232, 240, 0.8) !important;
  color: #64748b !important;
}
.eg-glass-kpi.is-light .eg-kpi-watermark { color: rgba(var(--eg-accent-rgb), 0.075) !important; }

.eg-kpi-shell { position: relative; display: flex; flex: 1; flex-direction: column; min-height: 220px; }
.eg-kpi-main { position: relative; z-index: 3; display: flex; flex: 1; min-width: 0; flex-direction: column; padding: 20px 20px 0; }
.eg-kpi-main > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }

.eg-kpi-header-title { display: flex; flex-direction: column; gap: 4px; }
.eg-kpi-main h3 { font-size: 13px; font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; }
.eg-kpi-module-tag { font-size: 10px; font-weight: 580; opacity: 0.65; text-transform: uppercase; }

.eg-kpi-controls { display: flex; align-items: center; gap: 8px; }

/* View Toggle (Curve vs Bars) */
.eg-kpi-view-toggle {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 2px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.1);
  cursor: pointer;
}
.is-light .eg-kpi-view-toggle { background: rgba(0, 0, 0, 0.05); border-color: rgba(0, 0, 0, 0.08); }
.eg-kpi-view-toggle button {
  border: 0;
  background: transparent;
  padding: 2px 5px;
  border-radius: 6px;
  font-size: 11px;
  opacity: 0.5;
  transition: opacity 0.2s, background 0.2s;
}
.eg-kpi-view-toggle button.is-active { opacity: 1; background: rgba(var(--eg-accent-rgb), 0.25); }

/* Period Select Dropdown */
.eg-kpi-period-container { position: relative; }
.eg-kpi-period {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: 1px solid rgba(var(--eg-accent-rgb), 0.25);
  border-radius: 999px;
  background: rgba(var(--eg-accent-rgb), 0.12);
  padding: 4px 10px;
  color: var(--eg-accent);
  font-size: 10px;
  font-weight: 600;
  cursor: pointer;
}
.eg-kpi-period-arrow { font-size: 8px; opacity: 0.8; }
.eg-kpi-period-menu {
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 4px;
  z-index: 20;
  display: flex;
  flex-direction: column;
  min-width: 110px;
  padding: 4px;
  border-radius: 10px;
  background: #0f2530;
  border: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
}
.is-light .eg-kpi-period-menu { background: #ffffff; border-color: #cbd5e1; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1); }
.eg-kpi-period-menu button {
  border: 0;
  background: transparent;
  padding: 6px 10px;
  text-align: left;
  font-size: 10.5px;
  color: #e2e8f0;
  border-radius: 6px;
  cursor: pointer;
}
.is-light .eg-kpi-period-menu button { color: #1e293b; }
.eg-kpi-period-menu button:hover { background: rgba(var(--eg-accent-rgb), 0.2); }

/* Value & Trend Badge */
.eg-kpi-value {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 24px;
  font-size: clamp(1.6rem, 2.3vw, 2.25rem);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.012em;
  line-height: 1;
}
.eg-kpi-value small { font-size: 12px; font-weight: 600; }

.eg-kpi-trend-badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  background: rgba(var(--eg-accent-rgb), 0.14);
  color: var(--eg-accent);
}
.eg-kpi-trend-badge[data-trend="down"] { background: rgba(244, 63, 94, 0.15); color: #f43f5e; }
.eg-kpi-trend-badge[data-trend="up"] { background: rgba(16, 185, 129, 0.15); color: #10b981; }

/* Plot SVG & Dots Grid */
.eg-kpi-plot {
  pointer-events: none;
  position: absolute;
  inset: 0 0 0 auto;
  z-index: 1;
  width: 62%;
  overflow: hidden;
  color: rgba(var(--eg-accent-rgb), 0.25);
  -webkit-mask-image: linear-gradient(to right, transparent, #000 45%);
  mask-image: linear-gradient(to right, transparent, #000 45%);
}
.eg-kpi-dot-field { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0.55; }
.eg-kpi-sparkline { position: absolute; right: 0; bottom: 34px; width: 100%; height: 96px; overflow: visible; }
.eg-kpi-bars-plot { position: absolute; right: 0; bottom: 34px; width: 100%; height: 96px; overflow: visible; }
.eg-kpi-area { fill: rgba(var(--eg-accent-rgb), 0.1); }
.eg-kpi-line { stroke: var(--eg-accent); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 4px 10px rgba(var(--eg-accent-rgb), 0.25)); }
.eg-kpi-endpoint { fill: #ffffff; stroke: var(--eg-accent); stroke-width: 2.5; }
.eg-kpi-bar-item { fill: var(--eg-accent); }

.eg-kpi-watermark {
  pointer-events: none;
  position: absolute;
  right: -18px;
  bottom: 19px;
  z-index: 2;
  display: grid;
  place-items: center;
  transform: rotate(-5deg);
}

/* Footer layout */
.eg-kpi-footer {
  position: relative;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  padding: 12px 20px;
  font-size: 11px;
}
.eg-kpi-footer-left { display: flex; align-items: center; gap: 5px; }
.eg-kpi-delta-val { font-weight: 600; color: var(--eg-accent); }
.eg-kpi-delta-label { opacity: 0.7; }

.eg-kpi-footer-stats { display: flex; align-items: center; gap: 6px; opacity: 0.85; font-size: 11px; }
.eg-kpi-footer-stats b { font-weight: 600; }
.eg-kpi-dot-sep { opacity: 0.4; font-weight: 650; }

/* -------------------------------------------------------------------------- */
/* 3. SECTORS DONUT ALLOCATION RING KPI                                      */
/* -------------------------------------------------------------------------- */

.eg-allocation-card {
  display: block;
  min-width: 0;
  overflow: hidden;
  border-radius: 22px;
  transition: transform 0.24s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.24s ease, box-shadow 0.24s ease;
}
.eg-allocation-card.is-dark {
  background: #132f3d !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 10px 28px rgba(4, 19, 35, 0.28) !important;
}
.eg-allocation-card.is-light {
  background: #ffffff !important;
  color: #132f3d !important;
  border: 1px solid rgba(148, 163, 184, 0.32) !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.045) !important;
}
.eg-allocation-card:hover { transform: translateY(-2px); }

.eg-allocation-shell { min-height: 200px; padding: 20px; }
.eg-allocation-shell > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.eg-allocation-header-text h3 { font-size: 13px; font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; }
.eg-allocation-header-text small { font-size: 10px; opacity: 0.65; }

.eg-allocation-body { display: flex; align-items: center; gap: 24px; margin-top: 14px; }
.eg-allocation-ring { position: relative; flex: 0 0 132px; width: 132px; height: 132px; }
.eg-donut-svg { display: block; transform: rotate(-90deg); }

.eg-allocation-center {
  pointer-events: none;
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.eg-allocation-center strong { font-size: 15px; font-weight: 600; letter-spacing: 0.03em; }
.eg-allocation-center small { font-size: 9px; opacity: 0.5; margin-top: 2px; }

.eg-allocation-arc.is-muted { opacity: 0.22 !important; }

.eg-allocation-legend { display: flex; flex: 1; flex-direction: column; gap: 4px; min-width: 0; }
.eg-allocation-legend-row {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  border: 0;
  background: transparent;
  border-radius: 8px;
  padding: 5px 8px;
  text-align: left;
  transition: opacity 0.2s ease, background 0.2s ease;
  cursor: pointer;
}
.eg-allocation-legend-row:hover { background: rgba(255, 255, 255, 0.08); }
.is-light .eg-allocation-legend-row:hover { background: rgba(0, 0, 0, 0.04); }
.eg-allocation-legend-row.is-muted { opacity: 0.35 !important; }

.eg-legend-dot { width: 8px; height: 8px; border-radius: 3px; flex-shrink: 0; }
.eg-legend-label { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11.5px; opacity: 0.85; }
.eg-legend-pct { font-size: 11px; font-weight: 600; font-variant-numeric: tabular-nums; opacity: 0.75; }

/* -------------------------------------------------------------------------- */
/* 4. FLOATING AI ASSISTANT (DARK BLUE MENU THEME & LIVE ASSISTANT)           */
/* -------------------------------------------------------------------------- */

.floating-ai-panel {
  position: fixed;
  right: 20px;
  bottom: 84px;
  z-index: 150;
  display: flex;
  width: min(440px, calc(100vw - 28px)) !important;
  height: min(660px, calc(100dvh - 112px)) !important;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 24px !important;
  background: #132f3d !important; /* Signature dark navy menu background */
  color: #ffffff !important;
  box-shadow: 0 28px 70px rgba(4, 19, 35, 0.45), 0 4px 18px rgba(4, 19, 35, 0.2);
  transform-origin: calc(100% - 26px) 100%;
  animation: eg-popup-enter 0.34s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
  transition: width 0.38s cubic-bezier(0.16, 1, 0.3, 1), height 0.38s cubic-bezier(0.16, 1, 0.3, 1);
}
.floating-ai-panel.is-wide {
  width: min(880px, calc(100vw - 36px)) !important;
  height: min(760px, calc(100dvh - 96px)) !important;
}

.floating-ai-toolbar {
  display: flex;
  min-height: 62px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  background: rgba(15, 37, 48, 0.95) !important;
  padding: 10px 16px !important;
}
.floating-ai-brand { display: flex; align-items: center; gap: 10px; }
.floating-ai-brand > span {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 12px;
  background: #0d7183;
  color: #ffffff;
}
.floating-ai-brand strong { color: #ffffff; font-size: 13px; font-weight: 600; }
.floating-ai-brand small { color: rgba(255, 255, 255, 0.6); font-size: 10px; }

.floating-ai-toolbar nav { display: flex; align-items: center; gap: 4px; }
.floating-ai-toolbar nav button {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: rgba(255, 255, 255, 0.7);
  transition: background 0.18s, color 0.18s;
  cursor: pointer;
}
.floating-ai-toolbar nav button:hover,
.floating-ai-toolbar nav button.is-active { background: rgba(255, 255, 255, 0.12); color: #ffffff; }

.floating-ai-workspace { display: flex; flex: 1; min-height: 0; }

.floating-ai-history {
  display: flex;
  width: 230px;
  flex-direction: column;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(10, 25, 33, 0.95);
}
.floating-ai-history > header { display: flex; align-items: center; justify-content: space-between; padding: 14px 12px 8px; }
.floating-ai-history > header strong { font-size: 11.5px; color: #ffffff; }
.floating-ai-history > header button { border: 0; background: transparent; color: #38bdf8; font-size: 10.5px; font-weight: 600; cursor: pointer; }

.floating-ai-history > div { display: flex; flex: 1; flex-direction: column; gap: 4px; overflow-y: auto; padding: 6px; }
.floating-ai-history > div > button {
  display: flex;
  flex-direction: column;
  gap: 3px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  padding: 8px 10px;
  text-align: left;
  color: rgba(255, 255, 255, 0.85);
  cursor: pointer;
}
.floating-ai-history > div > button:hover { background: rgba(255, 255, 255, 0.08); }
.floating-ai-history > div strong { font-size: 11px; font-weight: 580; }
.floating-ai-history > div small { font-size: 9px; opacity: 0.5; }

.floating-ai-main { display: flex; flex: 1; flex-direction: column; min-width: 0; min-height: 0; }

.floating-ai-messages {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 12px;
  overflow-y: auto;
  padding: 16px;
  background: #132f3d !important;
}
.floating-ai-messages > article { display: flex; max-width: 88%; align-items: flex-start; gap: 8px; }
.floating-ai-messages > article[data-role="user"] { align-self: flex-end; }
.floating-ai-messages > article[data-role="assistant"] { align-self: flex-start; }

.floating-ai-messages > article > div {
  border-radius: 16px;
  padding: 10px 14px;
  font-size: 12px;
  line-height: 1.6;
}
.floating-ai-messages > article[data-role="user"] > div {
  background: #0d7183;
  color: #ffffff;
  border-bottom-right-radius: 4px;
}
.floating-ai-messages > article[data-role="assistant"] > div {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #f1f5f9;
  border-bottom-left-radius: 4px;
}

.floating-ai-composer {
  margin: 10px;
  border-radius: 16px;
  background: rgba(15, 37, 48, 0.95);
  border: 1px solid rgba(255, 255, 255, 0.14);
}
.floating-ai-input-row { display: flex; align-items: flex-end; gap: 6px; padding: 8px; }
.floating-ai-tools { display: flex; align-items: center; gap: 2px; }
.floating-ai-tools button,
.floating-ai-submit {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: rgba(255, 255, 255, 0.75);
  cursor: pointer;
  transition: background 0.18s, color 0.18s;
}
.floating-ai-tools button:hover { background: rgba(255, 255, 255, 0.12); color: #ffffff; }

.floating-ai-input-row textarea {
  flex: 1;
  min-height: 36px;
  max-height: 120px;
  border: 0;
  background: transparent;
  padding: 8px 4px;
  color: #ffffff;
  font-size: 12px;
  outline: none;
  resize: none;
}
.floating-ai-input-row textarea::placeholder { color: rgba(255, 255, 255, 0.4); }

.floating-ai-submit { background: #0d7183; color: #ffffff; }
.floating-ai-submit:hover:not(:disabled) { background: #0c6474; }
.floating-ai-submit.is-stop { background: #e11d48 !important; color: #ffffff !important; }

.floating-ai-attachment {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 8px;
  padding: 6px 10px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 11px;
}
.floating-ai-attachment img { width: 36px; height: 36px; border-radius: 6px; object-fit: cover; }

/* -------------------------------------------------------------------------- */
/* LIVE VOICE ASSISTANT STAGE                                                */
/* -------------------------------------------------------------------------- */

.floating-ai-live-stage {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 20px 16px;
  background: #0b1f2d;
  color: #ffffff;
}

.floating-ai-orb { position: relative; width: 180px; height: 180px; margin-top: 10px; }
.floating-ai-orb .orb-ring-a { animation: eg-orb-pulse 2s infinite ease-in-out; stroke: #38bdf8; opacity: 0.4; }
.floating-ai-orb .orb-ring-b { animation: eg-orb-spin 12s infinite linear; stroke: #818cf8; stroke-dasharray: 6 10; }
.floating-ai-orb .orb-core { fill: rgba(14, 165, 233, 0.2); stroke: #38bdf8; }
.floating-ai-orb .orb-wave { stroke: #38bdf8; stroke-width: 3; animation: eg-orb-wave 2s infinite ease-in-out; }

@keyframes eg-orb-spin { to { transform: rotate(360deg); } }
@keyframes eg-orb-pulse { 0%, 100% { transform: scale(0.96); opacity: 0.4; } 50% { transform: scale(1.04); opacity: 0.8; } }
@keyframes eg-orb-wave { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }

.floating-ai-live-status { display: flex; align-items: center; gap: 8px; font-size: 12px; }
.floating-ai-live-transcript {
  width: 100%;
  max-height: 160px;
  overflow-y: auto;
  padding: 12px;
  border-radius: 16px;
  background: rgba(4, 20, 34, 0.64);
  border: 1px solid rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(12px);
  font-size: 11px;
}
.floating-ai-live-transcript article { margin-bottom: 8px; }
.floating-ai-live-transcript article span { font-size: 9px; font-weight: 600; text-transform: uppercase; color: #38bdf8; }
.floating-ai-live-transcript article p { margin-top: 2px; color: #f1f5f9; }

.floating-ai-trigger {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 151;
  display: inline-flex;
  height: 48px;
  align-items: center;
  gap: 8px;
  padding: 0 18px;
  border-radius: 16px;
  background: #0d7183;
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow: 0 12px 30px rgba(13, 113, 131, 0.4);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: transform 0.2s, background 0.2s;
}
.floating-ai-trigger:hover { transform: translateY(-2px); background: #0c6474; }
.floating-ai-trigger.is-open { padding: 0 14px; }

/* Responsive adjustments */
@media (max-width: 768px) {
  .floating-ai-panel { right: 10px !important; bottom: 74px !important; width: calc(100vw - 20px) !important; }
}

@media (prefers-reduced-motion: reduce) {
  /* eg-popup-enter animations disabled for prefers-reduced-motion */
  dialog[open],
  .modal,
  .modal-box,
  .modal-content,
  [role="dialog"],
  .pilot-modal-card,
  .global-search-panel,
  .settings-leave-dialog,
  .measured-context-menu,
  .command-palette-panel,
  .floating-ai-panel,
  .popover-content,
  .dropdown-content {
    animation: none !important;
    transition: none !important;
  }
}

/* eGestion 0.6.4 — Clean Brand-Compliant Operational Dashboard & AI Workspace */

/* -------------------------------------------------------------------------- */
/* 1. UNIFIED POPUP & MODAL OPENING ANIMATION ACROSS ALL PARTS OF THE APP      */
/* -------------------------------------------------------------------------- */

@keyframes eg-popup-enter {
  0% {
    opacity: 0;
    transform: translateY(14px) scale(0.965);
    filter: blur(2px);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

@keyframes eg-popup-backdrop-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

dialog[open],
.modal,
.modal-box,
.modal-content,
[role="dialog"],
.pilot-modal-card,
.global-search-panel,
.settings-leave-dialog,
.measured-context-menu,
.command-palette-panel,
.floating-ai-panel,
.popover-content,
.dropdown-content {
  transform-origin: center center;
  animation: eg-popup-enter 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
}

.modal-backdrop,
.global-search-overlay,
.pilot-modal-backdrop,
.settings-leave-overlay,
.dialog-backdrop {
  animation: eg-popup-backdrop-in 0.2s ease-out forwards !important;
}

/* -------------------------------------------------------------------------- */
/* 2. PROGRESS METRIC CARDS (EXACT CODE STRUCTURE & EGESTION BRAND PALETTE)  */
/* -------------------------------------------------------------------------- */

.eg-progress-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 340px;
  width: 100%;
  overflow: hidden;
  border-radius: 28px;
  transition: transform 0.24s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.24s ease, box-shadow 0.24s ease;
}

/* Dark Theme Version (Action Navy #173f4e & Ledger Ink #132f3d) */
.eg-progress-card.is-dark {
  background: #132f3d !important;
  color: #ffffff !important;
  border: 1px solid rgba(215, 225, 230, 0.14) !important;
  box-shadow: 0 4px 20px rgba(15, 37, 48, 0.24) !important;
}
.eg-progress-card.is-dark:hover {
  transform: translateY(-2px);
  border-color: rgba(var(--eg-accent-rgb), 0.45) !important;
  box-shadow: 0 14px 36px rgba(15, 37, 48, 0.36) !important;
}
.eg-progress-card.is-dark .eg-card-title { color: #ffffff !important; }
.eg-progress-card.is-dark .eg-card-headline { color: #ffffff !important; }
.eg-progress-card.is-dark .eg-card-footer {
  background: #0c1f28 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  color: rgba(255, 255, 255, 0.72) !important;
}
.eg-progress-card.is-dark .eg-graph-mask { color: rgba(255, 255, 255, 0.14) !important; }

/* Light Theme Version (Paper White #ffffff & Cool Canvas #e8eef1) */
.eg-progress-card.is-light {
  background: #ffffff !important;
  color: #132f3d !important;
  border: 1px solid #d7e1e6 !important;
  box-shadow: 0 2px 10px rgba(15, 37, 48, 0.04) !important;
}
.eg-progress-card.is-light:hover {
  transform: translateY(-2px);
  border-color: rgba(var(--eg-accent-rgb), 0.38) !important;
  box-shadow: 0 12px 30px rgba(15, 37, 48, 0.08) !important;
}
.eg-progress-card.is-light .eg-card-title { color: #132f3d !important; }
.eg-progress-card.is-light .eg-card-headline { color: #132f3d !important; }
.eg-progress-card.is-light .eg-card-footer {
  background: #f8fbfc !important;
  border-top: 1px solid rgba(19, 47, 61, 0.06) !important;
  color: #58717c !important;
}
.eg-progress-card.is-light .eg-graph-mask { color: rgba(19, 47, 61, 0.13) !important; }

.eg-card-shell {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 340px;
}

/* 62% right graph region with dot pattern grid and mask linear gradient */
.eg-graph-region {
  pointer-events: none;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  z-index: 0;
  width: 62%;
  overflow: hidden;
}
.eg-graph-gradient {
  position: absolute;
  inset: 0;
}
.eg-graph-mask {
  position: absolute;
  inset: 0;
  -webkit-mask-image: linear-gradient(to right, transparent, black 55%);
  mask-image: linear-gradient(to right, transparent, black 55%);
}
.eg-sparkline-svg,
.eg-bars-svg {
  position: absolute;
  right: 0;
  bottom: 48px;
  width: 100%;
  height: 120px;
  overflow: visible;
}

/* Main Content Padding & Layout */
.eg-card-content {
  pointer-events: none;
  position: relative;
  z-index: 10;
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 28px 32px 20px;
}
.eg-card-header {
  pointer-events: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.eg-card-title {
  font-size: 17px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -.012em;
}

/* View Toggle (Curve vs Bars) */
.eg-view-toggle {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 3px;
  border-radius: 999px;
  background: rgba(19, 47, 61, 0.06);
  border: 1px solid rgba(19, 47, 61, 0.1);
  cursor: pointer;
}
.is-dark .eg-view-toggle { background: rgba(255, 255, 255, 0.1); border-color: rgba(255, 255, 255, 0.12); }
.eg-view-toggle button {
  border: 0;
  background: transparent;
  padding: 3px 6px;
  border-radius: 999px;
  font-size: 11px;
  opacity: 0.5;
  transition: opacity 0.18s, background 0.18s;
}
.eg-view-toggle button.is-active {
  opacity: 1;
  background: rgba(var(--eg-accent-rgb), 0.2);
}

/* Trend Indicator Badge */
.eg-trend-indicator {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 14px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

/* Period Select Dropdown */
.eg-period-select {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 1px solid rgba(var(--eg-accent-rgb), 0.22);
  border-radius: 999px;
  background: rgba(var(--eg-accent-rgb), 0.08);
  padding: 4px 12px;
  color: var(--eg-accent-text);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
}
.eg-period-menu {
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 6px;
  z-index: 30;
  display: flex;
  flex-direction: column;
  min-width: 130px;
  padding: 5px;
  border-radius: 12px;
  background: #132f3d;
  border: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.35);
}
.is-light .eg-period-menu { background: #ffffff; border-color: #d7e1e6; box-shadow: 0 10px 28px rgba(15, 37, 48, 0.12); }
.eg-period-menu button {
  border: 0;
  background: transparent;
  padding: 7px 12px;
  text-align: left;
  font-size: 12px;
  color: #ffffff;
  border-radius: 8px;
  cursor: pointer;
}
.is-light .eg-period-menu button { color: #132f3d; }
.eg-period-menu button:hover { background: rgba(var(--eg-accent-rgb), 0.2); }

/* Dominant Headline Figure Display */
.eg-card-headline {
  margin-top: 24px;
  font-size: clamp(2.8rem, 4.5vw, 4.5rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -.012em;
  font-variant-numeric: tabular-nums;
}

/* Opaque Footer Bar */
.eg-card-footer {
  pointer-events: auto;
  position: relative;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 32px;
  font-size: 14px;
}
.eg-footer-label { color: #58717c; }
.is-dark .eg-footer-label { color: rgba(255, 255, 255, 0.65); }

.eg-footer-stats {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: #58717c;
}
.is-dark .eg-footer-stats { color: rgba(255, 255, 255, 0.65); }
.eg-footer-stats strong { font-weight: 600; color: #132f3d; }
.is-dark .eg-footer-stats strong { color: rgba(255, 255, 255, 0.9); }
.eg-stat-dot { opacity: 0.4; font-weight: 600; margin: 0 2px; }

/* -------------------------------------------------------------------------- */
/* 3. SECTORS DONUT ALLOCATION RING KPI                                      */
/* -------------------------------------------------------------------------- */

.eg-allocation-card {
  display: block;
  min-width: 0;
  overflow: hidden;
  border-radius: 24px;
  transition: transform 0.24s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.24s ease, box-shadow 0.24s ease;
}
.eg-allocation-card.is-dark {
  background: #132f3d !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 4px 20px rgba(15, 37, 48, 0.24) !important;
}
.eg-allocation-card.is-light {
  background: #ffffff !important;
  color: #132f3d !important;
  border: 1px solid #d7e1e6 !important;
  box-shadow: 0 2px 10px rgba(15, 37, 48, 0.04) !important;
}
.eg-allocation-card:hover { transform: translateY(-2px); }

.eg-allocation-shell { min-height: 200px; padding: 24px; }
.eg-allocation-shell > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.eg-allocation-header-text h3 { font-size: 15px; font-weight: 600; letter-spacing: -0.01em; }
.eg-allocation-header-text small { font-size: 11px; opacity: 0.65; }

.eg-allocation-body { display: flex; align-items: center; gap: 28px; margin-top: 16px; }
.eg-allocation-ring { position: relative; flex: 0 0 132px; width: 132px; height: 132px; }
.eg-donut-svg { display: block; transform: rotate(-90deg); }

.eg-allocation-center {
  pointer-events: none;
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.eg-allocation-center strong { font-size: 15px; font-weight: 600; letter-spacing: 0.02em; }
.eg-allocation-center small { font-size: 9px; opacity: 0.45; margin-top: 2px; }

.eg-allocation-arc.is-muted { opacity: 0.22 !important; }

.eg-allocation-legend { display: flex; flex: 1; flex-direction: column; gap: 5px; min-width: 0; }
.eg-allocation-legend-row {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  border: 0;
  background: transparent;
  border-radius: 8px;
  padding: 6px 10px;
  text-align: left;
  transition: opacity 0.2s ease, background 0.2s ease;
  cursor: pointer;
}
.eg-allocation-legend-row:hover { background: rgba(255, 255, 255, 0.08); }
.is-light .eg-allocation-legend-row:hover { background: rgba(19, 47, 61, 0.04); }
.eg-allocation-legend-row.is-muted { opacity: 0.35 !important; }

.eg-legend-dot { width: 8px; height: 8px; border-radius: 3px; flex-shrink: 0; }
.eg-legend-label { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11.5px; opacity: 0.85; }
.eg-legend-pct { font-size: 11px; font-weight: 500; font-variant-numeric: tabular-nums; opacity: 0.75; }

/* -------------------------------------------------------------------------- */
/* 4. FLOATING AI ASSISTANT (DARK BLUE MENU THEME & LIVE ASSISTANT)           */
/* -------------------------------------------------------------------------- */

.floating-ai-panel {
  position: fixed;
  right: 20px;
  bottom: 84px;
  z-index: 150;
  display: flex;
  width: min(440px, calc(100vw - 28px)) !important;
  height: min(660px, calc(100dvh - 112px)) !important;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 24px !important;
  background: #132f3d !important;
  color: #ffffff !important;
  box-shadow: 0 28px 70px rgba(4, 19, 35, 0.45), 0 4px 18px rgba(4, 19, 35, 0.2);
  transform-origin: calc(100% - 26px) 100%;
  animation: eg-popup-enter 0.34s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
  transition: width 0.38s cubic-bezier(0.16, 1, 0.3, 1), height 0.38s cubic-bezier(0.16, 1, 0.3, 1);
}
.floating-ai-panel.is-wide {
  width: min(880px, calc(100vw - 36px)) !important;
  height: min(760px, calc(100dvh - 96px)) !important;
}

.floating-ai-toolbar {
  display: flex;
  min-height: 62px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  background: rgba(15, 37, 48, 0.95) !important;
  padding: 10px 16px !important;
}
.floating-ai-brand { display: flex; align-items: center; gap: 10px; }
.floating-ai-brand > span {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 12px;
  background: #0d7183;
  color: #ffffff;
}
.floating-ai-brand strong { color: #ffffff; font-size: 13px; font-weight: 600; }
.floating-ai-brand small { color: rgba(255, 255, 255, 0.6); font-size: 10px; }

.floating-ai-toolbar nav { display: flex; align-items: center; gap: 4px; }
.floating-ai-toolbar nav button {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: rgba(255, 255, 255, 0.75);
  transition: background 0.18s, color 0.18s;
  cursor: pointer;
}
.floating-ai-toolbar nav button:hover,
.floating-ai-toolbar nav button.is-active { background: rgba(255, 255, 255, 0.12); color: #ffffff; }

.floating-ai-workspace { display: flex; flex: 1; min-height: 0; }

.floating-ai-history {
  display: flex;
  width: 230px;
  flex-direction: column;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(10, 25, 33, 0.95);
}
.floating-ai-history > header { display: flex; align-items: center; justify-content: space-between; padding: 14px 12px 8px; }
.floating-ai-history > header strong { font-size: 11.5px; color: #ffffff; }
.floating-ai-history > header button { border: 0; background: transparent; color: #38bdf8; font-size: 10.5px; font-weight: 600; cursor: pointer; }

.floating-ai-history > div { display: flex; flex: 1; flex-direction: column; gap: 4px; overflow-y: auto; padding: 6px; }
.floating-ai-history > div > button {
  display: flex;
  flex-direction: column;
  gap: 3px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  padding: 8px 10px;
  text-align: left;
  color: rgba(255, 255, 255, 0.85);
  cursor: pointer;
}
.floating-ai-history > div > button:hover { background: rgba(255, 255, 255, 0.08); }
.floating-ai-history > div strong { font-size: 11px; font-weight: 500; }
.floating-ai-history > div small { font-size: 9px; opacity: 0.5; }

.floating-ai-main { display: flex; flex: 1; flex-direction: column; min-width: 0; min-height: 0; }

.floating-ai-messages {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 12px;
  overflow-y: auto;
  padding: 16px;
  background: #132f3d !important;
}
.floating-ai-messages > article { display: flex; max-width: 88%; align-items: flex-start; gap: 8px; }
.floating-ai-messages > article[data-role="user"] { align-self: flex-end; }
.floating-ai-messages > article[data-role="assistant"] { align-self: flex-start; }

.floating-ai-messages > article > div {
  border-radius: 16px;
  padding: 10px 14px;
  font-size: 12px;
  line-height: 1.6;
}
.floating-ai-messages > article[data-role="user"] > div {
  background: #0d7183;
  color: #ffffff;
  border-bottom-right-radius: 4px;
}
.floating-ai-messages > article[data-role="assistant"] > div {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #f1f5f9;
  border-bottom-left-radius: 4px;
}

.floating-ai-composer {
  margin: 10px;
  border-radius: 16px;
  background: rgba(15, 37, 48, 0.95);
  border: 1px solid rgba(255, 255, 255, 0.14);
}
.floating-ai-input-row { display: flex; align-items: flex-end; gap: 6px; padding: 8px; }
.floating-ai-tools { display: flex; align-items: center; gap: 2px; }
.floating-ai-tools button,
.floating-ai-submit {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: rgba(255, 255, 255, 0.75);
  cursor: pointer;
  transition: background 0.18s, color 0.18s;
}
.floating-ai-tools button:hover { background: rgba(255, 255, 255, 0.12); color: #ffffff; }

.floating-ai-input-row textarea {
  flex: 1;
  min-height: 36px;
  max-height: 120px;
  border: 0;
  background: transparent;
  padding: 8px 4px;
  color: #ffffff;
  font-size: 12px;
  outline: none;
  resize: none;
}
.floating-ai-input-row textarea::placeholder { color: rgba(255, 255, 255, 0.4); }

.floating-ai-submit { background: #0d7183; color: #ffffff; }
.floating-ai-submit:hover:not(:disabled) { background: #0c6474; }
.floating-ai-submit.is-stop { background: #a61b35 !important; color: #ffffff !important; }

.floating-ai-attachment {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 8px;
  padding: 6px 10px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 11px;
}
.floating-ai-attachment img { width: 36px; height: 36px; border-radius: 6px; object-fit: cover; }

/* LIVE VOICE ASSISTANT STAGE */
.floating-ai-live-stage {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 20px 16px;
  background: #0b1f2d;
  color: #ffffff;
}

.floating-ai-orb { position: relative; width: 180px; height: 180px; margin-top: 10px; }
.floating-ai-orb .orb-ring-a { animation: eg-orb-pulse 2s infinite ease-in-out; stroke: #0d7183; opacity: 0.4; }
.floating-ai-orb .orb-ring-b { animation: eg-orb-spin 12s infinite linear; stroke: #f07a00; stroke-dasharray: 6 10; }
.floating-ai-orb .orb-core { fill: rgba(13, 113, 131, 0.2); stroke: #0d7183; }
.floating-ai-orb .orb-wave { stroke: #0d7183; stroke-width: 3; animation: eg-orb-wave 2s infinite ease-in-out; }

@keyframes eg-orb-spin { to { transform: rotate(360deg); } }
@keyframes eg-orb-pulse { 0%, 100% { transform: scale(0.96); opacity: 0.4; } 50% { transform: scale(1.04); opacity: 0.8; } }
@keyframes eg-orb-wave { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }

.floating-ai-live-status { display: flex; align-items: center; gap: 8px; font-size: 12px; }
.floating-ai-live-transcript {
  width: 100%;
  max-height: 160px;
  overflow-y: auto;
  padding: 12px;
  border-radius: 16px;
  background: rgba(4, 20, 34, 0.64);
  border: 1px solid rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(12px);
  font-size: 11px;
}
.floating-ai-live-transcript article { margin-bottom: 8px; }
.floating-ai-live-transcript article span { font-size: 9px; font-weight: 600; text-transform: uppercase; color: #0d7183; }
.floating-ai-live-transcript article p { margin-top: 2px; color: #f1f5f9; }

.floating-ai-trigger {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 151;
  display: inline-flex;
  height: 48px;
  align-items: center;
  gap: 8px;
  padding: 0 18px;
  border-radius: 16px;
  background: #0d7183;
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow: 0 12px 30px rgba(13, 113, 131, 0.4);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: transform 0.2s, background 0.2s;
}
.floating-ai-trigger:hover { transform: translateY(-2px); background: #0c6474; }
.floating-ai-trigger.is-open { padding: 0 14px; }

@media (max-width: 768px) {
  .floating-ai-panel { right: 10px !important; bottom: 74px !important; width: calc(100vw - 20px) !important; }
}

@media (prefers-reduced-motion: reduce) {
  /* eg-popup-enter animations disabled for prefers-reduced-motion */
  dialog[open],
  .modal,
  .modal-box,
  .modal-content,
  [role="dialog"],
  .pilot-modal-card,
  .global-search-panel,
  .settings-leave-dialog,
  .measured-context-menu,
  .command-palette-panel,
  .floating-ai-panel,
  .popover-content,
  .dropdown-content {
    animation: none !important;
    transition: none !important;
  }
}

/* <<< 91b0a8671bf167f7-egprod260812r18.css */


/* >>> popup-motion-0.6.4-r3.css */
/* eGestion 0.6.4 — High-performance responsive motion for popups, dropdowns, and drawers. */

/* -------------------------------------------------------------------------- */
/* 1. NOTIFICATION DRAWER — SLIDE IN / SLIDE OUT FROM RIGHT SIDE              */
/* -------------------------------------------------------------------------- */
.notification-drawer {
  animation: none !important;
  position: fixed !important;
  top: 72px !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 70 !important;
  width: min(420px, 100vw) !important;
  border-left: 1px solid rgba(226, 232, 240, 0.8) !important;
  box-shadow: -14px 0 40px rgba(15, 23, 42, 0.16) !important;
  will-change: transform;
}

.notification-backdrop {
  position: fixed !important;
  inset: 72px 0 0 0 !important;
  z-index: 65 !important;
  background: rgba(15, 23, 42, 0.45) !important;
  backdrop-filter: blur(2px) !important;
}

/* -------------------------------------------------------------------------- */
/* 2. FAST & CRISP POPUP & MODAL ANIMATION (NO BLUR, 180ms CURVE)            */
/* -------------------------------------------------------------------------- */
@keyframes eg-popup-surface-in {
  from {
    opacity: 0;
    transform: translateY(8px) scale(0.985);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes eg-popup-overlay-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* Centered dialogs and app-level popup panels (excluding right-side drawer) */
dialog.dialog-panel[open],
dialog[open],
.modal-box,
.modal-content,
.document-modal,
.document-leave-overlay > section,
.settings-center-overlay > .settings-center,
.settings-leave-overlay > section,
.pilot-modal-card,
.global-search-panel,
.floating-ai-panel,
[role="alertdialog"],
[role="dialog"]:not(.notification-drawer) {
  transform-origin: 50% 38%;
  animation: eg-popup-surface-in 180ms cubic-bezier(0.16, 1, 0.3, 1) both !important;
  filter: none !important;
}

/* Animate overlay backdrop opacity cleanly */
.modal,
.modal-backdrop,
.global-search-overlay[role="dialog"],
.pilot-modal-backdrop,
.pilot-modal-overlay,
.settings-center-overlay,
.settings-leave-overlay,
.document-modal-backdrop,
.document-leave-overlay,
.dialog-backdrop,
.measured-menu-backdrop {
  transform: none !important;
  animation: eg-popup-overlay-in 140ms ease-out both !important;
}

dialog[open]::backdrop {
  animation: eg-popup-overlay-in 140ms ease-out both;
}

/* -------------------------------------------------------------------------- */
/* 3. DROPDOWNS & POPOVERS — SMOOTH OPEN, SMOOTH CLOSE & DISMISS IN DOCUMENT */
/* -------------------------------------------------------------------------- */
@keyframes eg-dropdown-fast-in {
  from {
    opacity: 0;
    transform: translateY(-6px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.measured-context-menu,
.command-palette-panel,
.account-popover,
.sidebar-flyout,
.popover-content,
.dropdown-content,
.eg-kpi-period-menu {
  transform-origin: top right;
  animation: eg-dropdown-fast-in 160ms cubic-bezier(0.16, 1, 0.3, 1) both !important;
  transition: opacity 140ms cubic-bezier(0.16, 1, 0.3, 1), transform 140ms cubic-bezier(0.16, 1, 0.3, 1), visibility 140ms !important;
}

/* Smooth close class when hiding or closing dropdowns in document */
.account-popover.is-closing,
.dropdown-content.is-closing,
.popover-content.is-closing,
.sidebar-flyout.is-closing {
  opacity: 0 !important;
  transform: translateY(-6px) scale(0.98) !important;
  pointer-events: none !important;
}

/* -------------------------------------------------------------------------- */
/* 4. REDUCED MOTION ACCESSIBILITY OVERRIDE                                   */
/* -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  dialog.dialog-panel[open],
  dialog[open],
  .modal,
  .modal-box,
  .modal-content,
  .document-modal,
  .document-modal-backdrop,
  .document-leave-overlay,
  .document-leave-overlay > section,
  .settings-center-overlay,
  .settings-center-overlay > .settings-center,
  .settings-leave-overlay,
  .settings-leave-overlay > section,
  .pilot-modal-card,
  .pilot-modal-backdrop,
  .pilot-modal-overlay,
  .global-search-overlay[role="dialog"],
  .global-search-panel,
  .floating-ai-panel,
  .notification-backdrop,
  .notification-drawer,
  .measured-menu-backdrop,
  .measured-context-menu,
  .command-palette-panel,
  .account-popover,
  .sidebar-flyout,
  .popover-content,
  .dropdown-content,
  .eg-kpi-period-menu,
  [role="alertdialog"] {
    animation: none !important;
    transition-duration: 0s !important;
  }

  dialog[open]::backdrop {
    animation: none !important;
  }
}

/* -------------------------------------------------------------------------- */
/* 5. DASHBOARD MAIN KPIS & PIE CHARTS WHITE MODE & GRID SPACING              */
/* -------------------------------------------------------------------------- */

/* Force main KPI container to grid with clean 16px gaps */
.pilot-kpis-container {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

@media (max-width: 1200px) {
  .pilot-kpis-container {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 640px) {
  .pilot-kpis-container {
    grid-template-columns: 1fr !important;
  }
}

/* KPI Cards: Pure White Glass, subtle 1px border, soft shadow, NO heavy saturated gradients */
.eg-glass-kpi,
.pilot-page .eg-glass-kpi,
.pilot-kpi-card {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 196px !important;
  border: 1px solid rgba(226, 232, 240, 0.85) !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  backdrop-filter: blur(12px) !important;
  color: #0f172a !important;
  box-shadow: 0 4px 18px rgba(15, 23, 42, 0.035), inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.eg-glass-kpi::before,
.pilot-page .eg-glass-kpi::before {
  content: none !important;
  display: none !important;
}

.eg-glass-kpi:hover,
.pilot-page .eg-glass-kpi:hover,
.pilot-kpi-card:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(148, 163, 184, 0.45) !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.075), inset 0 1px 0 #ffffff !important;
  background: #ffffff !important;
}

.eg-kpi-main h3 {
  color: #475569 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

.eg-kpi-period {
  border: 1px solid rgba(148, 163, 184, 0.25) !important;
  background: rgba(241, 245, 249, 0.8) !important;
  color: #475569 !important;
  font-size: 9.5px !important;
  font-weight: 600 !important;
}

.eg-kpi-value {
  color: #0f172a !important;
  font-size: clamp(1.6rem, 2.2vw, 2.2rem) !important;
  font-weight: 600 !important;
}

/* KPI Card Footer: Clean single-line text truncation with no collision/overlap with trend badge */
.eg-kpi-footer {
  position: relative !important;
  z-index: 4 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  margin-top: auto !important;
  border-top: 1px solid rgba(226, 232, 240, 0.8) !important;
  background: rgba(255, 255, 255, 0.95) !important;
  padding: 10px 18px !important;
  border-bottom-left-radius: 20px !important;
  border-bottom-right-radius: 20px !important;
}

.eg-kpi-footer > span:first-child {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: #64748b !important;
}

.eg-kpi-trend {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  font-variant-numeric: tabular-nums !important;
  padding: 2px 6px !important;
  border-radius: 6px !important;
  background: rgba(241, 245, 249, 0.7) !important;
}

.eg-kpi-watermark {
  opacity: 0.05 !important;
  color: #0f172a !important;
}

/* -------------------------------------------------------------------------- */
/* PIE CHARTS (ALLOCATION CARDS) — WHITE MODE                                  */
/* -------------------------------------------------------------------------- */
.pilot-payment-health {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

@media (max-width: 1100px) {
  .pilot-payment-health {
    grid-template-columns: 1fr !important;
  }
}

.eg-allocation-card,
.eg-allocation-card.is-dark,
.pilot-page .eg-allocation-card {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(226, 232, 240, 0.85) !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.96) !important;
  backdrop-filter: blur(12px) !important;
  color: #0f172a !important;
  box-shadow: 0 6px 20px rgba(15, 23, 42, 0.035), inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.eg-allocation-card:hover,
.pilot-page .eg-allocation-card:hover {
  transform: translateY(-2px) !important;
  background: #ffffff !important;
  border-color: rgba(148, 163, 184, 0.45) !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.075) !important;
}

.eg-allocation-shell h3,
.eg-allocation-header-text h3 {
  color: #1e293b !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
}

.eg-allocation-header-text small,
.eg-allocation-shell small,
.eg-allocation-ring small,
.eg-allocation-center small {
  color: #64748b !important;
  font-size: 10px !important;
  font-weight: 580 !important;
}

.eg-allocation-ring strong,
.eg-allocation-center strong {
  color: #0f172a !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  letter-spacing: -.012em !important;
}

.eg-allocation-icon {
  color: #64748b !important;
}

.eg-allocation-legend-row,
.eg-allocation-legend > span {
  color: #334155 !important;
  background: transparent !important;
  border-radius: 8px !important;
  padding: 5px 8px !important;
}

.eg-allocation-legend-row:hover,
.eg-allocation-legend > span:hover {
  background: #f8fafc !important;
}

.eg-legend-label {
  color: #334155 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
}

.eg-legend-pct,
.eg-allocation-legend b {
  color: #0f172a !important;
  font-size: 11px !important;
  font-weight: 600 !important;
}

/* <<< popup-motion-0.6.4-r3.css */


/* <<< 91b0a8671bf167f7-egprod260812r22.css */


/* >>> production-hardening-0.7.0.css */
/* Production behavior hardening. This layer preserves the established visual system. */

.eg-sheet-recipient { left:114.63mm !important; right:auto !important; }
.eg-sheet-sender { left:10mm !important; right:auto !important; }

.sidebar-group-content {
  transition: grid-template-rows .24s cubic-bezier(.22,1,.36,1), opacity .18s ease !important;
  will-change: grid-template-rows, opacity;
}
.sidebar-group-content[aria-hidden="true"] {
  visibility:hidden;
  pointer-events:none;
  opacity:0;
}
.sidebar-group-content.is-open {
  visibility:visible;
  pointer-events:auto;
  opacity:1;
}

.route-stage.eg-route-enter > :first-child {
  animation:eg-route-settle .28s cubic-bezier(.22,1,.36,1) both !important;
}
@keyframes eg-route-settle {
  from { opacity:.72; transform:translateY(5px); }
  to { opacity:1; transform:translateY(0); }
}

.primary-action,.secondary-action,.document-create-action,.document-scan-action,
.document-viewer-actions button,.document-viewer-summary-actions button,
.dialog-close-button,.sidebar-group-trigger,.sidebar-nav-link,.sidebar-dashboard-link {
  transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .16s cubic-bezier(.22,1,.36,1) !important;
}
.primary-action:not(:disabled):active,.secondary-action:not(:disabled):active,
.document-create-action:not(:disabled):active,.document-scan-action:not(:disabled):active,
.document-viewer-actions button:not(:disabled):active,.document-viewer-summary-actions button:not(:disabled):active,
.dialog-close-button:not(:disabled):active { transform:scale(.975); }

.document-viewer-canvas { position:relative; }
.document-viewer-floating-tools {
  position:sticky;
  top:12px;
  z-index:12;
  float:right;
  display:flex;
  align-items:center;
  gap:4px;
  width:max-content;
  margin:0 0 -48px auto;
  padding:5px;
  border:1px solid rgba(148,163,184,.38);
  border-radius:12px;
  background:rgba(255,255,255,.94);
  box-shadow:0 10px 28px rgba(15,37,48,.13);
  backdrop-filter:blur(12px);
}
.document-viewer-floating-tools button {
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:8px;
  color:#314b59;
  background:transparent;
  transition:background-color .16s ease,color .16s ease,transform .14s ease;
}
.document-viewer-floating-tools button:hover { color:#f26522; background:#fff3ed; }
.document-viewer-floating-tools button:active { transform:scale(.92); }
.document-viewer-floating-tools button:focus-visible { outline:2px solid #f59a63; outline-offset:2px; }
.document-viewer-zoom-level {
  min-width:46px;
  color:#526977;
  font-size:11px;
  font-weight:600;
  text-align:center;
  font-variant-numeric:tabular-nums;
}
.document-viewer-searchbox {
  display:none;
  align-items:center;
  gap:5px;
  padding-left:4px;
}
.document-viewer-searchbox.is-open { display:flex; }
.document-viewer-searchbox input {
  width:180px;
  height:34px;
  border:1px solid #cbd5dc;
  border-radius:8px;
  padding:0 9px;
  background:#fff;
  color:#173445;
  font-size:12px;
}
.document-viewer-searchbox small { min-width:44px; color:#607583; font-size:10px; }

.signature-request-dialog { max-height:min(92dvh,900px); overflow:hidden; }
.signature-request-dialog > article { max-height:min(92dvh,900px); display:flex; flex-direction:column; }
.signature-request-dialog .document-dialog-header > div { min-width:0; }
.signature-dialog-count { display:block; margin-top:2px; color:rgba(255,255,255,.72); font-size:11px; }
.signature-request-body { overflow-y:auto; overscroll-behavior:contain; }
.signature-request-overview {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  overflow:hidden;
  border:1px solid #dce5e9;
  border-radius:12px;
  background:#f8fafb;
}
.signature-request-overview > span { display:grid; place-items:center; min-height:70px; padding:10px; border-right:1px solid #dce5e9; }
.signature-request-overview > span:last-child { border-right:0; }
.signature-request-overview strong { color:#173445; font-size:21px; line-height:1; font-variant-numeric:tabular-nums; }
.signature-request-overview small { margin-top:5px; color:#71828c; font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:.06em; }
.signature-request-roster,.signature-request-add { margin-top:16px; }
.signature-request-add { padding-top:16px; border-top:1px solid #e3e9ec; }
.signature-section-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px; }
.signature-section-heading h3 { margin:0; color:#1c3543; font-size:13px; font-weight:600; }
.signature-section-heading small { color:#80909a; font-size:11px; }
.signature-roster-list { display:grid; gap:7px; max-height:190px; overflow-y:auto; }
.signature-roster-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:52px;
  padding:8px 9px 8px 12px;
  border:1px solid #e1e8eb;
  border-radius:10px;
  background:#fff;
}
.signature-roster-row > span { min-width:0; }
.signature-roster-row strong,.signature-roster-row small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.signature-roster-row strong { color:#233b48; font-size:12px; }
.signature-roster-row small { margin-top:2px; color:#7a8b95; font-size:10px; }
.signature-roster-row > div { display:flex; align-items:center; gap:7px; }
.signature-roster-row em { border-radius:999px; padding:4px 8px; background:#f1f5f7; color:#526977; font-size:10px; font-style:normal; font-weight:600; white-space:nowrap; }
.signature-roster-row em[data-status="SIGNED"] { background:#e7f7ef; color:#13734c; }
.signature-roster-row em[data-status="PENDING"],.signature-roster-row em[data-status="VIEWED"] { background:#fff4e6; color:#a75818; }
.signature-remove-action { width:32px; height:32px; display:grid; place-items:center; border:0; border-radius:8px; background:transparent; color:#8a99a2; }
.signature-remove-action:hover { background:#fff0f0; color:#c33d3d; }
.signature-remove-action:disabled { opacity:.45; }
.signature-roster-empty { margin:0; padding:13px; border:1px dashed #d8e1e5; border-radius:10px; color:#778a95; font-size:12px; text-align:center; }
.signature-expiry-field { display:block; margin-top:12px; }
.signature-add-action { width:100%; margin-top:14px; justify-content:center; }

.signing-layout { grid-template-columns:1fr !important; width:min(1120px,calc(100% - 32px)); max-width:1120px !important; }
.signing-panel {
  position:static !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.45fr) minmax(280px,.7fr) !important;
  column-gap:22px;
  align-items:start;
  margin-top:18px;
}
.signing-panel-heading,.signing-alert { grid-column:1/-1; }
.signing-panel > div:not(.signing-panel-heading):not(.signing-alert) { grid-column:1; grid-row:3 / span 5; }
.signing-panel > .signing-consent,.signing-panel > .signing-legal,.signing-panel > .primary-action,.signing-panel > .signing-decline { grid-column:2; }
.signing-canvas-stage { min-height:340px; }
.signature-canvas { width:100%; height:340px; touch-action:none; }
.signing-legal { display:none !important; }

@media (max-width:800px) {
  .document-viewer-floating-tools { top:8px; margin-right:2px; }
  .document-viewer-searchbox input { width:128px; }
  .signing-layout { width:min(100% - 20px,1120px); }
  .signing-panel { display:flex !important; flex-direction:column; gap:12px; }
  .signing-panel > * { width:100%; }
  .signing-canvas-stage { min-height:250px; }
  .signature-canvas { height:250px; }
}

@media (prefers-reduced-motion:reduce) {
  .route-stage.eg-route-enter > :first-child { animation:none !important; }
  .sidebar-group-content,.primary-action,.secondary-action,.document-create-action,.document-scan-action,
  .document-viewer-actions button,.document-viewer-summary-actions button,.dialog-close-button,
  .sidebar-group-trigger,.sidebar-nav-link,.sidebar-dashboard-link { transition:none !important; }
}

/* <<< production-hardening-0.7.0.css */


/* <<< 91b0a8671bf167f7-egprod260813r1.css */


/* >>> settings-modal-0.7.1.css */
/* eGestion 0.7.1 — stable, scroll-contained settings modal. */

/* Keep the activity surface stationary while settings owns focus. */
html:has(.settings-center-overlay),body:has(.settings-center-overlay) {
  overflow: hidden !important;
  overscroll-behavior: none !important;
}

.settings-center-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 300 !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
  padding: clamp(12px, 2.2vw, 24px) !important;
  overscroll-behavior: contain !important;
  background: color-mix(in srgb, #132f3d 58%, transparent) !important;
  -webkit-backdrop-filter: blur(2px) !important;
  backdrop-filter: blur(2px) !important;
  animation: none !important;
}

.settings-center-overlay > .settings-center {
  width: min(1180px, 100%) !important;
  height: min(860px, calc(100dvh - clamp(24px, 4.4vw, 48px))) !important;
  min-height: 0 !important;
  max-height: calc(100dvh - clamp(24px, 4.4vw, 48px)) !important;
  border: 1px solid rgba(207, 219, 224, .96) !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 26px 72px rgba(15, 37, 48, .14), 0 4px 16px rgba(15, 37, 48, .12) !important;
  overflow: hidden !important;
  animation: none !important;
  transform: none !important;
}

.settings-center-body,
.settings-center-content,
.settings-center-scroll {
  min-width: 0 !important;
  min-height: 0 !important;
}

.settings-center-body {
  overflow: hidden !important;
}

.settings-center-body > nav {
  min-width: 0 !important;
  min-height: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scrollbar-width: thin !important;
}

.settings-center-body > nav a,
.settings-center-body > nav button {
  min-width: 0 !important;
  max-width: 100% !important;
}

.settings-center-body > nav a > span,
.settings-center-body > nav button > span {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.settings-center-content {
  overflow: hidden !important;
}

/* This is the only vertical scrolling surface in the content pane. */
.settings-center-scroll {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scrollbar-gutter: stable !important;
  scrollbar-width: thin !important;
  scrollbar-color: #9fb1ba transparent !important;
  touch-action: pan-y !important;
  -webkit-overflow-scrolling: touch;
}

/* Undo the nested form scroller that made wheel and touch input feel trapped. */
.settings-center-scroll > .surface-card {
  display: block !important;
  height: auto !important;
  min-height: 100% !important;
  max-height: none !important;
  overflow: visible !important;
}

.settings-center-scroll > .surface-card > div {
  min-height: initial !important;
  overflow: visible !important;
  scrollbar-gutter: auto !important;
}

/* Save actions stay available while the single content pane scrolls. */
.settings-center-scroll>.surface-card>footer,.settings-center-scroll>form>footer:last-child,.settings-center-scroll>section>footer:last-child,.settings-center-scroll form>div:last-child:has(>.primary-action[type="submit"]) {
  position: sticky !important;
  inset: auto 0 0 !important;
  z-index: 35 !important;
  border-top: 1px solid #d7e1e6 !important;
  background: rgba(255, 255, 255, .97) !important;
  box-shadow: 0 -10px 24px rgba(15, 37, 48, .07) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  backdrop-filter: blur(10px) !important;
}

/* Section changes move only the content; the modal shell never jumps. */
.settings-center-scroll > * {
  animation: eg-settings-content-in 170ms cubic-bezier(.16, 1, .3, 1) both !important;
}

@keyframes eg-settings-content-in {
  from { opacity: .86; transform: translateX(4px); }
  to { opacity: 1; transform: none; }
}

@media (max-width: 640px) {
  .settings-center-overlay {
    padding: max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left)) !important;
  }

  .settings-center-overlay > .settings-center {
    width: 100% !important;
    height: calc(100dvh - max(20px, env(safe-area-inset-top) + env(safe-area-inset-bottom))) !important;
    max-height: calc(100dvh - max(20px, env(safe-area-inset-top) + env(safe-area-inset-bottom))) !important;
    border-radius: 16px !important;
  }

  .settings-center-body {
    grid-template-columns: 76px minmax(0, 1fr) !important;
  }

  .settings-center-body > nav {
    overflow-x: hidden !important;
    padding-inline: 7px !important;
  }

  .settings-center-body > nav a {
    width: 100% !important;
    padding-inline: 4px !important;
  }

  .settings-center-body > nav .settings-document-subnav {
    width: 100% !important;
    margin: 2px 0 8px !important;
    padding: 4px 0 !important;
    border-left: 0 !important;
  }

  .settings-center-body > nav .settings-document-subnav > a {
    min-height: 34px !important;
    white-space: normal !important;
    font-size: 9px !important;
    line-height: 1.2 !important;
    text-align: center !important;
  }

  .settings-logout {
    width: 100% !important;
    justify-content: center !important;
  }

  .settings-logout > span {
    display: none !important;
  }

  .settings-center-scroll {
    padding: 10px !important;
    scrollbar-gutter: auto !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .settings-center-overlay,
  .settings-center-overlay > .settings-center,
  .settings-center-scroll > * {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

/* <<< settings-modal-0.7.1.css */


/* <<< 91b0a8671bf167f7-egprod260813r2.css */


/* >>> global-help-popovers-0.7.1-r3.css */
/* eGestion 0.7.1 — one anchored information affordance across the ERP. */

.page-info,
.settings-info-tip {
  position: relative !important;
  z-index: auto !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  width: 30px !important;
  height: 30px !important;
  overflow: visible !important;
  vertical-align: middle !important;
}

.page-info > summary,
.settings-info-tip > summary {
  display: grid !important;
  place-items: center !important;
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  min-height: 30px !important;
  padding: 0 !important;
  border: 1px solid #cbd9df !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #496875 !important;
  box-shadow: 0 1px 2px rgba(15, 37, 48, .07) !important;
  cursor: help !important;
  list-style: none !important;
  transition: border-color 140ms ease, background-color 140ms ease, color 140ms ease, box-shadow 140ms ease, transform 140ms cubic-bezier(.16, 1, .3, 1) !important;
}

.page-info > summary::-webkit-details-marker,
.settings-info-tip > summary::-webkit-details-marker {
  display: none !important;
}

.page-info > summary:hover,
.settings-info-tip > summary:hover {
  border-color: #9fc0ca !important;
  background: #f0f8f9 !important;
  color: #0c6474 !important;
  box-shadow: 0 4px 12px rgba(15, 37, 48, .08) !important;
  transform: translateY(-1px) !important;
}

.page-info > summary:focus-visible,
.settings-info-tip > summary:focus-visible {
  outline: 3px solid rgba(13, 113, 131, .14) !important;
  outline-offset: 2px !important;
  border-color: #0d7183 !important;
}

.page-info[data-eg-help-open="true"] > summary,
.settings-info-tip[data-eg-help-open="true"] > summary {
  border-color: #0d7183 !important;
  background: #eaf6f7 !important;
  color: #0c6474 !important;
  box-shadow: 0 0 0 3px rgba(13, 113, 131, .12) !important;
  transform: none !important;
}

/* The React-owned copy remains the semantic source. The enhanced top-layer
   card below is the only visible copy once the global controller is ready. */
html.eg-help-enhanced .page-info > p,
html.eg-help-enhanced .settings-info-tip > p {
  position: fixed !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  pointer-events: none !important;
}

.eg-help-popover[popover] {
  --eg-help-arrow-x: 28px;
  position: fixed !important;
  z-index: 2147483000 !important;
  width: min(400px, calc(100vw - 24px)) !important;
  max-width: calc(100vw - 24px) !important;
  max-height: min(560px, calc(100dvh - 24px)) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #d7e1e6 !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: #132f3d !important;
  box-shadow: 0 22px 54px rgba(15, 37, 48, .16), 0 5px 14px rgba(15, 37, 48, .08) !important;
  overflow: visible !important;
  font-family: "Geist", "IBM Plex Sans Variable", "IBM Plex Sans", "Segoe UI", ui-sans-serif, system-ui, sans-serif !important;
  animation: eg-help-popover-in 170ms cubic-bezier(.16, 1, .3, 1) both !important;
}

.eg-help-popover[popover]::backdrop {
  background: transparent !important;
}

.eg-help-popover::before {
  content: "";
  position: absolute;
  left: calc(var(--eg-help-arrow-x) - 7px);
  width: 14px;
  height: 14px;
  border: solid #d7e1e6;
  background: #fff;
  transform: rotate(45deg);
  pointer-events: none;
}

.eg-help-popover[data-placement="bottom"]::before {
  top: -8px;
  border-width: 1px 0 0 1px;
}

.eg-help-popover[data-placement="top"]::before {
  bottom: -8px;
  border-width: 0 1px 1px 0;
}

.eg-help-popover-scroll {
  position: relative;
  z-index: 1;
  max-height: min(558px, calc(100dvh - 26px));
  padding: 20px 22px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: #9fc0ca transparent;
}

.eg-help-popover-title {
  display: block;
  margin: 0 0 8px;
  color: #132f3d;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -.012em;
}

.eg-help-popover-body {
  color: #294653;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.eg-help-popover-body > :first-child { margin-top: 0 !important; }
.eg-help-popover-body > :last-child { margin-bottom: 0 !important; }
.eg-help-popover-body :is(h2, h3, h4, strong) {
  color: #132f3d;
  font-weight: 600;
}
.eg-help-popover-body :is(h2, h3, h4) {
  margin: 18px 0 6px;
  font-size: 14px;
  line-height: 1.35;
}
.eg-help-popover-body p + p { margin-top: 10px; }
.eg-help-popover-body ul {
  display: grid;
  gap: 6px;
  margin: 10px 0 0;
  padding-left: 18px;
  list-style: disc;
}

@keyframes eg-help-popover-in {
  from { opacity: .78; transform: translateY(-3px) scale(.985); }
  to { opacity: 1; transform: none; }
}

.eg-help-popover[data-placement="top"] {
  transform-origin: bottom center;
}

.eg-help-popover[data-placement="bottom"] {
  transform-origin: top center;
}

@media (max-width: 640px) {
  .eg-help-popover[popover] {
    width: calc(100vw - 24px) !important;
    max-height: min(520px, calc(100dvh - 24px)) !important;
    border-radius: 14px !important;
  }

  .eg-help-popover-scroll {
    max-height: min(518px, calc(100dvh - 26px));
    padding: 18px;
    scrollbar-gutter: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-info > summary,
  .settings-info-tip > summary,
  .eg-help-popover[popover] {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

/* <<< global-help-popovers-0.7.1-r3.css */


/* <<< 91b0a8671bf167f7-egprod260813r5.css */


/* >>> dashboard-command-center-0.7.2-r13.css */
/* eGestion 0.7.2 — centered dashboard command band, reference KPIs and shiny AI trigger. */

@property --eg-assistant-angle {
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: false;
}

@property --eg-assistant-offset {
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: false;
}

@property --eg-assistant-percent {
  syntax: "<percentage>";
  initial-value: 5%;
  inherits: false;
}

@property --eg-assistant-shine {
  syntax: "<color>";
  initial-value: #ffffff;
  inherits: false;
}

.pilot-page .pilot-command {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 20px !important;
  min-height: 132px !important;
  overflow: hidden !important;
  border: 1px solid #173f4e !important;
  border-radius: 14px !important;
  background: radial-gradient(125% 125% at 50% 10%, #0d314a 40%, #173f4e 100%) !important;
  padding: 20px 22px !important;
  color: #fff !important;
  box-shadow: 0 16px 34px rgba(4, 28, 43, .16), inset 0 1px rgba(255, 255, 255, .08) !important;
}

.pilot-command-copy {
  display: grid;
  width: 100%;
  min-width: 0;
  justify-items: start;
  padding-inline: 0;
  text-align: left;
}

.pilot-page .pilot-command h1 {
  margin: 0 !important;
  color: #fff !important;
  font-size: 24px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  letter-spacing: -.012em !important;
}

.eg-dashboard-briefing {
  display: block;
  align-items: center;
  justify-content: flex-start;
  max-width: 76ch;
  margin: 10px 0 0;
  color: #dceaf0;
  font-size: 12px;
  line-height: 1.55;
}

.eg-dashboard-tip {
  display: -webkit-box;
  min-width: 0;
  overflow: hidden;
  color: #dceaf0;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  animation: eg-dashboard-tip-in 420ms cubic-bezier(.16, 1, .3, 1) both;
}

.pilot-page .pilot-command-tools {
  display: flex !important;
  min-width: 0 !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

.pilot-page .pilot-presets {
  display: inline-flex !important;
  align-items: center !important;
  gap: 2px !important;
  min-height: 40px !important;
  border: 1px solid rgba(210, 229, 237, .15) !important;
  border-radius: 10px !important;
  background: #102c42 !important;
  padding: 3px !important;
}

.pilot-page .pilot-presets button,
.pilot-page .pilot-command-tools > button {
  min-height: 34px !important;
  border: 1px solid transparent !important;
  border-radius: 8px !important;
  color: #dceaf0 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  box-shadow: none !important;
}

.pilot-page .pilot-presets button {
  background: transparent !important;
  padding: 0 10px !important;
}

.pilot-page .pilot-presets button:hover,
.pilot-page .pilot-command-tools > button:hover {
  border-color: rgba(216, 233, 240, .18) !important;
  background: rgba(255, 255, 255, .08) !important;
  color: #fff !important;
}

.pilot-page .pilot-presets button.is-active,
.pilot-page .pilot-command-tools > button.is-active {
  border-color: #fff !important;
  background: #fff !important;
  color: #0d314a !important;
}

.pilot-page .pilot-command-tools > button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  min-height: 40px !important;
  border-color: rgba(210, 229, 237, .16) !important;
  background: #102c42 !important;
  padding: 0 12px !important;
}

.pilot-page .pilot-command-tools > button svg {
  color: currentColor !important;
}

.pilot-page .pilot-command-tools .badge {
  border: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  background: transparent !important;
  padding: 0 !important;
  color: #dceaf0 !important;
  font-size: 10px !important;
  font-weight: 600 !important;
}

.pilot-page .pilot-command :is(button, a):focus-visible {
  outline: 3px solid rgba(255, 255, 255, .3) !important;
  outline-offset: 2px !important;
}

.pilot-page .pilot-kpis-container {
  align-items: stretch !important;
  gap: 14px !important;
}

.pilot-page .eg-glass-kpi {
  isolation: isolate !important;
  min-height: 214px !important;
  overflow: hidden !important;
}

.pilot-page .eg-glass-kpi.is-blue {
  --eg-accent: #1976c9 !important;
  --eg-accent-rgb: 25, 118, 201 !important;
}

.pilot-page .eg-glass-kpi.is-red {
  --eg-accent: #d64f4f !important;
  --eg-accent-rgb: 214, 79, 79 !important;
}

.pilot-page .eg-glass-kpi.is-green {
  --eg-accent: #16886e !important;
  --eg-accent-rgb: 22, 136, 110 !important;
}

.pilot-page .eg-glass-kpi.is-orange {
  --eg-accent: #c97918 !important;
  --eg-accent-rgb: 201, 121, 24 !important;
}

.pilot-page .eg-kpi-shell {
  min-height: 212px !important;
}

.pilot-page .eg-kpi-plot {
  width: 100% !important;
  color: rgba(var(--eg-accent-rgb), .22) !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

.pilot-page .eg-kpi-dot-field {
  opacity: .72 !important;
}

.pilot-page .eg-kpi-sparkline {
  right: 0 !important;
  bottom: 52px !important;
  width: 64% !important;
}

.pilot-page .eg-kpi-line {
  stroke: var(--eg-accent) !important;
  stroke-width: 2.3 !important;
  filter: drop-shadow(0 4px 8px rgba(var(--eg-accent-rgb), .16)) !important;
}

.pilot-page .eg-kpi-area {
  fill: rgba(var(--eg-accent-rgb), .085) !important;
}

.pilot-page .eg-kpi-endpoint {
  fill: #fff !important;
  stroke: var(--eg-accent) !important;
  stroke-width: 2.3 !important;
}

.pilot-page .eg-kpi-period {
  border-color: rgba(var(--eg-accent-rgb), .2) !important;
  background: rgba(var(--eg-accent-rgb), .07) !important;
  color: var(--eg-accent) !important;
}

.pilot-page .eg-kpi-footer {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
}

.pilot-page .eg-kpi-footer > span:first-child {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.pilot-page .eg-kpi-trend {
  display: inline-flex !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  align-items: center !important;
  align-self: center !important;
  gap: 4px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  line-height: 1.35 !important;
  white-space: nowrap !important;
}

.pilot-page .eg-kpi-trend svg {
  display: block !important;
  flex: 0 0 13px !important;
  width: 13px !important;
  height: 13px !important;
}

.pilot-page .eg-allocation-header-text small,
.pilot-page .eg-allocation-center small {
  display: none !important;
}

.pilot-page .eg-allocation-body {
  margin-top: 12px !important;
}

.pilot-page .eg-allocation-center strong {
  display: block !important;
  max-width: 96px !important;
  color: #132f3d !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: .01em !important;
  white-space: nowrap !important;
}

.pilot-page .eg-allocation-card[aria-label*="recouvrée"] .eg-allocation-center strong,
.pilot-page .eg-allocation-card[aria-label*="Recouvrement"] .eg-allocation-center strong {
  max-width: 88px !important;
  font-size: 10.5px !important;
  letter-spacing: -.012em !important;
}

.page-info > summary,
.settings-info-tip > summary {
  border: 0 !important;
  border-radius: 5px !important;
  background: transparent !important;
  box-shadow: none !important;
}

.page-info > summary:hover,
.settings-info-tip > summary:hover,
.page-info[data-eg-help-open="true"] > summary,
.settings-info-tip[data-eg-help-open="true"] > summary {
  border-color: transparent !important;
  background: rgba(15, 37, 48, .055) !important;
  box-shadow: none !important;
}

.pilot-page .eg-kpi-trend:not([data-trend="down"]) {
  color: var(--eg-accent) !important;
}

.floating-ai-trigger {
  --eg-assistant-bg: #071c2b;
  --eg-assistant-bg-subtle: #173f4e;
  --eg-assistant-highlight: #3d7cff;
  --eg-assistant-highlight-subtle: #8ca7ff;
  isolation: isolate !important;
  overflow: hidden !important;
  min-width: 146px !important;
  height: 52px !important;
  min-height: 52px !important;
  gap: 9px !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  background:
    linear-gradient(var(--eg-assistant-bg), var(--eg-assistant-bg)) padding-box,
    conic-gradient(
      from calc(var(--eg-assistant-angle) - var(--eg-assistant-offset)),
      transparent,
      var(--eg-assistant-highlight) var(--eg-assistant-percent),
      var(--eg-assistant-shine) calc(var(--eg-assistant-percent) * 2),
      var(--eg-assistant-highlight) calc(var(--eg-assistant-percent) * 3),
      transparent calc(var(--eg-assistant-percent) * 4)
    ) border-box !important;
  padding: 0 20px !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: -.01em !important;
  box-shadow:
    inset 0 0 0 1px var(--eg-assistant-bg-subtle),
    0 14px 32px rgba(4, 28, 43, .3) !important;
  transition:
    transform 220ms cubic-bezier(.16, 1, .3, 1),
    box-shadow 220ms cubic-bezier(.16, 1, .3, 1),
    --eg-assistant-offset 800ms cubic-bezier(.25, 1, .5, 1),
    --eg-assistant-percent 800ms cubic-bezier(.25, 1, .5, 1),
    --eg-assistant-shine 800ms cubic-bezier(.25, 1, .5, 1) !important;
  animation: eg-assistant-angle 3s linear infinite !important;
}

.floating-ai-trigger::before,
.floating-ai-trigger::after,
.floating-ai-trigger > span::before {
  content: "";
  pointer-events: none;
  position: absolute;
  inset-inline-start: 50%;
  inset-block-start: 50%;
  translate: -50% -50%;
}

.floating-ai-trigger::before {
  width: calc(100% - 6px);
  height: calc(100% - 6px);
  border-radius: inherit;
  background: radial-gradient(circle at 2px 2px, rgba(255, 255, 255, .82) .5px, transparent .7px);
  background-size: 4px 4px;
  -webkit-mask-image: conic-gradient(from calc(var(--eg-assistant-angle) + 45deg), #0d314a, transparent 10% 90%, #0d314a);
  mask-image: conic-gradient(from calc(var(--eg-assistant-angle) + 45deg), #0d314a, transparent 10% 90%, #0d314a);
  opacity: .38;
  z-index: 0;
}

.floating-ai-trigger::after {
  width: 160px;
  aspect-ratio: 1;
  background: linear-gradient(-50deg, transparent 42%, var(--eg-assistant-highlight), transparent 58%);
  -webkit-mask-image: radial-gradient(circle at bottom, transparent 38%, #0d314a 72%);
  mask-image: radial-gradient(circle at bottom, transparent 38%, #0d314a 72%);
  opacity: .58;
  z-index: 0;
  animation: eg-assistant-shimmer 7.5s linear infinite;
}

.floating-ai-trigger > svg,
.floating-ai-trigger > span {
  position: relative;
  z-index: 1;
}

.floating-ai-trigger > span {
  display: inline-flex !important;
  align-items: center;
  white-space: nowrap;
}

.floating-ai-trigger > span::before {
  content: none !important;
}

.floating-ai-trigger:is(:hover, :focus-visible) {
  --eg-assistant-percent: 20%;
  --eg-assistant-offset: 95deg;
  --eg-assistant-shine: var(--eg-assistant-highlight-subtle);
  transform: translateY(-2px) !important;
  background:
    linear-gradient(var(--eg-assistant-bg), var(--eg-assistant-bg)) padding-box,
    conic-gradient(
      from calc(var(--eg-assistant-angle) - var(--eg-assistant-offset)),
      transparent,
      var(--eg-assistant-highlight) var(--eg-assistant-percent),
      var(--eg-assistant-shine) calc(var(--eg-assistant-percent) * 2),
      var(--eg-assistant-highlight) calc(var(--eg-assistant-percent) * 3),
      transparent calc(var(--eg-assistant-percent) * 4)
    ) border-box !important;
  box-shadow:
    inset 0 0 0 1px var(--eg-assistant-bg-subtle),
    0 17px 38px rgba(4, 28, 43, .38) !important;
}

.floating-ai-trigger:active {
  transform: translateY(1px) !important;
}

.floating-ai-trigger:focus-visible {
  outline: 3px solid rgba(61, 124, 255, .34) !important;
  outline-offset: 4px !important;
}

@keyframes eg-assistant-angle {
  to { --eg-assistant-angle: 360deg; }
}

@keyframes eg-assistant-shimmer {
  to { rotate: 360deg; }
}

@keyframes eg-assistant-breathe {
  0%, 100% { scale: 1; opacity: .08; }
  50% { scale: 1.16; opacity: .22; }
}

@keyframes eg-dashboard-tip-in {
  from { opacity: .25; filter: blur(2px); transform: translateY(4px); }
  to { opacity: 1; filter: blur(0); transform: translateY(0); }
}

@media (max-width: 1120px) {
  .pilot-page .pilot-command {
    grid-template-columns: 1fr !important;
  }

  .pilot-page .pilot-command-tools {
    justify-content: flex-start !important;
  }
}

@media (max-width: 720px) {
  .pilot-page .pilot-command {
    gap: 16px !important;
    min-height: 0 !important;
    padding: 18px !important;
  }

  .pilot-page .pilot-command h1 {
    font-size: 20px !important;
  }

  .pilot-command-copy {
    padding-inline: 0;
  }

  .pilot-page .pilot-command-tools,
  .pilot-page .pilot-presets {
    width: 100% !important;
  }

  .pilot-page .pilot-presets {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
  }

  .pilot-page .pilot-command-tools > button {
    flex: 1 1 0 !important;
  }

  .pilot-page .pilot-command-tools > button:last-child {
    flex-basis: 100% !important;
  }
}


/* Full-height notification sheet with restrained elevation. */
.notification-backdrop {
  inset: 0 !important;
}

.notification-drawer {
  inset: 0 0 0 auto !important;
  top: 0 !important;
  bottom: 0 !important;
  height: 100dvh !important;
  max-height: none !important;
  border-left: 0 !important;
  box-shadow: -8px 0 24px rgba(4, 28, 43, .11) !important;
}

/* Keep profile actions anchored to the bottom of the settings workspace. */
.settings-center-scroll > form.surface-card {
  display: flex !important;
  min-height: calc(100% - 24px) !important;
  flex-direction: column !important;
}

.settings-center-scroll > form.surface-card > footer:last-child {
  bottom: 0 !important;
  z-index: 3 !important;
  margin-top: auto !important;
  box-shadow: 0 -8px 20px rgba(4, 28, 43, .045) !important;
}

/* Dashboard personalization uses the same navy identity as the application shell. */
.pilot-modal-toggle.is-checked {
  border-color: #173f4e !important;
  background: #f1f5f6 !important;
}

.pilot-modal-toggle.is-checked .pilot-modal-toggle-box {
  border-color: #0d314a !important;
  background: #0d314a !important;
  color: #fff !important;
}

.pilot-modal-toggle input:focus-visible + .pilot-modal-toggle-box {
  outline: 3px solid rgba(13, 49, 74, .2) !important;
  outline-offset: 2px !important;
}

.quote-invoice-prompt {
  border: 1px solid #cbdde5;
  border-radius: 12px;
  background: #f3f8fa;
  padding: 14px 16px;
  color: #294b5c;
  font-size: 13px;
  line-height: 1.55;
}

.quote-invoice-prompt strong {
  display: block;
  margin-bottom: 4px;
  color: #0d314a;
  font-size: 14px;
}

.document-refusal-dialog-body {
  padding: 20px;
}

.document-refusal-dialog-body label {
  display: block;
}

.document-refusal-reason {
  display: block !important;
  width: 100% !important;
  min-height: 112px !important;
  resize: vertical !important;
  padding-block: 11px !important;
  line-height: 1.5 !important;
}

.document-refusal-reason:focus {
  border-color: #173f4e !important;
  outline: 3px solid rgba(23, 63, 78, .13) !important;
  outline-offset: 1px !important;
}

/* Compact contextual help keeps supporting copy out of working headers. */
.pilot-modal-heading,
.pilot-recovery-heading {
  display: flex !important;
  min-width: 0 !important;
  align-items: center !important;
  gap: 6px !important;
}

.pilot-modal-heading > h2,
.pilot-recovery-heading > h3 {
  margin: 0 !important;
}

.pilot-info-tip > summary > span {
  display: inline-grid !important;
  place-items: center !important;
  width: 16px !important;
  height: 16px !important;
  color: #58717c !important;
  font-size: 13px !important;
  font-style: normal !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  text-transform: lowercase !important;
}

.pilot-info-tip > summary:hover > span,
.pilot-info-tip[data-eg-help-open="true"] > summary > span {
  color: #0d314a !important;
}

.pilot-recovery-help {
  margin-left: 1px !important;
}

/* Scanner actions use the exact menu navy, including the modal submit action. */
.document-scan-action,dialog:has(.document-scan-source-grid) .primary-action {
  border-color: #0d314a !important;
  background: #0d314a !important;
  color: #fff !important;
  box-shadow: none !important;
}

.document-scan-action:hover:not(:disabled),dialog:has(.document-scan-source-grid) .primary-action:hover:not(:disabled) {
  border-color: #102c42 !important;
  background: #102c42 !important;
  box-shadow: 0 4px 12px rgba(4, 28, 43, .14) !important;
}

.document-scan-action:focus-visible,dialog:has(.document-scan-source-grid) .primary-action:focus-visible {
  outline: 3px solid rgba(13, 49, 74, .2) !important;
  outline-offset: 2px !important;
}

/* The requested Tabler webfont class is retained while the glyph is supplied
   locally, avoiding a blocking third-party font request. */
.floating-ai-trigger .ti.ti-robot {
  display: inline-grid !important;
  flex: 0 0 20px !important;
  place-items: center !important;
  width: 20px !important;
  height: 20px !important;
  color: currentColor !important;
  font-style: normal !important;
}

.floating-ai-trigger .ti.ti-robot::before {
  content: "" !important;
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  background: currentColor !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V6'/%3E%3Cpath d='M12 2v2M9 12v9M15 12v9M5 16l4-2M15 14l4 2M9 18h6M10 8v.01M14 8v.01'/%3E%3C/svg%3E") center / contain no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V6'/%3E%3Cpath d='M12 2v2M9 12v9M15 12v9M5 16l4-2M15 14l4 2M9 18h6M10 8v.01M14 8v.01'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

/* E-mail and backup settings: stable fields and deliberate edge-to-edge bars. */
.operations-settings-card {
  overflow: visible !important;
  border-color: #d7e1e6 !important;
  border-radius: 12px !important;
  box-shadow: 0 5px 18px rgba(4, 28, 43, .055) !important;
}

.operations-settings-card > .operations-settings-body {
  padding-bottom: 20px !important;
}

.operations-select-field {
  position: relative !important;
}

.operations-select-field::after {
  content: "" !important;
  position: absolute !important;
  right: 14px !important;
  bottom: 15px !important;
  width: 7px !important;
  height: 7px !important;
  border-right: 1.5px solid #365563 !important;
  border-bottom: 1.5px solid #365563 !important;
  pointer-events: none !important;
  transform: rotate(45deg) !important;
}

.operations-select {
  width: 100% !important;
  height: 38px !important;
  appearance: none !important;
  border: 1px solid #b9ccd4 !important;
  border-radius: 8px !important;
  background: #fff !important;
  padding: 0 40px 0 12px !important;
  color: #132f3d !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 38px !important;
  cursor: pointer !important;
}

.operations-select:hover {
  border-color: #9fc0ca !important;
}

.operations-select:focus-visible {
  border-color: #173f4e !important;
  outline: 3px solid rgba(23, 63, 78, .13) !important;
  outline-offset: 1px !important;
}

.operations-action-bar {
  display: flex !important;
  width: 100% !important;
  min-height: 66px !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  border-top: 1px solid #d7e1e6 !important;
  border-radius: 0 0 12px 12px !important;
  background: #f8fbfc !important;
  padding: 12px 20px !important;
  box-shadow: 0 -6px 18px rgba(4, 28, 43, .035) !important;
}

.operations-action-bar > label,
.operations-action-bar > p {
  min-width: 0 !important;
  margin: 0 !important;
}

.operations-action-bar > label {
  width: min(440px, 100%) !important;
}

.operations-action-buttons {
  display: flex !important;
  flex: 0 0 auto !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 8px !important;
}

.operations-action-buttons .btn-primary,
.operations-action-buttons button[type="submit"] {
  border-color: #0d314a !important;
  background: #0d314a !important;
  color: #fff !important;
}

.operations-action-buttons .btn-primary:hover:not(:disabled),
.operations-action-buttons button[type="submit"]:hover:not(:disabled) {
  border-color: #102c42 !important;
  background: #102c42 !important;
}

.operations-action-buttons .operations-secondary-action {
  border-color: #c5d3da !important;
  background: #fff !important;
  color: #173f4e !important;
}

.operations-action-buttons .operations-secondary-action:hover:not(:disabled) {
  border-color: #9fc0ca !important;
  background: #f0f8f9 !important;
}

@media (max-width: 720px) {
  .operations-action-bar {
    align-items: stretch !important;
    flex-direction: column !important;
    padding: 12px !important;
  }

  .operations-action-buttons,
  .operations-action-buttons > * {
    width: 100% !important;
  }
}

/* <<< dashboard-command-center-0.7.2-r13.css */


/* <<< 91b0a8671bf167f7-egprod260813r18.css */


/* >>> sidebar-motion-0.7.19.css */
/* eGestion 0.7.19 — sidebar collapse without blanking or flashing.
 *
 * 0.7.5 hid every label and forced every selection surface transparent for the
 * whole 280 ms `data-eg-sidebar-motion` window, then let them fade back with a
 * 90 ms delay. Each toggle therefore blanked the menu for ~200 ms and popped it
 * back — the "delay" and the white frames.
 *
 * Labels no longer key off that transient flag at all: they key off the
 * collapsed state and cross-fade on the rail's own curve, so nothing is ever
 * blanked and nothing has to come back. The rail colour is painted on the shell
 * so the moving boundary always has navy on one side and canvas on the other.
 *
 * The track widths themselves stay with the base stylesheet: an earlier attempt
 * drove them from a registered custom property, which stopped the collapse from
 * taking effect at all. */

@media (min-width: 1024px) {
  /* The rail colour is painted on the shell itself so the moving boundary
     always has navy on one side and canvas on the other: no intermediate
     frame can reveal the page underneath, which is what produced the white
     flashes. The grid tracks are left to the base stylesheet. */
  .erp-shell {
    background: linear-gradient(to right, #081322 0 258px, var(--canvas) 258px) !important;
    overflow: clip;
  }

  .erp-shell.is-sidebar-collapsed {
    background: linear-gradient(to right, #081322 0 76px, var(--canvas) 76px) !important;
  }

  .erp-shell > .erp-sidebar { background-color: #081322 !important; }

  /* The content column must NOT paint its own canvas: it is opaque and sits
     above the shell gradient, so whichever child lays out first during the
     collapse briefly exposes near-white where navy belongs. Letting the shell
     gradient show through means the boundary is always navy on the left and
     canvas on the right, in every frame. */
  .erp-shell > .min-w-0,
  .erp-shell > .min-w-0 > main,
  .erp-shell > .min-w-0 > main > .route-stage { background-color: transparent !important; }

  .erp-shell > .min-w-0,
  .route-stage { min-width: 0; }

  .erp-sidebar {
    overflow: clip !important;
    backface-visibility: hidden;
    transition: box-shadow 160ms ease-out !important;
  }

  /* Labels follow the rail on the same curve. Expanded: present. Collapsed:
     gone. No third, transient state. */
  .erp-sidebar .sidebar-dashboard-label,
  .erp-sidebar .sidebar-expanded-only {
    opacity: 1;
    transform: none;
    transition: opacity 180ms ease-out, transform 260ms cubic-bezier(.16, 1, .3, 1) !important;
  }

  .erp-shell.is-sidebar-collapsed .erp-sidebar .sidebar-dashboard-label,
  .erp-shell.is-sidebar-collapsed .erp-sidebar .sidebar-expanded-only {
    opacity: 0;
    transform: translateX(-4px);
    pointer-events: none;
  }

  /* Selection surfaces keep their colour throughout; only the geometry moves. */
  .erp-sidebar .sidebar-dashboard-link,
  .erp-sidebar .sidebar-group-trigger,
  .erp-sidebar .sidebar-settings-link {
    overflow: clip;
    transition: color 160ms ease-out, background-color 160ms ease-out,
      border-color 160ms ease-out, box-shadow 160ms ease-out !important;
  }

  /* Nothing inside the rail may paint a light edge while the width changes. */
  html[data-eg-sidebar-motion="true"] .erp-sidebar :is(hr, .divider) { opacity: 0 !important; }
  html[data-eg-sidebar-motion="true"] .erp-sidebar .sidebar-search { opacity: 0 !important; }
}

@media (prefers-reduced-motion: reduce) {
  .erp-shell,
  .erp-sidebar .sidebar-dashboard-label,
  .erp-sidebar .sidebar-expanded-only { transition: none !important; }
}

/* <<< sidebar-motion-0.7.19.css */


/* >>> production-0.7.8.css */
/* eGestion 0.7.8 — settings centre stability and the shared A4 reference model. */

/* -------------------------------------------------------------------------- */
/* 1. SETTINGS CENTRE — ALWAYS ON TOP, STILL BETWEEN SECTIONS                 */
/* -------------------------------------------------------------------------- */

/* The overlay must beat the sticky top bar (z-60) and the navy rail (z-50).
   The stacking context that used to trap it is removed in the sidebar-motion
   layer; this keeps the intent explicit and survives future shell changes. */
.settings-center-overlay {
  z-index: 900 !important;
}

/* Changing section remounts the whole modal subtree. Without this the shell
   replayed its entrance on every switch, which read as the modal reloading
   and flashing. The runtime sets data-eg-enter only on a genuine open. */
.settings-center-overlay,
.settings-center-overlay > .settings-center {
  animation: none !important;
  transform: none !important;
}

.settings-center-overlay[data-eg-enter] {
  animation: eg-settings-overlay-in 170ms ease-out both !important;
}

.settings-center-overlay[data-eg-enter] > .settings-center {
  animation: eg-settings-panel-in 200ms ease-out both !important;
}

@keyframes eg-settings-overlay-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* Opacity only. A transform that restarts mid-mount is exactly the jump the
   modal used to make; a restarted fade is invisible. */
@keyframes eg-settings-panel-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* Section changes move only the content, and only in opacity: any transform
   here makes the panel look like it is reloading. */
.settings-center-scroll > * {
  animation: eg-settings-content-in 130ms ease-out both !important;
}

@keyframes eg-settings-content-in {
  from { opacity: .55; }
  to { opacity: 1; }
}

/* The leave confirmation belongs above its own modal. */
.settings-leave-overlay { z-index: 950 !important; }

/* -------------------------------------------------------------------------- */
/* 2. SETTINGS SAVE BAR — SEATED, EDGE TO EDGE, IN EVERY SECTION              */
/* -------------------------------------------------------------------------- */

/* Structural properties (position, bottom, z-index, margins, padding) are set
   inline with `important` by the runtime, because earlier layers pin some of
   them with their own `!important` and higher specificity. Only the look of
   the bar lives here. */
.settings-center-scroll [data-eg-settings-actions] {
  border-top: 1px solid #d7e1e6 !important;
  border-radius: 0 !important;
  background: rgba(255, 255, 255, .97) !important;
  box-shadow: 0 -10px 24px rgba(15, 37, 48, .07) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  backdrop-filter: blur(10px) !important;
  padding-top: 11px !important;
  padding-bottom: 11px !important;
  margin-top: auto !important;
}

.settings-center-scroll [data-eg-settings-actions] .primary-action,
.settings-center-scroll [data-eg-settings-actions] .secondary-action,
.settings-center-scroll [data-eg-settings-actions] .danger-action {
  min-height: 38px !important;
}

/* No gap under the bar: it sits flush on the bottom edge of the pane. */
.settings-center-scroll { padding-bottom: 0 !important; }

/* -------------------------------------------------------------------------- */
/* 3. SETTINGS NAVIGATION — DOCUMENTS DROPS DOWN UNDER ITS OWN ENTRY          */
/* -------------------------------------------------------------------------- */

.settings-center-body > nav .settings-document-subnav {
  animation: eg-settings-subnav-in 150ms ease-out both;
}

@keyframes eg-settings-subnav-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

.settings-center-scroll [data-eg-settings-actions] :focus-visible {
  outline: 2px solid #0d7183;
  outline-offset: 2px;
}

/* -------------------------------------------------------------------------- */
/* 4. A4 REFERENCE MODEL                                                      */
/* -------------------------------------------------------------------------- */

/* The émetteur / destinataire boxes carry the legal identity, so the former
   duplicate brand line above them is gone from the markup. This keeps any
   cached markup from re-introducing it. */
.eg-moroccan-sheet > .eg-sheet-brand { display: none !important; }

/* The reference model leaves one open ruled area under the articles: the
   column separators continue, but no horizontal lines are drawn across it. */
.eg-sheet-table tbody tr.eg-invoice-empty-block > td {
  border-bottom: 0 !important;
  vertical-align: top !important;
}

/* Article totals carry the same weight as the totals block. */
.eg-sheet-table tbody tr:not(.eg-invoice-empty-block) > td:last-child {
  font-weight: 600 !important;
}

/* Delivery notes printed without prices use three columns only. */
.eg-sheet-table.is-no-prices :is(th, td):nth-child(1) { width: 58% !important; text-align: left !important; }
.eg-sheet-table.is-no-prices :is(th, td):nth-child(2) { width: 17% !important; text-align: left !important; }
.eg-sheet-table.is-no-prices :is(th, td):nth-child(3) { width: 25% !important; text-align: center !important; border-right: 0 !important; }

@media (prefers-reduced-motion: reduce) {
  .settings-center-overlay,
  .settings-center-overlay[data-eg-enter],
  .settings-center-overlay[data-eg-enter] > .settings-center,
  .settings-center-body > nav .settings-document-subnav,
  .settings-center-scroll > * {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

/* -------------------------------------------------------------------------- */
/* 5. DOCUMENT LIST — THE NUMBER IS THE REFERENCE                             */
/* -------------------------------------------------------------------------- */

/* Superseded by production-0.7.12: the cell is a single centred line. */





/* <<< production-0.7.8.css */


/* >>> production-0.7.10.css */
/* eGestion 0.7.10 — shell motion, popup edges and nested form surfaces. */

/* -------------------------------------------------------------------------- */
/* 1. SIDEBAR — REAL INTERPOLATION, NO FLASH                                  */
/* -------------------------------------------------------------------------- */

/* `grid-template-columns: 258px minmax(0,1fr)` -> `76px minmax(0,1fr)` does not
   interpolate: the track list contains a non-length function, so the browser
   jumps straight to the end value. The rail therefore snapped, the content
   reflowed in one frame, and the canvas flashed through the boundary. Driving
   the track from a registered custom property makes it a genuine length
   animation, and painting the rail colour onto the shell means the moving
   boundary always has the right colour underneath it. */

/* Sidebar motion now lives entirely in sidebar-motion-0.7.19.css. */

/* -------------------------------------------------------------------------- */
/* 2. POPUPS — NO PALE RING                                                   */
/* -------------------------------------------------------------------------- */

/* The user-agent backdrop is a very light wash that reads as a white halo
   around every dialog. Own it explicitly, and drop the pale hairline that the
   utility layer puts on dialog panels. */
dialog::backdrop {
  background: rgba(15, 37, 48, .55) !important;
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}

dialog.dialog-panel,
.modal-box,
.notification-drawer,
.eg-search-palette,
.document-modal {
  outline: none !important;
  border-color: transparent !important;
  box-shadow: 0 26px 68px rgba(15, 37, 48, .20), 0 4px 14px rgba(15, 37, 48, .10) !important;
}

dialog.dialog-panel > article,
.modal-box > article { border: 0 !important; }

/* -------------------------------------------------------------------------- */
/* 3. NESTED FORM SURFACES                                                    */
/* -------------------------------------------------------------------------- */

/* A card inside a card inside a dialog produced three stacked frames. The
   inner-most surface keeps its spacing but drops its own chrome. */
.settings-center-scroll .surface-card .surface-card,
dialog .surface-card .surface-card,
.settings-center-scroll form .surface-card .surface-card {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.settings-center-scroll fieldset fieldset,
dialog fieldset fieldset {
  border: 0 !important;
  padding-inline: 0 !important;
}

/* -------------------------------------------------------------------------- */
/* 4. INFORMATIONS COMPLÉMENTAIRES — SMOOTH DISCLOSURE                        */
/* -------------------------------------------------------------------------- */

.eg-document-advanced .collapse-content,
.collapse.eg-document-advanced > .collapse-content {
  transition:
    grid-template-rows 280ms cubic-bezier(.16, 1, .3, 1),
    padding 240ms cubic-bezier(.16, 1, .3, 1),
    opacity 200ms ease-out !important;
}

.eg-document-advanced:not([open]) > .collapse-content { opacity: 0; }
.eg-document-advanced[open] > .collapse-content { opacity: 1; }

.eg-document-advanced .collapse-title::after,
.eg-document-advanced > summary::after {
  transition: transform 240ms cubic-bezier(.16, 1, .3, 1) !important;
}

@media (prefers-reduced-motion: reduce) {
  .eg-document-advanced .collapse-content,
  .eg-document-advanced > .collapse-content { transition: none !important; }
}

/* <<< production-0.7.10.css */


/* >>> production-0.7.11.css */
/* eGestion 0.7.11 — recovery badges, output dialog and operations settings. */

/* -------------------------------------------------------------------------- */
/* 1. À RECOUVRER EN PRIORITÉ — STATUS READS AT A GLANCE                      */
/* -------------------------------------------------------------------------- */

/* The rows already carry their condition (is-late / is-soon / is-open /
   is-undated); only the neutral grey delay text hid it. The delay is now a
   badge whose colour is the condition, and each row keeps a matching rail. */

.pilot-recovery-row {
  position: relative;
  align-items: center !important;
  border-radius: 10px !important;
  padding-left: 12px !important;
  transition: background-color 140ms ease-out, box-shadow 140ms ease-out !important;
}

.pilot-recovery-row::before {
  content: "";
  position: absolute;
  top: 8px;
  bottom: 8px;
  left: 0;
  width: 3px;
  border-radius: 999px;
  background: var(--eg-recovery-tone, #b8c8d0);
}

.pilot-recovery-row:hover { background: #f4f8f9 !important; }

.pilot-recovery-age {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  min-height: 20px !important;
  margin-top: 3px !important;
  padding: 0 9px !important;
  border: 1px solid var(--eg-recovery-edge, #d7e1e6) !important;
  border-radius: 999px !important;
  background: var(--eg-recovery-wash, #f1f5f7) !important;
  color: var(--eg-recovery-ink, #58717c) !important;
  font-size: 10.5px !important;
  font-style: normal !important;
  font-weight: 600 !important;
  letter-spacing: .01em;
  white-space: nowrap;
}

.pilot-recovery-age::before {
  content: "";
  width: 6px !important;
  height: 6px !important;
  border-radius: 999px !important;
  background: var(--eg-recovery-tone, #b8c8d0) !important;
}

/* Overdue — the only genuinely red condition. */
.pilot-recovery-row.is-late,
.pilot-recovery-row.is-overdue {
  --eg-recovery-tone: #d64f4f;
  --eg-recovery-wash: #fdf1f1;
  --eg-recovery-edge: #f3c9c9;
  --eg-recovery-ink: #a61b35;
}

/* Falling due shortly. */
.pilot-recovery-row.is-soon {
  --eg-recovery-tone: #c97918;
  --eg-recovery-wash: #fdf5ea;
  --eg-recovery-edge: #f0dcc0;
  --eg-recovery-ink: #96590d;
}

/* Open and on time. */
.pilot-recovery-row.is-open {
  --eg-recovery-tone: #1976c9;
  --eg-recovery-wash: #eff6fd;
  --eg-recovery-edge: #cadff4;
  --eg-recovery-ink: #14568f;
}

/* No due date agreed. */
.pilot-recovery-row.is-undated {
  --eg-recovery-tone: #667d88;
  --eg-recovery-wash: #f2f6f7;
  --eg-recovery-edge: #d7e1e6;
  --eg-recovery-ink: #4c6570;
}

.pilot-recovery-amount > strong { font-variant-numeric: tabular-nums; }

/* -------------------------------------------------------------------------- */
/* 2. PRINT / DOWNLOAD DIALOG                                                 */
/* -------------------------------------------------------------------------- */

/* Was a stack of loose boxes with a dashed advert panel on top. Now: a quiet
   header, real option rows, and one committed action. */

dialog.dialog-panel > article > header {
  padding: 16px 18px 13px !important;
  border-bottom: 1px solid #e8eef0 !important;
}

dialog.dialog-panel > article > header h2 {
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: -.01em;
}

/* The document identity block: no dashed advert, a calm inset instead. */
dialog.dialog-panel [class*="border-dashed"] {
  border: 1px solid #dfe8eb !important;
  border-radius: 10px !important;
  background: linear-gradient(180deg, #f8fbfc, #f2f7f9) !important;
  padding: 13px 16px !important;
}

dialog.dialog-panel [class*="border-dashed"] small {
  color: #58717c !important;
  font-size: 10px !important;
  letter-spacing: .1em !important;
}

dialog.dialog-panel [class*="border-dashed"] strong {
  margin-top: 2px !important;
  color: #132f3d !important;
  font-size: 19px !important;
  letter-spacing: -.012em;
}

/* Option rows behave like real switches in a list. */
dialog.dialog-panel label.min-h-14.cursor-pointer {
  min-height: 56px !important;
  border: 1px solid #dfe8eb !important;
  border-radius: 10px !important;
  background: #fff !important;
  padding: 0 14px !important;
  transition: border-color 140ms ease-out, background-color 140ms ease-out !important;
}

dialog.dialog-panel label.min-h-14.cursor-pointer:hover {
  border-color: #b9ccd4 !important;
  background: #f8fbfc !important;
}

dialog.dialog-panel label.eg-checked {
  border-color: #f0c48a !important;
  background: #fffaf3 !important;
}

dialog.dialog-panel label > span > strong {
  color: #132f3d !important;
  font-size: 13px !important;
  font-weight: 580 !important;
}

dialog.dialog-panel label > span > small {
  color: #6b8089 !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
}

dialog.dialog-panel > article > footer {
  padding: 13px 18px 16px !important;
  border-top: 1px solid #e8eef0 !important;
  background: #fbfdfd !important;
}

/* -------------------------------------------------------------------------- */
/* 3. E-MAIL & SAUVEGARDES                                                    */
/* -------------------------------------------------------------------------- */

/* Flat pill badges and boxed rows made this the oldest-looking screen in the
   product. Same information, current material. */

.operations-settings-card {
  border: 1px solid #dfe8eb !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 1px 2px rgba(15, 37, 48, .04), 0 8px 24px rgba(15, 37, 48, .05) !important;
  overflow: hidden !important;
}

.operations-settings-card > header {
  padding: 15px 18px !important;
  border-bottom: 1px solid #eef3f5 !important;
  background: linear-gradient(180deg, #fbfdfd, #f6fafb) !important;
}

.operations-settings-card .badge,
.operations-settings-card [class*="badge"] {
  min-height: 22px !important;
  border: 1px solid #d7e1e6 !important;
  border-radius: 999px !important;
  background: #f2f7f9 !important;
  padding: 0 10px !important;
  color: #46606c !important;
  font-size: 10.5px !important;
  font-weight: 600 !important;
  letter-spacing: .02em !important;
  box-shadow: none !important;
}

.operations-settings-card [class*="badge-success"] {
  border-color: #b9e0d3 !important;
  background: #eff9f5 !important;
  color: #0f766e !important;
}

.operations-settings-card [class*="badge-error"] {
  border-color: #f3c9c9 !important;
  background: #fdf1f1 !important;
  color: #a61b35 !important;
}

.operations-settings-card [class*="badge-warning"] {
  border-color: #f0dcc0 !important;
  background: #fdf5ea !important;
  color: #96590d !important;
}

.operations-select-field,
.operations-settings-card input,
.operations-settings-card select {
  min-height: 38px !important;
  border: 1px solid #d7e1e6 !important;
  border-radius: 8px !important;
  background: #fff !important;
}

.operations-settings-card input:focus-visible,
.operations-settings-card select:focus-visible,
.operations-select-field:focus-visible {
  outline: 2px solid rgba(13, 113, 131, .28) !important;
  outline-offset: 1px;
  border-color: #0d7183 !important;
}

.operations-action-bar {
  padding: 12px 18px !important;
  border-top: 1px solid #eef3f5 !important;
  background: #fbfdfd !important;
}

@media (prefers-reduced-motion: reduce) {
  .pilot-recovery-row,
  dialog.dialog-panel label.min-h-14.cursor-pointer { transition: none !important; }
}

/* <<< production-0.7.11.css */


/* >>> production-0.7.12.css */
/* eGestion 0.7.12 — objet/chantier case, party dialogs. */

/* -------------------------------------------------------------------------- */
/* 1. OBJET / CHANTIER — ITS OWN CASE ON THE SHEET                            */
/* -------------------------------------------------------------------------- */

/* The document's reference is its numbering. What the user types under
   "Informations complémentaires" is the objet or the chantier, and it now has
   its own place on the sheet: right-aligned on the title line, so the reference
   model's geometry is untouched. */

.eg-sheet-objet {
  position: absolute;
  z-index: 2;
  top: 79.2mm;
  right: 10mm;
  max-width: 88mm;
  margin: 0;
  overflow: hidden;
  color: #4c6570;
  font-size: 10px;
  line-height: 1.35;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.eg-sheet-objet > b {
  display: block;
  color: #6b8089;
  font-size: 8px;
  font-weight: 600;
  letter-spacing: .09em;
}

/* -------------------------------------------------------------------------- */
/* 2. CLIENT / FOURNISSEUR DIALOGS                                            */
/* -------------------------------------------------------------------------- */

/* Written against the real markup: dialog.party-dialog > form > header
   .dialog-header + div.grid.sm:grid-cols-2 (bare labels) + footer
   .dialog-footer. The fields were an even two-column grid with no grouping and
   no identity, which is what made it feel primitive. */

dialog.party-dialog { width: min(760px, calc(100% - 2rem)) !important; }

dialog.party-dialog .dialog-header {
  padding: 16px 20px !important;
  border-bottom: 1px solid #eef3f5 !important;
  background: linear-gradient(180deg, #fbfdfd, #f5fafb) !important;
}

dialog.party-dialog .dialog-header strong,
dialog.party-dialog .dialog-header h2 {
  color: #132f3d !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: -.01em !important;
}

/* The identity line gets the weight it deserves: full measure, larger field. */
dialog.party-dialog form > div.grid {
  gap: 14px 16px !important;
  padding: 18px 20px !important;
}

dialog.party-dialog form > div.grid > label:first-child .field-input,
dialog.party-dialog form > div.grid > label:first-child input {
  min-height: 46px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}

dialog.party-dialog label {
  display: grid !important;
  gap: 5px !important;
  min-width: 0 !important;
}

dialog.party-dialog .field-label,
dialog.party-dialog label > span:first-child {
  color: #46606c !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .045em !important;
}

dialog.party-dialog :is(input, select, textarea) {
  min-height: 40px !important;
  border: 1px solid #d7e1e6 !important;
  border-radius: 9px !important;
  background: #fff !important;
  padding: 0 12px !important;
  font-size: 13.5px !important;
  transition: border-color 140ms ease-out, box-shadow 140ms ease-out !important;
}

dialog.party-dialog textarea {
  min-height: 78px !important;
  padding: 10px 12px !important;
  line-height: 1.5 !important;
}

dialog.party-dialog :is(input, select, textarea):hover { border-color: #b9ccd4 !important; }

dialog.party-dialog :is(input, select, textarea):focus-visible {
  outline: none !important;
  border-color: #0d7183 !important;
  box-shadow: 0 0 0 3px rgba(13, 113, 131, .16) !important;
}

dialog.party-dialog :is(input, select, textarea)::placeholder { color: #9fb1ba !important; }

dialog.party-dialog .dialog-footer {
  padding: 13px 20px 16px !important;
  border-top: 1px solid #eef3f5 !important;
  background: #fbfdfd !important;
  gap: 9px !important;
}

dialog.party-dialog .dialog-footer .primary-action,
dialog.party-dialog .dialog-footer .secondary-action { min-height: 40px !important; }

@media (max-width: 640px) {
  dialog.party-dialog form > div.grid { grid-template-columns: minmax(0, 1fr) !important; }
}

/* -------------------------------------------------------------------------- */
/* 3. OBJET / CHANTIER PANEL IN THE EXPANDED ROW                              */
/* -------------------------------------------------------------------------- */

.document-objet-panel .document-objet-value {
  margin: 0;
  color: #17323f;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
  white-space: pre-wrap;
}

/* The reference cell is one line again, like every other cell in the row. */
.document-reference {
  display: flex !important;
  align-items: center !important;
  align-self: stretch !important;
  justify-content: flex-start !important;
  text-align: left !important;
}

/* -------------------------------------------------------------------------- */
/* 4. CHATGPT CONNECT BUTTON                                                  */
/* -------------------------------------------------------------------------- */

.eg-chatgpt-connect {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
  min-height: 30px;
  padding: 0 12px;
  border: 1px solid #0f766e;
  border-radius: 999px;
  background: #0f766e;
  color: #fff;
  font-size: 11.5px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 140ms ease-out, transform 130ms cubic-bezier(.16, 1, .3, 1);
}

.eg-chatgpt-connect:hover { background: #0b5e58; transform: translateY(-1px); }
.eg-chatgpt-connect:focus-visible { outline: 2px solid #0d7183; outline-offset: 2px; }

@media (prefers-reduced-motion: reduce) {
  .eg-chatgpt-connect { transition: none; }
}

/* <<< production-0.7.12.css */


/* >>> production-0.7.15.css */
/* eGestion 0.7.15 — assistant conversation surface. */

/* The full-page assistant was a plain scroll of grey boxes: same bubble for
   both speakers, no rhythm, a composer that looked like a search field. This
   layer gives the conversation a real shape — distinct speakers, readable
   measure, a composer that reads as a writing surface — without touching the
   data flow. Scoped to the assistant route and the floating panel only. */

/* -------------------------------------------------------------------------- */
/* 1. CONVERSATION                                                            */
/* -------------------------------------------------------------------------- */

.route-stage .app-scrollbar > .max-w-5xl { gap: 22px !important; }

/* Speaker avatar: quieter, and it should not compete with the message. */
.route-stage .app-scrollbar .max-w-5xl > div > span:first-child {
  width: 34px !important;
  height: 34px !important;
  border-radius: 11px !important;
  box-shadow: 0 1px 2px rgba(15, 37, 48, .10) !important;
}

/* Assistant turn: paper, fine edge, comfortable measure. */
.route-stage .app-scrollbar .justify-start > article {
  max-width: min(74ch, 88%) !important;
  border: 1px solid #e2eaee !important;
  border-radius: 14px 14px 14px 5px !important;
  background: #fff !important;
  padding: 13px 16px !important;
  color: #17323f !important;
  font-size: 13.5px !important;
  line-height: 1.62 !important;
  box-shadow: 0 1px 2px rgba(15, 37, 48, .04), 0 8px 22px rgba(15, 37, 48, .05) !important;
}

/* Own turn: the navy the rest of the shell uses for authority. */
.route-stage .app-scrollbar .justify-end > article {
  max-width: min(66ch, 82%) !important;
  border: 0 !important;
  border-radius: 14px 14px 5px 14px !important;
  background: linear-gradient(180deg, #17495e, #123c4e) !important;
  padding: 12px 16px !important;
  color: #eef6f9 !important;
  font-size: 13.5px !important;
  line-height: 1.6 !important;
  box-shadow: 0 2px 6px rgba(9, 38, 51, .18) !important;
}

/* Emoji and pictographs should render at text weight, not as boxes. */
.route-stage .app-scrollbar article,
.floating-ai-messages article {
  font-family: "Geist", "IBM Plex Sans Variable", "IBM Plex Sans", "Segoe UI", ui-sans-serif, system-ui, sans-serif !important;
}

/* Inline structure the model commonly emits. */
.route-stage .app-scrollbar article :is(strong, b) { font-weight: 600 !important; }
.route-stage .app-scrollbar article :is(code, kbd) {
  border-radius: 5px;
  background: rgba(15, 37, 48, .07);
  padding: 1px 5px;
  font-family: ui-monospace, "Cascadia Code", Consolas, monospace;
  font-size: 12px;
}
.route-stage .app-scrollbar .justify-end > article :is(code, kbd) { background: rgba(255, 255, 255, .16); }

.route-stage .app-scrollbar article img {
  max-width: 100%;
  margin-top: 8px;
  border-radius: 10px;
}

/* Figures inside an answer stay legible. */
.route-stage .app-scrollbar article table {
  width: 100%;
  margin-top: 8px;
  border-collapse: collapse;
  font-size: 12.5px;
}
.route-stage .app-scrollbar article :is(th, td) {
  border-bottom: 1px solid #e8eef0;
  padding: 5px 8px;
  text-align: left;
}
.route-stage .app-scrollbar article th { color: #46606c; font-weight: 600; }
.route-stage .app-scrollbar article td:last-child { font-variant-numeric: tabular-nums; }

/* -------------------------------------------------------------------------- */
/* 2. COMPOSER                                                                */
/* -------------------------------------------------------------------------- */

/* Every selector here is scoped through `> .max-w-5xl`, the composer's own
 * wrapper. `.route-stage footer <x>` on its own is not specific enough: the
 * document editor's action bar is also a <footer> inside .route-stage, so the
 * unscoped `button[type="submit"]` rule below used to force "Enregistrer le
 * brouillon" and "Créer le devis" to 40x40 with !important — the labels
 * overflowed their own 40px box and the leading icon collapsed to 0 wide. */

.route-stage footer > .max-w-5xl > .flex.items-end {
  border: 1px solid #dbe5ea !important;
  border-radius: 16px !important;
  background: #fff !important;
  padding: 7px 7px 7px 9px !important;
  box-shadow: 0 1px 2px rgba(15, 37, 48, .05), 0 10px 28px rgba(15, 37, 48, .07) !important;
  transition: border-color 150ms ease-out, box-shadow 150ms ease-out !important;
}

.route-stage footer > .max-w-5xl > .flex.items-end:focus-within {
  border-color: #0d7183 !important;
  box-shadow: 0 0 0 3px rgba(13, 113, 131, .14), 0 10px 28px rgba(15, 37, 48, .08) !important;
}

.route-stage footer > .max-w-5xl textarea {
  min-height: 42px !important;
  max-height: 190px !important;
  padding: 10px 6px !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.route-stage footer > .max-w-5xl textarea::placeholder { color: #9fb1ba !important; }

.route-stage footer > .max-w-5xl button[type="submit"],
.route-stage footer > .max-w-5xl button:last-of-type {
  width: 40px !important;
  height: 40px !important;
  border-radius: 12px !important;
  transition: transform 130ms cubic-bezier(.16, 1, .3, 1), filter 130ms ease-out !important;
}

.route-stage footer > .max-w-5xl button[type="submit"]:hover:not(:disabled) {
  transform: translateY(-1px) !important;
  filter: brightness(1.08) !important;
}

.route-stage footer > .max-w-5xl button[type="submit"]:disabled { opacity: .45 !important; }

/* -------------------------------------------------------------------------- */
/* 3. FLOATING PANEL — SAME LANGUAGE                                          */
/* -------------------------------------------------------------------------- */

.floating-ai-messages article {
  border-radius: 13px !important;
  font-size: 13px !important;
  line-height: 1.58 !important;
}

.floating-ai-composer {
  border-radius: 15px !important;
  transition: border-color 150ms ease-out, box-shadow 150ms ease-out !important;
}

.floating-ai-composer:focus-within {
  border-color: #0d7183 !important;
  box-shadow: 0 0 0 3px rgba(13, 113, 131, .14) !important;
}

.floating-ai-tools button,
.floating-ai-toolbar button {
  border-radius: 10px !important;
  transition: background-color 130ms ease-out, color 130ms ease-out !important;
}

@media (prefers-reduced-motion: reduce) {
  .route-stage footer > .max-w-5xl > .flex.items-end,
  .route-stage footer > .max-w-5xl button[type="submit"],
  .floating-ai-composer { transition: none !important; }
  .route-stage footer > .max-w-5xl button[type="submit"]:hover:not(:disabled) { transform: none !important; }
}

/* -------------------------------------------------------------------------- */
/* 4. COMPOSER — ATTACHMENTS AND CAMERA                                       */
/* -------------------------------------------------------------------------- */

.eg-composer-shell { display: grid; gap: 8px; }

.eg-attachment-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  justify-self: start;
  max-width: 100%;
  min-height: 32px;
  padding: 0 6px 0 12px;
  border: 1px solid #cadff4;
  border-radius: 999px;
  background: #eff6fd;
  color: #14568f;
  font-size: 12px;
  font-weight: 580;
}

.eg-attachment-name {
  max-width: 34ch;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.eg-attachment-size { color: #5b7fa5; font-size: 11px; font-weight: 600; }

.eg-attachment-remove {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border: 0;
  border-radius: 999px;
  background: rgba(20, 86, 143, .10);
  color: #14568f;
  font-size: 12px;
  cursor: pointer;
  transition: background-color 130ms ease-out;
}

.eg-attachment-remove:hover { background: rgba(20, 86, 143, .20); }

.eg-composer-tool {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  flex-shrink: 0;
  border: 1px solid #dbe5ea;
  border-radius: 11px;
  background: #f8fbfc;
  color: #46606c;
  font-size: 17px;
  line-height: 1;
  cursor: pointer;
  transition: background-color 130ms ease-out, border-color 130ms ease-out, color 130ms ease-out;
}

.eg-composer-tool:hover { border-color: #b9ccd4; background: #eef4f6; color: #132f3d; }
.eg-composer-tool:focus-visible { outline: 2px solid #0d7183; outline-offset: 2px; }

@media (prefers-reduced-motion: reduce) {
  .eg-composer-tool, .eg-attachment-remove { transition: none; }
}
/* <<< production-0.7.15.css */


/* >>> production-0.7.22.css */
/* eGestion 0.7.22 — rail control chrome, purchase-order indicators, card fill.
 *
 * 1. SIDEBAR COLLAPSE CONTROL
 *    Every rule set targeting .sidebar-collapse-button gave it a fill AND a
 *    border lighter than the #081322 rail behind it (#101c2d over #233149 in
 *    one block, rgba-white in another), so the control always drew a lit
 *    rectangle around the chevron — read as a white frame, and most obvious
 *    while the rail width animates. It is a rail control, not a card: no
 *    chrome of its own, a soft wash on hover. Borders go transparent rather
 *    than zero-width so the 1px the layout reserves stays put and the chevron
 *    never shifts a pixel on hover.
 *
 * 2. PURCHASE ORDERS
 *    The donut is replaced by linear meters (see
 *    fix-dashboard-po-indicators-0.7.22.mjs). Three states, one bar each,
 *    filling on a single eased curve. The bars carry the same palette the
 *    donut used, so the legend beside them still reads.
 *
 * 3. CARD FILL
 *    Dashboard cards sit in grid rows with taller neighbours; without an
 *    explicit stretch they keep their content height and float against the
 *    top of their cell, which is the "cards are off" misalignment. Stretch
 *    them so every card fills its row, and let the body grow so footers stay
 *    seated on the bottom edge.
 */

/* -------------------------------------------------------------------------- */
/* 1. SIDEBAR COLLAPSE CONTROL                                                */
/* -------------------------------------------------------------------------- */

.sidebar-collapse-button {
  border-color: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  transition: background-color 160ms ease-out, color 160ms ease-out !important;
}

@media (hover: hover) {
  .sidebar-collapse-button:hover {
    border-color: transparent !important;
    background-color: rgba(255, 255, 255, .07) !important;
    color: #fff !important;
  }
}

/* Keyboard focus is the only affordance left, so it must stay obvious. */
.sidebar-collapse-button:focus-visible {
  outline: 2px solid rgba(255, 139, 26, .7) !important;
  outline-offset: 2px !important;
}

/* -------------------------------------------------------------------------- */
/* 2. PURCHASE ORDER INDICATORS                                               */
/* -------------------------------------------------------------------------- */

.eg-po-meters {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: .875rem;
  justify-content: center;
}

.eg-po-total {
  display: flex;
  align-items: baseline;
  gap: .5rem;
  line-height: 1;
}

.eg-po-total-value {
  font-size: 2rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.012em;
  color: var(--eg-po-strong, #0f172a);
}

.eg-po-total-label {
  font-size: .6875rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--eg-po-muted, #64748b);
}

.eg-po-meter { min-width: 0; }

.eg-po-meter-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .3125rem;
}

.eg-po-meter-label {
  font-size: .75rem;
  font-weight: 600;
  color: var(--eg-po-muted, #64748b);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.eg-po-meter-value {
  font-size: .8125rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: var(--eg-po-strong, #0f172a);
  flex-shrink: 0;
}

.eg-po-meter-track {
  height: 7px;
  border-radius: 999px;
  background: var(--eg-po-track, rgba(100, 116, 139, .16));
  overflow: hidden;
}

/* The fill is what makes this read as "smooth": one eased curve, no steps,
   and a width that animates from zero on mount via the inline custom
   property the component sets. */
.eg-po-meter-fill {
  height: 100%;
  border-radius: inherit;
  background: var(--eg-po-color, #0ea5e9);
  width: var(--eg-po-fill, 0%);
  transform-origin: left center;
  animation: eg-po-fill-in 820ms cubic-bezier(.16, 1, .3, 1) both;
}

@keyframes eg-po-fill-in {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}

.eg-po-meter.is-empty .eg-po-meter-fill { background: var(--eg-po-track, rgba(100, 116, 139, .16)); }

/* Dark shell: the card sits on navy, so the ramp has to invert. */
[data-theme="dark"] .eg-po-meters,
.dark .eg-po-meters {
  --eg-po-strong: #e8edf5;
  --eg-po-muted: #94a3b8;
  --eg-po-track: rgba(148, 163, 184, .2);
}

@media (prefers-reduced-motion: reduce) {
  .eg-po-meter-fill { animation: none; }
}

/* -------------------------------------------------------------------------- */
/* 3. DASHBOARD CARD FILL                                                     */
/* -------------------------------------------------------------------------- */

/* Grid children default to stretch, but these cards are laid out inside
   sections that set their own alignment, and a card whose content is shorter
   than its row then hangs at the top of the cell with a gap under it. */
.dashboard-grid > *,
.dashboard-section > .grid > *,
[data-eg-dashboard] .grid > * { align-self: stretch; }

.dashboard-grid > .card,
.dashboard-section > .grid > .card,
[data-eg-dashboard] .grid > .card { height: 100%; }

/* With the card filled, its body must grow too, otherwise the card stretches
   and the content still bunches at the top. */
.dashboard-grid > .card > .card-body,
.dashboard-section > .grid > .card > .card-body,
[data-eg-dashboard] .grid > .card > .card-body {
  height: 100%;
  display: flex;
  flex-direction: column;
}
/* <<< production-0.7.22.css */


/* >>> assistant-chat-0.7.24.css */
/* eGestion 0.7.24 — assistant workspace.
 *
 * The assistant page was a single scrolling column: a fixed navy header, a
 * bubble list and a composer, with conversation history living on a separate
 * /ai/history route. Leaving the page to read a past exchange, then coming
 * back to a reset thread, is the wrong shape for a chat tool.
 *
 * The page becomes a workspace: a history rail that slides out from a
 * hamburger, a thread that fills the height, and a composer seated on the
 * bottom edge. The rail is off-canvas by default at every width — this is a
 * side panel, not a layout column — so the thread keeps the full measure until
 * it is asked for.
 *
 * Everything is driven by tokens declared twice: the light ramp on the block
 * itself, the dark ramp under the app's own [data-theme="dark"]. No colour is
 * defined only inside the dark block, so a missing theme attribute still
 * renders the light ramp rather than an unstyled page.
 */

.eg-assistant {
  --eg-a-bg: #f1f5f9;
  --eg-a-surface: #ffffff;
  --eg-a-surface-2: #f8fafc;
  --eg-a-border: #e2e8f0;
  --eg-a-text: #0f172a;
  --eg-a-muted: #64748b;
  --eg-a-brand: #063b56;
  --eg-a-brand-ink: #ffffff;
  --eg-a-accent: #f97316;
  --eg-a-rail: #ffffff;
  --eg-a-rail-border: #e2e8f0;
  --eg-a-shadow: 0 18px 40px rgba(15, 23, 42, .12);

  position: relative;
  display: flex;
  min-height: calc(100dvh - 5rem);
  background: var(--eg-a-bg);
  color: var(--eg-a-text);
  overflow: clip;
}

[data-theme="dark"] .eg-assistant,
.dark .eg-assistant {
  --eg-a-bg: #0b1524;
  --eg-a-surface: #101c2d;
  --eg-a-surface-2: #16233a;
  --eg-a-border: #22314a;
  --eg-a-text: #e8edf5;
  --eg-a-muted: #94a3b8;
  --eg-a-brand: #1e6d94;
  --eg-a-brand-ink: #ffffff;
  --eg-a-accent: #fb923c;
  --eg-a-rail: #0d1a2b;
  --eg-a-rail-border: #22314a;
  --eg-a-shadow: 0 18px 40px rgba(0, 0, 0, .45);
}

/* -------------------------------------------------------------------------- */
/* History rail                                                               */
/* -------------------------------------------------------------------------- */

.eg-a-rail {
  position: absolute;
  inset: 0 auto 0 0;
  z-index: 30;
  width: min(310px, 84vw);
  display: flex;
  flex-direction: column;
  background: var(--eg-a-rail);
  border-right: 1px solid var(--eg-a-rail-border);
  transform: translateX(-100%);
  transition: transform 260ms cubic-bezier(.16, 1, .3, 1);
  will-change: transform;
}

.eg-assistant.is-rail-open .eg-a-rail { transform: translateX(0); box-shadow: var(--eg-a-shadow); }

.eg-a-rail-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  padding: 1rem 1rem .75rem;
  border-bottom: 1px solid var(--eg-a-rail-border);
}

.eg-a-rail-title { font-size: .8125rem; font-weight: 600; letter-spacing: .02em; text-transform: uppercase; color: var(--eg-a-muted); }

.eg-a-rail-list { flex: 1; overflow-y: auto; padding: .625rem; display: flex; flex-direction: column; gap: .25rem; }

.eg-a-rail-item {
  width: 100%;
  text-align: left;
  border: 1px solid transparent;
  border-radius: .75rem;
  background: transparent;
  padding: .625rem .75rem;
  cursor: pointer;
  color: inherit;
  transition: background-color 150ms ease-out, border-color 150ms ease-out;
}

.eg-a-rail-item:hover { background: var(--eg-a-surface-2); border-color: var(--eg-a-border); }
.eg-a-rail-item.is-active { background: var(--eg-a-surface-2); border-color: var(--eg-a-brand); }
.eg-a-rail-item-title { display: block; font-size: .8125rem; font-weight: 580; color: var(--eg-a-text); }
.eg-a-rail-item-meta { display: block; margin-top: .1875rem; font-size: .6875rem; color: var(--eg-a-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.eg-a-rail-empty { padding: 1.25rem .875rem; font-size: .8125rem; color: var(--eg-a-muted); line-height: 1.6; }

/* Scrim closes the rail on click; only present while open. */
.eg-a-scrim {
  position: absolute;
  inset: 0;
  z-index: 20;
  background: rgba(15, 23, 42, .38);
  border: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 200ms ease-out;
}

.eg-assistant.is-rail-open .eg-a-scrim { opacity: 1; pointer-events: auto; }

/* -------------------------------------------------------------------------- */
/* Main column                                                                */
/* -------------------------------------------------------------------------- */

.eg-a-main { flex: 1; min-width: 0; display: flex; flex-direction: column; }

.eg-a-head {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .875rem 1rem;
  background: var(--eg-a-brand);
  color: var(--eg-a-brand-ink);
  border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.eg-a-icon-btn {
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  flex-shrink: 0;
  border-radius: .75rem;
  border: 1px solid rgba(255, 255, 255, .18);
  background: rgba(255, 255, 255, .08);
  color: inherit;
  cursor: pointer;
  transition: background-color 150ms ease-out;
}

.eg-a-icon-btn:hover { background: rgba(255, 255, 255, .16); }
.eg-a-icon-btn:disabled { opacity: .4; cursor: not-allowed; }

/* Hamburger drawn in CSS so the chunk needs no extra icon module. */
.eg-a-burger { position: relative; width: 17px; height: 12px; }
.eg-a-burger i { position: absolute; left: 0; width: 100%; height: 2px; border-radius: 2px; background: currentColor; transition: transform 220ms cubic-bezier(.16,1,.3,1), opacity 160ms ease-out; }
.eg-a-burger i:nth-child(1) { top: 0; }
.eg-a-burger i:nth-child(2) { top: 5px; }
.eg-a-burger i:nth-child(3) { top: 10px; }
.is-rail-open .eg-a-burger i:nth-child(1) { transform: translateY(5px) rotate(45deg); }
.is-rail-open .eg-a-burger i:nth-child(2) { opacity: 0; }
.is-rail-open .eg-a-burger i:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }

.eg-a-head-text { min-width: 0; flex: 1; }
.eg-a-head-title { font-weight: 580; letter-spacing: -.012em; }
.eg-a-head-sub { margin-top: .125rem; display: flex; align-items: center; gap: .4rem; font-size: .6875rem; opacity: .85; }
.eg-a-dot { width: .5rem; height: .5rem; border-radius: 999px; background: #34d399; flex-shrink: 0; }

.eg-a-new {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  min-height: 2.5rem;
  padding: 0 .875rem;
  border-radius: .75rem;
  border: 1px solid rgba(255, 255, 255, .2);
  background: rgba(255, 255, 255, .1);
  color: inherit;
  font-size: .75rem;
  font-weight: 580;
  cursor: pointer;
  transition: background-color 150ms ease-out;
}

.eg-a-new:hover { background: rgba(255, 255, 255, .18); }
.eg-a-new:disabled { opacity: .4; cursor: not-allowed; }

/* -------------------------------------------------------------------------- */
/* Thread                                                                     */
/* -------------------------------------------------------------------------- */

.eg-a-thread { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: 1.25rem 1rem; }
.eg-a-thread-inner { margin: 0 auto; max-width: 52rem; display: flex; flex-direction: column; gap: 1rem; }

.eg-a-row { display: flex; gap: .75rem; }
.eg-a-row.is-user { justify-content: flex-end; }

.eg-a-avatar {
  display: grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  flex-shrink: 0;
  border-radius: .75rem;
  background: var(--eg-a-brand);
  color: #fff;
}

.eg-a-avatar.is-user { background: var(--eg-a-accent); }

.eg-a-bubble {
  max-width: min(84%, 42rem);
  border-radius: 1rem;
  padding: .75rem 1rem;
  font-size: .875rem;
  line-height: 1.65;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  background: var(--eg-a-surface);
  border: 1px solid var(--eg-a-border);
  border-bottom-left-radius: .375rem;
}

.eg-a-row.is-user .eg-a-bubble {
  background: var(--eg-a-brand);
  color: var(--eg-a-brand-ink);
  border-color: transparent;
  border-bottom-left-radius: 1rem;
  border-bottom-right-radius: .375rem;
}

.eg-a-time { display: block; margin-top: .5rem; font-size: .6875rem; color: var(--eg-a-muted); }
.eg-a-row.is-user .eg-a-time { color: rgba(255, 255, 255, .7); }

.eg-a-typing { display: flex; gap: .3rem; padding: 1rem; border-radius: 1rem; border: 1px solid var(--eg-a-border); background: var(--eg-a-surface); }
.eg-a-typing span { width: .5rem; height: .5rem; border-radius: 999px; background: var(--eg-a-muted); animation: eg-a-bounce 1.05s infinite ease-in-out; }
.eg-a-typing span:nth-child(2) { animation-delay: .14s; }
.eg-a-typing span:nth-child(3) { animation-delay: .28s; }

@keyframes eg-a-bounce { 0%, 80%, 100% { transform: translateY(0); opacity: .55; } 40% { transform: translateY(-5px); opacity: 1; } }

/* -------------------------------------------------------------------------- */
/* Empty state and suggestions                                                */
/* -------------------------------------------------------------------------- */

.eg-a-welcome { padding: 2rem 0 .5rem; text-align: center; }
.eg-a-welcome-mark { display: inline-grid; place-items: center; width: 3.25rem; height: 3.25rem; border-radius: 1rem; background: var(--eg-a-brand); color: #fff; }
.eg-a-welcome-title { margin-top: .875rem; font-size: 1.25rem; font-weight: 600; letter-spacing: -.012em; }
.eg-a-welcome-sub { margin-top: .375rem; font-size: .875rem; color: var(--eg-a-muted); line-height: 1.6; }

.eg-a-suggestions { margin-top: 1.5rem; display: grid; gap: .625rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 640px) { .eg-a-suggestions { grid-template-columns: 1fr; } }

.eg-a-suggestion {
  text-align: left;
  border: 1px solid var(--eg-a-border);
  background: var(--eg-a-surface);
  border-radius: .875rem;
  padding: .875rem 1rem;
  cursor: pointer;
  color: inherit;
  transition: border-color 160ms ease-out, transform 160ms cubic-bezier(.16,1,.3,1), box-shadow 160ms ease-out;
}

.eg-a-suggestion:hover { border-color: var(--eg-a-brand); transform: translateY(-2px); box-shadow: var(--eg-a-shadow); }
.eg-a-suggestion-label { display: block; font-size: .6875rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--eg-a-accent); }
.eg-a-suggestion-text { display: block; margin-top: .3125rem; font-size: .8125rem; line-height: 1.5; color: var(--eg-a-text); }

/* -------------------------------------------------------------------------- */
/* Composer                                                                   */
/* -------------------------------------------------------------------------- */

.eg-a-foot { border-top: 1px solid var(--eg-a-border); background: var(--eg-a-surface); padding: .75rem 1rem 1rem; }
.eg-a-foot-inner { margin: 0 auto; max-width: 52rem; }
.eg-a-hint { margin-top: .5rem; text-align: center; font-size: .6875rem; color: var(--eg-a-muted); }

.eg-a-error {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  border-radius: .875rem;
  border: 1px solid #fcd34d;
  background: #fffbeb;
  color: #78350f;
  padding: .875rem 1rem;
  font-size: .8125rem;
  line-height: 1.6;
}

[data-theme="dark"] .eg-a-error,
.dark .eg-a-error { border-color: #78350f; background: #2a1a06; color: #fcd34d; }

.eg-a-error-close { margin-left: auto; display: grid; place-items: center; width: 2rem; height: 2rem; border: 0; background: transparent; border-radius: .5rem; cursor: pointer; color: inherit; }

@media (prefers-reduced-motion: reduce) {
  .eg-a-rail, .eg-a-scrim, .eg-a-suggestion, .eg-a-burger i { transition: none; }
  .eg-a-typing span { animation: none; }
}
/* <<< assistant-chat-0.7.24.css */


/* >>> receipt-generated-0.7.28.css */
/* eGestion 0.7.28 — the generated bon de réception, in the reception dialog. */

.eg-receipt-done { padding: 1.75rem 1.5rem 1.5rem; text-align: center; }

.eg-receipt-done-mark {
  display: inline-grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  border-radius: 999px;
  background: rgba(16, 185, 129, .14);
  color: #059669;
  font-size: 1.5rem;
  line-height: 1;
}

.eg-receipt-done h2 { margin-top: .875rem; font-size: 1.0625rem; font-weight: 600; color: var(--color-base-content, #0f172a); }
.eg-receipt-done-number { margin-top: .375rem; font-size: 1.25rem; font-weight: 600; font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
.eg-receipt-done p { margin-top: .5rem; font-size: .8125rem; line-height: 1.6; color: var(--color-base-content, #64748b); opacity: .72; }

.eg-receipt-done-actions {
  margin-top: 1.375rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .5rem;
}

.eg-receipt-done-actions > button { min-height: 2.5rem; }

@media (max-width: 520px) {
  .eg-receipt-done-actions { flex-direction: column; }
  .eg-receipt-done-actions > button { width: 100%; }
}
/* <<< receipt-generated-0.7.28.css */


/* >>> signature-modern-0.7.30.css */
/* eGestion 0.7.30 — signing page: document first, then a real place to sign.
 *
 * The page put the document and the signing panel side by side, giving the
 * document a cramped column and the signature a 330px box. Signing is the one
 * thing this page exists for, and it was the smaller half.
 *
 * The layout stacks: the document is read at full measure first, the signing
 * panel sits under it with a pad big enough to sign at natural size rather
 * than draw a monogram in a corner.
 *
 * The pad itself loses the dashed border and the graph-paper grid. Ruled paper
 * is what made the result read as a sketch: a signature belongs on a clean
 * surface with one baseline to sit on, which is what a paper form gives you.
 */

.signing-layout {
  grid-template-columns: minmax(0, 1fr) !important;
  width: min(1080px, 100% - 2rem) !important;
  gap: 1.25rem !important;
}

/* The signing panel is the page's purpose; give it presence. */
.signing-panel { padding-bottom: .5rem; }

.signing-canvas-label {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
}

.signing-canvas-label > span { font-weight: 580; }

/* A clean sheet: no grid, no dashes. One hairline baseline sits where a
   signature naturally rests, drawn on the stage so the canvas bitmap stays
   pure — the exported trace must never contain the guide. */
.signing-canvas-stage { position: relative; }

.signing-canvas-stage::after {
  content: "";
  position: absolute;
  left: 6%;
  right: 6%;
  bottom: 27%;
  height: 1px;
  background: linear-gradient(90deg, transparent, #c8d5dd 12%, #c8d5dd 88%, transparent);
  pointer-events: none;
}

.signature-canvas {
  background-image: none !important;
  background-color: #fff !important;
  border: 1px solid #cfdae1 !important;
  border-radius: 12px !important;
  height: clamp(210px, 32vh, 300px) !important;
  width: 100% !important;
  touch-action: none;
  cursor: crosshair;
  box-shadow: inset 0 1px 2px rgba(8, 35, 50, .05);
  transition: border-color 160ms ease-out, box-shadow 160ms ease-out;
}

.signature-canvas:hover { border-color: #a9bcc7 !important; }

/* Focus must be visible: this is an input, and it is reachable by keyboard
   users who will sign with a stylus or touch. */
.signature-canvas:focus-visible {
  outline: none;
  border-color: #0d7183 !important;
  box-shadow: 0 0 0 4px rgba(13, 113, 131, .16);
}

.signing-canvas-stage > span[aria-hidden] {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  color: #94a8b3;
  font-size: .9375rem;
  pointer-events: none;
}

.signing-help { display: block; margin-top: .5rem; color: #64808d; }

@media (max-width: 720px) {
  .signature-canvas { height: clamp(190px, 40vh, 260px) !important; }
}
/* <<< signature-modern-0.7.30.css */


/* >>> sidebar-collapse-0.7.31.css */
/* eGestion 0.7.31 — the sidebar actually collapses.
 *
 * .erp-shell carried:
 *
 *   grid-template-columns: 258px minmax(0, 1fr);
 *   transition: grid-template-columns .24s cubic-bezier(.22,1,.36,1);
 *
 * A track list containing minmax() is not interpolable. Rather than stepping to
 * the end value, the computed track stayed pinned at 258px for good: adding
 * .is-sidebar-collapsed changed nothing, and neither did the same declaration
 * with !important, nor an inline !important style. Only removing the transition
 * released it.
 *
 * So the rail never collapsed. Toggling only faded the labels out and repainted
 * the shell gradient at 76px, leaving a full-width navy column with its
 * contents hidden — "hide and expand still has everything". Every earlier fix
 * to the collapse control was invisible because the collapse itself was dead.
 *
 * The transition is dropped and the collapsed track is restated with
 * !important, since the layer order in this bundle is not reliable — the same
 * hazard that made the collapse control's chrome ambiguous in 0.7.22.
 *
 * The width change is now immediate. The labels still cross-fade on their own
 * curve (sidebar-motion-0.7.19), so the transition reads as a wipe rather than
 * a jump, and correctness comes first: a rail that moves instantly is worth
 * more than one that animates beautifully and never closes.
 */

@media (min-width: 1024px) {
  .erp-shell {
    transition: none !important;
  }

  .erp-shell.is-sidebar-collapsed {
    grid-template-columns: 76px minmax(0, 1fr) !important;
  }

  .erp-shell:not(.is-sidebar-collapsed) {
    grid-template-columns: 258px minmax(0, 1fr) !important;
  }
}
/* <<< sidebar-collapse-0.7.31.css */


/* >>> chatgpt-status-0.7.32.css */
/* eGestion 0.7.32 — the ChatGPT card reports the connection it already has. */

.eg-chatgpt-connect.is-connected {
  color: #047857;
  font-weight: 580;
  cursor: default;
}

.eg-chatgpt-connect.is-connected::before {
  content: "";
  display: inline-block;
  width: .5rem;
  height: .5rem;
  margin-right: .4rem;
  border-radius: 999px;
  background: #10b981;
  vertical-align: baseline;
}

[data-theme="dark"] .eg-chatgpt-connect.is-connected,
.dark .eg-chatgpt-connect.is-connected { color: #6ee7b7; }
/* <<< chatgpt-status-0.7.32.css */


/* >>> sidebar-motion-0.7.34.css */
/* eGestion 0.7.34 — the rail glides, and nothing flickers on the way.
 *
 * Two problems were visible at once when the menu was expanded:
 *
 * 1. The width change was instant. 0.7.31 had to delete the transition because
 *    `grid-template-columns: 258px minmax(0, 1fr)` is not interpolable, so the
 *    track stayed pinned at 258px and the rail never closed at all. Correct,
 *    but the result reads as a jump-cut.
 *
 *    The track is now driven by a *registered* custom property. `--eg-rail` is
 *    declared through @property with `syntax: "<length>"`, which makes it an
 *    animatable value: the track list itself is never interpolated, only the
 *    length inside it, so the collapse both works and moves. The same variable
 *    paints the shell gradient, so the navy/canvas boundary and the grid line
 *    are the same edge in every frame — that is what stops the white seam.
 *
 * 2. Chrome flashed inside the rail while it moved. 0.7.19 hid the search field
 *    and every divider for the whole 280 ms motion window, so expanding the
 *    menu showed an empty slot where the search box belongs, and the item
 *    surfaces — which carry `border-color` and `box-shadow` transitions from
 *    four different layers — animated their outlines at the same time. That is
 *    the row of boxes that appears mid-expand.
 *
 *    Nothing is hidden any more, and nothing inside the rail is allowed to
 *    transition a border or a shadow while the rail is moving. Colour and
 *    geometry are the only things that move.
 *
 * The item geometry (56 px pill ⇄ full-width row) follows the rail on the same
 * curve rather than snapping the moment `data-collapsed` flips, so the two
 * halves of the collapse read as one movement.
 */

@property --eg-rail {
  syntax: "<length>";
  inherits: false;
  initial-value: 258px;
}

@media (min-width: 1024px) {
  /* Both states are written at the same specificity as the 0.7.31 and 0.7.19
     rules they supersede — `.erp-shell:not(.is-sidebar-collapsed)` is (0,2,0),
     and a plain `.erp-shell` is (0,1,0), so declaring the expanded state on the
     bare class loses to 0.7.31's static `258px minmax(0, 1fr) !important` no
     matter how late it appears. That is a one-way animation: collapsing moves
     (the collapsed selectors tie and source order decides) and expanding snaps
     back to the static track. Matching the selector shape is the whole fix. */
  /* A standard ease-in-out rather than the overshoot curve used elsewhere.
     `cubic-bezier(.22, 1, .36, 1)` is 93 % complete after 70 ms, so the rail
     technically animated and still read as a jump cut. */
  .erp-shell {
    transition: --eg-rail 300ms cubic-bezier(.4, 0, .2, 1) !important;
  }

  .erp-shell:not(.is-sidebar-collapsed) {
    --eg-rail: 258px;
    grid-template-columns: var(--eg-rail) minmax(0, 1fr) !important;
    background: linear-gradient(to right, #081322 0 var(--eg-rail), var(--canvas) var(--eg-rail)) !important;
  }

  .erp-shell.is-sidebar-collapsed {
    --eg-rail: 76px;
    grid-template-columns: var(--eg-rail) minmax(0, 1fr) !important;
    background: linear-gradient(to right, #081322 0 var(--eg-rail), var(--canvas) var(--eg-rail)) !important;
  }

  /* Item geometry rides the same curve as the rail. Without this the pills
     resize the instant `data-collapsed` flips and then wait for the rail to
     catch up, which is the frame where a 56 px pill sits in a 258 px rail. */
  .erp-sidebar .sidebar-dashboard-link,
  .erp-sidebar .sidebar-group-trigger,
  .erp-sidebar .sidebar-nav-link,
  .erp-sidebar .sidebar-settings-link {
    transition:
      width 300ms cubic-bezier(.4, 0, .2, 1),
      min-height 300ms cubic-bezier(.4, 0, .2, 1),
      margin-inline 300ms cubic-bezier(.4, 0, .2, 1),
      padding-inline 300ms cubic-bezier(.4, 0, .2, 1),
      border-radius 300ms cubic-bezier(.4, 0, .2, 1),
      background-color 160ms ease-out,
      color 160ms ease-out !important;
  }

  .erp-sidebar .sidebar-item-icon,
  .erp-sidebar .sidebar-group-icon {
    transition:
      width 300ms cubic-bezier(.4, 0, .2, 1),
      height 300ms cubic-bezier(.4, 0, .2, 1),
      border-radius 300ms cubic-bezier(.4, 0, .2, 1),
      background-color 160ms ease-out,
      color 160ms ease-out !important;
  }

  /* Labels cross-fade on the rail's curve. Expanded: present. Collapsed: gone.
     No transient third state, so nothing is ever blanked. */
  .erp-sidebar .sidebar-dashboard-label,
  .erp-sidebar .sidebar-expanded-only {
    opacity: 1;
    transform: none;
    transition: opacity 170ms ease-out, transform 300ms cubic-bezier(.4, 0, .2, 1) !important;
  }

  .erp-shell.is-sidebar-collapsed .erp-sidebar .sidebar-dashboard-label,
  .erp-shell.is-sidebar-collapsed .erp-sidebar .sidebar-expanded-only {
    opacity: 0;
    transform: translateX(-6px);
    pointer-events: none;
  }

  /* 0.7.19 blanked these for the whole motion window. That is the empty slot
     where the search field belongs, mid-expand. They stay put. */
  html[data-eg-sidebar-motion="true"] .erp-sidebar :is(hr, .divider),
  html[data-eg-sidebar-motion="true"] .erp-sidebar .sidebar-search {
    opacity: 1 !important;
  }

  /* No outline, ring or shadow may animate while the rail is in motion: that
     is what draws the row of boxes the user photographed. Static states are
     untouched — only the transition is suppressed. */
  html[data-eg-sidebar-motion="true"] .erp-sidebar *,
  html[data-eg-sidebar-motion="true"] .erp-sidebar *::before,
  html[data-eg-sidebar-motion="true"] .erp-sidebar *::after {
    transition-property: opacity, color, background-color, width, height,
      min-height, margin-inline, padding-inline, border-radius !important;
  }

  /* Idle rail: no item paints a border of its own. Hover and the active row
     keep theirs — they are declared later in their own layers. */
  .erp-sidebar:not([data-collapsed="true"]) .sidebar-group,
  .erp-sidebar:not([data-collapsed="true"]) .sidebar-group-trigger,
  .erp-sidebar:not([data-collapsed="true"]) .sidebar-dashboard-link:not(.is-active):not(:hover),
  .erp-sidebar:not([data-collapsed="true"]) .sidebar-nav-link:not(.is-active):not(:hover) {
    border-color: transparent;
  }

  .erp-sidebar .sidebar-group { overflow: hidden; }
}

/* Group open/close.
 *
 * The submenu already had a grid-template-rows 0fr⇄1fr transition, but a later
 * layer flattened it with `transition: none !important` — so groups snapped
 * open. And `[aria-hidden="true"] { visibility: hidden }` had no transition at
 * all, so on close the panel vanished on frame one and the height animation
 * played against an invisible box.
 *
 * The transition is restored, and visibility is held through the close before
 * flipping, so both directions animate. */
.sidebar-group-content {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  transform: translateY(-3px);
  visibility: hidden;
  transition:
    grid-template-rows 260ms cubic-bezier(.4, 0, .2, 1),
    opacity 180ms ease-out,
    transform 260ms cubic-bezier(.4, 0, .2, 1),
    visibility 0s linear 260ms !important;
}

.sidebar-group-content > div { min-height: 0; overflow: hidden; }

.sidebar-group-content.is-open {
  grid-template-rows: 1fr;
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
  pointer-events: auto;
  transition:
    grid-template-rows 260ms cubic-bezier(.4, 0, .2, 1),
    opacity 180ms ease-out,
    transform 260ms cubic-bezier(.4, 0, .2, 1),
    visibility 0s linear 0s !important;
}

.sidebar-group-content[aria-hidden="true"]:not(.is-open) { pointer-events: none; }

@media (prefers-reduced-motion: reduce) {
  .erp-shell,
  .sidebar-group-content,
  .erp-sidebar .sidebar-dashboard-label,
  .erp-sidebar .sidebar-expanded-only,
  .erp-sidebar .sidebar-dashboard-link,
  .erp-sidebar .sidebar-group-trigger,
  .erp-sidebar .sidebar-nav-link { transition: none !important; }
}
/* <<< sidebar-motion-0.7.34.css */


/* >>> overlay-motion-0.7.34.css */
/* eGestion 0.7.37 — overlay motion moved out of CSS.
 *
 * 0.6.4 and 0.7.34 both declared the entrance as a CSS `animation`. That is the
 * bug behind the double flash: a CSS animation restarts whenever its element is
 * removed and re-inserted, and React re-parents these portalled overlays on the
 * render that closes them — so every dismissal replayed the entrance before the
 * exit. Both directions now live in scripts/ui/overlay-motion-0.7.34.js, driven
 * by the Web Animations API and keyed on node identity, where a re-parent
 * cannot replay anything.
 *
 * What is left here is the part that must be CSS: cancelling the older
 * animation declarations so nothing runs twice, and the page not moving while
 * an overlay comes and goes.
 */

/* Kill every keyframe entrance previously declared on an overlay surface or
   backdrop. The runtime owns both directions now. */
/* `html body :is(…)` rather than a bare selector list: 0.6.4 declares its
   entrance on `[role="dialog"]:not(.notification-drawer)`, which is (0,2,0) and
   outranks a plain `[role="dialog"]` however late it appears. Every surface
   here is also a dialog, so without the extra weight the old animation kept
   running underneath this one — two entrances on one element. */
html body :is(
  dialog.dialog-panel[open],
  dialog[open],
  .modal,
  .modal-backdrop,
  .modal-box,
  .modal-content,
  .document-modal,
  .document-modal-backdrop,
  .document-leave-overlay,
  .document-leave-overlay > section,
  .settings-center-overlay,
  .settings-center-overlay > .settings-center,
  .settings-leave-overlay,
  .settings-leave-overlay > section,
  .pilot-modal-overlay,
  .pilot-modal-backdrop,
  .pilot-modal-card,
  .global-search-overlay,
  .global-search-panel,
  .floating-ai-panel,
  .notification-backdrop,
  .notification-drawer,
  .dialog-backdrop,
  .measured-menu-backdrop,
  [role="dialog"],
  [role="alertdialog"]
) {
  animation: none !important;
}

html body dialog[open]::backdrop { animation: none !important; }

/* The runtime marks a node it is playing out; it is inert while it plays. */
.eg-leaving { pointer-events: none !important; }

/* <html> already carries `scrollbar-gutter: stable`, which is what stops the
   page shifting when the scroll lock lands on <body>. Repeating it on <body>
   would make it worse: the lock sets `overflow: hidden` there, turning <body>
   into a scroll container, and a stable gutter on a second container reserves a
   second scrollbar width and narrows the page the moment a modal opens. */
/* <<< overlay-motion-0.7.34.css */


/* >>> dark-veil-0.7.34.css */
/* eGestion 0.7.34 — Dark Veil behind the greeting band.
 *
 * The canvas is painted by scripts/ui/dark-veil-0.7.34.js (the react-bits
 * DarkVeil shader, ported off ogl to plain WebGL so the bundle gains no
 * dependency). Everything here is the seating: the card keeps its geometry and
 * its content, the veil replaces the flat radial gradient underneath.
 *
 * The text sits over a moving image, so it needs its own ground. A single
 * left-anchored scrim does that without covering the veil: the copy stays on
 * near-solid ink, the right two thirds of the band stay pure shader.
 */

.pilot-page .pilot-command {
  position: relative !important;
  isolation: isolate;
  background: #070d18 !important;
  border-color: #16293f !important;
}

/* The band is ~1130 × 132: an 8.6:1 strip. The shader's image lives in the
   middle of a roughly 16:9 frame, so filling the strip directly would stretch
   uv.x to ±8.6 and show nothing but the dark outer field. The canvas is instead
   laid out at 16:9 and centred, and the card (which already clips) crops it to
   the band — the same image at its own proportions, seen through a letterbox,
   rather than a squashed one. */
.eg-veil-canvas {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 0;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  opacity: 0;
  transition: opacity 420ms ease-out;
  pointer-events: none;
}

.eg-veil-canvas.is-ready { opacity: 1; }

/* Reading ground for the greeting. Strong on the left where the copy sits,
   gone by the middle of the band. */
.pilot-page .pilot-command::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
  background:
    linear-gradient(100deg, rgba(4, 9, 18, .88) 0%, rgba(4, 9, 18, .66) 34%, rgba(4, 9, 18, .12) 62%, rgba(4, 9, 18, 0) 100%),
    linear-gradient(to top, rgba(4, 9, 18, .45), rgba(4, 9, 18, 0) 60%);
  pointer-events: none;
}

/* Content above both. The canvas is excluded by name: this selector is more
   specific than `.eg-veil-canvas`, so without the guard it would give the
   canvas `position: relative` and lay it out as a grid item — a purple box in
   the first column instead of a background. */
.pilot-page .pilot-command > *:not(.eg-veil-canvas) { position: relative; z-index: 2; }

/* The tool cluster on the right sits directly on the shader, so its chips get
   a little more body than the flat-background version needed. */
.pilot-page .pilot-command-tools > button,
.pilot-page .pilot-presets {
  background: rgba(8, 18, 32, .62) !important;
  backdrop-filter: blur(6px);
  border-color: rgba(214, 232, 240, .18) !important;
}

.pilot-page .pilot-presets button.is-active,
.pilot-page .pilot-command-tools > button.is-active {
  background: #fff !important;
  color: #0d314a !important;
  backdrop-filter: none;
}

@media (prefers-reduced-motion: reduce) {
  .eg-veil-canvas { transition: none; }
}
/* <<< dark-veil-0.7.34.css */


/* >>> assistant-chat-0.7.35.css */
/* eGestion 0.7.35 — assistant workspace.
 *
 * The layout is the assistant-ui Elements anatomy: a thread root that owns the
 * height, a viewport that is the only scroller, a message list inside it, and a
 * composer seated on the bottom edge. What changed materially from 0.7.24:
 *
 *   - the root is `height`, not `min-height`. A min-height root lets the page
 *     grow with the conversation, which is what made the whole app scroll down
 *     as answers arrived. Nothing outside the viewport can scroll now.
 *   - assistant replies are real Markdown, so the bubble needs typography:
 *     headings, lists, tables, code. `white-space: pre-wrap` is gone — it was
 *     what turned a formatted answer into a wall.
 *   - the assistant side is unbubbled. A reply that contains a table or a code
 *     block reads better on the page ground than inside a chat bubble; the user
 *     side keeps its bubble, which is what carries the sense of turn-taking.
 *
 * Every colour is declared twice: the light ramp on the block itself, the dark
 * ramp under the app's own [data-theme="dark"]. No colour is defined only
 * inside the dark block, so a missing theme attribute renders the light ramp
 * rather than an unstyled page.
 */

.eg-aui {
  --aui-bg: #f6f8fb;
  --aui-surface: #ffffff;
  --aui-surface-2: #f1f5f9;
  --aui-border: #e2e8f0;
  --aui-border-soft: #eef2f7;
  --aui-text: #0f172a;
  --aui-muted: #64748b;
  --aui-brand: #063b56;
  --aui-brand-ink: #ffffff;
  --aui-accent: #f97316;
  --aui-shadow: 0 18px 40px rgba(15, 23, 42, .10);
  --aui-shadow-sm: 0 2px 8px rgba(15, 23, 42, .06);

  position: relative;
  display: flex;
  height: calc(100dvh - 72px);
  min-height: 0;
  overflow: clip;
  background: var(--aui-bg);
  color: var(--aui-text);
}

[data-theme="dark"] .eg-aui,
.dark .eg-aui {
  --aui-bg: #0b1524;
  --aui-surface: #101c2d;
  --aui-surface-2: #16233a;
  --aui-border: #22314a;
  --aui-border-soft: #1a2740;
  --aui-text: #e8edf5;
  --aui-muted: #94a3b8;
  --aui-brand: #1e6d94;
  --aui-brand-ink: #ffffff;
  --aui-accent: #fb923c;
  --aui-shadow: 0 18px 40px rgba(0, 0, 0, .45);
  --aui-shadow-sm: 0 2px 8px rgba(0, 0, 0, .35);
}

/* The assistant page must not add page scroll of its own: the viewport below is
   the scroller. The shell's <main> carries `pb-16`, which is right for a
   document-shaped page and wrong for one that already fills the frame — 64 px
   of padding under a full-height child is 64 px of page scroll. */
.route-stage:has(.eg-aui) { padding: 0 !important; }
main:has(.eg-aui) { padding-bottom: 0 !important; }

/* -------------------------------------------------------------------------- */
/* Thread list rail                                                           */
/* -------------------------------------------------------------------------- */

.eg-aui-rail {
  position: absolute;
  inset: 0 auto 0 0;
  z-index: 30;
  width: min(300px, 84vw);
  display: flex;
  flex-direction: column;
  background: var(--aui-surface);
  border-right: 1px solid var(--aui-border);
  transform: translateX(-100%);
  transition: transform 260ms cubic-bezier(.16, 1, .3, 1);
  will-change: transform;
}

.eg-aui.is-rail-open .eg-aui-rail { transform: none; box-shadow: var(--aui-shadow); }

.eg-aui-rail-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  padding: .875rem 1rem;
  border-bottom: 1px solid var(--aui-border-soft);
}

.eg-aui-rail-title { font-size: .75rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--aui-muted); }
.eg-aui-rail-list { flex: 1; min-height: 0; overflow-y: auto; padding: .5rem; display: flex; flex-direction: column; gap: .125rem; }

.eg-aui-rail-item {
  width: 100%;
  text-align: left;
  border: 1px solid transparent;
  border-radius: .625rem;
  background: transparent;
  padding: .5rem .625rem;
  cursor: pointer;
  color: inherit;
  transition: background-color 140ms ease-out;
}

.eg-aui-rail-item:hover { background: var(--aui-surface-2); }
.eg-aui-rail-item.is-active { background: var(--aui-surface-2); border-color: var(--aui-border); }
.eg-aui-rail-item-title { display: block; font-size: .8125rem; font-weight: 600; color: var(--aui-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.eg-aui-rail-item-meta { display: block; margin-top: .125rem; font-size: .6875rem; color: var(--aui-muted); }
.eg-aui-rail-empty { padding: 1.125rem .875rem; font-size: .8125rem; color: var(--aui-muted); line-height: 1.6; }

.eg-aui-scrim {
  position: absolute;
  inset: 0;
  z-index: 20;
  border: 0;
  background: rgba(15, 23, 42, .34);
  opacity: 0;
  pointer-events: none;
  transition: opacity 180ms ease-out;
}

.eg-aui.is-rail-open .eg-aui-scrim { opacity: 1; pointer-events: auto; }

/* -------------------------------------------------------------------------- */
/* Thread                                                                     */
/* -------------------------------------------------------------------------- */

.eg-aui-main { flex: 1; min-width: 0; min-height: 0; display: flex; flex-direction: column; position: relative; }

.eg-aui-head {
  display: flex;
  align-items: center;
  gap: .625rem;
  flex-shrink: 0;
  padding: .625rem .875rem;
  background: var(--aui-surface);
  border-bottom: 1px solid var(--aui-border);
}

.eg-aui-head-text { min-width: 0; flex: 1; }
.eg-aui-head-text h1 { font-size: .9375rem; font-weight: 580; letter-spacing: -.01em; }
.eg-aui-head-text p { margin-top: .0625rem; display: flex; align-items: center; gap: .375rem; font-size: .6875rem; color: var(--aui-muted); }
.eg-aui-dot { width: .4375rem; height: .4375rem; border-radius: 999px; background: #22c55e; flex-shrink: 0; }

.eg-aui-icon-ghost {
  display: grid;
  place-items: center;
  width: 2.125rem;
  height: 2.125rem;
  flex-shrink: 0;
  border: 1px solid transparent;
  border-radius: .625rem;
  background: transparent;
  color: var(--aui-muted);
  cursor: pointer;
  transition: background-color 140ms ease-out, color 140ms ease-out;
}

.eg-aui-icon-ghost:hover { background: var(--aui-surface-2); color: var(--aui-text); }

.eg-aui-new {
  display: inline-flex;
  align-items: center;
  gap: .4375rem;
  min-height: 2.125rem;
  padding: 0 .75rem;
  border: 1px solid var(--aui-border);
  border-radius: .625rem;
  background: var(--aui-surface);
  color: var(--aui-muted);
  font-size: .75rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 140ms ease-out, color 140ms ease-out;
}

.eg-aui-new:hover:not(:disabled) { background: var(--aui-surface-2); color: var(--aui-text); }
.eg-aui-new:disabled { opacity: .45; cursor: not-allowed; }

/* The one scroller on the page. */
.eg-aui-viewport {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scroll-behavior: smooth;
  padding: 1.5rem 1rem 1rem;
}

.eg-aui-list { margin: 0 auto; max-width: 46rem; display: flex; flex-direction: column; gap: 1.5rem; }

.eg-aui-msg { display: flex; gap: .75rem; align-items: flex-start; }
.eg-aui-msg.is-user { flex-direction: row-reverse; }
.eg-aui-msg-body { min-width: 0; flex: 1; }
.eg-aui-msg.is-user .eg-aui-msg-body { display: flex; flex-direction: column; align-items: flex-end; }

.eg-aui-avatar {
  display: grid;
  place-items: center;
  width: 1.875rem;
  height: 1.875rem;
  flex-shrink: 0;
  margin-top: .125rem;
  border-radius: .5rem;
  background: var(--aui-brand);
  color: #fff;
}

.eg-aui-avatar.is-user { background: var(--aui-surface-2); color: var(--aui-muted); border: 1px solid var(--aui-border); }

/* Assistant replies sit on the page ground: a table or a code block inside a
   chat bubble is a table in a box in a box. */
.eg-aui-bubble { font-size: .875rem; line-height: 1.7; overflow-wrap: anywhere; }

.eg-aui-msg.is-user .eg-aui-bubble {
  max-width: min(100%, 34rem);
  border-radius: 1rem 1rem .25rem 1rem;
  background: var(--aui-brand);
  color: var(--aui-brand-ink);
  padding: .625rem .875rem;
}

.eg-aui-msg-foot {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-top: .375rem;
  font-size: .6875rem;
  color: var(--aui-muted);
}

.eg-aui-msg-action {
  display: inline-flex;
  align-items: center;
  gap: .3125rem;
  border: 0;
  background: transparent;
  color: inherit;
  font-size: .6875rem;
  cursor: pointer;
  opacity: 0;
  transition: opacity 140ms ease-out, color 140ms ease-out;
}

.eg-aui-msg:hover .eg-aui-msg-action,
.eg-aui-msg-action:focus-visible { opacity: 1; }
.eg-aui-msg-action:hover { color: var(--aui-text); }

.eg-aui-typing { display: flex; gap: .3rem; align-items: center; padding: .75rem 0; }
.eg-aui-typing span { width: .4375rem; height: .4375rem; border-radius: 999px; background: var(--aui-muted); animation: eg-aui-bounce 1.05s infinite ease-in-out; }
.eg-aui-typing span:nth-child(2) { animation-delay: .14s; }
.eg-aui-typing span:nth-child(3) { animation-delay: .28s; }

@keyframes eg-aui-bounce { 0%, 80%, 100% { transform: translateY(0); opacity: .5; } 40% { transform: translateY(-4px); opacity: 1; } }

/* Jump-to-latest, shown only once the reader has scrolled away. */
.eg-aui-jump {
  position: absolute;
  left: 50%;
  bottom: 8.5rem;
  z-index: 10;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  gap: .375rem;
  min-height: 2rem;
  padding: 0 .75rem;
  border: 1px solid var(--aui-border);
  border-radius: 999px;
  background: var(--aui-surface);
  color: var(--aui-text);
  font-size: .75rem;
  font-weight: 600;
  cursor: pointer;
  box-shadow: var(--aui-shadow-sm);
  animation: eg-aui-jump-in 160ms cubic-bezier(.22, 1, .36, 1) both;
}

@keyframes eg-aui-jump-in { from { opacity: 0; transform: translate(-50%, 6px); } to { opacity: 1; transform: translate(-50%, 0); } }

/* -------------------------------------------------------------------------- */
/* Empty state                                                                */
/* -------------------------------------------------------------------------- */

.eg-aui-welcome { padding: 2.5rem 0 .5rem; text-align: center; }
.eg-aui-welcome-mark { display: inline-grid; place-items: center; width: 3rem; height: 3rem; border-radius: .875rem; background: var(--aui-brand); color: #fff; }
.eg-aui-welcome h2 { margin-top: .875rem; font-size: 1.25rem; font-weight: 600; letter-spacing: -.012em; }
.eg-aui-welcome p { margin: .375rem auto 0; max-width: 34rem; font-size: .8125rem; color: var(--aui-muted); line-height: 1.65; }

.eg-aui-suggestions { margin-top: 1.75rem; display: grid; gap: .5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); text-align: left; }
@media (max-width: 640px) { .eg-aui-suggestions { grid-template-columns: 1fr; } }

.eg-aui-suggestion {
  border: 1px solid var(--aui-border);
  background: var(--aui-surface);
  border-radius: .75rem;
  padding: .75rem .875rem;
  cursor: pointer;
  color: inherit;
  text-align: left;
  transition: border-color 150ms ease-out, transform 150ms cubic-bezier(.22, 1, .36, 1), box-shadow 150ms ease-out;
}

.eg-aui-suggestion:hover:not(:disabled) { border-color: var(--aui-brand); transform: translateY(-1px); box-shadow: var(--aui-shadow-sm); }
.eg-aui-suggestion:disabled { opacity: .5; cursor: not-allowed; }
.eg-aui-suggestion-label { display: block; font-size: .625rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--aui-accent); }
.eg-aui-suggestion-text { display: block; margin-top: .25rem; font-size: .8125rem; line-height: 1.5; color: var(--aui-text); }

/* -------------------------------------------------------------------------- */
/* Composer                                                                   */
/* -------------------------------------------------------------------------- */

.eg-aui-foot { flex-shrink: 0; padding: .5rem 1rem 1rem; background: var(--aui-bg); }
.eg-aui-foot-inner { margin: 0 auto; max-width: 46rem; }

.eg-aui-composer {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  border: 1px solid var(--aui-border);
  border-radius: 1rem;
  background: var(--aui-surface);
  padding: .625rem .625rem .5rem;
  box-shadow: var(--aui-shadow-sm);
  transition: border-color 140ms ease-out, box-shadow 140ms ease-out;
}

.eg-aui-composer:focus-within { border-color: var(--aui-brand); box-shadow: 0 0 0 3px color-mix(in oklab, var(--aui-brand) 14%, transparent); }

.eg-aui-input {
  width: 100%;
  resize: none;
  border: 0;
  outline: none;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: .875rem;
  line-height: 1.6;
  padding: .25rem .25rem 0;
  max-height: 10.5rem;
}

.eg-aui-composer-row { display: flex; align-items: center; gap: .375rem; }

.eg-aui-tool {
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  flex-shrink: 0;
  border: 1px solid var(--aui-border);
  border-radius: .625rem;
  background: var(--aui-surface);
  color: var(--aui-muted);
  cursor: pointer;
  transition: background-color 140ms ease-out, color 140ms ease-out;
}

.eg-aui-tool:hover { background: var(--aui-surface-2); color: var(--aui-text); }

.eg-aui-send {
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  margin-left: auto;
  flex-shrink: 0;
  border: 0;
  border-radius: .625rem;
  background: var(--aui-brand);
  color: #fff;
  cursor: pointer;
  transition: opacity 140ms ease-out, transform 140ms cubic-bezier(.22, 1, .36, 1);
}

.eg-aui-send:disabled { opacity: .35; cursor: not-allowed; }
.eg-aui-send:not(:disabled):hover { transform: scale(1.04); }

.eg-aui-hint { margin-top: .5rem; text-align: center; font-size: .6875rem; color: var(--aui-muted); }

.eg-aui-attachment {
  display: flex;
  align-items: center;
  gap: .5rem;
  align-self: flex-start;
  max-width: 100%;
  padding: .25rem .25rem .25rem .625rem;
  border: 1px solid var(--aui-border);
  border-radius: 999px;
  background: var(--aui-surface-2);
  font-size: .75rem;
}

.eg-aui-attachment-name { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.eg-aui-attachment-size { color: var(--aui-muted); }
.eg-aui-attachment .eg-aui-icon-ghost { width: 1.5rem; height: 1.5rem; }

/* -------------------------------------------------------------------------- */
/* Model picker                                                               */
/* -------------------------------------------------------------------------- */

.eg-aui-picker { position: relative; }

.eg-aui-picker-trigger {
  display: inline-flex;
  align-items: center;
  gap: .375rem;
  min-height: 2rem;
  padding: 0 .5rem;
  border: 1px solid var(--aui-border);
  border-radius: .625rem;
  background: var(--aui-surface);
  color: var(--aui-text);
  font-size: .75rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 140ms ease-out;
}

.eg-aui-picker-trigger:hover:not(:disabled) { background: var(--aui-surface-2); }
.eg-aui-picker-trigger:disabled { opacity: .6; cursor: progress; }
.eg-aui-picker-model { white-space: nowrap; }
.eg-aui-picker-provider { color: var(--aui-muted); font-weight: 500; }
@media (max-width: 560px) { .eg-aui-picker-provider { display: none; } }

.eg-aui-picker-scrim { position: fixed; inset: 0; z-index: 40; border: 0; background: transparent; cursor: default; }

.eg-aui-picker-menu {
  position: absolute;
  z-index: 41;
  bottom: calc(100% + .5rem);
  left: 0;
  min-width: 15rem;
  padding: .375rem;
  border: 1px solid var(--aui-border);
  border-radius: .875rem;
  background: var(--aui-surface);
  box-shadow: var(--aui-shadow);
  animation: eg-aui-menu-in 130ms cubic-bezier(.22, 1, .36, 1) both;
}

@keyframes eg-aui-menu-in { from { opacity: 0; transform: translateY(4px) scale(.98); } to { opacity: 1; transform: none; } }

.eg-aui-picker-group + .eg-aui-picker-group { margin-top: .25rem; border-top: 1px solid var(--aui-border-soft); padding-top: .25rem; }

.eg-aui-picker-head {
  display: flex;
  align-items: baseline;
  gap: .375rem;
  padding: .375rem .5rem .25rem;
  font-size: .6875rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--aui-text);
}

.eg-aui-picker-head span { font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--aui-muted); }

.eg-aui-picker-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  width: 100%;
  padding: .4375rem .5rem;
  border: 0;
  border-radius: .5rem;
  background: transparent;
  color: var(--aui-text);
  font-size: .8125rem;
  text-align: left;
  cursor: pointer;
  transition: background-color 120ms ease-out;
}

.eg-aui-picker-item:hover { background: var(--aui-surface-2); }
.eg-aui-picker-item.is-active { background: var(--aui-surface-2); font-weight: 580; }
.eg-aui-picker-item.is-active svg { color: var(--aui-accent); }

/* -------------------------------------------------------------------------- */
/* Error                                                                      */
/* -------------------------------------------------------------------------- */

.eg-aui-error {
  display: flex;
  align-items: flex-start;
  gap: .625rem;
  border-radius: .75rem;
  border: 1px solid #fcd34d;
  background: #fffbeb;
  color: #78350f;
  padding: .75rem .875rem;
  font-size: .8125rem;
  line-height: 1.6;
}

.eg-aui-error > div:first-of-type { flex: 1; min-width: 0; }
[data-theme="dark"] .eg-aui-error,
.dark .eg-aui-error { border-color: #78350f; background: #2a1a06; color: #fcd34d; }

/* -------------------------------------------------------------------------- */
/* Markdown                                                                   */
/* -------------------------------------------------------------------------- */

.eg-md-p { margin: 0; }
.eg-aui-bubble > * + * { margin-top: .75rem; }
.eg-aui-bubble > .eg-md-h { margin-top: 1.25rem; }
.eg-aui-bubble > :first-child { margin-top: 0; }

.eg-md-h { font-weight: 600; letter-spacing: -.01em; line-height: 1.35; }
h3.eg-md-h { font-size: 1.0625rem; }
h4.eg-md-h { font-size: .9375rem; }
h5.eg-md-h, h6.eg-md-h { font-size: .875rem; }

.eg-md-list { padding-left: 1.25rem; display: flex; flex-direction: column; gap: .25rem; }
ul.eg-md-list { list-style: disc; }
ol.eg-md-list { list-style: decimal; }
.eg-md-list li::marker { color: var(--aui-muted); }

.eg-md-quote {
  border-left: 3px solid var(--aui-border);
  padding: .125rem 0 .125rem .75rem;
  color: var(--aui-muted);
}

.eg-md-hr { border: 0; border-top: 1px solid var(--aui-border); }

.eg-md-code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .8125em;
  padding: .0625rem .3125rem;
  border-radius: .3125rem;
  background: var(--aui-surface-2);
  border: 1px solid var(--aui-border-soft);
}

.eg-md-pre {
  position: relative;
  overflow-x: auto;
  padding: .875rem;
  border-radius: .625rem;
  border: 1px solid var(--aui-border);
  background: var(--aui-surface-2);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .75rem;
  line-height: 1.65;
}

.eg-md-pre-lang {
  position: absolute;
  top: .375rem;
  right: .5rem;
  font-size: .625rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--aui-muted);
}

.eg-md-link { color: var(--aui-brand); text-decoration: underline; text-underline-offset: 2px; }
.eg-aui-msg.is-user .eg-md-link { color: inherit; }

/* Wide tables scroll inside their own box; the thread never scrolls sideways. */
.eg-md-table-wrap { overflow-x: auto; border: 1px solid var(--aui-border); border-radius: .625rem; }
.eg-md-table { width: 100%; border-collapse: collapse; font-size: .8125rem; }
.eg-md-table th, .eg-md-table td { padding: .4375rem .625rem; text-align: left; white-space: nowrap; }
.eg-md-table thead th { background: var(--aui-surface-2); font-weight: 580; }
.eg-md-table tbody tr + tr td { border-top: 1px solid var(--aui-border-soft); }

@media (prefers-reduced-motion: reduce) {
  .eg-aui-rail, .eg-aui-scrim, .eg-aui-suggestion, .eg-aui-viewport { transition: none; scroll-behavior: auto; }
  .eg-aui-typing span { animation: none; }
  .eg-aui-jump, .eg-aui-picker-menu { animation: none; }
}
/* <<< assistant-chat-0.7.35.css */


/* >>> quick-party-0.7.36.css */
/* eGestion 0.7.36 — the party section carries its own create action.
 *
 * Creating a client or a supplier from inside the document popup already
 * worked: the combobox offers "Créer « … » — Nouveau client", which opens the
 * express form and POSTs to /api/customers or /api/suppliers. But that option
 * only exists once you have typed a name that matches nothing, so from a
 * standing start the section shows a search field and no way to add anything.
 * A capability nobody can find is the same as a missing one.
 *
 * The button sits in the section header, beside "Client" / "Fournisseur", and
 * opens the same express form the combobox does — one path, two entrances.
 */

.document-form-section-title {
  display: flex;
  align-items: center;
  gap: .5rem;
}

.quick-party-add {
  display: inline-flex;
  align-items: center;
  gap: .3125rem;
  margin-left: auto;
  min-height: 1.875rem;
  padding: 0 .625rem;
  border: 1px solid #cbd5e1;
  border-radius: .5rem;
  background: #fff;
  color: #0f172a;
  font-size: .75rem;
  font-weight: 600;
  line-height: 1;
  text-transform: none;
  letter-spacing: 0;
  cursor: pointer;
  transition: background-color 140ms ease-out, border-color 140ms ease-out, color 140ms ease-out;
}

.quick-party-add:hover {
  border-color: #f97316;
  background: #fff7ed;
  color: #9a3412;
}

.quick-party-add:focus-visible {
  outline: 2px solid #f97316;
  outline-offset: 2px;
}

[data-theme="dark"] .quick-party-add,
.dark .quick-party-add {
  border-color: #334155;
  background: #0f1c2e;
  color: #e2e8f0;
}

[data-theme="dark"] .quick-party-add:hover,
.dark .quick-party-add:hover {
  border-color: #fb923c;
  background: #2a1a06;
  color: #fdba74;
}
/* <<< quick-party-0.7.36.css */


/* >>> floating-assistant-0.7.37.css */
/* eGestion 0.7.37 — the floating assistant becomes a panel, not a void.
 *
 * The bubble opened 440 × 660 and used about a third of it. Measured:
 *
 *   .floating-ai-main       600 px tall, column
 *   .floating-ai-messages   flex 0 1 auto, min-height 140, max-height 380
 *   .floating-ai-composer    54 px
 *
 * so the transcript could never grow past 380 px and roughly 400 px of empty
 * navy sat under the composer. The composer itself was 52 px with a one-line
 * textarea, so its own placeholder wrapped onto a second line and was cut in
 * half. And the toolbar was white on a navy body — two different products
 * stacked in one window.
 *
 * This block owns the panel's layout and its colour. The transcript takes the
 * height that is there, the composer keeps the bottom edge, and the whole thing
 * is painted in the shell's own navy so it reads as part of the app rather than
 * as a widget dropped on top of it.
 *
 * Written at `html body …` weight because the caps it replaces are themselves
 * `!important` declarations from two earlier layers.
 */

html body .floating-ai-panel {
  --fa-bg: #0b1b2b;
  --fa-surface: #12293c;
  --fa-line: rgba(148, 178, 199, .16);
  --fa-text: #e8eff5;
  --fa-muted: #9db0c2;
  --fa-accent: #f97316;

  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  width: min(430px, calc(100vw - 32px)) !important;
  max-height: min(660px, calc(100dvh - 132px)) !important;
  border: 1px solid var(--fa-line) !important;
  border-radius: 18px !important;
  background: var(--fa-bg) !important;
  color: var(--fa-text) !important;
  box-shadow: 0 26px 60px rgba(2, 10, 20, .5), 0 2px 0 rgba(255, 255, 255, .04) inset !important;
}

html body .floating-ai-panel.is-wide { width: min(860px, calc(100vw - 32px)) !important; }
html body .floating-ai-panel.has-history:not(.is-wide) { width: min(700px, calc(100vw - 32px)) !important; }

/* Header ------------------------------------------------------------------ */

html body .floating-ai-toolbar {
  flex: none !important;
  min-height: 54px !important;
  border-bottom: 1px solid var(--fa-line) !important;
  background: transparent !important;
  color: var(--fa-text) !important;
  padding: 10px 10px 10px 14px !important;
}

html body .floating-ai-brand > span {
  width: 32px !important;
  height: 32px !important;
  border-radius: 10px !important;
  background: var(--fa-surface) !important;
  color: var(--fa-accent) !important;
  box-shadow: none !important;
}

html body .floating-ai-brand strong { color: var(--fa-text) !important; font-size: 13px !important; }
html body .floating-ai-brand small { color: var(--fa-muted) !important; font-size: 10.5px !important; }
html body .floating-ai-toolbar nav button { color: var(--fa-muted) !important; }
html body .floating-ai-toolbar nav button:hover,
html body .floating-ai-toolbar nav button.is-active { background: var(--fa-surface) !important; color: var(--fa-text) !important; }

/* Body -------------------------------------------------------------------- */

html body .floating-ai-workspace { flex: 1 1 auto !important; min-height: 0 !important; }
html body .floating-ai-main { flex: 1 1 auto !important; min-height: 0 !important; display: flex !important; flex-direction: column !important; }

/* The whole point: the transcript takes whatever height is left, instead of
   being pinned between 140 and 380 px inside a 600 px column. */
html body .floating-ai-messages {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  height: auto !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  background: transparent !important;
  padding: 16px 14px 12px !important;
  gap: 12px !important;
}

/* The row itself must carry nothing: an earlier layer paints it white, which
   on this navy body drew a white plate around every message. */
html body .floating-ai-panel .floating-ai-messages > article {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* The bubbles carry `[data-role]`, and so do the rules that painted them white
   on this navy body. Matching that attribute is what wins the tie. */
html body .floating-ai-panel .floating-ai-messages > article[data-role] > div {
  border-color: var(--fa-line) !important;
  background: var(--fa-surface) !important;
  color: var(--fa-text) !important;
  box-shadow: none !important;
}

html body .floating-ai-panel .floating-ai-messages > article[data-role="user"] > div {
  border-color: transparent !important;
  background: #1d4e6b !important;
  color: #fff !important;
}

html body .floating-ai-messages > article > svg { color: var(--fa-accent) !important; }
html body .floating-ai-messages article p { font-size: 12.5px !important; }
html body .floating-ai-messages .is-thinking > span { border-color: var(--fa-line) !important; background: var(--fa-surface) !important; }
html body .floating-ai-messages .is-thinking i { background: var(--fa-muted) !important; }

/* History rail, when it is open. */
html body .floating-ai-history { border-right: 1px solid var(--fa-line) !important; background: rgba(0, 0, 0, .18) !important; }
html body .floating-ai-history > header strong { color: var(--fa-text) !important; }
html body .floating-ai-history > div strong { color: var(--fa-text) !important; }
html body .floating-ai-history > div small,
html body .floating-ai-history > div > p { color: var(--fa-muted) !important; }
html body .floating-ai-history > div > button:hover { background: var(--fa-surface) !important; }

/* Composer ---------------------------------------------------------------- */

html body .floating-ai-composer {
  flex: none !important;
  border-top: 1px solid var(--fa-line) !important;
  background: transparent !important;
  padding: 10px 12px 12px !important;
}

html body .floating-ai-input-row {
  align-items: flex-end !important;
  gap: 6px !important;
  min-height: 44px !important;
  height: auto !important;
  border: 1px solid var(--fa-line) !important;
  border-radius: 14px !important;
  background: var(--fa-surface) !important;
  padding: 6px 6px 6px 8px !important;
}

html body .floating-ai-input-row:focus-within {
  border-color: rgba(249, 115, 22, .55) !important;
  box-shadow: 0 0 0 3px rgba(249, 115, 22, .14) !important;
}

html body .floating-ai-tools { flex: none !important; gap: 2px !important; }
html body .floating-ai-tools button { color: var(--fa-muted) !important; }
html body .floating-ai-tools button:hover { color: var(--fa-text) !important; }

/* Two lines of placeholder used to be cut in half by a 20 px box. */
html body .floating-ai-input-row textarea {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  min-height: 44px !important;
  max-height: 132px !important;
  border: 0 !important;
  outline: none !important;
  background: transparent !important;
  color: var(--fa-text) !important;
  font-size: 12.5px !important;
  line-height: 1.5 !important;
  padding: 7px 4px !important;
  resize: none !important;
  overflow-y: auto !important;
}

html body .floating-ai-input-row textarea::placeholder { color: var(--fa-muted) !important; opacity: 1 !important; }

html body .floating-ai-submit {
  flex: none !important;
  width: 34px !important;
  height: 34px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: var(--fa-accent) !important;
  color: #10202c !important;
}

html body .floating-ai-submit:disabled { opacity: .4 !important; }

@media (max-width: 640px) {
  html body .floating-ai-panel {
    width: calc(100vw - 20px) !important;
    max-height: min(72dvh, calc(100dvh - 116px)) !important;
  }
}
/* <<< floating-assistant-0.7.37.css */


/* >>> login-0.7.38.css */
/* eGestion 0.7.38 — login screen.
 *
 * The 0.7.x login was a two-column split: a navy marketing panel on the left
 * (logo, trust badge, headline) and a white form column on the right. This
 * layer turns it into a single centred card floating on a full-viewport
 * animated field, without touching the server markup — every element below
 * already exists in the rendered page, it is only re-seated.
 *
 *   .login-visual      the marketing panel becomes the fixed background host;
 *                      the WebGL canvas from login-lava-0.7.38.js mounts here
 *                      and its own children are hidden.
 *   .login-form-side   becomes the centring viewport.
 *   .login-form-side > div   becomes the white card, on var(--surface) so it
 *                      is the same white as every other card in the ERP.
 *
 * Removed on purpose: the "Espace de gestion sécurisé" pill and the
 * "Bienvenue" eyebrow.
 *
 * Every selector here is scoped to a .login-* class, none of which exists on
 * any other route, so this block cannot reach the rest of the application.
 */

.login-shell {
  /* Everything below is driven off the theme tokens the ERP already defines in
   * :root — --nav is the sidebar navy, --brand the logo orange, --surface the
   * same white every card in the app uses. The hex fallbacks are those tokens'
   * own current values, kept only so the page still resolves if this block is
   * ever served without the token layer above it. */
  --eg-login-navy: var(--nav, #081322);
  --eg-login-orange: var(--brand, #fb8500);
  display: block;
  min-height: 100dvh;
  background: #050d18;
}

/* ---- background host ---------------------------------------------------- */

.login-visual {
  position: fixed;
  inset: 0;
  z-index: 0;
  display: block !important;
  min-height: 0;
  overflow: hidden;
  background: linear-gradient(165deg, #050d18 0%, #0c2946 55%, #081322 100%);
}

/* The marketing column's own content — brand, pill, headline, footnote. */
.login-visual > div:not(.eg-lava-host) {
  display: none !important;
}

/* Brand orange lives here, not in the shader: two screen-blended glows over
 * the navy canvas. Blending them into the mesh gradient instead averaged the
 * whole field to khaki (#5a4f37 measured); screened on top they stay orange. */
.login-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  mix-blend-mode: screen;
  background:
    radial-gradient(58% 45% at 82% 12%, rgba(251, 133, 0, .34), transparent 68%),
    radial-gradient(42% 38% at 14% 88%, rgba(251, 133, 0, .14), transparent 70%);
  background:
    radial-gradient(58% 45% at 82% 12%, color-mix(in srgb, var(--eg-login-orange) 34%, transparent), transparent 68%),
    radial-gradient(42% 38% at 14% 88%, color-mix(in srgb, var(--eg-login-orange) 14%, transparent), transparent 70%);
  animation: eg-login-glow 26s ease-in-out infinite alternate;
}

@keyframes eg-login-glow {
  from { transform: translate3d(0, 0, 0) scale(1); opacity: .85; }
  to   { transform: translate3d(-3%, 2.5%, 0) scale(1.08); opacity: 1; }
}

.login-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  background: radial-gradient(125% 105% at 50% 45%, transparent 38%, rgba(3, 8, 15, .72) 100%);
}

.eg-lava-host {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
}

.eg-lava-host canvas {
  display: block;
  width: 100%;
  height: 100%;
}

/* Grain, so the large flat gradients do not band on 8-bit panels. */
.eg-lava-host::after {
  content: "";
  position: absolute;
  inset: -10%;
  opacity: .045;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---- centring viewport -------------------------------------------------- */

.login-form-side {
  position: relative;
  z-index: 1;
  display: flex;
  min-height: 100dvh;
  align-items: center;
  justify-content: center;
  background: transparent;
  padding: 28px 20px;
}

/* ---- the card ----------------------------------------------------------- */

.login-form-side > div {
  width: 100%;
  max-width: 412px;
  border-radius: 22px;
  border: 1px solid rgba(255, 255, 255, .55);
  background: var(--surface);
  padding: 38px 34px 30px;
  box-shadow:
    0 32px 70px -26px rgba(2, 10, 22, .62),
    0 8px 20px -10px rgba(2, 10, 22, .3);
  animation: eg-login-card-in .5s cubic-bezier(.16, 1, .3, 1) both;
}

@keyframes eg-login-card-in {
  from { opacity: 0; transform: translateY(12px) scale(.985); }
  to   { opacity: 1; transform: none; }
}

/* Logo: shown at every width (the markup hides it above lg), centred. */
.login-form-side > div > div:first-child {
  display: block !important;
  margin-bottom: 26px;
}

.login-form-side .login-brand {
  justify-content: center;
}

.login-form-side .login-brand img {
  height: 38px;
  width: auto;
  max-width: 210px;
  object-fit: contain;
}

/* ---- copy --------------------------------------------------------------- */

.login-eyebrow,
.login-trust {
  display: none !important;
}

.login-form-side h2 {
  margin-top: 0;
  text-align: center;
  font-size: 20px;
  letter-spacing: -.012em;
}

.login-form-side h2 + p {
  text-align: center;
  font-size: 13px;
  line-height: 1.5;
}

/* ---- fields ------------------------------------------------------------- */

.login-input {
  height: 46px;
  border-radius: 12px;
  border-color: var(--color-slate-300, #cbd5e1);
  background: #fff;
  font-size: 14.5px;
}

.login-input:hover {
  border-color: #94a3b8;
}

.login-input:focus {
  border-color: var(--eg-login-orange);
  box-shadow: 0 0 0 4px rgba(251, 133, 0, .16);
}

.login-field-label {
  font-weight: 600;
  color: #334155;
}

/* ---- submit ------------------------------------------------------------- */

.login-submit {
  height: 47px;
  border-radius: 12px;
  background: var(--eg-login-navy);
  justify-content: center;
  gap: 9px;
  font-size: 14.5px;
  box-shadow: 0 12px 24px -12px rgba(8, 19, 34, .8);
}

.login-submit:hover:not(:disabled) {
  background: #0c2946;
}

.login-submit svg {
  transition: transform .18s cubic-bezier(.16, 1, .3, 1);
}

.login-submit:hover:not(:disabled) svg {
  transform: translateX(3px);
}

.login-submit:focus-visible {
  outline: 2px solid var(--eg-login-orange);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .login-form-side > div { animation: none; }
  .login-submit svg { transition: none; }
}

@media (max-width: 420px) {
  .login-form-side > div { padding: 30px 22px 24px; border-radius: 18px; }
}
/* <<< login-0.7.38.css */


/* >>> editor-chrome-0.7.41.css */
/* eGestion 0.7.41 — restore six rules the stylesheet lost, and make the
 * "connected" ChatGPT pill readable.
 *
 * dashboard-ai-popups-0.6.3.css was folded into the master stylesheet by an
 * installer that no longer exists. 154 of its 164 selectors survived; six did
 * not, and each absence is visible:
 *
 *   .eg-glass-kpi.is-pink            the pink KPI card inherits no --eg-accent,
 *                                    so its sparkline, watermark and hover ring
 *                                    fall back to an unset custom property
 *   .eg-kpi-trend[data-trend="down"] a falling trend prints in the card accent
 *                                    instead of red
 *   .eg-allocation-arc.is-primary    the allocation ring never animates in
 *   .floating-ai-composer-meta       this row is *hidden* by its own rule and
 *                                    revealed on :focus-within — with the rule
 *                                    gone it sits permanently open under the
 *                                    assistant composer
 *   .floating-ai-orb.is-active
 *     .orb-ring-a                    the orb stops pulsing during a live session
 *   .floating-ai-end-live            the "Terminer" button that ends a live
 *                                    session renders completely unstyled
 *
 * The declarations are copied verbatim from the 0.6.3 asset, including the two
 * media-query contexts, so this restores rather than reinterprets.
 *
 * Separately: chatgpt-status-0.7.32.css set `.eg-chatgpt-connect.is-connected`
 * to #047857 but left the base #0f766e background in place — 1.28:1, an
 * invisible label on the one control that is supposed to confirm the account is
 * linked. The connected state now reads as a settled state rather than a call
 * to action: pale green surface, green border, dark green label.
 */

/* -------------------------------------------------------------------------- */
/* 1. RESTORED — DASHBOARD KPI                                                */
/* -------------------------------------------------------------------------- */

.eg-glass-kpi.is-pink { --eg-accent: #c64f7c; --eg-accent-rgb: 198, 79, 124; background: rgba(255, 255, 255, .97); }
.eg-kpi-trend[data-trend="down"] { color: #c94755; }

@keyframes eg-ring-enter { from { opacity: 0; stroke-dasharray: 0 302; } }
.eg-allocation-arc.is-primary { animation: eg-ring-enter .55s cubic-bezier(.22, 1, .36, 1) both; }

/* -------------------------------------------------------------------------- */
/* 2. RESTORED — ASSISTANT COMPOSER META ROW                                  */
/* -------------------------------------------------------------------------- */

.floating-ai-composer-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; max-height: 0; overflow: hidden; visibility: hidden; border-top: 1px solid transparent; padding: 0 9px; opacity: 0; pointer-events: none; transition: max-height .28s cubic-bezier(.16, 1, .3, 1), opacity .18s ease, padding .28s ease, border-color .18s ease; }
.floating-ai-composer:focus-within .floating-ai-composer-meta,
.floating-ai-composer.is-expanded .floating-ai-composer-meta { max-height: 38px; visibility: visible; border-color: #edf1f4; padding-top: 5px; padding-bottom: 6px; opacity: 1; pointer-events: auto; }
.floating-ai-composer-meta button { display: inline-flex; align-items: center; gap: 5px; border: 0; border-radius: 8px; background: transparent; padding: 4px 5px; color: #0d607a; font-size: 9px; font-weight: 580; }
.floating-ai-composer-meta button:hover { background: #edf4f6; }
.floating-ai-composer-meta small { overflow: hidden; color: #a0aab7; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }

/* -------------------------------------------------------------------------- */
/* 3. RESTORED — LIVE SESSION                                                 */
/* -------------------------------------------------------------------------- */

.floating-ai-orb.is-active .orb-ring-a { animation: eg-orb-pulse 1.8s ease-in-out infinite; }
.floating-ai-end-live { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 6px; margin: 10px 0 14px; border: 1px solid rgba(255, 255, 255, .14); border-radius: 10px; background: rgba(255, 255, 255, .08); padding: 8px 12px; color: #fff; font-size: 10px; font-weight: 580; }
.floating-ai-end-live:hover { background: rgba(255, 255, 255, .13); }

@media (max-width: 520px) {
  .floating-ai-composer-meta small { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .eg-allocation-arc.is-primary { animation: none !important; }
  .floating-ai-composer-meta { transition-duration: 0s !important; }
  .floating-ai-orb.is-active .orb-ring-a { animation: none !important; }
}

/* -------------------------------------------------------------------------- */
/* 4. CHATGPT PILL — THE CONNECTED STATE IS LEGIBLE                           */
/* -------------------------------------------------------------------------- */

.eg-chatgpt-connect.is-connected {
  border-color: #a7d9c4;
  background: #ecfdf5;
  color: #04624a;
  font-weight: 600;
  cursor: default;
}

/* The base rule darkens the teal on hover; a settled state must not react. */
.eg-chatgpt-connect.is-connected:hover {
  background: #ecfdf5;
  transform: none;
}

.eg-chatgpt-connect.is-connected::before {
  background: #059669;
}

[data-theme="dark"] .eg-chatgpt-connect.is-connected,
.dark .eg-chatgpt-connect.is-connected {
  border-color: rgba(52, 211, 153, .38);
  background: rgba(6, 78, 59, .55);
  color: #a7f3d0;
}

[data-theme="dark"] .eg-chatgpt-connect.is-connected:hover,
.dark .eg-chatgpt-connect.is-connected:hover {
  background: rgba(6, 78, 59, .55);
}
/* <<< editor-chrome-0.7.41.css */


/* >>> shipping-address-0.7.42.css */
/* eGestion 0.7.42 — delivery address beside the project, in the document form.
 *
 * The "Projet (optionnel)" row used the full width of the form column on its
 * own. It now shares that row with "Adresse de livraison (optionnel)": a picker
 * over the addresses already saved for the account, plus a "Nouvelle adresse"
 * button that opens an express form. Both halves keep their own combobox /
 * panel anchoring, so the project search still opens over the row below.
 *
 * Almost nothing new is styled here on purpose. The express form reuses
 * `quick-party-form`, `quick-party-form-intro`, `quick-party-form-grid` and
 * `quick-party-form-actions` — the same shell the "Nouveau client" express form
 * uses — so the two look like one feature rather than two. What is left is the
 * split itself, the select-plus-button row, the hint under it, and the rounding
 * `quick-party-form` does not carry because it normally sits flush inside a
 * section.
 */

/* -------------------------------------------------------------------------- */
/* 1. THE SPLIT                                                               */
/* -------------------------------------------------------------------------- */

.eg-ship-split {
  display: grid;
  gap: .75rem;
  align-items: start;
}

@media (min-width: 640px) {
  .eg-ship-split { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1rem; }
}

/* -------------------------------------------------------------------------- */
/* 2. PICKER ROW                                                              */
/* -------------------------------------------------------------------------- */

.eg-ship-pick {
  display: flex;
  align-items: center;
  gap: .5rem;
}

.eg-ship-pick .field-select {
  flex: 1 1 auto;
  min-width: 0;
}

/* `.quick-party-add` is written for a section header, where `margin-left:auto`
   pushes it to the far right. Here it sits directly after the select, and it has
   to line up with a full-height field rather than a title. */
.eg-ship-pick .quick-party-add {
  margin-left: 0;
  flex-shrink: 0;
  height: 2.5rem;
  min-height: 2.5rem;
}

.eg-ship-hint {
  display: block;
  margin-top: .375rem;
  color: #64748b;
  font-size: .6875rem;
  line-height: 1.45;
}

/* -------------------------------------------------------------------------- */
/* 3. EXPRESS FORM                                                            */
/* -------------------------------------------------------------------------- */

/* `quick-party-form` has only a bottom border because it spans a section edge
   to edge. In a half-width cell it needs to read as a panel. */
.eg-ship-form {
  margin-top: .375rem;
  border: 1px solid #dfe7eb;
  border-radius: .625rem;
  overflow: hidden;
}

/* The party express form spans two columns of a wide grid; this one lives in a
   half-width cell, so its own grid collapses to a single column early.
   Full-width cells use `eg-ship-wide` rather than Tailwind's `sm:col-span-2`,
   which only applies above 40rem — here the grid is two columns at every
   width the split itself is two columns. */
.eg-ship-form .quick-party-form-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.eg-ship-form .quick-party-form-grid > .eg-ship-wide { grid-column: 1 / -1; }

@media (max-width: 900px) {
  .eg-ship-form .quick-party-form-grid { grid-template-columns: minmax(0, 1fr); }
}

.eg-ship-form .quick-party-form-actions { justify-content: flex-end; }

/* The express form's own inline error, so a bad address never has to borrow the
   line-editor error slot at the bottom of the form. */
.eg-ship-error {
  margin: .75rem 1rem 0;
  border: 1px solid #fecaca;
  border-radius: .5rem;
  background: #fef2f2;
  padding: .375rem .625rem;
  color: #b91c1c;
  font-size: .75rem;
  line-height: 1.45;
}

/* -------------------------------------------------------------------------- */
/* 4. DARK                                                                    */
/* -------------------------------------------------------------------------- */

[data-theme="dark"] .eg-ship-hint,
.dark .eg-ship-hint { color: #94a3b8; }

[data-theme="dark"] .eg-ship-form,
.dark .eg-ship-form { border-color: #334155; }

[data-theme="dark"] .eg-ship-error,
.dark .eg-ship-error {
  background: rgba(127, 29, 29, .28);
  border-color: rgba(248, 113, 113, .35);
  color: #fca5a5;
}
/* <<< shipping-address-0.7.42.css */


/* >>> floating-ai-0.7.46.css */
/* eGestion 0.7.46 — the floating assistant, one shade of navy darker.
 *
 * Two jobs, and the second is the larger one.
 *
 * 1. The panel is darker. 0.7.37 set `--fa-bg: #0b1b2b` and `--fa-surface:
 *    #12293c`; those become #050f1e and #0c1f34, and the live stage's own
 *    #081b2c follows them down so the conversation and the voice stage read as
 *    one surface rather than two. Everything else in 0.7.37 is inherited: this
 *    block only moves the three colour knobs it already declared, which is why
 *    it is short. Nothing is re-laid-out.
 *
 * 2. The component 0.7.46 installs renders things the stylesheet has never
 *    seen, and it stops rendering things the stylesheet still paints. Both
 *    directions matter:
 *
 *      - new markup with no rules: the orb is now a <canvas> rather than the
 *        four SVG rings the old fake orb drew, so `.floating-ai-orb` needs a
 *        height (a canvas host with `height: auto` measures 0 and the orb never
 *        draws a pixel); and `.floating-ai-live-notice`,
 *        `-live-draft`, `-live-controls`, `-live-mute`, `-live-launch`,
 *        `-message-voice`, `-history-row`, `-history-delete`, `-hint` and
 *        `-file-input` are all classes that did not exist before.
 *      - replies now render as Markdown blocks. `<ul>`, `<ol>`, `<li>` and
 *        `<code>` inside a bubble land on Tailwind's preflight — no marker, no
 *        padding, no monospace — so a bulleted answer used to arrive as four
 *        unindented sentences.
 *      - three surfaces were still painted white on the navy body:
 *        `.floating-ai-prompts` (`background: #fff !important`),
 *        `.floating-ai-attachment` (#eef6f8) and the light-red
 *        `.floating-ai-error` card. 0.7.37 darkened the toolbar, the bubbles
 *        and the composer and stopped there.
 *
 * `.floating-ai-voice` and `.floating-ai-disclaimer` are deliberately left
 * alone: the new component does not render either, and their rules cost nothing
 * once nothing matches them. They stay in place because the /ai page chat and
 * the dashboard popups share the same stylesheet.
 *
 * Written at `html body …` weight for the same reason 0.7.37 was: the
 * declarations being replaced are themselves `!important`.
 */

html body .floating-ai-panel {
  --fa-bg: #050f1e;
  --fa-surface: #0c1f34;
  --fa-line: rgba(148, 178, 199, .14);
}

/* The user bubble was #1d4e6b against #0b1b2b. Against #050f1e it needs to sit
   the same distance above the page, not the same absolute lightness. */
html body .floating-ai-panel .floating-ai-messages > article[data-role="user"] > div {
  background: #164066 !important;
}

/* -------------------------------------------------------------------------- */
/* Markdown blocks inside a bubble                                            */
/* -------------------------------------------------------------------------- */

html body .floating-ai-messages article[data-role] > div > p + p { margin-top: 7px !important; }

html body .floating-ai-messages article .floating-ai-heading {
  display: block !important;
  margin: 9px 0 3px !important;
  color: inherit !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}
html body .floating-ai-messages article .floating-ai-heading:first-child { margin-top: 0 !important; }

html body .floating-ai-messages article ul,
html body .floating-ai-messages article ol {
  margin: 6px 0 !important;
  padding-left: 17px !important;
  list-style-position: outside !important;
}
html body .floating-ai-messages article ul { list-style-type: disc !important; }
html body .floating-ai-messages article ol { list-style-type: decimal !important; }
html body .floating-ai-messages article li {
  margin: 2px 0 !important;
  font-size: 12.5px !important;
  line-height: 1.5 !important;
}
html body .floating-ai-messages article li::marker { color: var(--fa-muted) !important; }

html body .floating-ai-messages article code {
  border-radius: 5px !important;
  background: rgba(255, 255, 255, .09) !important;
  padding: 1px 4px !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace !important;
  font-size: 11.5px !important;
}

/* A Markdown table row, flattened to "cell · cell · cell" because a real table
   does not fit 430 px. Tabular figures keep the numbers in column. */
html body .floating-ai-messages article .floating-ai-row {
  font-variant-numeric: tabular-nums !important;
  opacity: .92 !important;
}

html body .floating-ai-message-voice {
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
  margin-bottom: 4px !important;
  border-radius: 6px !important;
  background: rgba(91, 219, 186, .14) !important;
  padding: 2px 5px !important;
  color: #7fdcc4 !important;
  font-size: 8.5px !important;
  font-weight: 600 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
}

/* -------------------------------------------------------------------------- */
/* The three surfaces that were still white                                   */
/* -------------------------------------------------------------------------- */

html body .floating-ai-panel .floating-ai-prompts {
  border-top: 1px solid var(--fa-line) !important;
  background: transparent !important;
}
html body .floating-ai-panel .floating-ai-prompts button {
  border-color: var(--fa-line) !important;
  background: var(--fa-surface) !important;
  color: var(--fa-muted) !important;
}
html body .floating-ai-panel .floating-ai-prompts button:hover {
  border-color: rgba(249, 115, 22, .45) !important;
  background: #12293c !important;
  color: var(--fa-text) !important;
}

html body .floating-ai-panel .floating-ai-attachment {
  border: 1px solid var(--fa-line) !important;
  background: var(--fa-surface) !important;
  color: var(--fa-muted) !important;
}
html body .floating-ai-panel .floating-ai-attachment strong { color: var(--fa-text) !important; }
html body .floating-ai-panel .floating-ai-attachment small { color: var(--fa-muted) !important; }
html body .floating-ai-panel .floating-ai-attachment > span { color: var(--fa-accent) !important; justify-self: center !important; }
html body .floating-ai-panel .floating-ai-attachment button:hover { background: rgba(220, 38, 38, .18) !important; color: #ffb4b4 !important; }

/* The error card keeps its red identity but stops being a sheet of white paper
   dropped on the panel, and now carries a dismiss button. */
html body .floating-ai-panel .floating-ai-error {
  align-items: center !important;
  justify-content: space-between !important;
  margin: 2px 0 0 !important;
  border-color: rgba(248, 113, 113, .34) !important;
  background: rgba(127, 29, 29, .34) !important;
  color: #ffcdd2 !important;
}
html body .floating-ai-panel .floating-ai-error button {
  flex: none !important;
  display: grid !important;
  place-items: center !important;
  width: 20px !important;
  height: 20px !important;
  border-radius: 6px !important;
  color: #ffcdd2 !important;
}
html body .floating-ai-panel .floating-ai-error button:hover { background: rgba(255, 255, 255, .12) !important; }

html body .floating-ai-hint {
  display: block !important;
  padding: 7px 4px 0 !important;
  color: var(--fa-muted) !important;
  font-size: 9px !important;
  line-height: 1.45 !important;
  opacity: .8 !important;
}

/* A file input positioned off-canvas rather than `display: none`, so
   `.click()` still opens the picker in every browser. */
html body .floating-ai-file-input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* -------------------------------------------------------------------------- */
/* History rail                                                               */
/* -------------------------------------------------------------------------- */

html body .floating-ai-history-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 6px !important;
  width: 100% !important;
  min-width: 0 !important;
}
html body .floating-ai-history-row > strong {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
html body .floating-ai-history-delete {
  flex: none !important;
  display: grid !important;
  place-items: center !important;
  width: 20px !important;
  height: 20px !important;
  border-radius: 6px !important;
  color: var(--fa-muted) !important;
  opacity: 0 !important;
  transition: opacity .12s ease !important;
}
html body .floating-ai-history > div > button:hover .floating-ai-history-delete { opacity: 1 !important; }
html body .floating-ai-history-delete:hover { background: rgba(220, 38, 38, .2) !important; color: #ffb4b4 !important; }

/* -------------------------------------------------------------------------- */
/* Live stage                                                                 */
/* -------------------------------------------------------------------------- */

html body .floating-ai-panel .floating-ai-live-stage {
  background: #04101d !important;
  padding-bottom: 10px !important;
}

/* The 0.6.3 stage sized the orb as `width: min(250px, 65%)` and let the SVG
   supply the height. A canvas host has no intrinsic height, and the orb reads
   `host.clientHeight` to size its drawing buffer — 0 there means a program that
   compiles, links, and renders nothing. */
html body .floating-ai-panel .floating-ai-orb {
  width: min(230px, 62%) !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  margin-top: clamp(14px, 4vh, 42px) !important;
  filter: drop-shadow(0 0 34px rgba(40, 168, 196, .22)) !important;
}

html body .floating-ai-panel .floating-ai-orb .eg-orb-canvas {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  transition: opacity .5s ease !important;
}
/* The orb adds `.is-ready` on its first drawn frame, so the stage fades the
   donut in instead of flashing an empty square while the shader links. */
html body .floating-ai-panel .floating-ai-orb .eg-orb-canvas.is-ready { opacity: 1 !important; }

/* The status dot is green while the orb hears the user and amber while the
   assistant is talking back, which is the only cue that says whose turn it is. */
html body .floating-ai-live-stage.is-hearing .floating-ai-live-status i {
  background: #5bdbba !important;
  box-shadow: 0 0 0 6px rgba(91, 219, 186, .16) !important;
}
html body .floating-ai-live-stage.is-speaking .floating-ai-live-status i {
  background: #f9a825 !important;
  box-shadow: 0 0 0 6px rgba(249, 168, 37, .16) !important;
}

html body .floating-ai-live-notice {
  position: relative !important;
  z-index: 1 !important;
  width: min(560px, calc(100% - 30px)) !important;
  margin: 9px 0 0 !important;
  border: 1px solid rgba(145, 190, 205, .18) !important;
  border-radius: 10px !important;
  background: rgba(4, 20, 34, .6) !important;
  padding: 7px 10px !important;
  color: #bcd4de !important;
  font-size: 9.5px !important;
  line-height: 1.5 !important;
  text-align: center !important;
}

/* The interim transcript: what the recogniser has heard but not committed. It is
   dimmed and italic so a half-finished sentence never reads as a sent one. */
html body .floating-ai-live-draft {
  margin: 2px 0 0 !important;
  color: #8fb0c0 !important;
  font-size: 10.5px !important;
  font-style: italic !important;
  line-height: 1.5 !important;
}

html body .floating-ai-live-controls {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  flex: none !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  padding: 12px 14px 2px !important;
}

html body .floating-ai-live-mute {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  border: 1px solid rgba(255, 255, 255, .14) !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, .07) !important;
  padding: 8px 12px !important;
  color: #dceaf0 !important;
  font-size: 10px !important;
  font-weight: 580 !important;
}
html body .floating-ai-live-mute:hover { background: rgba(255, 255, 255, .12) !important; }
html body .floating-ai-live-mute.is-muted {
  border-color: rgba(249, 168, 37, .4) !important;
  background: rgba(249, 168, 37, .16) !important;
  color: #ffd98a !important;
}

/* 0.7.41 gave `.floating-ai-end-live` a `margin: 10px 0 14px` for a stage where
   it was the only control. It now shares a row. */
html body .floating-ai-live-controls .floating-ai-end-live { margin: 0 !important; }

html body .floating-ai-live-launch { color: #67d3e8 !important; }
html body .floating-ai-live-launch:hover { color: #a5eaf7 !important; }

/* -------------------------------------------------------------------------- */
/* Mobile                                                                     */
/* -------------------------------------------------------------------------- */

/* 0.7.37 capped the panel at 72dvh on a phone, which was right for a transcript
   and wrong for the live stage: a 230 px orb, a status line, a notice, a
   transcript and a control row do not fit in 72% of a 667 px screen, so the
   transcript collapsed to nothing. In live mode the panel takes the screen. */
@media (max-width: 640px) {
  html body .floating-ai-panel.is-live-mode {
    max-height: calc(100dvh - 96px) !important;
    height: calc(100dvh - 96px) !important;
  }
  html body .floating-ai-panel .floating-ai-orb { width: min(190px, 54%) !important; margin-top: 14px !important; }
  html body .floating-ai-panel .floating-ai-live-transcript { min-height: 72px !important; max-height: 34dvh !important; }
  html body .floating-ai-panel .floating-ai-live-controls { flex-wrap: wrap !important; padding-bottom: 6px !important; }
  html body .floating-ai-panel .floating-ai-prompts { padding: 8px 10px !important; }
}

/* 0.7.84 — Écouter / Arrêter under a reply, and the action card inside the panel. */
html body .floating-ai-messages article .floating-ai-read {
  display: inline-flex !important; align-items: center !important; gap: 5px !important;
  margin-top: 8px !important; padding: 3px 9px !important; min-height: 26px !important;
  border: 1px solid #d7e1e6 !important; border-radius: 999px !important; background: #fff !important;
  color: #36515d !important; font: 600 11.5px/1 inherit !important; cursor: pointer !important;
}
html body .floating-ai-messages article .floating-ai-read:hover { border-color: #f07c1a !important; color: #b35c0f !important; }
html body .floating-ai-messages article .floating-ai-read.is-reading { border-color: #f07c1a !important; background: #fff4ea !important; color: #b35c0f !important; }
html body .floating-ai-messages article .floating-ai-action-host { margin-top: 8px !important; }
html body .floating-ai-messages article .eg-ai-action dl { grid-template-columns: minmax(5.5rem, auto) 1fr !important; }
html body .floating-ai-messages article .eg-ai-action table { min-width: 0 !important; }
html body .floating-ai-messages article .eg-ai-action ul.eg-ai-checks { padding: 0 !important; list-style: none !important; }
/* <<< floating-ai-0.7.46.css */


/* >>> print-line-table-0.7.49.css */
/* eGestion 0.7.49 — the HTML print sheet's line table, brought back in line with
   the PDF and with itself.

   /print/documents/[number] is a second renderer for the same document. 0.7.43
   reduced the PDF to five columns and 0.7.48 rewidened its Qté cell, but neither
   touched this route, so the same invoice printed differently depending on which
   button you pressed — and three separate defects were visible here, all measured
   on the live page against DE2600001 (quantity 5001, 25 005 000,00 TTC), not
   inferred.

   1. SIX COLUMNS INSTEAD OF FIVE. The sheet still carried the `Unité` column the
      PDF dropped in 0.7.43. Removed in the markup; the widths below are the
      remaining five.

   2. QTÉ WAS SILENTLY TRUNCATING THE QUANTITY. Exactly the defect 0.7.48 fixed in
      the PDF, from exactly the same cause: the cell prints egMoneyNumber(quantity),
      the money formatter, so 5001 renders "5 001,00" with non-breaking group
      separators. A nbsp cannot wrap, and `.eg-sheet-table td` sets
      overflow:hidden, so the string simply disappeared past the cell edge:
      measured 50.09px of box holding 58px of content, clipped. Worse than the PDF,
      where it at least spilled visibly into P.U HT. `text-overflow:ellipsis` was
      no help because nothing sets white-space:nowrap, so there was not even an
      ellipsis to warn you. Qté goes 7% -> 10% and Désignation 37.75% -> 42.75%,
      which is the PDF's own split — the 8% the Unité column gave up covers both.

   3. THE TOTALS BLOCK WAS LEFT- AND CENTRE-ALIGNED. `.eg-sheet-table tfoot :is(th,td)`
      declares text-align:right, but `.eg-sheet-table :is(th,td):nth-child(n)` is
      one class-level selector heavier — a :nth-child() counts as a class — and the
      column rules are written for thead/tbody, where nth-child(2) is centred and
      nth-child(3) right. A tfoot row is td[colspan] / th / td, so the *label* took
      column 2's alignment and the *value* took column 3's: "TOTAL HT" printed
      left, "25 005 000,00" printed centred, in a block whose whole purpose is a
      right-hand column of figures. The PDF has always right-aligned both
      (m.totalsLabel and m.totalsValue). Fixed by scoping the column rules to
      :is(thead, tbody) so they stop reaching into the footer.

   Why this is an override block appended to the master sheet rather than an edit
   to lines 3508-3519 of it: those lines belong to launch-polish-0.6.2-r3.css, and
   re-running that patch would put them back. Every rule here therefore states the
   full column set with !important, so the result does not depend on which patches
   ran in what order.

   WIDTHS. Identical to the compiled PDF, so the two renderers cannot drift again:

     0.7.40  desc 37.75 + unit 8 + qty 7  + price 13 + vat 19.25 + total 15 = 100
     0.7.49  desc 42.75          + qty 10 + price 13 + vat 19.25 + total 15 = 100

   tfoot td[colspan] is 72% as of 0.7.62 because that is still desc + qty + price
   (42.75 + 10 + 13), which is the invariant that keeps the totals rows lined up
   with the column edge above them. It is restated below rather than left implicit,
   because it is the one number that would break quietly.

   The table is table-layout:fixed, so only the first row's cells decide the
   columns; the tfoot widths are declared for correctness, not for effect.

   KNOWN LIMIT, not an oversight: Total HT at 15% holds "25 005 000,00" with about
   0.4px to spare at A4 width. A hundred-million total would clip. Buying room for
   it would have to come out of Désignation, the only free-text cell in the table,
   so the limit stays where the office template put it — the same trade 0.7.48
   documented for the PDF. */

/* ---- the five columns, thead and tbody only ---------------------------------- */

.eg-sheet-table :is(thead, tbody) :is(th, td):nth-child(1) { width: 49% !important; text-align: left !important; }
.eg-sheet-table :is(thead, tbody) :is(th, td):nth-child(2) { width: 10% !important; text-align: center !important; }
.eg-sheet-table :is(thead, tbody) :is(th, td):nth-child(3) { width: 13% !important; text-align: right !important; }
.eg-sheet-table :is(thead, tbody) :is(th, td):nth-child(4) { width: 13% !important; text-align: center !important; }
.eg-sheet-table :is(thead, tbody) :is(th, td):nth-child(5) { width: 15% !important; text-align: right !important; }

/* ---- the totals block ------------------------------------------------------- */

/* Both the label and the figure, as in the PDF. This has to be heavier than the
   column rules above, or it would lose to them exactly the way the original
   tfoot rule did. */
.eg-sheet-table tfoot :is(th, td):nth-child(1n) { text-align: right !important; }
.eg-sheet-table tfoot td[colspan] { width: 72% !important; }
.eg-sheet-table tfoot th { width: 13% !important; }
.eg-sheet-table tfoot td:last-child { width: 15% !important; }

/* ---- delivery notes, printed without prices --------------------------------- */

/* Two columns now that Unité is gone, matching the PDF's own !egPrices branch
   (desc 75%, qty 25% centred with no right rule). The stale nth-child(3) rule for
   the old three-column layout is left inert — nothing selects it any more — but
   its border-right:0 has to move onto column 2, which is the last cell now. */
.eg-sheet-table.is-no-prices :is(th, td):nth-child(1) { width: 75% !important; text-align: left !important; }
.eg-sheet-table.is-no-prices :is(th, td):nth-child(2) { width: 25% !important; text-align: center !important; border-right: 0 !important; }
/* <<< print-line-table-0.7.49.css */


/* >>> devis-validated-badge-0.7.51.css */
/* eGestion 0.7.51 — the "Validé" badge for validated documents.
 *
 * "also add in the devis valider badge to be good".
 *
 * MEASURED on /documents/quotes before this patch:
 *
 *   DE2600003  hamid  0,00 DH          [Annulé]      <- cancelled: badge shown
 *   DE2600002  ui     3.960,00 DH      (nothing)     <- APPROVED: NO BADGE
 *   DE2600001  hamid  30.006.000,00 DH (nothing)     <- APPROVED: NO BADGE
 *
 * document.body contained no occurrence of "Validé" anywhere. The cause is the
 * last branch of documentStateLabels(), which returned an empty array: a devis is
 * not a financial type, not a GOODS_RECEIPT, not a DELIVERY_NOTE and not SENT, so
 * a validated one fell through to []. Press "Valider" and the "Brouillon" badge
 * simply disappears with nothing replacing it — a validated devis was visually
 * indistinguishable from a document that has no state at all.
 *
 * WHY THE COLOUR IS DONE HERE AND NOT IN StatusBadge's CLASSIFIER
 *
 * StatusBadge picks its palette by regex-matching its own label. "Validé" matches
 * none of the four regexes, so it lands on the neutral slate fallback — grey,
 * reading like an unstyled default beside the emerald "Payé" and the rose
 * "Annulé".
 *
 * The obvious fix is to add `validé` to the success regex, and it is the wrong one
 * twice over:
 *
 *   1. That classifier is duplicated into 55 live copies across the bundle, and
 *      because the change alters a rendered className every browser copy would
 *      need its server twin patched in exact lockstep or hydration breaks (#418).
 *      184 references would have to be rewritten to rotate them all.
 *   2. /validé/ also matches "Invalidé", which is what VOIDED renders as. Adding
 *      it would turn voided documents green. Verified, not assumed:
 *        /validé/.test("invalidé")   === true
 *        /\bvalidé/.test("invalidé") === false
 *      It would have needed a word boundary that nothing in that file has.
 *
 * Colouring by class instead keeps the entire change inside the two files that
 * already own documentStateLabels — one browser chunk, one server chunk, the same
 * edit in both. Those two files do not contain the classifier at all (asserted by
 * the script), so this patch physically cannot reach the regex that would have
 * turned "Invalidé" green.
 *
 * WHY THE SELECTOR IS `span.eg-badge-validated`
 *
 * Not `.status-badge.eg-badge-validated`, which was the first instinct. Of the 55
 * live copies of StatusBadge only 18 carry the `status-badge` class that an
 * earlier patch added; 37 (dashboard, accounting, hr, projects, treasury) still
 * render the Tailwind classes alone. Keying on `.status-badge` would have worked
 * on the documents module and silently done nothing anywhere else.
 *
 * `span` + one class is (0,1,1), which outranks the single-class Tailwind
 * utilities at (0,1,0) on specificity alone — no !important, and no dependence on
 * source order. It holds on both generations, because every StatusBadge renders a
 * <span> root. (Belt and braces: Tailwind's utilities sit inside
 * `@layer utilities{…}` while a patch block appended to the end of the sheet is
 * unlayered, and unlayered rules beat layered ones outright. The specificity is
 * what makes it robust if that ever stops being true.)
 *
 * The three values are exactly what `border-emerald-200/90 bg-emerald-50
 * text-emerald-700` resolves to on this build — read off a live success badge,
 * then written against Tailwind 4's own palette variables so the badge tracks the
 * palette instead of freezing three resolved colours:
 *
 *   border  oklab(0.905 -0.0894642 0.0254001 / 0.9)   = --color-emerald-200 @ 90%
 *   surface oklch(0.979 0.021 166.113)                = --color-emerald-50
 *   ink     oklch(0.508 0.118 165.612)                = --color-emerald-700
 *
 * A "Validé" badge is therefore pixel-identical to a "Payé" one, which is the
 * point: validated is a good state and should read like the other good states.
 * Nothing else about the badge changes — the border, radius, padding, weight and
 * inset highlight all still come from StatusBadge's own classes.
 */

span.eg-badge-validated {
  border-color: color-mix(in oklab, var(--color-emerald-200) 90%, transparent);
  background-color: var(--color-emerald-50);
  color: var(--color-emerald-700);
}
/* <<< devis-validated-badge-0.7.51.css */


/* >>> document-actions-mobile-0.7.52.css */
/* eGestion 0.7.52 — "Nouveau Devis" and "Scanner" side by side on a phone.
 *
 * "in mobile in document pages nouveau devis and scanner need to be splited with
 *  each other just in mobile not one over one just in mobile".
 *
 * MEASURED on /documents/quotes at 390×812 (Android UA, 5 touch points) before
 * this patch — the two buttons full-width, one under the other:
 *
 *   "Nouveau Devis"  x=23  y=207  w=344  h=42   .document-create-action .document-new-action
 *   "Scanner"        x=23  y=257  w=344  h=42   .document-scan-action
 *   container        display:grid  grid-template-columns:344px  gap:8px  width:344px
 *
 * WHAT WAS ACTUALLY WRONG — AND IT IS NOT A MISSING RULE
 *
 * The sheet already contains two rules that ask for two columns on a phone, both
 * written by earlier patches that intended exactly what this one delivers:
 *
 *   @459464  @media (max-width:767px) .document-list-actions
 *              grid-template-columns:1fr 1fr; display:grid
 *   @563183  @media (max-width:767px) .document-list-actions
 *              grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; display:grid
 *
 * Neither has ever taken effect. Byte 623792 of the served sheet holds a rule
 * written by scripts/production-refresh-0.5.5.mjs that is BOTH unconditional and
 * !important:
 *
 *   .document-list-actions {
 *     display: grid !important;
 *     grid-template-columns: minmax(190px, 1fr) !important;   <- one column, always
 *     gap: 8px !important;
 *     width: min(100%, 220px) !important;
 *   }
 *
 * A single !important declaration with no media query outranks every later
 * non-important rule at any specificity, so the mobile intent has been dead since
 * 0.5.5. `minmax(190px, 1fr)` is a one-item track list, which is why the computed
 * value reads `344px` — one track filling the bar — and not `168px 168px`.
 *
 * Two earlier hypotheses were measured and are wrong, recorded here so they are
 * not re-investigated:
 *
 *   - `@media (max-width:767px){.document-create-action{grid-column:1/-1}}` @459530
 *     does not apply: a later rule @563276 in the same media context resets it to
 *     `grid-column:auto`. The live DOM confirms `auto` on both buttons.
 *   - the rule at 623792 is NOT inside `@media (prefers-reduced-motion: reduce)`.
 *     Grepping the flattened sheet and taking the nearest preceding `@media` says
 *     it is, because that block closed thousands of bytes earlier. Only brace
 *     depth tells the truth — artifacts/dev/css-context.mjs does that, and reports
 *     this rule as UNCONDITIONAL. Nothing about reduced motion is involved.
 *
 * WHY THIS IS SCOPED TO ≤767px AND LEAVES THE DESKTOP ALONE
 *
 * The same rule stacks the pair on the desktop too — measured at 1440×900, one
 * 190px track, buttons at y=191 and y=241. That is deliberate there: the 190px
 * column is the first cell of the command bar row, and its two stacked buttons
 * fill the height of the three KPI cards ("Documents actifs / Brouillons /
 * Annulés") sitting beside them. Widening it to a row would leave the KPI strip
 * half-height and change a layout nobody complained about. The ask says "just in
 * mobile" three times; this rule is gated to match.
 *
 * WHY `div.document-list-actions` AND WHY `!important`
 *
 * The declaration being overridden is !important, so only another !important can
 * beat it — that is forced, not a preference. `div` + one class is (0,1,1), which
 * outranks the legacy (0,1,0) on specificity, so this holds no matter where the
 * block ends up in the sheet rather than depending on being appended last. The
 * element qualifier is safe: both compiled copies render the container as a div —
 *
 *   (0,n.jsxs)("div",{className:"document-list-actions"   <- browser chunk 5504
 *   (0,d.jsxs)("div",{className:"document-list-actions"   <- server chunk 4925
 *
 * — and the patch script asserts that before writing. Same idiom as 0.7.51's
 * `span.eg-badge-validated`.
 *
 * `width` has to be restated. Between 721px and 767px the legacy
 * `width: min(100%, 220px)` still wins (the existing `width:100%!important`
 * override is gated at ≤720px), which would give two 106px tracks — narrower than
 * either label. Setting it here covers the whole ≤767px range in one rule.
 *
 * The track list is `repeat(2, minmax(0, 1fr))`, copied verbatim from the @563183
 * rule instead of inventing one: `minmax(0, …)` rather than a bare `1fr` so a long
 * label cannot push a track past its share and reintroduce overflow. Nothing else
 * is touched — the heights, colours, radius, font and icon spacing of both buttons
 * keep coming from the rules that already style them at ≤767px and ≤639px.
 *
 * The draft switch is the third child in the source markup
 * (src/components/modules/document-directory.tsx:900) but an earlier patch moves
 * it into `.common-filter-main` at runtime, so the bar holds exactly two children
 * and two columns divide it evenly. The `grid-column: 1 / -1` below is insurance:
 * if that relocation ever does not run, the switch spans the full width on its own
 * row instead of sitting in a lone half-cell.
 */

@media (max-width: 767px) {
  div.document-list-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
  }

  div.document-list-actions > .document-draft-switch {
    grid-column: 1 / -1;
  }
}
/* <<< document-actions-mobile-0.7.52.css */


/* >>> mobile-readability-0.7.53.css */
/* eGestion 0.7.53 — mobile readability: text a phone can actually read.
 *
 * "i want a complete mobile version to be good like good everything in mobile is
 *  for mobile" + "fix every css or change like you want but you got what my csss
 *  about act like that".
 *
 * Stylesheet only. No markup changes, so no SSR twin to keep in step (CLAUDE.md
 * rule 6 does not apply) and no hydration exposure.
 *
 * THE SCOPING RULE THIS ASSET FOLLOWS
 *
 * Not every small font on a phone is a bug. The rule applied throughout: fix what
 * *mobile* made worse, leave what the design chose at every width. Measured with
 * artifacts/dev/css-context.mjs, which reports the real at-rule chain by brace depth
 * (grepping for the nearest preceding "@media" lies — see that file's header):
 *
 *   FIXED — shrunk only inside @media (max-width:767px):
 *     .document-payment-summary  span .7rem -> .54rem  @563623
 *                                strong 1.45rem -> 1.2rem  @563700
 *                                small .7rem -> .58rem  @563775
 *
 *   LEFT ALONE — the same size at 390px and at 1440px, so it is the design's own
 *   label size and not a mobile regression:
 *     .metric-label            10px, @layer components, unconditional
 *     .data-table th           10px, @layer components, unconditional
 *     .status-badge            10px, unconditional
 *     .eg-aui-suggestion-label 10px, unconditional
 *
 *   LEFT ALONE — truncation that is the point of the component:
 *     .eg-aui-rail-item-title  needs 348px, gets 246px, but computed
 *                              text-overflow:ellipsis / overflow:hidden / nowrap.
 *                              It is a preview of a long chat prompt in the /ai
 *                              history rail; an ellipsis there is correct UI. A page
 *                              H1 is different — see (2).
 *
 * ────────────────────────────────────────────────────────────────────────────────
 * (1) .document-payment-summary — one card per row instead of three across
 *
 * MEASURED on /documents/quotes at 390px before this patch:
 *
 *   .document-payment-summary   grid-template-columns: 107.344px 107.344px 107.344px
 *                               gap 5.6px, width 333px
 *   article                     107 x 84, padding .55rem (8.8px)
 *     > div                     87.2 wide  (the only in-flow child; the <svg> beside
 *                               it is position:absolute — a watermark, not layout)
 *       span   "Documents actifs"   8.64px
 *       strong "2"                  19.2px
 *       small  "30.009.960,00 DH"   9.28px   <- the number the card exists to show
 *
 * The fonts were not shrunk out of preference: three cards in a 333px row leaves
 * 87px of text column, and "30.009.960,00 DH" does not fit at a readable size. So
 * enlarging the type alone cannot work — the cards need room first. That is why this
 * block changes the layout and the sizes together.
 *
 * `grid-template-columns:1fr` is not invented either. It is what @459695 already
 * asks for at ≤767px; the three-column rule at @563475 came later and overrode it.
 * This restores the earlier mobile intent, and every size below is copied verbatim
 * from the rule that governs the same element on the desktop:
 *
 *   gap .55rem          <- @555081   article padding .8rem .9rem  <- @555118
 *   strong 1.45rem      <- @555223   small .7rem                  <- @555299
 *   svg 46x46           <- @555373   span .7rem / .045em          <- @layer + @555299
 *
 * Nothing here is larger than the desktop equivalent. Mobile stops being a shrunken
 * desktop; it does not become a magnified one.
 *
 * The vertical cost of stacking is paid back by re-flowing the card's three lines
 * into two: the label owns the first line (`flex: 1 0 100%`), and the count and the
 * amount share the second, baseline-aligned. Measured height goes 84px -> ~70px per
 * card, so the strip grows from 84px to ~226px rather than to ~300px. Both share the
 * same `margin-top: .3rem` so their baselines line up; @563775 otherwise gives the
 * amount .25rem and the count .3rem.
 *
 * `min-height: 0` replaces the ≤767px `min-height: 78px` (@563558). That floor
 * existed to level three side-by-side cards; stacked, all three have identical
 * structure and level themselves, so the floor now only adds dead space.
 *
 * ────────────────────────────────────────────────────────────────────────────────
 * (2) h1.document-page-hero-title — a page title is not a preview
 *
 * MEASURED on /purchases/orders at 390px: "Bons de commande fournisseurs" needs
 * 282px, gets 226px, and is cut to "Bons de commande fournis…". The ellipsis comes
 * from @250137 in @layer components, unconditionally.
 *
 * A truncated H1 means the phone cannot tell you which page it is on, and there is
 * no way to reveal the rest — no tooltip on a touch screen, no hover. Two lines of
 * title cost ~29px of a page that already scrolls. So at ≤767px the title wraps.
 * The desktop keeps its single-line ellipsis, where the same title has 800px+ and a
 * hover tooltip is at least possible.
 *
 * `h1.` is (0,1,1) and unlayered, so it beats the layered (0,1,0) rule outright and
 * does not need !important. Safe because every compiled copy renders it as an h1 —
 * 46 call sites across .next/static/chunks and .next/server, checked by
 * artifacts/dev/jsx-tag.mjs and asserted by this patch's script before it writes.
 *
 * ────────────────────────────────────────────────────────────────────────────────
 * (3) .eg-allocation-body — the donut sits above its legend, not beside it
 *
 * These are the two cards the ask names ("encaissement du CA HT", "couverture des
 * dépenses") plus "Recouvrement". MEASURED on /dashboard at 390px:
 *
 *   .eg-allocation-body   display:flex, row, gap 28px, width 303.2px
 *     .eg-allocation-ring     flex: 0 0 132px   -> 132px
 *     .eg-allocation-legend   flex: 1 1 0%      -> 143.2px
 *       .eg-allocation-legend-row  padding 5px 8px, gap 10px
 *         .eg-legend-dot 8px · .eg-legend-label flex:1 -> 90.7px · .eg-legend-pct
 *
 *   .eg-legend-label   "Aucun encaissement sur la période"      needs 177px, got 90.7
 *                      "Aucune dépense sur la période"          needs 156px, got 90.7
 *                      "Aucune facture ouverte sur la période"   needs 190px, got 90.7
 *
 * 132px of donut plus a 28px gap out of 303px leaves the labels 90px. Unlike the /ai
 * rail title, these are complete short sentences — the empty-state explanation
 * itself — and "Aucun encaisse…" tells the reader nothing. The font is not the
 * problem: it is 11px !important (@827999) at every width. The width is.
 *
 * Stacking gives the legend the full 303px, so the longest label (190px) fits on one
 * line with room to spare; `white-space: normal` is there so a real payment-mode
 * name longer than that wraps instead of clipping. `align-self: center` keeps the
 * ring at its natural 132px and centres it — without it, column-direction stretch
 * would widen the ring box to 303px and hand the chart a size it was not drawn for.
 *
 * `gap: 16px` is the one invented number in this asset: 28px is tuned for a
 * horizontal gutter and reads as a hole when it becomes vertical. 16px sits between
 * the legend's own 5px row gap and the shell's 24px padding.
 *
 * ────────────────────────────────────────────────────────────────────────────────
 * (4) .eg-kpi-period — a control, not a caption
 *
 * MEASURED on /dashboard at 390px: 4 instances, each a <span> with cursor:pointer
 * that opens .eg-kpi-period-menu, 56.2 x 23.9, font-size 9.5px. 9.5px is the
 * smallest text anywhere in the app, and it is the label of the control that decides
 * what every KPI on the page means ("12 mois").
 *
 * It is a <span>, so it never appears in a tap-target audit that looks for
 * a/button/summary/input — which is how it survived this long. 36px min-height is
 * the floor used across this patch set; its <header> is a flex row that grows from
 * 24px to 36px inside a 212px card, so there is room.
 *
 * font-size needs !important here and only here: @824049 sets `font-size: 9.5px
 * !important` unconditionally, so nothing without !important can beat it at any
 * specificity. The menu rows get the same treatment — 10.5px, ~25px tall (@762009,
 * @783047), and a menu is nothing but tap targets.
 *
 * `.eg-kpi-period` and `.eg-allocation-body` are built at runtime by
 * scripts/ui/dashboard-kpi-0.6.3.js and dashboard-allocation-0.6.3.js, not by
 * compiled JSX, so there is no element to qualify the selector with — class-only is
 * all that is available, and it is enough because nothing else competes.
 *
 * WHY AN OVERRIDE BLOCK AND NOT AN EDIT TO THE ASSET THAT CAUSED THIS
 *
 * CLAUDE.md prefers editing scripts/ui/<asset> and re-running its script. Not
 * possible here, checked with artifacts/dev/css-owner.mjs: every rule above lives in
 * the `91b0a8671bf167f7-egprod260809r8.generated.css` marker block, output of
 * scripts/production-refresh-0.5.5.mjs, whose asset paths are pinned to 2026-08-09
 * filenames that no longer exist — it cannot be re-run. And .eg-legend-label is
 * declared four times over (@746352, @767603, @788641, @808129, only the first of
 * which sits in a named block), so editing one asset would fix one copy of four and
 * the last one would still win. An appended override block is the mechanism that
 * works, same as 0.7.52.
 */

@media (max-width: 767px) {
  /* (1) payment summary — one card per row, desktop type sizes back */
  div.document-payment-summary {
    grid-template-columns: 1fr;
    gap: .55rem;
  }

  div.document-payment-summary article {
    min-height: 0;
    padding: .8rem .9rem;
  }

  div.document-payment-summary article > div {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0 .6rem;
  }

  div.document-payment-summary article span {
    flex: 1 0 100%;
    letter-spacing: .045em;
    font-size: .7rem;
  }

  div.document-payment-summary article strong {
    margin-top: .3rem;
    font-size: 1.45rem;
  }

  div.document-payment-summary article small {
    margin-top: .3rem;
    font-size: .7rem;
  }

  div.document-payment-summary article > svg {
    right: .5rem;
    width: 46px;
    height: 46px;
  }

  /* (2) the page title wraps instead of being cut off */
  h1.document-page-hero-title {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }

  /* (3) donut above its legend, so the labels get the whole card width */
  .eg-allocation-body {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
  }

  .eg-allocation-body > .eg-allocation-ring {
    align-self: center;
  }

  .eg-allocation-legend .eg-legend-label {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }

  /* (4) the period picker is a control */
  .eg-kpi-period {
    min-height: 36px;
    font-size: 11px !important;
  }

  .eg-kpi-period-menu button {
    min-height: 36px;
    font-size: 11px;
  }
}
/* <<< mobile-readability-0.7.53.css */


/* >>> mobile-touch-targets-0.7.54.css */
/* eGestion 0.7.54 — mobile touch targets, and the settings rail.
 *
 * "i want a complete mobile version to be good like good everything in mobile is
 *  for mobile" + "fix every css or change like you want but you got what my csss
 *  about act like that".
 *
 * Stylesheet only. No markup changes, so no SSR twin to keep in step (CLAUDE.md
 * rule 6 does not apply) and no hydration exposure.
 *
 * ════════════════════════════════════════════════════════════════════════════════
 * HOW THIS WAS MEASURED, AND WHY THE EARLIER NUMBERS WERE WRONG
 *
 * 0.7.52 and 0.7.53 were audited inside a 390px same-origin iframe hosted by a
 * 1400px desktop page. Media queries answer to the iframe viewport, so width-based
 * rules were measured correctly — but `pointer` and `hover` are properties of the
 * *device*, not the frame. Inside that iframe `(pointer: coarse)` was FALSE.
 *
 * The served sheet has exactly one touch rule, and the iframe hid it:
 *
 *   @media (pointer:coarse) {                                        // @498860
 *     .danger-action, .primary-action, .secondary-action { min-height: 44px }
 *     .document-expand-button, .document-menu-button { min-width: 40px; min-height: 40px }
 *   }
 *
 * (The four other `(pointer:coarse)` blocks are DaisyUI's iOS zoom guard —
 *  `@supports (-webkit-touch-callout:none) { .input:focus { --font-size: 1rem } }`.)
 *
 * So `.document-expand-button` is ALREADY 40x40 on a phone, and the "34x34" in my
 * earlier notes was an artefact of the harness. Re-measured at 375x812 with real
 * device emulation (Android UA, 5 touch points, `pointer: coarse` true,
 * `hover: none`), it is 40x40 and needs nothing. Same for `.document-menu-button`.
 * Nothing in this asset touches either.
 *
 * THE TWO FLOORS USED BELOW ARE THE DESIGN'S OWN, taken from @498860 above:
 *
 *   icon-only buttons ......... 40px
 *   action buttons and rows ... 44px
 *
 * Nothing here invents a size. Where the design already states a size for the same
 * kind of control, that size is reused verbatim.
 *
 * ════════════════════════════════════════════════════════════════════════════════
 * SCOPING RULE, CARRIED OVER FROM 0.7.53
 *
 * Fix what *mobile* made worse; leave what the design chose at every width. Checked
 * per element with a CSSOM probe (walk document.styleSheets, keep only rules that
 * `el.matches()`, record the enclosing media condition) — that answers "which rule
 * wins for THIS element", which grepping selector substrings cannot.
 *
 *   LEFT ALONE — identical on desktop, so not a mobile regression:
 *     .pilot-panel header p            .68rem   unconditional  (card subtitle)
 *     .pilot-page .pilot-command-tools .badge  10px !important unconditional
 *     .eg-template-card-info b         8px      unconditional  (uppercase status pill)
 *     .data-table th / .metric-label / .status-badge / .eg-aui-suggestion-label
 *                                      10px     @layer components
 *
 *   LEFT ALONE — a miniature, where small type is the whole point:
 *     .eg-thumb-title                  7px, absolutely positioned inside
 *                                      .eg-template-thumb, measured 185 x 261.6 —
 *                                      185/261.6 = 0.707, i.e. an A4 scale model.
 *                                      Enlarging the title would break the model.
 *     .eg-allocation-center strong      10.5px, the label inside a 132px donut.
 *     .pilot-client-rank                .62rem inside a 22px rank chip.
 *     tspan                             10px, ApexCharts axis labels.
 *
 *   LEFT ALONE — truncation that is the component's purpose:
 *     .eg-aui-rail-item-title          348px into 261px, ellipsised: a preview of a
 *                                      long chat prompt in the /ai history rail.
 *
 *   LEFT ALONE — vendor geometry I cannot verify visually in this session:
 *     .apexcharts-legend-series        57 x 14 on /reports/sales. Toggling a series
 *                                      from a 14px-tall row is genuinely poor on
 *                                      touch, but ApexCharts computes the legend's
 *                                      position and inline styles at runtime, and
 *                                      screenshots are unavailable here (the Browser
 *                                      pane is hidden, so the page is not
 *                                      compositing frames). Growing its box without
 *                                      being able to look at the result risks
 *                                      shifting the chart. Recorded, not fixed.
 *
 * ════════════════════════════════════════════════════════════════════════════════
 * (1) .page-info > summary — 30x30 on every single route
 *
 * MEASURED at 375px: 30 x 30 on 7 of the 8 routes swept (/settings/profile,
 * /settings/documents, /reports/sales, /inventory/products, /dashboard,
 * /documents/invoices, /documents/quotes). It is the round "i" that opens the
 * page-help disclosure, and it is the most repeated control in the app.
 *
 * THE CASCADE — and this is the third time this exact pattern has appeared:
 *
 *   @611179  min-height: 40px                             (unconditional)
 *   @621337  min-height: 44px   @media (max-width: 720px)
 *   @627030  min-height: 22px !important                  (unconditional)
 *   @638062  min-height: 30px !important                  (unconditional)
 *   @842680  min-height: 30px !important                  (unconditional)  <- WINNER
 *
 * @611179 and @621337 are two earlier attempts at precisely this fix — including a
 * mobile-only 44px — and both were silently killed by later unconditional
 * `!important` rules. `.document-list-actions` (0.7.52) and
 * `.document-payment-summary` (0.7.53) died the same way. That is why this rule
 * carries `!important`: at (0,1,1) against (0,1,1) nothing else can win, and
 * without it the block would join the other two corpses.
 *
 * 40px, not 44px: @842680 draws it as a bordered white circle, and the design's own
 * floor for an icon-only control is 40px. 44px is reserved for the row/action
 * controls below, exactly as @498860 splits them.
 *
 * ════════════════════════════════════════════════════════════════════════════════
 * (2) .document-reference — 21px tall, and it is the row's primary action
 *
 * MEASURED on /documents/quotes at 375px: 3 instances, 161 x 21, min-height auto.
 * Tapping the document reference is how you open a document from the list.
 *
 * It sits in `.document-grid-row`, `display: grid`,
 * `grid-template-columns: 42px 161.047px 40px 36px`, `align-items: center`. The
 * button already carries `height: 100%` (@211840, @layer components) and
 * `align-self: stretch !important` (@895285) — but its grid row is only as tall as
 * the row's tallest item, and on its row that is the reference itself. Stretching to
 * 21px is still 21px. A floor is the only thing that helps, and nothing anywhere in
 * the sheet sets `min-height` for this class, so no `!important` is needed.
 *
 * No element qualifier either. It measures as a <button> in the browser, but
 * artifacts/dev/jsx-tag.mjs finds no literal-className call site — the class is
 * assembled at runtime — so the compiled bytes cannot confirm the element in the SSR
 * tree, and `button.document-reference` would silently miss if SSR emitted anything
 * else. Class-only is safe here precisely because there is no competing declaration.
 *
 * ════════════════════════════════════════════════════════════════════════════════
 * (3) .btn-sm — 32px, via DaisyUI's own token
 *
 * MEASURED: `button.btn.btn-sm.btn-square` 32 x 32 ("Actualiser", /reports/sales),
 * `a.btn.btn-sm` h32 ("Centre d'export"), `a.btn.btn-ghost.btn-sm` h32 ("Voir la
 * liste", /dashboard).
 *
 * The definition is @141100, inside `@layer utilities > @layer daisyui.l1.l2`:
 *
 *   .btn-sm { --fontsize: .75rem; --btn-p: .75rem; --size: calc(var(--size-field, .25rem) * 8) }
 *
 * So the honest fix is the token, not a height: `* 8` -> `* 10`. `--size` is what
 * DaisyUI feeds to both `height` and — for `btn-square`/`btn-circle` — `width`
 * (`.btn-square { width: var(--size); height: var(--size) }`), so one declaration
 * fixes h32 buttons and 32x32 icon buttons together and keeps `--btn-p` and
 * `--fontsize` consistent with the rest of the button. Hard-coding `height: 40px`
 * would have desynced the square variant.
 *
 * `* 10` is not a number I chose. It is what `.btn` itself declares:
 *
 *   .btn    { --size: calc(var(--size-field, .25rem) * 10); --btn-p: 1rem; … }
 *   .btn-sm { --size: calc(var(--size-field, .25rem) *  8); --btn-p: .75rem; … }
 *
 * so this restores the design system's own default button height on mobile and
 * nothing else. It lands on 40px because `--size-field: .25rem` is declared exactly
 * once in the sheet — which matches `.btn-sm` measuring 32px today — and the formula
 * is kept rather than written out as 2.5rem so it still tracks the theme.
 *
 * ════════════════════════════════════════════════════════════════════════════════
 * (4) button.h-8 — the "Archiver" row action, 92.8 x 32
 *
 * MEASURED on /inventory/products: 3 instances of
 * `button.inline-flex.h-8.items-center`. `h-8` is a Tailwind utility
 * (`height: calc(var(--spacing) * 8)` = 2rem) in `@layer utilities`.
 *
 * `min-height` rather than `height`, so the utility's own value survives and the
 * floor simply wins where it is larger — the least destructive way to raise a
 * utility class. Qualified with `button` both to raise specificity above the
 * unlayered/layered boundary and, more importantly, to keep the rule off the many
 * non-interactive `h-8` boxes (avatars, swatches, spacers) where 40px would be
 * wrong.
 *
 * ════════════════════════════════════════════════════════════════════════════════
 * (5) details > summary.cursor-pointer — 324 x 16
 *
 * MEASURED on /reports/sales: "Plus de détails", 324.2 x 16 — a full-width control
 * 16px tall, the height of its own text and nothing else.
 *
 * `padding-block`, not `min-height` + flex centring: a <summary> is `display:
 * list-item`, and switching it to flex to centre the label would delete the
 * disclosure marker. Padding grows the box and leaves the marker alone. .75rem top
 * and bottom on 16px of text is 40px exactly — the icon/control floor.
 *
 * ════════════════════════════════════════════════════════════════════════════════
 * (6) .pilot-presets button — the dashboard period switch, 34px
 *
 * MEASURED on /dashboard: "Aujourd'hui" 81.7 x 34, "Mois" 45.7 x 34, "Année"
 * 54.7 x 34, `min-height: 34px`, font 11px.
 *
 * The governing rule is @850602, `min-height: 34px !important` at (0,2,1), so this
 * needs both `!important` and the same two-class specificity. Its selector list is
 * copied verbatim — `.pilot-page .pilot-command-tools > button` shares the same
 * 34px declaration, and splitting the pair would leave the toolbar buttons behind
 * while the presets grew.
 *
 * At <=720px @861364 already lays the presets out as `grid-template-columns:
 * repeat(3, 1fr)`, so a taller button grows the grid rather than overflowing it.
 *
 * ════════════════════════════════════════════════════════════════════════════════
 * (7) The /ai composer — the whole thing sits at 26–34px
 *
 * MEASURED on /ai at 375px:
 *
 *   textarea.eg-aui-input       321 x 26     <- the message box
 *   button.eg-aui-tool          32 x 32  x2  ("Joindre un fichier")
 *   button.eg-aui-send          32 x 32      ("Envoyer le message")
 *   button.eg-aui-picker-trigger 133.7 x 32  ("GPT-5.6 terra")
 *   button.eg-aui-icon-ghost    34 x 34  x2  ("Fermer l'historique")
 *   button.eg-aui-new           96.5 x 34    ("Nouvelle")
 *
 * All six are declared once, unconditionally, with no `!important` (@948217,
 * @948627, @954842, @955153, @955556, @956905, all in assistant-chat-0.7.35.css),
 * so a later class-only rule wins outright. Icon buttons to the 40px floor, labelled
 * controls to 40px, and the composer itself to 44px — it is the largest and most
 * frequently missed target on the page.
 *
 * ONE RULE IS DELIBERATELY NOT OVERRIDDEN: @956548,
 * `.eg-aui-attachment .eg-aui-icon-ghost { width: 1.5rem; height: 1.5rem }`, is
 * (0,2,0) and outranks the (0,1,0) rule below, so the remove-attachment cross stays
 * 24px. That is correct — it lives inside a small attachment chip, and 40px would
 * burst the chip. Specificity does the right thing here without any help.
 *
 * AND THE iOS ZOOM GUARD. The sheet already guards DaisyUI's fields:
 *
 *   @media (pointer:coarse) { @supports (-webkit-touch-callout:none) {
 *     .input:focus { --font-size: 1rem } .textarea:focus { --font-size: 1rem } } }
 *
 * `.eg-aui-input` is not a `.textarea` — it is a bare <textarea class="eg-aui-input">
 * with `font-size: .875rem` (14px) set directly — so it is not covered, and mobile
 * Safari zooms the whole page in when a field under 16px takes focus. Zooming into
 * the composer and back out on every message is a bad enough bug on its own. The
 * guard below is the design's own idiom, copied exactly: same media query, same
 * @supports test (which is how DaisyUI targets iOS specifically), same 1rem. It sets
 * `font-size` rather than `--font-size` only because this class states its size
 * directly instead of through a DaisyUI variable.
 *
 * It sits outside the width query on purpose: page-zoom-on-focus is a property of
 * the device, not of the viewport width, and an iPad at 900px has the same problem.
 *
 * ════════════════════════════════════════════════════════════════════════════════
 * (8) The settings rail — a 76px vertical strip with 8.32px labels
 *
 * MEASURED on /settings/documents at 375px. `.settings-center-body` is
 * `display: grid; grid-template-columns: 76px 297px`; the <nav> holds 9 links plus
 * `button.settings-logout`, each link `display: grid` icon-over-label, 61 x 51.1:
 *
 *   span "Société" 8.32px · "Utilisateurs" 8.32px · "Profil" · "Documents" ·
 *   "Fiscalité" · "IA" · "Audit / Logs" · "E-mail & sauvegardes" (wraps, 19.1px tall)
 *   div.settings-document-subnav  116px tall: 3 links at 34px, font 9px
 *     ("Présentation", "Numérotation", "Cachet & signature")
 *   button.settings-logout  61 x 42, and its <span> measures 0 x 0 — invisible
 *
 * 8.32px is the smallest text in the application. It is not a taste decision: the
 * desktop label is `.68rem` (@567819) and @571249 shrinks it to `.52rem` at <=760px
 * purely to survive a rail that @571072 squeezed from 238px to 76px. Mobile made
 * this worse — squarely inside the scoping rule.
 *
 * WHY WIDEN THE RAIL RATHER THAN TURN IT INTO A HORIZONTAL TAB STRIP. A scrolling
 * top strip is the more phone-native shape and it was the plan, until the widths were
 * added up. Nine labelled pills plus the three-item Documents subnav plus logout
 * comes to roughly 1250px of track at 11px type — about 3.4 screens of horizontal
 * scrolling, with "E-mail & sauvegardes" and "Se déconnecter" permanently off-screen
 * behind a gesture with no affordance. The vertical rail already fits all ten entries
 * on one screen without scrolling (measured: 576px of content in 680px of nav). The
 * defect was never the axis; it was 24px of width. So the rail keeps its shape and
 * gets the width it needed.
 *
 *   100px, not more: the content column drops 297 -> 273px, and that column holds
 *   forms whose fields are fluid (`min-height: 38px`, 12px type — @720656). 24px is
 *   what "Utilisateurs" needs at `.65rem` (~62px of text in 86px of inner width),
 *   which is the widest single-line label. Nothing wider is bought by going further.
 *
 *   `.65rem`, not the desktop's `.68rem`: it is the largest size at which every
 *   label still fits the rail, and it is below the desktop value, so mobile stays a
 *   phone layout rather than becoming a magnified one — the same constraint 0.7.53
 *   held itself to.
 *
 * The ellipsis has to go with it. @838332 pins
 * `overflow: hidden !important; text-overflow: ellipsis !important` on every rail
 * label unconditionally, which is why "E-mail & sauvegardes" reads as "E-mail &
 * sauvega…" — a truncated navigation label on a touch screen cannot be revealed by
 * hovering. `line-height: 1.2` (from @571249's own 1.15, rounded up for the larger
 * size) keeps a two-line label inside the entry. The override reuses @838332's own
 * `a > span` child combinator rather than a descendant selector, so the two rules are
 * the same (0,1,3) and the only thing separating them is source order — which this
 * block controls.
 *
 * The invisible logout label is @841772, `.settings-logout > span { display: none
 * !important }` at <=640px — hidden because a 76px rail could not fit "Se
 * déconnecter" beside an icon. At 100px it still cannot fit *beside* it, so the
 * button wraps and the label takes its own line, centred: exactly the icon-over-label
 * shape of the nine entries above it. A logout button that shows nothing but a red
 * icon is a genuine hazard, not just a cosmetic one.
 *
 * The subnav's 9px (@841443) is the same squeeze one level deeper. 10px and a 40px
 * floor; `padding: 6px 4px` is @718902's own `6px 9px` with the inline padding
 * reduced to what a 100px rail can spare.
 *
 * These five rules are keyed to `@media (max-width: 760px)` rather than the 767px
 * used elsewhere in this asset. That is the breakpoint of @571072/@571135/@571249 —
 * the rules being corrected. At 767px the desktop 238px rail is still in force, and
 * a 767px rule would have shrunk it to 100px in the 761–767px band, breaking a width
 * that works today.
 *
 * ════════════════════════════════════════════════════════════════════════════════
 * (9) h2.truncate in the settings content — 188px of title in 145px
 *
 * MEASURED on /settings/documents: `h2.truncate.text-base.font-semibold`
 * "Présentation et papier A4" needs 188px, gets 145px, ellipsised by Tailwind's
 * `.truncate`. Same argument as the page H1 in 0.7.53: a card title with no hover
 * and no tooltip has to wrap. Scoped to `.settings-center-body main` so the
 * `.truncate` utility keeps working everywhere else it is used deliberately.
 *
 * ════════════════════════════════════════════════════════════════════════════════
 * WHY AN OVERRIDE BLOCK AND NOT EDITS TO THE OWNING ASSETS
 *
 * CLAUDE.md prefers editing scripts/ui/<asset> and re-running its script. The rules
 * corrected above are spread across seven different owners
 * (artifacts/dev/css-owner.mjs): settings-modal-0.7.1.css (@840955, @841443,
 * @841772), assistant-chat-0.7.35.css (@948217, @954842, @955153),
 * launch-polish-0.6.2-r3.css (@723390, @724740), eg-ui-0.6.1.css (@141100),
 * eg-ui-0.5.8.d63a03adf47c.css (@684097), production-0.7.12.css (@895285) and
 * `91b0a8671bf167f7-egprod260809r8.generated.css` (@211840, @567819, @571249) —
 * the last of which is output of scripts/production-refresh-0.5.5.mjs, whose asset
 * paths are pinned to 2026-08-09 filenames that no longer exist and which therefore
 * cannot be re-run at all.
 *
 * Splitting one coherent mobile concern across six re-runs would scatter it beyond
 * reading, and several of those scripts also patch JS chunks, so re-running them to
 * change a font size would churn compiled output that has nothing to do with this.
 * One appended block keeps the whole of mobile's touch behaviour in one file, which
 * is also what 0.7.52 and 0.7.53 did.
 */

@media (max-width: 767px) {
  /* (1) the page-help "i" — the app's most repeated control */
  .page-info > summary,
  .settings-info-tip > summary {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
  }

  /* (2) the document reference is how you open a document */
  .document-reference {
    min-height: 44px;
  }

  /* (3) DaisyUI's small button, through its own size token */
  .btn-sm {
    --size: calc(var(--size-field, .25rem) * 10);
  }

  /* (4) row actions built from the h-8 utility */
  button.h-8 {
    min-height: 2.5rem;
  }

  /* (5) a disclosure summary is a control, not a caption */
  details > summary.cursor-pointer {
    padding-block: .75rem;
  }

  /* (6) the dashboard period switch and the command toolbar */
  .pilot-page .pilot-presets button,
  .pilot-page .pilot-command-tools > button {
    min-height: 40px !important;
  }

  /* (7) the /ai composer */
  .eg-aui-tool,
  .eg-aui-send,
  .eg-aui-icon-ghost {
    width: 2.5rem;
    height: 2.5rem;
  }

  .eg-aui-picker-trigger,
  .eg-aui-new {
    min-height: 2.5rem;
  }

  .eg-aui-input {
    min-height: 2.75rem;
  }

  /* (9) a settings card title wraps instead of being cut off */
  .settings-center-body main h2.truncate {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }
}

/* (8) the settings rail — keyed to the 760px breakpoint of the rules it corrects */
@media (max-width: 760px) {
  .settings-center-body {
    grid-template-columns: 100px minmax(0, 1fr) !important;
  }

  .settings-center-body > nav a > span {
    overflow: visible !important;
    text-overflow: clip !important;
    line-height: 1.2 !important;
    font-size: .65rem !important;
  }

  .settings-center-body > nav .settings-document-subnav > a {
    min-height: 40px !important;
    padding: 6px 4px !important;
    font-size: .625rem !important;
  }

  .settings-logout {
    flex-wrap: wrap !important;
    row-gap: 2px !important;
  }

  .settings-logout > span {
    display: block !important;
    flex: 1 0 100% !important;
    text-align: center !important;
    font-size: .65rem !important;
  }
}

/* (7b) iOS zooms the page in when a focused field is under 16px. Device property,
 * not a viewport width — same media query and @supports test the sheet already uses
 * for DaisyUI's .input and .textarea. */
@media (pointer: coarse) {
  @supports (-webkit-touch-callout: none) {
    .eg-aui-input {
      font-size: 1rem;
    }
  }
}
/* <<< mobile-touch-targets-0.7.54.css */


/* >>> planning-mobile-0.7.55.css */
/* eGestion 0.7.55 — /planning on a phone: the board is currently blank.
 *
 * "i want a complete mobile version to be good like good everything in mobile is
 *  for mobile" + "fix every css or change like you want but you got what my csss
 *  about act like that and continue all fixex".
 *
 * Stylesheet only. No markup changes, so no SSR twin to keep in step (CLAUDE.md
 * rule 6 does not apply) and no hydration exposure.
 *
 * THIS IS NOT A POLISH PATCH. Below 640px the kanban board on /planning renders
 * nothing at all — five columns, all `display: none`, and no tab can reveal one.
 * MEASURED at 375x812 with a real coarse pointer: every .planning-column has
 * computed `display: none`, and tapping any tab in the mobile strip leaves it that
 * way. At 700px the same page works. The page has been blank on every phone since
 * the block at @666658 was written.
 *
 * ────────────────────────────────────────────────────────────────────────────────
 * THE CONTRACT, READ OUT OF THE COMPILED BYTES
 *
 * From .next/server/app/(erp)/planning/page.js — not from the live DOM, so this
 * survives a restart and is checkable without a browser:
 *
 *   <section className="planning-board app-scrollbar" data-mobile-active={ac}>
 *     <article className={`planning-column is-${b.tone}`} data-status={b.id}>
 *
 * So the ACTIVE STATUS LIVES ON THE BOARD (`data-mobile-active`) and the identity
 * lives on the COLUMN (`data-status`). The five ids, also from that file:
 *
 *   BACKLOG "À planifier" · TODO "À faire" · IN_PROGRESS "En cours"
 *   REVIEW "À valider"    · DONE "Terminé"
 *
 * The app's own stylesheet implements exactly that, at ≤760px:
 *
 *   @441805  .planning-board .planning-column{min-height:420px;display:none}
 *   @441868  .planning-board[data-mobile-active=BACKLOG] .planning-column[data-status=BACKLOG],
 *            …and the four others…                                  {display:block}
 *
 * That is correct, and the JS driving it is correct too: tapping a tab really does
 * set data-mobile-active on the board (verified live — the first read looked like a
 * no-op only because React 19 commits asynchronously and the read was in the same
 * turn as the click).
 *
 * ────────────────────────────────────────────────────────────────────────────────
 * WHAT BREAKS IT — a four-way collision between three later patches
 *
 * A later block, at @media (max-width: 640px), reimplements the same idea against a
 * contract the app never had:
 *
 *   @666784  .planning-column { display: none !important; width: 100% !important; }
 *   @666857  .planning-column[data-mobile-active="true"],
 *            .planning-column.is-mobile-active { display: block !important; }
 *
 * Both of its reveal selectors put the active flag ON THE COLUMN. Nothing in the
 * compiled output ever writes `data-mobile-active` or `is-mobile-active` onto a
 * .planning-column — grep both trees and the only writer is the <section>. So:
 *
 *   the hide   (0,1,0) + !important   applies to all five columns
 *   the reveal (0,2,0) + !important   matches nothing, ever
 *   the app's reveal (0,4,0), NO !important, loses to the hide
 *
 * An !important declaration at (0,1,0) beats a non-important one at (0,4,0) —
 * importance is compared before specificity. Hence: permanently blank.
 *
 * THE SAME BLOCK ALSO TRIED TO FIX THE BOARD, AND LOST TOO:
 *
 *   @666658  @media (max-width: 640px)  .planning-board { grid-template-columns:
 *              minmax(0, 1fr) !important; width: 100%; overflow: visible; }
 *   @728885  (unconditional)            .planning-board { grid-template-columns:
 *              repeat(5, minmax(225px, 1fr)) !important; … scroll-snap-type: x proximity; }
 *
 * Both !important, both (0,1,0), so SOURCE ORDER decides and @728885 — written
 * later — wins at every width. The 640px fix is dead on arrival. .planning-board is
 * declared ten times in this sheet and sets grid-template-columns in seven of them;
 * this is the fourth such collision.
 *
 * ────────────────────────────────────────────────────────────────────────────────
 * WHICH MOBILE DESIGN IS THE RIGHT ONE — a real decision, not a cleanup
 *
 * Those two later patches disagree with each other about what /planning should be
 * on a phone, so "fix the cascade" is not enough; one of them has to be chosen.
 *
 *   A. TAB STRIP, ONE COLUMN AT A TIME — what the app itself ships. It renders
 *      .planning-mobile-status (five tabs with live counts, ≤760px only, @441142),
 *      wires it to data-mobile-active, and writes the hide/reveal pair for it.
 *   B. FIVE-COLUMN HORIZONTAL SCROLLER — what @728885 asks for: 5 x 225px = 1125px
 *      of board scrolled through a 375px window, with scroll-snap.
 *
 * A, for three reasons. It is the only one with JS behind it — the tab strip's
 * handlers already work, and under B the strip is decorative. It is the only one
 * that is width-aware: @728885 is unconditional, i.e. a desktop rule that gained
 * overflow-x for narrow *desktops*, not a phone decision. And 1125px of kanban
 * behind a 375px viewport hides four fifths of the board behind a gesture, while
 * the tab strip names all five and shows their counts without scrolling.
 *
 * B is not deleted, only out-ranked below 760px: above that breakpoint the strip is
 * `display: none` (@434356) and @728885's scroller is the layout, unchanged.
 *
 * ────────────────────────────────────────────────────────────────────────────────
 * (1) .planning-page — the page column stops being sized by its widest child
 *
 * MEASURED at 375px: .planning-page has computed grid-template-columns 400.297px in
 * a 375px viewport, so the whole page sat 47.7px past the right edge, where
 * `main { overflow-x: clip }` silently swallowed it.
 *
 * .planning-page is `display: grid` (@528738) and NEVER declares
 * grid-template-columns — not once in 1.05 MB of stylesheet. One implicit `auto`
 * track, and an `auto` track sizes to its widest item's MAX-content.
 *
 * The culprit was isolated empirically rather than argued: hide each child in turn,
 * re-read the computed track, restore. Only `.planning-toolbar` moved it, and one
 * level down only its button-group <div> — five nowrap view-switch buttons whose
 * max-content is 400.297px, exactly the track width. Note that div ALREADY asks to
 * scroll (`overflow-x: auto` at @540820, again at @726434); `overflow` lowers a box's
 * MIN-content contribution to zero but leaves max-content untouched, so against an
 * `auto` track the scroller was never given a chance to work.
 *
 * `minmax(0, 1fr)` is a definite track: it ignores max-content, resolves to the
 * viewport, and the toolbar's own overflow-x finally engages. No !important — after
 * this block nothing else declares the property.
 *
 * (2) .planning-page .planning-board — one column, full width
 *
 * `minmax(0, 1fr)` is copied verbatim from @666658, i.e. from the patch that already
 * decided this was right for phones and merely lost the cascade. The selector is
 * (0,2,0) so it out-ranks @728885's (0,1,0) !important; !important is required
 * because @728885 carries it.
 *
 * (3) the reveal — the app's own five selectors, given the importance to survive
 *
 * Copied verbatim from @441868, quoted attribute values added (identical meaning,
 * and the minifier's unquoted form is not worth imitating by hand). At (0,4,0) plus
 * !important it beats @666784's (0,1,0) !important hide. `display: block` is the
 * app's own value, and it is what an <article> is anyway.
 *
 * This deliberately does NOT delete @666784's hide: with all five columns hidden by
 * default and exactly one revealed, the hide is doing useful work. Only its broken
 * reveal half is replaced.
 *
 * (4) .planning-mobile-status — the tab strip is a control
 *
 * MEASURED at 375px: five buttons, 34px tall (@441249), label .57rem = 9.12px, count
 * badge 18px with .48rem = 7.68px text. This is the control that decides which fifth
 * of the board you can see, and it was the smallest interactive text on the page.
 *
 * Every number here is borrowed, not invented — from the desktop twin of the very
 * same "label + count" pair, one rule away in the same sheet:
 *
 *   height 40px       <- the design's own (pointer:coarse) icon floor, the same one
 *                        0.7.54 used for nine other controls
 *   font-size .7rem   <- .planning-column>header>span  @532609
 *   badge 24px/.63rem <- .planning-column>header>b     @533075
 *
 * so the tab strip ends up reading exactly like the column header it stands in for.
 * No !important: the selectors are (0,1,1) and (0,1,2), identical to @441249's, and
 * this block is later in the sheet.
 *
 * ────────────────────────────────────────────────────────────────────────────────
 * (5) the four remaining /planning controls, all measured at 375x812, coarse pointer
 *
 * With the board finally visible, a tap-target scan of the page returns four groups
 * still under the design's own 40px floor. Two of them are hidden behind a trap worth
 * spelling out: THEIR PARENT IS A GRID WITH A FIXED 30px TRACK, so `width: 40px` on
 * the button alone would overflow its own cell.
 *
 *   .planning-toolbar > div button        34px tall, .68rem = 10.88px   @531716
 *     -> 40px / .72rem. Both borrowed from .planning-toolbar > label input (@531318),
 *        the design's own field in the very same toolbar. This is the view switcher
 *        (Tableau · Calendrier · Chronologie · Discussion) and its group is the one
 *        (1) just made scrollable, so extra width costs nothing.
 *
 *   .planning-column > header > button   30x30, 17px icon              @533228
 *     -> 40x40, and .planning-column > header's track list goes
 *        `minmax(0,1fr) auto 30px` -> `minmax(0,1fr) auto 40px` (@532392).
 *        The header's own min-height is already 48px, so nothing grows around it.
 *
 *   .planning-quick-add input             305.4x30, .58rem = 9.28px    @433293
 *     -> 40px / .72rem, again copied from @531318 rather than invented. 9.28px was
 *        the smallest interactive text left on the page.
 *
 *   .planning-quick-add button           30x30, 15px icon             @433545
 *     -> 40px wide to match the widened track, 40px tall to sit level with the input,
 *        and .planning-quick-add's track goes `minmax(0,1fr) 30px` ->
 *        `minmax(0,1fr) 40px` (@433140).
 *
 * (6) the iOS zoom guard, for this page's two text fields
 *
 * .72rem is 11.52px, and Mobile Safari zooms the viewport whenever a focused field is
 * under 16px — which on a phone silently breaks the layout the rest of this patch just
 * fixed. Same idiom 0.7.54 used for the /ai composer, itself copied from DaisyUI's own
 * `@media (pointer:coarse){@supports (-webkit-touch-callout:none){.textarea:focus{…}}}`:
 * WebKit-only via @supports, :focus-only because that is the only moment iOS zooms.
 * Correctly inert in Chromium, so it cannot be verified here — it is included because
 * it is the same guard, on the same reasoning, as the one already shipped.
 *
 * A general version of this for every field class in the app belongs in 0.7.56; these
 * two are scoped here so /planning is finished rather than left with a known defect.
 *
 * ────────────────────────────────────────────────────────────────────────────────
 * LEFT ALONE — the scoping rule from 0.7.53 still applies
 *
 * /planning has sixteen text sizes under 11px. A CSSOM cascade probe (walk
 * document.styleSheets, recurse MEDIA_RULE / SUPPORTS_RULE / CSSLayerBlockRule
 * accumulating conditionText, keep the rules where el.matches(selectorPart), take
 * the last hit) says exactly ONE of them is mobile-only: the tab strip in (4).
 * The other fifteen are unconditional and measure identically at 1440px, so mobile
 * did not cause them and they are the design's own label sizes:
 *
 *   .planning-workload > span > b   7.68px    .planning-chat > header small  7.84px
 *   .planning-chat-empty p          8.64px    .planning-kpis > article > span 9.92px
 *   .planning-live                  9.6px     .planning-column-empty        10.72px
 *   …plus th / .metric-label / .status-badge / .text-[10px] / .text-[9px]
 *
 * Grepping backwards for the nearest "@media" would have called several of these
 * mobile-only: a closed media block is still the nearest one behind you. Depth
 * matters, not proximity.
 *
 * WHY (5) IS NOT A CONTRADICTION OF THAT RULE. Three of the four controls in (5) are
 * also sized unconditionally, and are fixed anyway. The scoping rule is about TEXT
 * SIZE: a label that is 8px on a 1440px monitor is a deliberate typographic choice,
 * and shrinking or growing it on a phone alone would be me redesigning. A TOUCH
 * TARGET is not a typographic choice — it is a function of the pointer. 30px is
 * comfortable for a mouse and too small for a finger, so an unconditionally-30px
 * control is a genuine mobile defect even though its size never varies. That is why
 * these are raised only below 760px and the mouse-driven desktop keeps every pixel it
 * had. 0.7.54 drew the same line for nine control groups, including `.btn-sm` (32px)
 * and `summary.cursor-pointer` (16px), both unconditional.
 *
 * ────────────────────────────────────────────────────────────────────────────────
 * WHY AN OVERRIDE BLOCK AND NOT AN EDIT TO THE ASSET THAT CAUSED THIS
 *
 * CLAUDE.md prefers editing scripts/ui/<asset> and re-running its script. Checked
 * with artifacts/dev/css-owner.mjs: the rules in (1)–(3) live in the
 * `91b0a8671bf167f7-egprod260809r8.generated.css` marker block, output of
 * scripts/production-refresh-0.5.5.mjs.
 *
 * CORRECTION TO scripts/ui/mobile-readability-0.7.53.css, which states that this
 * script's "asset paths are pinned to 2026-08-09 filenames that no longer exist —
 * it cannot be re-run". All three paths I checked DO exist:
 *
 *   .next/static/css/91b0a8671bf167f7-egprod260809r3.css
 *   .next/static/chunks/5504-05a6f47d57a983c7-egprod260809r2.js
 *   .next/static/chunks/app/(erp)/layout-4dcf90205958eaab-egprod260809r4.js
 *
 * The real reason is better: all three have ZERO references anywhere in .next.
 * They are dead rotations, seventy-one sheet rotations behind the served
 * 91b0a8671bf167f7-egprod260814r74.css. production-refresh-0.5.5.mjs copies
 * from -> to and patches the copy, so re-running it would write CSS into files
 * nothing serves and change nothing in the browser — and it is not on CLAUDE.md's
 * safe-commands list. Its 2026-08-09 output survives only as inherited bytes in the
 * live sheet. An appended override block is the mechanism that works, same as 0.7.52
 * through 0.7.54.
 */

@media (max-width: 760px) {
  /* (1) an implicit `auto` track sized the page to its widest child's max-content */
  .planning-page {
    grid-template-columns: minmax(0, 1fr);
  }

  /* (2) one column, full width — @666658's intent, at a specificity that survives */
  .planning-page .planning-board {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  /* (3) reveal the column the tab strip actually selected (@441868's own selectors) */
  .planning-board[data-mobile-active="BACKLOG"] .planning-column[data-status="BACKLOG"],
  .planning-board[data-mobile-active="TODO"] .planning-column[data-status="TODO"],
  .planning-board[data-mobile-active="IN_PROGRESS"] .planning-column[data-status="IN_PROGRESS"],
  .planning-board[data-mobile-active="REVIEW"] .planning-column[data-status="REVIEW"],
  .planning-board[data-mobile-active="DONE"] .planning-column[data-status="DONE"] {
    display: block !important;
  }

  /* (4) the tab strip reads like the column header it stands in for */
  .planning-mobile-status button {
    height: 40px;
    font-size: .7rem;
  }

  .planning-mobile-status button b {
    min-width: 24px;
    height: 24px;
    font-size: .63rem;
  }

  /* (5) the view switcher, at the toolbar's own field size */
  .planning-toolbar > div button {
    height: 40px;
    font-size: .72rem;
  }

  /* (5) the column's add button — the track has to widen with it */
  .planning-column > header {
    grid-template-columns: minmax(0, 1fr) auto 40px;
  }

  .planning-column > header > button {
    width: 40px;
    height: 40px;
  }

  /* (5) the quick-add row — same trap, same fix */
  .planning-quick-add {
    grid-template-columns: minmax(0, 1fr) 40px;
  }

  .planning-quick-add input {
    height: 40px;
    font-size: .72rem;
  }

  .planning-quick-add button {
    width: 40px;
    height: 40px;
  }
}

/* (6) iOS Safari zooms the viewport for any focused field under 16px. WebKit-only, so
 * this is correctly inert in Chromium and cannot be verified from here. */
@media (pointer: coarse) {
  @supports (-webkit-touch-callout: none) {
    .planning-toolbar > label input:focus,
    .planning-quick-add input:focus {
      font-size: 1rem;
    }
  }
}
/* <<< planning-mobile-0.7.55.css */


/* >>> mobile-chrome-0.7.56.css */
/* eGestion 0.7.56 — the shell chrome and the control *families* a phone still can't
 * hit, plus one general iOS zoom guard for every text field in the app.
 *
 * "i want a complete mobile version to be good like good everything in mobile is for
 *  mobile" + "fix every css or change like you want but you got what my csss about act
 *  like that and continue all fixex".
 *
 * Stylesheet only. No markup changes, so no SSR twin to keep in step (CLAUDE.md rule 6
 * does not apply) and no hydration exposure.
 *
 * 0.7.54 fixed nine *individual* controls. This one finishes the job at the two levels
 * 0.7.54 could not reach from a page-by-page sweep:
 *
 *   - the SHELL chrome, which is on every one of the 93 routes (the header brand link,
 *     the sidebar's leaf nav links, the dialog close button, the settings header);
 *   - the control FAMILIES, where one token or one utility class sizes dozens of
 *     controls at once (.input-sm, .h-9, .min-h-9, .operations-select).
 *
 * Everything below was measured at 375x812 with a real coarse pointer, against the
 * running 0.7.55 install, and every replacement value is borrowed from a rule this
 * sheet already contains — usually one or two rules away from the defect.
 *
 * ════════════════════════════════════════════════════════════════════════════════
 * (1) THE SIDEBAR'S LEAF NAV LINKS — 36px next to three siblings at 40px
 *
 * This is the strongest finding in the patch, because the design's own answer is one
 * rule away. Two adjacent rules in the same generated block:
 *
 *   @319750  .sidebar-dashboard-link{min-height:calc(var(--spacing) * 10); …}   40px
 *   @321041  .sidebar-nav-link      {min-height:calc(var(--spacing) * 9);  …}   36px
 *
 * MEASURED, mobile drawer open at 375px — every other control in the drawer is already
 * on 40px and only the 63 leaf links are not:
 *
 *   .sidebar-dashboard-link   min-height 40px, h 40      <- the value copied below
 *   .sidebar-group-trigger    min-height 40px, h 40      (13 of them)
 *   .sidebar-settings-link    min-height 40px, h 40
 *   a.sidebar-nav-link        min-height 36px, h 36      (63 of them)
 *
 * So 40px here is not a number I picked; it is the number every sibling already has.
 * No !important: @321041 lives in `@layer components` and an unlayered rule beats a
 * layered one outright.
 *
 * (2) THE HEADER BRAND LINK — 36px, on every route, with no rule behind it at all
 *
 * MEASURED: `.erp-shell > header a[href="/dashboard"]` is 145.3 x 36 with computed
 * min-height `auto`. Nothing in 1.05 MB of stylesheet sizes it — the 36px is just the
 * height of the logo and the wordmark stacked in a flex row. It is a real navigation
 * target (it goes to /dashboard) and it is the first thing a thumb reaches for.
 *
 * The selector was checked for collateral: on /settings/company it matches EXACTLY ONE
 * element, and NOT the settings header's own "Retour à l'activité" link — which also
 * points at /dashboard but lives inside `header.settings-center-header`, not inside
 * `.erp-shell > header`. Confirmed live on both /documents/new and /settings/company.
 *
 * (3) THE DIALOG CLOSE BUTTON — 38px, shrunk from the design's own 40px
 *
 * MEASURED 38 x 38 on /documents/new, and the history is right there in the sheet:
 *
 *   @231072  @layer components  .dialog-close-button{width:calc(var(--spacing) * 10);
 *                                 height:calc(var(--spacing) * 10); …}        <- 40px
 *   @475749  (unlayered, later)  .dialog-close-button{border-radius:9px;
 *                                 width:38px;height:38px}                     <- 38px
 *
 * The component's own size is 40px; an unconditional later block took 2px off it for
 * every pointer. This restores the component's own value below 767px only, so the
 * mouse-driven desktop keeps the 38px it was given. Neither rule carries !important, so
 * source order alone decides and this block is last.
 *
 * (4) .quick-party-add — 30px, while the SAME BUTTON is 40px 24 lines further down
 *
 * MEASURED on /documents/new, both instances at once:
 *
 *   "Nouveau client"     125.2 x 30   min-height 30px    <- @963444, 1.875rem
 *   "Nouvelle adresse"   137.7 x 40   min-height 40px    <- @987170, 2.5rem
 *
 * @987170 is `.eg-ship-pick .quick-party-add {height:2.5rem;min-height:2.5rem}` — the
 * app itself already decided this button should be 2.5rem when it sits in the shipping
 * picker. The value below is that one, verbatim; the only thing being fixed is that the
 * client picker never got it. No !important: same specificity as @963444, later.
 *
 * (5) .input-sm — a DaisyUI TOKEN, not a height, and it is set to 8 instead of 10
 *
 * The mechanism, quoted from the sheet:
 *
 *   @58108   .input   {--size:calc(var(--size-field,.25rem) * var(--in-size-mul,10))}
 *   @58542   .input   {height:var(--size); …}
 *   @140741  .input-sm{--in-size-mul:8;--font-size-min:.75rem;--spin-my:-2}
 *
 * `--size-field` is .25rem (declared exactly once in the sheet), so DaisyUI's own
 * default multiplier of **10** is 40px and `.input-sm`'s 8 is 32px. The fix is to give
 * the multiplier back its own default below 767px — one custom property, no height, no
 * !important (@140741 is in `@layer utilities`; unlayered wins).
 *
 * NOTE THE TOKEN NAME. An earlier note in this workspace had it as `--size`; the input
 * family's knob is `--in-size-mul`, and `.select-sm`/`.file-input-sm` use different ones
 * again (`--sl-size-mul`, and a direct `--size`). Writing `--size` here would have set
 * the height to 2.5px.
 *
 * MEASURED live, nine of them on /settings/backups (the SMTP form):
 *
 *   input.input.input-sm.w-full   183 x 38   --size calc(.25rem * 8)   --in-size-mul 8
 *
 * 38 rather than 32 because @720656 adds `min-height: 38px !important` in the settings
 * card — and that matters for the fix: min-height only ever RAISES a box, so pushing
 * `--size` to 40px lands on 40px there too. Checked rather than assumed.
 *
 * Two sibling classes were deliberately left alone because they are DEAD, and it is
 * worth recording how that was established rather than leaving them looking forgotten:
 *
 *   .select-sm      — its only compiled call site ("select select-sm w-full") is in
 *                     static/chunks/6853-…-egprod260810r2.js. The LIVE 6853 rotation
 *                     (…-egprod260813r3.js, 26 references) does not contain that string,
 *                     and `select-sm` appears nowhere in .next/server at all.
 *   .file-input-sm  — present only in dead layout rotations r13–r16 and one dead
 *                     stylesheet; absent from the live layout chunk
 *                     (layout-4dcf90205958eaab-egprod260814r16-eg0746_4.js, 95 refs).
 *
 * (6) .operations-select — 38px, and its own height rule is the only thing in the way
 *
 * MEASURED on /settings/backups (the daily-backup hour picker): 202.4 x 38, computed
 * height 38px, min-height 38px, font-size 13px. Two rules produce that:
 *
 *   @867579  .operations-select                    {height: 38px !important}      (0,1,0)
 *   @890060  .operations-settings-card select, …   {min-height: 38px !important}  (0,2,1)
 *
 * Only the first has to be beaten. `height` is what is being overridden, this block is
 * later at the same specificity, and min-height:38px cannot cap a 40px box — so a
 * single `height` declaration is enough and @890060 is left untouched. !important is
 * required because @867579 carries it.
 *
 * (7) .settings-center-header — the back link at 34px and the modal close at 34x34
 *
 * MEASURED on /settings/company and /settings/backups: `.settings-center-header` is a
 * 58px flex row (align-items:center), and its second child is
 *
 *   a  "Retour à l'activité"   110.4 x 34   height 34px   font-size 10.88px
 *
 * from @567466. Its sibling @567292 sizes `> button` at 34 x 34 — that button is the
 * MODAL variant of the same slot; the compiled markup in .next/server/chunks/6955.js is
 *
 *   h ? <button aria-label="Fermer les paramètres"><Icon size={19}/></button>
 *     : <Link href="/dashboard"><Icon size={17}/>Retour à l'activité</Link>
 *
 * so it is a live, icon-only control that this session could not open a route onto. It
 * is raised with the link because it is the same slot at the same 34px, and both fit a
 * 58px row with room to spare. Neither source rule carries !important, so no !important
 * here either. STATED PLAINLY: the link is measured, the button is not — its 34px comes
 * from @567292 and its element from the compiled bytes.
 *
 * (8) .h-9 / .min-h-9 ON BUTTONS — a Tailwind utility used as a tab-strip height
 *
 *   @373280  @layer utilities  .h-9    {height:calc(var(--spacing) * 9)}      36px
 *   @374379  @layer utilities  .min-h-9{min-height:calc(var(--spacing) * 9)}  36px
 *
 * MEASURED on /inventory — six `<button role="tab">` at 36px, the module tab strip that
 * decides which section of the page you see:
 *
 *   "État du stock" 130.3 x 36 · "Entrées" 96.9 x 36 · "Sorties" 92.7 x 36
 *   "Transferts" 112.2 x 36 · "Dépôts" 118.8 x 36 · "Alertes" 119 x 36
 *
 * That strip is a shared component (.next/server/chunks/2956.js) used by /inventory,
 * /inventory/movements, /fleet and /fleet/vehicles. A second `h-9` site is the project
 * space tab row in /projects, and `min-h-9` is the "Ouvrir" row button on /accounting
 * and /hr — both `<button type="button">` in the compiled bytes. STATED PLAINLY: the
 * /inventory strip is measured; the /projects, /accounting and /hr sites are gated on
 * data this install does not have today (0 journal entries, 0 employees), so for those
 * three the 36px is arithmetic from @373280/@374379 plus the compiled className, not a
 * live rect.
 *
 * WHY THE THREE :not() EXCLUSIONS — a regression caught before it was written.
 * The design's own touch floor is
 *
 *   @media (pointer:coarse){.danger-action,.primary-action,.secondary-action
 *                             {min-height:44px} …}
 *
 * at (0,1,0), and four compiled call sites combine those classes with h-9
 * ("danger-action h-9", "secondary-action h-9", "secondary-action h-9 px-2.5 text-xs",
 * "secondary-action h-9 px-3 text-xs"). A bare `button.h-9` is (0,1,1) — it would
 * OUT-SPECIFY the 44px floor and quietly LOWER those buttons from 44px to 40px. The
 * exclusions leave them at 44px and cost nothing anywhere else.
 *
 * `min-height` rather than `height`, so a button whose label wraps can still grow.
 *
 * ════════════════════════════════════════════════════════════════════════════════
 * (9) THE iOS ZOOM GUARD, GENERALISED — and why it needs eleven selectors
 *
 * Mobile Safari zooms the whole viewport whenever a focused field's font-size is under
 * 16px, which silently breaks every layout 0.7.52–0.7.56 just fixed. 0.7.53, 0.7.54 and
 * 0.7.55 each shipped this guard scoped to the fields they touched, and 0.7.55's header
 * said the general version belonged here. This is it.
 *
 * The idiom is DaisyUI's own, already in this sheet four times over — all four inside
 * `@layer utilities` -> `@layer daisyui.l1.l2.l3` -> `@media (pointer:coarse)`:
 *
 *   @61469  @supports (-webkit-touch-callout:none){.input:focus       {--font-size:1rem}}
 *   @61892                                        {.input:focus-within{--font-size:1rem}}
 *   @94038                                        {.textarea:focus       {--font-size:1rem}}
 *   @94491                                        {.textarea:focus-within{--font-size:1rem}}
 *
 * WebKit-only via @supports, and :focus-only because that is the only moment iOS zooms.
 * The `:focus-within` pair exists because `.input` is also used as a WRAPPER around a
 * bare <input>; this patch does not need that variant, because its general arm targets
 * the inner <input> itself — which is the element that actually has the small type (the
 * .document-number-field and .input-suffix wrappers in this app are exactly that shape:
 * a 40px bordered box around a 38.4px input).
 * Being WebKit-only it is correctly inert in Chromium and therefore CANNOT BE VERIFIED
 * IN THIS SESSION — it is included because it is the same guard, on the same reasoning,
 * as the three already shipped. The unconditional variant (no :focus) is more reliable
 * on iOS but would change type size at rest for every mobile Safari user, which is a
 * redesign I am not making silently.
 *
 * AND DAISYUI'S OWN GUARD IS ALREADY DEFEATED HERE. It writes `--font-size`, which only
 * works while `font-size` is left to DaisyUI's `max(var(--font-size,0rem),
 * var(--font-size-min,.875rem))`. Seven later blocks in this sheet set `font-size`
 * DIRECTLY, with !important, at sizes under 16px. A CSSOM sweep for `font-size` +
 * `!important` on field selectors returns exactly these, all live:
 *
 *   @653693   .global-search-input input                              15px
 *   @720656   .settings-center-body main form.card
 *               :is(input.input, select.select, textarea.textarea)    12px  (9 measured)
 *   @867576   .operations-select                                      13px  (1 measured)
 *   @893046   dialog.party-dialog form > div.grid
 *               > label:first-child .field-input, … input             15px
 *   @893595   dialog.party-dialog :is(input, select, textarea)         13.5px
 *   @901166   .route-stage footer > .max-w-5xl textarea               14px
 *   @971229   html body .floating-ai-input-row textarea               12.5px
 *
 * Among !important declarations, SPECIFICITY decides first, so a bare `input:focus`
 * (0,1,1) loses to `.settings-center-body main form.card :is(…)` at (0,3,3) and the
 * guard would do nothing exactly where the type is smallest. Rather than manufacture
 * weight with meaningless `:not()` chains, each competitor is RE-STATED with `:focus`
 * appended: same selector plus one pseudo-class is provably +1 class of specificity than
 * its own source, and later in the sheet. That is the same "copy the app's own selector
 * and give it the weight to survive" move 0.7.55 used for the /planning reveal.
 *
 * Every class in those seven selectors was checked against the compiled output before
 * being mirrored: `global-search-input` is client-only (37 browser chunks incl. the live
 * layout, 0 in .next/server — so there is no SSR HTML for it and no first-paint flash),
 * and `operations-select`, `party-dialog`, `route-stage`, `floating-ai-input-row` and
 * `settings-center-body` each have a live call site in .next/server.
 *
 * The general arm excludes the input types iOS never zooms for — checkbox, radio, range,
 * color, file, submit, button, reset, image — because on those `font-size` is either
 * inert (a 16px checkbox with fixed width/height) or actively wrong (a focused submit
 * button whose label would jump). The exclusions are there for that reason, not for
 * weight; the mirrored arms carry the weight.
 *
 * 16px rather than 1rem: `1rem` follows the root font-size, and if a future patch ever
 * shrinks `html { font-size }` the guard would silently stop clearing iOS's threshold,
 * which is an absolute 16 CSS px.
 *
 * ════════════════════════════════════════════════════════════════════════════════
 * NOT DEFECTS — five things on the inherited list that measurement cleared
 *
 * Each of these was on my own to-fix list and each would have shipped a wrong or
 * unnecessary rule. Recording them so they are not "found" again:
 *
 *   .floating-ai-trigger "label clipped"   scrollWidth 185 vs clientWidth 144 looked
 *     like a clip. It is not. The span's own text is 67.59px wide, its box is 67.59px
 *     (so no truncation), and its right edge is at 121.79px inside a content box that
 *     ends at 125.2px. The overflow is the block's OWN decorative pseudo-element —
 *     `::after {width:160px; position:absolute; inset-inline-start:72.2px}` — which
 *     inflates scrollWidth without clipping anything. scrollWidth > clientWidth is not
 *     evidence of clipped content when an absolutely-positioned ::after is in the box.
 *     (That block also is NOT mine: `grep -rln "min-width: 146px" scripts/ui/` names
 *     scripts/ui/dashboard-command-center-0.7.2.css.)
 *
 *   label.sidebar-search "input is 21px"   The input is 21px, but the TAP TARGET is the
 *     wrapping <label>, measured 259 x 40, and clicking the label moves focus to the
 *     input (verified). Already on 40px; nothing to fix.
 *
 *   .document-number-field / .input-suffix "inputs at 38.4px"   Both WRAPPERS measure
 *     exactly 40px; `border-width: .8px` leaves the inner input 38.4px. The tap target
 *     is the 40px control. Measure the control, not its inner input.
 *
 *   .settings-logout "label clipped by 8px"   Measured w 85, right 101, nav right 101,
 *     overflow 0. 0.7.54 already fixed it.
 *
 *   input.size-4 checkboxes "16px"   Each sits inside `label.flex.min-h-11` measured
 *     177 x 44 — the label is the target and it is already on the 44px row floor.
 *
 * DEFERRED, with the reason: `.apexcharts-legend-series` on /reports/sales is 57.1 x 14
 * and is a real toggle, but ApexCharts computes legend geometry and writes inline styles
 * at runtime, so a stylesheet rule is the wrong instrument. It needs its own patch.
 */

@media (max-width: 767px) {
  /* (2) the header brand — the only nav target in the app with no size rule at all */
  .erp-shell > header a[href="/dashboard"] {
    min-height: calc(var(--spacing) * 10);
  }

  /* (1) leaf nav links, to the height its three sibling controls already have (@319750) */
  .sidebar-nav-link {
    min-height: calc(var(--spacing) * 10);
  }

  /* (3) the dialog close button, back to the component's own size (@231072) */
  .dialog-close-button {
    width: calc(var(--spacing) * 10);
    height: calc(var(--spacing) * 10);
  }

  /* (4) the same button the app already sizes at 2.5rem in the shipping picker (@987170) */
  .quick-party-add {
    min-height: 2.5rem;
  }

  /* (5) DaisyUI's own default multiplier, given back to the small input */
  .input-sm {
    --in-size-mul: 10;
  }

  /* (6) only `height` needs beating — min-height:38px cannot cap a 40px box */
  .operations-select {
    height: calc(var(--spacing) * 10) !important;
  }

  /* (7) the settings header's two variants of one slot, in a 58px row */
  .settings-center-header > a {
    height: calc(var(--spacing) * 10);
  }

  .settings-center-header > button {
    width: calc(var(--spacing) * 10);
    height: calc(var(--spacing) * 10);
  }

  /* (8) the module tab strips — :not() keeps the action classes on their own 44px floor */
  button.h-9:not(.danger-action):not(.primary-action):not(.secondary-action) {
    min-height: calc(var(--spacing) * 10);
  }

  button.min-h-9:not(.danger-action):not(.primary-action):not(.secondary-action) {
    min-height: calc(var(--spacing) * 10);
  }
}

/* (9) iOS Safari zooms the viewport for any focused field under 16px. WebKit-only via
 * @supports, so this is correctly inert in Chromium and unverifiable from here. The
 * first arm is the general case; the seven that follow re-state, with :focus appended,
 * every selector in this sheet that pins a sub-16px font-size with !important. */
@media (pointer: coarse) {
  @supports (-webkit-touch-callout: none) {
    input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=submit]):not([type=button]):not([type=reset]):not([type=image]):focus,
    select:focus,
    textarea:focus,
    .global-search-input input:focus,
    .settings-center-body main form.card :is(input.input, select.select, textarea.textarea):focus,
    .operations-select:focus,
    dialog.party-dialog form > div.grid > label:first-child .field-input:focus,
    dialog.party-dialog form > div.grid > label:first-child input:focus,
    dialog.party-dialog :is(input, select, textarea):focus,
    .route-stage footer > .max-w-5xl textarea:focus,
    html body .floating-ai-input-row textarea:focus {
      font-size: 16px !important;
    }
  }
}
/* <<< mobile-chrome-0.7.56.css */


/* >>> shipping-address-card-0.7.57.css */
/* eGestion 0.7.57 — the delivery address gets its own card on the printed sheet.
 *
 * WHAT WAS WRONG
 *
 * 0.7.42 gave the document editor a shipping-address picker and stored the choice
 * in the first line of the document's `notes`, tagged `Adresse de livraison : `.
 * That is a good single source of truth — one column, no schema change — but no
 * renderer ever knew about the tag, so on the output the delivery address was
 * simply the first line of the notes paragraph at the very bottom of the page,
 * under the small-print rule, in 7.5pt (PDF) / 10px (sheet), between the amount
 * in words and the legal footer. Measured live on DE2600002, whose notes contain
 * nothing else, the sheet printed:
 *
 *     NOTES
 *     Adresse de livraison : 12 le vallon kenitra, 14000 kenitra
 *
 * — the delivery address of the document filed as a remark about it. A driver
 * reads the address; it belongs with the document's identity, not with its
 * conditions.
 *
 * WHAT SHIPS
 *
 * Both renderers now extract that first line and print it as its own bordered
 * card directly under the N° / Date band, above the line table, and drop it from
 * the notes block — so a document whose notes hold only the address prints the
 * card and no notes box at all. The card appears only when the tag is present:
 * every document without a delivery address renders byte-identically to 0.7.56.
 *
 * The markup edits are in scripts/fix-shipping-address-card-0.7.57.mjs (the PDF
 * renderer and the HTML sheet are separate compiled files); this asset carries
 * the sheet's geometry, because the sheet is positioned, not flowed.
 *
 * WHY UNDER THE NUMBER BAND, AND NOWHERE ELSE
 *
 * The header of both renderers is a pinned reproduction of the office A4
 * template, and it is full. In sheet millimetres:
 *
 *     brand          top  10      left  10      width  92
 *     party boxes    top  45.13   h  28.22   -> bottom  73.35
 *     title          top  77.86
 *     objet          top  79.2    right 10   (0.7.12)
 *     number band    top  84.35   h  15.77   -> bottom 100.12
 *     line table     top 102.97
 *     amount         top 198.3
 *     notes          top 207
 *     footer         bottom 8
 *
 * The two gaps in the header are 4.51mm (parties -> title) and 2.85mm (band ->
 * table). Neither holds a card, and nothing above the band can move without
 * breaking the alignment against the letterhead image. The one place a card fits
 * is where the table begins — so the card takes 102.97mm and the table, the
 * amount and the notes each shift down by the card's own height plus the
 * template's own 2.82mm gap:
 *
 *     card height     .52 (borders) + 7.34 (label row) + 8.16 (value row) = 16.02mm
 *     shift           16.02 + 2.82                                        = 18.84mm
 *     table          102.97 -> 121.81      amount  198.3 -> 217.14
 *     notes          207    -> 225.84      footer  unchanged (bottom-anchored)
 *
 * The shift is what `.has-shipping` on the sheet root buys: three overrides that
 * exist only for documents that carry an address. Measured on DE2600002, the
 * eight-row table is 90.03mm tall and ends at 193.00mm, 5.30mm clear of the
 * amount; shifted it ends at 211.84mm, 5.30mm clear of the shifted amount at
 * 217.14mm. The clearance is identical, so this patch does not reduce the number
 * of lines that fit on the page.
 *
 * PARITY WITH THE PDF
 *
 * The two renderers are the same document and are held to the same geometry.
 * A4 is 841.89pt = 297mm, so 1mm = 2.83465pt, and every number here has a twin
 * in the .mjs:
 *
 *     card top       102.97mm  =  291.87pt   (exactly where the PDF's table began)
 *     label row        7.34mm  =   20.8pt    (m.numberLabel's height, unchanged)
 *     value row        8.16mm  =   23.1pt    (m.numberValue's height, unchanged)
 *     gap below        2.82mm  =    8pt      (the template's own band->table gap)
 *
 * The card is therefore a second number band: same 189.72mm width, same .26mm
 * #999 border, same 2.8mm radius, same #eceeef label strip with its .26mm #ddd
 * rule, same 11px label / 12px value. It is not a new visual idea, it is the
 * band's sibling — which is the point. Nothing else on either renderer changes.
 *
 * KNOWN LIMIT
 *
 * The value row holds two lines (12px x 1.15 = 13.8px = 3.65mm each, in 8.16mm).
 * A third would be clipped, so it is clamped with an ellipsis instead — the
 * silent truncation 0.7.49 found in the Qté cell is not repeated here. An address
 * that long has line1 + line2 + city + postal code all near their column limits;
 * the fix if it ever appears is a taller card and a larger shift, not a smaller
 * font, because the whole point of the card is to be readable across a warehouse.
 */

/* -------------------------------------------------------------------------- */
/* 1. THE CARD                                                                */
/* -------------------------------------------------------------------------- */

.eg-sheet-shipping {
  position: absolute;
  z-index: 2;
  top: 102.97mm;
  left: 10.13mm;
  width: 189.72mm;
  height: 16.02mm;
  overflow: hidden;
  border: .26mm solid #999;
  border-radius: 2.8mm;
  display: grid;
  grid-template-rows: 7.34mm 1fr;
  text-align: center;
}

.eg-sheet-shipping > b {
  display: grid;
  place-items: center;
  border-bottom: .26mm solid #ddd;
  background: #eceeef;
  color: #30383c;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .04em;
}

/* -webkit-line-clamp needs the box display, so the vertical centring the band's
   `strong` gets from place-items has to come from align-self here. */
.eg-sheet-shipping > strong {
  align-self: center;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  padding: 0 3mm;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.15;
}

/* -------------------------------------------------------------------------- */
/* 2. THE SHIFT, ONLY WHEN THERE IS AN ADDRESS                                */
/* -------------------------------------------------------------------------- */

/* One number, three uses: the card's height plus the template's band->table gap.
   Written as calc() against each element's own pinned top so the original
   coordinate stays legible next to the new one. */
.eg-moroccan-sheet.has-shipping {
  --eg-ship-shift: 18.84mm;
}

.eg-moroccan-sheet.has-shipping .eg-sheet-table {
  top: calc(102.97mm + var(--eg-ship-shift));
}

.eg-moroccan-sheet.has-shipping .eg-sheet-amount {
  top: calc(198.3mm + var(--eg-ship-shift));
}

.eg-moroccan-sheet.has-shipping .eg-sheet-notes {
  top: calc(207mm + var(--eg-ship-shift));
}
/* <<< shipping-address-card-0.7.57.css */


/* >>> print-sheet-pagination-0.7.58.css */
/* eGestion 0.7.58 — the print sheet stops throwing lines away.
 *
 * THE TWO DEFECTS, MEASURED ON DE2600004 (27 lines) BEFORE THIS PATCH
 *
 *   .eg-sheet-table   spans 103mm -> 339mm
 *   .eg-sheet-amount  is pinned at 198.3mm
 *   the page          is 297mm, and .eg-moroccan-sheet is overflow:hidden
 *
 *   1. The table ran 68mm past the letterhead's footer rule and 42mm past the
 *      page, and everything past the page edge was silently discarded — 9 of 27
 *      rows at the old column widths, 2 of 27 once 0.7.58 widened Désignation.
 *      No scrollbar, no ellipsis, no warning: the lines simply were not there.
 *   2. Because the totals block is pinned at a fixed 198.3mm, any table taller
 *      than ~95mm grows straight underneath it and the totals print on top of
 *      the rows.
 *
 * THE FIX
 *
 * The blocks above the table (brand, party, title, number band) live in the
 * artwork's header band and can never overflow, so they stay pinned exactly
 * where they are. Only the four blocks that grow are unpinned: the shipping
 * card, the table, the amount line and the notes now flow in document order,
 * which is already their DOM order. The first of them carries the 102.97mm top
 * margin that reproduces the old pinned position to the hundredth, so a
 * one-page document is byte-for-byte where it was before.
 *
 * Flowing is what makes the totals correct: they come after the table because
 * they follow it in the document, not because a coordinate says so, so they
 * cannot land on top of it however many rows there are.
 *
 * The sheet is then allowed to grow (height:auto, overflow:visible) and the
 * browser paginates it. The letterhead artwork is fixed so it repeats on every
 * sheet of paper, and @page reserves the two bands measured out of the artwork
 * itself — header ends 22.4mm, footer rule starts 270.9mm, both read off the
 * 1241x1754 PNG's own pixels rather than guessed.
 *
 * WHAT IS DELIBERATELY NOT HERE: no rules or borders between the table, the
 * totals and the notes — they read as one block, which is what was asked for.
 */

/* ---- 1. the sheet may grow; nothing is discarded ------------------------- */

.eg-moroccan-sheet {
  height: auto !important;
  min-height: 297mm;
  overflow: visible !important;
}

/* ---- 2. the growing blocks flow instead of being pinned ------------------ */

.eg-moroccan-sheet .eg-sheet-shipping,
.eg-moroccan-sheet .eg-sheet-table,
.eg-moroccan-sheet .eg-sheet-amount,
.eg-moroccan-sheet .eg-sheet-notes {
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
}

/* The stack starts exactly where .eg-sheet-table used to be pinned — as the
   sheet padding, NOT as a margin on the table. The table is the first in-flow
   child (every block above it is absolutely positioned), so a top margin would
   collapse through the sheet and move the sheet instead of the table: measured,
   it put the table at 0mm. Padding cannot collapse, and it does not disturb the
   pinned blocks either, because an absolutely positioned child is laid out from
   its containing block's PADDING BOX — whose top edge is inside the border and
   before the padding. So brand/party/title/number stay exactly where they are. */
.eg-moroccan-sheet { padding-top: 102.97mm; }
.eg-moroccan-sheet .eg-sheet-table { margin: 0 auto; }
.eg-moroccan-sheet .eg-sheet-shipping { margin: 0 auto 3.2mm auto; }

/* No rule between the table and what follows it: one block, not three. */
.eg-moroccan-sheet .eg-sheet-amount {
  margin: 5.6mm 10.13mm 0 10.13mm;
  border-top: 0 !important;
}
.eg-moroccan-sheet .eg-sheet-notes {
  margin: 3.4mm 10.13mm 0 10.13mm;
  border-top: 0 !important;
}

/* The last flowing block keeps clear of the artwork's footer rule (270.9mm). */
.eg-moroccan-sheet { padding-bottom: 26.1mm; }

/* ---- 3. printing ---------------------------------------------------------- */

@media print {
  /* Reserve the artwork's own bands on EVERY sheet of paper, not just page 1. */
  @page { size: A4; margin: 22.4mm 0 26.1mm 0; }

  /* @page reserves 22.4mm at the TOP of every sheet, so the page box begins
     22.4mm down and every coordinate measured from .eg-moroccan-sheet would
     print 22.4mm lower than it sits on screen — which on pre-printed letterhead
     paper misaligns page 1 against the artwork it was measured against. The
     pinned blocks and the flowing stack are pulled back by exactly that much,
     so page 1 lands on paper where the screen says it should:

       party  45.13 - 22.4 = 22.73mm
       title  77.86 - 22.4 = 55.46mm
       number 84.35 - 22.4 = 61.95mm
       stack 102.97 - 22.4 = 80.57mm

     In LETTERHEAD mode .eg-sheet-brand, -objet and -footer are not in the DOM
     at all (verified on a live render), so those three are the whole set. The
     compensation is scoped to .is-letterhead for that reason: a NORMAL-mode
     sheet draws its own header and footer, and simply prints 22.4mm lower with
     nothing clipped, which is the safe way for the fallback to be wrong. */
  .eg-moroccan-sheet { padding-bottom: 0; min-height: 0; }
  .eg-moroccan-sheet.is-letterhead { padding-top: 80.57mm; }
  .eg-moroccan-sheet.is-letterhead .eg-sheet-party { top: 22.73mm; }
  .eg-moroccan-sheet.is-letterhead .eg-sheet-title { top: 55.46mm; }
  .eg-moroccan-sheet.is-letterhead .eg-sheet-number { top: 61.95mm; }

  /* Fixed, so the letterhead repeats behind every page. The negative top pulls
     it back out over the reserved header band so it still bleeds full-page. */
  .letterhead-a4-background {
    position: fixed !important;
    top: -22.4mm;
    left: 0;
    width: 210mm !important;
    height: 297mm !important;
    z-index: 0;
  }

  /* Column headings repeat at the top of the table on every page. */
  .eg-sheet-table thead { display: table-header-group; }

  /* Never split a line, a total or the notes across two pages. */
  .eg-sheet-table tbody tr,
  .eg-sheet-table tfoot tr,
  .eg-sheet-amount,
  .eg-sheet-notes { break-inside: avoid; page-break-inside: avoid; }
}
/* <<< print-sheet-pagination-0.7.58.css */


/* >>> popup-chrome-0.7.63.css */
/* eGestion 0.7.63 — the white stroke around every popup, and a deeper header.
 *
 * THE STROKE
 *
 * .document-modal and .dialog-panel are declared with `border-width:1px` and a
 * border colour that ends up transparent (0.7.x set `border-color:transparent
 * !important`). A transparent border does NOT disappear — the element's own
 * background is painted under it, and these panels are white. So every popup
 * carried a 1px white ring, which is invisible against the white body and
 * perfectly visible where it runs along the top edge above the dark navy header
 * and around the rounded corners. Measured on the live modal:
 * `border: 0.8px solid rgba(0, 0, 0, 0)` over `background-color: rgb(255,255,255)`.
 *
 * The fix is to stop drawing the border at all rather than recolour it. The
 * elevation already comes from the shadow, so nothing is lost.
 *
 * THE HEADER
 *
 * .document-dialog-header was #172d4b. Deepened to #0f2138 — same hue, clearly
 * darker, and white text on it keeps a very high contrast ratio.
 */

/* ---- 1. no more white ring on any popup ---------------------------------- */

.document-modal,
.dialog-panel,
.party-dialog,
.document-viewer-dialog {
  border-width: 0 !important;
  border-style: none !important;
}

/* The viewer dialog draws a real, visible border on purpose — keep its colour,
   just stop it reading as a white hairline against the dark chrome. */
.document-viewer-dialog {
  box-shadow: 0 30px 100px rgba(3, 20, 31, .34) !important;
}

/* ---- 2. a deeper blue on the popup header -------------------------------- */

.document-dialog-header {
  background-color: #0f2138 !important;
}

/* The close control sits on that header; keep it legible on the darker ground. */
.document-dialog-header .dialog-close-button,
.document-dialog-header button {
  color: #eaf1f7;
}

/* ---- 3. the floating assistant steps aside on the assistant page ---------- */

/* On /ai the full console is already on screen, so the floating trigger (and its
   panel, if it was left open) is a second copy of the same thing sitting on top
   of the first. There is no route attribute anywhere in the DOM to match on —
   checked html, body, main and .route-stage — so this keys off the console's own
   root class, .eg-aui, which only that page renders. */
.erp-shell:has(.eg-aui) .floating-ai-trigger,.erp-shell:has(.eg-aui) .floating-ai-panel {
  display: none !important;
}

/* ---- 4. the delivery-address tile on a party's own page ------------------- */

/* One more tile in the .account-identity grid (0.7.68). It can hold several
   lines where the others hold one value, so the value stacks instead of sitting
   on a single baseline. */
.account-identity .eg-party-addresses strong {
  display: flex;
  flex-direction: column;
  gap: 2px;
  align-items: flex-start;
  line-height: 1.35;
}
.account-identity .eg-party-addresses .eg-party-address-line {
  font-weight: 500;
  font-size: .92em;
}
.account-identity .eg-party-addresses .eg-party-address-line.is-more {
  opacity: .65;
  font-weight: 400;
}
/* <<< popup-chrome-0.7.63.css */


/* >>> field-focus-0.7.65.css */
/* eGestion 0.7.65 — one focus treatment for every field in the app.
 *
 * The ask was Wise's login-form focus, in a darker orange. Wise does two things
 * at once: the field's own border takes the accent colour, and a soft low-alpha
 * halo is laid outside it. That reads as "this field is live" without the hard
 * 2px browser ring, and it survives on both light panels and the dark modal
 * header.
 *
 * The app's brand is oklch(69% .18 54). The ring is deliberately DARKER than the
 * brand — oklch(56% .16 52) — because the brand orange is the colour of the
 * primary action button, and a focus ring that matches it competes with the
 * button for attention. Darker reads as "focused" rather than "clickable".
 *
 * The halo is painted with box-shadow rather than outline so it follows
 * border-radius on every control, including the selects and the search fields
 * that have their own rounding.
 *
 * Tailwind's own :focus rule on .field-input sets --tw-ring-shadow, and its
 * box-shadow composite would otherwise overwrite this one, so the shadow is
 * declared !important and the ring variable is neutralised alongside it.
 */

:root {
  --eg-focus: oklch(56% .16 52);
  --eg-focus-halo: oklch(56% .16 52 / .20);
}

.field-input:focus,
.field-select:focus,
.field-textarea:focus,
.field-input:focus-visible,
.field-select:focus-visible,
.field-textarea:focus-visible,
.document-modal input:focus,
.document-modal select:focus,
.document-modal textarea:focus,
.dialog-panel input:focus,
.dialog-panel select:focus,
.dialog-panel textarea:focus,
.floating-ai-composer textarea:focus,
input[type="text"]:focus,
input[type="search"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
input[type="password"]:focus,
select:focus,
textarea:focus {
  outline: none !important;
  border-color: var(--eg-focus) !important;
  --tw-ring-shadow: 0 0 #0000 !important;
  /* INSET, not an outer halo: the ring is drawn inside the control's own box,
     the way Wise does it, so it reads as the field lighting up rather than a
     glow bolted onto the outside. 2px inset over the accent border gives a
     smooth, contained edge that never overlaps a neighbouring control. */
  box-shadow: inset 0 0 0 2px var(--eg-focus) !important;
  transition: box-shadow .14s ease, border-color .14s ease;
}

/* Keyboard focus on buttons and links gets the same language, one step tighter
   so it does not read as an input. */
button:focus-visible,
a:focus-visible,
[role="button"]:focus-visible,
summary:focus-visible {
  outline: 2px solid var(--eg-focus) !important;
  outline-offset: 2px !important;
  box-shadow: none !important;
  border-radius: inherit;
}

/* The dark modal header sits on #0f2138; the halo needs a touch more presence
   there or it disappears into the navy. */
.document-dialog-header button:focus-visible {
  outline-color: oklch(72% .17 55) !important;
  box-shadow: none !important;
}
/* <<< field-focus-0.7.65.css */


/* >>> mobile-press-feedback-0.7.69.css */
/* eGestion 0.7.69 — a phone gets an answer when it is touched.
 *
 * "make it good for mobile modern mobile i want it like a good modern mobile like
 *  great mobile apps".
 *
 * Stylesheet only. No markup changes, so there is no SSR twin to keep in step
 * (CLAUDE.md rule 6 does not apply) and no hydration exposure. The sheet still
 * rotates — /_next/static is served immutable for a year.
 *
 * ════════════════════════════════════════════════════════════════════════════════
 * WHAT IS ACTUALLY MISSING — AND IT IS NOT LAYOUT
 *
 * 0.7.52 → 0.7.56 already fixed the phone's geometry: the split action row, the
 * readable type, nine individual touch targets, the shell chrome and the control
 * families, the planning board. Measured again at 375x812 with a real coarse
 * pointer against the running 0.7.68 install, the layout holds up. What does not
 * is the RESPONSE. MEASURED on /documents/quotes, of the 103 interactive elements
 * visible on that one route:
 *
 *   interactive elements                                       103
 *   covered by any rule containing :active                       2   <- DaisyUI .btn
 *   with no press feedback whatsoever                          101
 *
 * and on <body>:
 *
 *   -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
 *
 * So the browser's own fallback flash is switched off too. Every tap in this app
 * — a nav link, a header icon, the button that opens a document — is visually
 * dead until the next paint arrives. That is the single loudest difference
 * between this and an app that feels native, and it is not a matter of taste:
 * a touch UI has no cursor and no hover, so the press state is the ONLY channel
 * that can confirm the finger landed on the thing it aimed at.
 *
 * ════════════════════════════════════════════════════════════════════════════════
 * HALF OF THIS WAS ALREADY WRITTEN, AND IS BEING SUPPRESSED
 *
 * The first draft of this patch assumed the press states had simply never been
 * authored. That was wrong, and `artifacts/dev/css-context.mjs` — which resolves
 * the real at-rule chain by brace depth instead of by the nearest preceding
 * `@media`, exactly as CLAUDE.md warns — says so. At @829617, UNCONDITIONAL:
 *
 *   .primary-action:not(:disabled):active, .secondary-action:not(:disabled):active,
 *   .document-create-action:not(:disabled):active, .document-scan-action:not(:disabled):active,
 *   .document-viewer-actions button:not(:disabled):active,
 *   .document-viewer-summary-actions button:not(:disabled):active,
 *   .dialog-close-button:not(:disabled):active   { transform: scale(.975) }
 *
 * and at @457414 a second one for the same two list actions:
 *
 *   .document-create-action:active,.document-scan-action:active { transform:translateY(0)scale(.98) }
 *
 * The design's press layer exists. It is dead because three later blanket rules
 * turn every transform on those families off outright — all three UNCONDITIONAL,
 * none of them inside a reduced-motion block:
 *
 *   @552082 (0,1,0)!  .danger-action,.icon-button,.primary-action,.secondary-action
 *                       transform:none!important
 *   @554039 (0,1,0)!  .document-create-action,.document-new-action,.document-scan-action
 *                       transform:none!important
 *   @555434 (0,1,0)!  .document-expand-button          transform:none!important
 *   @467859 (0,1,0)!  .dialog-close-button,…           transform:translate(0)rotate(0)!important
 *
 * plus (0,4,0)! `:hover:not(:disabled)` variants of the first two. Those rules were
 * written to kill a hover LIFT on the desktop, and they took the touch PRESS with
 * them, because `transform` is one property and both effects were spelled with it.
 *
 * Consequence for this patch: on those families the fix is not to invent a press
 * state but to REINSTATE the one the design already specifies, and `!important` is
 * forced — a non-important declaration at any specificity loses to an unconditional
 * `!important` one. Same situation, and the same remedy, as 0.7.52.
 *
 * THE SCALE IS THE DESIGN'S OWN NUMBER. `.975` and the `:not(:disabled):active`
 * selector shape below are copied verbatim from @829617, not chosen. Matching that
 * shape also lands this block at (0,4,0), which ties the strongest competing
 * `!important` rule and wins on order because the patch appends last.
 *
 * ════════════════════════════════════════════════════════════════════════════════
 * THE FAMILIES THAT ARE MERELY EMPTY, NOT SUPPRESSED
 *
 * MEASURED computed `transition-property` on the drawer and the row controls, none
 * of which has any `:active` rule and none of which is under a blanket override:
 *
 *   .sidebar-nav-link        color, background-color, border-color, box-shadow, transform .16s
 *   .sidebar-group-trigger   …same…
 *   .sidebar-dashboard-link  …same…
 *
 * They already animate `transform` at .16s on the house curve
 * `cubic-bezier(.22, 1, .36, 1)` and nothing ever sets one. For these the whole
 * fix is one plain declaration each, with no `!important` needed — the duration
 * and the easing are the numbers already sitting on the element.
 *
 * ════════════════════════════════════════════════════════════════════════════════
 * WHY `(hover: none) and (pointer: coarse)` AND NOT A WIDTH
 *
 * The defect is "this device cannot hover, so the hover feedback is dead", which
 * is precisely what `hover: none` tests. A width query would catch a narrow
 * desktop window that hovers perfectly well, and would miss a tablet. A touchscreen
 * laptop matches `pointer: coarse` but NOT `hover: none`: it keeps its hover states
 * and needs no substitute, so it is correctly excluded.
 *
 * Consequence that matters: the desktop cannot regress. Every press rule here is
 * unreachable with a mouse attached, so reinstating a transform on `.icon-button`
 * cannot bring back the hover lift those blanket rules were written to remove —
 * the blanket rules keep winning everywhere a pointer can hover.
 *
 * Sections (4) and (5) are phone LAYOUT, not phone INPUT, so they use the house
 * `max-width: 767px` that 0.7.52/0.7.53/0.7.54 established.
 *
 * ════════════════════════════════════════════════════════════════════════════════
 * WHAT DELIBERATELY DOES *NOT* GET A PRESS STATE
 *
 *   .document-record / .document-grid-row  MEASURED cursor:auto, no role=button,
 *     no tabindex, no handler — the CARD is not tappable, only the reference
 *     button and the chevron inside it are. Giving the card a press state would
 *     advertise a tap target that does not exist. It gets elevation in (4)
 *     instead, which is a statement about depth, not about touch.
 *   .document-payment-summary article      same: MEASURED cursor:auto, no button
 *     inside (DIV, SPAN, STRONG, SMALL, svg) — a KPI tile is a readout.
 *   .floating-ai-trigger                   position:fixed and DRAGGABLE, and it
 *     drives its own `--eg-assistant-offset` custom properties. A drag begins with
 *     :active held down for its whole duration; scaling the puck while it is being
 *     dragged would fight the gesture. Excluded on purpose.
 *   .profile-trigger                       gets the dim but NOT the scale: a
 *     transform makes the element a containing block for fixed descendants, and
 *     this one opens a menu while the finger is still down.
 *   the drawer's "Fermer le menu"          it reads like a button in the
 *     accessibility tree and was the last thing left uncovered, but MEASURED it is
 *     `fixed inset-0 top-[72px] bg-slate-950/50 backdrop-blur-[1px]` — the
 *     full-screen SCRIM behind the drawer, not a control. Scaling or dimming the
 *     whole dimmer on touch would be a bug, so it stays as it is.
 *
 * ════════════════════════════════════════════════════════════════════════════════
 * THE TWO PRESS VALUES
 *
 *   labelled buttons and rows    scale(.975)   the design's own value, @829617
 *   icon-sized controls (40px)   scale(.94)    ~2.4px of travel
 *
 * The second is the one number here that is not already in the sheet, and it is a
 * deliberate extension: `.975` on a 40px icon is 1px of travel, which is not
 * visible on a phone held at arm's length. The design only ever authored a press
 * scale for labelled buttons, so there was no icon value to copy.
 *
 * Every pressed control also dims. The dim is what carries the feedback on a
 * full-width drawer row, where a scale is nearly invisible, and it is
 * colour-agnostic — it reads correctly on the light shell and on the dark drawer
 * alike, which no single background colour would.
 *
 * ════════════════════════════════════════════════════════════════════════════════
 * (4) LIST CARDS GET THE DEPTH THE CONTAINER ABOVE THEM ALREADY HAS
 *
 * MEASURED on /documents/quotes at 375px:
 *
 *   .document-list-commandbar   --tw-shadow: 0 4px 18px var(--tw-shadow-color,#0f172a0a)
 *   article.document-record     box-shadow: none          <- 0.8px hairline only
 *
 * The command bar directly above the list already carries the design's own card
 * elevation (#0f172a0a is rgb(15,23,42) at ~.04). The records below it are the
 * same kind of object — a white surface on the `--canvas` — and read as ruled
 * lines instead of cards. The shadow below is that same ink at the same 4px
 * offset, split into a contact layer and a spread layer because there are many
 * cards stacked close together and one 18px blur per card at 10px spacing would
 * pool into a grey wash.
 *
 * NOT SHIPPED: THE HEADER LIFT ON SCROLL
 *
 * `.erp-shell > header` is MEASURED position:fixed, 72px, box-shadow:none, with
 * content scrolling underneath it against a 0.8px hairline. Every native app lifts
 * its top bar once content passes under it, and a scroll-driven animation
 * (`animation-timeline: scroll()`, no JS and no listener) is the obvious way to do
 * it. It was written, shipped into r90, and then TAKEN BACK OUT, because it could
 * not be verified:
 *
 *   animation-timeline: scroll()            timeline.currentTime === null  (inactive)
 *   animation-timeline: scroll(root block)  timeline.currentTime === null  (inactive)
 *
 * on a fresh load at every scroll offset from 0 to 300px. A scroll timeline only
 * advances while frames are being produced, and the verification browser here
 * renders no frames, so "inactive" cannot be told apart from "wrong". An earlier
 * reading of the same rule reported the shadow stuck at FULL strength at scroll 0
 * — which would be a visible regression on all 93 routes — and that reading turned
 * out to be an artifact of restarting the animation from inline style.
 *
 * Two unfalsifiable measurements and one false alarm is not a basis for shipping a
 * decoration onto every route, so the block is gone rather than left in as a
 * hopeful no-op. It is worth retrying in a browser that paints; nothing else in
 * this patch depends on it.
 *
 * ════════════════════════════════════════════════════════════════════════════════
 * (5) A LONG PRESS ON A CONTROL SHOULD NOT SELECT ITS LABEL
 *
 * MEASURED: all 101 tappables compute `user-select: auto`. Holding a button on a
 * phone therefore starts a text selection and raises the selection handles and the
 * callout bar over the UI. Nothing native does that. Applied to the control
 * families only — never to inputs, never to the amounts or any page copy, all of
 * which stay selectable and copyable.
 */

@media (hover: none) and (pointer: coarse) {

  /* ── (1) reinstate the design's own press layer where a blanket
     `transform:none!important` is suppressing it. Selector shape and scale value
     are copied from @829617; the `!important` is forced by the cascade. ───────── */
  .primary-action:not(:disabled):active,
  .secondary-action:not(:disabled):active,
  .danger-action:not(:disabled):active,
  .document-create-action:not(:disabled):active,
  .document-new-action:not(:disabled):active,
  .document-scan-action:not(:disabled):active,
  .dialog-close-button:not(:disabled):active {
    transform: scale(.975) !important;
    opacity: .72;
  }

  /* icon-sized, and also suppressed — same forcing, larger travel */
  .icon-button:not(:disabled):active,
  .document-expand-button:not(:disabled):active {
    transform: scale(.94) !important;
    opacity: .7;
  }

  /* ── (2) families with no suppressor: plain declarations win on their own ──── */

  /* full-width drawer rows: the scale is nearly invisible at this width, so the
     dim does the work. */
  .sidebar-nav-link:active,
  .sidebar-group-trigger:active,
  .sidebar-dashboard-link:active {
    transform: scale(.985);
    opacity: .78;
  }

  .document-scan-source:active,
  .document-reference:active,
  .sidebar-settings-link:active,
  .settings-logout:active,
  .common-filter-toggle:active {
    transform: scale(.975);
    opacity: .72;
  }

  /* The row kebab and the header wordmark. Both were found only by measuring the
     LIVE page — neither appears in the server-rendered HTML the family sweep was
     built from, and the wordmark has no class of its own at all.

     `.document-menu-button` is MEASURED 40x40 with no transform rule anywhere in
     the sheet, and already carries Tailwind's default transition, whose property
     list includes transform and opacity at .15s.

     The wordmark is addressed by the selector 0.7.56 established and verified for
     it; MEASURED again here, it still matches EXACTLY ONE element per route, and
     not the settings header's own "Retour à l'activité" link, which points at the
     same href but lives outside `.erp-shell > header`. */
  .document-menu-button:active,
  .sidebar-collapse-button:active,
  .erp-shell > header a[href="/dashboard"]:active {
    transform: scale(.94);
    opacity: .7;
  }

  /* no transform here on purpose — see the exclusions note above */
  .profile-trigger:active {
    opacity: .7;
  }

  /* ── (3) the families whose transition list has no `transform` in it. Their
     measured transition is restated verbatim and the house transform is appended,
     so the colour behaviour they already had is preserved exactly.

     The first two carry `!important` on the transition already —

       .danger-action,.icon-button,.primary-action,.secondary-action{
         transition:border-color .15s,background-color .15s,color .15s,box-shadow .15s!important}
       .document-expand-button{
         transition:color .16s ease,border-color .16s ease,background-color .16s ease,box-shadow .16s ease!important}

     — so only another `!important` can extend the list. MEASURED after the first
     run of this patch, both still computed `transition-property` WITHOUT
     `transform`, and the press snapped instead of easing. ────────────────────── */
  .icon-button {
    transition:
      border-color .15s, background-color .15s, color .15s, box-shadow .15s,
      transform .16s cubic-bezier(.22, 1, .36, 1),
      opacity .16s cubic-bezier(.22, 1, .36, 1) !important;
  }

  .document-expand-button {
    transition:
      color .16s ease, border-color .16s ease, background-color .16s ease,
      box-shadow .16s ease,
      transform .16s cubic-bezier(.22, 1, .36, 1),
      opacity .16s cubic-bezier(.22, 1, .36, 1) !important;
  }

  .sidebar-collapse-button {
    transition:
      background-color .16s ease-out, color .16s ease-out,
      transform .16s cubic-bezier(.22, 1, .36, 1),
      opacity .16s cubic-bezier(.22, 1, .36, 1);
  }

  /* these three compute `transition: all 0s` — there is nothing to preserve. */
  .sidebar-settings-link,
  .settings-logout,
  .common-filter-toggle {
    transition:
      transform .16s cubic-bezier(.22, 1, .36, 1),
      opacity .16s cubic-bezier(.22, 1, .36, 1),
      background-color .16s;
  }

  .profile-trigger {
    transition:
      border-color .12s, background-color .12s, box-shadow .12s,
      opacity .16s cubic-bezier(.22, 1, .36, 1);
  }

  /* ── (5) a long press is a press, not a text selection ────────────────────── */
  .icon-button,
  .profile-trigger,
  .primary-action,
  .secondary-action,
  .danger-action,
  .document-menu-button,
  .erp-shell > header a[href="/dashboard"],
  .document-create-action,
  .document-new-action,
  .document-scan-action,
  .document-scan-source,
  .document-reference,
  .document-expand-button,
  .common-filter-toggle,
  .dialog-close-button,
  .sidebar-nav-link,
  .sidebar-group-trigger,
  .sidebar-dashboard-link,
  .sidebar-settings-link,
  .sidebar-collapse-button,
  .settings-logout {
    -webkit-touch-callout: none;
    user-select: none;
  }
}

/* (4) list cards carry the elevation their own command bar already has */
@media (max-width: 767px) {
  article.document-record {
    box-shadow:
      0 1px 2px rgba(15, 23, 42, .04),
      0 4px 14px -4px rgba(15, 23, 42, .10);
  }
}

/* The dim survives, the movement does not. These mirror the press selectors
   one-for-one, including their `!important`, so each one outranks its own
   counterpart above on order rather than on specificity. */
@media (prefers-reduced-motion: reduce) {
  .primary-action:not(:disabled):active,
  .secondary-action:not(:disabled):active,
  .danger-action:not(:disabled):active,
  .document-create-action:not(:disabled):active,
  .document-new-action:not(:disabled):active,
  .document-scan-action:not(:disabled):active,
  .dialog-close-button:not(:disabled):active,
  .icon-button:not(:disabled):active,
  .document-expand-button:not(:disabled):active {
    transform: none !important;
  }

  .sidebar-nav-link:active,
  .sidebar-group-trigger:active,
  .sidebar-dashboard-link:active,
  .document-scan-source:active,
  .document-reference:active,
  .sidebar-settings-link:active,
  .settings-logout:active,
  .common-filter-toggle:active,
  .document-menu-button:active,
  .sidebar-collapse-button:active,
  .erp-shell > header a[href="/dashboard"]:active {
    transform: none;
  }
}
/* <<< mobile-press-feedback-0.7.69.css */


/* >>> mobile-scroll-chrome-0.7.70.css */
/* eGestion 0.7.70 — a sideways swipe on a wide table stops navigating backwards,
 * and the fixed header reads as a bar the content passes under.
 *
 * "fix everything", following 0.7.69.
 *
 * Stylesheet only. No markup changes, so there is no SSR twin to keep in step
 * (CLAUDE.md rule 6 does not apply) and no hydration exposure. The sheet still
 * rotates — /_next/static is served immutable for a year.
 *
 * ════════════════════════════════════════════════════════════════════════════════
 * (1) THE WIDE TABLES CHAIN THEIR OVERSCROLL INTO THE BROWSER'S BACK GESTURE
 *
 * The data tables are wider than a phone and scroll inside their own container.
 * That part is correct and is not what this fixes. MEASURED at 375x812 with a
 * coarse pointer, on the running 0.7.69 install:
 *
 *   /inventory/products  .overflow-x-auto                 353 -> 900   overscroll-behavior-x: auto
 *   /accounting          .app-scrollbar.overflow-x-auto   352 -> 900   overscroll-behavior-x: auto
 *   /fleet/vehicles      .overflow-x-auto…border-slate    352 -> 418   overscroll-behavior-x: auto
 *   /fleet/vehicles      .app-scrollbar.overflow-x-auto   352 -> 820   overscroll-behavior-x: auto
 *
 * `auto` is the initial value, so nothing had to go wrong for this to be the state
 * everywhere — it is simply what you get when the property is never set. Its effect
 * on a touch device is specific and bad: when a horizontal scroll reaches the end
 * of the container, the gesture CHAINS to the ancestor chain and finally to the
 * viewport, where both iOS Safari and Chrome for Android read a horizontal swipe as
 * back/forward navigation.
 *
 * So on a 900px table in a 353px window — where the user MUST swipe sideways
 * repeatedly to read the row, and will inevitably hit the end — the reward for
 * reaching the last column is being thrown off the page, losing the scroll
 * position and any filter state on the way. It is the kind of defect that reads as
 * "this app is broken on my phone" rather than as a styling nit.
 *
 * `contain` keeps the scroll inside the container: the swipe stops at the edge and
 * the page does not navigate. It cannot break anything, because it only ever
 * suppresses scrolling that would have left the element the user was scrolling.
 *
 * This is not an invented value. The sheet already uses `overscroll-behavior-x:
 * contain` on the scrollers earlier patches touched, and `overscroll-behavior:
 * contain` in 17 more places — the horizontal table scrollers are simply the ones
 * nobody has reached yet.
 *
 * WHY THE UTILITY CLASS. `.overflow-x-auto` is the Tailwind utility the app builds
 * every one of these scrollers with — it IS the component here; there is no shared
 * semantic class to aim at, and the four containers above have four different class
 * lists with only that utility in common. `.app-scrollbar` is included because it
 * is the app's own name for the same thing and co-occurs on two of the four. The
 * rule is inert on any element that is not actually scrollable.
 *
 * Gated to `(pointer: coarse)` to match this patch set's remit. The same chaining
 * annoys a Mac trackpad, so ungating it later would be safe — but that is a
 * desktop change and this is not a desktop patch.
 *
 * ════════════════════════════════════════════════════════════════════════════════
 * (2) THE FIXED HEADER — THE STATIC VERSION OF WHAT 0.7.69 WITHDREW
 *
 * MEASURED: `.erp-shell > header` is position:fixed, 72px, `box-shadow: none`,
 * separated from the content sliding underneath it by a single 1px hairline
 * (`oklch(.929 .013 255.508)`).
 *
 * 0.7.69 tried to do this properly — a scroll-driven animation that lifts the bar
 * once content passes under it, which is what both native platforms do. It was
 * written, shipped into r90 and TAKEN BACK OUT, because its timeline read
 * `currentTime === null` (inactive) at every offset from 0 to 300px in a browser
 * that produces no frames, so "inactive" could not be told apart from "stuck at
 * full shadow on all 93 routes". That reasoning is recorded in
 * mobile-press-feedback-0.7.69.css and still stands.
 *
 * What is left is the part that needs no timeline and no frames to verify: give the
 * bar a small permanent elevation on a phone. It is weaker than the scroll-driven
 * version would have been at full extension, precisely because it is always on — it
 * has to look right against an unscrolled page too. The hairline stays; this sits
 * under it.
 *
 * The ink is the design's own `rgba(15, 23, 42, …)`, the same colour as the command
 * bar's `#0f172a0a` and the list-card elevation 0.7.69 added, at the 2px offset the
 * shell's other floating surfaces use. Phone only — on the desktop the header spans
 * a 1440px window against a sidebar and the hairline is the right weight there.
 */

/* (1) a sideways swipe stays inside the table it started in */
@media (pointer: coarse) {
  .overflow-x-auto,
  .app-scrollbar {
    overscroll-behavior-x: contain;
  }
}

/* (2) the fixed bar sits above the content, not in the same plane as it */
@media (max-width: 767px) {
  .erp-shell > header {
    box-shadow: 0 2px 10px -4px rgba(15, 23, 42, .14);
  }
}
/* <<< mobile-scroll-chrome-0.7.70.css */


/* >>> mobile-row-fit-0.7.71.css */
/* eGestion 0.7.71 — a large amount stops eating the document number, and the
 * drawer's scrim stops passing scroll through to the page behind it.
 *
 * "fix everything", third pass, following 0.7.69 and 0.7.70.
 *
 * Stylesheet only. No markup changes, so there is no SSR twin to keep in step
 * (CLAUDE.md rule 6 does not apply) and no hydration exposure. The sheet still
 * rotates — /_next/static is served immutable for a year.
 *
 * ════════════════════════════════════════════════════════════════════════════════
 * (1) THE AMOUNT STEALS THE REFERENCE COLUMN, AND ON A SMALL PHONE IT WINS
 *
 * The mobile card's row is a four-track grid. MEASURED winner at ≤767px, from
 * artifacts/dev/css-context.mjs (@451777, `@media (max-width:1535px)`):
 *
 *   .document-grid-row { grid-template-columns: 42px minmax(0,1fr) auto auto }
 *
 * Track 2 holds the date, the reference button and the party. Tracks 3 and 4 hold
 * the expand chevron and the row kebab. The amount is NOT in a track of its own —
 * it has `grid-area: 2 / 3 / auto / 5`, so it SPANS tracks 3 and 4, and because
 * both are `auto` its intrinsic width inflates them. Track 2 is `minmax(0, 1fr)`,
 * which means it has no floor and absorbs the whole loss.
 *
 * MEASURED on /documents/quotes, same page, same five rows:
 *
 *                                  at 375px                      at 320px
 *   rows with a short amount   42px 162px    40px 36px      42px 106.8px  40px  36px
 *   the row with 30.006.000,00 42px 128.1px 56.9px 52.9px   42px  72.9px  56.9px 52.9px
 *
 * So one large figure rewrites the geometry of its own row. At 375px the reference
 * still fits in what is left. At 320px it does not:
 *
 *   "DE2600001"   needs 78px, gets 73px   ->  ellipsised to "DE260000…"
 *
 * That is the row's identity and its tap target — the button that opens the
 * document — truncated by an unrelated column. The other four rows on the same
 * screen are untouched, so it reads as random corruption rather than as a layout
 * rule, and only ever bites the biggest invoices.
 *
 * THE FIX, AND WHY IT IS THIS ONE. Four candidates were injected into the live
 * page and measured at both widths:
 *
 *   A  baseline                        320: reference CLIPPED 73<78
 *   B  minmax(96px,1fr) alone          320: reference ok, amount OVERFLOWS its cell
 *   C  minmax(96px,1fr) + amount wraps 320: reference ok, amount ok      <- shipped
 *   D  pin tracks 3/4 to 40px          375: amount OVERFLOWS (needs 119, gets 89)
 *
 * D is the intuitive fix — stop the buttons growing — and it is wrong: the amount
 * has nowhere to go and spills. B is half a fix. C gives track 2 a floor and, in
 * exchange, lets the amount use the second line it now needs.
 *
 * MEASURED consequences of C, which is why it is safe:
 *
 *   - rows 1-4 at 320px are byte-identical before and after (42px 106.8px 40px 36px,
 *     amount 85x21, card height 151px). The rule only engages where the squeeze
 *     was actually happening.
 *   - at 375px the whole block is INERT — before and after snapshots compare equal
 *     across all five rows, because track 2 is already 128px there and never hits
 *     the 96px floor.
 *   - the wrapped amount goes 21px -> 42px tall, and the CARD HEIGHT DOES NOT
 *     CHANGE (151px both ways): the second line lands in space the card already had.
 *
 * 96px is measured, not picked: the reference is a fixed-format document number
 * ("DE2600001", 9 characters at 14px/720) which needs 78px, and 96px leaves room
 * for the five-digit sequences the numbering will reach without re-tuning this.
 *
 * `overflow-wrap: anywhere` rather than `break-word` because the amount is one
 * unbreakable run of digits and separators plus a currency word; `anywhere` is the
 * value that is allowed to break it AND to shrink the intrinsic contribution that
 * caused the squeeze in the first place. `min-width: 0` is what lets a grid item
 * go below its min-content size at all.
 *
 * No `!important`: the rule this overrides (@451777) carries none, and appending
 * last at equal (0,1,0) specificity is enough. The two `!important` templates in
 * the sheet (@639783, @639996) are gated at ≥1280px and cannot reach a phone.
 *
 * ════════════════════════════════════════════════════════════════════════════════
 * (2) THE DRAWER'S SCRIM LETS THE PAGE SCROLL UNDERNEATH IT
 *
 * MEASURED with the mobile drawer open (opened programmatically, then settled):
 *
 *   .erp-sidebar          284px wide, 76% of a 375px screen
 *   the scrim             375x740, display:block, z-40, touch-action: manipulation
 *   body                  overflow: visible, position: static
 *   window.scrollTo(250)  scrollY becomes 250 — the page behind moves
 *
 * Nothing locks the page while the drawer covers it, so a drag that starts on the
 * scrim scrolls the content behind the overlay instead of doing nothing. The
 * drawer's own nav is already correct (`overscroll-behavior-y: contain`); it is the
 * scrim that has no gesture policy.
 *
 * `touch-action: none` on the scrim is the narrow remedy: it stops pan gestures
 * that BEGIN on the scrim, which is the surface the stray drag lands on. Taps are
 * unaffected — `touch-action` governs panning and zooming, not activation — so
 * tap-to-dismiss still closes the drawer.
 *
 * The alternative, locking `body { overflow: hidden }`, is deliberately NOT used:
 * it resets the scroll position to the top in several browsers, so dismissing the
 * drawer would silently lose the reader's place in a long document list. This
 * fixes the gesture without touching the page's scroll state at all.
 *
 * `button[aria-label="Fermer le menu"]` is not a selector invented here — it is
 * already how the sheet addresses this element (it appears in the unconditional
 * `transform: translate(0) rotate(0) !important` rule at @467859, alongside
 * `.dialog-close-button`).
 *
 * HONEST LIMIT: the property applying is verifiable here and is asserted; the
 * gesture it governs is not, because the verification browser has no touch input.
 * `touch-action` is the standard, well-defined remedy for exactly this, and it
 * cannot affect anything but touch panning that starts on this one element.
 */

/* (1) the reference column keeps a floor; the amount takes the second line instead */
@media (max-width: 767px) {
  .document-grid-row {
    grid-template-columns: 42px minmax(96px, 1fr) auto auto;
  }

  .document-grid-row > .text-right {
    min-width: 0;
    overflow-wrap: anywhere;
  }
}

/* (2) a drag that starts on the scrim does not scroll the page it is covering */
@media (pointer: coarse) {
  button[aria-label="Fermer le menu"] {
    touch-action: none;
  }
}
/* <<< mobile-row-fit-0.7.71.css */


/* >>> mobile-article-row-0.7.72.css */
/* eGestion 0.7.72 — on a phone you can tell the quantity from the designation.
 *
 * "in mobile document dropdown make the designation and qte ect organized now i
 *  can't [tell] which is the qte from the designation".
 *
 * Stylesheet only. No markup changes, so there is no SSR twin to keep in step
 * (CLAUDE.md rule 6 does not apply) and no hydration exposure. The sheet still
 * rotates — /_next/static is served immutable for a year.
 *
 * ════════════════════════════════════════════════════════════════════════════════
 * WHAT IS WRONG — SIX IDENTICAL BOXES
 *
 * The Articles block is three grids. Every one of them is a single column below
 * 640px, because the only responsive variants on them are `sm:` (≥640px) and
 * `lg:` (≥1024px). MEASURED on /documents/new at 375px, before this patch —
 * every field the same width, the same height, the same label style:
 *
 *   Désignation *        309 x 65   y=347
 *   Unité *              309 x 65   y=423
 *   Quantité *           309 x 65   y=500
 *   P.U. de vente HT *   309 x 65   y=577
 *   TVA *                309 x 65   y=654
 *   Ajouter              309 x 44   y=730
 *   Type de remise       309 x 65   y=786      section height 595px
 *
 * Six 309px boxes in a vertical stack, separated by a 12px gap, each labelled in
 * the same 12.5px/600 slate. Nothing about the SHAPE of a field says what it is,
 * so the only way to tell the quantity from the designation is to read every
 * label — which is exactly the complaint. On the desktop this never shows,
 * because `lg:grid-cols-[1fr_1fr_180px_132px]` gives each field a width that
 * matches the size of its value.
 *
 * NOT THE DROPDOWN. The désignation combobox was measured first and is already
 * correct: `position: absolute`, `z-index: 40`, `max-height: 360px`,
 * `overflow-y: auto`, and opening it leaves the section at 595px — it does not
 * push the card. Nothing here touches it.
 *
 * ════════════════════════════════════════════════════════════════════════════════
 * THE FIX — GIVE THE ROW A SHAPE AGAIN
 *
 * Restore, on a phone, the thing the desktop grid does: make a field's width say
 * what kind of value it holds. MEASURED after, same page, same width:
 *
 *   Désignation *        309 x 65   y=347   x=33     <- full width, the identity
 *   Unité *              168 x 65   y=423   x=33     <- narrow, an enum
 *   Quantité *           149 x 65   y=500   x=33   ┐ paired
 *   P.U. de vente HT *   149 x 65   y=500   x=194  ┘
 *   TVA *                149 x 65   y=577   x=33   ┐ paired
 *   Ajouter              149 x 44   y=598   x=194  ┘
 *   Type de remise       309 x 65   y=654   x=33
 *
 *   section height 595px -> 462px
 *
 * Three shapes instead of one: full width for the two fields that carry text,
 * narrow for the unit, and half-width pairs for the numbers. 133px of scroll is
 * given back at the same time, which is the whole "Type de remise" row.
 *
 * WHY DÉSIGNATION KEEPS THE FULL WIDTH. It is tempting to pair it with Unité, and
 * it is wrong: the combobox panel is `left: 0; right: 0` inside this label, so
 * narrowing the label narrows the dropdown, and the options carry a product name,
 * a SKU, a unit and a price. The identity field and its panel stay at 309px.
 *
 * WHY `align-items: end` ON THE SECOND ROW. Without it the button top-aligns in
 * its cell while the TVA select sits under a 19px label, leaving them 25px out of
 * step. MEASURED with it: TVA select bottom 642, Ajouter bottom 642 — aligned to
 * the pixel. This is the same alignment the desktop already asks for one variant
 * up (`lg:items-end`); it simply was never asked for below `lg`.
 *
 * ════════════════════════════════════════════════════════════════════════════════
 * WHY `:has()` AND NOT THE TAILWIND ARBITRARY CLASSES
 *
 * The two rows are only distinguishable by arbitrary-value utilities —
 * `lg:grid-cols-[minmax(0,1fr)_190px]` and `lg:grid-cols-[1fr_1fr_180px_132px]`.
 * Targeting those means reproducing Tailwind's own escaping of brackets, commas
 * and parentheses, and one of the two is not even emitted into the sheet, so
 * there is no live selector to copy the escaping from.
 *
 * `:has()` addresses the rows by what they CONTAIN, which is stable against any
 * re-tuning of those column lists:
 *
 *   div.grid:has(> label.relative)        the row whose first cell is the combobox
 *   div.grid:has(> button.primary-action) the row that ends in the Ajouter button
 *
 * MEASURED on /documents/new: each matches EXACTLY ONE element, and
 * `:has(> label.relative) > label:not(.relative)` resolves to exactly the Unité
 * cell. `CSS.supports("selector(:has(*))")` is true in the served browser.
 *
 * Collateral checked: `.quick-party-form-actions` is also `display: grid` and also
 * holds a direct `button.primary-action`, but it does not carry the literal
 * `grid` CLASS that these selectors require, so the express-client form is not
 * matched. Everything is scoped under `.document-form-section` besides.
 *
 * ════════════════════════════════════════════════════════════════════════════════
 * WHY ≤767px AND NOT ≤639px
 *
 * Below 640px both rows are single-column and this block does all the work.
 * Between 640px and 767px `sm:grid-cols-2` already gives the second row the two
 * columns this asks for, so that declaration is a no-op there — but the Unité
 * narrowing and the `align-items: end` are still improvements, and the row has no
 * `sm:` variant of its own. Using the house `max-width: 767px` that 0.7.52,
 * 0.7.53 and 0.7.54 established keeps one breakpoint instead of introducing a
 * fourth. Above 767px nothing here applies and the desktop grid is untouched.
 */

@media (max-width: 767px) {
  /* the unit is an enum, not a sentence — give it a box that says so */
  .document-form-section div.grid:has(>label.relative)>label:not(.relative) {
    max-width: 168px;
  }

  /* quantity, price, VAT and the action pair up two per row */
  .document-form-section div.grid:has(>button.primary-action) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: end;
  }
}
/* <<< mobile-article-row-0.7.72.css */


/* >>> page-title-consistency-0.7.73.css */
/* eGestion 0.7.73 — one page-title language.
 *
 * Documents already provide the visual truth: a compact white title rail,
 * orange icon tile, strong navy title, and actions on the same stable axis.
 * The shared default PageHeader and Planning now reuse those proportions.
 * Dashboard keeps its command-center greeting because it is a live briefing,
 * not a generic route title.
 */

.page-header {
  min-height: 88px;
  margin: .75rem;
  align-items: stretch;
  gap: .75rem;
  overflow: visible;
  border-radius: .9rem;
  padding: .9rem;
}

.page-header > div:first-child {
  align-items: center;
}

.page-header-icon {
  width: 3rem;
  height: 3rem;
  border-radius: .75rem;
}

.page-title {
  overflow: visible;
  color: #142b3a;
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -.012em;
  text-overflow: clip;
  white-space: normal;
}

/* Client-rendered directories place PageHeader inside page-shell. Removing the
 * second inset gives them the same left edge as server-rendered document lists. */
.page-shell > .page-header:first-child {
  margin-inline: 0;
  margin-top: 0;
}

/* Planning owns additional live-status controls, but its title landmark should
 * still read as part of the same family. */
.planning-hero {
  min-height: 88px;
  border-width: 0 0 1px;
  border-radius: .9rem;
  padding: .9rem;
  box-shadow: none;
}

.planning-hero > div:first-child > span {
  width: 3rem;
  height: 3rem;
  border-color: #fed7aa;
  border-radius: .75rem;
  background: #fff7ed;
  color: #ea580c;
}

.planning-hero h1 {
  color: #142b3a;
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -.012em;
}

@media (min-width: 768px) {
  .page-header {
    min-height: 68px;
    margin: .75rem 1rem 0;
    align-items: center;
    flex-direction: row;
    border-radius: 0;
    padding: .75rem 1rem;
  }

  .page-header-icon {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: .5rem;
  }

  .page-title {
    overflow: hidden;
    font-size: 21px;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .page-shell > .page-header:first-child {
    margin-top: -.25rem;
  }

  .planning-hero {
    min-height: 68px;
    border-radius: 0;
    padding: .75rem 1rem;
  }

  .planning-hero > div:first-child > span {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: .5rem;
  }

  .planning-hero h1 {
    font-size: 21px;
    line-height: 1.2;
  }
}

@media (min-width: 1280px) {
  .page-header {
    margin-inline: 1.25rem;
  }

  .page-shell > .page-header:first-child {
    margin-top: -.5rem;
  }
}
/* <<< page-title-consistency-0.7.73.css */


/* >>> document-report-stability-0.7.74.css */
/* eGestion 0.7.74 — compact document details, stable editor loading, report
 * lenses, and flash-free pointer navigation. No application data is touched. */

.document-lines-row.head { background:#1b3558 !important; }
.document-expanded-panel .space-y-3 > .grid.gap-3.xl\:grid-cols-3 { align-items:start; }
.document-expanded-panel .attachment-dropzone {
  display:grid; grid-template-columns:28px minmax(0,1fr); grid-template-rows:auto auto;
  min-height:76px; column-gap:.65rem; padding:.65rem .75rem; text-align:left;
}
.document-expanded-panel .attachment-dropzone > svg { grid-row:1 / 3; align-self:center; }
.document-expanded-panel .attachment-dropzone strong,
.document-expanded-panel .attachment-dropzone small { margin-top:0; }
.internal-document-links > div.p-3\.5 { position:relative; display:grid; gap:.4rem; }
.internal-document-types { gap:.25rem; padding-bottom:0; }
.internal-document-types button { min-height:28px; padding-inline:.48rem; }
.internal-document-search input { height:36px; border-color:#c9d7dd; background:#fff; color:#294652; }
.internal-document-search > svg { color:#58717d; }
.internal-document-results { position:absolute; z-index:20; top:88px; right:.875rem; left:.875rem; max-height:184px; margin-top:0; }
.internal-document-selected { gap:.25rem; margin-top:0; }
.internal-document-selected > p { min-height:28px; padding:.35rem .5rem; }

.document-modal[aria-busy="true"] { position:relative; min-height:min(720px,calc(100dvh - 2rem)); }
.document-modal[aria-busy="true"] :is(.document-modal-scroll,.document-modal-footer) { visibility:hidden; }
.document-modal-loading {
  position:absolute; z-index:25; inset:64px 0 0; display:grid; place-content:center;
  justify-items:center; gap:.55rem; padding:2rem; background:#fff; color:#657984; text-align:center;
}
.document-modal-loading strong { color:#1b3558; font-size:.9rem; }
.document-modal-loading small { max-width:440px; font-size:.72rem; line-height:1.5; }

.erp-sidebar :is(.sidebar-dashboard-link,.sidebar-group-trigger,.sidebar-nav-link,.sidebar-settings-link):focus:not(:focus-visible) {
  outline:0 !important; box-shadow:none !important;
}
.erp-sidebar :is(.sidebar-dashboard-link,.sidebar-nav-link).is-active {
  transition:color 110ms ease,background-color 0s,border-color 0s !important;
}

.report-lens-switcher {
  display:grid; grid-template-columns:minmax(180px,.58fr) minmax(0,2fr); align-items:end;
  gap:1rem; overflow:hidden; border:1px solid #d6e0e5; border-radius:14px; background:#fff;
  padding:.8rem 1rem 0;
}
.report-lens-switcher > header { align-self:center; padding-bottom:.8rem; }
.report-lens-switcher h2 { color:#1b3558; font-size:.82rem; font-weight:600; }
.report-lens-switcher header p { margin-top:.18rem; color:#637983; font-size:.68rem; line-height:1.45; }
.report-lens-switcher [role="tablist"] { display:flex; min-width:0; gap:.2rem; overflow-x:auto; scrollbar-width:thin; }
.report-lens-switcher [role="tab"] {
  flex:0 0 auto; min-height:54px; border:0; border-bottom:3px solid transparent; border-radius:8px 8px 0 0;
  background:transparent; padding:.55rem .7rem .6rem; color:#59717c; text-align:left;
}
.report-lens-switcher [role="tab"] strong { display:block; color:inherit; font-size:.7rem; font-weight:600; }
.report-lens-switcher [role="tab"] small { display:block; max-width:190px; margin-top:.15rem; color:#7a8d96; font-size:.61rem; line-height:1.35; }
.report-lens-switcher [role="tab"]:hover { background:#f3f7f9; color:#284b5b; }
.report-lens-switcher [role="tab"].is-active { border-bottom-color:#e9771b; background:#eef4f6; color:#143b50; }
.report-lens-switcher [role="tab"].is-active small { color:#526d79; }

@media (max-width:900px) {
  .report-lens-switcher { grid-template-columns:1fr; gap:.15rem; padding-inline:.75rem; }
  .report-lens-switcher > header { padding:.65rem .25rem .25rem; }
}
@media (max-width:767px) {
  .document-modal[aria-busy="true"] { min-height:100dvh; }
  .document-expanded-panel .attachment-dropzone { grid-template-columns:24px minmax(0,1fr); min-height:68px; }
  .report-lens-switcher [role="tab"] { min-height:50px; }
  .report-lens-switcher [role="tab"] small { display:none; }
}

@media (prefers-reduced-motion:reduce) {
  .report-lens-switcher [role="tab"] { transition:none !important; }
}
/* <<< document-report-stability-0.7.74.css */


/* >>> linked-search-focus-0.7.75.css */
/* eGestion 0.7.75 — the linked-document picker is one control. The label is a
 * layout wrapper, never a second focus surface; only the input carries focus. */
.internal-document-search,
.internal-document-search:focus,
.internal-document-search:focus-within {
  border:0 !important;
  outline:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.internal-document-search input:focus,
.internal-document-search input:focus-visible {
  outline:0 !important;
  border-color:var(--eg-focus,#a64f17) !important;
  box-shadow:inset 0 0 0 2px var(--eg-focus,#a64f17) !important;
}
/* <<< linked-search-focus-0.7.75.css */


/* >>> linked-search-popover-0.7.76.css */
/* eGestion 0.7.76 — linked-document results are a popover, not card content.
 * Let that one panel overflow so every match is visible without changing the
 * height of the document disclosure grid. */
.internal-document-links {
  position:relative;
  z-index:12;
  overflow:visible !important;
}
.internal-document-results { isolation:isolate; }
/* <<< linked-search-popover-0.7.76.css */


/* >>> document-layout-0.7.78.css */
/* eGestion 0.7.78 — fluid commercial-document disclosure.
 * The expanded row now sizes itself from its own container, keeps unequal
 * operational content aligned, and gives identity data one conditional band.
 * No empty project, address, reference, or note card reserves space. */

.document-expanded-panel {
  container-type: inline-size;
  overflow: visible !important;
  background: #f3f6f8;
}

.document-expanded-content {
  display: grid;
  gap: 16px;
  padding: 16px;
}

.document-party-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 12px;
}

.document-party-card {
  display: flex;
  min-width: 0;
  min-height: 104px;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  border: 1px solid #cbd9df;
  border-radius: 12px;
  background: #fff;
  padding: 14px 16px;
  color: #173847;
}

.document-party-card:only-child { max-width: 520px; }
.document-party-card small {
  color: #647984;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .065em;
  text-transform: uppercase;
}
.document-party-card strong {
  overflow-wrap: anywhere;
  color: #173847;
  font-size: 14px;
  line-height: 1.35;
}
.document-party-card p,
.document-party-card > span {
  color: #526d79;
  font-size: 12px;
  line-height: 1.45;
}
.document-party-meta {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: 4px 10px;
  color: #657b85;
  font-size: 10px;
}
.document-party-meta span { overflow-wrap: anywhere; }
.document-party-card.is-shipping { background: #f8fbfc; }
.document-party-card.is-project,
.document-party-card.is-reference { background: #fbfaf8; }

.document-lines-table { overflow-x: auto; }
.document-lines-row {
  grid-template-columns: minmax(180px, 1.8fr) minmax(52px, .5fr) minmax(64px, .7fr) minmax(108px, 1fr) minmax(56px, .55fr) minmax(110px, 1fr);
}
.document-lines-row > span:first-child { overflow-wrap: anywhere; }

.document-total-cards {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
  gap: 12px !important;
}
.document-total-cards > div {
  min-width: 0;
  min-height: 84px;
  padding: 12px 14px;
}
.document-total-cards > div > span:last-child { min-width: 0; }
.document-total-cards strong {
  overflow: hidden;
  font-size: 16px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.document-total-cards > div.total-ttc {
  border-color: #9fcfbd;
  background: #eef8f4;
}

.document-support-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  align-items: stretch;
  gap: 12px;
}
.document-support-grid > .document-info-panel {
  display: flex;
  min-width: 0;
  height: 100%;
  flex-direction: column;
}
.document-info-panel > header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}
.document-info-panel > header > span:first-child {
  min-width: 0;
  white-space: normal;
}
.document-info-panel > :not(header) { flex: 1; }
.document-support-grid .attachment-dropzone { min-height: 84px; }
.document-support-grid :is(.space-y-2, .mt-3.space-y-2) {
  max-height: 220px;
  overflow-y: auto;
}

.document-detail-extra-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12px;
}
.document-detail-extra-grid > div {
  min-width: 0;
  border: 1px solid #d7e1e6;
  border-radius: 10px;
  background: #fff;
  padding: 13px 14px;
}
.document-detail-extra-grid small {
  color: #657984;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.document-detail-extra-grid p {
  margin-top: 6px;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
  color: #405d69;
  font-size: 12px;
  line-height: 1.55;
}
.document-audit-footer { margin-top: 2px; }
.document-expanded-panel .internal-document-types button { min-height: 34px; }
.document-expanded-panel .internal-document-selected button { width: 34px; height: 34px; }

@container (max-width: 720px) {
  .document-expanded-content { gap: 12px; padding: 12px; }
  .document-party-cards,
  .document-support-grid,
  .document-detail-extra-grid { grid-template-columns: 1fr; }
  .document-party-card:only-child { max-width: none; }
}

@container (max-width: 460px) {
  .document-total-cards { grid-template-columns: 1fr !important; }
}

@media (prefers-reduced-motion: reduce) {
  .document-expanded-panel { animation: none !important; }
}

/* The HTML print fallback uses the same visual grammar as the recipient card.
 * It stays in the normal document flow, grows with long addresses, and no
 * longer looks like a detached form field. */
.eg-moroccan-sheet .eg-sheet-shipping {
  box-sizing: border-box;
  display: flex;
  width: 85.23mm;
  min-height: 28.22mm;
  margin: 0 10.13mm 3.2mm auto;
  flex-direction: column;
  justify-content: center;
  gap: 1.6mm;
  border: .26mm solid #999;
  border-radius: 2.8mm;
  background: #fff;
  padding: 3.2mm 3.6mm;
  text-align: left;
}
.eg-moroccan-sheet .eg-sheet-shipping > b {
  display: block;
  border: 0;
  background: transparent;
  padding: 0;
  color: #666;
  font-size: 8.4px;
  font-weight: 600;
  letter-spacing: .045em;
  line-height: 1.2;
  text-transform: uppercase;
}
.eg-moroccan-sheet .eg-sheet-shipping > strong {
  display: block;
  padding: 0;
  color: #222;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.4;
  text-align: left;
  white-space: normal;
}
/* <<< document-layout-0.7.78.css */


/* >>> mobile-document-lines-0.7.79.css */
/* eGestion 0.7.79 — the expanded line item becomes a real mobile card.
 * Every value remains visible without a horizontal gesture. */
@container (max-width: 720px) {
  .document-lines-table { overflow-x: visible; }
  .document-lines-row:not(.head) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    min-width: 0;
  }
  .document-lines-row:not(.head) > span { min-width: 0; }
  .document-lines-row:not(.head) > span:first-child { grid-column: 1 / -1; }
  .document-lines-row:not(.head) > span:nth-child(5) { grid-column: 1; }
  .document-lines-row:not(.head) > span:nth-child(6) { grid-column: 2 / -1; }
}
/* <<< mobile-document-lines-0.7.79.css */


/* 1.0.1 typography — aligned digits wherever an amount, a count or a document number is read */
:where(.tabular-nums, .text-right, td, th, dd, .eg-kpi-value, .pilot-kpi-value, .metric-value, .document-reference, .document-row-badges, [class*=amount], [class*=total], [class*=kpi] strong, .eg-chq-kpi strong, .eg-payhist, .eg-paydlg-summary) { font-variant-numeric: tabular-nums lining-nums; }
.document-reference { letter-spacing: .01em; }
.eg-kpi-value, .pilot-kpi-value { font-weight: 600 !important; letter-spacing: -.012em !important; }
.eg-kpi-value small, .pilot-kpi-value small { font-weight: 500 !important; letter-spacing: 0 !important; margin-left: .28em; opacity: .7; font-size: .58em; }
:where(button, .btn, .primary-action, .secondary-action, [role=button]) { font-weight: 500; letter-spacing: 0; }

/* >>> main-additions-1.0.1.css */
/* eGestion 1.0.1 — rules that must be in the main stylesheet (pages without the ERP add-ons, or that
   must not wait for them): the login screen. */
.login-submit { background: #fb8500 !important; border-color: #fb8500 !important; color: #fff !important; box-shadow: 0 12px 26px rgba(251, 133, 0, .28) !important; font-weight: 600 !important; }
.login-submit:hover { background: #ec7c00 !important; }
.login-submit:focus-visible { outline: 3px solid rgba(251, 133, 0, .35) !important; outline-offset: 2px; }
.login-shell input:focus, .login-shell input:focus-visible { outline: none !important; border-color: #fb8500 !important; box-shadow: 0 0 0 3px rgba(251, 133, 0, .18) !important; }
.login-shell input[type=checkbox] { accent-color: #fb8500; }
@media (max-width: 640px) {
  .login-form-side { display: flex !important; align-items: flex-end !important; justify-content: stretch !important; min-height: 100dvh; padding: 0 !important; }
  .login-form-side > div { max-width: none !important; width: 100% !important; margin: 0 !important; min-height: 76dvh; border-radius: 28px 28px 0 0 !important; padding: 34px 22px calc(26px + env(safe-area-inset-bottom)) !important; box-shadow: 0 -18px 50px rgba(3, 12, 24, .35) !important; }
  .login-submit { min-height: 54px !important; border-radius: 14px !important; font-size: 1rem !important; }
}
/* <<< main-additions-1.0.1.css */
