.ss-pop{position:fixed;z-index:5000;display:flex;flex-direction:column;background:#fff;border:1px solid #dce4e1;border-radius:10px;box-shadow:0 16px 44px #0f2a222e;padding:5px;font-family:inherit}.ss-search{display:flex;align-items:center;gap:6px;height:34px;padding:0 9px;margin-bottom:4px;border:1px solid #dfe7e3;border-radius:7px;color:#91a099;flex:none}.ss-search:focus-within{border-color:#76a895;box-shadow:0 0 0 3px #1b463c14}.ss-search input{flex:1;min-width:0;border:0;outline:none;height:30px;font:inherit;font-size:13px;color:#233a32;background:transparent}.ss-search button{border:0;background:transparent;color:#7b8983;font-size:16px;line-height:1;cursor:pointer;padding:0 2px}.ss-pop ul{list-style:none;margin:0;padding:0;overflow-y:auto;min-height:0}.ss-item{padding:7px 10px;border-radius:6px;font-size:13px;color:#2b3d37;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ss-item.is-active{background:#f4f7f6}.ss-item.is-selected{color:#0d4d39;font-weight:600}.ss-item.is-selected:after{content:"✓";float:right;margin-left:12px;color:#006c4d}.ss-item.is-disabled{color:#a9b5b0;cursor:default}.ss-group{padding:8px 10px 3px;font-size:10.5px;font-weight:750;letter-spacing:.05em;text-transform:uppercase;color:#7b8983}.ss-empty{padding:10px;color:#7b8983;font-size:12.5px}/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--radius-sm:.25rem;--radius-md:6px;--radius-lg:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--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%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sticky{position:sticky}.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}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.w-9{width:calc(var(--spacing) * 9)}.w-full{width:100%}.min-w-0{min-width:0}.cursor-pointer{cursor:pointer}.resize{resize:both}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.rounded-md{border-radius:6px}.border{border-style:var(--tw-border-style);border-width:1px}.border-input{border-color:var(--border)}.bg-background{background-color:var(--background)}.bg-destructive{background-color:var(--destructive)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-2{padding-block:calc(var(--spacing) * 2)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.whitespace-nowrap{white-space:nowrap}.text-destructive-foreground{color:var(--primary-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--foreground)}.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-offset-4{text-underline-offset:4px}.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)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-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))}.running{animation-play-state:running}@media(hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive) 90%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary) 80%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--primary)}.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--primary)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/inter-400-CsUp8igZ.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/inter-500-CBCblkv5.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/inter-600-L3krMWUQ.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/inter-700-BSYz69jQ.woff) format("woff")}:root{--background: oklch(.977 .004 150);--foreground: oklch(.25 .02 180);--card: oklch(1 0 0);--primary: oklch(.47 .1 165);--primary-foreground: oklch(1 0 0);--secondary: oklch(.96 .013 160);--muted: oklch(.95 .005 160);--muted-foreground: oklch(.56 .015 170);--accent: oklch(.93 .025 160);--border: oklch(.9 .008 160);--destructive: oklch(.55 .17 25);--nav: oklch(.2 .027 184);--nav-foreground: oklch(.77 .025 160);--nav-muted: oklch(.55 .02 180);--nav-line: oklch(.34 .027 180);--nav-active: oklch(.35 .064 164);--lime: oklch(.85 .16 118);--gold: oklch(.63 .12 88);--gold-soft: oklch(.96 .036 90);--blue: oklch(.59 .095 248);--blue-soft: oklch(.96 .018 245);--rose: oklch(.64 .11 18);--rose-soft: oklch(.96 .02 18);--scrim: oklch(.15 .02 180 / .65);--photo-scrim: linear-gradient(90deg, oklch(.15 .025 180 / .84), oklch(.15 .025 180 / .3) 55%, transparent);--shadow: 0 20px 70px oklch(.16 .03 180 / .15);--text-strong: #173b32;--text: #2c433c;--text-muted: #64756f;--text-subtle: #8a9a94;--brand: #087f5b;--brand-strong: #006f50;--danger: #b42318;--warning: #946200;--line: #e2eae6;--line-strong: #d3dfda;--surface: #ffffff;--surface-muted: #f6f9f8;--surface-sunken: #eef3f1;--font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--fs-2xs: 11px;--fs-xs: 12px;--fs-sm: 13px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 18px;--fs-2xl: 24px;--fs-kpi: 26px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--lh-tight: 1.25;--lh-normal: 1.5;--tracking-caps: .06em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--page-gutter: 32px;--section-gap: 20px;--card-padding: 18px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 999px;--shadow-card: 0 1px 2px rgb(10 44 34 / .06);--shadow-pop: 0 24px 70px rgb(9 29 24 / .22);--pp-green: #006c4d;--pp-green-dark: #1b463c;--pp-green-soft: #e8f3ee;--pp-ink: #26312f;--pp-muted: #71817b;--pp-border: #dce4e1;--pp-line: #e9eeeb;--pp-soft: #f6f8f8;--pp-plan: #b9c6c1;--pp-summary: #424a52;--pp-actual: #688c36;--pp-pending: #d69a2d;--pp-bad: #c2410c;--sidebar-width: 245px;--sidebar-collapsed: 75px;--topbar-height: 64px}.pp-toolbar-card{background:#fff;border:1px solid #e0e8e4;border-radius:12px;padding:10px 12px 12px;box-shadow:0 2px 6px #19382a05;display:flex;flex-direction:column;gap:10px}.pp-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap}.pp-toolbar h1{font-size:18px;line-height:1.25;margin:0;color:var(--text-strong);font-weight:600}.pp-toolbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pp-filters label{display:flex;flex-direction:column;gap:4px;min-width:0;color:#3c5149;font-size:11px;font-weight:500}.pp-filters select,.pp-search input{height:32px;border:1px solid #d5dfda;border-radius:8px;background:#fff;color:#233a32;padding:0 10px;font:inherit;font-size:12px;min-width:0;outline:none}.pp-filters select:focus{border-color:#76a895;box-shadow:0 0 0 3px #1b463c12}.pp-segmented{height:32px;display:flex;border:1px solid #d4dcd8;border-radius:9px;overflow:hidden;background:#fff}.pp-segmented button{border:0;border-right:1px solid #e0e6e3;background:#fff;color:#53645d;padding:0 11px;font-size:12px;cursor:pointer;white-space:nowrap}.pp-segmented button:last-child{border-right:0}.pp-segmented button.active{background:var(--pp-green);color:#fff;font-weight:600}.pp-columns-wrap{position:relative}.pp-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 11px;border:1px solid #d7e2dc;border-radius:8px;background:#fff;color:#2c4a40;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap}.pp-btn:hover:not(:disabled){background:#f3f8f5;border-color:#c4d6cd}.pp-btn:disabled{opacity:.55;cursor:not-allowed}.pp-btn-primary{background:var(--pp-green);border-color:var(--pp-green);color:#fff}.pp-btn-primary:hover:not(:disabled){background:#005a40;border-color:#005a40}.pp-btn-soft{background:var(--pp-green-soft);border-color:#cfe5da;color:#0f5c44}.pp-btn-danger{color:#b42318;border-color:#f1d0c9}.pp-btn-danger:hover:not(:disabled){background:#fff3f0;border-color:#e9b4a8}.pp-icon-btn{width:32px;padding:0}.pp-link{border:0;background:transparent;color:#148064;font-size:12px;font-weight:600;cursor:pointer;padding:0}.pp-popover{position:absolute;top:100%;right:0;margin-top:6px;z-index:40;width:236px;max-height:70vh;overflow-y:auto;background:#fff;border:1px solid var(--pp-border);border-radius:10px;box-shadow:0 14px 40px #0f2a2220;padding:6px;display:flex;flex-direction:column;gap:1px;font-family:inherit}.pp-popover .pp-link{align-self:flex-end;margin:6px 8px 4px;font-weight:600}.pp-check{display:flex;flex-direction:row;align-items:center;gap:10px;padding:7px 10px;border-radius:7px;font-size:13px;font-weight:400;line-height:1.3;color:#2b3d37;cursor:pointer;text-transform:none;letter-spacing:normal;white-space:nowrap}.pp-check:hover{background:var(--pp-soft)}.pp-check input{flex:none;width:15px;height:15px;margin:0;accent-color:var(--pp-green);cursor:pointer}.pp-filters{display:grid;grid-template-columns:minmax(190px,1.5fr) repeat(7,minmax(104px,1fr)) minmax(140px,1.2fr);gap:8px 10px}.pp-filters select{width:100%}.pp-search-label{display:flex;justify-content:space-between;align-items:baseline;gap:6px}.pp-search-label .pp-link{font-size:11px}.pp-search div{height:32px;box-sizing:border-box;display:flex;align-items:center;gap:6px;padding:0 9px;border:1px solid #d5dfda;border-radius:8px;background:#fff;color:#91a099}.pp-search div input{border:0;height:28px;padding:0;width:100%;font-size:12px}.pp-search-lg div{height:40px}.pp-search-lg div input{height:36px}.pp-search-lg input{font-size:13px}.pp-switch{display:flex;flex-direction:row;align-items:center;gap:7px;font-size:12px;font-weight:500;cursor:pointer;color:#3d574b;margin-right:4px;white-space:nowrap}.pp-switch input{position:absolute;opacity:0;pointer-events:none}.pp-switch i{display:inline-block;flex:none;width:30px;height:17px;border-radius:99px;background:#cfd9d5;position:relative;transition:background .15s}.pp-switch i:after{content:"";position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:transform .15s}.pp-switch input:checked+i{background:var(--pp-green)}.pp-switch input:checked+i:after{transform:translate(13px)}.pp-switch input:focus-visible+i{outline:2px solid #76a895;outline-offset:2px}.pp-error,.pp-empty{padding:12px 16px;border-radius:10px;border:1px solid #e1e8e4;background:#fff;color:#687871;font-size:13px}.pp-error{display:flex;justify-content:space-between;align-items:center;gap:12px;border-color:#f0c7b3;background:#fff7f2;color:#a34a1a}.pp-error button{border:0;background:transparent;color:inherit;cursor:pointer;display:grid;place-items:center}.pp-badge{flex:none;display:inline-grid;place-items:center;min-width:22px;height:18px;padding:0 4px;border-radius:5px;font-size:9.5px;font-weight:800;letter-spacing:.02em}.pp-badge-m{background:#1b463c;color:#fff}.pp-badge-sm{background:#d7ebe2;color:#145440}.pp-badge-t{background:#e6eefb;color:#2c4f8a}.pp-badge-st{background:#f1ecfa;color:#5b3f8f}.pp-dim{color:#95a39d}.pp-type{font-size:11px;font-weight:700;padding:3px 7px;border-radius:99px;white-space:nowrap}.pp-type-p{background:#eaf1ee;color:var(--pp-green-dark)}.pp-type-m{background:#1b463c;color:#fff}.pp-type-sm{background:#d7ebe2;color:#145440}.pp-type-t{background:#e6eefb;color:#2c4f8a}.pp-type-st{background:#f1ecfa;color:#5b3f8f}.pp-people{display:inline-flex;align-items:center}.pp-people i,.pp-member i{width:22px;height:22px;border-radius:50%;display:inline-grid;place-items:center;font-style:normal;font-size:9.5px;font-weight:800;background:#dfece6;color:#1d5a47;border:2px solid #fff;margin-left:-6px}.pp-people i:first-child{margin-left:0}.pp-people i.is-me{background:var(--pp-green);color:#fff}.pp-people em{font-style:normal;font-size:10.5px;color:var(--pp-muted);margin-left:4px;font-weight:700}.pp-progress{display:inline-flex;align-items:center;gap:7px;font-variant-numeric:tabular-nums;font-weight:650;width:100%}.pp-progress>span{flex:1;height:6px;border-radius:99px;background:#e5ece8;overflow:hidden}.pp-progress>span>b{display:block;height:100%;background:var(--pp-actual);border-radius:99px}.pp-progress-lg>span{height:7px}.pp-status{display:inline-flex;font-size:10.5px;font-weight:750;padding:3px 8px;border-radius:99px;white-space:nowrap}.pp-tone-good{background:#e0f3e7;color:#17663f}.pp-tone-warn{background:#fff2d8;color:#8a5a07}.pp-tone-bad{background:#fee8e2;color:#a63a14}.pp-tone-info{background:#e5eefb;color:#2c5596}.pp-tone-muted{background:#eef1f0;color:#61716b}.pp-kpis{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pp-kpis>div{background:var(--pp-soft);border:1px solid #e5ebe8;border-radius:9px;padding:10px;display:flex;flex-direction:column;gap:4px;min-width:0}.pp-kpis small{font-size:10px;color:#77857f;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.pp-kpis strong{font-size:13px;color:#263e34}.pp-kpis em{font-style:normal;font-size:11px;color:var(--pp-muted)}.pp-kpis em.bad{color:var(--pp-bad);font-weight:700}.pp-chip{font-size:11px;font-weight:600;padding:2px 8px;border-radius:99px;background:#eef1f0;color:#4f625b}.pp-chip-approved{background:#e0f3e7;color:#17663f}.pp-chip-pending{background:#fff2d8;color:#8a5a07}.pp-chip-rejected{background:#fee8e5;color:#b42318}.pp-chip-draft{background:#eef1f0;color:#4f625b}.pp-note{margin:0;font-size:11.5px;color:var(--pp-muted);line-height:1.5}.pp-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#030e0b8c;display:grid;place-items:center;padding:16px;overflow-y:auto}.pp-dialog{width:100%;background:#fff;border-radius:14px;box-shadow:0 30px 80px #0b1f1940;max-height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden}.pp-dialog-head{display:flex;justify-content:space-between;gap:12px;padding:18px 20px 14px;border-bottom:1px solid var(--pp-line)}.pp-dialog-head h2{margin:0;font-size:18px;font-weight:600;color:var(--text-strong)}.pp-dialog-head p{margin:4px 0 0;font-size:12.5px;color:var(--pp-muted);overflow-wrap:anywhere}.pp-dialog-body{padding:16px 20px 18px;overflow-y:auto}.pp-dialog-body form{display:flex;flex-direction:column;gap:12px}.pp-dialog-foot{display:flex;justify-content:flex-end;gap:8px;padding-top:14px;margin-top:4px;border-top:1px solid var(--pp-line);flex-wrap:wrap}.pp-field{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:500;color:#3c5149;min-width:0}.pp-field input,.pp-field select,.pp-field textarea{min-height:40px;padding:9px 11px;border:1px solid #cbd7d4;border-radius:8px;background:#fff;color:#18302b;font:inherit;font-size:13px;font-weight:400;outline:none;box-sizing:border-box;width:100%}.pp-field textarea{resize:vertical;min-height:80px}.pp-field input:focus,.pp-field select:focus,.pp-field textarea:focus{border-color:#76a895;box-shadow:0 0 0 3px #1b463c14}.pp-field select:disabled{background:#f4f6f5;color:#94a19c}.pp-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pp-type-picker{display:flex;flex-wrap:wrap;gap:8px}.pp-type-picker button{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 12px;border:1px solid #d5dfda;border-radius:9px;background:#fff;color:#2c4a40;font-size:13px;font-weight:650;cursor:pointer}.pp-type-picker button.active{border-color:var(--pp-green);background:var(--pp-green-soft);box-shadow:0 0 0 2px #006c4d22;color:#0d4d39}.pp-form-error{margin:0;font-size:12.5px;color:#b42318;background:#fff3f0;border:1px solid #f1d0c9;padding:8px 10px;border-radius:8px}.pp-person-chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 9px;border-radius:99px;border:1px solid #cfe0d8;background:var(--pp-green-soft);color:#0f5c44;font-size:12px;font-weight:650;cursor:pointer}.pp-member-list{margin:12px 0;max-height:320px;overflow-y:auto;border:1px solid #e3eae7;border-radius:10px}.pp-member-list>p{padding:16px;margin:0;font-size:13px}.pp-member{display:flex;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid #f0f3f1;cursor:pointer}.pp-member:last-child{border-bottom:0}.pp-member:hover{background:#f8fbf9}.pp-member.is-on{background:#f0f8f4}.pp-member input{accent-color:var(--pp-green);width:16px;height:16px}.pp-member i{margin-left:0;width:30px;height:30px;font-size:10.5px;border:0}.pp-assign-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pp-assign-tools .pp-search{flex:1 1 260px}.pp-access-tag{margin-left:auto;flex:none;font-style:normal;font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:99px;background:#fff2d8;color:#8a5a07}.pp-access-tag.is-on{background:#e0f3e7;color:#17663f}.pp-member-list{max-height:360px!important}.pp-member span{display:flex;flex-direction:column;gap:2px;min-width:0}.pp-member b{font-size:13px;font-weight:600;color:var(--text-strong)}.pp-member small{font-size:11px;color:var(--pp-muted)}.pp-progress-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:18px}.pp-progress-side{display:flex;flex-direction:column;gap:12px;min-width:0}@media(max-width:1400px){.pp-filters{grid-template-columns:repeat(4,minmax(130px,1fr))}}@media(max-width:1050px){.pp-filters{grid-template-columns:repeat(2,minmax(130px,1fr))}.pp-progress-layout{grid-template-columns:1fr}}.pp-progress-layout.is-readonly{grid-template-columns:1fr}.pp-progress-layout.is-readonly .pp-entry-list{max-height:60vh}a.pp-btn{text-decoration:none}.pp-fselect{position:relative;min-width:0}.pp-fselect-btn{width:100%;height:32px;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:0 10px;border:1px solid #d5dfda;border-radius:8px;background:#fff;color:#233a32;font-size:12px;font-weight:500;cursor:pointer;text-align:left}.pp-fselect-btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-fselect-btn svg{flex:none;color:#6b7d76}.pp-fselect-btn.has-value{border-color:#9cc5b4;background:#f4faf7}.pp-fselect-btn:focus-visible,.pp-fselect-btn[aria-expanded=true]{outline:none;border-color:#76a895;box-shadow:0 0 0 3px #1b463c12}.pp-fselect-pop{position:absolute;top:calc(100% + 4px);left:0;z-index:45;min-width:100%;width:max-content;max-width:320px;background:#fff;border:1px solid var(--pp-border);border-radius:10px;box-shadow:0 14px 40px #0f2a2224;padding:5px}.pp-fselect-search{display:flex;align-items:center;gap:6px;height:32px;padding:0 9px;margin-bottom:4px;border:1px solid #dfe7e3;border-radius:7px;color:#91a099}.pp-fselect-search input{border:0;outline:none;width:100%;height:28px;font:inherit;font-size:12.5px;font-weight:400;color:#233a32;background:transparent}.pp-fselect-pop ul{list-style:none;margin:0;padding:0;max-height:260px;overflow-y:auto}.pp-fselect-pop li{padding:7px 10px;border-radius:6px;font-size:12.5px;font-weight:400;color:#2b3d37;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pp-fselect-pop li.is-active{background:var(--pp-soft)}.pp-fselect-pop li.is-selected{color:#0d4d39;font-weight:600}.pp-fselect-pop li.is-selected:after{content:"✓";float:right;margin-left:12px;color:var(--pp-green)}.pp-fselect-empty{color:var(--pp-muted)!important;cursor:default!important}.pp-badge-lg{background:#fdf0d8;color:#8a5a07}.pp-badge-lt{background:#fff7e8;color:#8a5a07;border:1px dashed #e6c27a}.pp-type-lg,.pp-type-lt{background:#fdf0d8;color:#8a5a07}.pp-progress-form{display:flex;flex-direction:column;gap:12px}.pp-stack{display:inline-flex;align-items:center;padding:0;border:0;background:transparent}.pp-stack.is-button{cursor:pointer;border-radius:99px;padding:2px 4px 2px 2px;margin-left:-2px}.pp-stack.is-button:hover{background:#eef5f1;box-shadow:0 0 0 1px #cfe0d8}.pp-stack .pp-avatar+.pp-avatar{margin-left:-7px}.pp-avatar{flex:none;display:inline-grid;place-items:center;border-radius:50%;font-weight:750;letter-spacing:.02em;line-height:1;box-shadow:0 0 0 2px #fff;font-style:normal;font-family:inherit}.pp-avatar.is-me{box-shadow:0 0 0 2px #fff,0 0 0 3.5px #2f8f6b}.pp-avatar-more{width:24px;height:24px;background:#eef1f0;color:#4b5f58;font-size:10px}.pp-member .pp-avatar{margin:0}.pp-member.is-locked{cursor:not-allowed}.pp-member.is-locked input{opacity:.6}.pp-person-chip:disabled{cursor:default;opacity:.8}.pp-assignee-list .pp-member{cursor:default}.pp-assignee-list .pp-member>span{flex:1}.pp-btn-sm{height:28px;padding:0 10px;font-size:12px}.pp-member span.pp-avatar,.pp-stack span.pp-avatar{display:inline-grid;flex:none;flex-direction:initial;gap:0}.pp-assignee-list .pp-member>span{flex:initial}.pp-assignee-list .pp-member>span:not(.pp-avatar){flex:1}.pp-stack .pp-avatar+.pp-avatar{margin-left:-4px}.pp-type-key{display:inline-flex;align-items:center;gap:5px;color:var(--pp-ink);font-weight:500}.pp-toolbar-card{padding:8px 12px 10px;gap:8px}.employee-performance.pp-shell{--pp-green: #006c4d;--pp-green-dark: #1b463c;--pp-green-soft: #e8f3ee;--pp-ink: #26312f;--pp-muted: #71817b;--pp-border: #dce4e1;--pp-line: #e9eeeb;--pp-soft: #f6f8f8;--pp-plan: #b9c6c1;--pp-summary: #424a52;--pp-actual: #688c36;--pp-pending: #d69a2d;--pp-bad: #c2410c;--pp-row: 40px;color:var(--pp-ink);display:flex;flex-direction:column;gap:8px;min-width:0;font-family:var(--font-sans);font-feature-settings:"cv11","ss01","tnum";-webkit-font-smoothing:antialiased;letter-spacing:-.005em}.pp-shell input,.pp-shell select,.pp-shell textarea,.pp-backdrop,.pp-drawer{font-family:var(--font-sans)}.pp-shell button,.pp-backdrop button,.pp-drawer button{font-family:inherit}.pp-dialog-head .pp-icon-btn,.pp-drawer-head .pp-icon-btn{width:34px;height:34px}.pp-chart-shell{background:#fff;border:1px solid var(--pp-border);border-radius:12px;overflow:hidden}.pp-scroll{overflow:auto;height:calc(100vh - 286px);min-height:420px;position:relative;scrollbar-width:thin;scrollbar-color:#aab2ae #f4f6f5}.pp-inner{position:relative;min-width:100%}.pp-header,.pp-row{display:flex}.pp-header{position:sticky;top:0;z-index:12;background:var(--pp-soft);border-bottom:1px solid var(--pp-border)}.pp-left{flex:none;display:flex;position:sticky;left:0;z-index:6;background:#fff;border-right:1px solid var(--pp-border);box-shadow:4px 0 8px -6px #1b463c30}.pp-left-head{z-index:13;background:#fbfcfc}.pp-left-head .pp-cell{min-height:50px;font-size:11px;font-weight:750;color:#5e6c66;text-transform:none;position:relative}.pp-cell{flex:none;box-sizing:border-box;display:flex;align-items:center;padding:0 10px;font-size:12px;color:#33433e;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;border-left:1px solid #eef2f0}.pp-cell:first-child{border-left:0}.pp-resizer{position:absolute;right:-3px;top:0;bottom:0;width:7px;cursor:col-resize;z-index:2}.pp-resizer:hover,.pp-resizer:active{background:linear-gradient(to right,transparent 2px,#76a895 2px,#76a895 4px,transparent 4px)}.pp-dates{position:relative;flex:none;height:50px;overflow:hidden}.pp-tick{position:absolute;box-sizing:border-box;overflow:hidden;white-space:nowrap;color:#586b62;font-size:11px;border-left:1px solid var(--pp-border);display:flex;align-items:center;justify-content:center}.pp-tick-month{top:0;height:22px;font-weight:750;color:#344f44;border-bottom:1px solid #e0e6e3}.pp-tick-week{top:22px;height:28px;font-weight:700;font-size:12px}.pp-dates-day .pp-tick-month{height:17px;font-size:10px}.pp-dates-day .pp-tick-week{top:17px;height:14px;font-size:10px;border-bottom:1px solid #e0e6e3}.pp-tick-day{top:31px;height:19px;flex-direction:column;gap:0;line-height:10px;font-size:10px}.pp-tick-day span{font-weight:750}.pp-tick-day small{font-size:8px;color:#7b8983}.pp-tick-day.weekend{background:#edf1ef}.pp-dates-month .pp-tick-month{height:50px;font-size:12px;border-bottom:0}.pp-tick-quarter{top:0;height:50px;font-weight:800;color:var(--pp-green-dark);background:#eaf1ee;font-size:12px}.pp-rows{position:relative}.pp-row{height:var(--pp-row);border-bottom:1px solid var(--pp-line);box-sizing:border-box;position:relative;cursor:default}.pp-row:hover .pp-left,.pp-row:hover .pp-track{background-color:#f8fbf9}.pp-row.is-project{height:44px}.pp-row.is-project .pp-left,.pp-row.is-project .pp-track{background-color:#f5f8f6}.pp-row.is-m .pp-left{background-color:#fcfdfc}.pp-row.is-selected .pp-left,.pp-row.is-selected .pp-track{background-color:#eef7f2!important}.pp-row.is-selected .pp-left{box-shadow:inset 3px 0 0 var(--pp-green),4px 0 8px -6px #1b463c30}.pp-row.is-dragging{opacity:.45}.pp-row.has-menu .pp-left{z-index:11}.pp-row.drop-before:before,.pp-row.drop-after:after{content:"";position:absolute;left:0;right:0;height:2px;background:var(--pp-green);z-index:9;box-shadow:0 0 0 1px #fff}.pp-row.drop-before:before{top:-1px}.pp-row.drop-after:after{bottom:-1px}.pp-name{position:relative;display:flex;align-items:center;gap:4px;width:100%;min-width:0;height:100%}.pp-name-cell{overflow:visible}.pp-grip,.pp-grip-space{width:14px;flex:none;display:grid;place-items:center;color:#a3b1ab}.pp-grip{position:absolute;left:-9px;top:50%;transform:translateY(-50%);z-index:1;cursor:grab;border-radius:4px;height:24px;opacity:0;transition:opacity .12s}.pp-row:hover .pp-grip{opacity:1}.pp-grip:hover{color:var(--pp-green);background:#e8f1ed}.pp-grip:active{cursor:grabbing}.pp-toggle,.pp-toggle-space{width:16px;height:22px;flex:none}.pp-toggle{display:grid;place-items:center;border:0;background:transparent;color:#385b4c;padding:0;cursor:pointer;border-radius:4px}.pp-toggle:hover{background:#e3ece8}.pp-name-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.pp-name-text strong{font-size:12.5px;line-height:1.2;color:#1d2925;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pp-row.is-project .pp-name-text strong{font-size:13.5px;color:var(--pp-green-dark);font-weight:750}.pp-row.is-m .pp-name-text strong{font-weight:750}.pp-name-text small{font-size:10px;color:#7a8882;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pp-add-wrap{position:relative;flex:none}.pp-add{width:22px;height:22px;display:grid;place-items:center;border-radius:6px;border:1px solid #cfe0d8;background:#fff;color:var(--pp-green);cursor:pointer;opacity:0;transition:opacity .12s}.pp-row:hover .pp-add,.pp-row.is-selected .pp-add,.pp-row.is-project .pp-add,.pp-add:focus-visible{opacity:1}.pp-add:hover{background:var(--pp-green);color:#fff;border-color:var(--pp-green)}.pp-menu{position:absolute;top:26px;right:0;z-index:30;min-width:190px;background:#fff;border:1px solid var(--pp-border);border-radius:10px;box-shadow:0 14px 40px #0f2a2224;padding:5px;display:flex;flex-direction:column}.pp-menu button{display:flex;align-items:center;gap:8px;border:0;background:transparent;text-align:left;padding:8px 9px;border-radius:7px;font-size:12.5px;color:#24352f;cursor:pointer}.pp-menu button:hover{background:var(--pp-soft)}.pp-col-hours,.pp-col-progress{font-variant-numeric:tabular-nums}.pp-track{position:relative;flex:none;height:100%;box-sizing:border-box;background-color:#fff;background-image:repeating-linear-gradient(to right,transparent 0,transparent calc(var(--pp-px-day) - 1px),#f0f3f1 calc(var(--pp-px-day) - 1px),#f0f3f1 var(--pp-px-day));overflow:hidden}.pp-track-month,.pp-track-quarter{background-image:none}.pp-grid{position:absolute;top:0;bottom:0;width:1px;background:#dde5e1;pointer-events:none}.pp-plan{position:absolute;top:8px;height:10px;border-radius:4px;background:repeating-linear-gradient(-45deg,#d6e0dc 0,#d6e0dc 5px,#c8d4cf 5px,#c8d4cf 10px);border:1px solid #a9bbb3;box-sizing:border-box;z-index:2}.pp-plan.is-summary{top:10px;height:6px;background:var(--pp-summary);border:0;border-radius:2px}.pp-plan.is-summary:before,.pp-plan.is-summary:after{content:"";position:absolute;bottom:-5px;border:4px solid transparent;border-top:5px solid var(--pp-summary)}.pp-plan.is-summary:before{left:-1px;border-left-color:var(--pp-summary);border-right-width:0}.pp-plan.is-summary:after{right:-1px;border-right-color:var(--pp-summary);border-left-width:0}.pp-plan.is-late{border-color:var(--pp-bad);box-shadow:0 0 0 1px #c2410c33}.pp-plan.is-summary.is-late{background:#8b3a1c}.pp-plan.is-summary.is-late:before,.pp-plan.is-summary.is-late:after{border-top-color:#8b3a1c}.pp-plan.is-summary.is-late:before{border-left-color:#8b3a1c}.pp-plan.is-summary.is-late:after{border-right-color:#8b3a1c}.pp-plan-point{position:absolute;top:7px;width:11px;height:11px;margin-left:-5px;transform:rotate(45deg);background:var(--pp-summary);border-radius:2px;z-index:2}.pp-bar-label{position:absolute;top:5px;font-size:10px;font-weight:750;color:#4d5f58;white-space:nowrap;z-index:2;pointer-events:none}.pp-actual{position:absolute;top:23px;height:8px;border-radius:4px;background:var(--pp-actual);z-index:3}.pp-actual-seg{position:absolute;top:22px;height:11px;border-radius:3px;z-index:3;box-sizing:border-box;cursor:help}.pp-actual-seg.is-ok{background:var(--pp-actual);box-shadow:0 1px 2px #15261f20}.pp-actual-seg.is-pending{background:repeating-linear-gradient(-45deg,#e7b24d 0,#e7b24d 4px,#d69a2d 4px,#d69a2d 8px)}.pp-actual-seg.is-draft{background:#fff;border:1.5px dashed #8a9a94}.pp-actual-seg:hover{outline:2px solid #243d32;outline-offset:1px;z-index:5}.pp-row.is-project .pp-plan.is-summary{top:11px;height:7px}.pp-row.is-project .pp-actual{top:27px}.pp-today-layer{position:absolute;top:0;bottom:0;left:var(--pp-left);overflow:hidden;pointer-events:none;z-index:4}.pp-today{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--pp-bad);box-shadow:0 0 0 1px #ffffff80}.pp-row-empty{padding:18px 16px;color:var(--pp-muted);font-size:13px;position:sticky;left:0;max-width:720px}.pp-foot{display:flex;align-items:center;gap:12px;margin-top:-2px;flex-wrap:wrap;font-size:11px;color:var(--pp-muted);padding:0 2px}.pp-foot>span{display:flex;align-items:center;gap:6px}.pp-foot i{display:inline-block;width:24px;border-radius:3px}.pp-key-plan{height:10px;background:repeating-linear-gradient(-45deg,#d6e0dc 0,#d6e0dc 5px,#c8d4cf 5px,#c8d4cf 10px);border:1px solid #a9bbb3;box-sizing:border-box}.pp-key-summary{height:6px;background:var(--pp-summary)}.pp-key-actual{height:10px;background:var(--pp-actual)}.pp-key-pending{height:10px;background:repeating-linear-gradient(-45deg,#e7b24d 0,#e7b24d 4px,#d69a2d 4px,#d69a2d 8px)}.pp-key-draft{height:10px;border:1.5px dashed #8a9a94;box-sizing:border-box}.pp-key-today{width:3px!important;height:14px;background:var(--pp-bad);border-radius:0!important}.pp-foot small{margin-left:auto;font-size:11px}.pp-drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100vw);z-index:900;background:#fff;border-left:1px solid var(--pp-border);box-shadow:-18px 0 50px #0f2a221f;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px;animation:pp-slide .18s ease-out}@keyframes pp-slide{0%{transform:translate(24px);opacity:0}to{transform:none;opacity:1}}.pp-drawer-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.pp-drawer-head small{display:block;color:var(--pp-muted);font-size:11px;line-height:1.4}.pp-drawer-head h3{margin:4px 0 8px;font-size:18px;color:var(--pp-green-dark);line-height:1.25;overflow-wrap:anywhere}.pp-drawer-actions{display:flex;flex-wrap:wrap;gap:7px;padding-bottom:14px;border-bottom:1px solid var(--pp-line)}.pp-attrs{display:grid;grid-template-columns:110px 1fr;gap:8px 12px;margin:0;font-size:12.5px}.pp-attrs dt{color:var(--pp-muted)}.pp-attrs dd{margin:0;color:#22332d;overflow-wrap:anywhere}.pp-pre{white-space:pre-wrap}.pp-drawer-list h4,.pp-progress-side h4{margin:0 0 8px;font-size:12px;color:#3d574b;text-transform:uppercase;letter-spacing:.06em}.pp-entry-mini{display:grid;grid-template-columns:74px 44px 1fr auto;gap:8px;align-items:center;font-size:12px;padding:7px 0;border-bottom:1px solid #f0f3f1}.pp-entry-who{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#4f625b}.pp-warn{margin:0;font-size:12px;color:#8a5a07;background:#fff7e6;border:1px solid #f3dfb2;padding:8px 10px;border-radius:8px}.pp-bad-text{color:#b42318!important}.pp-chips{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 0}.pp-stepper{display:grid;grid-template-columns:40px 1fr 40px;gap:6px}.pp-stepper button{height:40px;border:1px solid #cbd7d4;border-radius:8px;background:#fff;display:grid;place-items:center;cursor:pointer;color:#2c4a40}.pp-stepper button:hover{background:#f3f8f5}.pp-stepper output{height:40px;border:1px solid #cbd7d4;border-radius:8px;display:grid;place-items:center;font-variant-numeric:tabular-nums;font-size:14px;font-weight:700;color:#18302b}.pp-slider-box{padding:12px;border-radius:9px;background:#f3f8f5;border:1px solid #dce9e2;display:flex;flex-direction:column;gap:6px}.pp-slider-head{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:13px}.pp-slider-head span{font-size:12px;color:#63756f}.pp-slider-row{display:flex;align-items:center;gap:12px}.pp-slider-row input{flex:1;height:6px;border-radius:99px;accent-color:#00785d;cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.pp-slider-row b{min-width:42px;text-align:right;font-variant-numeric:tabular-nums}.pp-slider-box small{color:#63756f;font-size:11.5px}.pp-send-box{border:1px solid #cfe5da;background:linear-gradient(180deg,#f2faf6,#fff);border-radius:11px;padding:12px;display:flex;flex-direction:column;gap:8px}.pp-send-box b{font-size:13px;color:var(--pp-green-dark)}.pp-send-box p{margin:0;font-size:12px;color:#4f625b;line-height:1.5}.pp-entry-list{display:flex;flex-direction:column;gap:8px;max-height:330px;overflow-y:auto}.pp-entry{border:1px solid #e0e8e4;border-radius:9px;padding:9px 10px;display:flex;flex-direction:column;gap:4px;font-size:12px}.pp-entry-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.pp-entry p{margin:0;color:#4f625b;overflow-wrap:anywhere}.pp-entry small{color:var(--pp-muted);font-size:11px}.pp-approvers{line-height:1.4}.pp-entry-actions{display:flex;gap:12px}@media(max-width:650px){.pp-filter-project{grid-column:1 / -1}.pp-filters{grid-template-columns:1fr 1fr}.pp-grid-2{grid-template-columns:1fr}.pp-foot small{margin-left:0;width:100%}.pp-scroll{max-height:none}}.pp-mine-chip{display:inline-block;margin-right:5px;padding:0 5px;border-radius:99px;background:var(--pp-green);color:#fff;font-style:normal;font-size:9.5px;font-weight:750;vertical-align:1px}.pp-row.is-mine .pp-left{box-shadow:inset 3px 0 #8cc4ab,4px 0 8px -6px #1b463c30}.pp-row.is-context .pp-name-text strong{color:#5f6f69;font-weight:600}.pp-row.is-context .pp-track{opacity:.75}.pp-entry-by{grid-column:1 / -1;margin-top:-3px;font-size:11px;color:#5f726b}.pp-entry-by b{color:#17663f;font-weight:700}.pp-row.is-focus .pp-left,.pp-row.is-focus .pp-track{background-color:#fff6dc!important;transition:background-color .6s}.pp-row.is-focus .pp-left{box-shadow:inset 3px 0 #d69a2d,4px 0 8px -6px #1b463c30}.pp-slider-box.is-reduction{background:#fff6f1;border-color:#f3d3c3}.pp-slider-box.is-reduction .pp-slider-row b{color:#c2410c}.pp-reason{margin-top:4px}.pp-reason input{min-height:36px;border-color:#e7b9a3}.pp-reason-note{color:#a63a14!important}.pp-flabel{display:flex;flex-direction:column;gap:4px;min-width:0;color:#3c5149;font-size:11px;font-weight:500}.pp-row.is-lg .pp-name-text strong{font-weight:750;color:#6d4a07}.pp-foot-left{margin-right:auto;align-self:center}.pp-history-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-bottom:12px}.pp-history-kpis>div{background:var(--pp-soft);border:1px solid #e5ebe8;border-radius:9px;padding:8px 11px;display:flex;flex-direction:column;gap:2px}.pp-history-kpis small{font-size:10px;font-weight:700;color:#77857f;text-transform:uppercase;letter-spacing:.05em}.pp-history-kpis strong{font-size:16px;color:#1d3a31}.pp-history-list{max-height:55vh}.pp-history-empty{padding:24px 0;text-align:center}.pp-day-bar{position:absolute;top:22px;height:11px;display:flex;gap:1px;border-radius:3px;overflow:hidden;z-index:3;cursor:pointer;box-shadow:0 1px 2px #15261f20}.pp-day-bar:hover{outline:2px solid #243d32;outline-offset:1px;z-index:5}.pp-day-bar>i{display:block;height:100%;min-width:2px}.pp-day-bar>i.is-ok{background:var(--pp-actual)}.pp-day-bar>i.is-pending{background:repeating-linear-gradient(-45deg,#e7b24d 0,#e7b24d 4px,#d69a2d 4px,#d69a2d 8px)}.pp-day-bar>i.is-draft{background:#fff;box-shadow:inset 0 0 0 1.5px #8a9a94}.pp-day-bar>i.is-draft:first-child{border-radius:3px 0 0 3px}.pp-proposals{display:flex;flex-direction:column;gap:4px;margin-top:6px;padding-top:8px;border-top:1px dashed #d3e3da;font-size:12px;color:#40564f}.pp-proposals>b{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#5f726b}.pp-proposals span{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pp-proposals em{font-style:normal;margin-left:auto}.pp-day-bar>i.is-draft{background:repeating-linear-gradient(-45deg,#a9c7f2 0,#a9c7f2 4px,#8db4ea 4px,#8db4ea 8px);box-shadow:none}.pp-key-draft{background:repeating-linear-gradient(-45deg,#a9c7f2 0,#a9c7f2 4px,#8db4ea 4px,#8db4ea 8px);border:0!important;height:10px}.pp-foot-types{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pp-foot-sep{width:1px;height:16px;background:var(--pp-border)}@media(max-width:720px){.pp-foot-sep{display:none}}.page-content.is-wide{max-width:none;padding:12px 14px 10px}.pp-group-by{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:#3c5149}.pp-row.is-employee{height:46px;border-top:1px solid #cfdcd5}.pp-row.is-employee .pp-left,.pp-row.is-employee .pp-track{background-color:#e9f1ed}.pp-row.is-employee .pp-name-text strong{font-size:13.5px;font-weight:750;color:#14302a}.pp-row.is-employee .pp-name-text small{color:#52675f}.pp-shell>.page-heading{margin-bottom:0}*{box-sizing:border-box;border-color:var(--border);letter-spacing:0}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-sans);font-size:var(--fs-md);line-height:var(--lh-normal);font-weight:var(--fw-regular);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}h1,h2,h3,h4{font-family:inherit;color:var(--text-strong);font-weight:var(--fw-semibold);line-height:var(--lh-tight)}b,strong{font-weight:var(--fw-semibold)}input,select,textarea{outline:none}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--accent)}input::placeholder,textarea::placeholder{color:var(--text-subtle)}.num,td,.tabular{font-variant-numeric:tabular-nums}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.searchbox input:focus,.pp-search input:focus,.pp-fselect-search input:focus,.es-selection-search input:focus{box-shadow:none;border-color:transparent}.pp-search div:focus-within,.pp-fselect-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--accent)}.sidebar{width:var(--sidebar-width);position:fixed;inset:0 auto 0 0;height:100vh;height:100dvh;background:var(--nav);color:var(--nav-foreground);display:flex;flex-direction:column;padding:20px 14px 14px;overflow:hidden;z-index:30}.brand{display:block;padding:0 12px 14px}.brand img{width:130px;height:48px;object-fit:contain}.brand>span{display:block;margin-top:6px;font-size:9px;font-weight:var(--fw-medium);letter-spacing:.2em;color:var(--nav-muted)}.brand .brand-mark{display:none}.workspace-label{padding:12px 10px;border-top:1px solid var(--nav-line);display:flex;align-items:center;gap:10px}.workspace-symbol{display:grid;place-items:center;width:32px;height:34px;color:var(--lime);border:1px solid var(--nav-line);border-radius:var(--radius-sm)}.workspace-label strong{display:block;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--primary-foreground)}.workspace-label small{display:block;font-size:var(--fs-2xs);margin-top:2px;color:var(--nav-muted)}.nav-caption{font-size:var(--fs-2xs);color:#fff;letter-spacing:var(--tracking-caps);padding:4px 12px 8px}.nav-list{display:grid;flex:1 1 auto;min-height:0;align-content:start;gap:2px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--nav-line) transparent}.nav-link{display:flex;align-items:center;gap:12px;min-height:44px;padding:10px 12px;flex-shrink:0;border-radius:var(--radius-sm);font-size:var(--fs-sm);font-weight:var(--fw-medium);transition:background .18s}.nav-link>span:nth-child(2){flex:1}.nav-link:hover{background:var(--nav-line)}.nav-link--active{background:var(--nav-active);color:var(--lime)}.nav-soon{font-size:9px;color:var(--nav-muted);border:1px solid var(--nav-line);padding:2px 5px;border-radius:3px}.nav-separated{position:relative}.sidebar-bottom{flex-shrink:0;margin-top:8px;min-width:0}.sidebar-note{display:flex;align-items:center;gap:12px;padding:10px 10px 12px}.tiny-mark{font-size:34px;font-weight:700;line-height:1;color:var(--lime)}.sidebar-note p{font-size:var(--fs-xs);line-height:1.5;margin:0;color:var(--nav-muted)}.sidebar-note strong{color:var(--nav-foreground);font-weight:var(--fw-medium)}.sidebar-user{display:grid;grid-template-columns:34px minmax(0,1fr) 17px;gap:10px;align-items:center;border-top:1px solid var(--nav-line);padding:12px 4px 0;min-width:0}.sidebar-user>div:nth-child(2){min-width:0}.sidebar-user strong,.sidebar-user small{display:block;overflow-wrap:anywhere;line-height:1.35}.sidebar-user strong{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--primary-foreground)}.sidebar-user small{font-size:var(--fs-2xs);color:var(--nav-muted);margin-top:2px}.sidebar-user>svg{color:var(--nav-muted)}.avatar{height:34px;width:34px;display:grid;place-items:center;background:var(--accent);color:var(--primary);border-radius:50%;font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.main-area{margin-left:var(--sidebar-width);min-height:100vh;display:flex;flex-direction:column}.topbar{height:var(--topbar-height);background:var(--card);border-bottom:1px solid var(--border);padding:0 var(--page-gutter);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.breadcrumb-group,.breadcrumbs,.topbar-actions{display:flex;align-items:center;gap:14px;min-width:0}.breadcrumbs{font-size:var(--fs-xs);color:var(--text-muted);gap:8px}.breadcrumbs strong{color:var(--text-strong);font-weight:var(--fw-medium);white-space:nowrap}.topbar-actions{gap:10px}.workspace-status{font-size:var(--fs-2xs);color:var(--text-muted);display:flex;gap:6px;align-items:center;margin-right:4px}.status-dot{display:inline-block;width:6px;height:6px;background:var(--primary);border-radius:50%;flex-shrink:0}.status-dot--guest{background:var(--gold)}.page-content{padding:28px var(--page-gutter) 28px;max-width:1550px;width:100%;margin:0 auto;flex:1}.app-footer{padding:14px var(--page-gutter);display:flex;justify-content:space-between;gap:10px;font-size:var(--fs-2xs);color:var(--text-muted);border-top:1px solid var(--border)}.toast{position:fixed;bottom:22px;right:22px;z-index:2000;background:var(--nav);color:var(--primary-foreground);display:flex;align-items:center;gap:12px;padding:10px 12px 10px 16px;font-size:var(--fs-sm);border-radius:var(--radius-md);max-width:calc(100vw - 44px);box-shadow:var(--shadow);overflow-wrap:anywhere}.sidebar-close,.mobile-scrim{display:none}.is-collapsed .sidebar{width:var(--sidebar-collapsed);padding-left:12px;padding-right:12px}.is-collapsed .main-area{margin-left:var(--sidebar-collapsed)}.is-collapsed .brand{padding:0 0 25px;overflow:hidden}.is-collapsed .brand>span,.is-collapsed .workspace-label,.is-collapsed .nav-caption,.is-collapsed .nav-link>span,.is-collapsed .sidebar-note{display:none}.is-collapsed .brand>img.brand-full{display:none}.is-collapsed .brand .brand-mark{display:block;width:40px;height:auto;margin:0 auto}.is-collapsed .sidebar-user{display:flex;justify-content:center;padding:14px 0 0}.is-collapsed .sidebar-user>div:nth-child(2),.is-collapsed .sidebar-user>svg{display:none}.is-collapsed .nav-link{justify-content:center}@media(max-width:1150px){:root{--page-gutter: 24px}}@media(max-width:950px){.sidebar{transform:translate(-100%);transition:transform .2s}.sidebar--open{transform:translate(0)}.main-area,.is-collapsed .main-area{margin-left:0}.sidebar-close{display:grid;position:absolute;top:23px;right:5px;color:var(--nav-foreground)}.mobile-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border-radius:0;background:var(--scrim);z-index:25}.is-collapsed .sidebar{width:var(--sidebar-width)}}@media(max-width:640px){:root{--page-gutter: 16px}.topbar{padding:0 14px}.breadcrumbs>span,.breadcrumbs>svg{display:none}.workspace-status{display:none}.page-content{padding:20px var(--page-gutter)}.app-footer{padding:14px var(--page-gutter)}}@media(max-height:820px){.sidebar-note{display:none}.workspace-label{padding:10px}.nav-link{padding:9px 12px}}@media(max-height:680px){.brand>span{display:none}.brand{padding-bottom:8px}}.page-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 24px;min-height:40px;margin-bottom:var(--space-5)}.page-title{display:flex;align-items:center;gap:12px;min-width:0}.page-title-icon{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:10px;background:linear-gradient(145deg,#e3f3ea,#cfe8dc);color:var(--brand-strong);box-shadow:inset 0 0 0 1px #006f501f}.page-heading h1{font-size:22px;font-weight:var(--fw-semibold);line-height:1.2;letter-spacing:-.01em;color:var(--text-strong);margin:0;overflow-wrap:anywhere}.heading-action{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-2);margin-left:auto}.eyebrow{display:none}.date-label{display:flex;align-items:center;gap:6px;font-size:var(--fs-xs);color:var(--text-muted);white-space:nowrap}.card,.panel{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.card{padding:var(--card-padding)}.panel{overflow:hidden}.card-header,.panel-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.card-header{margin-bottom:var(--space-4)}.panel-header{padding:14px var(--card-padding);border-bottom:1px solid var(--line)}.card-title,.panel-header h3,.section-heading h2{font-size:var(--fs-lg);font-weight:var(--fw-semibold);line-height:1.35;color:var(--text-strong);margin:0}.card-subtitle,.panel-header p,.section-heading p{font-size:var(--fs-xs);color:var(--text-muted);line-height:var(--lh-normal);margin:2px 0 0}.panel-count{font-size:var(--fs-2xs);font-weight:var(--fw-medium);color:var(--brand);background:var(--accent);padding:3px 8px;border-radius:var(--radius-pill)}.panel>.table-wrap{border:0;border-radius:0}.section-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:var(--space-4)}.section-heading>button{font-size:var(--fs-xs);color:var(--text-muted)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-3);margin-bottom:var(--space-6)}.stat-card{min-width:0;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);padding:14px 16px}.stat-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;font-size:var(--fs-xs);color:var(--text-muted)}.stat-value{font-size:var(--fs-kpi);font-weight:var(--fw-semibold);line-height:1.15;color:var(--text-strong);margin:8px 0 4px}.stat-bottom{display:flex;align-items:center;justify-content:space-between;gap:6px;color:var(--text-muted);font-size:var(--fs-2xs)}.stat-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:var(--radius-sm);flex-shrink:0}.stat-icon--green,.stat-icon--blue-old,.table-icon{background:var(--accent);color:var(--primary)}.stat-icon--gold{background:var(--gold-soft);color:var(--gold)}.stat-icon--blue{background:var(--blue-soft);color:var(--blue)}.stat-icon--rose{background:var(--rose-soft);color:var(--rose)}.toolbar{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;margin-bottom:var(--space-4)}.searchbox{display:flex;gap:8px;align-items:center;max-width:400px;flex:1;min-width:220px;border:1px solid var(--line-strong);background:var(--surface);padding:0 12px;height:36px;border-radius:var(--radius-md);color:var(--text-subtle)}.searchbox:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--accent)}.searchbox input{width:100%;min-width:0;border:0;background:transparent;font-size:var(--fs-sm);color:var(--text)}.searchbox input:focus{box-shadow:none}.table-wrap{width:100%;max-width:100%;max-height:520px;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-lg);scrollbar-width:thin;scrollbar-color:#a8bdb4 #f3f7f5}table{width:100%;border-collapse:collapse;text-align:left}.table-wrap table{min-width:680px;border-collapse:separate;border-spacing:0}th{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-muted);padding:10px 14px;background:var(--surface-muted);border-bottom:1px solid var(--line);white-space:nowrap}.table-wrap thead th{position:sticky;top:0;z-index:2}td{font-size:var(--fs-sm);padding:12px 14px;border-bottom:1px solid var(--line);color:var(--text);white-space:nowrap;vertical-align:middle}td strong{color:var(--text-strong);font-weight:var(--fw-medium)}.table-wrap tbody tr:last-child td{border-bottom:0}.table-wrap tbody tr:hover td{background:#fbfdfc}.cell-sub{display:block;font-size:var(--fs-2xs);color:var(--text-muted);margin-top:2px}.project-cell{display:flex;align-items:center;gap:12px;min-width:160px}.project-cell strong{font-weight:var(--fw-semibold)}.project-cell small{display:block;margin-top:2px;font-size:var(--fs-xs);color:var(--text-muted);max-width:260px;overflow:hidden;text-overflow:ellipsis}.table-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:var(--radius-sm);flex-shrink:0}.table-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 4px 2px;color:var(--text-muted);font-size:var(--fs-sm)}.table-pagination>div{display:flex;align-items:center;gap:10px}.table-pagination button{padding:6px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:#fff;cursor:pointer}.table-pagination button:disabled{opacity:.45;cursor:not-allowed}.status-badge,.role-chip,.badge{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-2xs);font-weight:var(--fw-medium);line-height:1.4;padding:2px 8px;border-radius:var(--radius-pill);background:var(--accent);color:var(--brand);white-space:nowrap}.status-badge--inactive,.badge--danger{background:var(--rose-soft);color:var(--danger)}.badge--warning{background:#fff4dc;color:var(--warning)}.badge--neutral{background:var(--surface-sunken);color:var(--text-muted)}.badge--info{background:var(--blue-soft);color:#2c5596}.loading-state,.empty-state{padding:40px 20px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--text-muted);font-size:var(--fs-sm)}.empty-state{flex-direction:column;min-height:220px}.empty-state strong{color:var(--text-strong);font-size:var(--fs-md)}.empty-state p{max-width:340px;text-align:center;line-height:var(--lh-normal);margin:0}.error-banner,.inline-error{background:var(--rose-soft);border:1px solid #efc6c1;color:var(--danger);padding:12px 14px;border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:var(--fs-sm);line-height:var(--lh-normal);overflow-wrap:anywhere}.error-banner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.error-banner strong,.error-banner span{display:block}.access-empty{min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;color:var(--primary);border-top:1px solid var(--border)}.access-empty h1,.access-empty h2{font-size:var(--fs-2xl);margin:8px 0 0}.access-empty p{font-size:var(--fs-sm);line-height:var(--lh-normal);color:var(--text-muted);margin:0 0 10px;max-width:360px}.coming-soon{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-caps);color:var(--gold)}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>span{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text)}.field input,.field select,.field textarea{background:var(--surface);color:var(--text);border:1px solid var(--line-strong);border-radius:var(--radius-md);width:100%;min-width:0;min-height:38px;padding:8px 12px;font-size:var(--fs-sm)}.field textarea{min-height:84px;resize:vertical;line-height:var(--lh-normal)}.field small{font-size:var(--fs-2xs);color:var(--text-muted)}.form-stack{display:grid;gap:14px}.form-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.context-note{font-size:var(--fs-xs);color:var(--text-muted);background:var(--surface-muted);padding:10px 12px;line-height:var(--lh-normal);border-radius:var(--radius-md)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#091d1873;display:grid;place-items:center;padding:20px}.modal{width:min(100%,540px);max-height:90vh;overflow:auto;background:var(--surface);border-radius:14px;box-shadow:var(--shadow-pop)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}.modal-header h2{font-size:var(--fs-xl);font-weight:var(--fw-semibold);margin:0}.modal-form{padding:20px}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-2);border-top:1px solid var(--line);padding:14px 20px}.modal-form .modal-actions{margin:6px -20px -20px}.text-link{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--brand);display:inline-flex;gap:6px;align-items:center}.text-link:hover{color:var(--brand-strong);text-decoration:underline;text-underline-offset:3px}.quick-list{border-top:1px solid var(--line)}.quick-link{display:grid;grid-template-columns:34px minmax(0,1fr) 17px;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.quick-link:hover strong{color:var(--primary)}.quick-link strong{display:block;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-strong)}.quick-link small{display:block;font-size:var(--fs-xs);margin-top:2px;color:var(--text-muted)}.quick-link>svg{color:var(--text-muted)}.segmented{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;background:var(--surface-sunken);border-radius:10px}.segmented button{border:0;background:transparent;padding:6px 12px;border-radius:var(--radius-md);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:#476158}.segmented button.active,.segmented button[aria-selected=true]{background:var(--surface);color:var(--brand);box-shadow:0 1px 3px #0a2c221a}@media(max-width:640px){.heading-action{justify-content:flex-start;margin-left:0}.page-heading h1{font-size:20px}.form-grid-two,.error-banner{grid-template-columns:1fr}.toolbar>button{font-size:0;gap:0;padding:10px}.table-wrap{max-height:480px}.table-wrap th,.table-wrap td{padding:10px}}.modal>.form-stack{padding:16px 20px 0}.modal>.form-stack.modal-form{padding:20px}.modal .form-stack>.modal-actions{margin:6px -20px 0}.modal .modal-form>.modal-actions{margin:6px -20px -20px}.card-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.notice{display:flex;align-items:center;gap:8px;margin-bottom:var(--space-4);padding:10px 12px;border:1px solid #bfe1cf;border-radius:var(--radius-md);background:#effaf4;color:#0b6a48;font-size:var(--fs-sm)}.notice>span{flex:1;min-width:0}.notice>button{border:0;background:transparent;color:inherit;display:grid;place-items:center}.pp-dialog.modal{display:block;overflow:auto;max-height:90vh}.toolbar-group{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);padding-left:var(--space-3);margin-left:var(--space-1);border-left:1px solid var(--line-strong)}.toolbar-count{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text-muted)}th.col-check,td.col-check{width:40px;padding-right:0}.pp-fselect-pop li.ms-opt{display:flex;align-items:center;gap:9px}.pp-fselect-pop li.ms-opt:after,.pp-fselect-pop li.ms-all:after{content:none}.pp-fselect-pop li.ms-opt:hover,.pp-fselect-pop li.ms-all:hover{background:var(--pp-soft)}.pp-fselect-pop li.ms-all{margin-bottom:2px;border-bottom:1px solid #eef2f0;border-radius:6px 6px 0 0;color:var(--text-muted)}.pp-fselect-pop li.ms-all.is-selected{color:#0d4d39;font-weight:500}.ms-box{flex:none;display:grid;place-items:center;width:15px;height:15px;border:1.5px solid #b9c9c2;border-radius:4px;background:#fff;color:#fff}.ms-opt.is-on .ms-box{border-color:var(--brand);background:var(--brand)}.ms-opt.is-on{color:#0d4d39}.ov{display:flex;flex-direction:column;gap:var(--section-gap)}.ov .page-heading{margin-bottom:0}.workspace-cover{position:relative;height:250px;overflow:hidden;color:var(--primary-foreground);border-radius:14px}.workspace-cover>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 60%}.workspace-cover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--photo-scrim)}.cover-content{position:relative;z-index:1;padding:26px 30px 34px}.cover-eyebrow{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:.18em;color:var(--lime)}.cover-content h2{font-size:30px;font-weight:var(--fw-semibold);line-height:1.2;color:inherit;margin:10px 0 8px}.cover-content p{font-size:var(--fs-xs);line-height:1.6;opacity:.85;margin:0 0 14px}.cover-content a{font-size:var(--fs-xs);height:34px}.cover-caption{position:absolute;right:20px;bottom:18px;z-index:1;font-size:9px;letter-spacing:.16em;opacity:.8}.ov-card,.ov .project-section,.ov .quick-section{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--card-padding);box-shadow:var(--shadow-card);min-width:0}.ov-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:14px}.ov-head h2,.ov .section-heading h2{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--text-strong);margin:0}.ov-head p,.ov .section-heading p{font-size:var(--fs-xs);color:var(--text-muted);margin:2px 0 0;line-height:1.45}.ov-head-right{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.ov-link{white-space:nowrap}.ov-seg,.ph-seg{display:inline-flex;background:var(--surface-sunken);border-radius:10px;padding:3px;gap:2px;flex-wrap:wrap}.ov-seg button,.ph-seg button{border:0;background:transparent;padding:6px 12px;border-radius:var(--radius-md);font-size:var(--fs-xs);font-weight:var(--fw-medium);color:#476158;cursor:pointer}.ov-seg button.active,.ph-seg button.active{background:var(--surface);color:var(--brand);box-shadow:0 1px 3px #0a2c221a}.ov-time-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.ov-time{background:var(--surface-muted);border:1px solid #e6eeea;border-top:3px solid var(--text-strong);border-radius:10px;padding:10px 14px;display:flex;flex-direction:column;gap:2px;min-width:0}.ov-time span{font-size:var(--fs-xs);color:var(--text-muted)}.ov-time b{font-size:22px;font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;white-space:nowrap}.ov-time small{font-size:var(--fs-2xs);color:var(--text-muted)}.ov-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.ov-chips span{background:#f0f6f3;border-radius:var(--radius-pill);padding:5px 12px;font-size:var(--fs-xs);color:#36514a}.ov-duo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:var(--section-gap)}.ov-duo.ov-single{grid-template-columns:minmax(0,1fr)}.ov-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ov-single .ov-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}.ov-kpi{position:relative;background:var(--surface-muted);border:1px solid #e6eeea;border-radius:var(--radius-lg);padding:12px 14px;display:flex;flex-direction:column;gap:2px;min-width:0}.ov-kpi .stat-icon{position:absolute;top:10px;right:10px;width:28px;height:28px}.ov-kpi strong{font-size:var(--fs-kpi);font-weight:var(--fw-semibold);line-height:1.2;color:var(--text-strong);margin-top:6px;font-variant-numeric:tabular-nums}.ov-kpi span{font-size:var(--fs-xs);color:var(--text-muted);padding-right:6px}.ph-row{display:grid;grid-template-columns:minmax(140px,260px) 1fr minmax(90px,130px);align-items:center;gap:12px;padding:7px 0;border-top:1px solid #f0f4f2}.ph-bar{height:8px;background:#edf3f0;border-radius:var(--radius-pill);overflow:hidden}.ph-bar b{display:block;height:100%;background:linear-gradient(90deg,#0b8f6a,#37b58f);border-radius:var(--radius-pill)}.ov-trio{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.2fr) minmax(0,.9fr);gap:var(--section-gap);align-items:start}.ov-trio .dashboard-columns{display:contents}.ov-trio .ph-row{grid-template-columns:minmax(0,1fr) auto}.ov-trio .ph-row .ph-bar{grid-column:1 / -1;order:3}.ov-trio .ph-seg{width:100%}.ov-trio .ph-seg button{flex:1;padding:6px}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--section-gap)}.project-section,.quick-section{min-width:0}.ov .project-section .section-heading,.ov .quick-section .section-heading{margin-bottom:12px}.ov .project-section .table-wrap{border:0;overflow-x:hidden}.ov .project-section .table-wrap table{table-layout:fixed;width:100%;min-width:0}.ov .project-section th{padding:10px 8px;white-space:normal}.ov .project-section td{padding:12px 8px;white-space:normal;overflow-wrap:anywhere}.ov .project-section th:nth-child(2),.ov .project-section td:nth-child(2){width:104px}.ov .project-section th:nth-child(3),.ov .project-section td:nth-child(3){width:84px}.ov .project-section .project-cell{min-width:0;gap:9px}.ov .project-section .project-cell strong{min-width:0;line-height:1.35;font-weight:var(--fw-medium)}.portfolio-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:220px;text-align:center}.project-line-icon{color:var(--primary);margin-bottom:8px}.portfolio-empty h3{font-size:var(--fs-md);margin:4px 0}.portfolio-empty p{font-size:var(--fs-xs);color:var(--text-muted);margin:4px 0 16px}.workspace-reminder{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:var(--fs-2xs);margin-top:14px}@media(min-width:1500px){.cover-content h2{font-size:32px}}@media(max-width:1400px){.ov-trio{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.ov-trio .project-hours-panel{grid-column:1 / -1}.ov-trio .ph-row{grid-template-columns:minmax(140px,260px) 1fr minmax(90px,130px)}.ov-trio .ph-row .ph-bar{grid-column:auto;order:0}.ov-trio .ph-seg{width:auto}}@media(max-width:1200px){.ov-duo{grid-template-columns:minmax(0,1fr)}.ov-single .ov-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.ov-trio,.dashboard-columns{grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){.ov-kpis,.ov-single .ov-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-cover{height:235px}.cover-content{padding:24px 20px}.cover-content h2{font-size:26px}.cover-caption{display:none}.ph-row{grid-template-columns:1fr auto}.ph-row .ph-bar{grid-column:1 / -1;order:3}}.login-page{min-height:100vh;position:relative;display:grid;place-items:center;padding:90px 20px}.login-background,.login-shade{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.login-shade{background:var(--scrim)}.login-back{position:absolute;top:30px;left:30px;display:flex;gap:8px;align-items:center;color:var(--primary-foreground);font-size:var(--fs-xs)}.login-card{position:relative;width:min(100%,440px);background:var(--surface);border-radius:14px;padding:36px 40px;box-shadow:var(--shadow)}.login-logo{width:130px;margin-bottom:28px}.login-card h1{font-size:var(--fs-2xl);margin:0 0 6px}.login-card>p{font-size:var(--fs-sm);color:var(--text-muted);margin:0 0 26px}.login-secure{display:flex;align-items:center;justify-content:center;gap:8px;font-size:var(--fs-2xs);color:var(--text-muted);margin-top:24px}.password-field{position:relative}.password-field input{padding-right:44px}.password-field button{position:absolute;right:4px;top:3px;color:var(--text-muted)}.login-bottom{position:absolute;bottom:25px;left:30px;right:30px;display:flex;justify-content:space-between;gap:20px;color:var(--primary-foreground);font-size:9px;letter-spacing:.16em}@media(max-width:640px){.login-card{padding:30px 24px}.login-bottom>span{display:none}.login-back{left:20px}}.support-topbar-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text-strong);cursor:pointer;transition:background .15s,border-color .15s}.support-topbar-icon:hover{background:#f2f8f5;border-color:#8eb5a7}.support-question-mark{font-size:18px;font-weight:var(--fw-semibold);line-height:1}.support-unread-dot{position:absolute;right:4px;top:4px;width:9px;height:9px;background:#e53935;border:2px solid white;border-radius:50%}.support-panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#08191647;z-index:1000;display:flex;justify-content:flex-end}.support-panel{height:100%;width:min(480px,100vw);background:var(--surface-muted);box-shadow:-12px 0 40px #00000029;display:flex;flex-direction:column;overflow:hidden}.support-panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px 16px;background:var(--surface);border-bottom:1px solid var(--line)}.support-eyebrow{font-size:var(--fs-2xs);letter-spacing:var(--tracking-caps);font-weight:var(--fw-semibold);color:var(--text-muted)}.support-panel-header h2{margin:4px 0 2px;font-size:var(--fs-xl)}.support-panel-header p{margin:0;color:var(--text-muted);font-size:var(--fs-sm)}.support-close{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;flex-shrink:0}.support-panel-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 22px;border-bottom:1px solid var(--line);background:var(--surface);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text)}.support-panel-toolbar b{color:var(--brand);margin-left:6px}.support-primary-button,.support-secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;border-radius:var(--radius-md);padding:0 14px;font-weight:var(--fw-medium);font-size:var(--fs-sm);cursor:pointer}.support-primary-button{border:1px solid var(--brand-strong);background:var(--primary);color:#fff}.support-primary-button:disabled{opacity:.65;cursor:wait}.support-secondary-button{border:1px solid var(--line-strong);background:var(--surface);color:var(--text)}.support-ticket-form{padding:16px 22px;background:var(--surface);border-bottom:1px solid var(--line);display:grid;gap:12px;overflow:auto}.support-ticket-form label{display:grid;gap:6px;font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text)}.support-ticket-form select,.support-ticket-form textarea{width:100%;border:1px solid var(--line-strong);border-radius:var(--radius-md);padding:8px 11px;background:var(--surface);color:var(--text);font:inherit;font-weight:var(--fw-regular);font-size:var(--fs-sm)}.support-ticket-form textarea{resize:vertical;min-height:94px}.support-form-actions{display:flex;justify-content:flex-end;gap:8px}.support-ticket-list{padding:16px 18px 24px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.support-ticket-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:14px 16px;box-shadow:var(--shadow-card)}.support-ticket-unvisited{border-left:4px solid #e53935;background:#fffdfd}.support-ticket-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.support-status-pill,.support-new-pill,.support-priority{display:inline-flex;align-items:center;border-radius:var(--radius-pill);padding:2px 8px;font-size:var(--fs-2xs);font-weight:var(--fw-medium)}.support-status-pill.is-open{background:#e5f5ed;color:#08764f}.support-status-pill.is-closed{background:var(--surface-sunken);color:var(--text-muted)}.support-new-pill{margin-left:6px;background:#ffebeb;color:#c62828}.support-priority{background:var(--surface-sunken);color:var(--text-muted)}.priority-high,.priority-critical{background:#fff0e9;color:#b44319}.priority-low{background:var(--blue-soft);color:#2f62a5}.support-ticket-card h3{margin:10px 0 4px;font-size:var(--fs-md)}.support-ticket-requester{margin:0 0 6px;font-size:var(--fs-2xs);color:var(--text-muted)}.support-ticket-description{margin:4px 0 12px;font-size:var(--fs-sm);line-height:1.55;color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere}.support-ticket-meta{display:flex;justify-content:space-between;gap:8px;border-top:1px solid #eef2f0;padding-top:10px;font-size:var(--fs-2xs);color:var(--text-subtle)}.support-close-ticket{margin-top:12px;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #b8dfcd;background:#f1fbf5;color:#08764f;border-radius:var(--radius-sm);font-size:var(--fs-xs);font-weight:var(--fw-medium);cursor:pointer}.support-empty{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text-muted);font-size:var(--fs-sm);text-align:center}.support-empty strong{color:var(--text-strong)}.support-alert{display:flex;gap:8px;align-items:flex-start;margin:12px 18px 0;padding:10px 12px;border:1px solid #f0c4c4;background:#fff0f0;border-radius:var(--radius-md);color:#a32929;font-size:var(--fs-xs)}@media(max-width:520px){.support-panel-header{padding:18px 16px}.support-ticket-list{padding:12px}.support-panel-toolbar{padding:12px 14px}}.projects-table th{white-space:normal;line-height:1.3}.projects-table td{white-space:normal}.projects-table .project-cell small{max-width:260px;white-space:nowrap}.projects-table td>strong,.projects-table td>.cell-sub{white-space:nowrap}.projects-table .project-cell small{max-width:240px}.projects-table .date-range{display:inline-block;min-width:96px}.cell-code,.project-cell .cell-code{font-size:var(--fs-2xs);font-weight:var(--fw-medium);letter-spacing:.02em;color:var(--text-muted)}.cell-link-muted{border:0;background:transparent;padding:0;cursor:pointer;color:var(--text-subtle);font-size:var(--fs-xs)}.cell-link-muted:hover{color:var(--brand)}.cell-actions{display:flex;align-items:center;gap:var(--space-2)}.progress-cell{min-width:140px}.progress-cell__top{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px}.progress-cell__top span{font-weight:var(--fw-semibold);color:var(--text-strong)}.progress-cell__top small{font-size:var(--fs-2xs);color:var(--text-muted)}.progress-bar{height:6px;background:#e8efec;border-radius:var(--radius-pill);overflow:hidden}.progress-bar>b{display:block;height:100%;background:var(--brand);border-radius:var(--radius-pill)}@media(min-width:1500px){.projects-table .date-range{white-space:nowrap}}.es-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(300px,.7fr);gap:var(--section-gap);align-items:start}.es-tree-panel,.es-editor-panel{min-width:0}.es-tree-tools{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end}.es-tree-tools .searchbox{width:260px;flex:none;min-width:0}.es-tree-scroll{max-height:720px;overflow:auto;padding:20px}.es-empty{padding:28px;text-align:center;color:var(--text-muted);font-size:var(--fs-sm)}.es-tree-root{min-width:max-content;padding:0 10px 18px}.es-tree-root.is-scoped{display:flex;align-items:flex-start;justify-content:center;gap:18px}.es-tree-node{position:relative;display:flex;flex-direction:column;align-items:center;padding-top:0}.es-tree-children{--es-bar-gap: 18px;--es-stub: 12px;--es-line: #4778c7;display:flex;align-items:flex-start;justify-content:center;gap:18px;position:relative;padding-top:var(--es-bar-gap)}.es-tree-children:before{content:"";position:absolute;top:0;left:50%;height:var(--es-bar-gap);border-left:2px solid var(--es-line);transform:translate(-1px)}.es-tree-children>.es-tree-node{padding-top:var(--es-stub)}.es-tree-children>.es-tree-node:before{content:"";position:absolute;top:0;left:50%;height:var(--es-stub);border-left:2px solid var(--es-line);transform:translate(-1px);z-index:0}.es-tree-children>.es-tree-node:after{content:"";position:absolute;top:0;left:-9px;right:-9px;height:0;border-top:2px solid var(--es-line);transform:translateY(-1px);z-index:0}.es-tree-children>.es-tree-node:first-child:after{left:50%}.es-tree-children>.es-tree-node:last-child:after{right:50%}.es-tree-children>.es-tree-node:only-child:after{display:none}.es-person{display:flex;align-items:center;gap:10px;width:244px;min-height:64px;padding:10px 12px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 1px 3px #18352c0d;cursor:pointer;color:var(--text-strong);position:relative;z-index:1}.es-person:hover{border-color:#7db9a3;box-shadow:0 4px 12px #18352c12}.es-person.is-selected{border:2px solid var(--brand);background:#eff9f4;padding:9px 11px}.es-person.is-inactive{opacity:.62}.es-avatar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border-radius:50%;background:#d9eee5;color:var(--brand);font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.es-avatar-sm{width:30px;height:30px;font-size:var(--fs-xs)}.es-avatar-large{width:44px;height:44px;font-size:var(--fs-lg)}.es-person-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.es-person-copy strong{font-size:var(--fs-sm);font-weight:var(--fw-semibold);overflow-wrap:anywhere}.es-person-copy small{font-size:var(--fs-2xs);color:var(--text-muted)}.es-node-tags{display:flex;gap:5px;margin-left:auto;align-items:center}.es-node-tags em{font-style:normal;font-size:var(--fs-2xs);color:var(--danger)}.es-collapse-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-sm);background:var(--surface-sunken);color:#355c4d;cursor:pointer;flex-shrink:0}.es-collapse-icon:hover{background:#dcece4}.es-unassigned-group{margin:4px 10px 16px;padding:14px;border:1px solid #e4a44d;border-radius:var(--radius-lg);background:#fff4df;min-width:0}.es-unassigned-heading{display:grid;grid-template-columns:auto 26px;align-items:center;justify-content:space-between;gap:6px;color:#854d0e}.es-unassigned-heading strong{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.es-unassigned-heading>span{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;border-radius:var(--radius-pill);background:#f3c77f;color:#713f12;font-size:var(--fs-2xs);font-weight:var(--fw-semibold)}.es-unassigned-heading small{grid-column:1 / -1;color:#9a6a2e;font-size:var(--fs-xs)}.es-unassigned-people{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.es-unassigned-person{border-color:#e9c17f;background:#fffdf8}.es-unassigned-person:hover{border-color:#d18a25}.es-unassigned-person.is-selected{border:2px solid #c87812;background:#fff8e9;padding:9px 11px}.es-selected-heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px var(--card-padding);border-bottom:1px solid var(--line)}.es-selected-heading h3{margin:0;font-size:var(--fs-lg);overflow-wrap:anywhere}.es-selected-heading p{margin:2px 0 0;color:var(--text-muted);font-size:var(--fs-xs)}.es-selected-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.es-icon-actions{display:flex;gap:6px}.es-readonly-note{display:flex;align-items:flex-start;gap:8px;margin:0;padding:12px var(--card-padding);background:var(--surface-muted);border-bottom:1px solid var(--line);color:var(--text-muted);font-size:var(--fs-xs);line-height:var(--lh-normal)}.es-readonly-note svg{flex-shrink:0;margin-top:2px}.es-field-block{padding:16px var(--card-padding);border-bottom:1px solid var(--line)}.es-block-title{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:var(--fs-md)}.es-selection-search{display:flex;align-items:center;gap:8px;height:36px;padding:0 11px;margin:0 0 8px;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text-subtle)}.es-selection-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--accent)}.es-selection-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font-size:var(--fs-sm)}.es-selection-search input:focus{box-shadow:none}.es-option-list{display:flex;flex-direction:column;gap:6px;max-height:280px;overflow:auto}.es-check-row{display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer}.es-check-row:hover{background:var(--surface-muted)}.es-check-row.is-on{background:#f0faf5;border-color:#a4d7c1}.es-check-row input{accent-color:var(--brand);width:16px;height:16px}.es-check-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.es-check-copy strong{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-strong)}.es-check-copy small{font-size:var(--fs-2xs);color:var(--text-muted)}.es-toggle-label{margin-left:auto;font-size:var(--fs-2xs);font-weight:var(--fw-medium);color:var(--brand);white-space:nowrap}.es-empty-small{margin:4px 0;font-size:var(--fs-xs);color:var(--text-muted)}.es-connection-summary{padding:16px var(--card-padding);background:var(--surface-muted)}.es-connection-summary h4{margin:0 0 10px;font-size:var(--fs-sm)}.es-connection-row{display:grid;grid-template-columns:28px 90px minmax(0,1fr);align-items:start;gap:8px;padding:4px 0;color:var(--text-muted);font-size:var(--fs-xs)}.es-connection-row strong{color:var(--text-strong);font-weight:var(--fw-medium);overflow-wrap:anywhere}.es-legend-line{display:inline-block;width:28px;margin-top:8px;border-top:3px solid #4778c7;border-radius:5px}.es-actions{display:flex;justify-content:flex-end;gap:8px;padding:14px var(--card-padding)}.count-pill{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-pill);background:#e4a44d;color:#fff;font-size:var(--fs-2xs);font-weight:var(--fw-semibold);line-height:1}.es-pane-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a1e1847;opacity:0;pointer-events:none;transition:opacity .2s;z-index:60}.es-pane-scrim.is-open{opacity:1;pointer-events:auto}.es-pane{position:fixed;top:0;right:0;bottom:0;width:min(440px,100vw);display:flex;flex-direction:column;background:var(--surface-muted);box-shadow:-12px 0 32px #0a1e182e;transform:translate(100%);transition:transform .22s ease;z-index:61}.es-pane.is-open{transform:translate(0)}.es-pane-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px;background:var(--surface);border-bottom:1px solid var(--line)}.es-pane-header h3{margin:0;font-size:var(--fs-xl)}.es-pane-header p{margin:2px 0 0;font-size:var(--fs-sm);color:var(--text-muted)}.es-pane-tabs{padding:10px 20px;background:var(--surface);border-bottom:1px solid var(--line)}.seg-count{margin-left:6px;font-size:var(--fs-2xs);color:var(--text-muted)}.segmented button.active .seg-count{color:var(--brand)}.es-pane-body{flex:1;overflow-y:auto;padding:14px 18px 24px;display:grid;gap:10px;align-content:start}.es-request{border:1px solid var(--line);border-radius:var(--radius-lg);padding:12px 14px;display:grid;gap:6px;background:var(--surface);box-shadow:var(--shadow-card)}.es-request small{color:var(--text-muted);font-size:var(--fs-2xs);overflow-wrap:anywhere}.es-request-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.es-request-top strong{font-size:var(--fs-md);color:var(--text-strong)}.es-request-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:var(--fs-xs);color:var(--text-muted)}.es-request-note{margin:0;font-size:var(--fs-xs);line-height:var(--lh-normal);color:var(--text-muted)}.es-request-note.is-ok{color:var(--brand)}.es-request-note.is-bad{color:var(--danger)}.es-request-review{display:grid;gap:8px;margin-top:4px}.es-request-review input{width:100%;height:34px;padding:0 10px;border:1px solid var(--line-strong);border-radius:var(--radius-md);font-size:var(--fs-sm)}.es-request-review>div{display:flex;gap:8px}@media(max-width:1050px){.es-layout{grid-template-columns:minmax(0,1fr)}.es-tree-scroll{max-height:520px}}@media(max-width:600px){.es-tree-scroll{padding:12px}.es-person{width:205px}.es-tree-children{gap:10px}.es-tree-children>.es-tree-node:after{left:-5px;right:-5px}.es-unassigned-group{margin:4px 0 14px;padding:11px}.es-tree-tools .searchbox{width:100%}}.ph-project-picker{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-2xs);font-weight:var(--fw-medium);color:var(--text-muted)}.ph-project-row{display:flex;gap:8px;align-items:center}.ph-project-row .pp-fselect{width:320px;max-width:60vw}.ph-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);align-items:start}.ph-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:14px;display:flex;flex-direction:column;gap:10px;min-width:0}.ph-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.ph-panel-head h2{margin:0;font-size:var(--fs-md);font-weight:var(--fw-semibold);overflow-wrap:anywhere}.ph-panel-head small{font-size:var(--fs-2xs);color:var(--text-muted)}.ph-panel-head .pp-btn{flex:none}.ph-note{margin:-4px 0 0;font-size:var(--fs-2xs);color:var(--text-muted)}.ph-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:26px 10px;color:var(--text-muted);font-size:var(--fs-sm);text-align:center;border:1px dashed var(--line-strong);border-radius:var(--radius-md)}.ph-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:calc(100vh - 290px);overflow-y:auto}.ph-list li{display:flex;align-items:center;gap:8px;min-height:36px;padding:4px 8px;border:1px solid #e8eeeb;border-radius:var(--radius-md);background:var(--surface);font-size:var(--fs-sm);color:var(--text)}.ph-list li.is-clickable{cursor:pointer}.ph-list li.is-clickable:hover{background:#f8fbf9}.ph-list li.is-selected{border-color:#9cc5b4;background:#eef7f2;box-shadow:inset 3px 0 0 var(--pp-green)}.ph-list li.is-dragging{opacity:.45}.ph-list li.is-over{border-color:var(--pp-green);box-shadow:0 -2px 0 var(--pp-green)}.ph-grip{display:grid;place-items:center;width:18px;height:24px;color:#a3b1ab;cursor:grab;border-radius:4px;flex:none}.ph-grip:hover{color:var(--pp-green);background:#e8f1ed}.ph-index{width:18px;text-align:center;font-size:var(--fs-2xs);color:#94a39d;flex:none;font-variant-numeric:tabular-nums}.ph-name{flex:1;min-width:0;overflow-wrap:anywhere}.ph-name em{margin-left:6px;font-style:normal;font-size:var(--fs-2xs);font-weight:var(--fw-semibold);color:#5f726b;background:var(--surface-sunken);padding:1px 6px;border-radius:5px}.ph-arrows{display:flex;gap:2px;opacity:0;transition:opacity .12s}.ph-list li:hover .ph-arrows,.ph-arrows:focus-within{opacity:1}.ph-arrows button{width:22px;height:22px;display:grid;place-items:center;border:1px solid #dbe4e0;border-radius:5px;background:#fff;color:#4b6159;cursor:pointer;padding:0}.ph-arrows button:disabled{opacity:.35;cursor:default}.ph-import{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ph-import-left{display:flex;flex-direction:column;gap:10px}.ph-import-left textarea{min-height:220px;font-family:inherit}.ph-upload{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ph-upload small{display:inline-flex;align-items:center;gap:4px;color:var(--text-muted);font-size:var(--fs-2xs)}.ph-header-check{padding-left:0}.ph-import-right{display:flex;flex-direction:column;gap:6px;min-width:0}.ph-preview-head{display:flex;justify-content:space-between;font-size:var(--fs-xs);color:var(--text)}.ph-preview-head span{color:var(--text-muted)}.ph-preview{list-style:decimal inside;margin:0;padding:6px;border:1px solid var(--line);border-radius:var(--radius-md);max-height:292px;overflow-y:auto;font-size:var(--fs-sm)}.ph-preview li{display:flex;justify-content:space-between;gap:8px;padding:5px 6px;border-radius:5px}.ph-preview li span{overflow-wrap:anywhere}.ph-preview li em{flex:none;font-style:normal;font-size:var(--fs-2xs);font-weight:var(--fw-semibold);color:#8a5a07;background:#fff2d8;padding:1px 7px;border-radius:var(--radius-pill)}.ph-preview li.is-exists span,.ph-preview li.is-duplicate span{color:#93a09b;text-decoration:line-through}.ph-dim{color:var(--text-muted);justify-content:center!important}@media(max-width:1300px){.ph-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.ph-grid,.ph-import{grid-template-columns:1fr}}.tasks-page{display:flex;flex-direction:column;gap:var(--space-3);min-width:0;color:var(--text)}.tasks-page>.page-heading{margin-bottom:var(--space-1)}.tasks-toolbar{gap:var(--space-3);padding:var(--space-3)}.tasks-filters{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.tasks-filter-w{width:156px;min-width:0}.tasks-search{flex:1 1 140px;min-width:140px;max-width:300px}.tasks-tools{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}.tasks-tools .toolbar-count{white-space:nowrap}.tasks-date{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);color:var(--text-muted)}.tasks-date input{height:32px;padding:0 8px;border:1px solid #d5dfda;border-radius:var(--radius-md);background:#fff;color:var(--text);font:inherit;font-size:var(--fs-xs)}.tasks-date input:focus{outline:none;border-color:#76a895;box-shadow:0 0 0 3px #1b463c12}.tasks-toolbar .segmented button{font-size:var(--fs-xs);padding:5px 11px}.tasks-selbar{display:flex;align-items:center;gap:var(--space-3);padding:6px 8px 6px 12px;border:1px solid #cfe3d9;border-radius:var(--radius-md);background:var(--pp-green-soft, #e8f3ee);font-size:var(--fs-sm)}.tasks-selbar b{font-weight:var(--fw-semibold);color:var(--text-strong)}.tasks-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-2)}.tasks-kpi{display:flex;flex-direction:column;gap:2px;min-width:0;padding:8px 12px;border:1px solid #e5ebe8;border-radius:10px;background:#f7f9f8}.tasks-kpi>span{font-size:var(--fs-2xs);font-weight:var(--fw-medium);color:var(--text-muted)}.tasks-kpi>strong{font-size:var(--fs-xl);font-weight:var(--fw-semibold);line-height:1.3;color:var(--text-strong);font-variant-numeric:tabular-nums}.tasks-kpi>strong.is-text{font-size:var(--fs-md);overflow-wrap:anywhere}.tasks-kpi>small{font-size:var(--fs-2xs);color:var(--text-muted)}.tasks-kpi.is-bad>strong{color:#c2410c}.tasks-kpi.is-accent{background:#edf7f2;border-color:#d3e8dd}.tasks-kpi.is-accent>strong{color:var(--brand)}@media(max-width:900px){.tasks-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.tasks-table-wrap{min-height:280px;max-height:calc(100vh - 330px);overflow:auto;border:1px solid var(--line, #dce4e1);border-radius:var(--radius-lg);background:#fff}.tasks-table{width:100%;min-width:1100px;border-collapse:collapse;font-size:var(--fs-sm)}.tasks-table th{position:sticky;top:0;z-index:1;padding:10px;border-bottom:1px solid var(--line, #dce4e1);background:#f6f8f7;text-align:center}.tasks-table td{padding:11px 10px;border-bottom:1px solid #edf1ef;color:var(--text);text-align:center;vertical-align:middle;font-size:var(--fs-sm);white-space:normal}.tasks-table tbody tr:last-child td{border-bottom:0}.tasks-table tbody tr:hover td{background:#f8fbf9}.tasks-table tbody tr.is-selected td{background:#eef7f2}.tasks-table .is-left{text-align:left}.tasks-table .nowrap,.nowrap{white-space:nowrap}.tasks-table .num{font-variant-numeric:tabular-nums}.tasks-table .pre{white-space:pre-wrap;overflow-wrap:anywhere}.tasks-table .col-check{width:40px;padding-left:14px;padding-right:4px}.tasks-table th:last-child,.tasks-table td:last-child{padding-right:14px}.tasks-table .col-check input{width:15px;height:15px;accent-color:var(--brand);cursor:pointer}.tasks-table .col-check input:disabled{cursor:not-allowed;opacity:.45}.tasks-table .col-assignedBy{max-width:120px}.tasks-table .col-location,.tasks-table .col-project,.tasks-table .col-assignedBy,.tasks-table .col-createdBy,.tasks-table .col-workType{color:var(--text-muted)}.tasks-table .col-location{min-width:120px;max-width:160px}.tasks-table .col-plan{min-width:96px;font-variant-numeric:tabular-nums}.tasks-table .col-actual,.tasks-table .col-myHours,.tasks-table .col-totalHours,.tasks-table .col-hours{white-space:nowrap;font-variant-numeric:tabular-nums}.tasks-table .col-progress{min-width:110px}.tasks-empty{padding:44px 16px!important;color:var(--text-muted)!important;text-align:center}.tasks-page .pp-status{font-weight:var(--fw-medium);font-size:var(--fs-2xs)}.tasks-page .pp-type{font-weight:var(--fw-medium)}.tasks-page .pp-badge{font-weight:var(--fw-semibold)}.tasks-page .pp-progress{font-weight:var(--fw-medium)}.task-name{display:flex;align-items:center;gap:9px;min-width:180px;max-width:300px}.task-name strong{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-strong);overflow-wrap:anywhere}.cell-note{display:block;margin-top:2px;font-size:var(--fs-2xs);color:var(--text-muted);font-weight:var(--fw-regular)}.proposed{display:block;margin-top:4px;font-size:var(--fs-2xs);font-weight:var(--fw-medium);white-space:nowrap}.proposed-draft{color:#2c5596}.proposed-pending{color:#8a5a07}.row-actions{display:flex;justify-content:center;align-items:center;gap:5px;flex-wrap:nowrap}.row-icon{display:grid;place-items:center;width:30px;height:30px;border:1px solid #d7e2dc;border-radius:var(--radius-md);background:#fff;color:#2c4a40;cursor:pointer}.row-icon:hover{border-color:#c4d6cd;background:#f3f8f5;color:var(--brand)}.row-icon.is-primary{border-color:var(--brand);background:var(--brand);color:#fff}.row-icon.is-primary:hover{background:#006a4b;color:#fff}.assign-person{border-bottom:1px solid #f0f3f1}.assign-person:last-child{border-bottom:0}.assign-person>.pp-member{border-bottom:0}.assign-person.is-on{background:#f0f8f4}.assign-note{padding:0 12px 12px 52px}.assign-note textarea{min-height:60px}.assign-desc{margin-top:4px;color:var(--text);white-space:normal}.proposals{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid #dbe6f6;border-radius:10px;background:#f4f8fd;font-size:var(--fs-sm)}.proposals-title{font-size:var(--fs-2xs);font-weight:var(--fw-medium);color:#5d6f8c}.proposal{display:flex;align-items:center;justify-content:space-between;gap:10px}.proposal b{font-weight:var(--fw-semibold)}.progress-slider{display:flex;align-items:center;gap:12px}.progress-slider input[type=range]{flex:1;height:6px;min-height:0;padding:0;border:0;border-radius:99px;accent-color:var(--brand);-moz-appearance:none;appearance:none;-webkit-appearance:none}.progress-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border:3px solid #fff;border-radius:50%;background:var(--brand);box-shadow:0 1px 4px #0a2c224d;cursor:pointer}.progress-slider input[type=range]::-moz-range-thumb{width:14px;height:14px;border:3px solid #fff;border-radius:50%;background:var(--brand)}.progress-slider input[type=range]:focus{box-shadow:none}.progress-slider b{min-width:46px;text-align:right;font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--text-strong);font-variant-numeric:tabular-nums}.history-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-2);margin-bottom:var(--space-3)}@media(max-width:900px){.history-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}.history-progress{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;margin-bottom:var(--space-4);padding:12px 14px;border:1px solid #e5ebe8;border-radius:10px}.history-progress b{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text-strong)}.history-progress small{display:block;font-size:var(--fs-xs);color:var(--text-muted)}.history-progress-value{text-align:right}.history-progress-value strong{font-size:var(--fs-2xl);font-weight:var(--fw-semibold);color:var(--brand);font-variant-numeric:tabular-nums}.history-bar{grid-column:1 / -1}.history-title{margin:0 0 var(--space-2);font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text-strong)}.history-table-wrap{min-height:0;max-height:40vh}.history-table{min-width:860px;font-size:var(--fs-xs)}.history-table td{padding:9px 10px;vertical-align:top}.history-table td b{font-weight:var(--fw-medium);color:var(--text-strong)}.history-resend{margin-top:6px}.history-empty{display:grid;place-items:center;gap:4px;padding:28px;color:var(--text-muted)}.history-empty p{margin:0}.tasks-table tbody tr.is-focus td{background:#fff6dc}.tasks-table tbody tr.is-focus td:first-child{box-shadow:inset 3px 0 #d69a2d}.approvals-table{min-width:1080px}.approvals-table td{padding-top:12px;padding-bottom:12px}.approvals-table .col-project{color:var(--text-muted);min-width:110px;max-width:170px}.approvals-table .col-dates{font-size:var(--fs-xs);color:var(--text);font-variant-numeric:tabular-nums}.date-line{display:flex;gap:8px;white-space:nowrap;line-height:1.6}.date-line i{width:40px;font-style:normal;color:var(--text-muted)}.approval-task{display:flex;flex-direction:column;gap:3px;min-width:180px;max-width:280px}.approval-task strong{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-strong);overflow-wrap:anywhere}.approval-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:var(--fs-2xs);color:var(--text-muted)}.approval-kind{display:inline-flex;padding:1px 7px;border-radius:var(--radius-pill);background:#eaf1ee;color:#1b463c;font-size:var(--fs-2xs);font-weight:var(--fw-medium);white-space:nowrap}.approval-person{color:var(--text-strong)}.approvals-table td:nth-child(4){max-width:160px}.approval-progress{display:inline-flex;align-items:center;gap:6px;font-variant-numeric:tabular-nums;color:var(--text-muted)}.approval-progress b{font-weight:var(--fw-semibold);color:var(--brand)}.approval-progress b.is-down{color:#c2410c}.review-tags{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:var(--space-3)}.review-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-2);margin-bottom:var(--space-3)}.review-dates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0 0 var(--space-3);border:1px solid #e5ebe8;border-radius:10px;overflow:hidden}.review-dates>div{padding:9px 12px;border-right:1px solid #edf1ef;border-bottom:1px solid #edf1ef}.review-dates>div:nth-child(3n){border-right:0}.review-dates>div:nth-last-child(-n+3){border-bottom:0}.review-dates dt{font-size:var(--fs-2xs);color:var(--text-muted)}.review-dates dd{margin:2px 0 0;font-size:var(--fs-sm);color:var(--text-strong);font-variant-numeric:tabular-nums}@media(max-width:640px){.review-dates{grid-template-columns:repeat(2,minmax(0,1fr))}.review-dates>div{border-right:1px solid #edf1ef!important;border-bottom:1px solid #edf1ef!important}}.review-box{margin-bottom:var(--space-3);padding:12px 14px;border:1px solid #e5ebe8;border-radius:10px;background:#fbfcfc}.review-box.is-warn{border-color:#f3d3c3;background:#fff6f1}.review-box-title{display:block;margin-bottom:4px;font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text-muted)}.review-box.is-warn .review-box-title{color:#a63a14}.review-box p{margin:0;font-size:var(--fs-sm);line-height:1.6;color:var(--text-strong);white-space:pre-wrap;overflow-wrap:anywhere}.review-older{margin-top:var(--space-2)}.review-outcome{margin:var(--space-2) 0 0;padding:10px 12px;border-radius:var(--radius-md);background:#f4f8f6;font-size:var(--fs-sm);color:var(--text)}.pp-dialog-body>.pp-field{margin-bottom:var(--space-2)}
