@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;900&family=Raleway:wght@300;400;500;600;700&display=swap";*,:before,:after,::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:#3b82f680;--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:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}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-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;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}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family: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:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-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{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}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{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-left-4{left:-1rem}.bottom-6{bottom:1.5rem}.bottom-\[-1rem\]{bottom:-1rem}.left-0{left:0}.left-6{left:1.5rem}.right-0{right:0}.right-3{right:.75rem}.right-6{right:1.5rem}.right-\[-0\.5rem\]{right:-.5rem}.top-0{top:0}.top-1\/2{top:50%}.top-3{top:.75rem}.top-6{top:1.5rem}.top-\[68px\]{top:68px}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-10{height:2.5rem}.h-14{height:3.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-auto{width:auto}.w-full{width:100%}.max-w-3xl{max-width:48rem}.max-w-7xl{max-width:80rem}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.-translate-x-10{--tw-translate-x:-2.5rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-10{--tw-translate-x:2.5rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-10{--tw-translate-y:2.5rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;user-select:none}.select-all{-webkit-user-select:all;user-select:all}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-14{gap:3.5rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-7{gap:1.75rem}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-sm{border-radius:.125rem}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.border{border-width:1px}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.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}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-1{padding-bottom:.25rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-center{text-align:center}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-wide{letter-spacing:.025em}.tracking-widest{letter-spacing:.1em}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-55{opacity:.55}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\:opacity-100:hover{opacity:1}.group:hover .group-hover\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (width>=640px){.sm\:left-10{left:2.5rem}.sm\:right-10{right:2.5rem}.sm\:mb-10{margin-bottom:2.5rem}.sm\:mb-12{margin-bottom:3rem}.sm\:mb-16{margin-bottom:4rem}.sm\:mb-5{margin-bottom:1.25rem}.sm\:mb-6{margin-bottom:1.5rem}.sm\:mb-8{margin-bottom:2rem}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:h-16{height:4rem}.sm\:w-10{width:2.5rem}.sm\:w-16{width:4rem}.sm\:max-w-2xl{max-width:42rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:gap-16{gap:4rem}.sm\:gap-3{gap:.75rem}.sm\:gap-5{gap:1.25rem}.sm\:rounded-2xl{border-radius:1rem}.sm\:p-10{padding:2.5rem}.sm\:p-4{padding:1rem}.sm\:p-6{padding:1.5rem}.sm\:p-8{padding:2rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:py-20{padding-top:5rem;padding-bottom:5rem}.sm\:py-28{padding-top:7rem;padding-bottom:7rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (width>=768px){.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}}@media (width>=1024px){.lg\:block{display:block}.lg\:max-w-2xl{max-width:42rem}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:gap-20{gap:5rem}.lg\:gap-4{gap:1rem}.lg\:px-10{padding-left:2.5rem;padding-right:2.5rem}}@media (width>=1280px){.xl\:right-16{right:4rem}.xl\:w-80{width:20rem}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}body{color:#0d1f30;-webkit-font-smoothing:antialiased;background:#fafaf7;font-family:Raleway,sans-serif;overflow-x:hidden}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:#060f1c}::-webkit-scrollbar-thumb{background:#c8922a;border-radius:2px}@keyframes fadeUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(36px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes floatRotate{0%{transform:translateY(-50%)rotate(-10deg)scale(1)}50%{transform:translateY(calc(-50% - 14px))rotate(10deg)scale(1.04)}to{transform:translateY(-50%)rotate(-10deg)scale(1)}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes revealUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes revealLeft{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes revealRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes revealScale{0%{opacity:0;transform:scale(.93)}to{opacity:1;transform:scale(1)}}@keyframes waPulse{0%{transform:scale(1);box-shadow:0 0 #25d3668c}60%{transform:scale(1.04);box-shadow:0 0 0 14px #25d36600}to{transform:scale(1);box-shadow:0 0 #25d36600}}@keyframes popIn{0%{opacity:0;transform:scale(.7)}70%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes underlineGrow{0%{width:0}to{width:100%}}.nav-link{position:relative}.nav-link:after{content:"";background:#e8b84b;width:0;height:1.5px;transition:width .25s;position:absolute;bottom:-4px;left:0}.nav-link:hover:after{width:100%}@keyframes menuDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.mobile-menu-enter{animation:.25s both menuDown}@media (width<=768px){a,button{min-height:44px}}.portal-root{--portal-navy:#071122;--portal-navy-2:#0d2240;--portal-blue:#1a3a5c;--portal-accent:#c8922a;--portal-accent-light:#e8b84b;--portal-cream:#fafaf7;--portal-muted:#6b7a8d;color:#0d1f30;background:#f3f5f7;min-height:100vh;font-family:Raleway,sans-serif}.catalog-chip-button{color:#31516b;cursor:pointer;font:inherit;background:#eef4f8;border:0;border-radius:999px;padding:.45rem .75rem}.catalog-chip-button:hover{background:#dfeef7}.history-line{color:#63798b;margin-top:.4rem;display:block}.invoice-details{margin-top:1rem;padding:1rem}.invoice-details summary{cursor:pointer;color:#173b5e;font-weight:700}.compact-select{min-width:145px;padding:.45rem}.quote-loading{text-align:center;padding:2rem}.quote-module-tabs{background:#edf2f7;border-radius:14px;gap:.35rem;margin:0 0 1.2rem;padding:.3rem;display:flex;overflow:auto}.quote-module-tabs button{color:#50627a;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:11px;padding:.72rem 1rem;font-weight:700}.quote-module-tabs button.active{color:#0b2a52;background:#fff;box-shadow:0 5px 18px #0f26441a}.quote-metrics .metric-card strong{font-size:1.45rem}.quote-filters{grid-template-columns:minmax(260px,1fr) minmax(200px,300px)}.quote-detail-head{color:#fff;background:linear-gradient(135deg,#071b37,#103e6d);border-radius:20px;margin-bottom:1rem;padding:1.3rem;box-shadow:0 16px 40px #071b3733}.quote-detail-head .page-heading{margin:.6rem 0 1rem}.quote-detail-head .page-heading h2,.quote-detail-head .page-heading p{color:#fff}.quote-detail-head .eyebrow{color:#e8b84b}.quote-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;display:grid}.quote-kpis>div{background:#ffffff14;border:1px solid #ffffff1f;border-radius:12px;flex-direction:column;gap:.35rem;padding:.75rem .9rem;display:flex}.quote-kpis span{color:#bdd0e7;font-size:.75rem}.quote-kpis strong{font-size:.92rem}.quote-stepper{align-items:flex-start;margin-bottom:.5rem;padding:.7rem .25rem 1.1rem;display:flex;overflow:auto}.quote-stepper>div{color:#8090a5;text-align:center;flex-direction:column;align-items:center;gap:.35rem;min-width:108px;font-size:.72rem;font-weight:700;display:flex;position:relative}.quote-stepper>div:after{content:"";background:#dfe6ee;height:3px;position:absolute;top:14px;left:calc(50% + 18px);right:calc(18px - 50%)}.quote-stepper>div:last-child:after{display:none}.quote-stepper i{z-index:1;color:#708097;background:#e5ebf2;border-radius:50%;place-items:center;width:31px;height:31px;font-style:normal;display:grid}.quote-stepper .done i,.quote-stepper .active i{color:#fff;background:#0b5ba7}.quote-stepper .done:after{background:#0b5ba7}.quote-stepper .active{color:#0b2a52}.next-action-card{background:#fff9e8;border:1px solid #f0d797;border-left:5px solid #e6ad27;border-radius:14px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem 1.1rem;display:flex}.next-action-card>div:first-child{flex-direction:column;gap:.2rem;display:flex}.next-action-card span{text-transform:uppercase;letter-spacing:.08em;color:#8f6810;font-size:.72rem}.next-action-card p{color:#6b7480;margin:0;font-size:.82rem}.detail-tabs{margin-top:.5rem}.quote-two-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.quote-summary dl,.template-card dl{grid-template-columns:minmax(120px,.45fr) 1fr;gap:.65rem;margin:0;display:grid}.quote-summary dt,.template-card dt{color:#748399;font-size:.78rem}.quote-summary dd,.template-card dd{color:#122d50;margin:0}.quote-summary dd{white-space:pre-wrap}.budget-toolbar{justify-content:space-between;align-items:center;margin-bottom:.8rem;display:flex}.budget-toolbar>div{align-items:center;gap:.7rem;display:flex}.budget-toolbar span{color:#6d7c8e}.budget-table .table-input{min-width:90px}.budget-table .table-input.wide{min-width:240px}.budget-table .table-input.num{width:100px;min-width:90px}.add-budget-line{margin:.75rem 0}.quote-form-strip{background:#eef3f8;border-radius:14px;grid-template-columns:repeat(4,minmax(140px,1fr));gap:.75rem;padding:1rem;display:grid}.quote-wizard-note{background:#edf6ff;border-left:4px solid #3478f6;border-radius:10px;flex-direction:column;margin-bottom:1rem;padding:.8rem 1rem;display:flex}.quote-wizard-note span{color:#60748d;font-size:.82rem}.quote-section-title{margin:1.2rem 0 .7rem}.template-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;max-height:320px;display:grid;overflow:auto}.template-picker label{cursor:pointer;border:1px solid #dbe3ec;border-radius:12px;align-items:center;gap:.7rem;padding:.75rem;display:flex}.template-picker label.selected{background:#eef6ff;border-color:#3478f6}.template-picker span{flex-direction:column;display:flex}.template-picker small{color:#708096}.quote-file-list{flex-direction:column;gap:.55rem;display:flex}.quote-file-list a{color:#15375e;background:#f4f7fa;border-radius:10px;justify-content:space-between;gap:1rem;padding:.7rem;text-decoration:none;display:flex}.quote-file-list small{color:#75859a}.requirement-checklist{gap:.65rem;display:grid}.requirement-row{background:#fff;border:1px solid #e1e7ee;border-left:5px solid #8da0b5;border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;display:flex}.requirement-row.critical{border-left-color:#d74d4d}.requirement-row.warning{border-left-color:#e4ad2e}.requirement-row.info{border-left-color:#3478f6}.requirement-row>div:first-child{align-items:center;gap:.7rem;display:flex}.requirement-row small{color:#77869a}.invoice-warning{color:#7e5800;background:#fff1cc;border-radius:10px;margin-bottom:1rem;padding:.75rem}.check-line{align-items:center;gap:.5rem;display:flex}.installments{background:#f3f6f9;border-radius:12px;margin-top:1rem;padding:1rem}.quote-timeline{gap:0;display:grid}.quote-timeline>div{grid-template-columns:24px 1fr;gap:.8rem;min-height:70px;display:grid;position:relative}.quote-timeline>div:after{content:"";background:#dbe3ec;width:2px;position:absolute;top:17px;bottom:-5px;left:6px}.quote-timeline>div:last-child:after{display:none}.quote-timeline i{z-index:1;background:#3478f6;border-radius:50%;width:14px;height:14px;margin-top:3px}.quote-timeline section{flex-direction:column;display:flex}.quote-timeline span{color:#76869a;font-size:.78rem}.quote-timeline p{color:#465a72;margin:.25rem 0}.template-grid,.company-catalog{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.template-card>div:first-child{justify-content:space-between;align-items:center;display:flex}.template-card p{color:#6d7c8d;min-height:42px}.component-row{grid-template-columns:150px 1fr 100px auto;gap:.55rem;margin-bottom:.5rem;display:grid}.catalog-chips{flex-wrap:wrap;gap:.45rem;margin:.8rem 0;display:flex}.catalog-chips span{color:#4f657d;background:#edf3f8;border-radius:20px;padding:.35rem .55rem;font-size:.76rem}.indicator-table{overflow:auto}.indicator-table table{min-width:2400px}.page-heading.compact{margin-bottom:1rem}.page-heading.compact h3{margin:0}.quote-print{display:none}.quote-logo-placeholder{color:#64717f;text-align:center;border:2px dashed #94a0ad;place-items:center;width:220px;height:90px;font-weight:700;display:grid}.print-total{justify-content:flex-end;gap:1.5rem;margin-top:1rem;display:flex}.quote-print footer{text-align:center;grid-template-columns:1fr 1fr;gap:4rem;margin-top:5rem;display:grid}.quote-print footer>div{border-top:1px solid #111;padding-top:.5rem}@media (width<=1000px){.quote-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-two-columns,.template-grid,.company-catalog{grid-template-columns:1fr}.quote-form-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.template-picker{grid-template-columns:1fr}.next-action-card{flex-direction:column;align-items:flex-start}.component-row{grid-template-columns:130px 1fr}.component-row>:nth-child(3),.component-row>:nth-child(4){grid-row:2}}@media (width<=640px){.quote-kpis,.quote-form-strip{grid-template-columns:1fr}.quote-detail-head{border-radius:14px;padding:1rem}.quote-detail-head .page-heading{align-items:flex-start}.quote-filters{grid-template-columns:1fr}.requirement-row,.requirement-row>div:first-child{flex-direction:column;align-items:flex-start}.component-row{grid-template-columns:1fr}.component-row>*{grid-row:auto!important}.quote-file-list a{flex-direction:column;gap:.2rem}.quote-stepper>div{min-width:92px}}@media print{body *{visibility:hidden!important}.quote-print,.quote-print *{visibility:visible!important}.quote-print{color:#111;background:#fff;padding:20mm;font-family:Arial,sans-serif;position:absolute;inset:0;display:block!important}.quote-print>button{display:none}.quote-print header{border-bottom:3px solid #12375d;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;display:flex}.quote-print h1{color:#12375d;margin:0}.quote-print section{margin:1rem 0}.quote-print table{border-collapse:collapse;width:100%}.quote-print th,.quote-print td{text-align:left;border:1px solid #b9c2cc;padding:.55rem}.quote-print th{background:#eaf0f6}.portal-sidebar,.portal-topbar{display:none!important}}.portal-root button,.portal-root input,.portal-root select,.portal-root textarea{font:inherit}.portal-root button{cursor:pointer}.source-locked-row{background:#f1f5f9}.source-locked-row .table-input,.source-locked-row .portal-select{color:#536477;background:#e9eef4}.mini-button:disabled{cursor:not-allowed;opacity:.55}.portal-login{background:linear-gradient(145deg,#060f1c,#0d2240 62%,#102b4b);grid-template-columns:minmax(320px,.9fr) minmax(520px,1.1fr);min-height:100vh;display:grid}.login-brand{color:#fafaf7;flex-direction:column;justify-content:space-between;padding:clamp(2rem,6vw,6rem);display:flex;position:relative;overflow:hidden}.login-brand:before{content:"";background-image:linear-gradient(#4a85bf14 1px,#0000 1px),linear-gradient(90deg,#4a85bf14 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(to bottom right,#000,#0000 75%);mask-image:linear-gradient(to bottom right,#000,#0000 75%)}.login-brand>*{z-index:1;position:relative}.portal-wordmark{align-items:center;gap:.8rem;display:flex}.portal-mark{color:#e8b84b;border:1px solid #e8b84b73;place-items:center;width:42px;height:42px;font-family:Cinzel,serif;font-weight:900;display:grid}.portal-wordmark strong{letter-spacing:.12em;font-family:Cinzel,serif;font-size:1rem}.portal-wordmark small{color:#fafaf77a;letter-spacing:.14em;text-transform:uppercase;margin-top:.2rem;font-size:.58rem;display:block}.login-brand-copy{max-width:560px}.login-brand-copy .eyebrow{color:#e8b84b;text-transform:uppercase;letter-spacing:.24em;font-size:.7rem;font-weight:700}.login-brand-copy h1{margin:1rem 0 1.4rem;font-family:Cinzel,serif;font-size:clamp(2.4rem,5vw,4.6rem);line-height:1.02}.login-brand-copy p{color:#fafaf79e;max-width:480px;line-height:1.8}.login-brand-footer{color:#fafaf759;letter-spacing:.08em;font-size:.72rem}.login-panel{background:#fafaf7;justify-content:center;align-items:center;padding:3rem clamp(2rem,6vw,6rem);display:flex}.login-card{width:100%;max-width:520px}.back-site{color:#6b7a8d;background:0 0;border:0;align-items:center;gap:.5rem;margin-bottom:3rem;padding:0;font-size:.82rem;display:inline-flex}.login-card h2{color:#0d2240;margin-bottom:.6rem;font-family:Cinzel,serif;font-size:2rem}.login-card>p{color:#6b7a8d;margin-bottom:2rem;line-height:1.6}.form-field{gap:.45rem;margin-bottom:1rem;display:grid}.form-field label{text-transform:uppercase;letter-spacing:.11em;color:#405268;font-size:.72rem;font-weight:700}.field-hint{color:#78899a;margin-top:.38rem;font-size:.63rem;line-height:1.4;display:block}.portal-input,.portal-select,.portal-textarea{color:#0d1f30;background:#fff;border:1px solid #dbe1e7;border-radius:8px;outline:none;width:100%;padding:.82rem .9rem;transition:all .2s}.portal-textarea{resize:vertical;min-height:88px}.portal-input:focus,.portal-select:focus,.portal-textarea:focus{border-color:#c8922a;box-shadow:0 0 0 3px #c8922a1f}.pin-input{letter-spacing:.35em;font-weight:800}.login-actions{justify-content:space-between;align-items:center;margin:.4rem 0 1.3rem;display:flex}.text-button{color:#9b6f1d;background:0 0;border:0;padding:.3rem 0;font-size:.78rem;font-weight:700}.primary-button,.secondary-button,.danger-button,.ghost-button{letter-spacing:.04em;border:1px solid #0000;border-radius:8px;min-height:42px;padding:.76rem 1rem;font-size:.78rem;font-weight:800;transition:all .2s}.primary-button{color:#071122;background:#c8922a}.primary-button:hover{background:#e8b84b;transform:translateY(-1px)}.secondary-button{color:#fff;background:#0d2240}.secondary-button:hover{background:#1a3a5c}.ghost-button{color:#405268;background:#fff;border-color:#dbe1e7}.ghost-button:hover{color:#9b6f1d;border-color:#c8922a}.danger-button{color:#a53a31;background:#fff2f1;border-color:#f1c6c2}.wide-button{width:100%}.login-error{color:#a53a31;background:#fff2f1;border:1px solid #f1c6c2;border-radius:8px;margin-bottom:1rem;padding:.75rem .9rem;font-size:.8rem}.demo-box{border-top:1px solid #e5e9ed;margin-top:1.7rem;padding-top:1.4rem}.demo-box>span{color:#8491a0;text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;font-weight:700}.demo-grid{grid-template-columns:repeat(3,1fr);gap:.55rem;margin-top:.8rem;display:grid}.demo-account{text-align:left;color:#31465e;background:#fff;border:1px solid #e1e6eb;border-radius:8px;padding:.65rem;font-size:.69rem;line-height:1.4}.demo-account strong{color:#0d2240;margin-bottom:.1rem;display:block}.demo-account:hover{background:#fffbf2;border-color:#c8922a}.demo-hint{color:#8a96a3;margin-top:.75rem;font-size:.7rem}.portal-shell{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.portal-sidebar{color:#fff;z-index:20;background:#071122;flex-direction:column;height:100vh;padding:1.4rem 1rem;display:flex;position:sticky;top:0}.sidebar-user{border-top:1px solid #ffffff14;border-bottom:1px solid #ffffff14;align-items:center;gap:.75rem;margin:2.2rem .45rem 1.4rem;padding:1rem 0;display:flex}.avatar{color:#071122;background:linear-gradient(135deg,#c8922a,#e8b84b);border-radius:50%;flex:none;place-items:center;width:40px;height:40px;font-weight:900;display:grid}.sidebar-user strong{font-size:.78rem;display:block}.sidebar-user small{color:#ffffff6b;margin-top:.2rem;font-size:.65rem;display:block}.portal-nav{gap:.25rem;display:grid}.portal-nav button{color:#ffffff8c;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:.75rem;padding:.8rem .85rem;font-size:.77rem;font-weight:700;display:flex}.portal-nav button:before{content:"";border:1px solid #c8922a;width:5px;height:5px;transform:rotate(45deg)}.portal-nav button:hover,.portal-nav button.active{color:#fff;background:#c8922a1f}.portal-nav button.active:before{background:#e8b84b}.sidebar-bottom{gap:.5rem;margin-top:auto;display:grid}.sidebar-bottom button{color:#ffffff80;background:0 0;border:1px solid #ffffff1a;border-radius:7px;width:100%;padding:.7rem;font-size:.7rem}.portal-main{min-width:0}.portal-topbar{z-index:15;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border-bottom:1px solid #e1e6eb;justify-content:space-between;align-items:center;height:72px;padding:0 clamp(1rem,3vw,2.2rem);display:flex;position:sticky;top:0}.portal-topbar h1{color:#0d2240;font-family:Cinzel,serif;font-size:1.1rem}.portal-topbar p{color:#7c8998;margin-top:.25rem;font-size:.7rem}.topbar-actions{align-items:center;gap:.7rem;display:flex}.notification-dot{background:#c8922a;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 4px #c8922a26}.menu-toggle{display:none}.portal-content{max-width:1600px;margin:0 auto;padding:clamp(1rem,3vw,2.2rem)}.page-heading{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;display:flex}.page-heading h2{color:#0d2240;font-family:Cinzel,serif;font-size:clamp(1.45rem,2.5vw,2rem)}.page-heading p{color:#6b7a8d;margin-top:.4rem;font-size:.82rem}.button-row{flex-wrap:wrap;gap:.6rem;display:flex}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem;display:grid}.metric-card,.portal-card{background:#fff;border:1px solid #e1e6eb;border-radius:12px;box-shadow:0 7px 22px #0d22400a}.metric-card{padding:1.2rem;position:relative;overflow:hidden}.metric-card:after{content:"";background:#c8922a;width:48px;height:3px;position:absolute;top:0;right:0}.metric-card span{color:#7c8998;text-transform:uppercase;letter-spacing:.09em;font-size:.65rem;font-weight:700;display:block}.metric-card strong{color:#0d2240;margin:.55rem 0 .25rem;font-family:Cinzel,serif;font-size:1.65rem;display:block}.metric-card small{color:#8b97a4;font-size:.67rem}.dashboard-grid{grid-template-columns:1.25fr .75fr;gap:1rem;display:grid}.portal-card{padding:1.2rem}.card-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.card-heading h3{color:#0d2240;font-family:Cinzel,serif;font-size:.95rem}.card-heading span{color:#8b97a4;font-size:.68rem}.progress-list{gap:1rem;display:grid}.progress-item-head{justify-content:space-between;gap:1rem;margin-bottom:.45rem;font-size:.75rem;display:flex}.progress-item-head strong{color:#243d58}.progress-track{background:#edf0f3;border-radius:99px;height:8px;overflow:hidden}.progress-track>div{border-radius:inherit;background:linear-gradient(90deg,#c8922a,#e8b84b);height:100%;transition:width .35s}.chart-bars{align-items:flex-end;gap:.65rem;height:180px;padding-top:1rem;display:flex}.chart-column{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:.5rem;height:100%;display:flex}.chart-column div{background:linear-gradient(#4a85bf,#0d2240);border-radius:5px 5px 0 0;width:100%;max-width:38px;min-height:4px}.chart-column span{color:#7c8998;font-size:.62rem}.activity-feed{display:grid}.feed-row{border-bottom:1px solid #edf0f3;grid-template-columns:9px 1fr;gap:.8rem;padding:.75rem 0;display:grid}.feed-row:last-child{border:0}.feed-dot{background:#c8922a;border-radius:50%;width:8px;height:8px;margin-top:.35rem}.feed-row strong{color:#263f59;font-size:.75rem}.feed-row p{color:#7c8998;margin-top:.2rem;font-size:.68rem;line-height:1.5}.table-shell{background:#fff;border:1px solid #e1e6eb;border-radius:12px;overflow:auto}.portal-table{border-collapse:collapse;width:100%;min-width:780px}.portal-table th{text-align:left;color:#637487;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;background:#f7f8f9;border-bottom:1px solid #e1e6eb;padding:.8rem .9rem;font-size:.63rem}.portal-table td{color:#334b64;vertical-align:middle;border-bottom:1px solid #edf0f3;padding:.78rem .9rem;font-size:.74rem}.portal-table tbody tr:hover{background:#fffcf6}.status-badge{white-space:nowrap;color:#50667d;background:#edf2f6;border-radius:99px;align-items:center;gap:.35rem;padding:.3rem .55rem;font-size:.62rem;font-weight:800;display:inline-flex}.status-badge:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.status-badge.success{color:#24734a;background:#eaf7ef}.status-badge.warning{color:#9b6f1d;background:#fff5df}.status-badge.danger{color:#ae443b;background:#fff0ef}.status-badge.info{color:#346d9f;background:#edf5fb}.table-actions{gap:.4rem;display:flex}.mini-button{color:#405268;white-space:nowrap;background:#fff;border:1px solid #dbe1e7;border-radius:6px;padding:.42rem .55rem;font-size:.65rem;font-weight:700;text-decoration:none}.mini-button:hover{color:#9b6f1d;border-color:#c8922a}.mini-button.danger{color:#a53a31}.filters{flex-wrap:wrap;gap:.7rem;margin-bottom:1rem;display:flex}.filters .portal-input,.filters .portal-select{width:auto;min-width:170px;padding:.65rem .75rem;font-size:.75rem}.empty-state{text-align:center;color:#7c8998;padding:3rem 1rem}.empty-state strong{color:#405268;margin-bottom:.4rem;display:block}.portal-alert{border:1px solid #0000;border-radius:9px;margin-bottom:1rem;padding:.8rem 1rem;font-size:.72rem;line-height:1.55}.portal-alert.warning{color:#78571c;background:#fff8e8;border-color:#ead39c}.portal-alert.danger{color:#8e3d35;background:#fff1ef;border-color:#efc1bc}.report-summary-bar{background:#fff;border:1px solid #e1e6eb;border-radius:10px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.85rem 1rem;display:flex}.report-summary-bar strong,.report-summary-bar span{display:block}.report-summary-bar strong{color:#203b56;font-size:.8rem}.report-summary-bar span{color:#7c8998;margin-top:.25rem;font-size:.67rem}.report-detail-toggle{color:#4e6277;background:#fff;border:1px solid #dbe1e7;border-radius:8px;align-items:center;gap:.48rem;min-height:42px;padding:.55rem .72rem;font-size:.7rem;font-weight:750;display:inline-flex}.report-detail-toggle input{accent-color:#c8922a}.report-table-v9{min-width:1180px}.history-filters{align-items:center}.history-metrics{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.history-metrics>div{background:#fff;border:1px solid #e1e6eb;border-radius:10px;padding:.9rem 1rem;position:relative;overflow:hidden;box-shadow:0 5px 18px #0d224009}.history-metrics>div:before{content:"";background:#c8922a;width:3px;position:absolute;inset:0 auto 0 0}.history-metrics span,.history-metrics strong{display:block}.history-metrics span{color:#758598;text-transform:uppercase;letter-spacing:.06em;font-size:.61rem;font-weight:750}.history-metrics strong{color:#17324b;margin-top:.38rem;font-size:1rem}.history-week{margin-bottom:1rem}.history-week-head{background:linear-gradient(90deg,#fff,#f8fafc);border:1px solid #e1e6eb;border-bottom:0;border-radius:10px 10px 0 0;justify-content:space-between;align-items:center;gap:1rem;padding:.78rem 1rem;display:flex}.history-week-head strong,.history-week-head span{display:block}.history-week-head strong{color:#263f59;font-size:.75rem}.history-week-head span{color:#82909d;margin-top:.2rem;font-size:.62rem}.history-week .table-shell{border-radius:0 0 10px 10px}.history-table{min-width:1640px}.history-evidence{flex-wrap:wrap;align-items:flex-start;gap:.38rem;min-width:130px;display:flex}.history-evidence a{color:#275d88;font-size:.65rem;font-weight:750;text-decoration:none}.history-evidence a:hover{text-decoration:underline}.history-evidence small,.history-evidence span{color:#8492a0;flex:1 0 100%;font-size:.58rem;line-height:1.4}.schedule-toolbar{flex-wrap:wrap;justify-content:center;align-items:center;gap:.7rem;margin-bottom:1rem;display:flex}.schedule-toolbar label{color:#607286;align-items:center;gap:.6rem;font-size:.7rem;font-weight:800;display:flex}.schedule-toolbar .portal-input{width:auto;padding:.62rem .7rem}.schedule-grid-shell{background:#fff;border:1px solid #e1e6eb;border-radius:12px;overflow:auto}.schedule-grid{border-collapse:collapse;width:100%;min-width:1180px}.schedule-grid th{color:#fff;text-align:left;background:#0d2240;min-width:132px;padding:.7rem;font-size:.65rem}.schedule-grid th:first-child{z-index:3;background:#08182d;min-width:220px;position:sticky;left:0}.schedule-grid th small{color:#ffffff80;margin-top:.25rem;font-weight:500;display:block}.schedule-grid td{vertical-align:top;border-bottom:1px solid #edf0f3;border-right:1px solid #edf0f3;padding:.35rem}.schedule-grid td:first-child{z-index:2;background:#fff;padding:.75rem;position:sticky;left:0}.schedule-grid td:first-child strong,.schedule-grid td:first-child small{display:block}.schedule-grid td:first-child strong{color:#29425c;font-size:.72rem}.schedule-grid td:first-child small{color:#82909d;margin-top:.25rem;font-size:.61rem}.schedule-cell{color:#53687d;text-align:left;background:#f9fafb;border:1px solid #dce3e9;border-radius:7px;align-content:start;gap:.3rem;width:100%;min-height:62px;padding:.55rem;display:grid}.schedule-cell:hover{border-color:#c8922a;box-shadow:0 4px 12px #0d224014}.schedule-cell:disabled{cursor:not-allowed;opacity:.72;box-shadow:none}.schedule-cell:disabled:hover{border-color:inherit}.schedule-cell strong{font-size:.64rem}.schedule-cell span{font-size:.6rem;line-height:1.4}.schedule-cell small{text-transform:uppercase;letter-spacing:.04em;font-size:.55rem;font-weight:800}.schedule-cell.work{color:#275d88;background:#eef6fc;border-color:#c8dceb}.schedule-cell.rest,.schedule-cell.holiday{color:#89621c;background:#fff7e5;border-color:#ead8ae}.schedule-cell.vacation,.schedule-cell.permission,.schedule-cell.medical_leave{color:#28704a;background:#eef8f2;border-color:#c8e2d2}.schedule-cell.suspension{color:#9a423a;background:#fff0ef;border-color:#edc4c0}.schedule-exception-note{color:#607286;background:#f4f7f9;border-radius:8px;padding:.8rem;font-size:.7rem}.choice-row{flex-wrap:wrap;gap:.45rem;display:flex}.check-chip{color:#4f657b;cursor:pointer;background:#fff;border:1px solid #dce3e9;border-radius:7px;align-items:center;gap:.45rem;padding:.5rem .65rem;font-size:.68rem;display:flex}.check-chip:has(input:checked){color:#74531a;background:#fff9ec;border-color:#c8922a}.check-chip input{accent-color:#c8922a}.worker-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;max-height:230px;padding:.2rem;display:grid;overflow:auto}.worker-picker .check-chip span,.worker-picker .check-chip small{display:block}.worker-picker .check-chip small{color:#8794a2;margin-top:.15rem}.worker-picker .select-all{grid-column:1/-1;font-weight:800}.modal-backdrop{z-index:60;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#030a14b3;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.portal-modal{background:#fff;border-radius:14px;width:min(620px,100%);max-height:90vh;overflow:auto;box-shadow:0 30px 80px #0000004d}.portal-modal.wide{width:min(980px,100%)}.modal-header{border-bottom:1px solid #e5e9ed;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem 1.3rem;display:flex}.modal-header h3{color:#0d2240;font-family:Cinzel,serif}.modal-close{color:#607286;background:#f1f3f5;border:0;border-radius:50%;width:34px;height:34px}.modal-body{padding:1.3rem}.modal-footer{border-top:1px solid #e5e9ed;justify-content:flex-end;gap:.6rem;padding:1rem 1.3rem;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-grid .span-2{grid-column:1/-1}.toast{z-index:100;color:#fff;background:#071122;border-left:4px solid #e8b84b;border-radius:8px;max-width:340px;padding:.9rem 1rem;font-size:.78rem;animation:.25s fadeUp;position:fixed;bottom:1.2rem;right:1.2rem;box-shadow:0 14px 30px #00000040}.company-list{gap:1rem;display:grid}.company-card{background:#fff;border:1px solid #e1e6eb;border-radius:12px;overflow:hidden}.company-head{background:linear-gradient(90deg,#fff,#fafbfc);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.2rem;display:flex}.company-head h3{color:#0d2240;font-family:Cinzel,serif;font-size:1rem}.company-head p{color:#7c8998;margin-top:.25rem;font-size:.68rem}.project-list{border-top:1px solid #e5e9ed}.project-row{border-bottom:1px solid #edf0f3;grid-template-columns:minmax(220px,1.5fr) minmax(120px,.7fr) minmax(180px,1fr) auto;align-items:center;gap:1rem;padding:1rem 1.2rem;display:grid}.project-row:last-child{border-bottom:0}.project-row h4{color:#29425c;font-size:.8rem}.project-row p{color:#8491a0;margin-top:.25rem;font-size:.66rem}.dual-progress{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.dual-progress span{color:#7c8998;margin-bottom:.25rem;font-size:.57rem;display:block}.dual-progress .progress-track{height:5px}.dual-progress .ops>div{background:linear-gradient(90deg,#1a3a5c,#4a85bf)}.project-overall{background:conic-gradient(#c8922a var(--progress),#edf0f3 0);border-radius:50%;place-items:center;width:54px;height:54px;display:grid;position:relative}.project-overall:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:5px}.project-overall strong{z-index:1;color:#0d2240;font-size:.68rem;position:relative}.project-header{color:#fff;background:linear-gradient(135deg,#071122,#0d2240);border-radius:12px;margin-bottom:1rem;padding:1.4rem}.project-header-top{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.project-header h2{font-family:Cinzel,serif;font-size:1.4rem}.project-header p{color:#ffffff80;margin-top:.35rem;font-size:.74rem}.project-kpis{grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.3rem;display:grid}.project-kpi{border-left:2px solid #c8922a;padding-left:.8rem}.project-kpi span{color:#ffffff73;text-transform:uppercase;letter-spacing:.08em;font-size:.6rem}.project-kpi strong{color:#e8b84b;margin-top:.25rem;font-family:Cinzel,serif;font-size:1.25rem;display:block}.workflow-status{color:#fff9;background:#ffffff0d;border:1px solid #e8b84b38;border-radius:8px;margin-top:1.1rem;padding:.7rem .85rem;font-size:.66rem;line-height:1.5}.workflow-note{color:#6b5734;background:#fffbf2;border-left:3px solid #c8922a;border-radius:6px;padding:.75rem .85rem;font-size:.72rem;line-height:1.5}.project-tabs{gap:.45rem;margin-bottom:1rem;display:flex;overflow:auto}.project-tabs button{color:#607286;white-space:nowrap;background:#fff;border:1px solid #dbe1e7;border-radius:7px;padding:.65rem .85rem;font-size:.7rem;font-weight:800}.project-tabs button.active{color:#fff;background:#0d2240;border-color:#0d2240}.editable-grid-shell{background:#fff;border:1px solid #e1e6eb;border-radius:12px;overflow:auto}.editable-grid{border-collapse:collapse;width:100%;min-width:max-content}.editable-grid th{color:#ffffffb3;text-align:left;text-transform:uppercase;letter-spacing:.06em;background:#0d2240;min-width:150px;max-width:220px;padding:.7rem;font-size:.58rem}.editable-grid th:first-child{z-index:2;background:#0a1b34;min-width:210px;position:sticky;left:0}.editable-grid td{background:#fff;border-bottom:1px solid #edf0f3;border-right:1px solid #edf0f3;padding:.4rem}.editable-grid td:first-child{z-index:1;background:#fffdf8;position:sticky;left:0}.editable-grid .read-only-row td{background:#f7f9fb}.editable-grid .read-only-row td:first-child{background:#f4f6f8}.grid-input{color:#334b64;background:0 0;border:1px solid #0000;border-radius:5px;width:100%;min-width:130px;padding:.45rem;font-size:.69rem}.grid-input:focus{background:#fff;border-color:#c8922a;outline:none}.grid-input:disabled{color:#718096;cursor:not-allowed;opacity:.85}.responsible-select{min-width:235px}.grid-actions{background:#f7f8f9;gap:.5rem;padding:.9rem;display:flex}.project-state{white-space:nowrap;border:1px solid;border-radius:99px;justify-content:center;align-items:center;gap:.42rem;width:max-content;min-width:118px;padding:.45rem .7rem;font-size:.63rem;font-weight:900;display:inline-flex}.project-state i,.activity-state i,.gantt-legend i{background:currentColor;border-radius:50%;flex:0 0 7px;width:7px;height:7px;display:block}.project-state-pending{color:#a52a22;background:#fee9e7;border-color:#f0aaa4}.project-state-in-progress{color:#7a5200;background:#fff4cb;border-color:#efd078}.project-state-completed{color:#17683f;background:#e5f6ea;border-color:#91d2aa}.activity-status-td{min-width:150px;padding:.35rem!important}.activity-state{border:1px solid;border-radius:7px;justify-content:flex-start;align-items:center;gap:.45rem;width:100%;min-height:38px;padding:.52rem .65rem;font-size:.66rem;line-height:1.2;display:flex}.activity-state.pending{color:#a52a22;background:#fee9e7;border-color:#efaaa4}.activity-state.in-progress{color:#795200;background:#fff4cb;border-color:#efd17c}.activity-state.completed{color:#17683f;background:#e5f6ea;border-color:#91d2aa}.editable-grid tr.focused-row td{animation:2.1s activity-focus}@keyframes activity-focus{0%,35%{background:#fff8df;box-shadow:inset 0 0 0 2px #d7a633}to{box-shadow:inset 0 0 #0000}}.gantt-panel{gap:1rem;width:100%;min-width:0;display:grid}.gantt-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;display:grid}.gantt-metric{background:#fff;border:1px solid #e0e6eb;border-radius:11px;justify-content:space-between;align-items:center;min-height:82px;padding:1rem;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 24px #0c1f320a}.gantt-metric:before{content:"";background:currentColor;width:4px;position:absolute;inset:0 auto 0 0}.gantt-metric span{color:#6c7d8e;font-size:.65rem;font-weight:800}.gantt-metric strong{font-family:Cinzel,serif;font-size:1.55rem}.gantt-metric.pending{color:#b13a31}.gantt-metric.in-progress{color:#b27a0c}.gantt-metric.completed{color:#238354}.gantt-metric.overdue{color:#a61f2b;background:#fffafb}.gantt-milestones{background:#fff;border:1px solid #e0e6eb;border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.gantt-milestones div{border-right:1px solid #e8edf1;gap:.3rem;min-width:0;padding:.8rem 1rem;display:grid}.gantt-milestones div:last-child{border:0}.gantt-milestones span{color:#7a8999;text-transform:uppercase;letter-spacing:.04em;font-size:.57rem;font-weight:800}.gantt-milestones strong{color:#29445d;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.gantt-toolbar{background:#fff;border:1px solid #e0e6eb;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;padding:.75rem;display:flex}.gantt-filters,.gantt-actions{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.gantt-filters .portal-select{min-width:190px}.gantt-zoom{border:1px solid #d7e0e7;border-radius:7px;display:flex;overflow:hidden}.gantt-zoom button{color:#62768a;background:#fff;border:0;border-right:1px solid #d7e0e7;padding:.55rem .68rem;font-size:.62rem;font-weight:800}.gantt-zoom button:last-child{border:0}.gantt-zoom button.active{color:#fff;background:#0d2947}.gantt-actions .ghost-button{padding:.55rem .7rem}.gantt-actions .ghost-button:disabled{opacity:.45;cursor:not-allowed}.gantt-legend{color:#63768a;flex-wrap:wrap;align-items:center;gap:.55rem 1rem;font-size:.62rem;font-weight:800;display:flex}.gantt-legend span{align-items:center;gap:.35rem;display:inline-flex}.gantt-legend .pending{color:#b13a31}.gantt-legend .in-progress{color:#a66d00}.gantt-legend .completed{color:#238354}.gantt-legend .overdue{color:#b01f2b}.gantt-legend .overdue i{border-radius:1px;transform:rotate(45deg)}.gantt-legend .unscheduled{color:#718296}.gantt-scroll{scrollbar-color:#aab9c6 #eef2f5;background:#fff;border:1px solid #dce4ea;border-radius:12px;width:100%;min-width:0;max-width:100%;overflow:auto;box-shadow:0 10px 28px #0e21350d}.gantt-board{--gantt-label-width:280px;grid-template-columns:var(--gantt-label-width) var(--gantt-width);width:calc(var(--gantt-label-width) + var(--gantt-width));min-width:100%;display:grid;position:relative}.gantt-head-label{z-index:8;color:#fff;background:#0a2039;border-bottom:1px solid #314a62;border-right:1px solid #314a62;align-content:center;gap:.22rem;min-height:58px;padding:.7rem 1rem;display:grid;position:sticky;left:0}.gantt-head-label strong{text-transform:uppercase;letter-spacing:.05em;font-size:.67rem}.gantt-head-label span{color:#ffffff80;font-size:.57rem}.gantt-timeline-head{width:var(--gantt-width);background:#0d2947;border-bottom:1px solid #314a62;min-height:58px;position:relative;overflow:hidden}.gantt-timeline-head span{color:#ffffffb8;white-space:nowrap;border-left:1px solid #ffffff24;align-items:center;min-width:95px;padding-left:.5rem;font-size:.58rem;font-weight:800;display:flex;position:absolute;top:0;bottom:0}.gantt-row{display:contents}.gantt-row-label{z-index:5;text-align:left;cursor:pointer;background:#fff;border-top:0;border-bottom:1px solid #e6ebef;border-left:0;border-right:1px solid #dfe6eb;align-content:center;gap:.3rem;width:100%;min-height:72px;padding:.7rem 1rem;display:grid;position:sticky;left:0}.gantt-row:nth-of-type(2n) .gantt-row-label{background:#fbfcfd}.gantt-row-label:hover,.gantt-row-label:focus-visible{background:#fff8e8}.gantt-row-label strong{color:#28435c;text-overflow:ellipsis;white-space:nowrap;font-size:.69rem;overflow:hidden}.gantt-row-label span{color:#7a8998;text-overflow:ellipsis;white-space:nowrap;font-size:.58rem;overflow:hidden}.gantt-row-timeline{width:var(--gantt-width);background-color:#fff;background-image:repeating-linear-gradient(90deg,transparent 0,transparent calc(var(--day-width) - 1px),#edf1f4 calc(var(--day-width) - 1px),#edf1f4 var(--day-width));border-bottom:1px solid #e6ebef;min-height:72px;position:relative}.gantt-row:nth-of-type(2n) .gantt-row-timeline{background-color:#fbfcfd}.gantt-bar{color:#253f57;text-align:left;cursor:pointer;border:1px solid;border-radius:7px;min-width:24px;height:40px;padding:0 .45rem;position:absolute;top:16px;overflow:visible;box-shadow:0 3px 8px #10263917}.gantt-bar-progress{opacity:.62;border-radius:6px;max-width:100%;position:absolute;inset:0 auto 0 0}.gantt-bar strong{z-index:1;white-space:nowrap;font-size:.61rem;position:relative}.gantt-bar em{z-index:2;color:#fff;white-space:nowrap;background:#a61f2b;border-radius:99px;padding:.15rem .35rem;font-size:.48rem;font-style:normal;font-weight:900;position:absolute;top:-13px;right:3px;box-shadow:0 2px 6px #740c1933}.gantt-bar.pending{color:#95251e;background:#fee9e7;border-color:#e99189}.gantt-bar.pending .gantt-bar-progress{background:#d9574d}.gantt-bar.in-progress{color:#704b00;background:#fff4cb;border-color:#e4bd58}.gantt-bar.in-progress .gantt-bar-progress{background:#edbd3f}.gantt-bar.completed{color:#155d39;background:#e5f6ea;border-color:#73c394}.gantt-bar.completed .gantt-bar-progress{background:#42a66c}.gantt-bar.is-overdue{outline-offset:2px;outline:2px solid #bd2632}.gantt-bar.completed-late{box-shadow:0 0 0 2px #cf7f2c}.gantt-unscheduled{color:#6e7f90;cursor:pointer;background:#f6f8fa;border:1px dashed #aebcc8;border-radius:99px;padding:.35rem .6rem;font-size:.57rem;font-weight:800;position:absolute;top:20px;left:16px}.gantt-today-line{z-index:6;pointer-events:none;background:#c52d3a;width:2px;position:absolute;top:58px;bottom:0;box-shadow:0 0 0 1px #c52d3a14}.gantt-today-line span{color:#fff;background:#c52d3a;border-radius:99px;padding:.15rem .35rem;font-size:.48rem;font-weight:900;position:absolute;top:4px;left:5px}.gantt-empty{color:#748496;grid-column:1/-1;place-items:center;min-height:100px;font-size:.67rem;display:grid}.gantt-detail{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.gantt-detail>div{background:#f8fafb;border:1px solid #e3e8ec;border-radius:8px;gap:.32rem;padding:.75rem;display:grid}.gantt-detail>div.span-2{grid-column:1/-1}.gantt-detail span{color:#7a8998;text-transform:uppercase;font-size:.57rem;font-weight:800}.gantt-detail strong{color:#29445d;font-size:.7rem;line-height:1.45}.gantt-detail-alert{background:#fff0f1!important;border-color:#efb1b6!important}.gantt-detail-alert strong{color:#9e2630}.docs-grid{grid-template-columns:repeat(2,1fr);gap:.8rem;display:grid}.doc-card{border:1px solid #e1e6eb;border-radius:9px;grid-template-columns:1fr 145px;align-items:center;gap:.8rem;padding:.9rem;display:grid}.doc-card strong{color:#304962;font-size:.75rem}.doc-card p{color:#8491a0;margin-top:.25rem;font-size:.65rem}.log-list{gap:.8rem;display:grid}.log-card{background:#fff;border:1px solid #e1e6eb;border-left:3px solid #c8922a;border-radius:9px;padding:1rem}.log-head{justify-content:space-between;gap:1rem;margin-bottom:.7rem;display:flex}.log-head strong{color:#263f59;font-size:.78rem}.log-head span{color:#9b6f1d;font-size:.72rem;font-weight:800}.log-card p{color:#637487;font-size:.72rem;line-height:1.55}.log-meta{flex-wrap:wrap;gap:.5rem;margin-top:.7rem;display:flex}.log-meta span{color:#617387;background:#f1f4f6;border-radius:5px;padding:.35rem .5rem;font-size:.62rem}.punch-card{color:#fff;background:linear-gradient(145deg,#071122,#0d2240);border-radius:16px;grid-template-columns:1fr auto;align-items:center;gap:2rem;padding:clamp(1.4rem,4vw,2.5rem);display:grid;position:relative;overflow:hidden}.punch-card:after{content:"";border:1px solid #e8b84b1f;border-radius:50%;width:240px;height:240px;position:absolute;top:-85px;right:-70px}.punch-card .today{color:#e8b84b;text-transform:uppercase;letter-spacing:.18em;font-size:.68rem;font-weight:700}.punch-card h2{margin:.7rem 0 .4rem;font-family:Cinzel,serif;font-size:clamp(1.6rem,4vw,2.6rem)}.live-clock{letter-spacing:-.05em;color:#fafaf7;font-size:clamp(2.5rem,8vw,5rem);font-weight:300}.live-clock small{letter-spacing:.08em;color:#fff6;font-size:.8rem}.punch-button{z-index:2;color:#071122;text-transform:uppercase;letter-spacing:.08em;background:#c8922a;border:6px solid #ffffff21;border-radius:50%;width:150px;height:150px;font-weight:900;position:relative;box-shadow:0 0 0 10px #c8922a14}.punch-button.exit{color:#fff;background:#4a85bf}.location-note{color:#ffffff7a;align-items:center;gap:.5rem;margin-top:1rem;font-size:.68rem;display:flex}.punch-details{min-width:0}.punch-action{z-index:2;justify-items:center;gap:1rem;display:grid;position:relative}.photo-picker{color:#fff;cursor:pointer;background:#ffffff0f;border:1px dashed #e8b84b80;border-radius:9px;gap:.22rem;width:min(440px,100%);margin-top:1.2rem;padding:.85rem 1rem;display:grid}.photo-picker span{color:#e8b84b;font-size:.78rem;font-weight:800}.photo-picker small{color:#ffffff7a;font-size:.65rem}.photo-picker input{color:#ffffffb8;max-width:100%;margin-top:.45rem;font-size:.7rem}.photo-picker input::file-selector-button{color:#071122;cursor:pointer;background:#e8b84b;border:0;border-radius:6px;margin-right:.6rem;padding:.52rem .65rem;font-weight:800}.punch-photo-preview{-o-object-fit:cover;object-fit:cover;border:3px solid #ffffff2e;border-radius:10px;width:150px;height:112px;box-shadow:0 8px 25px #00000040}.today-schedule-card{background:#fff;border:1px solid #dce3e9;border-left:4px solid #c8922a;border-radius:9px;grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;margin-bottom:1rem;padding:.8rem 1rem;display:grid}.today-schedule-card span{color:#7b8997;text-transform:uppercase;letter-spacing:.08em;font-size:.6rem;font-weight:800}.today-schedule-card strong{color:#203b56;font-size:.78rem}.today-schedule-card small{color:#7b8997;font-size:.65rem}.punch-card .form-field{max-width:620px;margin-top:1rem}.punch-card .form-field label{color:#e8b84b}.punch-reason{color:#fff;background:#ffffff1a;border-color:#fff3;min-height:86px}.request-card{background:#fff;border:1px solid #e1e6eb;border-radius:9px;padding:1rem}.request-card+.request-card{margin-top:.7rem}.request-head{justify-content:space-between;gap:1rem;margin-bottom:.6rem;display:flex}.request-card h4{color:#29425c;font-size:.78rem}.request-card p{color:#68798b;font-size:.7rem;line-height:1.55}.request-review{background:#f6f8f9;border-radius:7px;margin-top:.7rem;padding:.7rem}.portal-tabs{border-bottom:1px solid #dde4ea;flex-wrap:wrap;gap:.35rem;margin:1rem 0;display:flex}.portal-tabs button{color:#65768a;background:0 0;border:0;border-bottom:3px solid #0000;padding:.75rem 1rem;font-size:.72rem;font-weight:800}.portal-tabs button.active{color:#0d2240;border-color:#d5a436}.inventory-grid{grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:1rem;display:grid}.inventory-card{flex-direction:column;min-width:0;padding:0;display:flex;overflow:hidden}.inventory-card-topline{background:#fff;border-bottom:1px solid #edf1f4;justify-content:space-between;align-items:center;gap:.75rem;min-height:47px;padding:.65rem 1rem;display:flex}.inventory-code{color:#52677d;letter-spacing:.045em;font-size:.68rem;font-weight:800}.inventory-photo{aspect-ratio:4/3;color:#7a8998;isolation:isolate;background:#e9eef2;place-items:center;width:100%;display:grid;position:relative;overflow:hidden}.inventory-photo-open{color:#fff;cursor:zoom-in;background:0 0;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0;overflow:hidden}.inventory-photo img{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;width:100%;height:100%;transition:transform .25s;display:block}.inventory-photo-open:after{content:"";opacity:0;background:linear-gradient(#0000,#04111f9e);transition:opacity .2s;position:absolute;inset:60% 0 0}.inventory-photo-open span{z-index:1;opacity:0;background:#081c30c2;border-radius:99px;padding:.35rem .55rem;font-size:.58rem;font-weight:800;transition:opacity .2s,transform .2s;position:absolute;bottom:.75rem;right:.8rem;transform:translateY(5px)}.inventory-photo-open:hover img,.inventory-photo-open:focus-visible img{transform:scale(1.025)}.inventory-photo-open:hover:after,.inventory-photo-open:focus-visible:after,.inventory-photo-open:hover span,.inventory-photo-open:focus-visible span{opacity:1}.inventory-photo-open:hover span,.inventory-photo-open:focus-visible span{transform:none}.inventory-photo-change{z-index:2;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#091f34d6;border:1px solid #ffffff94;border-radius:7px;padding:.42rem .62rem;font-size:.58rem;font-weight:800;position:absolute;bottom:.75rem;left:.75rem;box-shadow:0 5px 14px #04132038}.inventory-photo-change:hover,.inventory-photo-change:focus-visible{background:#0d2a47}.inventory-card-body{flex-direction:column;flex:1;padding:1rem;display:flex}.inventory-title{min-height:47px}.inventory-card h3{color:#18324c;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 .25rem;font-size:.95rem;line-height:1.35;display:-webkit-box;overflow:hidden}.inventory-card p,.inventory-detail{color:#6c7b8b;font-size:.68rem}.stock-summary{grid-template-columns:repeat(3,1fr);gap:.5rem;margin:.9rem 0;display:grid}.stock-summary div{background:#f5f7f8;border-radius:7px;gap:.2rem;padding:.6rem;display:grid}.stock-summary span{color:#788697;text-transform:uppercase;font-size:.58rem}.stock-summary strong{color:#17324b;font-size:.75rem}.stock-alert{color:#8a5e0b;background:#fff1d3;border-radius:6px;margin-bottom:.7rem;padding:.5rem .65rem;font-size:.66rem;font-weight:800}.location-chips{flex-wrap:wrap;gap:.35rem;margin:.7rem 0;display:flex}.location-chips span{color:#50677e;background:#edf3f6;border-radius:99px;padding:.3rem .5rem;font-size:.6rem}.inventory-footer{align-items:center;margin:auto 0 0;padding-top:1rem}.inventory-photo-picker{gap:.85rem;display:grid}.inventory-photo-stage{aspect-ratio:4/3;color:#64778a;background:linear-gradient(135deg,#edf2f5,#e5ebef);border:1px dashed #becbd6;border-radius:10px;place-items:center;width:min(100%,620px);display:grid;position:relative;overflow:hidden}.inventory-photo-stage img{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;width:100%;height:100%;display:block}.inventory-photo-stage>div{text-align:center;gap:.3rem;display:grid}.inventory-photo-stage strong{color:#29445e;font-size:.75rem}.inventory-photo-stage span{font-size:.63rem}.inventory-photo-stage.processing:after{content:"";background:#eef3f6b8;position:absolute;inset:0}.inventory-photo-stage.processing:before{content:"";z-index:1;border:3px solid #c7d2db;border-top-color:#b88627;border-radius:50%;width:28px;height:28px;animation:.75s linear infinite inventory-photo-spin;position:absolute}.inventory-photo-actions{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.inventory-photo-help{color:#718296;max-width:680px;font-size:.64rem;line-height:1.55;display:block}.inventory-photo-preview{aspect-ratio:4/3;background:#e9eef2;border-radius:11px;width:min(100%,860px);margin:auto;overflow:hidden;box-shadow:0 12px 34px #0a1f321f}.inventory-photo-preview img{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;width:100%;height:100%;display:block}@keyframes inventory-photo-spin{to{transform:rotate(360deg)}}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.catalog-row{color:#52667a;border-bottom:1px solid #edf0f2;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 0;font-size:.7rem;display:flex}.catalog-row div{gap:.2rem;display:grid}.catalog-row small{color:#8a97a5}.file-button{cursor:pointer;display:inline-flex;position:relative;overflow:hidden}.file-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.document-files{gap:.35rem;margin:.55rem 0;display:grid}.document-files>div{align-items:center;gap:.4rem;display:flex}.log-gallery{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.65rem;margin-top:.8rem;display:grid}.log-gallery a{color:#405b74;gap:.25rem;font-size:.62rem;text-decoration:none;display:grid}.log-gallery img{-o-object-fit:cover;object-fit:cover;border:1px solid #dde4e9;border-radius:8px;width:100%;height:120px}.camera-actions{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1rem;display:flex}.camera-actions small{color:#ffffff7a;width:100%;font-size:.65rem}.camera-stage{background:#071122;border-radius:10px;place-items:center;gap:.7rem;padding:1rem;display:grid}.camera-stage video,.camera-stage img{-o-object-fit:contain;object-fit:contain;border-radius:8px;width:min(100%,640px);max-height:58vh}.camera-stage p{color:#ffffffb3;font-size:.7rem}.requirement-board{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;display:grid}.requirement-tile{text-align:left;color:#566a7d;background:#fff;border:1px solid #dfe5ea;border-radius:10px;padding:1rem;box-shadow:0 8px 22px #0e21350a}.requirement-tile:hover{border-color:#d5a436;transform:translateY(-1px)}.requirement-tile h3{color:#17324b;margin:.25rem 0}.requirement-meta{border-top:1px solid #edf0f2;border-bottom:1px solid #edf0f2;gap:.3rem;margin:.7rem 0;padding:.7rem 0;font-size:.65rem;display:grid}.modal-section{border-top:1px solid #e4e9ed;margin-top:1rem;padding-top:1rem}.requirement-line-form{align-items:end}.requirement-detail-head{border-bottom:1px solid #e5e9ed;justify-content:space-between;align-items:start;gap:1rem;padding-bottom:1rem;display:flex}.requirement-detail-head>div:last-child{text-align:right;display:grid}.requirement-detail-head>div:last-child strong{color:#9b6f1d;font-size:1.35rem}.requirement-facts{color:#607286;flex-wrap:wrap;gap:.6rem 1.2rem;padding:1rem 0;font-size:.68rem;display:flex}.section-title{color:#18334c;margin:1rem 0 .6rem;font-size:.82rem}.approval-line{border-bottom:1px solid #e7ebee;grid-template-columns:minmax(160px,1.3fr) minmax(120px,.7fr) minmax(100px,.5fr) minmax(140px,1fr);align-items:center;gap:.55rem;padding:.65rem 0;display:grid}.approval-line>div{color:#334e68;font-size:.7rem;display:grid}.approval-line small,.modal-note{color:#78889a;font-size:.65rem;line-height:1.45}.project-calendar-module{min-width:0}.project-calendar-module.embedded{align-self:start}.calendar-embedded-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.calendar-embedded-heading h3{color:#17324b;margin:0;font-size:.88rem}.calendar-embedded-heading span{color:#758699;margin-top:.22rem;font-size:.62rem;display:block}.project-calendar-shell.embedded{border-radius:12px;box-shadow:0 10px 28px #152b420d}.project-calendar-shell{background:#fff;border:1px solid #e1e6eb;border-radius:18px;overflow:hidden;box-shadow:0 16px 42px #152b4212}.project-calendar-toolbar{background:#f9fafcf0;border-bottom:1px solid #e7ebef;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.15rem;display:flex}.project-calendar-nav,.project-calendar-actions{align-items:center;gap:.55rem;display:flex}.calendar-arrows{align-items:center;gap:.35rem;display:flex}.project-calendar-nav h3{color:#17324b;text-transform:capitalize;min-width:210px;margin:0;font-size:1.05rem}.calendar-arrow{color:#17324b;cursor:pointer;background:#fff;border:1px solid #dce3e9;border-radius:50%;place-items:center;width:34px;height:34px;font-size:1.25rem;line-height:1;display:grid}.calendar-arrow:hover{color:#3478f6;border-color:#3478f6}.calendar-view-switch{background:#eef2f6;border:1px solid #dce3e9;border-radius:10px;padding:3px;display:flex}.calendar-view-switch button{color:#64778a;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:.48rem .75rem;font-size:.66rem}.calendar-view-switch button.active{color:#17324b;background:#fff;font-weight:700;box-shadow:0 2px 8px #152b421f}.project-calendar-subtoolbar{color:#708194;border-bottom:1px solid #e9edf1;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1.15rem;font-size:.65rem;display:flex}.calendar-legend,.calendar-toggle{align-items:center;gap:.45rem;display:flex}.calendar-legend-dot{background:#3478f6;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 4px #e9f1ff}.calendar-toggle{cursor:pointer;-webkit-user-select:none;user-select:none}.calendar-toggle input{accent-color:#3478f6}.calendar-loading{color:#3478f6;background:#edf5ff;border-bottom:1px solid #e9edf1;padding:.7rem 1.15rem;font-size:.65rem}.calendar-weekdays{background:#fbfcfd;border-bottom:1px solid #e5e9ed;grid-template-columns:repeat(7,minmax(0,1fr));padding:0 4px;display:grid}.calendar-weekdays span{color:#7b8998;text-align:center;text-transform:uppercase;letter-spacing:.06em;padding:.65rem .4rem;font-size:.61rem;font-weight:700}.calendar-month{background:#fff}.calendar-month-week{border-bottom:1px solid #e5e9ed;min-height:146px;position:relative}.calendar-month-week:last-child{border-bottom:0}.calendar-month-day-grid{grid-template-columns:repeat(7,minmax(0,1fr));height:146px;display:grid}.calendar-day-cell{color:#344e67;cursor:pointer;text-align:center;background:#fff;border:0;border-right:1px solid #e8ecef;align-content:start;min-width:0;padding:.45rem .3rem;display:block;position:relative}.calendar-day-cell:last-child{border-right:0}.calendar-day-cell:hover{background:#f4f8ff}.calendar-day-cell.outside{color:#adb6c0;background:#fafbfc}.calendar-day-cell.today{background:#f2f7ff}.calendar-day-number{border-radius:50%;place-items:center;width:27px;height:27px;margin:0;font-size:.68rem;font-weight:700;display:grid;position:absolute;top:.45rem;left:50%;transform:translate(-50%)}.calendar-day-cell.today .calendar-day-number{color:#fff;background:#3478f6;box-shadow:0 5px 12px #3478f647}.calendar-month-events{z-index:2;pointer-events:none;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:23px;gap:3px 0;display:grid;position:absolute;inset:38px 4px 5px}.calendar-project-bar{cursor:pointer;pointer-events:auto;text-align:left;border:0;border-radius:6px;align-items:center;min-width:0;height:23px;margin:0 2px;padding:0 .48rem;display:flex;overflow:hidden;box-shadow:0 3px 9px #17324b24}.calendar-project-bar.segment-start{border-top-left-radius:7px;border-bottom-left-radius:7px}.calendar-project-bar.segment-end{border-top-right-radius:7px;border-bottom-right-radius:7px}.calendar-project-bar:not(.segment-start){border-top-left-radius:2px;border-bottom-left-radius:2px;margin-left:0}.calendar-project-bar:not(.segment-end){border-top-right-radius:2px;border-bottom-right-radius:2px;margin-right:0}.calendar-project-day{cursor:pointer;pointer-events:auto;text-align:center;border:0;border-radius:2px;align-items:center;min-width:0;height:23px;margin:0 3px;padding:0 .72rem;display:flex;position:relative;overflow:hidden;box-shadow:0 3px 8px #17324b1f}.calendar-project-day.project-start{border-top-left-radius:7px;border-bottom-left-radius:7px}.calendar-project-day.project-end{border-top-right-radius:7px;border-bottom-right-radius:7px}.calendar-project-day.continues-before:before,.calendar-project-day.continues-after:after{z-index:1;color:inherit;opacity:.78;font-size:.76rem;font-weight:900;line-height:1;position:absolute;top:50%;transform:translateY(-52%)}.calendar-project-day.continues-before:before{content:"‹";left:.18rem}.calendar-project-day.continues-after:after{content:"›";right:.18rem}.calendar-project-day:hover{filter:brightness(1.04);transform:translateY(-1px);box-shadow:0 4px 11px #17324b33}.calendar-project-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.58rem;font-weight:750;overflow:hidden}.calendar-project-label em{opacity:.78;font-style:normal;font-weight:500}.calendar-more{z-index:3;color:#3478f6;cursor:pointer;pointer-events:auto;text-align:left;background:0 0;border:0;grid-row:4;align-self:center;margin:0 4px;font-size:.58rem;font-weight:700}.calendar-more:hover{text-decoration:underline}.calendar-week-view{background:#fff}.calendar-week-head{border-bottom:1px solid #e5e9ed;grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-week-head button{color:#607286;cursor:pointer;background:#fbfcfd;border:0;border-right:1px solid #e8ecef;justify-items:center;gap:.25rem;min-width:0;padding:.8rem .25rem;display:grid}.calendar-week-head button:last-child{border-right:0}.calendar-week-head button:hover{background:#f4f8ff}.calendar-week-head button.today{color:#3478f6}.calendar-week-head small{text-transform:uppercase;font-size:.58rem;font-weight:700}.calendar-week-head strong{border-radius:50%;place-items:center;width:31px;height:31px;font-size:.78rem;display:grid}.calendar-week-head button.today strong{color:#fff;background:#3478f6}.calendar-week-event-area{min-height:calc(var(--calendar-lanes,1) * 34px + 22px);background:#fff;padding:11px 4px;position:relative}.calendar-week-guides{pointer-events:none;grid-template-columns:repeat(7,minmax(0,1fr));display:grid;position:absolute;inset:0 4px}.calendar-week-guides span{border-right:1px solid #edf0f3}.calendar-week-guides span:last-child{border-right:0}.calendar-week-guides span.today{background:#f5f8ff}.calendar-week-events{z-index:1;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(var(--calendar-lanes,1),27px);gap:5px 0;display:grid;position:relative}.calendar-week-events .calendar-project-day{height:27px}.calendar-week-more{text-align:center;align-self:center}.calendar-week-empty{color:#8795a4;place-items:center;min-height:170px;font-size:.72rem;display:grid}.calendar-day-view{grid-template-columns:minmax(190px,.34fr) minmax(0,1fr);min-height:420px;display:grid}.calendar-day-hero{color:#17324b;text-align:center;background:linear-gradient(160deg,#f5f8ff,#fbfcfe);border-right:1px solid #e4e9ed;align-content:start;justify-items:center;gap:.25rem;padding:2.2rem 1rem;display:grid}.calendar-day-hero span{color:#3478f6;text-transform:uppercase;font-size:.72rem;font-weight:800}.calendar-day-hero strong{font-size:4.25rem;line-height:1}.calendar-day-hero small{color:#728396;text-transform:capitalize;font-size:.7rem}.calendar-day-projects{align-content:start;gap:.7rem;padding:1.25rem;display:grid}.calendar-day-project{cursor:pointer;text-align:left;background:#fff;border:1px solid #e2e7eb;border-radius:12px;grid-template-columns:7px 1fr auto;align-items:center;gap:.85rem;padding:.9rem 1rem;display:grid;box-shadow:0 7px 20px #152b420a}.calendar-day-project:hover{border-color:#cbd9ea;transform:translateY(-1px)}.calendar-day-project>i{border-radius:8px;width:7px;height:100%;min-height:46px}.calendar-day-project div{min-width:0}.calendar-day-project strong,.calendar-day-project span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.calendar-day-project strong{color:#17324b;font-size:.76rem}.calendar-day-project span{color:#758699;margin-top:.2rem;font-size:.62rem}.calendar-day-project small{color:#8a98a6;margin-top:.25rem;font-size:.58rem;display:block}.calendar-day-empty{color:#8493a2;text-align:center;place-items:center;min-height:260px;font-size:.72rem;display:grid}.calendar-day-empty strong,.calendar-day-empty span{display:block}.calendar-drill-hint{color:#8291a0;text-align:center;border-top:1px solid #edf0f3;margin:0;padding:.65rem 1rem;font-size:.61rem}.calendar-undated{color:#8d6a1e;background:#fff8e7;border:1px solid #f0dfb2;border-radius:10px;margin:1rem 0 0;padding:.75rem 1rem;font-size:.65rem}.calendar-detail-accent{border-radius:12px 12px 0 0;height:7px;margin:-1.2rem -1.2rem 1rem}.calendar-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.calendar-detail-item{background:#f6f8fa;border-radius:9px;gap:.25rem;padding:.7rem .8rem;display:grid}.calendar-detail-item.span-2{grid-column:1/-1}.calendar-detail-item small{color:#7b8998;text-transform:uppercase;letter-spacing:.05em;font-size:.58rem}.calendar-detail-item strong{color:#29445d;font-size:.72rem}.calendar-color-editor{border-top:1px solid #e5e9ed;gap:.65rem;margin-top:1rem;padding-top:1rem;display:grid}.calendar-color-editor>label{color:#607286;font-size:.65rem;font-weight:700}.calendar-color-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.calendar-color-input{cursor:pointer;background:#fff;border:1px solid #dce3e9;border-radius:8px;width:44px;height:36px;padding:2px}.calendar-color-swatch{cursor:pointer;border:2px solid #fff;border-radius:50%;width:28px;height:28px;box-shadow:0 0 0 1px #d5dde5}.calendar-color-swatch.active{transform:scale(1.05);box-shadow:0 0 0 2px #17324b}.calendar-detail{gap:1rem;display:grid}.calendar-detail-title{border-bottom:1px solid #e5e9ed;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:.8rem;padding-bottom:1rem;display:grid}.calendar-detail-title>i{border-radius:8px;width:9px;height:100%;min-height:50px}.calendar-detail-title span{color:#78899a;font-size:.62rem}.calendar-detail-title h4{color:#17324b;margin:.2rem 0 0;font-size:1rem}.calendar-detail-grid>div{background:#f6f8fa;border-radius:9px;gap:.25rem;padding:.7rem .8rem;display:grid}.calendar-detail-grid>div span{color:#7b8998;text-transform:uppercase;letter-spacing:.05em;font-size:.58rem}.calendar-detail-grid>div strong{color:#29445d;font-size:.72rem}.calendar-detail .calendar-color-editor{border:0;align-items:center;gap:.65rem;margin:0;padding:0;display:flex}.calendar-detail .calendar-color-editor input{cursor:pointer;background:#fff;border:1px solid #dce3e9;border-radius:8px;width:50px;height:38px;padding:2px}.calendar-detail .calendar-color-editor strong{color:#29445d;font-size:.72rem}.calendar-color-presets{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.calendar-color-presets button{cursor:pointer;border:2px solid #fff;border-radius:50%;width:28px;height:28px;box-shadow:0 0 0 1px #d5dde5}.calendar-color-presets button.active{transform:scale(1.08);box-shadow:0 0 0 2px #17324b}.calendar-readonly-note{color:#738497;background:#f2f6fa;border-radius:8px;margin:0;padding:.7rem .8rem;font-size:.62rem;line-height:1.5}@media (width<=1100px){.metrics-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.project-row{grid-template-columns:1fr auto}.project-row>:nth-child(2),.project-row>:nth-child(3){grid-column:1/-1}}@media (width<=900px){.portal-login{grid-template-columns:1fr}.login-brand{min-height:330px;padding:2rem}.login-brand-footer{display:none}.login-panel{padding:2rem}.portal-shell{grid-template-columns:1fr}.portal-sidebar{width:260px;transition:left .25s;position:fixed;left:-280px;box-shadow:20px 0 50px #0000003d}.portal-sidebar.open{left:0}.menu-toggle{color:#fff;background:#0d2240;border:0;border-radius:7px;padding:.55rem .7rem;display:inline-flex}.portal-topbar{height:64px}.docs-grid,.catalog-grid{grid-template-columns:1fr}.approval-line{grid-template-columns:1fr 1fr}.gantt-summary,.gantt-milestones{grid-template-columns:repeat(2,minmax(0,1fr))}.gantt-milestones div:nth-child(2){border-right:0}.gantt-milestones div:nth-child(-n+2){border-bottom:1px solid #e8edf1}.gantt-toolbar{align-items:stretch}.gantt-filters,.gantt-actions{width:100%}.gantt-actions{justify-content:space-between}.project-calendar-toolbar{align-items:flex-start}.project-calendar-actions{flex-wrap:wrap;justify-content:flex-end}}@media (width<=640px){.login-brand{min-height:290px}.login-brand-copy h1{font-size:2.25rem}.login-brand-copy p{font-size:.82rem}.login-panel{padding:1.5rem 1rem 2.5rem}.back-site{margin-bottom:1.5rem}.demo-grid{grid-template-columns:repeat(2,1fr)}.portal-content{padding:1rem}.metrics-grid{grid-template-columns:1fr 1fr;gap:.7rem}.metric-card{padding:1rem}.metric-card strong{font-size:1.35rem}.page-heading{flex-direction:column;align-items:flex-start}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.punch-card{text-align:center;grid-template-columns:1fr;justify-items:center}.location-note{justify-content:center}.photo-picker{text-align:left}.punch-button{width:130px;height:130px}.punch-photo-preview{width:130px;height:98px}.project-kpis{grid-template-columns:1fr 1fr 1fr;gap:.5rem}.project-kpi strong{font-size:1rem}.doc-card,.inventory-grid,.requirement-board{grid-template-columns:1fr}.inventory-photo-actions>*{text-align:center;flex:calc(50% - .3rem);justify-content:center}.inventory-photo-change{opacity:1}.approval-line{grid-template-columns:1fr}.project-row{padding:.9rem}.topbar-actions .ghost-button{display:none}.worker-picker{grid-template-columns:1fr}.worker-picker .select-all{grid-column:auto}.schedule-toolbar{justify-content:stretch}.schedule-toolbar>*{justify-content:center;width:100%}.today-schedule-card{text-align:center;grid-template-columns:1fr}.report-summary-bar{align-items:flex-start}.report-detail-toggle{justify-content:center;width:100%}.history-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.history-week-head{align-items:flex-start}.gantt-summary{gap:.55rem}.gantt-metric{min-height:70px;padding:.8rem}.gantt-metric span{font-size:.58rem}.gantt-metric strong{font-size:1.25rem}.gantt-milestones{grid-template-columns:1fr}.gantt-milestones div,.gantt-milestones div:nth-child(2){border-bottom:1px solid #e8edf1;border-right:0}.gantt-milestones div:last-child{border-bottom:0}.gantt-filters .portal-select{width:100%;min-width:0}.gantt-filters>*{flex:100%}.gantt-actions>.ghost-button{flex:calc(50% - .3rem);justify-content:center}.gantt-zoom{width:100%}.gantt-zoom button{flex:1}.gantt-board{--gantt-label-width:220px}.gantt-row-label{padding:.65rem .75rem}.gantt-detail{grid-template-columns:1fr}.gantt-detail>div.span-2{grid-column:auto}.project-calendar-shell{border-radius:13px;margin:0 -.35rem}.calendar-embedded-heading{align-items:flex-start}.calendar-embedded-heading>div{min-width:0}.calendar-embedded-heading span{line-height:1.4}.project-calendar-toolbar{gap:.8rem;padding:.85rem;display:grid}.project-calendar-nav{width:100%}.project-calendar-nav h3{text-align:center;flex:1;min-width:0;font-size:.86rem}.project-calendar-actions{justify-content:space-between;width:100%}.calendar-view-switch{flex:1}.calendar-view-switch button{flex:1;padding:.45rem .3rem}.project-calendar-subtoolbar{align-items:flex-start;padding:.65rem .8rem}.calendar-weekdays span{padding:.55rem .1rem;font-size:.52rem}.calendar-month-week,.calendar-month-day-grid{height:112px;min-height:112px}.calendar-day-cell{padding:.35rem .2rem}.calendar-day-number{width:23px;height:23px;font-size:.59rem;top:.35rem}.calendar-month-events{grid-auto-rows:21px;gap:2px 0;inset:32px 1px 4px}.calendar-project-bar{height:21px;margin:0 1px;padding:0 .26rem}.calendar-project-day{height:21px;margin:0 2px;padding:0 .4rem}.calendar-project-day.continues-before:before{left:.08rem}.calendar-project-day.continues-after:after{right:.08rem}.calendar-project-label{font-size:.51rem}.calendar-project-label em{display:none}.calendar-more{margin:0 2px;font-size:.5rem}.calendar-week-head button{padding:.6rem .1rem}.calendar-week-head small{font-size:.48rem}.calendar-week-head strong{width:27px;height:27px;font-size:.67rem}.calendar-week-event-area{padding-left:1px;padding-right:1px;overflow-x:hidden}.calendar-week-events,.calendar-week-guides{grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-day-view{grid-template-columns:1fr}.calendar-day-hero{border-bottom:1px solid #e4e9ed;border-right:0;grid-template-columns:auto auto auto;justify-content:center;align-items:baseline;padding:1rem}.calendar-day-hero strong{font-size:2.2rem}.calendar-day-projects{padding:.85rem}.calendar-day-project{grid-template-columns:6px minmax(0,1fr)}.calendar-day-project>.status-pill{grid-column:2;justify-self:start}.calendar-detail-grid{grid-template-columns:1fr}.calendar-detail-item.span-2{grid-column:auto}}@media print{.portal-sidebar,.portal-topbar,.page-heading .button-row,.filters{display:none!important}.portal-shell{display:block}.portal-content{padding:0}.portal-card,.table-shell{box-shadow:none;border:0}.portal-root{background:#fff}.gantt-toolbar{display:none!important}.gantt-scroll{box-shadow:none;overflow:visible}.gantt-board{--gantt-label-width:190px}.gantt-row-label{position:relative}.project-calendar-toolbar,.project-calendar-subtoolbar,.calendar-color-editor{display:none!important}.project-calendar-shell{box-shadow:none;border:0}}.ops-budget{gap:1rem;display:grid}.ops-budget-head{color:#fff;background:linear-gradient(135deg,#0c3046,#165c78);border-radius:18px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.15rem;display:flex;box-shadow:0 10px 28px #0c304629}.ops-budget-head>div:first-child{gap:.25rem;display:grid}.ops-budget-head strong{font-size:1.1rem}.ops-budget-head span{color:#d8edf4;font-size:.78rem}.ops-security-note{color:#174f61;background:#f2fbfd;border:1px solid #cce6ee;border-radius:14px;align-items:flex-start;gap:.7rem;padding:.85rem 1rem;display:flex}.ops-security-note strong{white-space:nowrap}.ops-security-note span{font-size:.82rem;line-height:1.5}.ops-budget-layout{grid-template-columns:245px minmax(0,1fr);align-items:start;gap:1rem;display:grid}.ops-budget-layout main{gap:1rem;display:grid}.ops-group-list{background:#fff;border:1px solid #e3e9ed;border-radius:16px;gap:.45rem;padding:.85rem;display:grid;position:sticky;top:82px;box-shadow:0 8px 24px #1637490f}.ops-group-list h4{margin:.15rem .35rem .4rem}.ops-group-list button{text-align:left;color:#1a3544;cursor:pointer;background:#f5f7f8;border:1px solid #0000;border-radius:12px;gap:.2rem;padding:.7rem;display:grid}.ops-group-list button.active{background:#eaf7fa;border-color:#2a829e;box-shadow:inset 3px 0 #2a829e}.ops-group-list small{color:#70818a}.ops-group-editor .form-grid,.ops-resource-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.ops-kit-picker .card-heading{align-items:center}.ops-kit-picker .card-heading .portal-input{max-width:260px}.ops-kit-picker .card-heading p,.ops-resource-list p{color:#75838b;margin:.2rem 0 0}.ops-kit-scroll{gap:.65rem;padding:.2rem 0 .4rem;display:flex;overflow:auto}.ops-kit-scroll>button{text-align:left;cursor:pointer;background:#fff;border:1px solid #dde6ea;border-radius:13px;gap:.35rem;min-width:210px;padding:.7rem;display:grid}.ops-kit-scroll>button:hover{background:#f5fbfc;border-color:#2a829e}.ops-kit-scroll small{color:#718089}.ops-add-resource{flex-wrap:wrap;gap:.4rem;margin-bottom:.85rem;display:flex}.ops-resource-list{gap:.75rem;display:grid}.ops-resource{background:#fbfcfd;border:1px solid #e0e7eb;border-radius:14px;overflow:hidden}.ops-resource.personnel{border-left:4px solid #356f92}.ops-resource-title{background:#f2f6f8;border-bottom:1px solid #e3e9ec;align-items:center;gap:.65rem;padding:.65rem .8rem;display:flex}.ops-resource-title span{text-transform:uppercase;letter-spacing:.05em;color:#62808d;font-size:.68rem}.ops-resource-title strong{flex:1}.ops-resource-fields{gap:.65rem;padding:.8rem;display:grid}.ops-resource-fields .form-field{margin:0}.ops-resource-amounts{background:#fff;border-top:1px solid #e3e9ec;flex-wrap:wrap;gap:.8rem;padding:.6rem .8rem;display:flex}.ops-resource-amounts span{color:#718089;font-size:.68rem;display:grid}.ops-resource-amounts strong{color:#173b4b;font-size:.8rem}.ops-review-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;display:grid}.ops-review-grid label{background:#f8fafb;border:1px solid #dfe7eb;border-radius:11px;align-items:center;gap:.5rem;padding:.65rem;font-size:.8rem;display:flex}.ops-summary{border-top:4px solid #2a829e}.ops-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.ops-summary-grid>div{background:#f5f8fa;border-radius:12px;gap:.3rem;padding:.8rem;display:grid}.ops-summary-grid span{color:#6f8088;font-size:.72rem}.ops-summary-grid strong{color:#12394a;font-size:1.05rem}.ops-summary-grid .delay{background:#fff7e7}.ops-template-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;display:grid}.ops-template-grid article{flex-direction:column;gap:.7rem;display:flex}.ops-template-grid h3,.ops-template-grid p{margin:0}.ops-template-grid p{color:#6c7c84;line-height:1.45}.ops-template-meta{flex-wrap:wrap;gap:.35rem;display:flex}.ops-template-meta span{background:#eff4f6;border-radius:999px;padding:.28rem .5rem;font-size:.68rem}.ops-template-items{flex:1;gap:.25rem;display:grid}.ops-template-items small{color:#516b77}.ops-kit-editor{border:2px solid #9fcbd8;margin-top:1rem}.ops-kit-lines{gap:.5rem;margin:1rem 0;display:grid}.ops-kit-lines>div{background:#f5f8fa;border-radius:10px;grid-template-columns:170px minmax(180px,2fr) 90px 90px repeat(3,100px) auto;align-items:center;gap:.4rem;padding:.55rem;display:grid}.ops-kit-lines .portal-input,.ops-kit-lines .portal-select{min-width:0}@media (width<=1050px){.ops-budget-layout{grid-template-columns:1fr}.ops-group-list{display:flex;position:static;overflow:auto}.ops-group-list h4{display:none}.ops-group-list button{min-width:200px}.ops-resource-fields,.ops-group-editor .form-grid,.ops-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-kit-lines>div{grid-template-columns:1fr 2fr repeat(2,90px)}.ops-kit-lines>div>:nth-child(n+5){grid-column:auto}}@media (width<=680px){.ops-budget-head,.ops-security-note{flex-direction:column;align-items:stretch}.ops-budget-head .button-row>*{flex:1}.ops-resource-fields,.ops-group-editor .form-grid,.ops-review-grid,.ops-summary-grid,.ops-template-grid{grid-template-columns:1fr}.ops-kit-picker .card-heading{align-items:stretch}.ops-kit-picker .card-heading .portal-input{max-width:none}.ops-resource-title{flex-wrap:wrap}.ops-resource-title strong{flex-basis:60%}.ops-kit-lines>div{grid-template-columns:1fr}.ops-group-list button{min-width:175px}}
