.templates-page{padding:24px}.template-editor-page{height:100vh;height:100dvh;width:100vw;min-width:0;overflow:hidden;display:flex;flex-direction:column;padding:14px;background:#f8fbf9}.templates-page-header,.templates-toolbar{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:16px}.templates-page-header p{margin:4px 0 0;opacity:.75}.templates-primary-link,.templates-toolbar button,.templates-toolbar select,.templates-toolbar input,.templates-file-button,.templates-slide-panel button,.templates-placeholder-button,.templates-properties-panel button{border:1px solid #d0d0d0;border-radius:8px;padding:8px 10px;background:#fff;color:#111;text-decoration:none;cursor:pointer}.templates-toolbar .templates-exit-button{margin-left:auto;border-color:#0b7a28;background:#0b7a28;color:#fff;font-weight:800}.templates-name-input{min-width:240px}.templates-file-button{position:relative;overflow:hidden}.templates-file-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.templates-error,.error-text{color:#b00020}.templates-status{flex:0 0 auto;margin-bottom:12px;padding:10px 12px;border:1px solid #dedede;border-radius:8px;background:#fafafa}.templates-table-card{border:1px solid #e5e5e5;border-radius:12px;overflow:hidden;background:#fff}.templates-table-card table{width:100%;border-collapse:collapse}.templates-table-card th,.templates-table-card td{text-align:left;border-bottom:1px solid #eee;padding:12px}.templates-editor-grid{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:190px minmax(820px,1fr) 320px;gap:16px;align-items:stretch;overflow:hidden}.templates-slide-panel,.templates-placeholder-panel,.templates-properties-panel{border:1px solid #e3e3e3;border-radius:12px;background:#fff;padding:12px;min-height:0;overflow:auto}.templates-panel-title{font-weight:700;margin-bottom:10px}.templates-slide-list,.templates-placeholder-group,.templates-properties-form,.templates-right-stack{display:flex;flex-direction:column;gap:8px;min-height:0;overflow:auto}.templates-slide-thumb{width:100%;min-height:68px;text-align:left}.templates-slide-thumb.active,.templates-element.selected{outline:2px solid #111}.templates-editor-center{overflow:auto;padding-bottom:24px;min-height:0}.templates-canvas-wrap{padding:24px;background:#f3f3f3;border-radius:12px;display:inline-block}.templates-a4-canvas{position:relative;width:794px;height:1123px;background:#fff;box-shadow:0 8px 30px #00000026;overflow:hidden}.templates-element{position:absolute;border:1px dashed rgba(0,0,0,.18);background:#ffffff14;box-sizing:border-box;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none}.templates-element-content{padding:4px;white-space:pre-wrap}.templates-nudge-controls{position:absolute;right:4px;bottom:4px;display:flex;gap:2px}.templates-nudge-controls button{padding:2px 5px;font-size:11px}.templates-placeholder-button{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.templates-placeholder-button code{opacity:.7}.templates-properties-panel label{display:flex;flex-direction:column;gap:4px;font-size:13px}.templates-properties-panel input,.templates-properties-panel select,.templates-properties-panel textarea{border:1px solid #d0d0d0;border-radius:6px;padding:7px}.templates-properties-panel textarea{min-height:90px}.templates-checkbox{flex-direction:row!important;align-items:center}.templates-muted{opacity:.65}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.fixed{position:fixed}.inset-0{top:0;right:0;bottom:0;left:0}.z-50{z-index:50}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-7{margin-bottom:1.75rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.h-3\.5{height:.875rem}.h-9{height:2.25rem}.h-\[90dvh\]{height:90dvh}.h-auto{height:auto}.h-px{height:1px}.max-h-64{max-height:16rem}.max-h-\[90dvh\]{max-height:90dvh}.min-h-0{min-height:0px}.min-h-screen{min-height:100vh}.w-3\.5{width:.875rem}.w-48{width:12rem}.w-52{width:13rem}.w-9{width:2.25rem}.w-\[90vw\]{width:90vw}.w-\[92vw\]{width:92vw}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[1120px\]{min-width:1120px}.min-w-\[780px\]{min-width:780px}.min-w-\[820px\]{min-width:820px}.min-w-\[980px\]{min-width:980px}.min-w-full{min-width:100%}.max-w-\[360px\]{max-width:360px}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.border-separate{border-collapse:separate}.border-spacing-y-2{--tw-border-spacing-y: .5rem;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y)}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-\[minmax\(160px\,0\.9fr\)_minmax\(0\,1\.3fr\)\]{grid-template-columns:minmax(160px,.9fr) minmax(0,1.3fr)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-x-12{-moz-column-gap:3rem;column-gap:3rem}.gap-y-3{row-gap:.75rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(229 231 235 / var(--tw-divide-opacity, 1))}.divide-slate-100>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(241 245 249 / var(--tw-divide-opacity, 1))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[\#0b7a28\]{--tw-border-opacity: 1;border-color:rgb(11 122 40 / var(--tw-border-opacity, 1))}.border-emerald-100{--tw-border-opacity: 1;border-color:rgb(209 250 229 / var(--tw-border-opacity, 1))}.border-emerald-700{--tw-border-opacity: 1;border-color:rgb(4 120 87 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-red-100{--tw-border-opacity: 1;border-color:rgb(254 226 226 / var(--tw-border-opacity, 1))}.border-red-300{--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity, 1))}.border-slate-100{--tw-border-opacity: 1;border-color:rgb(241 245 249 / var(--tw-border-opacity, 1))}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.bg-\[\#00631f\]{--tw-bg-opacity: 1;background-color:rgb(0 99 31 / var(--tw-bg-opacity, 1))}.bg-\[\#0b7a28\]\/35{background-color:#0b7a2859}.bg-\[\#0b7a28\]\/55{background-color:#0b7a288c}.bg-\[\#edf6ec\]{--tw-bg-opacity: 1;background-color:rgb(237 246 236 / var(--tw-bg-opacity, 1))}.bg-\[\#fbfcfb\]{--tw-bg-opacity: 1;background-color:rgb(251 252 251 / var(--tw-bg-opacity, 1))}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-emerald-50\/50{background-color:#ecfdf580}.bg-emerald-700{--tw-bg-opacity: 1;background-color:rgb(4 120 87 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-slate-100{--tw-bg-opacity: 1;background-color:rgb(241 245 249 / var(--tw-bg-opacity, 1))}.bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.bg-slate-950\/45{background-color:#02061773}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.object-contain{-o-object-fit:contain;object-fit:contain}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-\[5vw\]{padding-left:5vw;padding-right:5vw}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-\[5dvh\]{padding-top:5dvh;padding-bottom:5dvh}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.italic{font-style:italic}.text-\[\#00631f\]{--tw-text-opacity: 1;color:rgb(0 99 31 / var(--tw-text-opacity, 1))}.text-\[\#0b7a28\]{--tw-text-opacity: 1;color:rgb(11 122 40 / var(--tw-text-opacity, 1))}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-emerald-700{--tw-text-opacity: 1;color:rgb(4 120 87 / var(--tw-text-opacity, 1))}.text-emerald-800{--tw-text-opacity: 1;color:rgb(6 95 70 / var(--tw-text-opacity, 1))}.text-emerald-950{--tw-text-opacity: 1;color:rgb(2 44 34 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.text-slate-950{--tw-text-opacity: 1;color:rgb(2 6 23 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-1{outline-width:1px}.-outline-offset-1{outline-offset:-1px}.outline-slate-100{outline-color:#f1f5f9}.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-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#111827;background:#f8faf9;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--green: #05752a;--green-dark: #00631f;--green-soft: #edf6ec;--green-tint: #f4fbf5;--ink: #111827;--muted: #697386;--line: #e8edf0;--page: #fafcfb;--card: #ffffff;--sidebar-width: 230px;--header-height: clamp(56px, 8dvh, 82px);--content-pad-x: clamp(18px, 2.5vw, 48px);--content-pad-y: clamp(14px, 2.2dvh, 28px);--dashboard-gap: clamp(14px, 2.2dvh, 24px)}*{box-sizing:border-box}html,body,#root{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;height:100%;background:var(--page)}html{font-size:80%}body{overflow:hidden}button,input,select,textarea{font:inherit}.login-line-field{display:flex;align-items:center;gap:50px;border-bottom:1px solid #dedede;padding:0 0 9px}.login-line-field:focus-within{border-bottom-color:#08752b}.login-line-icon{height:18px;width:18px;flex:0 0 auto;color:#050505;stroke-width:2}.login-line-input{min-width:0;width:50%;border:0;background:transparent;color:#333;font-size:18px;font-weight:350;line-height:2;outline:none}.login-line-input::-moz-placeholder{color:#8b8b8b;opacity:1}.login-line-input::placeholder{color:#8b8b8b;opacity:1}.login-forgot{color:#9a9a9a;font-size:11px;font-weight:600}.login-gradient-button{min-height:38px;border-radius:999px;border:0;background:linear-gradient(90deg,#9de0b5,#16a34a 55%,#08752b);color:#fff;font-size:15px;font-weight:500;letter-spacing:10;transition:transform .16s ease,filter .16s ease}.login-gradient-button:hover{filter:saturate(1.5);transform:translateY(-10px)}.login-gradient-button:disabled{cursor:not-allowed;opacity:.9;transform:none}button,a{-webkit-tap-highlight-color:transparent}.dhge-card{border:1px solid var(--line);border-radius:8px;background:#fff}.dhge-input{width:100%;min-height:2.5rem;border:1px solid #dfe5e8;border-radius:7px;background:#fff;padding:0 .9rem;color:#111827;font-size:.875rem;line-height:1.4;outline:none;transition:border-color .14s ease}textarea.dhge-input{min-height:5.4rem;padding-top:.75rem;padding-bottom:.75rem;resize:vertical}.dhge-input:focus{border-color:#08752b}.dhge-primary,.dhge-secondary{min-height:2.5rem;border-radius:7px;padding:0 1.1rem;font-size:.875rem;font-weight:800;cursor:pointer}.dhge-primary{border:1px solid #08752b;background:#08752b;color:#fff}.dhge-secondary{border:1px solid #d7dde2;background:#fff;color:#334155}.app-shell{height:100vh;height:100dvh;width:100vw;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);overflow:hidden;background:#f8fbf9}.app-sidebar{position:relative;z-index:2;height:100vh;height:100dvh;min-height:0;display:flex;flex-direction:column;border-right:1px solid #e6eaec;background:linear-gradient(180deg,#fff,#fbfdfb 58%,#f5faf6);overflow:hidden;padding:clamp(14px,2.4dvh,26px) clamp(12px,1.2vw,20px) clamp(12px,2dvh,22px)}.brand-block{display:flex;align-items:center;min-height:clamp(44px,8dvh,76px)}.brand-logo{width:min(clamp(128px,9vw,190px),100%);height:auto;display:block;-o-object-fit:contain;object-fit:contain}.side-nav{display:grid;gap:clamp(7px,1.25dvh,12px);margin-top:clamp(10px,2dvh,20px)}.side-nav-item{height:clamp(34px,5.2dvh,48px);display:flex;align-items:center;gap:13px;border-radius:8px;padding:0 15px;color:#111827;text-decoration:none;font-size:13px;font-weight:600;letter-spacing:0;transition:background .16s ease,color .16s ease}.side-nav-item svg{color:#314151;flex:0 0 auto}.side-nav-item.active{color:#fff;background:linear-gradient(135deg,#08a13d,#007226)}.side-nav-item.active svg{color:#fff}.nav-badge{margin-left:auto;min-width:21px;height:21px;padding:0 6px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#0c9639;color:#fff;font-size:11px;font-weight:800}.nav-badge.danger{background:#c6212f}.sidebar-spacer{flex:1 1 auto;min-height:clamp(8px,1.8dvh,18px)}.app-main-shell{min-width:0;height:100vh;height:100dvh;min-height:0;display:flex;flex-direction:column;background:linear-gradient(180deg,#fff 0,#f9fbfa 105px,#fbfcfb);overflow:hidden}.top-header{flex:0 0 var(--header-height);min-height:0;display:flex;align-items:center;justify-content:space-between;gap:19px;padding:0 var(--content-pad-x);border-bottom:1px solid #e8ecef;background:#fffffff5}.top-header h1{margin:0;color:#0f172a;font-size:20px;line-height:1.1;font-weight:500;letter-spacing:0}.top-header-right{display:flex;align-items:center;gap:clamp(14px,2vw,28px)}.global-search{width:clamp(220px,23vw,360px);height:clamp(34px,5.2dvh,44px);display:flex;align-items:center;gap:11px;border:1px solid #dfe5e8;border-radius:9px;background:#fff;padding:0 16px;color:#677386}.global-search input{width:100%;min-width:0;border:0;outline:none;color:#1f2937;background:transparent;font-size:12px}.global-search input::-moz-placeholder{color:#8d98a7}.global-search input::placeholder{color:#8d98a7}.profile-menu{display:flex;align-items:center;gap:11px;border:0;background:transparent;padding:0;color:#0f172a;cursor:pointer}.profile-avatar{width:clamp(34px,5.6dvh,46px);height:clamp(34px,5.6dvh,46px);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#edf5ec;color:#05752a;font-weight:800;font-size:13px}.profile-copy{display:grid;gap:3px;text-align:left;min-width:106px}.profile-copy strong{font-size:13px;line-height:1.1;color:#111827;font-weight:600;letter-spacing:0}.profile-copy small{font-size:11px;color:#59677a}.app-content{flex:1 1 auto;min-height:0;overflow:auto;padding:var(--content-pad-y) var(--content-pad-x)}.dashboard-page{width:100%;height:100%;min-height:0;max-width:none;margin:0 auto;display:grid;grid-template-rows:auto minmax(0,1fr);gap:var(--dashboard-gap)}.dashboard-error{margin:0 0 18px;border-radius:10px;background:#fff1f2;padding:12px 15px;color:#b42318;font-size:14px}.dashboard-stage-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--dashboard-gap);min-height:0}.summary-card{min-height:clamp(92px,13dvh,124px);border:1px solid var(--line);border-radius:9px;background:#fff;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(13px,1.5vw,18px);padding:clamp(16px,2.3dvh,24px) clamp(16px,1.9vw,26px)}.summary-icon,.task-row-icon{border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#e8f4e5;color:#08752b}.summary-icon{width:clamp(48px,7.1dvh,62px);height:clamp(48px,7.1dvh,62px)}.stage-summary-card{min-height:clamp(82px,11dvh,112px);grid-template-columns:auto minmax(0,1fr);gap:clamp(11px,1.1vw,15px);padding:clamp(14px,2dvh,20px) clamp(13px,1.45vw,20px)}.stage-summary-card .summary-icon{width:clamp(42px,6.2dvh,54px);height:clamp(42px,6.2dvh,54px)}.stage-summary-card .summary-arrow{display:none}.summary-copy{min-width:0;display:grid;gap:5px}.summary-copy h2{margin:0;color:#111827;font-size:clamp(13px,1.8dvh,16px);font-weight:700}.summary-copy strong{color:#08752b;font-size:clamp(21px,3.3dvh,30px);line-height:1;font-weight:800}.summary-copy span{color:#6b7280;font-size:clamp(11px,1.55dvh,13px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.summary-arrow{color:#475569}.task-overview-card{min-height:0}.dashboard-card-header{height:clamp(48px,7dvh,62px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 clamp(18px,1.9vw,28px)}.dashboard-card-title{display:flex;align-items:center;gap:13px;min-width:0;color:#334155}.dashboard-card-title h2{margin:0;color:#111827;font-size:clamp(14px,1.9dvh,17px);font-weight:800;letter-spacing:0}.dashboard-card-header a{display:inline-flex;align-items:center;gap:7px;color:#006b25;font-size:clamp(11px,1.55dvh,13px);font-weight:800;text-decoration:none;white-space:nowrap}.task-list-wrap{height:calc(100% - clamp(48px,7dvh,62px));overflow:auto;padding:0 clamp(18px,1.9vw,28px)}.task-list-row{min-height:clamp(54px,8.5dvh,72px);border-bottom:1px solid #eef1f3;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:clamp(12px,1.6vw,22px);color:#111827;text-decoration:none}.task-list-row:last-child{border-bottom:0}.task-row-icon{width:clamp(34px,5.4dvh,44px);height:clamp(34px,5.4dvh,44px)}.task-row-main{min-width:0;display:grid;gap:4px}.task-row-main strong{overflow:hidden;color:#111827;font-size:clamp(12px,1.75dvh,15px);font-weight:800;text-overflow:ellipsis;white-space:nowrap}.task-row-main small{color:#6b7280;font-size:clamp(11px,1.55dvh,13px)}.empty-task-list{height:100%;display:grid;place-items:center;color:#64748b;font-weight:600}.dashboard-table-card{height:100%;min-height:0;border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden}.dashboard-table-wrap{width:100%;height:calc(100% - clamp(46px,7dvh,62px));overflow:auto}.dashboard-table{width:100%;height:100%;border-collapse:collapse;table-layout:fixed;color:#111827}.dashboard-table th{border-bottom:1px solid var(--line);padding:0 16px;text-align:left;color:#334155;font-size:11px;font-weight:600;white-space:nowrap}.dashboard-table tbody tr{height:clamp(38px,6.2dvh,54px)}.dashboard-table td{border-bottom:1px solid #eef1f3;padding:0 16px;vertical-align:middle;color:#111827;font-size:11px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-table tbody tr:last-child td{border-bottom:0}.task-table th:nth-child(1),.task-table td:nth-child(1){width:18%}.task-table th:nth-child(2),.task-table td:nth-child(2){width:31%}.task-table th:nth-child(3),.task-table td:nth-child(3){width:17%}.task-table th:nth-child(4),.task-table td:nth-child(4){width:17%}.task-table th:nth-child(5),.task-table td:nth-child(5){width:17%}.id-link{color:#00802d;font-weight:800;text-decoration:none}.stage-pill,.priority-pill{min-width:53px;height:22px;padding:0 10px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;line-height:1}.stage-pmsg,.stage-completed{color:#07802d;background:#e7f5e7}.stage-bank{color:#1d66d3;background:#e8f1ff}.stage-material{color:#7e32b5;background:#f2e8fa}.stage-installation{color:#ef5c25;background:#ffece3}.stage-muted{color:#4b5563;background:#eef0f2}.priority-high{color:#e11d48;background:#ffe7ed}.priority-medium{color:#dd8900;background:#fff0c7}.priority-low{color:#16803a;background:#e8f5e7}.date-cell{display:inline-flex;align-items:center;gap:7px;color:#111827}.empty-table-cell{height:clamp(110px,22dvh,220px);color:#64748b;font-weight:600;text-align:center}@media (min-width: 1800px){:root{--header-height: 86px;--content-pad-x: 56px;--content-pad-y: 30px}}@media (max-width: 1280px),(max-height: 760px){:root{--header-height: 62px;--content-pad-x: 22px;--content-pad-y: 16px;--dashboard-gap: 16px}.brand-block{min-height:50px}.brand-logo{width:min(142px,100%)}.side-nav-item{height:36px;font-size:12px}.global-search{width:260px}.stage-summary-card{min-height:78px;gap:8px;padding:12px 10px}.stage-summary-card .summary-icon{width:36px;height:36px}.stage-summary-card .summary-icon svg{width:20px;height:20px}.stage-summary-card .summary-copy{gap:3px}.stage-summary-card .summary-copy h2{font-size:11px}.stage-summary-card .summary-copy strong{font-size:21px}.stage-summary-card .summary-copy span{font-size:10px}}@media (max-height: 620px){:root{--header-height: 54px;--content-pad-y: 12px}.brand-block{min-height:42px}.side-nav{gap:6px;margin-top:8px}.side-nav-item{height:32px}.summary-card{min-height:82px}}@media (max-width: 1120px){:root{--content-pad-x: 18px}.dashboard-page{height:auto;min-height:100%;grid-template-rows:auto minmax(360px,1fr)}.dashboard-stage-grid{gap:10px}.stage-summary-card{min-height:72px;gap:7px;padding:10px 8px}.stage-summary-card .summary-icon{width:32px;height:32px}.stage-summary-card .summary-icon svg{width:18px;height:18px}.stage-summary-card .summary-copy h2{font-size:10px}.stage-summary-card .summary-copy strong{font-size:19px}.stage-summary-card .summary-copy span{font-size:10px}.task-list-row{grid-template-columns:auto minmax(0,1fr) auto auto}.task-list-row .stage-pill{display:none}}@media (max-width: 820px){body{overflow:auto}.app-shell{display:block;height:auto;min-height:100vh;min-height:100dvh;overflow:visible}.app-sidebar{height:auto;min-height:0;overflow:visible;padding:16px}.side-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.top-header{flex-wrap:wrap;min-height:0;height:auto;padding-block:14px}.top-header-right,.global-search{width:100%}.profile-menu{margin-left:auto}.app-main-shell{height:auto;min-height:100vh;min-height:100dvh;overflow:visible}.app-content{overflow:visible}.dashboard-page{height:auto;display:grid;grid-template-rows:auto auto}.dashboard-stage-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.stage-summary-card{min-height:70px;grid-template-columns:1fr;justify-items:center;gap:4px;padding:8px 4px;text-align:center}.stage-summary-card .summary-icon{width:28px;height:28px}.stage-summary-card .summary-icon svg{width:16px;height:16px}.stage-summary-card .summary-copy{justify-items:center;gap:2px}.stage-summary-card .summary-copy h2{width:100%;font-size:clamp(7px,1.6vw,10px);line-height:1.1;overflow-wrap:anywhere}.stage-summary-card .summary-copy strong{font-size:clamp(14px,3.2vw,18px)}.stage-summary-card .summary-copy span{font-size:clamp(7px,1.55vw,9px)}.task-overview-card,.task-list-wrap{height:auto}.task-list-row{grid-template-columns:auto minmax(0,1fr);padding-block:12px}.task-list-row .priority-pill,.task-list-row .date-cell,.task-list-row .stage-pill{display:none}}.last\:mb-0:last-child{margin-bottom:0}.last\:border-0:last-child{border-width:0px}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.hover\:text-slate-900:hover{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (min-width: 768px){.md\:col-span-2{grid-column:span 2 / span 2}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:text-base{font-size:1rem;line-height:1.5rem}}@media (min-width: 1024px){.lg\:w-\[50vw\]{width:50vw}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1280px){.xl\:grid-cols-\[minmax\(260px\,1fr\)_190px_190px_190px\]{grid-template-columns:minmax(260px,1fr) 190px 190px 190px}}
