.site-page{color:var(--ink);background:#f4f6f2;overflow-x:hidden}.site-hero{color:#fff;background:#091a13;flex-direction:column;min-height:max(720px,100dvh);padding:28px clamp(24px,5.5vw,88px) 24px;display:flex;position:relative;overflow:hidden}.site-hero:after{content:"";pointer-events:none;z-index:0;background:linear-gradient(90deg,#04150ff0 0%,#051911c2 42%,#0519113d 78%),linear-gradient(#c690242e 1px,#0000 1px) 0 0/72px 72px,linear-gradient(90deg,#c690242e 1px,#0000 1px) 0 0/72px 72px;position:absolute;inset:0}.site-hero>*{z-index:1;position:relative}.site-hero-video,.site-metalmecanica-video{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.site-hero-video video,.site-metalmecanica-video video{object-fit:cover;height:calc(100% + 140px);transform:translate3d(0, var(--parallax-offset,0px), 0) scale(1.025);width:100%;transition:transform 80ms linear;position:absolute;top:-70px;left:0}.site-nav{justify-content:space-between;align-items:center;gap:28px;display:flex}.site-logo{color:inherit;flex-shrink:0;align-items:center;gap:12px;display:inline-flex}.site-logo-image{width:auto;height:auto}.site-logo b{letter-spacing:.11em;text-transform:uppercase;font-size:10px;line-height:1.35}.site-nav-links{gap:28px;margin-left:auto;display:flex}.site-nav-links a,.site-text-link{font-size:14px;font-weight:650}.site-nav-links a{opacity:.82}.site-nav-links a:hover{opacity:1}.site-nav-cta{border:1px solid #ffffff85;padding:12px 16px;font-size:13px;font-weight:650;transition:background .2s,color .2s}.site-nav-cta:hover{color:var(--ink);background:#fff}.site-portal-access{color:#dff7e9;border-bottom:1px solid #8fe2b3ad;flex-shrink:0;align-items:center;gap:6px;padding:8px 1px;font-size:13px;font-weight:750;display:inline-flex}.site-portal-access:hover{color:#fff;border-color:#fff}.site-hero-content{max-width:760px;margin:auto 0;padding:110px 0 86px}.site-hero-parallax-logo{border:1px solid #ffffff6b;width:fit-content;margin-bottom:26px;padding:16px;display:inline-flex;transform:translate(0)}.site-hero-parallax-logo img{opacity:.94;width:96px;height:auto}@media (prefers-reduced-motion:reduce){.site-hero-video video,.site-metalmecanica-video video{display:none}.site-hero-video{background:url(/hero-caucasia-rfc.png) 50%/cover no-repeat}.site-metalmecanica-video{background:url(/operations-oil-rfc.png) 50%/cover no-repeat}}.site-kicker,.site-section-label{color:var(--accent);letter-spacing:.13em;text-transform:uppercase;font-size:11px;font-weight:800;line-height:1.4}.site-hero h1,.site-intro h2,.site-work h2,.site-section-heading h2,.site-process h2,.site-contact h2{font-family:var(--font-display,Georgia, serif);letter-spacing:-.055em;font-weight:400;line-height:.98}.site-hero h1{max-width:790px;margin:22px 0 28px;font-size:clamp(3.45rem,7.4vw,6.9rem)}.site-lede{opacity:.91;max-width:590px;font-size:clamp(1rem,1.45vw,1.16rem);line-height:1.65}.site-hero-actions{flex-wrap:wrap;align-items:center;gap:28px;margin-top:32px;display:flex}.site-button{background:var(--accent);color:#fff;align-items:center;gap:30px;padding:16px 19px;font-size:14px;font-weight:750;transition:background .2s,transform .2s;display:inline-flex}.site-button:hover{background:#a97415;transform:translateY(-2px)}.site-button span{font-size:20px}.site-text-link{border-bottom:1px solid;gap:12px;padding-bottom:5px;transition:opacity .2s;display:inline-flex}.site-text-link:hover{opacity:.68}.site-hero-footer{letter-spacing:.09em;text-transform:uppercase;border-top:1px solid #ffffff4d;justify-content:space-between;padding-top:16px;font-size:10px;display:flex}.site-capability-strip{background:var(--ink);color:#dce5df;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 22px;padding:22px clamp(24px,5.5vw,88px);display:flex}.site-capability-strip p{font-size:12px;font-weight:650}.site-capability-strip span{background:var(--accent);border-radius:50%;width:5px;height:5px}.site-intro,.site-contact{grid-template-columns:minmax(160px,.62fr) minmax(0,1.8fr);gap:clamp(44px,8vw,150px);max-width:1440px;margin:auto;padding:clamp(88px,11vw,160px) clamp(24px,9vw,144px);display:grid}.site-intro h2,.site-work h2,.site-section-heading h2,.site-process h2,.site-contact h2{max-width:840px;font-size:clamp(2.65rem,4.6vw,5.1rem)}.site-intro div>p{color:var(--ink-secondary);max-width:660px;margin-top:28px;font-size:18px;line-height:1.65}.site-intro div>p+p{margin-top:15px}.site-work{background:#e4e8df;grid-template-columns:1fr 1fr;min-height:640px;display:grid}.site-work-media{min-height:100%;overflow:hidden}.site-work-media img{object-fit:cover;width:100%;height:100%}.site-work-copy{align-self:center;padding:clamp(52px,9vw,140px)}.site-work-copy h2{margin:19px 0 28px}.site-work-copy>p:not(.site-section-label){color:var(--ink-secondary);max-width:520px;font-size:16px;line-height:1.7}.dark-link{color:var(--brand-dark);margin-top:30px}.site-services{color:#fff;background:#10261d;padding:clamp(88px,10vw,150px) clamp(24px,8vw,130px)}.site-section-heading{grid-template-columns:minmax(155px,.55fr) 2fr;gap:45px;max-width:1320px;margin:auto;display:grid}.site-services-grid{border-top:1px solid #ffffff30;grid-template-columns:repeat(4,1fr);max-width:1320px;margin:78px auto 0;display:grid}.site-service{border-right:1px solid #ffffff30;min-height:290px;padding:30px 28px 25px}.site-service:first-child{padding-left:0}.site-service:last-child{border-right:0}.site-service-line{background:var(--accent);width:42px;height:2px;display:block}.site-service h3{letter-spacing:-.025em;margin:62px 0 14px;font-size:20px}.site-service p{color:#ffffffb0;max-width:250px;font-size:14px;line-height:1.62}.site-metalmecanica{color:#fff;background:#0b2118;align-items:center;min-height:min(760px,84vh);padding:clamp(84px,10vw,144px) clamp(24px,10vw,160px);display:grid;position:relative;overflow:hidden}.site-metalmecanica:after{content:"";pointer-events:none;z-index:0;background:linear-gradient(90deg,#05130de6,#05130da3 48%,#05130d3d);position:absolute;inset:0}.site-metalmecanica-copy{z-index:1;max-width:710px;position:relative}.site-metalmecanica-copy h2{font-family:var(--font-display,Georgia, serif);letter-spacing:-.055em;margin:19px 0 28px;font-size:clamp(2.8rem,5.3vw,5.8rem);font-weight:400;line-height:.98}.site-metalmecanica-copy>p:not(.site-section-label){color:#ffffffd9;max-width:590px;font-size:clamp(1rem,1.4vw,1.14rem);line-height:1.7}.site-button-light{color:#0b2118;background:#f4f6f2;margin-top:34px}.site-button-light:hover{background:#fff}.site-process{background:#f4f6f2;padding:clamp(88px,11vw,160px) clamp(24px,9vw,144px)}.site-process-heading{grid-template-columns:minmax(160px,.62fr) minmax(0,1.8fr);gap:45px;max-width:1440px;margin:auto;display:grid}.site-process-list{border-top:1px solid var(--line);counter-reset:none;max-width:1440px;margin:76px auto 0;padding:0;list-style:none}.site-process-list li{border-bottom:1px solid var(--line);grid-template-columns:90px minmax(180px,.9fr) 1.5fr;align-items:baseline;gap:24px;padding:28px 0;display:grid}.site-process-list span{color:var(--accent);font-family:var(--font-display,Georgia, serif);font-size:24px}.site-process-list h3{letter-spacing:-.02em;font-size:21px}.site-process-list p{color:var(--ink-secondary);max-width:520px;line-height:1.65}.site-statement{background:var(--accent);color:#fff;padding:clamp(82px,10vw,145px) clamp(24px,12vw,190px)}.site-statement p{font-family:var(--font-display,Georgia, serif);letter-spacing:-.055em;max-width:1120px;font-size:clamp(2.5rem,5.1vw,5.6rem);font-style:italic;line-height:1.02}.site-contact{background:#dfe6dd;align-items:start;max-width:none}.site-contact-intro h2{margin:20px 0 28px}.site-contact-intro>p:not(.site-section-label){color:var(--ink-secondary);max-width:440px;line-height:1.7}.site-address{border-bottom:1px solid var(--ink);margin-top:36px;padding-bottom:5px;font-size:14px;font-weight:700;line-height:1.55;display:inline-block}.site-contact-form{background:#ffffffb8;border:1px solid #0c1f1824;padding:clamp(24px,3.8vw,54px)}.site-form-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.site-contact-form label{color:var(--ink);letter-spacing:.02em;gap:8px;font-size:12px;font-weight:750;display:grid}.site-contact-form input,.site-contact-form select,.site-contact-form textarea{color:var(--ink);resize:vertical;background:#fff;border:1px solid #b8c5bd;border-radius:0;outline:none;width:100%;min-height:48px;padding:12px;font-size:15px;font-weight:450}.site-contact-form input:focus,.site-contact-form select:focus,.site-contact-form textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow)}.site-form-full{margin-top:20px}.site-form-button{background:var(--brand-dark);color:#fff;border:0;width:100%;min-height:50px;margin-top:26px;padding:0 20px;font-size:14px;font-weight:750}.site-form-button:disabled{cursor:not-allowed;background:#89978e}.site-form-note{color:var(--ink-secondary);margin-top:14px;font-size:12px;line-height:1.5}.site-form-note[data-status=success]{color:#137a46;font-weight:700}.site-form-note[data-status=error]{color:#991b1b;font-weight:700}.site-footer{color:#fff;background:#0a1b14;justify-content:space-between;align-items:center;gap:30px;padding:35px clamp(24px,5.5vw,88px);display:flex}.site-footer p,.site-footer>a{color:#ffffff9e;font-size:12px}.site-footer>a{border-bottom:1px solid #ffffff73;padding-bottom:3px}@media (max-width:900px){.site-nav-links{display:none}.site-work{grid-template-columns:1fr}.site-work-media{min-height:420px;max-height:560px}.site-services-grid{grid-template-columns:1fr 1fr}.site-service:nth-child(2){border-right:0}.site-service:first-child,.site-service:nth-child(3){padding-left:0}.site-service:nth-child(n+3){border-top:1px solid #ffffff30;padding-top:30px}}@media (max-width:700px){.site-hero{min-height:700px}.site-hero-video{background:url(/hero-caucasia-rfc.png) 50%/cover no-repeat}.site-metalmecanica-video{background:url(/operations-oil-rfc.png) 50%/cover no-repeat}.site-hero-video video,.site-metalmecanica-video video{transform:none}.site-nav-cta{display:none}.site-portal-access{margin-left:auto;font-size:12px}.site-hero-content{padding:96px 0 70px}.site-capability-strip{flex-direction:column;align-items:flex-start;gap:10px;padding:28px 24px}.site-capability-strip span{display:none}.site-intro,.site-contact,.site-section-heading,.site-process-heading{grid-template-columns:1fr}.site-intro,.site-contact,.site-process,.site-services{padding-top:82px;padding-bottom:82px}.site-metalmecanica{min-height:650px;padding-top:92px;padding-bottom:92px}.site-services-grid,.site-process-list{margin-top:50px}.site-process-list li{grid-template-columns:46px 1fr}.site-process-list p{grid-column:2}.site-form-grid{grid-template-columns:1fr}.site-footer{flex-direction:column;align-items:flex-start;gap:18px}}@media (max-width:480px){.site-hero h1{font-size:3.2rem}.site-nav-cta{margin-left:auto}.site-logo b{font-size:8px}.site-hero-footer{gap:15px;font-size:9px}.site-services-grid{grid-template-columns:1fr}.site-service,.site-service:nth-child(2){border-right:0;padding-left:0}.site-service:nth-child(n+2){border-top:1px solid #ffffff30;padding-top:30px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.site-logo-image{object-fit:contain;background:0 0;width:auto;height:52px}.site-nav-cta span{color:var(--accent,#c49024);margin-left:7px}.site-footer .site-logo-image{width:auto;height:44px}.dashboard-brand img{border-radius:8px;width:auto;height:38px}.dashboard-shell{background:var(--canvas);color:var(--ink);grid-template-columns:268px minmax(0,1fr);min-height:100dvh;display:grid}.dashboard-shell.is-sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}.dashboard-sidebar{border-right:1px solid var(--line);z-index:25;background:#fff;flex-direction:column;padding:24px 16px;display:flex;position:relative;overflow-x:hidden}.dashboard-sidebar-header{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.dashboard-brand{color:var(--ink);letter-spacing:-.02em;align-items:center;gap:12px;font-weight:800;text-decoration:none;display:inline-flex}.dashboard-brand span{font-family:var(--font-display,"Playfair Display", Georgia, serif);font-size:20px;font-weight:700;line-height:1}.dashboard-brand small{color:var(--brand);font-family:var(--font-sans,Inter, sans-serif);letter-spacing:.14em;text-transform:uppercase;margin-top:3px;font-size:10px;font-weight:800;display:block}.dashboard-close{border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:40px;height:40px;display:none}.dashboard-close:hover{background:var(--brand-soft);color:var(--brand-dark)}.icon{width:20px;height:20px;display:block}.dashboard-nav-label{color:var(--subtle);letter-spacing:.14em;text-transform:uppercase;margin:0 12px 10px;font-size:10px;font-weight:800}.dashboard-nav{gap:4px;display:grid}.dashboard-nav-item{border-radius:var(--radius-sm);color:var(--ink-secondary);align-items:center;gap:12px;min-height:42px;padding:10px 14px;font-size:13.5px;font-weight:600;text-decoration:none;transition:background .18s,color .18s,transform .15s;display:flex}.dashboard-nav-item .icon{color:var(--muted);transition:color .18s}.dashboard-nav-item:hover{background:var(--brand-soft);color:var(--brand-dark)}.dashboard-nav-item:hover .icon{color:var(--brand)}.dashboard-nav-item.is-active{background:var(--brand-soft);box-shadow:inset 3px 0 0 var(--brand);color:var(--brand-dark);font-weight:700}.dashboard-nav-item.is-active .icon{color:var(--brand)}.dashboard-sidebar-note{background:var(--brand-soft);border-radius:var(--radius-sm);color:var(--brand-dark);border:1px solid #0b7a4726;align-items:center;gap:8px;margin:24px 6px 0;padding:10px 12px;font-size:11px;font-weight:700;display:flex}.dashboard-sidebar-note span,.dashboard-company i{background:#18a563;border-radius:50%;width:7px;height:7px;display:block;box-shadow:0 0 0 2px #18a56333}.dashboard-sidebar-footer{border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:auto;padding:18px 6px 0;display:flex}.dashboard-sidebar-footer strong{font-size:12.5px;font-weight:700;display:block}.dashboard-sidebar-footer small{color:var(--muted);margin-top:1px;font-size:10px;font-weight:600;display:block}.dashboard-shell.is-sidebar-collapsed .dashboard-sidebar{padding-left:10px;padding-right:10px}.dashboard-shell.is-sidebar-collapsed .dashboard-sidebar-header{justify-content:center}.dashboard-shell.is-sidebar-collapsed .dashboard-brand{gap:0}.dashboard-shell.is-sidebar-collapsed .dashboard-brand span,.dashboard-shell.is-sidebar-collapsed .dashboard-nav-search,.dashboard-shell.is-sidebar-collapsed .dashboard-nav-label,.dashboard-shell.is-sidebar-collapsed .dashboard-nav-group-label,.dashboard-shell.is-sidebar-collapsed .dashboard-sidebar-note,.dashboard-shell.is-sidebar-collapsed .dashboard-nav-item span,.dashboard-shell.is-sidebar-collapsed .dashboard-sidebar-footer>div:not(.dashboard-avatar){display:none}.dashboard-shell.is-sidebar-collapsed .dashboard-nav-group{display:contents}.dashboard-shell.is-sidebar-collapsed .dashboard-nav-item{justify-content:center;padding-left:10px;padding-right:10px}.dashboard-shell.is-sidebar-collapsed .dashboard-sidebar-footer{justify-content:center;padding-left:0;padding-right:0}.dashboard-avatar{background:var(--brand-soft);color:var(--brand-dark);border:1px solid #0b7a4733;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:800;display:flex}.dashboard-workspace{flex-direction:column;min-width:0;display:flex}.dashboard-topbar{-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line);z-index:15;background:#ffffffe0;align-items:center;height:68px;padding:0 38px;display:flex;position:sticky;top:0}.dashboard-menu{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);cursor:pointer;background:#fff;justify-content:center;align-items:center;width:40px;height:40px;display:none}.dashboard-sidebar-toggle{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);cursor:pointer;background:#fff;justify-content:center;align-items:center;width:40px;height:40px;margin-right:12px;transition:background .18s,border-color .18s,color .18s;display:flex}.dashboard-sidebar-toggle:hover,.dashboard-sidebar-toggle:focus-visible,.dashboard-menu:hover,.dashboard-menu:focus-visible{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-dark)}.dashboard-company{align-items:center;gap:14px;display:flex}.dashboard-company strong{letter-spacing:-.01em;font-size:14px}.dashboard-company span{background:var(--canvas);border:1px solid var(--line);color:var(--muted);border-radius:999px;align-items:center;gap:7px;padding:4px 10px;font-size:11px;font-weight:700;display:flex}.dashboard-top-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.dashboard-top-actions button,.dashboard-top-actions .dashboard-notifications-link{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;background:#fff;justify-content:center;align-items:center;width:40px;height:40px;transition:background .18s,color .18s,border-color .18s;display:flex}.dashboard-top-actions button:hover,.dashboard-top-actions .dashboard-notifications-link:hover{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-dark)}.dashboard-top-actions button .icon,.dashboard-top-actions .dashboard-notifications-link .icon{width:18px;height:18px}.dashboard-notifications-link{position:relative}.dashboard-notifications-link:after{background:var(--ink);color:#fff;content:attr(data-tooltip);opacity:0;pointer-events:none;white-space:nowrap;z-index:20;border-radius:6px;padding:8px 10px;font-size:11px;font-weight:700;transition:opacity .18s,transform .18s;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%,-4px)}.dashboard-notifications-link:hover .icon{animation:.48s ease-in-out notification-bell}.dashboard-notifications-link.has-active-alerts{color:#9a6200;background:#fff8e8;border-color:#d99918}.dashboard-notifications-link.has-active-alerts .icon{transform-origin:50% 12%;animation:2.6s ease-in-out infinite notification-bell}.dashboard-notifications-link.has-active-alerts:before{border-radius:inherit;content:"";pointer-events:none;border:2px solid #d999188c;animation:2.6s ease-out infinite notification-glow;position:absolute;inset:-3px}.dashboard-notifications-count{color:#fff;background:#bd2e2e;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 3px;font-size:9px;font-weight:850;line-height:1;display:flex;position:absolute;top:-6px;right:-6px}.dashboard-notifications-link:hover:after,.dashboard-notifications-link:focus-visible:after{opacity:1;transform:translate(-50%)}@keyframes notification-bell{0%,to{transform:rotate(0)}8%{transform:rotate(13deg)}16%{transform:rotate(-13deg)}24%{transform:rotate(8deg)}32%{transform:rotate(-8deg)}40%{transform:rotate(0)}}@keyframes notification-glow{0%,32%{opacity:.85;transform:scale(1)}55%,to{opacity:0;transform:scale(1.34)}}@media (prefers-reduced-motion:reduce){.dashboard-notifications-link.has-active-alerts .icon,.dashboard-notifications-link.has-active-alerts:before{animation:none}}.dashboard-notifications{position:relative}.dashboard-notifications-link[aria-expanded=true]:after{display:none}.dashboard-alert-popover{border:1px solid var(--line);color:var(--ink);z-index:80;background:#fff;border-radius:14px;width:min(370px,100vw - 24px);position:absolute;top:calc(100% + 12px);right:0;overflow:hidden;box-shadow:0 18px 48px #1924302e}.dashboard-alert-popover-header{border-bottom:1px solid var(--line);background:linear-gradient(135deg,#fffaf0,#fff);justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.dashboard-alert-popover-header div{gap:2px;display:grid}.dashboard-alert-popover-header small{color:var(--accent,#9a6200);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:800}.dashboard-alert-popover-header strong{font-size:15px}.dashboard-alert-popover-header>span{color:#845300;background:#fff0cf;border-radius:999px;justify-content:center;align-items:center;min-width:28px;height:28px;padding:0 8px;font-size:12px;font-weight:850;display:flex}.dashboard-alert-popover-list{overscroll-behavior:contain;max-height:min(430px,100vh - 180px);overflow-y:auto}.dashboard-alert-item{color:inherit;grid-template-columns:9px minmax(0,1fr);align-items:flex-start;gap:11px;min-height:66px;padding:13px 18px;text-decoration:none;display:grid}.dashboard-alert-item+.dashboard-alert-item{border-top:1px solid #edf0f2}.dashboard-alert-item:hover,.dashboard-alert-item:focus-visible{background:#f7f9fa;outline:none}.dashboard-alert-severity{background:#3a80b8;border-radius:999px;width:9px;height:9px;margin-top:5px}.dashboard-alert-item.is-critical .dashboard-alert-severity{background:#bd2e2e}.dashboard-alert-item.is-warning .dashboard-alert-severity{background:#d99918}.dashboard-alert-item>span:last-child{gap:4px;display:grid}.dashboard-alert-item strong{font-size:13px;line-height:1.25}.dashboard-alert-item small,.dashboard-alert-popover-state{color:var(--muted);font-size:12px;line-height:1.45}.dashboard-alert-popover-state{text-align:center;margin:0;padding:24px 18px}.dashboard-alert-popover-state.is-error{color:#9a2e2e}.dashboard-alert-summary-link{border-top:1px solid var(--line);color:var(--brand-dark);text-align:center;padding:12px 18px;font-size:12px;font-weight:800;text-decoration:none;display:block}.dashboard-alert-summary-link:hover,.dashboard-alert-summary-link:focus-visible{background:var(--brand-soft)}.dashboard-sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:560px){.dashboard-alert-popover{right:-52px}}.dashboard-top-actions .dashboard-signout{gap:7px;width:auto;padding:0 12px}.dashboard-signout span{white-space:nowrap;font-size:12px;font-weight:750}.dashboard-content{width:100%;max-width:1380px;margin:0 auto;padding:38px 38px 54px}.dashboard-heading{justify-content:space-between;align-items:flex-end;display:flex}.dashboard-heading p{color:var(--accent,#c49024);letter-spacing:.14em;text-transform:uppercase;margin:0 0 6px;font-size:11px;font-weight:800}.dashboard-heading h1{font-family:var(--font-display,"Playfair Display", Georgia, serif);letter-spacing:-.04em;font-size:clamp(2rem,3.2vw,2.7rem);font-weight:400;line-height:1.05}.dashboard-heading small{color:var(--muted);margin-top:8px;font-size:14px;display:block}.inventory-action{background:var(--brand);color:#fff;cursor:pointer;text-align:center;border:0;border-radius:7px;justify-content:center;align-items:center;gap:10px;min-width:132px;min-height:52px;padding:10px 18px;font-size:13px;font-weight:700;text-decoration:none;transition:background .2s,transform .15s,box-shadow .2s;display:inline-flex;box-shadow:0 4px 14px #0b7a4738}.inventory-action:hover{background:var(--brand-dark);transform:translateY(-1px);box-shadow:0 6px 18px #0b7a474d}.report-catalog{gap:12px;margin:18px 0;display:grid}.report-catalog>div{grid-template-columns:110px minmax(0,1fr);align-items:center;gap:10px;display:grid}.report-catalog>div>p{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:850}.report-catalog>div>div{flex-wrap:wrap;gap:8px;display:flex}.report-catalog button{background:var(--surface);border:1px solid var(--line);color:var(--ink-secondary);text-align:left;border-radius:9px;gap:2px;min-height:52px;padding:8px 11px;transition:border-color .16s,background .16s,transform .16s;display:grid}.report-catalog button strong{font-size:13px}.report-catalog button span{color:var(--muted);max-width:190px;font-size:11px}.report-catalog button:hover,.report-catalog button.is-active{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-dark)}.report-catalog button:active{transform:scale(.99)}.report-controls>p{color:var(--muted);align-self:end;margin:0;font-size:13px}@media (max-width:760px){.report-catalog>div{grid-template-columns:1fr;gap:6px}.report-catalog button{flex:170px}.report-controls>p{grid-column:1/-1}}@media (max-width:480px){.report-catalog button{flex-basis:100%;min-height:48px}.report-catalog button span{max-width:none}}.inventory-action:active{transform:translateY(0)}.dashboard-insight{border-radius:var(--radius-md);box-shadow:var(--shadow-xs);background:linear-gradient(102deg,#e7f5ed 0%,#f4fbf7 100%);border:1px solid #c9e8d4;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-top:26px;padding:16px 20px;display:grid}.dashboard-insight-mark{background:var(--brand);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:900;display:flex}.dashboard-insight strong{font-size:13.5px;font-weight:700;display:block}.dashboard-insight p{color:var(--ink-secondary);margin:3px 0 0;font-size:12px}.dashboard-insight a,.panel-link{color:var(--brand-dark);text-underline-offset:4px;align-items:center;gap:6px;font-size:12.5px;font-weight:700;-webkit-text-decoration:underline #9fcfb1;text-decoration:underline #9fcfb1;transition:color .18s;display:inline-flex}.dashboard-insight a:hover,.panel-link:hover{color:var(--brand)}.dashboard-stat-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:20px;display:grid}.dashboard-stat-grid article,.dashboard-mini-grid article,.inventory-summary article{border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;justify-content:space-between;min-height:134px;padding:20px;transition:border-color .2s,transform .2s;display:flex}.dashboard-stat-grid article:hover{border-color:#bcd0c5}.operational-alerts{border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;margin-top:18px;padding:18px}.operational-alerts-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.operational-alerts-heading p{color:var(--accent,#c49024);letter-spacing:.12em;text-transform:uppercase;margin:0 0 4px;font-size:10px;font-weight:800}.operational-alerts-heading h2{margin:0;font-size:18px}.operational-alerts-heading>span{background:var(--canvas);border:1px solid var(--line);color:var(--ink-secondary);white-space:nowrap;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:750}.operational-alert-list{gap:8px;display:grid}.operational-alert{border:1px solid var(--line);color:var(--ink);background:#fff;border-left:4px solid #5a87be;border-radius:8px;grid-template-columns:112px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;padding:9px 12px;text-decoration:none;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.operational-alert:hover,.operational-alert:focus-visible{outline:0;transform:translateY(-1px);box-shadow:0 5px 15px #1331211a}.operational-alert.is-warning{background:#fffdf6;border-left-color:#c38717}.operational-alert.is-critical{background:#fff8f8;border-left-color:#c83939}.operational-alert-origin{color:var(--ink-secondary);align-items:center;gap:6px;font-size:11px;font-weight:800;display:inline-flex}.operational-alert-icon{width:18px;height:18px}.operational-alert-copy{gap:2px;min-width:0;display:grid}.operational-alert-copy strong{font-size:12.5px}.operational-alert-copy small{color:var(--ink-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.operational-alert-action{color:var(--brand-dark);font-size:11px;font-weight:800}.operational-alert.is-critical .operational-alert-origin:before{content:"";background:#c83939;border-radius:50%;width:7px;height:7px;animation:1.7s ease-in-out infinite alert-pulse}.operational-alert.is-warning .operational-alert-origin:before{content:"";background:#c38717;border-radius:50%;width:7px;height:7px;animation:2.2s ease-in-out infinite alert-pulse}.operational-alert-empty{color:#146238;background:#f1fbf4;border:1px solid #b8dfc4;border-radius:8px;align-items:center;gap:10px;padding:12px;display:flex}.operational-alert-empty>span{color:#fff;background:#168448;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-weight:900;display:flex}.operational-alert-empty strong,.operational-alert-empty small{display:block}.operational-alert-empty strong{font-size:12px}.operational-alert-empty small{margin-top:2px;font-size:11px}@keyframes alert-pulse{0%,to{transform:scale(1);box-shadow:0 0 #c8393957}50%{transform:scale(1.1);box-shadow:0 0 0 5px #c8393900}}@media (prefers-reduced-motion:reduce){.operational-alert,.operational-alert.is-critical .operational-alert-origin:before,.operational-alert.is-warning .operational-alert-origin:before{transition:none;animation:none;transform:none}}.operational-alert-more{color:var(--ink-secondary);margin:10px 2px 0;font-size:11px}@media (max-width:760px){.operational-alerts-heading{flex-direction:column;align-items:start;gap:7px}.operational-alert{grid-template-columns:1fr auto;align-items:start}.operational-alert-origin{grid-column:1/-1}.operational-alert-copy small{white-space:normal}.operational-alert-action{padding-top:3px}}.dashboard-module-overview{border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;margin-top:18px;padding:20px}.module-overview-heading{justify-content:space-between;align-items:end;gap:16px;display:flex}.module-overview-heading p,.module-overview-kicker{color:var(--accent,#c49024);letter-spacing:.12em;text-transform:uppercase;margin:0 0 4px;font-size:10px;font-weight:800}.module-overview-heading h2{margin:0;font-size:18px}.module-overview-heading small{color:var(--muted);font-size:11px}.module-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.module-overview-card{border:1px solid var(--line);border-radius:10px;gap:9px;padding:15px;display:grid}.module-overview-card.is-quotes{border-top:3px solid #f59e0b}.module-overview-card.is-apu{border-top:3px solid #8b5cf6}.module-overview-card.is-projects{border-top:3px solid var(--brand)}.module-overview-card strong{margin-right:7px;font-size:28px;line-height:1;display:inline-block}.module-overview-card p{color:var(--ink-secondary);margin:0;font-size:12px;display:inline}.module-overview-card small{color:var(--muted);min-height:28px;font-size:11px}.module-overview-card a,.module-overview-action a{color:var(--brand-dark);font-size:12px;font-weight:750;text-decoration:none}.module-overview-card a:hover,.module-overview-action a:hover{text-decoration:underline}.module-overview-action{color:#675116;background:#fff8e7;border:1px solid #f5d994;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:10px 12px;font-size:12px;display:flex}@media (max-width:760px){.module-overview-heading{flex-direction:column;align-items:start;gap:5px}.module-overview-grid{grid-template-columns:1fr}.module-overview-card small{min-height:auto}.module-overview-action{flex-direction:column;align-items:start}}.dashboard-stat-grid span,.dashboard-mini-grid span,.inventory-summary span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800;display:block}.dashboard-stat-grid strong,.dashboard-mini-grid strong,.inventory-summary strong{color:var(--ink);font-family:var(--font-display,"Playfair Display", Georgia, serif);font-variant-numeric:tabular-nums;letter-spacing:-.04em;margin:12px 0 4px;font-size:32px;display:block}.dashboard-stat-grid small{color:var(--muted);font-size:11.5px}.dashboard-analytics-grid{grid-template-columns:1.3fr .7fr;gap:18px;margin-top:18px;display:grid}.dashboard-panel{border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;padding:26px}.panel-title{justify-content:space-between;align-items:flex-start;display:flex}.panel-title p{color:var(--accent,#c49024);letter-spacing:.12em;text-transform:uppercase;margin:0 0 6px;font-size:10.5px;font-weight:800}.panel-title h2{letter-spacing:-.02em;margin:0;font-size:18px;font-weight:700}.dashboard-data-badge{background:var(--brand-soft);color:var(--brand-dark);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:800}.panel-intro{color:var(--muted);max-width:560px;margin:12px 0 24px;font-size:13px;line-height:1.55}.group-bars{gap:18px;margin-bottom:26px;display:grid}.group-bar-heading{justify-content:space-between;align-items:baseline;gap:15px;margin-bottom:7px;display:flex}.group-bar-heading strong{font-size:13px}.group-bar-heading span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11.5px}.group-bar-track{background:var(--canvas);border-radius:99px;height:9px;overflow:hidden}.group-bar-track i{background:linear-gradient(90deg, var(--brand) 0%, #1db86f 100%);border-radius:inherit;min-width:6px;height:100%;display:block}.migration-panel{flex-direction:column;display:flex}.migration-panel ol{gap:18px;margin:24px 0;padding:0;list-style:none;display:grid}.migration-panel li{align-items:flex-start;gap:13px;display:flex}.migration-panel li>span{background:var(--brand-soft);color:var(--brand-dark);border-radius:50%;justify-content:center;align-items:center;min-width:26px;height:26px;font-size:11px;font-weight:900;display:flex}.migration-panel strong{font-size:13px;font-weight:700;display:block}.migration-panel small{color:var(--muted);margin-top:2px;font-size:11px;line-height:1.45;display:block}.migration-panel .panel-link{margin-top:auto}.dashboard-lower-grid{grid-template-columns:1.25fr .75fr;gap:18px;margin-top:18px;display:grid}.module-list{margin-top:16px;display:grid}.module-row{border-top:1px solid #edf2ef;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px 0;text-decoration:none;transition:color .18s,transform .15s;display:grid}.module-row:hover{color:var(--brand-dark);transform:translate(2px)}.module-row-dot{background:#35a96e;border-radius:50%;width:8px;height:8px}.module-row strong{font-size:13px;display:block}.module-row div small,.module-row>b small{color:var(--muted);margin-top:2px;font-size:10.5px;font-weight:600;display:block}.module-row>b{font-variant-numeric:tabular-nums;text-align:right;font-size:13.5px}.data-note{color:#f5fcf7;background:linear-gradient(145deg,#0c2b1d 0%,#153e2b 100%);flex-direction:column;justify-content:center;display:flex}.data-note p{color:#8acfa6;letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px;font-size:10px;font-weight:800}.data-note h2{font-family:var(--font-display,"Playfair Display", Georgia, serif);margin:0;font-size:20px;font-weight:400}.data-note>span{color:#b7d6c4;margin-top:12px;font-size:12px;line-height:1.55}.dashboard-backdrop{display:none}@media (max-width:980px){.dashboard-shell,.dashboard-shell.is-sidebar-collapsed{grid-template-columns:1fr}.dashboard-sidebar{z-index:30;-webkit-overflow-scrolling:touch;width:280px;height:100dvh;transition:transform .24s cubic-bezier(.16,1,.3,1);position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-105%);box-shadow:16px 0 40px #0c201729}.dashboard-nav{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow-y:auto}.dashboard-shell.is-sidebar-collapsed .dashboard-sidebar{padding:24px 16px}.dashboard-shell.is-sidebar-collapsed .dashboard-sidebar-header{justify-content:space-between}.dashboard-shell.is-sidebar-collapsed .dashboard-brand{gap:12px}.dashboard-shell.is-sidebar-collapsed .dashboard-brand span,.dashboard-shell.is-sidebar-collapsed .dashboard-nav-label,.dashboard-shell.is-sidebar-collapsed .dashboard-nav-item span,.dashboard-shell.is-sidebar-collapsed .dashboard-sidebar-footer>div:not(.dashboard-avatar){display:block}.dashboard-shell.is-sidebar-collapsed .dashboard-sidebar-account-actions{display:grid}.dashboard-shell.is-sidebar-collapsed .dashboard-nav-item{justify-content:flex-start;padding-left:14px;padding-right:14px}.dashboard-shell.is-sidebar-collapsed .dashboard-sidebar-footer{justify-content:flex-start;padding-left:6px;padding-right:6px}.dashboard-sidebar.is-open{transform:translate(0)}.dashboard-close,.dashboard-menu{display:flex}.dashboard-sidebar-toggle{display:none}.dashboard-backdrop{opacity:0;pointer-events:none;z-index:20;background:#091a126b;border:0;transition:opacity .2s;position:fixed;inset:0}.dashboard-backdrop.is-visible{opacity:1;pointer-events:auto;display:block}.dashboard-topbar{padding:0 20px}.dashboard-content{padding:30px 20px 46px}.dashboard-analytics-grid,.dashboard-lower-grid{grid-template-columns:1fr}.dashboard-stat-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.dashboard-company span{display:none}.dashboard-topbar{height:62px}.dashboard-content{padding:24px 16px 40px}.dashboard-heading{flex-direction:column;align-items:stretch;gap:16px}.dashboard-heading .inventory-action{width:100%}.dashboard-insight{grid-template-columns:auto 1fr;align-items:flex-start;padding:14px}.dashboard-insight a{grid-column:2}.dashboard-stat-grid{grid-template-columns:1fr 1fr}.dashboard-stat-grid article{min-height:115px;padding:16px}.dashboard-stat-grid strong{font-size:26px}.dashboard-panel{padding:18px}.group-bar-heading{flex-direction:column;align-items:flex-start;gap:3px}.dashboard-top-actions{gap:8px}.dashboard-top-actions button{width:38px;height:38px}.dashboard-top-actions .dashboard-signout{width:38px;padding:0}.dashboard-signout span{display:none}}@media (max-width:420px){.dashboard-stat-grid{grid-template-columns:1fr}.dashboard-company strong{font-size:13px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.dashboard-toolbar-bar{border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;padding:16px 22px;display:flex}.dashboard-toolbar-bar>span{color:var(--ink-secondary);font-size:13px;font-weight:700}.toolbar-buttons{flex-wrap:wrap;gap:10px;display:flex}.tb-btn{background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);cursor:pointer;align-items:center;gap:6px;padding:8px 14px;font-size:12.5px;font-weight:700;text-decoration:none;transition:background .18s,border-color .18s,color .18s;display:inline-flex}.tb-btn:hover{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-dark)}.btn-link-inv{background:var(--brand-soft);color:var(--brand-dark);border-color:#0b7a4740}.dash-quick-btns{gap:10px;display:flex}.btn-primary-action{background:var(--brand)!important;color:#fff!important}.btn-secondary-action,.btn-edit-project{color:#fff!important;background:#1e3a2b!important}.btn-budget-adjustment{color:#fff!important;background:#b7791f!important}.btn-budget-adjustment:hover{background:#925f18!important}.btn-new-project{border:1px solid var(--brand)!important;color:var(--brand-dark)!important;background:#fff!important}.btn-new-project:hover{background:var(--brand-soft)!important}.btn-edit-project,.btn-despachar-obra{background:#173d2c!important}.btn-budget-adjustment{background:#c98312!important}.btn-new-project,.inventory-action.secondary{border-color:var(--brand)!important;color:var(--brand-dark)!important}@media (max-width:640px){.header-actions{flex-wrap:wrap}.inventory-action{flex:145px;min-width:0}}.text-spent{color:#b91c1c!important}.text-remaining{color:#047857!important}.card-spent{background:linear-gradient(135deg,#fff 0%,#fff5f5 100%)!important;border-left:4px solid #ef4444!important}.card-remaining{background:linear-gradient(135deg,#fff 0%,#f0fdf4 100%)!important;border-left:4px solid #10b981!important}.card-alerts{background:linear-gradient(135deg,#fff 0%,#fffbe0 100%)!important;border-left:4px solid #f59e0b!important}.exec-projects-section{margin-top:30px}.section-title{justify-content:space-between;align-items:flex-end;margin-bottom:20px;display:flex}.section-title p{color:var(--accent,#c49024);letter-spacing:.12em;text-transform:uppercase;margin:0 0 4px;font-size:11px;font-weight:800}.section-title h2{font-family:var(--font-display,"Playfair Display", Georgia, serif);margin:0;font-size:24px;font-weight:400}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:20px;display:grid}.project-card{border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;padding:24px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;position:relative}.project-card:hover{box-shadow:var(--shadow-md);border-color:#a8cfb7;transform:translateY(-2px)}.project-card.status-red{border-top:4px solid #ef4444}.project-card.status-yellow{border-top:4px solid #f59e0b}.project-card.status-green{border-top:4px solid #10b981}.prj-card-header{justify-content:space-between;align-items:flex-start;display:flex}.prj-code{background:var(--canvas);border:1px solid var(--line);color:var(--muted);letter-spacing:.06em;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:800;display:inline-block}.prj-card-header h3{letter-spacing:-.02em;margin:8px 0 4px;font-size:16.5px;font-weight:700}.prj-card-header small{color:var(--muted);font-size:12px;display:block}.prj-badge{white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:800}.badge-green{color:#15803d;background:#dcfce7}.badge-yellow{color:#b45309;background:#fef3c7}.badge-red{color:#b91c1c;background:#fee2e2}.prj-progress-box{margin:18px 0}.prj-progress-labels{justify-content:space-between;margin-bottom:6px;display:flex}.prj-progress-labels span{color:var(--muted);font-size:11.5px;font-weight:600}.prj-progress-labels strong{font-size:12px;font-weight:800}.prj-bar-track{background:#f1f5f3;border-radius:99px;height:10px;overflow:hidden}.prj-bar-fill{border-radius:inherit;height:100%;transition:width .4s}.fill-green{background:linear-gradient(90deg,#10b981 0%,#059669 100%)}.fill-yellow{background:linear-gradient(90deg,#f59e0b 0%,#d97706 100%)}.fill-red{background:linear-gradient(90deg,#ef4444 0%,#dc2626 100%)}.prj-financial-rows{border-radius:var(--radius-sm);background:#f9fbfb;border:1px solid #eef3f0;gap:8px;padding:14px;display:grid}.fin-row{justify-content:space-between;font-size:12.5px;display:flex}.fin-row span{color:var(--ink-secondary)}.fin-row strong{font-variant-numeric:tabular-nums}.spent-row strong{color:#b91c1c}.text-danger{color:#dc2626}.text-success{color:#059669}.prj-recent-items{margin-top:14px}.recent-title{color:var(--muted);text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:700;display:block}.prj-recent-items ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.prj-recent-items li{border:1px solid var(--line);background:#fff;border-radius:4px;justify-content:space-between;align-items:center;padding:6px 10px;font-size:11.5px;display:flex}.prj-recent-items li small{color:var(--muted);font-weight:700}.prj-card-footer{margin-top:18px}.btn-card-dispatch{background:var(--brand-soft);border-radius:var(--radius-sm);color:var(--brand-dark);cursor:pointer;border:1px solid #0b7a4733;justify-content:center;align-items:center;width:100%;min-height:38px;font-size:12.5px;font-weight:700;transition:background .18s,color .18s;display:flex}.btn-card-dispatch:hover{background:var(--brand);color:#fff}.exec-sub-grid{margin-top:24px}.req-count-badge{color:#b45309;background:#fef3c7;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:800}.requisitions-list,.tool-loans-list{gap:12px;margin-top:16px;display:grid}.req-item,.loan-item{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fcfdfe;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.req-header{align-items:center;gap:10px;display:flex}.req-info strong{font-size:13.5px}.req-info small{color:var(--muted);margin-top:2px;font-size:11.5px;display:block}.req-products{color:var(--ink-secondary);margin-top:6px;font-size:12px}.status-pill{border-radius:999px;padding:2px 8px;font-size:10px;font-weight:800}.pill-pending{color:#b45309;background:#fef3c7}.pill-dispatched{color:#15803d;background:#dcfce7}.btn-approve-req{background:var(--brand);border-radius:var(--radius-sm);color:#fff;cursor:pointer;white-space:nowrap;border:0;padding:8px 14px;font-size:12px;font-weight:700}.btn-approve-req:hover{background:var(--brand-dark)}.loan-item strong{font-size:13.5px;display:block}.loan-item small{color:var(--muted);margin-top:2px;font-size:11.5px;display:block}.loan-date{color:var(--subtle);margin-top:3px;font-size:10.5px;display:block}.btn-return-tool{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);cursor:pointer;white-space:nowrap;background:#fff;padding:6px 12px;font-size:12px;font-weight:700}.btn-return-tool:hover{color:#b91c1c;background:#fee2e2;border-color:#ef4444}.badge-returned{color:#059669;font-size:11px;font-weight:800}.btn-mini-add{background:var(--brand-soft);color:var(--brand-dark);cursor:pointer;border:0;border-radius:4px;padding:4px 10px;font-size:11.5px;font-weight:700}.kardex-section{margin-top:24px}.kardex-table{border-collapse:collapse;width:100%;margin-top:16px}.kardex-table th,.kardex-table td{border-bottom:1px solid var(--line);text-align:left;padding:12px 14px;font-size:12.5px}.kardex-table th{background:var(--canvas);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10.5px;font-weight:800}.mov-exit{color:#b91c1c;background:#fee2e2}.mov-entry{color:#15803d;background:#dcfce7}.mov-return{color:#3730a3;background:#e0e7ff}.btn-view-voucher{border:1px solid var(--line);color:var(--brand-dark);cursor:pointer;background:#fff;border-radius:4px;padding:5px 10px;font-size:11.5px;font-weight:700}.btn-view-voucher:hover{background:var(--brand-soft);border-color:var(--brand)}.voucher-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overscroll-behavior:contain;z-index:999;background:#091a12a6;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.voucher-modal-container{border-radius:var(--radius-md);background:#fff;width:100%;max-width:820px;margin:auto;overflow:hidden;box-shadow:0 25px 50px -12px #00000059}.voucher-modal-actions{color:#fff;z-index:2;background:#11291d;justify-content:space-between;align-items:center;padding:14px 24px;display:flex;position:sticky;top:0}.voucher-tag{color:#8acfa6;letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:800}.voucher-modal-title{min-width:0}.voucher-modal-title h2{color:#fff;margin:3px 0 0;font-size:17px;line-height:1.2}.voucher-btns{gap:10px;display:flex}.btn-print{color:#fff;cursor:pointer;background:#10b981;border:0;border-radius:4px;padding:8px 16px;font-size:12.5px;font-weight:700}.btn-close-voucher{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff6b;border-radius:6px;justify-content:center;align-items:center;width:42px;height:42px;padding:0;font-size:25px;line-height:1;display:inline-flex}.btn-close-voucher:hover,.btn-close-voucher:focus-visible{outline-offset:2px;background:#ffffff24;outline:2px solid #8acfa6}.printable-voucher-sheet{color:#1f2937;font-family:var(--font-sans,Inter, sans-serif);background:#fff;padding:38px 44px}.voucher-header{border-bottom:2px solid #0b7a47;justify-content:space-between;padding-bottom:18px;display:flex}.voucher-brand{gap:16px;display:flex}.voucher-logo{object-fit:contain;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.voucher-brand h2{margin:0 0 2px;font-size:16px;font-weight:800}.report-print-header{display:none}.report-controls{grid-template-columns:1.35fr 1fr 1fr;gap:16px;margin-bottom:18px;padding:18px 20px;display:grid}.report-controls label{color:var(--ink-secondary);gap:7px;font-size:12px;font-weight:750;display:grid}.report-controls select{border:1px solid var(--line);color:var(--ink);font:inherit;background:#fff;border-radius:7px;min-height:42px;padding:8px 10px}.report-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.report-kpis article{border:1px solid var(--line);background:linear-gradient(145deg,#fff,#f4faf6);border-radius:10px;padding:18px}.report-kpis span{color:var(--ink-secondary);text-transform:uppercase;font-size:11px;font-weight:800;display:block}.report-kpis strong{color:var(--ink);font-family:var(--font-display,Georgia,serif);margin:8px 0 5px;font-size:25px;display:block}.report-kpis small{color:var(--muted);font-size:12px}.report-kpis .is-critical{background:#fff7f2;border-color:#efc1ad}.report-kpis .is-critical strong{color:#a43d20}.report-grid{grid-template-columns:1.35fr .85fr;gap:18px;margin-bottom:18px;display:grid}.report-chart{margin-bottom:18px;padding:22px}.report-bar{margin:0 0 15px}.report-bar>div:first-child{justify-content:space-between;gap:12px;display:flex}.report-bar strong{font-size:13px}.report-bar span{color:var(--muted);font-size:12px}.report-bar-track{background:#edf3ee;border-radius:99px;height:10px;margin-top:7px;position:relative;overflow:visible}.report-bar-track i{border-radius:inherit;background:linear-gradient(90deg,#0b7a47,#49ad78);height:100%;display:block}.report-budget-marker{background:#b87913;width:2px;height:18px;position:absolute;top:-4px}.report-donut-wrap{justify-content:center;align-items:center;min-height:178px;display:flex;position:relative}.report-donut{width:170px;height:170px;transform:rotate(-90deg)}.report-donut-wrap>div{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute}.report-donut-wrap strong{font-family:var(--font-display,Georgia,serif);font-size:27px}.report-donut-wrap span,.chart-legend{color:var(--muted);font-size:12px}.chart-legend{text-align:center}.chart-legend i,.chart-legend b{background:#0b7a47;border-radius:50%;width:8px;height:8px;margin:0 5px 0 10px;display:inline-block}.chart-legend b{background:#8b6715}.report-table{margin-top:18px}.voucher-brand small{color:#4b5563;font-size:11px;font-weight:700;display:block}.voucher-brand p{color:#6b7280;margin:2px 0 0;font-size:10.5px}.voucher-folio{text-align:right}.folio-label{color:#0b7a47;letter-spacing:.12em;font-size:10px;font-weight:900;display:block}.folio-number{color:#111827;font-family:monospace;font-size:22px;font-weight:900}.voucher-folio small{color:#6b7280;margin-top:2px;font-size:11px;display:block}.voucher-info-grid{grid-template-columns:1fr 1fr;gap:12px;margin:22px 0;display:grid}.info-box{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:10px 14px}.info-label{color:#6b7280;letter-spacing:.06em;margin-bottom:3px;font-size:10px;font-weight:800;display:block}.info-box strong{font-size:13px;display:block}.info-box small{color:#4b5563;margin-top:2px;font-size:11px;display:block}.voucher-table{border-collapse:collapse;width:100%;margin:20px 0}.voucher-table th{color:#374151;text-transform:uppercase;background:#f3f4f6;border-bottom:2px solid #d1d5db;padding:10px;font-size:11px;font-weight:800}.voucher-table td{border-bottom:1px solid #e5e7eb;padding:12px 10px;font-size:12.5px}.total-amount{color:#0b7a47;font-size:16px;font-weight:900}.voucher-notes{background:#fffbe0;border-left:3px solid #f59e0b;margin-top:16px;padding:10px 14px;font-size:12px}.voucher-notes strong{margin-bottom:2px;display:block}.voucher-signatures{grid-template-columns:1fr 1fr;gap:40px;margin-top:48px;display:grid}.signature-line{text-align:center}.sig-space{border-bottom:1px solid #9ca3af;height:40px;margin-bottom:8px}.signature-line strong{font-size:12px;display:block}.signature-line small{color:#6b7280;font-size:10.5px}.voucher-company-signature{object-fit:contain;width:170px;height:48px;margin:0 auto 7px;display:block}@media print{.dashboard-sidebar,.dashboard-topbar,.no-print{display:none!important}.report-print-header{border-bottom:2px solid #0b7a47;align-items:center;gap:12px;margin:0 0 24px;padding:0 0 12px;display:flex}.report-print-header img{object-fit:contain;width:42px;height:42px}.report-print-header strong,.report-print-header small{display:block}body *{visibility:visible}body:has(.printable-voucher-sheet) *{visibility:hidden}.voucher-modal-overlay,.voucher-modal-container,.printable-voucher-sheet,.printable-voucher-sheet *{visibility:visible}.voucher-modal-overlay{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;width:100%;position:absolute;inset:0 auto auto 0}.no-print{display:none!important}.voucher-modal-container{box-shadow:none;border:0}}.projects-selector-bar{border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;flex-wrap:wrap;align-items:flex-start;gap:14px;margin-top:24px;padding:14px 20px;display:flex;overflow:visible}.selector-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-size:11px;font-weight:800}.selector-pills{flex:320px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:10px;min-width:0;display:grid}.prj-pill{background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;align-items:center;gap:8px;width:100%;min-width:0;padding:8px 14px;transition:background .18s,border-color .18s;display:flex}.prj-pill:hover{background:var(--brand-soft);border-color:var(--brand)}.prj-pill.is-selected{background:var(--brand-soft);border-color:var(--brand);box-shadow:0 0 0 2px #0b7a472e}.prj-pill.status-completed{background:#fff1f2;border-color:#fecdd3}.prj-pill.status-completed .pill-name{color:#b91c1c}.prj-pill.status-on_hold{background:#fffbeb;border-color:#fde68a}.prj-pill.status-on_hold .pill-name{color:#92400e}.prj-pill.status-pending{background:#eff6ff;border-color:#bfdbfe}.prj-pill.status-pending .pill-name{color:#1d4ed8}.prj-pill.status-active .pill-name{color:var(--brand-dark)}.prj-pill.status-completed.is-selected{box-shadow:0 0 0 2px #b91c1c38}.prj-pill.status-on_hold.is-selected{box-shadow:0 0 0 2px #92400e38}.pill-code{border:1px solid var(--line);color:var(--brand-dark);background:#fff;border-radius:4px;padding:2px 6px;font-size:10.5px;font-weight:800}.pill-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.project-detail-container{margin-top:24px}.project-main-card{border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;padding:28px}.project-picker-modal{max-width:760px}.budget-adjustment-modal{max-width:640px;padding:36px}.budget-adjustment-modal .form-group{margin-top:20px}.budget-adjustment-modal input{min-height:46px}.project-picker-hint{color:var(--muted);margin:-8px 0 20px;font-size:14px}.project-picker-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.project-picker-card{background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius-sm);text-align:left;gap:6px;min-height:116px;padding:16px;transition:border-color .18s,box-shadow .18s,background .18s;display:grid}.project-picker-card:hover,.project-picker-card:focus-visible{background:var(--brand-soft);border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-glow);outline:none}.project-picker-card span{color:var(--brand-dark);letter-spacing:.06em;font-size:11px;font-weight:800}.project-picker-card strong{color:var(--ink);font-size:15px;line-height:1.3}.project-picker-card small{color:var(--muted);font-size:12px}.card-top-info{justify-content:space-between;align-items:flex-start;display:flex}.prj-code-badge{background:var(--brand-soft);color:var(--brand-dark);letter-spacing:.08em;border-radius:4px;padding:3px 10px;font-size:11px;font-weight:800;display:inline-block}.project-source-quote{color:#174a87;background:#eef6ff;border:1px solid #9fc4ea;border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px 10px;width:fit-content;max-width:100%;margin:12px 0 4px;padding:10px 12px;font-size:13px;text-decoration:none;display:flex}.project-source-quote-label{color:#315d8e;font-weight:700}.project-source-quote strong{overflow-wrap:anywhere}.project-source-quote-action{color:#0d5cab;white-space:nowrap;margin-left:auto;font-weight:800}.project-source-quote:hover,.project-source-quote:focus-visible{outline-offset:2px;background:#dfefff;outline:2px solid #174a8759;text-decoration:underline}@media (max-width:560px){.project-source-quote{align-items:flex-start;width:100%}.project-source-quote-action{width:100%;margin-left:0}}.project-heading-with-help{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.project-help{vertical-align:middle;display:inline-flex;position:relative}.project-help-trigger{color:#174a87;cursor:help;background:#e9f2fb;border:1px solid #8bb5df;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:12px;font-weight:900;line-height:1;display:inline-flex}.project-help-trigger:focus-visible{outline-offset:2px;outline:3px solid #174a8759}.project-help-popover{color:#fff;opacity:0;pointer-events:none;visibility:hidden;z-index:40;background:#143a68;border-radius:8px;width:min(280px,100vw - 32px);padding:10px 12px;font-size:13px;font-weight:500;line-height:1.45;transition:opacity .16s,transform .16s;position:absolute;top:calc(100% + 8px);left:0;transform:translateY(-4px);box-shadow:0 10px 24px #0d305938}.project-help:hover .project-help-popover,.project-help:focus-within .project-help-popover{opacity:1;visibility:visible;transform:translateY(0)}.selector-label .project-help{margin-left:4px}.card-top-info h2{font-family:var(--font-display,"Playfair Display", Georgia, serif);letter-spacing:-.03em;margin:10px 0 4px;font-size:26px;font-weight:400}.card-top-info p{color:var(--muted);margin:0;font-size:13px}.status-badge-lg{border-radius:999px;padding:6px 14px;font-size:12px;font-weight:800}.status-badge-lg.status-red{color:#b91c1c;background:#fee2e2}.status-badge-lg.status-yellow{color:#92400e;background:#fef3c7}.status-badge-lg.status-green{background:var(--brand-soft);color:var(--brand-dark)}.project-status-filter{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.project-status-filter select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:6px;padding:6px 8px}.project-filter-empty{color:var(--muted);margin:8px 0;font-size:13px}.project-metrics-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:24px;display:grid}.metric-box{border-radius:var(--radius-sm);background:#f9fbfb;border:1px solid #eef3f0;padding:16px}.metric-box span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:800;display:block}.metric-box strong{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin-top:6px;font-size:22px;display:block}.metric-bar-track{background:#e5e7eb;border-radius:99px;height:6px;margin-top:8px;overflow:hidden}.metric-bar-fill{border-radius:inherit;height:100%}.project-tabs-header{border-bottom:2px solid var(--line);gap:10px;margin-top:28px;padding:10px 12px;display:flex}.project-tabs-header .tab-btn{align-items:center;gap:8px;min-height:42px;padding:10px 16px;display:inline-flex}.project-tab-icon{flex:none;width:18px;height:18px}.materials-history-card{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;padding:22px;overflow-x:auto}.materials-history-card h3{margin-bottom:16px}.project-history-table{border-collapse:collapse;width:100%;min-width:680px}.project-history-table th{background:var(--canvas);color:var(--muted);letter-spacing:.04em;text-align:left;text-transform:uppercase;padding:11px 14px;font-size:12px}.project-history-table td{border-top:1px solid var(--line);color:var(--ink);vertical-align:top;padding:14px}.project-history-table th:last-child,.project-history-table td:last-child{text-align:right;white-space:nowrap}.tab-btn{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:12px 18px;font-size:14px;font-weight:700;transition:color .18s,border-color .18s}.tab-btn:hover{color:var(--ink)}.tab-btn.is-active{border-bottom-color:var(--brand);color:var(--brand-dark)}.project-tab-content{border:1px solid var(--line);border-radius:0 0 var(--radius-md) var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;border-top:0;padding:26px}.tab-actions-bar{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.tab-actions-bar h3{margin:0;font-size:17px;font-weight:700}.btn-mini-dispatch{background:var(--brand);border-radius:var(--radius-sm);color:#fff;cursor:pointer;border:0;padding:8px 16px;font-size:12.5px;font-weight:700}.btn-mini-dispatch:hover{background:var(--brand-dark)}.materials-table{border-collapse:collapse;width:100%}.materials-table th,.materials-table td{border-bottom:1px solid var(--line);text-align:left;padding:12px 14px;font-size:13px}.materials-table th{background:var(--canvas);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.total-spent-cell{color:#b91c1c;font-size:16px}.table-note{color:var(--muted);margin-top:3px;font-size:11px}.empty-state-box{background:var(--canvas);border:1px dashed var(--line);border-radius:var(--radius-sm);text-align:center;padding:38px}.empty-state-box p{color:var(--muted);margin-bottom:16px;font-size:14px}.tools-grid-view,.requisitions-grid-view{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-top:16px;display:grid}.tool-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:#f9fbfb;align-items:flex-start;gap:14px;padding:16px;display:flex}.tool-card-icon{background:var(--brand-soft);border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.tool-card strong{font-size:14px;display:block}.tool-card p{color:var(--ink-secondary);margin:4px 0;font-size:12px}.tool-card small{color:var(--muted);font-size:11px}.req-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:#f9fbfb;padding:16px}.req-card-header{justify-content:space-between;align-items:center;display:flex}.req-card ul{gap:4px;margin:12px 0 0;padding:0;list-style:none;display:grid}.req-card li{color:var(--ink-secondary);font-size:12px}.greeting-section{align-items:flex-start;margin-bottom:24px}.greeting-date{color:var(--brand);letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font-size:12px;font-weight:800}.greeting-activity{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.activity-pill{background:var(--canvas);border:1px solid var(--line);color:var(--ink-secondary);border-radius:999px;padding:4px 12px;font-size:11.5px;font-weight:700}.pill-dispatches{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.pill-entries{color:#1e40af;background:#eff6ff;border-color:#bfdbfe}.pill-reqs{color:#854d0e;background:#fefce8;border-color:#fef08a}.pill-tools{color:#6b21a8;background:#faf5ff;border-color:#e9d5ff}.dashboard-intel-grid{grid-template-columns:1fr 1fr;gap:20px;margin-top:28px;display:grid}@media (max-width:900px){.dashboard-intel-grid{grid-template-columns:1fr}}.top-materials-list{gap:12px;margin-top:16px;display:grid}.top-mat-row{border-radius:var(--radius-sm);background:#fbfdfc;border:1px solid #e7eee9;grid-template-columns:32px 1fr auto;align-items:center;gap:12px;padding:12px 14px;display:grid;position:relative;overflow:hidden}.top-rank{background:var(--brand-soft);color:var(--brand-dark);border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:900;display:flex}.top-mat-info strong{letter-spacing:-.01em;font-size:13px;display:block}.top-mat-info small{color:var(--muted);font-size:11px}.top-mat-cost{text-align:right}.top-mat-cost strong{color:#b91c1c;font-variant-numeric:tabular-nums;font-size:13.5px;display:block}.top-mat-cost small{color:var(--muted);font-size:10.5px}.top-mat-bar-track{background:#eef3f0;border-radius:99px;grid-column:1/-1;height:4px;margin-top:2px;overflow:hidden}.top-mat-bar-fill{border-radius:inherit;background:linear-gradient(90deg,#c49024 0%,#b91c1c 100%);height:100%}.spending-chart{gap:14px;margin-top:16px;display:grid}.chart-bar-row{grid-template-columns:140px 1fr 110px;align-items:center;gap:12px;display:grid}.chart-label strong{font-size:12px;display:block}.chart-label small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;display:block;overflow:hidden}.chart-bar-track{background:#eef3f0;border-radius:99px;height:12px;overflow:hidden}.chart-bar-fill{border-radius:inherit;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.chart-value{font-variant-numeric:tabular-nums;text-align:right;font-size:12px;font-weight:800}.chart-legend{border-top:1px solid var(--line);gap:16px;margin-top:18px;padding-top:12px;display:flex}.legend-item{color:var(--muted);align-items:center;gap:6px;font-size:11px;display:flex}.legend-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.dot-green{background:#10b981}.dot-yellow{background:#f59e0b}.dot-red{background:#ef4444}.critical-stock-panel{border-left:4px solid #ef4444;margin-top:24px}.critical-badge{color:#b91c1c;background:#fee2e2;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:800}.critical-table{border-collapse:collapse;width:100%;margin-top:16px}.critical-table th,.critical-table td{border-bottom:1px solid var(--line);text-align:left;padding:11px 12px;font-size:12.5px}.critical-table th{background:var(--canvas);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10.5px;font-weight:800}.critical-table td strong{font-size:13px;display:block}.critical-table td small{color:var(--muted);font-size:11px}.text-warning{color:#d97706}.action-tag{color:#b91c1c;background:#fee2e2;border:1px solid #fca5a5;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:800;display:inline-block}.toast-container{z-index:1000;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.toast-item{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;align-items:center;gap:12px;max-width:420px;padding:14px 18px;animation:.28s cubic-bezier(.16,1,.3,1) toastIn;display:flex;box-shadow:0 10px 30px #0000001f}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.toast-item p{color:var(--ink);margin:0;font-size:13px;font-weight:600}.toast-icon{font-size:18px}.toast-success{border-left:4px solid #10b981}.toast-warning{border-left:4px solid #f59e0b}.toast-info{border-left:4px solid #3b82f6}.toast-dismiss{color:var(--muted);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:2px 6px;font-size:14px}.toast-dismiss:hover{color:var(--ink)}.employees-layout{grid-template-columns:minmax(250px,.75fr) minmax(0,2fr);gap:20px;display:grid}.settings-grid{grid-template-columns:minmax(280px,.8fr) minmax(0,1.6fr);gap:20px;display:grid}.settings-card{align-content:start;gap:14px;padding:24px;display:grid}.settings-card h2{font-size:22px}.settings-card label{color:var(--ink-secondary);gap:7px;font-size:12px;font-weight:750;display:grid}.settings-card input{border:1px solid var(--line);font:inherit;border-radius:7px;min-height:42px;padding:9px 10px}.settings-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.settings-card-wide{min-width:0}.settings-notice{color:#17663d;background:#e8f5ed;border:1px solid #bde1c9;border-radius:7px;margin:0 0 18px;padding:12px 14px}.employees-main{gap:20px;display:grid}.employee-row{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;width:100%;padding:13px 4px;display:grid}.employee-row.is-selected{background:var(--brand-soft);margin:0 -8px;padding-left:12px;padding-right:12px}.employee-row>span{background:var(--ink);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:11px;font-weight:800;display:flex}.employee-row strong{font-size:13px}.employee-row small,.permission-groups small{color:var(--muted);margin-top:2px;font-size:11px;font-weight:500;display:block}.employee-row i{color:#a74a32;font-size:11px;font-style:normal;font-weight:700}.employee-row i.is-active{color:var(--brand)}.employee-form{grid-template-columns:1fr 1fr;gap:16px;display:grid}.employee-form label{gap:7px;font-size:12px;font-weight:700;display:grid}.employee-form input,.employee-form select{border:1px solid var(--line);border-radius:6px;min-height:42px;padding:9px}.employee-form button{grid-column:1/-1;justify-self:start}.permission-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px;display:grid}.permission-groups fieldset{border:1px solid var(--line);padding:14px}.permission-groups legend{color:var(--brand-dark);text-transform:capitalize;padding:0 5px;font-size:12px;font-weight:800}.permission-groups label{align-items:start;gap:9px;margin:12px 0;font-size:12px;line-height:1.35;display:flex}.permission-groups input{accent-color:var(--brand);margin-top:2px}.employee-message{background:var(--brand-soft);color:var(--brand-dark);margin-top:18px;padding:12px;font-size:13px;font-weight:700}.employee-access-card{background:var(--canvas);border:1px solid var(--line);border-radius:12px;gap:10px;margin:14px 0 18px;padding:16px;display:grid}.employee-access-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.employee-access-head p{color:var(--brand);letter-spacing:.08em;text-transform:uppercase;margin:0 0 3px;font-size:10px;font-weight:850}.employee-access-head h3{margin:0;font-size:16px}.employee-access-badge{color:var(--ink-secondary);white-space:nowrap;background:#eef2f1;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:800}.employee-access-badge[data-status=active]{color:#137a46;background:#e8f6ee}.employee-access-badge[data-status=invited]{color:#946200;background:#fff7e6}.employee-access-badge[data-status=disabled],.employee-access-badge[data-status=orphaned]{color:#991b1b;background:#fef2f2}.employee-access-meta{color:var(--ink-secondary);margin:0;font-size:12px;line-height:1.65}.employee-access-meta strong{color:var(--ink)}.employee-access-hint{color:var(--muted);margin:0;font-size:11px;line-height:1.5}.employee-access-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.employee-access-message{color:var(--brand-dark);margin:0;font-size:12px;font-weight:700}@media (max-width:560px){.employee-access-head{flex-direction:column}}@media (max-width:900px){.employees-layout,.settings-grid,.settings-columns{grid-template-columns:1fr}}@media (max-width:560px){.employee-form,.permission-groups{grid-template-columns:1fr}}.emp-btn{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;width:100%;padding:8px 16px;font-size:13px;font-weight:700;transition:all .2s}.emp-btn--primary{background:var(--brand);color:#fff}.emp-btn--primary:hover:not(:disabled){background:var(--brand-dark)}.emp-btn--secondary{background:var(--brand-soft);color:var(--brand-dark)}.emp-btn--secondary:hover:not(:disabled){background:#d8efe3}.emp-btn--outline{border-color:var(--line);color:var(--ink-secondary)}.emp-btn--outline:hover:not(:disabled){color:var(--ink);background:#f9f9fa}.emp-btn:disabled{opacity:.5;cursor:not-allowed}.emp-actions-row{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.emp-actions-row .emp-btn{width:auto;padding:6px 12px;font-size:12px}.emp-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#05191073;place-items:center;padding:20px;animation:.2s fadeIn;display:grid;position:fixed;inset:0}.emp-modal{background:#fff;border-radius:16px;width:100%;max-width:420px;padding:28px;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;box-shadow:0 20px 60px #00000026}.emp-modal--wide{max-width:620px}.emp-modal h2{color:var(--ink);margin:0 0 8px;font-size:20px}.emp-modal p{color:var(--ink-secondary);margin:0 0 20px;font-size:14px}.emp-modal-hint{color:var(--muted);margin-bottom:16px;font-size:12px;display:block}.emp-modal-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.emp-modal-label{gap:7px;margin-bottom:16px;font-size:12px;font-weight:700;display:grid}.emp-modal-grid .emp-modal-label{margin-bottom:0}.emp-modal-input{border:1px solid var(--line);border-radius:6px;width:100%;min-height:42px;padding:0 12px;font-family:inherit;font-size:14px;transition:border-color .2s}.emp-modal-input:focus{border-color:var(--brand);outline:none}.emp-modal-actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.emp-modal-actions .emp-btn{width:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:560px){.emp-modal-grid{grid-template-columns:1fr}}@media (max-width:980px){.report-controls,.report-kpis,.report-grid{grid-template-columns:1fr 1fr}.report-controls label:first-child{grid-column:1/-1}}@media (max-width:620px){.report-controls,.report-kpis,.report-grid{grid-template-columns:1fr}.report-controls label:first-child{grid-column:auto}.report-chart{min-width:0;padding:18px 14px;overflow:hidden}.report-bar>div:first-child{flex-direction:column;align-items:flex-start;gap:3px}.report-donut{width:142px;height:142px}.report-donut-wrap{min-height:150px}}.report-document .report-controls{grid-template-columns:minmax(220px,1.35fr) minmax(180px,1fr) minmax(180px,1fr)!important;gap:16px!important;padding:18px 20px!important;display:grid!important}.report-document .report-controls label{flex-direction:column!important;gap:7px!important;min-width:0!important;display:flex!important}.report-document .report-controls select{box-sizing:border-box!important;width:100%!important;min-height:42px!important;display:block!important}@media (max-width:760px){.report-document .report-controls{grid-template-columns:1fr!important}}.dashboard-top-actions .dashboard-signout,.dashboard-top-actions .dashboard-password-link{display:none}.dashboard-sidebar-account-actions{text-align:right;gap:6px;margin-left:auto;display:grid}.dashboard-sidebar-account-actions a,.dashboard-sidebar-account-actions button{color:var(--brand-dark);background:0 0;border:0;padding:3px;font-size:11px;font-weight:800;text-decoration:none}.dashboard-sidebar-account-actions button{color:#9b3528}@media (max-width:980px){.project-metrics-grid{grid-template-columns:1fr 1fr}.card-top-info{flex-direction:column;gap:10px}}@media (max-width:760px){.dash-quick-btns{flex-wrap:wrap;gap:8px}.dash-quick-btns .inventory-action{flex:100%}.projects-selector-bar{gap:10px;padding:12px 14px}.project-status-filter{justify-content:space-between;width:100%}.project-status-filter select{flex:1}.selector-pills{flex-basis:100%;grid-template-columns:1fr}.prj-pill{white-space:normal}.project-main-card{padding:16px}.card-top-info h2{font-size:21px}.project-metrics-grid{grid-template-columns:1fr;gap:10px}.project-tabs-header{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.project-tabs-header .tab-btn{white-space:nowrap;flex:none;padding:10px 12px}.project-tab-content{padding:14px}.tab-actions-bar{flex-direction:column;align-items:stretch;gap:10px}.tab-actions-bar button{width:100%}.project-history-table{min-width:620px}.budget-adjustment-modal{padding:20px}.budget-adjustment-modal input{box-sizing:border-box;width:100%}}@media (max-width:480px){.project-main-card{padding:12px}.project-tab-content{padding:10px}.project-status-filter{flex-direction:column;align-items:stretch}.project-status-filter select{width:100%}.metric-box strong{font-size:19px}}html,body{max-width:100vw;overflow-x:clip}@supports not (overflow:clip){html,body{overflow-x:hidden}}@media (max-width:768px){.project-help-popover{width:auto;max-width:calc(100vw - 32px);inset:auto 16px 16px;transform:translateY(-4px)}.project-help:hover .project-help-popover,.project-help:focus-within .project-help-popover{transform:translateY(0)}}.labor-rate-import-details{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);margin-top:20px;padding:12px 14px}.labor-rate-import-details>summary{cursor:pointer;min-height:44px;color:var(--ink);align-items:center;font-size:13px;font-weight:600;display:flex}.labor-rate-import-file{flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0;display:flex}.labor-rate-import-file input[type=file]{font-size:13px}.labor-rate-import-controls{gap:10px;margin-bottom:14px;display:grid}.labor-rate-import-target{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.labor-rate-import-map{margin:14px 0}.labor-rate-import-map-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.labor-rate-import-preview{-webkit-overflow-scrolling:touch;margin-top:12px;overflow-x:auto}.labor-rate-import-table{border-collapse:collapse;width:100%;min-width:560px;font-size:12px}.labor-rate-import-table th,.labor-rate-import-table td{border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;padding:7px 9px}.labor-rate-import-table th:first-child,.labor-rate-import-table td:first-child{text-align:left}.labor-rate-import-table thead th{background:var(--canvas);color:var(--muted);font-weight:600}.labor-rate-import-existing{color:var(--muted);margin-top:10px;font-size:12px}.labor-rate-import .inventory-action{min-height:44px}.dashboard-stat-grid .quote-help{letter-spacing:normal;text-transform:none;vertical-align:middle;display:inline-flex}.dashboard-stat-grid .quote-help-popover{color:#fff;letter-spacing:normal;text-transform:none;font-weight:400;display:grid}.dashboard-stat-grid .quote-help-popover>strong,.dashboard-stat-grid .quote-help-popover>span{font-family:var(--font-sans,inherit);letter-spacing:normal;text-transform:none;margin:0;font-weight:400;display:block}.dashboard-stat-grid .quote-help-popover>strong{color:#fff;margin-bottom:3px;font-size:12px;font-weight:700}.module-overview-grid .quote-help-popover>strong{margin:0 0 3px;font-size:12px;display:block}.module-overview-grid .quote-help-popover>span{font-weight:400}.dashboard-data-updated{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0 0;font-size:12px;display:flex}.dashboard-data-updated button{color:var(--brand-dark);cursor:pointer;font:inherit;text-underline-offset:2px;background:0 0;border:0;padding:0 2px;font-weight:700;text-decoration:underline}.dashboard-data-updated button:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:3px}.employee-avatar-preview{background:var(--color-bg-subtle,#f8fafc);border:1px solid var(--color-border,#dbe7df);text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;margin:14px 0 20px;padding:14px;display:flex}.employee-avatar-preview small{color:var(--color-text-muted,#64748b);max-width:320px}.employee-avatar-preview img{box-shadow:0 4px 14px #0f412d29}.permission-copy{gap:3px;min-width:0;display:grid}.permission-copy strong{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.permission-copy small{color:var(--color-text-muted,#52687a);max-width:42rem;font-size:.75rem;line-height:1.4}.permission-help{background:var(--brand-soft,#e8f5ee);border:1px solid var(--brand,#087f4b);color:var(--brand-dark,#075a38);cursor:help;border-radius:999px;justify-content:center;align-items:center;width:1.1rem;height:1.1rem;font-family:Georgia,serif;font-size:.69rem;font-style:italic;font-weight:700;line-height:1;display:inline-flex}.permission-help:focus-visible{outline:2px solid var(--brand,#087f4b);outline-offset:2px}.executive-analytics{gap:18px;margin:28px 0;display:grid}.executive-analytics-header{justify-content:space-between;align-items:end;gap:16px;display:flex}.executive-analytics-header p{color:var(--brand);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.executive-analytics-header h2{margin:2px 0;font-size:clamp(22px,3vw,30px)}.executive-analytics-header small{color:var(--muted)}.executive-analytics-header label{color:var(--muted);text-transform:uppercase;gap:5px;font-size:11px;font-weight:800;display:grid}.executive-analytics-header select{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:8px;min-height:40px;padding:7px 10px}.executive-kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.executive-kpis a,.executive-chart,.executive-analytics-state{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-xs)}.executive-kpis a{gap:5px;min-height:124px;padding:16px;transition:border-color .2s,transform .2s;display:grid}.executive-kpis a:hover{border-color:var(--brand);transform:translateY(-2px)}.executive-kpis small{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}.executive-kpis strong{color:var(--brand-dark);font-variant-numeric:tabular-nums;font-size:clamp(21px,2.4vw,30px);line-height:1.05}.executive-kpis span{color:var(--ink-secondary);font-size:12px}.executive-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.executive-chart{min-width:0;padding:18px}.executive-chart-wide{grid-column:1/-1}.executive-chart header{justify-content:space-between;align-items:start;gap:12px;margin-bottom:12px;display:flex}.executive-chart h3{font-size:15px}.executive-chart p,.executive-chart-empty,.executive-analytics-note{color:var(--muted);margin-top:4px;font-size:12px}.executive-chart header a{color:var(--brand-dark);text-underline-offset:3px;font-size:12px;font-weight:800;text-decoration:underline}.executive-chart-empty{justify-content:center;align-items:center;min-height:220px;display:flex}.executive-analytics-state{padding:12px 14px}.executive-analytics-state button{color:var(--brand-dark);background:0 0;border:0;font-weight:800;text-decoration:underline}.executive-analytics-note{margin:0}@media (max-width:900px){.executive-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:640px){.executive-analytics-header{flex-direction:column;align-items:stretch}.executive-kpis,.executive-chart-grid{grid-template-columns:1fr}.executive-chart-wide{grid-column:auto}.executive-kpis a{min-height:105px}}.inventory-toast{border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:100;background:#fff;align-items:center;gap:12px;max-width:480px;padding:14px 18px;animation:.3s cubic-bezier(.16,1,.3,1) both slide-in;display:flex;position:fixed;top:24px;right:24px}@keyframes slide-in{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}.inventory-toast.success{border-left:4px solid var(--brand)}.inventory-toast.success span{background:var(--brand-soft);color:var(--brand-dark);border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;font-weight:900;display:flex}.inventory-toast.error{border-left:4px solid #d33c2a}.inventory-toast.error span{color:#a33b2d;background:#fdf2f0;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;font-weight:900;display:flex}.inventory-toast p{color:var(--ink);margin:0;font-size:13px;font-weight:600;line-height:1.4}.modal-backdrop{-webkit-backdrop-filter:blur(6px);padding:max(16px, env(safe-area-inset-top)) 24px max(16px, env(safe-area-inset-bottom));z-index:90;background:#0c1f187a;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-card{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);background:#fff;width:100%;max-width:620px;max-height:calc(100dvh - 32px);padding:32px;overflow:auto}.modal-card.small{max-width:440px}.count-open-modal .modal-header{box-shadow:none;margin:-32px -32px 18px;padding:24px 32px 18px;position:static}.count-open-modal .panel-intro{margin:0 0 16px}.article-detail-modal{box-sizing:border-box;flex-direction:column;width:100%;min-width:0;max-width:min(700px,100vw - 48px);padding:0;display:flex;overflow:hidden}.article-detail-modal .modal-header{flex:none;margin:0;padding:24px 32px 18px;position:relative;top:auto}.article-modal-content{box-sizing:border-box;overscroll-behavior:contain;min-width:0;min-height:0;padding:0 32px 28px;overflow:hidden auto}.catalog-entry-guide{color:var(--ink-secondary);background:#f2f8f4;border:1px solid #c7dfcf;border-radius:8px;margin:0 0 18px;padding:10px 12px;font-size:12px;line-height:1.5}.catalog-entry-guide strong{color:var(--brand-dark)}.article-detail-modal .modal-header{background:linear-gradient(#fff 0%,#fbfdfc 100%);border-bottom-color:#e7eee9;align-items:center}.article-detail-modal .modal-header h3{overflow-wrap:anywhere;max-width:min(520px,100vw - 150px);font-size:clamp(18px,2.2vw,22px);line-height:1.15}.article-detail-modal .modal-header p{color:#a36f16;font-size:10px}.article-detail-modal .form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 16px}.article-detail-modal .form-group{gap:5px;min-width:0;margin-bottom:12px}.article-detail-modal .form-group label{font-size:11px}.article-detail-modal .form-group input,.article-detail-modal .form-group select{box-sizing:border-box;width:100%;min-width:0;min-height:38px;padding:7px 10px;font-size:13px}.article-form-section{color:#527162;letter-spacing:.1em;text-transform:uppercase;grid-column:1/-1;align-items:center;margin:4px 0 8px;font-size:10px;font-weight:800;display:flex}.article-form-section:after{content:"";background:#e7eee9;flex:1;height:1px;margin-left:10px}.article-count-metric{box-sizing:border-box;background:#f8fbf9;border:1px solid #dce9e0;border-radius:8px;padding:10px}.article-count-metric input{background:#fff;font-weight:700}.article-detail-modal .panel-intro{color:var(--muted);margin:2px 0 0;font-size:11.5px}.article-detail-modal .modal-actions{border-top:1px solid #edf2ef;gap:10px;margin-top:18px;padding-top:16px}.modal-header{border-bottom:1px solid var(--line);z-index:2;background:#fff;justify-content:space-between;align-items:flex-start;margin:-32px -32px 22px;padding:24px 32px 18px;display:flex;position:sticky;top:-32px;box-shadow:0 8px 14px #1031230f}.modal-header p{color:var(--accent,#c49024);letter-spacing:.12em;text-transform:uppercase;margin:0 0 4px;font-size:10.5px;font-weight:800}.modal-header h3{font-family:var(--font-display,"Playfair Display", Georgia, serif);letter-spacing:-.02em;margin:0;font-size:22px;font-weight:700}.btn-close-modal{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;width:32px;height:32px;font-size:16px;line-height:1;transition:background-color .15s,border-color .15s,color .15s}.btn-close-modal:hover{background:var(--canvas);color:var(--ink)}.movement-type-selector{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px;display:grid}.type-option{border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;text-align:left;background:#fff;flex-direction:column;padding:12px;transition:background-color .18s,border-color .18s,color .18s;display:flex}.type-option .type-icon{margin-bottom:6px;font-size:20px}.type-option strong{font-size:12.5px}.type-option small{color:var(--muted);margin-top:3px;font-size:10.5px;line-height:1.35}.type-option:hover{border-color:var(--subtle);background:var(--canvas)}.type-option.selected.exit{background:#fffbf2;border-color:#c49024;box-shadow:0 0 0 2px #c4902433}.type-option.selected.entry{background:#f2faf5;border-color:#0b7a47;box-shadow:0 0 0 2px #0b7a4733}.type-option.selected.return{background:#f2f7ff;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb2e}.type-option.selected.adjustment{background:#f8fafc;border-color:#64748b;box-shadow:0 0 0 2px #64748b33}.form-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex;position:relative}.form-group label{color:var(--ink-secondary);letter-spacing:.02em;font-size:11.5px;font-weight:800}.form-group label .req{color:#d33c2a}.field-label-with-help{align-items:center;gap:5px;display:inline-flex}.field-help-icon{display:inline-flex;position:relative}.field-help-trigger{color:#126239;cursor:help;font:inherit;background:#eef6f0;border:1px solid #90c7a3;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:11px;font-weight:800;line-height:1;display:inline-flex}.field-help-trigger:hover,.field-help-icon:focus-within .field-help-trigger{color:#fff;outline-offset:2px;background:#0b7a47;outline:2px solid #0b7a473d}.field-help-tooltip{color:#fff;opacity:0;pointer-events:none;visibility:hidden;z-index:20;background:#173b2b;border:1px solid #fff3;border-radius:8px;width:max-content;max-width:min(280px,100vw - 48px);padding:9px 10px;font-size:11px;font-weight:500;line-height:1.4;transition:opacity .16s,transform .16s;position:absolute;top:calc(100% + 7px);left:0;transform:translateY(-4px);box-shadow:0 12px 28px #0a1e1447}.field-help-icon:hover .field-help-tooltip,.field-help-icon:focus-within .field-help-tooltip{opacity:1;pointer-events:auto;visibility:visible;transform:translateY(0)}.form-group input,.form-group select{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);font:inherit;background:#fff;min-height:42px;padding:8px 12px;font-size:13.5px;transition:border-color .2s,box-shadow .2s}.form-group input:focus-visible,.form-group select:focus-visible{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow);outline:none}.form-grid-2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.signature-summary{background:#f2f8f4;border:1px solid #c7dfcf;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;margin:14px 0;padding:10px 12px;font-size:12px;font-weight:700;display:flex}.signature-canvas{cursor:crosshair;touch-action:none;background:#fff;border:1px dashed #93b5a0;border-radius:8px;width:100%;height:auto}.autocomplete-results{border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:50;background:#fff;flex-direction:column;max-height:220px;display:flex;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.autocomplete-item{cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #edf2ef;justify-content:space-between;align-items:center;padding:10px 14px;transition:background .15s;display:flex}.autocomplete-item:hover{background:var(--brand-soft)}.autocomplete-item strong{font-size:12.5px;display:block}.autocomplete-item small{color:var(--muted);font-size:11px}.autocomplete-item b{color:var(--brand-dark);white-space:nowrap;font-size:12px}.autocomplete-empty{color:var(--muted);margin:0;padding:12px 14px;font-size:12px}.inline-catalog-combobox{position:relative}.inline-catalog-combobox input{width:100%}.inline-catalog-options{border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:70;background:#fff;max-height:230px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.inline-catalog-options button{color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:#fff;border:0;border-bottom:1px solid #edf2ef;width:100%;min-height:42px;padding:10px 12px;display:block}.inline-catalog-options button:hover,.inline-catalog-options button:focus-visible{background:var(--brand-soft);outline:none}.inline-catalog-options .inline-catalog-create{color:var(--brand-dark);font-weight:800}.inline-catalog-options p{color:var(--muted);margin:0;padding:12px;font-size:12px}.conversion-preview{background:var(--brand-soft);border-radius:var(--radius-sm);color:var(--brand-dark);border:1px solid #0b7a472e;margin:2px 0 16px;padding:10px 12px;font-size:13px;line-height:1.45}.selected-product-preview{background:var(--brand-soft);border-radius:var(--radius-sm);color:var(--brand-dark);border:1px solid #0b7a4726;justify-content:space-between;margin-top:6px;padding:8px 12px;font-size:12px;display:flex}.total-cost-banner{border-radius:var(--radius-sm);background:linear-gradient(135deg,#fef9ee 0%,#fdf5e2 100%);border:1px solid #f1dda9;justify-content:space-between;align-items:center;margin-bottom:18px;padding:12px 16px;display:flex}.total-cost-banner span{color:#8b6715;text-transform:uppercase;font-size:12px;font-weight:800}.total-cost-banner strong{color:#8b6715;font-family:var(--font-display,"Playfair Display", Georgia, serif);font-variant-numeric:tabular-nums;font-size:18px}.modal-form-error{border-radius:var(--radius-sm);color:#a33b2d;background:#fdf2f0;border:1px solid #f5cfc9;margin-bottom:16px;padding:10px 14px;font-size:12px;font-weight:700}.counts-workspace .dashboard-heading{align-items:flex-start;gap:32px;padding-bottom:6px}.counts-workspace .dashboard-heading>div:first-child{min-width:0;max-width:680px}.counts-workspace .dashboard-heading small{max-width:68ch;margin-top:8px;line-height:1.5}.counts-heading-actions{grid-template-columns:auto auto;justify-content:end;align-items:center;gap:14px;display:grid}.counts-heading-actions .inventory-action{grid-column:1/-1;justify-self:stretch;min-height:44px;padding-inline:18px}.counts-heading-actions .inventory-action:only-child{grid-column:auto;justify-self:end}.counts-heading-actions .btn-cancel{min-height:44px;padding-inline:16px}.count-session-badge{color:#086b3b;background:#e6f6ec;border:1px solid #9bd3ad;border-radius:999px;justify-content:center;align-items:center;min-height:38px;padding:8px 12px;font-size:12px;font-weight:800;display:inline-flex}.counts-history{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;gap:10px;margin-top:18px;padding:15px 18px;display:grid}.counts-history>strong{color:var(--ink);font-size:13px}.counts-history ul{gap:7px;margin:0;padding:0;list-style:none;display:grid}.counts-history li{border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;padding-top:7px;display:flex}.counts-history li span{color:var(--ink-secondary);font-size:13px;font-weight:700}.counts-history li small,.counts-history p{color:var(--muted);margin:0;font-size:12px}.counts-workspace .inventory-catalog-controls{grid-template-columns:minmax(220px,1fr) auto;margin-bottom:22px}.count-sort-direction{box-sizing:border-box;justify-content:center;align-self:end;align-items:center;width:42px;min-height:42px;padding:0;font-size:16px;display:inline-flex;overflow:hidden}.counts-progress-panel{gap:18px;padding:22px;display:grid}.counts-progress-heading,.counts-report-header,.counts-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.counts-progress-heading div{gap:3px;display:grid}.counts-progress-heading small,.counts-progress-heading span,.counts-table-summary span,.counts-reconciliation-grid span{color:var(--muted);font-size:12px}.counts-progress-track{background:#e9f0ec;border-radius:999px;height:10px;overflow:hidden}.counts-progress-track span{background:var(--brand);border-radius:inherit;height:100%;transition:width .2s;display:block}.counts-status{border-left:3px solid var(--brand);color:var(--ink);background:#eef7f1;margin:0;padding:10px 12px;font-size:13px}.counts-table-summary{text-align:right;align-self:end;gap:3px;padding-bottom:6px;display:grid}.counts-workspace .inventory-table-container{margin-top:6px}.counts-workspace .inventory-data-table{table-layout:fixed;min-width:940px}.counts-workspace .inventory-data-table th{padding:13px 16px}.counts-workspace .inventory-data-table th:first-child{width:34%}.counts-workspace .inventory-data-table th:nth-child(2){width:17%}.counts-workspace .inventory-data-table th:nth-child(3),.counts-workspace .inventory-data-table th:nth-child(4){width:13%}.counts-workspace .inventory-data-table th:nth-child(5){width:14%}.counts-workspace .inventory-data-table th:nth-child(6){width:9%}.counts-workspace .table-link-button{appearance:none;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;gap:4px;width:100%;min-width:0;padding:0;display:grid}.counts-workspace .table-link-button strong,.counts-workspace .table-link-button small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.counts-workspace .table-link-button strong{transition:color .15s}.counts-workspace .table-link-button:hover strong{color:var(--brand)}.counts-workspace .table-link-button:focus-visible{outline:3px solid var(--brand-glow);outline-offset:4px;border-radius:4px}.counts-workspace .inventory-data-table td:nth-child(3),.counts-workspace .inventory-data-table td:nth-child(4),.counts-workspace .inventory-data-table td:nth-child(5),.counts-workspace .inventory-data-table td:nth-child(6){font-variant-numeric:tabular-nums;white-space:nowrap}.count-line-status{color:#966000;font-size:12px;font-weight:750}.count-line-status.is-counted{color:#087443}.counts-pagination{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.counts-pagination span{color:var(--muted);font-size:13px}.counts-reconciliation-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:6px 0 18px;display:grid}.counts-reconciliation-grid p{background:#f3f7f4;gap:4px;margin:0;padding:12px;display:grid}.counts-reconciliation-grid strong{color:var(--ink);font-size:19px}.counts-contributors{border-top:1px solid var(--line);gap:8px;margin-top:14px;padding-top:14px;display:grid}.counts-contributors ul{margin:0;padding-left:18px}.counts-confirmation{align-items:flex-start;gap:9px;margin-top:18px;display:flex}@media (max-width:760px){.counts-workspace .dashboard-heading{gap:20px}.counts-heading-actions{justify-content:stretch;width:100%}.counts-heading-actions .inventory-action{justify-self:stretch}.counts-reconciliation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.counts-table-summary{text-align:left;align-self:auto}}@media (max-width:640px){.counts-heading-actions{grid-template-columns:1fr}.counts-heading-actions .inventory-action,.counts-heading-actions .inventory-action:only-child{grid-column:auto;justify-self:stretch}.count-session-badge{justify-self:stretch}.counts-history li{flex-direction:column;align-items:flex-start;gap:3px}.counts-progress-panel{gap:16px;padding:18px}.counts-workspace .inventory-catalog-controls{grid-template-columns:1fr;margin-bottom:18px}.counts-workspace .inventory-data-table{min-width:820px}.counts-workspace .inventory-data-table td{height:auto;min-height:76px}.counts-workspace .table-link-button strong,.counts-workspace .table-link-button small{text-overflow:clip;white-space:normal;overflow:visible}}.btn-cancel{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink-secondary);cursor:pointer;background:0 0;padding:10px 18px;font-size:13px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s}.btn-cancel:hover{background:var(--canvas);border-color:var(--subtle)}@media (max-width:600px){.movement-type-selector,.form-grid-2{grid-template-columns:1fr}.modal-card{border-radius:var(--radius-md);max-height:calc(100dvh - 16px);padding:22px 18px}.modal-backdrop{align-items:flex-start;padding:8px}.modal-header{top:-22px}.count-open-modal .modal-header{margin:-22px -18px 14px;padding:18px 18px 14px}.article-detail-modal .modal-header{padding:18px 18px 14px;top:auto}.article-modal-content{padding:0 18px 22px}.article-detail-modal{max-width:calc(100vw - 16px)}.article-detail-modal .modal-header h3{max-width:calc(100vw - 112px)}.article-detail-modal .form-grid-2{grid-template-columns:minmax(0,1fr);gap:2px}.article-detail-modal .modal-actions{flex-direction:column-reverse;align-items:stretch}.article-detail-modal .modal-actions button{width:100%;min-height:44px}.selected-product-preview{flex-direction:column;align-items:flex-start;gap:4px}}.inventory-toast .inventory-toast-icon{background:var(--brand-soft);color:var(--brand-dark);border-radius:50%;flex:none;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.inventory-toast.error .inventory-toast-icon{color:#a33b2d;background:#fdf2f0}.inventory-toast .inventory-toast-icon .inventory-icon{width:15px;height:15px}.inventory-workspace-pro .modal-backdrop{overscroll-behavior:contain}.inventory-movement-modal{flex-direction:column;max-width:720px;max-height:calc(100dvh - 32px);padding:0;display:flex;overflow:hidden}.inventory-movement-modal .modal-header{border-bottom:1px solid var(--line);box-shadow:none;flex:none;align-items:center;margin:0;padding:20px 24px 16px;position:static;top:auto}.inventory-movement-modal .modal-header p{color:var(--muted);letter-spacing:.08em;font-size:10.5px}.inventory-movement-modal .modal-header h3{margin-top:3px;font-size:22px;line-height:1.2}.inventory-movement-modal .btn-close-modal{justify-content:center;align-items:center;min-width:44px;min-height:44px;transition:background-color .15s,color .15s;display:flex}.inventory-movement-modal .btn-close-modal .inventory-icon{width:18px;height:18px}.inventory-movement-form{flex-direction:column;flex:auto;min-height:0;display:flex}.inventory-movement-body{overscroll-behavior:contain;scrollbar-gutter:stable;flex:auto;min-height:0;padding:18px 24px 6px;overflow-y:auto}.inventory-movement-modal .movement-type-selector{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:16px}.inventory-movement-modal .type-option{border:1px solid var(--line);text-align:left;background:#fff;border-radius:8px;flex-direction:row;align-items:center;gap:10px;min-height:58px;padding:9px 11px;transition:background-color .16s,border-color .16s,color .16s;display:flex}.inventory-movement-modal .type-option:hover{background:#f7faf8;border-color:#b9ccc1}.inventory-movement-modal .type-option-radio{border:1.5px solid #aebfb5;border-radius:50%;flex:none;width:18px;height:18px}.inventory-movement-modal .type-option-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.inventory-movement-modal .type-option strong{color:var(--ink);font-size:13px;line-height:1.3}.inventory-movement-modal .type-option small{color:var(--muted);margin:0;font-size:11px;line-height:1.35}.inventory-movement-modal .type-option.selected,.inventory-movement-modal .type-option.selected.exit,.inventory-movement-modal .type-option.selected.entry,.inventory-movement-modal .type-option.selected.return,.inventory-movement-modal .type-option.selected.adjustment{background:var(--brand-soft);border-color:var(--brand);box-shadow:none}.inventory-movement-modal .type-option.selected .type-option-radio{background:var(--brand);border-color:var(--brand);box-shadow:inset 0 0 0 3px #fff}.inventory-movement-modal .type-option.selected strong{color:var(--brand-dark)}.inventory-movement-modal .form-group{gap:5px;margin-bottom:14px}.inventory-movement-modal .form-group label{letter-spacing:0;font-size:12px;font-weight:700}.inventory-movement-modal .form-group input,.inventory-movement-modal .form-group select{box-sizing:border-box;border-radius:7px;width:100%;min-height:44px;padding:9px 11px;font-size:13.5px}.inventory-movement-modal .form-group>small{color:var(--muted);font-size:11px;line-height:1.4}.inventory-movement-modal .form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.inventory-product-search-group,.inventory-product-search{position:relative}.inventory-movement-modal .autocomplete-results{z-index:5;max-height:min(240px,38dvh)}.inventory-movement-modal .selected-product-preview{color:var(--ink-secondary);background:#f5f8f6;border:1px solid #dfe9e3;border-radius:7px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:4px 16px;margin-top:5px;padding:8px 10px;line-height:1.4;display:flex}.inventory-movement-modal .selected-product-preview b{color:var(--ink)}.inventory-movement-modal .total-cost-banner{background:#f5f8f6;border:1px solid #dfe9e3;border-radius:7px;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 14px;margin-bottom:14px;padding:10px 12px;display:flex}.inventory-movement-modal .total-cost-banner span{color:var(--ink-secondary);letter-spacing:0;text-transform:none;font-size:11.5px;font-weight:700}.inventory-movement-modal .total-cost-banner strong{color:var(--ink);font-family:var(--font-sans,Inter, system-ui, sans-serif);font-variant-numeric:tabular-nums;font-size:16px;font-weight:750}.inventory-movement-modal .modal-form-error{color:#97372a;background:#fdf2f0;border:1px solid #f1cdc6;border-radius:7px;margin:0 0 12px;padding:9px 11px;font-size:12px;font-weight:600;line-height:1.45}.inventory-movement-modal .inventory-movement-actions{border-top:1px solid var(--line);padding:13px 24px calc(14px + env(safe-area-inset-bottom));background:#fff;flex:none;gap:10px;margin:0}.inventory-movement-modal .inventory-movement-actions .btn-cancel,.inventory-movement-modal .inventory-movement-actions .inventory-action{min-height:46px}.inventory-movement-modal .inventory-movement-actions .inventory-action{min-width:0}.inventory-movement-modal .btn-cancel{transition:background-color .15s,border-color .15s,color .15s}@media (max-width:640px){.inventory-movement-modal{max-height:calc(100dvh - 16px)}.inventory-movement-modal .modal-header{padding:16px 18px 13px}.inventory-movement-modal .modal-header h3{font-size:20px}.inventory-movement-body{padding:16px 18px 4px}.inventory-movement-modal .inventory-movement-actions{padding:12px 18px calc(12px + env(safe-area-inset-bottom));flex-direction:column}.inventory-movement-modal .inventory-movement-actions .btn-cancel,.inventory-movement-modal .inventory-movement-actions .inventory-action{width:100%}}@media (max-width:480px){.inventory-movement-modal .movement-type-selector,.inventory-movement-modal .form-grid-2{grid-template-columns:minmax(0,1fr)}.inventory-movement-modal .type-option{min-height:54px}}.counts-workspace{--count-surface:#fff;--count-muted-surface:#f6f9f7;--count-rule:#e4ebe7}.counts-workspace .dashboard-heading{border-bottom:1px solid var(--count-rule);align-items:center;margin-bottom:20px;padding:0 0 20px}.counts-workspace .dashboard-heading h1{font-family:var(--font-sans,Inter, system-ui, sans-serif);letter-spacing:-.035em;font-size:clamp(22px,2.2vw,28px);font-weight:700}.counts-workspace .dashboard-heading small{color:var(--muted);margin-top:6px;font-size:13px}.counts-heading-actions{grid-template-columns:auto auto auto;gap:8px}.counts-heading-actions .inventory-action,.counts-heading-actions .btn-cancel,.count-session-badge{min-height:36px}.counts-heading-actions .inventory-action{grid-column:auto;padding-inline:14px}.counts-heading-actions .btn-cancel{padding-inline:12px}.count-session-badge{background:var(--count-muted-surface);border-color:#bfdbc9;border-radius:6px;padding:6px 10px;font-weight:700}.counts-progress-panel{background:var(--count-surface);box-shadow:none;align-content:start;gap:12px;padding:20px 22px}.counts-progress-heading{align-items:end;gap:24px}.counts-progress-heading>strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:15px}.counts-progress-track{background:#e7efea;border-radius:4px;height:8px}.counts-progress-track span{border-radius:4px}.counts-progress-panel .panel-intro{max-width:none;margin:0}.counts-progress-panel>small.panel-intro,.counts-progress-panel>label.panel-intro{color:var(--muted);font-size:12px}.counts-progress-panel>label.panel-intro{align-items:center;gap:6px;margin-top:2px;display:inline-flex}.counts-progress-panel .counts-status{margin-top:2px}.counts-workspace>.dashboard-panel:not(.counts-progress-panel){box-shadow:none;padding:20px 22px}.counts-workspace .inventory-catalog-controls{grid-template-columns:minmax(280px,1fr) auto auto;align-items:end;gap:16px;margin:0 0 16px}.counts-workspace .inventory-catalog-controls label{color:var(--ink-secondary);letter-spacing:0;font-size:12px;font-weight:650}.counts-workspace .inventory-catalog-controls input{border-radius:6px;min-height:38px}.counts-table-summary{min-height:38px;padding-bottom:0}.counts-workspace .inventory-table-container{border-color:var(--count-rule);border-radius:8px;margin-top:0}.counts-workspace .inventory-data-table thead{border-bottom-color:var(--count-rule);background:0 0}.counts-workspace .inventory-data-table th{letter-spacing:0;text-transform:none;padding:11px 14px;font-size:12px;font-weight:650}.counts-workspace .inventory-data-table td{height:68px;padding:12px 14px}.counts-workspace .inventory-data-table tbody tr{border-bottom-color:var(--count-rule)}.counts-workspace .inventory-data-table tbody tr:hover{background:#f7faf8}.count-line-status{background:#fff8e8;border-radius:4px;padding:3px 6px;font-size:11px;display:inline-flex}.count-line-status.is-counted{background:#edf8f1}.count-line-status.is-difference{color:#a2412f;background:#fff1ed}@media (max-width:760px){.counts-workspace .dashboard-heading{align-items:flex-start}.counts-heading-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.counts-workspace .inventory-catalog-controls{grid-template-columns:1fr auto}.counts-workspace .search-field{grid-column:1/-1}}.count-line-modal{max-height:min(88dvh,860px);overflow:hidden}.count-line-modal .modal-header,.count-line-modal .modal-actions{flex:none}.count-line-modal .count-line-modal-body{overscroll-behavior:contain;min-height:0;padding:0 32px 8px;overflow:hidden auto}.count-line-modal .modal-actions{background:#fff;margin:0;padding:16px 32px 20px}.count-line-modal .count-form-section{border-top:1px solid var(--border,#dbe7df);margin-top:1rem;padding-top:1rem}.count-line-modal .count-form-section h4{letter-spacing:.04em;text-transform:uppercase;color:var(--forest,#174b32);margin:0 0 .7rem;font-size:.86rem}.count-line-modal textarea{resize:vertical;min-height:72px}.signature-capture-modal{flex-direction:column;max-width:min(720px,100vw - 32px);max-height:calc(100dvh - 32px);padding:0;display:flex;overflow:hidden}.signature-capture-modal .modal-header{flex:none;margin:0;padding:24px 28px 18px;position:relative;top:auto}.signature-capture-modal>.panel-intro{flex:none;margin:0;padding:16px 28px 12px}.signature-capture-modal .signature-canvas{box-sizing:border-box;touch-action:none;flex:auto;width:calc(100% - 56px);max-width:calc(100% - 56px);height:min(42dvh,360px);margin:0 28px;display:block}.signature-capture-modal .modal-actions{background:#fff;flex:none;margin:0;padding:16px 28px 24px}@media (max-width:600px){.count-line-modal{border-radius:14px;height:calc(100dvh - 16px);max-height:none}.count-line-modal .count-line-modal-body{padding:0 18px 8px}.count-line-modal .modal-actions{padding:14px 18px max(18px, env(safe-area-inset-bottom))}.signature-capture-modal{border-radius:14px;max-width:calc(100vw - 16px);height:calc(100dvh - 16px);max-height:none}.signature-capture-modal .modal-header{padding:18px 20px 14px}.signature-capture-modal>.panel-intro{padding:14px 20px 10px}.signature-capture-modal .signature-canvas{width:calc(100% - 40px);max-width:calc(100% - 40px);height:min(48dvh,420px);margin:0 20px}.signature-capture-modal .modal-actions{padding:14px 20px max(18px, env(safe-area-inset-bottom));flex-direction:column-reverse;align-items:stretch;gap:10px}.signature-capture-modal .modal-actions button{width:100%;min-height:48px}}.counts-workspace .count-single-branch{background:var(--count-muted-surface,#f6f9f7);border:1px solid var(--count-rule,#e4ebe7);border-radius:10px;gap:3px;margin:14px 0;padding:12px 14px;display:grid}.counts-workspace .count-single-branch span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:700}.counts-workspace .count-single-branch strong{color:var(--ink)}.counts-workspace .count-single-branch small{color:var(--muted)}.counts-workspace .count-branch-warning{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;margin:14px 0;padding:12px 14px}.count-progress-hero{border:1px solid var(--brand);gap:16px;padding:20px;display:grid}@supports (color:color-mix(in lab, red, red)){.count-progress-hero{border:1px solid color-mix(in srgb, var(--brand) 18%, var(--line))}}.count-progress-hero{background:linear-gradient(135deg,#f7fbf8 0%,#eef7f1 100%);border-radius:16px}.count-progress-copy{gap:2px;display:grid}.count-progress-copy>span{color:var(--brand-dark,#075a38);letter-spacing:.11em;text-transform:uppercase;font-size:.7rem;font-weight:800}.count-progress-copy>strong{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.06em;font-size:clamp(2rem,5vw,3rem);line-height:1}.count-progress-copy>small{color:var(--muted);font-size:.85rem}.count-progress-premium-track{background:#dce9e0;height:14px;padding:3px;box-shadow:inset 0 1px 2px #0839231f}.count-progress-premium-track span{background:linear-gradient(90deg,#087f4b 0%,#18a866 65%,#65c98e 100%);min-width:0;transition:width .26s;box-shadow:0 3px 8px #087f4b3d}.count-progress-metrics{border-top:1px solid #087f4b24;grid-template-columns:repeat(3,minmax(0,1fr));padding-top:14px;display:grid}.count-progress-metrics p{border-left:1px solid #087f4b24;gap:3px;margin:0;padding:0 14px;display:grid}.count-progress-metrics p:first-child{border-left:0;padding-left:0}.count-progress-metrics p:last-child{padding-right:0}.count-progress-metrics strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.1rem}.count-progress-metrics span{color:var(--muted);font-size:.75rem}@media (max-width:560px){.count-progress-hero{padding:16px}.count-progress-metrics p{padding:0 9px}.count-progress-metrics strong{font-size:1rem}}.inventory-workspace-pro{flex-direction:column;gap:22px;display:flex}.header-actions{gap:12px;display:flex}.inventory-action.secondary{border:1px solid var(--line);box-shadow:var(--shadow-xs);color:var(--ink);background:#fff}.inventory-action.secondary:hover{background:var(--canvas);border-color:var(--subtle);transform:translateY(-1px)}.inventory-summary-cards{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.stat-card{border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;justify-content:space-between;min-height:120px;padding:18px 20px;transition:transform .18s,border-color .18s;display:flex}.stat-card:hover{border-color:#bcd0c5}.stat-card span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.stat-card strong{color:var(--ink);font-family:var(--font-display,"Playfair Display", Georgia, serif);font-variant-numeric:tabular-nums;letter-spacing:-.03em;margin:10px 0 4px;font-size:28px}.stat-card small{color:var(--muted);font-size:11.5px}.stat-card.valuation strong{color:var(--brand-dark)}.stat-card.project-costs strong{color:#b07e1a}.inventory-tabs-nav{border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);background:#fff;gap:6px;padding:6px;display:flex}.inventory-tab-icon{flex:none;width:17px;height:17px}.tab-btn{border-radius:var(--radius-sm);color:var(--ink-secondary);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:10px 18px;font-size:13px;font-weight:700;transition:background .18s,color .18s;display:inline-flex}.tab-btn:hover{background:var(--canvas);color:var(--ink)}.tab-btn.active{background:var(--brand-soft);color:var(--brand-dark)}.tab-badge{color:#a33b2d;background:#fdf2f0;border:1px solid #f5cfc9;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:800}.inventory-catalog-controls{grid-template-columns:1.6fr 1fr 1fr 140px;gap:14px;margin:20px 0;display:grid}.inventory-catalog-controls label{color:var(--ink-secondary);letter-spacing:.02em;gap:6px;font-size:11px;font-weight:800;display:grid}.search-field{position:relative}.catalog-live-results{border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:60;background:#fff;flex-direction:column;max-height:260px;display:flex;position:absolute;top:calc(100% - 1px);left:0;right:0;overflow-y:auto}.inventory-settings-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-top:24px;display:grid}.inventory-settings-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.inventory-settings-form label{grid-column:1/-1}.inventory-settings-form input,.inventory-settings-form button{min-height:42px}.inventory-catalog-controls input,.inventory-catalog-controls select{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);font:inherit;background:#fff;min-height:42px;padding:8px 12px;font-size:13px;transition:border-color .2s,box-shadow .2s}.inventory-catalog-controls input:focus-visible,.inventory-catalog-controls select:focus-visible{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow);outline:none}.inventory-table-container{border:1px solid var(--line);border-radius:var(--radius-sm);overflow-x:auto}.inventory-data-table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.inventory-data-table thead{background:var(--canvas);border-bottom:1px solid var(--line)}.inventory-data-table th{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;padding:12px 14px;font-size:10.5px;font-weight:800}.inventory-data-table tbody tr{border-bottom:1px solid #edf2ef;transition:background-color .15s}.inventory-data-table tbody tr:hover{background-color:#0b7a4706}.inventory-data-table td{vertical-align:middle;padding:12px 14px}.inventory-data-table td strong{color:var(--ink);font-size:13.5px;font-weight:600;display:block}.inventory-data-table td small{color:var(--muted);margin-top:2px;font-size:11px;display:block}.location-tag,.group-tag{background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink-secondary);padding:3px 8px;font-size:11px;font-weight:600;display:inline-block}.stock-quantity{font-size:14px}.stock-min-hint{color:var(--muted);font-size:10.5px;display:block}.status-pill{border-radius:999px;padding:4px 10px;font-size:10.5px;font-weight:700;display:inline-block}.status-pill.ok{background:var(--brand-soft);color:var(--brand-dark)}.status-pill.low{background:var(--accent-soft);color:#8c6310}.status-pill.out{color:#a33b2d;background:#fdf2f0}.deficit-badge{color:#8b6715;background:#fff8e8;border:1px solid #f1dda9;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700}.row-actions{justify-content:flex-end;gap:6px;display:flex}.btn-row-action{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink-secondary);cursor:pointer;background:#fff;padding:5px 9px;font-size:11.5px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s}.btn-row-action:hover{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-dark)}.pagination-bar{justify-content:space-between;align-items:center;margin-top:18px;display:flex}.btn-page{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);cursor:pointer;background:#fff;padding:8px 16px;font-size:12.5px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s}.btn-page:hover:not(:disabled){background:var(--brand-soft);border-color:var(--brand);color:var(--brand-dark)}.btn-page:disabled{opacity:.5;cursor:not-allowed}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:20px;margin-top:24px;display:grid}.project-card{border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;padding:24px;transition:border-color .2s,transform .2s;display:flex}.project-card:hover{border-color:#bcd0c5}.project-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:18px;display:flex}.project-code{background:var(--brand-soft);border-radius:var(--radius-sm);color:var(--brand-dark);letter-spacing:.05em;margin-bottom:6px;padding:3px 8px;font-size:11px;font-weight:800;display:inline-block}.project-card-header h3{letter-spacing:-.01em;font-size:17px;font-weight:700;line-height:1.25}.project-meta{color:var(--muted);margin-top:4px;font-size:12px}.project-meta b{color:var(--ink)}.project-status{text-transform:uppercase;border-radius:999px;padding:4px 9px;font-size:10px;font-weight:800}.project-status.active{color:#078f55;background:#e9f8ef}.project-financials{background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius-sm);grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px;padding:14px;display:grid}.fin-metric span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:800;display:block}.fin-metric strong{font-family:var(--font-display,"Playfair Display", Georgia, serif);font-variant-numeric:tabular-nums;margin-top:4px;font-size:16px;display:block}.fin-metric strong.active-cost{color:#b07e1a}.fin-metric strong.over-cost{color:#b9412d}.budget-progress-container{margin-bottom:20px}.budget-progress-labels{justify-content:space-between;margin-bottom:6px;font-size:11.5px;font-weight:700;display:flex}.budget-progress-track{background:var(--canvas);border-radius:99px;height:8px;overflow:hidden}.budget-progress-bar{border-radius:99px;height:100%;transition:width .3s}.budget-progress-bar.ok{background:linear-gradient(90deg,#0b7a47 0%,#1db86f 100%)}.budget-progress-bar.warning{background:linear-gradient(90deg,#c49024 0%,#e5aa2b 100%)}.budget-progress-bar.danger{background:linear-gradient(90deg,#d33c2a 0%,#e65b4b 100%)}.project-materials-summary h4{color:var(--ink-secondary);text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:800}.project-items-list{gap:8px;margin:0 0 20px;padding:0;list-style:none;display:grid}.project-items-list li{border-bottom:1px solid #edf2ef;justify-content:space-between;align-items:center;padding-bottom:6px;font-size:12px;display:flex}.project-items-list b{display:block}.project-items-list small{color:var(--muted)}.item-cost{font-family:var(--font-display,"Playfair Display", Georgia, serif);font-variant-numeric:tabular-nums;font-size:13.5px;font-weight:700}.no-items{color:var(--muted);margin-bottom:16px;font-size:12px;font-style:italic}.project-card-footer{margin-top:auto}.btn-despachar-obra{background:var(--brand-soft);border-radius:var(--radius-sm);color:var(--brand-dark);cursor:pointer;border:1px solid #0b7a4733;justify-content:center;align-items:center;width:100%;padding:10px;font-size:12.5px;font-weight:700;transition:background-color .18s,border-color .18s,color .18s;display:flex}.btn-despachar-obra:hover{background:var(--brand);border-color:var(--brand);color:#fff}.mov-badge{border-radius:var(--radius-sm);padding:4px 8px;font-size:11px;font-weight:800}.mov-badge.entry{background:var(--brand-soft);color:var(--brand-dark)}.mov-badge.exit{color:#936814;background:#fff8e8}.mov-badge.return{color:#1d4ed8;background:#eff6ff}.mov-badge.transfer{color:#6d28d9;background:#f5f3ff}.mov-badge.adjustment{color:#475569;background:#f1f5f9}.qty-indicator.pos{color:#0b7a47;font-weight:700}.qty-indicator.neg{color:#c49024;font-weight:700}.cost-exit{color:#b07e1a}.cost-entry{color:#0b7a47}.dest-tag{border-radius:var(--radius-sm);color:#1e4d36;background:#f0f7f3;padding:3px 8px;font-size:11.5px;font-weight:600}.dest-tag.almacén{color:#475569;background:#f1f5f9}.mov-notes{color:var(--muted);font-style:italic}@media (max-width:1100px){.inventory-summary-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width:800px){.inventory-tabs-nav{flex-wrap:wrap}.inventory-catalog-controls{grid-template-columns:1fr 1fr}.projects-grid{grid-template-columns:1fr}}@media (max-width:540px){.inventory-summary-cards,.inventory-catalog-controls,.project-financials{grid-template-columns:1fr}}.writeoffs-panel{flex-direction:column;gap:1rem;display:flex}.writeoffs-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.writeoffs-header h3{margin:0 0 .25rem;font-size:1.05rem}.writeoffs-header p{color:var(--text-muted,#6b7280);max-width:62ch;margin:0;font-size:.82rem}.writeoffs-toggle{border:1px solid var(--brand,#1f6f4a);background:var(--brand,#1f6f4a);color:#fff;min-height:44px;font:inherit;cursor:pointer;border-radius:10px;padding:.5rem 1rem;font-weight:700}.writeoffs-toggle.is-open{color:var(--brand-dark,#14503a);background:#fff}.writeoffs-summary{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin:0;display:grid}.writeoffs-summary>div{background:#f8faf9;border:1px solid #e2e8f0;border-radius:10px;padding:.6rem .75rem}.writeoffs-summary dt{text-transform:uppercase;letter-spacing:.03em;color:#64748b;font-size:.72rem}.writeoffs-summary dd{color:#0f172a;margin:.2rem 0 0;font-size:1.1rem;font-weight:800}.writeoffs-form,.writeoffs-threshold{background:#fbfdfc;border:1px solid #dbe7e1;border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:start;gap:.85rem;padding:1rem;display:grid}.writeoffs-threshold{margin-top:0}.writeoffs-field{flex-direction:column;gap:.3rem;display:flex}.writeoffs-field.is-wide{grid-column:1/-1}.writeoffs-field>span{color:#334155;font-size:.76rem;font-weight:700}.writeoffs-field>small{color:#64748b;font-size:.72rem}.writeoffs-field input,.writeoffs-field select,.writeoffs-field textarea{min-height:44px;font:inherit;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:8px;width:100%;padding:.5rem .6rem}.writeoffs-field textarea{resize:vertical;min-height:64px}.writeoffs-estimate{background:#ecfdf5;border:1px solid #a7f3d0;border-radius:10px;flex-wrap:wrap;grid-column:1/-1;align-items:baseline;gap:.6rem;padding:.6rem .75rem;display:flex}.writeoffs-estimate strong{color:#065f46;font-size:1.05rem}.writeoffs-estimate small{color:#065f46;flex:100%;font-size:.75rem}.writeoffs-estimate.is-over{background:#fff7ed;border-color:#fdba74}.writeoffs-estimate.is-over strong,.writeoffs-estimate.is-over small{color:#9a3412}.writeoffs-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;grid-column:1/-1;margin:0;padding:.6rem .75rem;font-size:.8rem}.writeoffs-form-actions{flex-wrap:wrap;grid-column:1/-1;gap:.6rem;display:flex}.writeoffs-form-actions button,.writeoffs-threshold button{border:1px solid var(--brand,#1f6f4a);background:var(--brand,#1f6f4a);color:#fff;min-height:44px;font:inherit;cursor:pointer;border-radius:10px;padding:.5rem 1rem;font-weight:700}.writeoffs-ghost{color:#334155!important;background:#fff!important;border-color:#cbd5e1!important}.writeoffs-form-actions button:disabled,.writeoffs-threshold button:disabled{opacity:.55;cursor:not-allowed}.writeoffs-status{white-space:nowrap;border-radius:999px;padding:.15rem .5rem;font-size:.72rem;font-weight:800;display:inline-block}.writeoffs-status.is-applied{color:#166534;background:#dcfce7}.writeoffs-status.is-pending_approval{color:#92400e;background:#fef3c7}.writeoffs-status.is-approved{color:#1e40af;background:#dbeafe}.writeoffs-status.is-rejected{color:#991b1b;background:#fee2e2}.writeoffs-status.is-draft{color:#475569;background:#f1f5f9}.writeoffs-flag{color:#92400e;margin-top:.2rem;font-size:.68rem;font-weight:700;display:block}.writeoffs-actions{flex-wrap:wrap;gap:.35rem;display:flex}.writeoffs-actions button{min-width:44px;min-height:44px;font:inherit;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:.35rem .7rem;font-size:.76rem;font-weight:700}.writeoffs-rejection-row td{background:#fffbeb}@media (max-width:640px){.writeoffs-form,.writeoffs-threshold{grid-template-columns:1fr;padding:.75rem}.writeoffs-actions button{width:100%}}.inventory-workspace-pro{gap:20px}.inventory-workspace-pro .dashboard-heading{border-bottom:1px solid var(--line);align-items:flex-start;gap:28px;padding-bottom:20px}.inventory-heading-copy{min-width:0;max-width:760px}.inventory-workspace-pro .dashboard-heading p{letter-spacing:.1em;margin-bottom:7px;font-size:11px}.inventory-workspace-pro .dashboard-heading h1{font-size:clamp(1.9rem,3vw,2.5rem);line-height:1.08}.inventory-workspace-pro .dashboard-heading small{max-width:72ch;margin-top:8px;font-size:13.5px;line-height:1.55}.inventory-heading-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:10px;display:flex}.inventory-workspace-pro .inventory-action{box-shadow:none;min-width:0;min-height:44px;padding:10px 16px;font-size:13px;transition:background-color .16s,border-color .16s,color .16s,transform .16s}.inventory-workspace-pro .inventory-action:hover{box-shadow:none;transform:none}.inventory-workspace-pro .inventory-action.primary{background:var(--brand);border:1px solid var(--brand);color:#fff}.inventory-workspace-pro .inventory-action.primary:hover{background:var(--brand-dark);border-color:var(--brand-dark)}.inventory-workspace-pro .inventory-action.secondary{border:1px solid var(--line);color:var(--ink-secondary);background:#fff}.inventory-workspace-pro .inventory-action.secondary:hover{color:var(--ink);background:#f6f9f7;border-color:#b9ccc1}.inventory-workspace-pro .inventory-action:disabled,.inventory-workspace-pro .btn-cancel:disabled{cursor:not-allowed;opacity:.62}.inventory-session-notice{color:var(--muted);margin:-8px 0 0;font-size:11.5px;line-height:1.45}.inventory-feedback{border-radius:var(--radius-sm);margin:0;padding:10px 12px;font-size:12.5px;line-height:1.45}.inventory-feedback.error{color:#97372a;background:#fdf2f0;border:1px solid #f1cdc6}.inventory-metric-grid{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;grid-template-columns:1.2fr .9fr 1.1fr .9fr;display:grid;overflow:hidden}.inventory-metric{border-left:1px solid var(--line);flex-direction:column;gap:3px;min-width:0;padding:14px 18px;display:flex}.inventory-metric:first-child{border-left:0}.inventory-metric-label{color:var(--muted);font-size:11.5px;font-weight:650;line-height:1.3}.inventory-metric strong{color:var(--ink);font-family:var(--font-sans,Inter, system-ui, sans-serif);font-variant-numeric:tabular-nums;letter-spacing:-.025em;overflow-wrap:anywhere;font-size:clamp(1.18rem,2.1vw,1.7rem);font-weight:750;line-height:1.12}.inventory-metric small{color:var(--muted);font-size:11px;line-height:1.35}.inventory-metric.is-alert{background:#fffaf0}.inventory-metric.is-alert .inventory-metric-label,.inventory-metric.is-alert strong{color:#7d560c}.inventory-workspace-pro .inventory-tabs-nav{flex-wrap:wrap;align-items:center;gap:12px;padding:7px;display:flex;overflow:visible}.inventory-tabs-primary{flex:430px;gap:4px;min-width:0;display:flex}.inventory-tabs-secondary{border-left:1px solid var(--line);align-items:center;gap:2px;padding-left:10px;display:flex}.inventory-tabs-label{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;padding:0 5px;font-size:10.5px;font-weight:750}.inventory-workspace-pro .tab-btn{border:1px solid #0000;gap:7px;min-height:44px;padding:9px 13px;font-size:13px;transition:background-color .16s,border-color .16s,color .16s}.inventory-workspace-pro .tab-btn:hover{background:#f6f9f7}.inventory-workspace-pro .tab-btn.active{background:var(--brand-soft);color:var(--brand-dark);border-color:#c4ddcf;font-weight:800}.inventory-tabs-secondary .tab-btn{color:var(--muted);padding:9px 10px;font-size:12.5px}.inventory-tabs-secondary .tab-btn.active{border-color:var(--line);color:var(--ink);background:#f3f6f4}.inventory-icon{flex:none;width:16px;height:16px}.tab-label{min-width:0}.tab-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.tab-btn.active .tab-count{color:var(--brand-dark)}.inventory-workspace-pro .tab-badge{color:#865b0b;font-variant-numeric:tabular-nums;background:#fff3e0;border-color:#e8cfa4;line-height:1.4}.inventory-workspace-pro .dashboard-panel{box-shadow:none}.inventory-panel-title{align-items:flex-start;gap:18px}.inventory-panel-title>div:first-child{min-width:0}.inventory-workspace-pro .panel-title p{letter-spacing:.08em;font-size:10.5px}.inventory-panel-summary{color:var(--muted);margin-top:6px;font-size:12px;display:block}.inventory-panel-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.inventory-workspace-pro .panel-intro b{color:var(--ink);font-variant-numeric:tabular-nums}.inventory-workspace-pro .inventory-catalog-controls{grid-template-columns:minmax(0,1fr);gap:10px;margin:18px 0;display:grid}.inventory-workspace-pro .inventory-catalog-controls label{color:var(--ink-secondary);letter-spacing:0;gap:5px;font-size:11.5px;font-weight:700}.inventory-workspace-pro .inventory-catalog-controls input,.inventory-workspace-pro .inventory-catalog-controls select,.inventory-workspace-pro .inventory-movement-controls select{border:1px solid var(--line);color:var(--ink);font:inherit;background:#fff;border-radius:7px;width:100%;min-height:44px;padding:8px 11px;font-size:13px;transition:border-color .16s,box-shadow .16s}.inventory-workspace-pro .inventory-catalog-controls input:hover,.inventory-workspace-pro .inventory-catalog-controls select:hover,.inventory-workspace-pro .inventory-movement-controls select:hover{border-color:#b9ccc1}.inventory-search-field{position:relative}.inventory-search-field input{font-size:14px}.inventory-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.inventory-movement-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:760px;margin:18px 0;display:grid}.inventory-movement-controls label{color:var(--ink-secondary);gap:5px;font-size:11.5px;font-weight:700;display:grid}.inventory-table-scroll-hint{color:var(--muted);margin:10px 0 0;font-size:11.5px;line-height:1.4;display:none}.inventory-workspace-pro .inventory-table-container{scrollbar-color:#b9ccc1 transparent;scrollbar-width:thin;border-radius:8px;overflow-x:auto}.inventory-workspace-pro .inventory-data-table{border-collapse:collapse;width:100%;font-size:13px}.inventory-workspace-pro .inventory-data-table thead{border-bottom:1px solid var(--line);background:#f7faf8}.inventory-workspace-pro .inventory-data-table th{color:var(--ink-secondary);letter-spacing:0;text-align:left;text-transform:none;vertical-align:bottom;white-space:nowrap;padding:11px 12px;font-size:12px;font-weight:750}.inventory-workspace-pro .inventory-data-table tbody tr{border-bottom:1px solid #eaf0ec}.inventory-workspace-pro .inventory-data-table tbody tr:last-child{border-bottom:0}.inventory-workspace-pro .inventory-data-table tbody tr:hover{background:#fafcfb}.inventory-workspace-pro .inventory-data-table td{color:var(--ink-secondary);vertical-align:middle;padding:12px}.inventory-workspace-pro .inventory-data-table td strong{color:var(--ink);font-size:13px;font-weight:650;line-height:1.35}.inventory-workspace-pro .inventory-data-table td small{color:var(--muted);margin-top:3px;font-size:11.5px;line-height:1.35}.inventory-workspace-pro .is-numeric,.inventory-workspace-pro .cell-numeric{font-variant-numeric:tabular-nums;text-align:right}.inventory-workspace-pro .is-center,.inventory-workspace-pro .cell-status{text-align:center}.inventory-workspace-pro .is-actions,.inventory-workspace-pro .cell-actions{text-align:right}.inventory-catalog-table{table-layout:fixed;min-width:1000px}.inventory-catalog-table th:first-child{width:27%}.inventory-catalog-table th:nth-child(2){width:12%}.inventory-catalog-table th:nth-child(3){width:14%}.inventory-catalog-table th:nth-child(4){width:11%}.inventory-catalog-table th:nth-child(5),.inventory-catalog-table th:nth-child(6){width:10%}.inventory-catalog-table th:nth-child(7){width:16%}.inventory-catalog-table .cell-item strong{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.inventory-catalog-table .cell-item small{overflow-wrap:anywhere}.location-tag,.inventory-workspace-pro .group-tag{color:var(--ink-secondary);overflow-wrap:anywhere;background:#f5f8f6;border:1px solid #e0e9e3;border-radius:6px;max-width:100%;padding:3px 7px;font-size:11px;font-weight:600;display:inline-block}.stock-quantity{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px}.stock-min-hint{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:2px;font-size:10.5px;display:block}.inventory-workspace-pro .status-pill{white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700;line-height:1.35;display:inline-block}.inventory-workspace-pro .status-pill.ok{color:#08633b;background:#eef7f2;border-color:#c4dfcf}.inventory-workspace-pro .status-pill.low{color:#7f5a0e;background:#fff9ed;border-color:#e9d5a8}.inventory-workspace-pro .status-pill.out{color:#97372a;background:#fdf1ef;border-color:#f0c9c2}.row-actions{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:end;gap:6px;display:grid}.btn-row-action{border:1px solid var(--line);color:var(--ink-secondary);cursor:pointer;font:inherit;background:#fff;border-radius:6px;min-width:0;min-height:44px;padding:6px 8px;font-size:11.5px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s}.btn-row-action:hover{background:var(--brand-soft);color:var(--brand-dark);border-color:#a9cbb8}.btn-row-action.subtle{color:var(--muted)}.pending-cost{color:#8a5b08;font-size:11.5px;font-weight:700}.inventory-table-footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding-top:13px;display:flex}.pagination-summary{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12.5px}.pagination-summary b{color:var(--ink);font-weight:700}.inventory-workspace-pro .pagination-bar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-top:0;display:flex}.inventory-workspace-pro .btn-page{min-height:44px;transition:background-color .15s,border-color .15s,color .15s}.inventory-empty-cell{color:var(--muted)!important;text-align:center!important;padding:36px 16px!important}.inventory-lowstock-table{table-layout:fixed;min-width:900px}.inventory-lowstock-table th:first-child{width:25%}.inventory-lowstock-table th:nth-child(2){width:12%}.inventory-lowstock-table th:nth-child(3){width:13%}.inventory-lowstock-table th:nth-child(4),.inventory-lowstock-table th:nth-child(5){width:10%}.inventory-lowstock-table th:nth-child(6){width:17%}.inventory-lowstock-table th:nth-child(7){width:13%}.inventory-kardex-table{table-layout:fixed;min-width:1000px}.inventory-kardex-table th:first-child{width:10%}.inventory-kardex-table th:nth-child(2){width:19%}.inventory-kardex-table th:nth-child(3){width:9%}.inventory-kardex-table th:nth-child(4){width:8%}.inventory-kardex-table th:nth-child(5){width:12%}.inventory-kardex-table th:nth-child(6){width:14%}.inventory-kardex-table th:nth-child(7){width:10%}.inventory-kardex-table th:nth-child(8){width:18%}.mov-date{color:var(--ink-secondary);font-variant-numeric:tabular-nums;font-size:11.5px;line-height:1.4;display:block}.inventory-workspace-pro .mov-badge{color:var(--ink-secondary);white-space:nowrap;background:#f4f7f5;border:1px solid #dde7e1;border-radius:6px;padding:3px 8px;font-size:11.5px;font-weight:700;line-height:1.35;display:inline-block}.inventory-workspace-pro .mov-badge.exit{color:#7a5510;background:#fffaf0;border-color:#e7d4ad}.inventory-workspace-pro .mov-badge.adjustment{color:#455a50;background:#f7f8f8;border-color:#dce5e0}.inventory-workspace-pro .qty-indicator{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px;font-weight:700}.balance-value{color:var(--ink-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.balance-empty{color:var(--muted);font-size:11.5px}.inventory-workspace-pro .dest-tag{color:var(--ink-secondary);overflow-wrap:anywhere;background:#f5f8f6;border:1px solid #e0e9e3;border-radius:6px;max-width:20ch;padding:3px 7px;font-size:11.5px;font-weight:600;display:inline-block}.inventory-workspace-pro .dest-tag.is-warehouse{color:var(--muted)}.inventory-workspace-pro .cell-reference strong{overflow-wrap:anywhere;display:block}.inventory-workspace-pro .mov-notes{color:var(--muted);overflow-wrap:anywhere;margin-top:3px;font-size:11px;font-style:normal;line-height:1.35;display:block}.inventory-workspace-pro .mov-notes-long{-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:30ch;display:-webkit-box;overflow:hidden}.inventory-workspace-pro .mov-cost{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:1px 8px;display:flex}.inventory-workspace-pro .mov-cost span{white-space:nowrap}.inventory-workspace-pro .cell-cost strong{font-variant-numeric:tabular-nums;white-space:nowrap;display:block}.inventory-workspace-pro .cell-cost small{font-variant-numeric:tabular-nums;white-space:nowrap}.inventory-workspace-pro .project-card{box-shadow:none;transition:border-color .18s}.inventory-workspace-pro .project-status,.inventory-workspace-pro .fin-metric span{letter-spacing:0;text-transform:none;font-size:11px}.inventory-workspace-pro .budget-progress-bar.ok{background:#0b7a47}.inventory-workspace-pro .budget-progress-bar.warning{background:#b98212}.inventory-workspace-pro .budget-progress-bar.danger{background:#b9412d}.budget-warning-label{color:#97372a;font-weight:700}.stock-critical{color:#97372a;font-variant-numeric:tabular-nums}.stock-low{color:#7f5a0e;font-variant-numeric:tabular-nums}.inventory-workspace-pro button:focus-visible,.inventory-workspace-pro a:focus-visible,.inventory-workspace-pro input:focus-visible,.inventory-workspace-pro select:focus-visible,.inventory-workspace-pro textarea:focus-visible{outline-offset:2px;outline:3px solid #0b7a4757}@media (max-width:1100px){.inventory-heading.is-inventory{flex-direction:column}.inventory-heading.is-inventory .inventory-heading-actions{justify-content:flex-start;width:100%}.inventory-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-metric:nth-child(odd){border-left:0}.inventory-metric:nth-child(n+3){border-top:1px solid var(--line)}.inventory-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.inventory-table-scroll-hint{display:block}}@media (max-width:900px){.inventory-workspace-pro .dashboard-heading{gap:18px}.inventory-heading-actions{justify-content:flex-start}.inventory-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-workspace-pro .inventory-tabs-nav{align-items:stretch}.inventory-tabs-primary{flex:100%}.inventory-tabs-secondary{border-left:0;border-top:1px solid var(--line);width:100%;padding-top:7px;padding-left:0}}@media (max-width:760px){.inventory-workspace-pro .dashboard-heading{flex-direction:column}.inventory-heading-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.inventory-heading-actions .inventory-action{width:100%}.inventory-heading-actions .inventory-action.primary{order:-1;grid-column:1/-1}.inventory-tabs-primary,.inventory-tabs-secondary{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;width:100%;display:grid}.inventory-tabs-label{grid-column:1/-1;padding:1px 5px 2px}.inventory-workspace-pro .tab-btn{justify-content:center;padding:8px 6px;font-size:12.5px}.inventory-tabs-secondary .tab-btn{font-size:12px}.inventory-workspace-pro .tab-count{display:none}.inventory-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-workspace-pro .inventory-table-footer{flex-direction:column;align-items:stretch}.inventory-workspace-pro .pagination-bar{justify-content:space-between;width:100%}.inventory-workspace-pro .btn-page,.inventory-workspace-pro .btn-row-action{min-height:44px}.inventory-catalog-table{table-layout:auto;min-width:0}.inventory-catalog-table thead{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.inventory-catalog-table tbody,.inventory-catalog-table tr,.inventory-catalog-table td{width:100%;display:block}.inventory-catalog-table tr{border-bottom:1px solid #eaf0ec;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:6px 14px;padding:13px 2px;display:grid}.inventory-catalog-table td{border:0;padding:0}.inventory-catalog-table td:before{color:var(--muted);content:attr(data-label);margin-bottom:2px;font-size:10.5px;font-weight:700;display:block}.inventory-catalog-table .cell-item{grid-column:1/-1}.inventory-catalog-table .cell-item strong{-webkit-line-clamp:unset;display:block;overflow:visible}.inventory-catalog-table .cell-location{grid-column:1}.inventory-catalog-table .cell-group{text-align:right;grid-column:2}.inventory-catalog-table .cell-group:before{text-align:right}.inventory-catalog-table .cell-cost{text-align:left;grid-column:1}.inventory-catalog-table .cell-cost:before,.inventory-catalog-table .cell-stock:before{text-align:right}.inventory-catalog-table .cell-stock{text-align:right;grid-column:2}.inventory-catalog-table .cell-status{text-align:left;grid-column:1/-1}.inventory-catalog-table .cell-actions{text-align:left;grid-column:1/-1;margin-top:2px}.inventory-catalog-table .row-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-catalog-panel .inventory-table-scroll-hint,.low-stock-panel .inventory-table-scroll-hint{display:none}.inventory-lowstock-table{table-layout:auto;min-width:0}.inventory-lowstock-table thead{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.inventory-lowstock-table tbody,.inventory-lowstock-table tr,.inventory-lowstock-table td{width:100%;display:block}.inventory-lowstock-table tr{border-bottom:1px solid #eaf0ec;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:6px 14px;padding:13px 2px;display:grid}.inventory-lowstock-table td{border:0;padding:0}.inventory-lowstock-table td:before{color:var(--muted);content:attr(data-label);margin-bottom:2px;font-size:10.5px;font-weight:700;display:block}.inventory-lowstock-table .cell-item{grid-column:1/-1}.inventory-lowstock-table .cell-location{grid-column:1}.inventory-lowstock-table .cell-group{text-align:right;grid-column:2}.inventory-lowstock-table .cell-group:before,.inventory-lowstock-table .cell-minimum:before{text-align:right}.inventory-lowstock-table .cell-stock{text-align:left;grid-column:1}.inventory-lowstock-table .cell-minimum{text-align:right;grid-column:2}.inventory-lowstock-table .cell-deficit,.inventory-lowstock-table .cell-actions{text-align:left;grid-column:1/-1}.inventory-lowstock-table .cell-actions .btn-row-action{width:100%}.inventory-empty-row{padding:0!important;display:block!important}}@media (max-width:820px){.inventory-movements-panel .inventory-table-scroll-hint{display:none}.inventory-kardex-table{table-layout:auto;min-width:0}.inventory-kardex-table thead{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.inventory-kardex-table tbody,.inventory-kardex-table tr,.inventory-kardex-table td{width:100%;display:block}.inventory-kardex-table tr{border-bottom:1px solid #eaf0ec;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:7px 14px;padding:14px 2px;display:grid}.inventory-kardex-table td{border:0;padding:0}.inventory-kardex-table td:before{color:var(--muted);content:attr(data-label);margin-bottom:2px;font-size:10.5px;font-weight:700;display:block}.inventory-kardex-table .cell-date{grid-area:1/1}.inventory-kardex-table .cell-type{text-align:right;grid-area:1/2}.inventory-kardex-table .cell-type:before{text-align:right}.inventory-kardex-table .cell-item{grid-area:2/1/auto/-1}.inventory-kardex-table .cell-balance{text-align:left;grid-area:3/1}.inventory-kardex-table .cell-quantity{text-align:right;grid-area:3/2}.inventory-kardex-table .cell-quantity:before,.inventory-kardex-table .cell-responsible:before,.inventory-kardex-table .cell-cost:before{text-align:right}.inventory-kardex-table .cell-destination{grid-area:4/1}.inventory-kardex-table .cell-responsible{text-align:right;grid-area:4/2}.inventory-kardex-table .cell-reference{border-top:1px solid #edf2ef;grid-area:5/1/auto/-1;margin-top:2px;padding-top:8px}.inventory-kardex-table .cell-cost{text-align:right;border-top:1px solid #edf2ef;grid-area:6/1/auto/-1;padding-top:8px}.inventory-workspace-pro .mov-notes-long{-webkit-line-clamp:unset;max-width:none;display:block;overflow:visible}.inventory-workspace-pro .dest-tag{max-width:none}.inventory-empty-row{padding:0!important;display:block!important}}@media (max-width:640px){.inventory-workspace-pro{gap:16px}.inventory-session-notice{display:none}.inventory-workspace-pro .inventory-catalog-controls{margin:16px 0}.inventory-filter-grid{grid-template-columns:1fr}.inventory-movement-controls{grid-template-columns:1fr;margin:16px 0}.inventory-panel-title{flex-direction:column}.inventory-panel-actions{justify-content:flex-start;width:100%}.inventory-panel-actions .inventory-action{width:100%}.inventory-metric{gap:2px;min-height:68px;padding:11px 13px}.inventory-metric small{display:none}.inventory-metric strong{font-size:1.35rem}.inventory-settings-form{grid-template-columns:minmax(0,1fr)}.inventory-settings-form button{width:100%}.inventory-workspace-pro .pagination-bar{gap:6px}.inventory-workspace-pro .btn-page{padding-inline:12px}}@media (max-width:380px){.inventory-heading-actions .inventory-action{padding-inline:8px;font-size:12px}.inventory-heading-actions .inventory-action.primary{grid-column:1/-1}.inventory-workspace-pro .tab-btn{gap:4px;padding:8px 4px;font-size:11.5px}.inventory-workspace-pro .tab-btn .inventory-icon{width:14px;height:14px}.inventory-tabs-secondary .tab-btn{font-size:11px}}@media (prefers-reduced-motion:reduce){.inventory-workspace-pro *,.inventory-workspace-pro :before,.inventory-workspace-pro :after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.quotes-workspace{min-width:0;max-width:1600px;margin:0 auto;padding:28px 32px 40px}.quotes-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.quotes-header-left h1{font-family:var(--font-display,"Playfair Display", Georgia, serif);letter-spacing:-.03em;color:var(--ink);font-size:26px}.quotes-title-with-help{align-items:center;gap:9px;display:flex}.quote-help{vertical-align:middle;z-index:6;display:inline-flex;position:relative}.quote-help-trigger{color:#126239;cursor:help;background:#eef6f0;border:1px solid #90c7a3;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-family:Georgia,serif;font-size:13px;font-weight:800;line-height:1;display:inline-flex}.quote-help-trigger:hover,.quote-help:focus-within .quote-help-trigger{color:#fff;outline-offset:2px;background:#0b7a47;outline:2px solid #0b7a473d}.quote-help-popover{color:#fff;opacity:0;pointer-events:none;visibility:hidden;z-index:60;background:#173b2b;border:1px solid #fff3;border-radius:9px;gap:7px;width:320px;max-width:min(340px,100vw - 20px);padding:13px 14px;transition:opacity .16s,transform .16s;display:grid;position:fixed;top:0;left:0;transform:translateY(-4px);box-shadow:0 12px 28px #0a1e1447}.quote-help:hover .quote-help-popover,.quote-help:focus-within .quote-help-popover{opacity:1;pointer-events:auto;visibility:visible;transform:translateY(0)}.quote-help-popover{text-align:left}.quote-help-popover>strong:first-child{margin-bottom:3px;font-size:12px;display:block}.quote-help-popover strong{font-size:12px}.quote-help-popover span{color:#d9ecdf;font-size:11px;line-height:1.38}.quote-help-popover b{color:#fff}.quote-help.is-compact{margin-left:6px}.quote-help.is-compact .quote-help-trigger{width:20px;height:20px;font-size:11px}.quote-help.is-compact .quote-help-popover{top:calc(100% + 7px);left:auto;right:0}.quotes-subtitle{color:var(--muted);margin-top:4px;font-size:14px}.quotes-header-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}@media (min-width:769px){.quotes-header{justify-content:flex-start}.quotes-header-actions{margin-left:4px}}.quote-action-toast{color:#ecfdf5;border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);z-index:1000;background:#065f46;align-items:center;gap:12px;padding:12px 18px;font-size:13px;font-weight:700;animation:.25s ease-out slideInToast;display:flex;position:fixed;top:24px;right:28px}.quote-action-toast button{color:#a7f3d0;cursor:pointer;background:0 0;border:0;font-size:14px}@keyframes slideInToast{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}.quotes-pipeline-kpi{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:20px;display:grid}.kpi-block{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);flex-direction:column;gap:4px;padding:14px 18px;display:flex;box-shadow:0 1px 3px #00000008}.kpi-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:700}.kpi-value{color:var(--brand-dark);font-size:20px;font-weight:800}.quotes-view-toggle{background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius-sm);display:inline-flex;overflow:hidden}.quotes-toggle-btn{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;transition:background .2s,color .2s;display:inline-flex}.quotes-toggle-btn.active{background:var(--brand);color:#fff}.quotes-toggle-btn:hover:not(.active){background:var(--brand-soft);color:var(--brand-dark)}.quotes-new-btn{background:var(--brand);border-radius:var(--radius-sm);color:#fff;cursor:pointer;white-space:nowrap;border:0;padding:10px 18px;font-size:13px;font-weight:700;transition:background .2s,transform .15s}.quotes-new-btn:hover{background:var(--brand-dark)}.quotes-new-btn:active{transform:scale(.97)}.quotes-new-btn:disabled{opacity:.5;cursor:not-allowed}.quotes-cancel-btn{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;background:0 0;padding:10px 18px;font-size:13px;font-weight:600;transition:background .2s}.quotes-cancel-btn:hover{background:var(--canvas);color:var(--ink)}.quotes-summary-bar{scrollbar-width:thin;gap:8px;margin-bottom:16px;padding-bottom:4px;display:flex;overflow-x:auto}.quotes-summary-chip{background:var(--surface);border:1.5px solid var(--line);cursor:pointer;white-space:nowrap;border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:600;transition:border-color .2s,background .2s,box-shadow .2s;display:inline-flex}.quotes-summary-chip:hover{border-color:var(--chip-color);background:var(--chip-color)}@supports (color:color-mix(in lab, red, red)){.quotes-summary-chip:hover{background:color-mix(in srgb, var(--chip-color) 8%, white)}}.quotes-summary-chip.active{border-color:var(--chip-color);background:var(--chip-color)}@supports (color:color-mix(in lab, red, red)){.quotes-summary-chip.active{background:color-mix(in srgb, var(--chip-color) 12%, white)}}.quotes-summary-chip.active{box-shadow:0 0 0 3px var(--chip-color)}@supports (color:color-mix(in lab, red, red)){.quotes-summary-chip.active{box-shadow:0 0 0 3px color-mix(in srgb, var(--chip-color) 15%, transparent)}}.chip-icon{font-size:14px}.chip-count{color:var(--ink);text-align:center;min-width:16px;font-weight:800}.quotes-search-bar{align-items:center;gap:12px;margin-bottom:20px;display:flex}.quotes-search-input{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);outline:none;flex:1;max-width:460px;padding:10px 14px;font-size:14px;transition:border-color .2s,box-shadow .2s}.quotes-search-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow)}.quotes-clear-filter{background:var(--accent-soft);color:#8a6d1e;cursor:pointer;white-space:nowrap;border:1px solid #e8d5a8;border-radius:16px;padding:6px 14px;font-size:12px;font-weight:700}.kanban-board{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-gutter:stable both-edges;scrollbar-width:thin;gap:14px;min-width:0;max-width:100%;padding:0 2px 22px;scroll-padding-inline:2px;display:flex;overflow-x:auto}.kanban-column{background:var(--canvas)}@supports (color:color-mix(in lab, red, red)){.kanban-column{background:color-mix(in srgb, var(--canvas) 60%, white)}}.kanban-column{border:1px solid var(--line);border-radius:var(--radius-md);scroll-snap-align:start;flex-direction:column;flex-shrink:0;width:250px;min-height:380px;display:flex}.kanban-column-header{border-bottom:2px solid var(--col-color);box-sizing:border-box;align-items:center;gap:8px;height:52px;padding:8px 14px;display:flex}.kanban-col-label{-webkit-line-clamp:2;-webkit-box-orient:vertical;align-items:center;line-height:1.18;display:-webkit-box;overflow:hidden}.kanban-col-icon{font-size:16px}.kanban-col-label{color:var(--ink);font-size:13px;font-weight:700}.kanban-col-count{background:var(--col-color);color:#fff;text-align:center;border-radius:10px;min-width:20px;margin-left:auto;padding:3px 6px;font-size:11px;font-weight:800;line-height:1}.kanban-column-body{flex-direction:column;flex:1;gap:10px;padding:10px;display:flex}.kanban-empty{color:var(--subtle);text-align:center;padding:24px 8px;font-size:12px}.kanban-card{border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;background:#fff;flex-direction:column;padding:12px 14px;transition:box-shadow .2s,border-color .2s,transform .15s;display:flex}.kanban-card:hover{border-color:var(--brand);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.kanban-card--stale{border-left:4px solid #f59e0b}.kanban-card-top{justify-content:space-between;align-items:center;gap:6px;margin-bottom:6px;display:flex}.kanban-code-rev{align-items:center;gap:6px;display:flex;overflow:hidden}.kanban-card-code{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:190px;font-family:monospace;font-size:11px;font-weight:700;overflow:hidden}.badge-revision{color:#6d28d9;background:#ede9fe;border-radius:4px;padding:1px 5px;font-size:10px;font-weight:800}.kanban-card-title{color:var(--ink);margin:0;font-size:13px;font-weight:700;line-height:1.35}.kanban-card-client{color:var(--ink-secondary);margin:4px 0 6px;font-size:12px}.kanban-card-tags{flex-wrap:wrap;gap:4px;margin-bottom:6px;display:flex}.quote-tag{border-radius:4px;align-items:center;padding:2px 6px;font-size:10px;font-weight:700;text-decoration:none;display:inline-flex}.quote-tag--valid{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.quote-tag--expiring{color:#b45309;background:#fffbeb;border:1px solid #fde68a}.quote-tag--expired{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.quote-tag--visit-pending{color:#374151;background:#f3f4f6;border:1px solid #d1d5db}.quote-tag--visit-done{color:#0369a1;background:#e0f2fe;border:1px solid #bae6fd}.quote-tag--folder{color:#92400e;background:#fef3c7;border:1px solid #fcd34d}.quote-tag--folder:hover{background:#fde68a}.kanban-mini-breakdown{background:var(--canvas);color:var(--muted);border-radius:4px;gap:6px;margin-bottom:6px;padding:4px 8px;font-size:10px;display:flex}.mini-bk-item{font-weight:600}.kanban-card-meta{color:var(--muted);justify-content:space-between;align-items:center;margin-top:4px;font-size:11px;display:flex}.kanban-card-value{color:var(--brand-dark);font-size:12px;font-weight:800}.kanban-linked-project{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:4px;margin-top:6px;padding:3px 6px;font-size:11px}.kanban-card-action{color:var(--accent);white-space:nowrap;text-overflow:ellipsis;margin-top:6px;font-size:11px;font-weight:600;overflow:hidden}.kanban-card-advance{background:var(--adv-color)}@supports (color:color-mix(in lab, red, red)){.kanban-card-advance{background:color-mix(in srgb, var(--adv-color) 10%, white)}}.kanban-card-advance{border:1px solid var(--adv-color)}@supports (color:color-mix(in lab, red, red)){.kanban-card-advance{border:1px solid color-mix(in srgb, var(--adv-color) 30%, white)}}.kanban-card-advance{color:var(--adv-color);cursor:pointer;text-align:left;border-radius:6px;width:100%;margin-top:8px;padding:5px 8px;font-size:11px;font-weight:700;transition:background .2s}.kanban-card-advance:hover{background:var(--adv-color)}@supports (color:color-mix(in lab, red, red)){.kanban-card-advance:hover{background:color-mix(in srgb, var(--adv-color) 18%, white)}}.quotes-list-container{overflow-x:auto}.quotes-list-table{border-collapse:collapse;width:100%;min-width:960px;font-size:13px}.quotes-list-table th{background:var(--canvas);border-bottom:2px solid var(--line);color:var(--muted);letter-spacing:.05em;text-align:left;text-transform:uppercase;white-space:nowrap;padding:10px 14px;font-size:11px;font-weight:800}.quotes-list-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:12px 14px}.quotes-list-table tbody tr:hover{background:var(--brand-soft)}.quotes-list-table tbody tr.row-stale{background:#fffbeb}.cell-code{color:var(--muted);white-space:nowrap;font-family:monospace;font-size:11px;font-weight:700}.cell-sub-obra{color:#166534;font-size:11px;font-weight:700}.btn-table-print{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:4px;padding:4px 6px;font-size:13px}.btn-table-print:hover{background:var(--canvas)}.tag-visit-ok{color:#0284c7;font-size:11px;font-weight:700}.tag-visit-wait{color:#d97706;font-size:11px;font-weight:700}.tag-exp-ok{color:#059669;font-size:11px;font-weight:700}.tag-exp-warn{color:#d97706;font-size:11px;font-weight:700}.tag-exp-bad{color:#dc2626;font-size:11px;font-weight:700}.quote-modal-backdrop{-webkit-backdrop-filter:blur(4px);z-index:100;background:#00000073;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.quote-modal{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);background:#fff;width:100%;max-width:780px;max-height:90vh;padding:28px 32px;overflow-y:auto}.quote-modal--new{max-width:620px}.quote-modal-header{z-index:12;box-shadow:0 1px 0 var(--line), 0 10px 18px #10312312;background:#fff;justify-content:space-between;align-items:center;margin:-28px -32px 14px;padding:20px 32px 14px;display:flex;position:sticky;top:-28px}.modal-actions,.apu-actions-bar,.tab-actions-bar{z-index:11;position:sticky;bottom:0}.modal-actions{border-top:1px solid var(--line);background:#fff;margin:20px -32px -28px;padding:14px 32px;box-shadow:0 -10px 18px #10312312}.quote-modal-header>div{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.quote-modal-code{color:var(--ink);font-family:monospace;font-size:14px;font-weight:800}.quote-modal-close{color:var(--muted);cursor:pointer;background:0 0;border:0;width:36px;height:36px;font-size:20px}.quote-modal-close:hover{color:var(--ink)}.quote-modal-title{font-family:var(--font-display,"Playfair Display", Georgia, serif);letter-spacing:-.02em;color:var(--ink);margin-bottom:16px;font-size:22px}.quote-modal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.quote-field{border:1px solid var(--line);background:linear-gradient(135deg, var(--canvas), var(--surface));border-radius:10px;gap:5px;min-width:0;padding:12px 13px;display:grid}.quote-field-label{color:var(--muted);letter-spacing:.035em;text-transform:uppercase;font-size:11px;font-weight:800;line-height:1.2}.quote-field-value{color:var(--ink);overflow-wrap:anywhere;font-size:14px;font-weight:650;line-height:1.45}.quote-field .link-folder{color:var(--brand-dark);overflow-wrap:anywhere;font-size:14px;font-weight:750;line-height:1.4;text-decoration:none}.quote-field .link-folder:hover,.quote-field .link-folder:focus-visible{outline:none;text-decoration:underline}.quote-apu-guidance{color:#714c00;background:#fff9ec;border:1px dashed #f2c66d;border-radius:8px;align-items:center;gap:9px;padding:10px 12px;font-size:12px;line-height:1.4;display:flex}.quote-modal-action-bar{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.action-pill-btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.btn-print{color:#1e293b;background:#f8fafc;border-color:#cbd5e1}.btn-print:hover{background:#f1f5f9}.btn-revision{color:#6b21a8;background:#faf5ff;border-color:#e9d5ff}.btn-revision:hover{background:#f3e8ff}.btn-convert{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.btn-convert:hover{background:#d1fae5}.btn-apu{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.btn-apu:hover{background:#ffedd5}.btn-apu-readonly{color:#475569;background:#f8fafc;border-color:#cbd5e1}.btn-view-project{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.btn-view-project:hover{background:#dbeafe}.revision-prompt-box{background:#f5f3ff;border:1px solid #ddd6fe;border-radius:8px;margin-bottom:18px;padding:14px 18px}.revision-prompt-box h4{color:#5b21b6;margin:0 0 6px;font-size:14px}.revision-prompt-box p{color:#4c1d95;margin:0 0 10px;font-size:12px}.revision-input{border:1px solid #c4b5fd;border-radius:6px;width:100%;margin-bottom:10px;padding:8px 12px;font-size:13px}.revision-actions{justify-content:flex-end;gap:8px;display:flex}.quote-modal-tabs{border-bottom:2px solid var(--line);gap:6px;margin-bottom:18px;display:flex;overflow-x:auto}.quote-tab-btn{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 14px;font-size:13px;font-weight:700;transition:all .2s}.quote-tab-btn:hover{color:var(--ink)}.quote-tab-btn.active{color:var(--brand);border-bottom-color:var(--brand)}.quote-tab-content{padding-top:6px}.tab-intro{color:var(--muted);margin-bottom:16px;font-size:13px}.cost-breakdown-editor{background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius-md);padding:18px}.cost-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:10px 0;display:flex}.cost-row label{flex-direction:column;gap:2px;display:flex}.cost-row label span{color:var(--ink);font-size:13px;font-weight:700}.cost-row label small{color:var(--muted);font-size:11px}.input-currency{border:1px solid var(--line);background:#fff;border-radius:6px;align-items:center;width:170px;padding:6px 10px;display:flex}.input-currency span{color:var(--muted);margin-right:4px;font-weight:700}.input-currency input{text-align:right;width:100%;color:var(--brand-dark);border:0;outline:none;font-size:14px;font-weight:700}.cost-total-row{justify-content:space-between;align-items:center;padding:14px 0 6px;font-size:15px;font-weight:700;display:flex}.cost-total-row strong{color:var(--brand-dark);font-size:18px}.visit-editor{background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius-md);padding:18px}.checkbox-field{color:var(--ink);cursor:pointer;align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.checkbox-field input{width:16px;height:16px}.quote-info-banner{color:#14532d;background:#f0fdf4;border-left:3px solid #16a34a;border-radius:6px;margin-bottom:14px;padding:10px 14px;font-size:13px}.quote-modal-next-action{background:var(--accent-soft);border-left:3px solid var(--accent);color:#6b5116;border-radius:6px;margin-bottom:14px;padding:10px 14px;font-size:13px}.quote-modal-notes{background:var(--canvas);color:var(--ink-secondary);border-radius:6px;margin-bottom:14px;padding:10px 14px;font-size:13px}.link-folder{color:#0284c7;font-size:13px;font-weight:700;text-decoration:underline}.live-preview-code{color:var(--muted);margin-top:4px;font-size:12px}.live-preview-code strong{color:var(--brand-dark);font-family:monospace;font-size:13px}.new-quote-subgroup{background:var(--canvas);border:1px solid var(--line);border-radius:6px;margin:6px 0;padding:12px 14px}.subgroup-title{color:var(--ink);margin-bottom:8px;font-size:12px;font-weight:700;display:block}.printable-backdrop{overscroll-behavior:contain;padding:20px;overflow-y:auto}.printable-proposal-wrapper{border-radius:var(--radius-lg);width:100%;max-width:900px;box-shadow:var(--shadow-lg);background:#f8fafc;margin:auto;overflow:clip}.print-controls{color:#fff;z-index:30;background:#1e293b;justify-content:space-between;align-items:center;padding:12px 24px;display:flex;position:sticky;top:0;box-shadow:0 2px 10px #0f172a47}.print-controls-left{align-items:center;gap:12px;display:flex}.print-controls-left strong{font-size:14px}.print-controls-left span{color:#94a3b8;font-family:monospace;font-size:12px}.print-controls-right{gap:8px;display:flex}.print-bottom-actions{border-top:1px solid #d7dce3;justify-content:flex-end;margin-top:28px;padding-top:18px;display:flex}@media (max-width:640px){.printable-backdrop{padding:8px}.print-controls{flex-direction:column;align-items:stretch;gap:9px;padding:10px 12px}.print-controls-left{justify-content:space-between}.print-controls-right{grid-template-columns:1fr 1fr;display:grid}.print-controls-right button,.print-bottom-actions button{min-height:44px}.formal-proposal-sheet{padding:24px 16px}.print-bottom-actions{justify-content:stretch}.print-bottom-actions button{width:100%}}.formal-proposal-sheet{color:#1e293b;background:#fff;padding:48px;font-family:Arial,Helvetica,sans-serif;line-height:1.5}.proposal-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.company-name{letter-spacing:-.02em;color:#0f172a;margin:0;font-size:18px;font-weight:900}.company-sub{color:#475569;margin:4px 0;font-size:12px;font-weight:600}.company-meta{color:#64748b;margin:0;font-size:11px}.proposal-meta-box{text-align:right}.proposal-badge{color:#fff;letter-spacing:.05em;background:#0f172a;border-radius:4px;padding:4px 10px;font-size:11px;font-weight:800;display:inline-block}.proposal-code{color:#0f172a;margin-top:6px;font-family:monospace;font-size:14px;font-weight:800}.proposal-date{color:#64748b;margin-top:2px;font-size:11px}.proposal-divider{border:0;border-top:2px solid #0f172a;margin:16px 0 24px}.proposal-client-info{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px;padding:16px 20px;font-size:12px;display:grid}.proposal-client-info p{margin:2px 0}.client-name{color:#0f172a;font-size:14px;font-weight:800}.proposal-section{margin-bottom:24px}.section-title{text-transform:uppercase;color:#0f172a;letter-spacing:.03em;border-bottom:1px solid #e2e8f0;margin-bottom:10px;padding-bottom:6px;font-size:13px;font-weight:800}.proposal-description{color:#334155;text-align:justify;font-size:13px}.proposal-scope-notes{background:#f1f5f9;border-left:3px solid #64748b;margin-top:8px;padding:10px 14px;font-size:12px}.proposal-scope-notes p{margin:2px 0}.proposal-cost-table{border-collapse:collapse;width:100%;margin-top:8px;font-size:12px}.proposal-cost-table th{color:#fff;text-align:left;background:#0f172a;padding:8px 12px;font-size:11px}.proposal-cost-table td{border-bottom:1px solid #e2e8f0;padding:10px 12px}.proposal-total-row td{background:#f8fafc;border-top:2px solid #0f172a;border-bottom:2px solid #0f172a;font-size:14px;font-weight:800}.proposal-conditions-list{color:#475569;margin:6px 0;padding-left:20px;font-size:12px}.proposal-conditions-list li{margin-bottom:4px}.proposal-signatures{grid-template-columns:1fr 1fr;gap:40px;margin-top:60px;padding-top:20px;display:grid}.sig-box{text-align:center;font-size:12px}.sig-line{border-top:1px solid #475569;width:80%;margin-bottom:8px;margin-left:auto;margin-right:auto}.sig-box p{margin:2px 0}.sig-rfc-official{object-fit:contain;width:180px;height:52px;margin:0 auto 3px;display:block}.proposal-legacy{display:none}.premium-proposal-sheet{border:2px solid #111827;max-width:794px;min-height:1123px;margin:0 auto;padding:0;font-family:Arial,Helvetica,sans-serif}.premium-quote-header{text-align:center;border-bottom:1px solid #111827;grid-template-columns:110px 1fr 110px;align-items:center;min-height:92px;padding:10px 14px;display:grid}.premium-quote-header img{justify-self:center}.premium-quote-header div{grid-column:2}.premium-quote-header h1{color:#111827;margin:0 0 4px;font-size:17px}.premium-quote-header strong{font-size:13px}.premium-recipient{font-size:12px;display:grid}.premium-recipient>div{border-bottom:1px solid #111827;grid-template-columns:100px 1fr auto;align-items:center;min-height:28px;display:grid}.premium-recipient strong,.premium-recipient span,.premium-recipient b{padding:5px 8px}.premium-recipient b{text-align:center;border-left:1px solid #111827;min-width:132px}.premium-object{color:#102316;text-align:center;background:#a9d18e;border-bottom:1px solid #111827;margin:0;padding:11px 16px;font-size:15px;line-height:1.25}.premium-quote-table{border-collapse:collapse;width:100%;margin:0;font-size:11px}.premium-quote-table th,.premium-quote-table td{border-bottom:1px solid #111827;border-right:1px solid #111827;padding:8px 7px}.premium-quote-table th:last-child,.premium-quote-table td:last-child{border-right:0}.premium-quote-table th{color:#111827;text-align:center;background:#fff;font-size:10px}.premium-quote-table th:first-child{width:7%}.premium-quote-table th:nth-child(2){width:48%}.premium-quote-table th:nth-child(3){width:10%}.premium-quote-table th:nth-child(4){width:9%}.premium-quote-table th:nth-child(5),.premium-quote-table th:nth-child(6){width:13%}.premium-quote-table td:not(:nth-child(2)){text-align:center}.premium-quote-table tbody tr{height:42px}.premium-quote-table tfoot td{padding:7px 9px;font-weight:800}.premium-quote-table tfoot td:first-child{text-align:right;background:#e2efda}.premium-quote-table tfoot tr:not(:first-child) td:first-child{background:#fff}.premium-quote-table tfoot td:last-child{text-align:right;white-space:nowrap}.premium-quote-table .premium-grand-total td{font-size:12px}.premium-conditions{font-size:11px;font-weight:600}.premium-conditions p{border-bottom:1px solid #111827;min-height:28px;margin:0;padding:6px 8px}.premium-conditions strong{font-weight:900}.proposal-value-in-words{color:#173b2b;text-transform:uppercase;background:#f7fbf8;border:1px solid #b7d9c0;margin:14px 0 0;padding:10px 12px;font-size:11px;font-weight:700;line-height:1.45}.quote-proposal-notes-editor{background:#f6fbf7;border:1px solid #c4dfcc;border-radius:8px;gap:9px;margin-top:16px;padding:13px;display:grid}.quote-proposal-notes-editor label{gap:3px;display:grid}.quote-proposal-notes-editor label strong{color:var(--brand-dark);font-size:13px}.quote-proposal-notes-editor label small{color:var(--muted);font-size:11px}.quote-proposal-notes-editor textarea{border:1px solid var(--line);color:var(--ink);font:inherit;resize:vertical;background:#fff;border-radius:6px;min-height:76px;padding:9px 10px}.quote-proposal-notes-editor button{justify-self:start;min-height:40px}.quote-modal-history{margin-top:22px}.quote-modal-history h3{margin:0 0 13px;font-size:15px}.quote-history-timeline{gap:12px;display:grid;position:relative}.history-entry{grid-template-columns:20px minmax(0,1fr);gap:12px;display:grid;position:relative}.history-entry:not(:last-child):before{content:"";background:#d7e5dc;width:2px;height:calc(100% + 12px);position:absolute;top:17px;left:9px}.history-dot{z-index:1;border:4px solid #f6fbf7;border-radius:50%;width:14px;height:14px;margin-top:13px;display:block;position:relative;box-shadow:0 0 0 1px #14503029}.history-content{border:1px solid var(--line);background:#fff;border-radius:9px;gap:9px;min-width:0;padding:13px 14px;display:grid;box-shadow:0 2px 8px #122b1d0d}.history-meta{justify-content:space-between;align-items:start;gap:10px;display:flex}.history-meta strong{color:var(--ink);font-size:13px}.history-date{color:var(--ink-secondary);text-align:right;white-space:nowrap;font-size:11px;line-height:1.35}.history-change{color:#234a34;background:#f3f8f4;border-radius:6px;flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:8px 9px;font-size:12px;font-weight:750;display:flex}.history-note{color:#553f0c;white-space:pre-wrap;background:#fffbef;border-left:3px solid #d6a329;margin:0;padding:8px 10px;font-size:12px;line-height:1.45}.history-note:before{color:#936b0b;content:"Nota: ";letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:850}@media (max-width:640px){.history-entry{grid-template-columns:16px minmax(0,1fr);gap:9px}.history-entry:not(:last-child):before{left:7px}.history-dot{width:12px;height:12px;margin-top:14px}.history-content{padding:12px}.history-meta{flex-direction:column;align-items:start;gap:3px}.history-date{text-align:left;white-space:normal}.history-change{align-items:flex-start;font-size:12px;line-height:1.4}.history-note{font-size:13px}}.quote-modal-status-change{background:#f5faf6;border:1px solid #cae1d1;border-radius:9px;gap:10px;padding:14px;display:grid}.quote-modal-label{color:var(--brand-dark);font-size:12px;font-weight:800}.quote-modal-status-row{grid-template-columns:minmax(160px,.8fr) minmax(220px,1.4fr) auto;align-items:center;gap:9px;display:grid}.quote-modal-status-row .status-select,.quote-modal-note-input{border:1px solid var(--line);color:var(--ink);font:inherit;background:#fff;border-radius:6px;min-height:42px;padding:9px 10px}.quote-modal-status-row .quotes-new-btn{white-space:nowrap;min-height:42px}@media (max-width:760px){.quote-modal-status-row{grid-template-columns:1fr}.quote-modal-status-row .quotes-new-btn{width:100%}}.premium-signature-row{text-align:center;grid-template-columns:1.2fr .8fr;align-items:center;min-height:116px;display:grid}.premium-signature-row>div{border-right:1px solid #111827;min-height:116px}.premium-signature{flex-direction:column;justify-content:flex-end;align-items:center;padding:6px 12px;display:flex}.premium-signature img{object-fit:contain;width:190px;height:55px}.premium-signature strong{font-size:12px}.premium-signature span{font-size:10px;font-weight:700}.premium-signature-row>strong{padding:12px;font-size:11px}@media print{body *{visibility:hidden}.formal-proposal-sheet,.formal-proposal-sheet *{visibility:visible}.formal-proposal-sheet{width:100%;position:absolute;top:0;left:0;box-shadow:none!important;margin:0!important;padding:0!important}.premium-proposal-sheet{min-height:0;border:2px solid #111827!important}.no-print,.print-controls{display:none!important}}@media (max-width:768px){.quotes-workspace{padding:22px 16px 40px}.quotes-header-actions,.quotes-view-toggle{width:100%}.quotes-view-toggle .quotes-toggle-btn{flex:1;justify-content:center;min-height:44px}.quotes-new-btn{min-height:44px}.quotes-pipeline-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-modal-backdrop{align-items:flex-end;padding:0}.quote-modal{border-radius:18px 18px 0 0;max-height:92dvh;padding:22px 18px 28px}.quote-modal-action-bar{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.action-pill-btn{text-align:center;justify-content:center;min-height:44px}.cost-row{flex-direction:column;align-items:stretch;gap:8px}.input-currency{width:100%}.quote-modal-grid{grid-template-columns:1fr}.proposal-client-info,.proposal-signatures{grid-template-columns:1fr;gap:16px}.formal-proposal-sheet{padding:28px 20px}.kanban-board{scroll-snap-type:x proximity;gap:12px;margin-right:-4px;padding:0 4px 16px}.kanban-column{scroll-snap-align:start;width:min(82vw,320px);min-height:0}.kanban-card{padding:12px}.quotes-list-container{max-width:calc(100% + 8px);margin:0 -4px}.quote-modal-header{align-items:flex-start;gap:12px}.quote-modal-header>div{min-width:0}.quote-modal-code{overflow-wrap:anywhere}.quote-modal-tabs{scrollbar-width:thin;max-width:100%;overflow-x:auto}.quote-apu-guidance{grid-column:1/-1}}@media (max-width:480px){.quotes-workspace{padding:16px 12px 36px}.quotes-header-left h1{font-size:22px}.quotes-pipeline-kpi{grid-template-columns:1fr}.quote-modal-title{font-size:20px}.quote-modal-action-bar{grid-template-columns:1fr}.quote-modal-tabs{margin-left:-18px;margin-right:-18px;padding:0 18px}.quote-tab-btn{min-height:44px;padding:10px 12px}.cost-breakdown-editor,.visit-editor{padding:14px}.cost-total-row{flex-direction:column;align-items:flex-start;gap:6px}.quote-action-toast{top:12px;left:12px;right:12px}.formal-proposal-sheet{padding:22px 14px}.proposal-header{flex-direction:column;gap:12px}.proposal-meta-box{text-align:left}.quotes-header-actions{grid-template-columns:1fr;gap:8px;display:grid}.quotes-new-btn,.quotes-cancel-btn{width:100%}.kanban-column{width:calc(100vw - 40px)}.quote-modal{box-sizing:border-box;width:100%}.quote-modal-header h2{overflow-wrap:anywhere;font-size:19px}.quote-field{padding:11px 12px}.quote-apu-guidance{align-items:flex-start}}@media (max-width:768px){.quotes-workspace{overflow-x:hidden}.quotes-header-actions{grid-template-columns:1fr;display:grid}.quotes-view-toggle{background:0 0;border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid;overflow:visible}.quotes-toggle-btn{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);background:#fff;min-width:0;font-size:13px}.quotes-toggle-btn.active{background:var(--brand);border-color:var(--brand);color:#fff}.quotes-new-btn{color:#fff;justify-content:center;align-items:center;width:100%;min-height:46px;display:flex}.kanban-board{max-width:none;margin-left:-16px;margin-right:-16px;padding:0 16px 18px;scroll-padding-left:16px}.kanban-column{width:min(86vw,336px)}.quotes-summary-bar{flex-wrap:wrap;overflow:visible}.quotes-summary-chip{min-height:38px;padding-inline:11px}.kanban-board{scroll-snap-type:none;grid-template-columns:minmax(0,1fr);max-width:100%;margin:0;padding:0;display:grid;overflow:visible}.kanban-column{scroll-snap-align:none;width:100%;min-width:0}.kanban-column-body{min-width:0}}@media (min-width:769px) and (max-width:1100px){.quotes-workspace{padding:24px 20px 40px}.quotes-pipeline-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-modal{max-width:min(780px,100vw - 40px)}.quote-modal-action-bar{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.action-pill-btn{text-align:center;justify-content:center;min-height:44px}}.visit-alert{color:#92400e;background:#fffdf6;border:1px solid #fde68a;border-radius:8px;margin:0 0 12px;padding:10px 12px;font-size:13px}.visit-section{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.visit-section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.visit-section-head strong{color:var(--brand-dark);letter-spacing:.05em;text-transform:uppercase;font-size:12px;font-weight:850}.visit-section-head select{min-height:38px;padding:6px 8px}.visit-measurement-row{grid-template-columns:2fr .8fr .8fr 1.4fr auto;gap:8px;margin-bottom:8px;display:grid}.visit-measurement-row input{border:1px solid var(--line);font:inherit;border-radius:6px;width:100%;min-width:0;min-height:40px;padding:7px 9px}.visit-measurement-row button{white-space:nowrap;min-height:40px}.visit-photo-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:8px;display:grid}.visit-photo{background:var(--canvas);border:1px solid var(--line);border-radius:8px;margin:0;padding:6px;overflow:hidden}.visit-photo img{border-radius:6px;width:100%;height:auto;display:block}.visit-photo figcaption{justify-content:flex-end;margin-top:6px;display:flex}.visit-geo{color:var(--muted);margin:0;font-size:13px}.visit-signature-state{color:var(--brand-dark);font-size:12px;font-weight:800}.visit-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.visit-actions button{min-height:44px;padding:9px 14px}.visit-acta-sheet h2{margin:0 0 4px;font-size:17px}.visit-acta-sheet h3{letter-spacing:.05em;text-transform:uppercase;margin:16px 0 8px;font-size:13px}.visit-acta-block ul{margin:0;padding:0;list-style:none}.visit-acta-block li{border-bottom:1px solid var(--line);padding:6px 0;font-size:13px}.visit-acta-table{border-collapse:collapse;width:100%;margin-top:10px;font-size:13px}.visit-acta-table th,.visit-acta-table td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:8px 10px}.visit-acta-table th{background:var(--canvas);letter-spacing:.04em;text-transform:uppercase;width:22%;font-size:11px}.visit-acta-photos{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.visit-acta-photos img{border:1px solid var(--line);border-radius:6px;width:100%;height:auto}.visit-acta-signatures{grid-template-columns:1fr 1fr;align-items:flex-end;gap:16px;margin-top:26px;display:grid}.visit-acta-signatures span,.visit-acta-signatures small{font-size:12px;display:block}.visit-acta-signatures span{font-weight:800;text-decoration:underline}.visit-acta-signature-image{align-items:flex-end;min-height:80px;display:flex}.visit-acta-signature-image img{width:auto;max-height:120px}@media (max-width:760px){.visit-measurement-row{grid-template-columns:1fr}.visit-actions{flex-direction:column}.visit-actions button{width:100%}.visit-acta-signatures{grid-template-columns:1fr}}@media print{.visit-acta-sheet .visit-acta-table th,.visit-acta-sheet .visit-acta-table td{border-color:#cbd5e1}}.visit-requ{margin-top:8px}.visit-alert.is-info{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-dark)}.visit-requisition-modal{max-width:720px}.visit-requisition-lines{gap:14px;max-height:min(52vh,420px);margin:16px 0;display:grid;overflow-y:auto}.visit-requisition-line{border:1px solid var(--line);border-radius:10px;padding:12px}.visit-requisition-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.visit-requisition-head code{background:var(--canvas);border:1px solid var(--line);border-radius:6px;padding:5px 9px;font-size:13px}.visit-requisition-head label{color:var(--muted);align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.visit-requisition-head input{border:1px solid var(--line);font:inherit;border-radius:6px;width:96px;min-height:40px;padding:6px 9px}.visit-requisition-candidates{gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.visit-requisition-candidates button{border:1px solid var(--line);cursor:pointer;font:inherit;text-align:left;background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:42px;padding:8px 11px;display:flex}.visit-requisition-candidates button:hover,.visit-requisition-candidates button.is-selected{background:var(--brand-soft);border-color:var(--brand)}.visit-requisition-candidates small{color:var(--muted);font-size:11.5px}.visit-requisition-empty{color:#92400e;margin:10px 0 0;font-size:12.5px}@media (max-width:760px){.visit-requisition-head{flex-direction:column;align-items:stretch}.visit-requisition-head input{width:100%}}.visit-list-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.visit-list-head strong{color:var(--brand-dark);letter-spacing:.05em;text-transform:uppercase;font-size:13px;font-weight:850;display:block}.visit-list-head small{color:var(--muted);margin-top:2px;font-size:12.5px;display:block}.visit-list{gap:10px;margin:14px 0 0;padding:0;list-style:none;display:grid}.visit-list-item{border:1px solid var(--line);border-left:4px solid var(--line);border-radius:10px;justify-content:space-between;align-items:stretch;gap:6px;display:flex;overflow:hidden}.visit-list-item.is-completed{border-left-color:var(--brand)}.visit-list-item.is-pending{border-left-color:#d97706}.visit-list-item.is-not_required{border-left-color:var(--subtle)}.visit-list-open{cursor:pointer;text-align:left;background:0 0;border:0;flex:1;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:11px 12px;display:grid}.visit-list-open:hover{background:var(--canvas)}.visit-list-sequence{color:var(--brand-dark);letter-spacing:.06em;font-size:11.5px;font-weight:900}.visit-list-body{min-width:0}.visit-list-body strong{color:var(--ink);font-size:13.5px;display:block}.visit-list-body small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11.5px;display:block;overflow:hidden}.visit-list-status{white-space:nowrap;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:800}.visit-list-status.is-completed{background:var(--brand-soft);color:var(--brand-dark)}.visit-list-status.is-pending{color:#92400e;background:#fffbeb}.visit-list-status.is-not_required{background:var(--canvas);color:var(--muted)}.visit-list-delete{border:0;border-left:1px solid var(--line);cursor:pointer;background:0 0;padding:0 13px;font-size:14px}.visit-list-delete:hover{color:#b91c1c;background:#fff1f2}@media (max-width:760px){.visit-list-head{flex-direction:column;align-items:stretch}.visit-list-head button{width:100%}.visit-list-open{grid-template-columns:1fr auto;grid-template-areas:"seq status""body body";gap:8px}.visit-list-sequence{grid-area:seq}.visit-list-status{grid-area:status}.visit-list-body{white-space:normal;grid-area:body}.visit-list-body small{white-space:normal}}.quote-modal-header{position:sticky;top:0}.quote-modal-backdrop .modal-card{position:relative}.modal-header{z-index:12;position:sticky;top:0}.modal-card>.modal-actions,.modal-card>form+.modal-actions{border-top:1px solid var(--line);z-index:11;background:#fff;margin-left:-24px;margin-right:-24px;padding:14px 24px;position:sticky;bottom:0}.modal-header button,.quote-modal-close,.btn-close-modal{z-index:13;position:relative}@media print{.modal-header,.quote-modal-header,.modal-actions,.apu-actions-bar,.tab-actions-bar{box-shadow:none!important;position:static!important}}@media (max-width:640px){.quote-modal-header{margin:-18px -18px 12px;padding:16px 18px 12px;top:0}.quote-modal{padding:18px}.modal-actions{margin:18px -18px -18px;padding:12px 18px}}.quote-modal-backdrop.is-dismissible-by-button{cursor:default}.modal-dismiss-hint{background:var(--canvas);border:1px solid var(--line);color:var(--muted);border-radius:8px;margin:0 0 16px;padding:9px 12px;font-size:12.5px}.modal-dismiss-hint strong{color:var(--brand-dark)}.quote-email-body textarea{font:inherit;resize:vertical;min-height:150px;line-height:1.5}.quote-field-hint{color:var(--muted);margin-top:5px;font-size:11.5px;display:block}.quote-request-body{background:var(--canvas);border:1px solid var(--line);border-radius:9px;margin:0 0 14px;padding:11px 13px}.quote-request-body summary{color:var(--brand-dark);cursor:pointer;font-size:12.5px;font-weight:800}.quote-request-body pre{color:var(--ink);white-space:pre-wrap;word-break:break-word;max-height:260px;margin:10px 0 0;font-family:inherit;font-size:13px;line-height:1.55;overflow-y:auto}.technical-documents{gap:18px;display:grid}.technical-documents-intro{justify-content:space-between;align-items:start;gap:18px;display:flex}.technical-documents-kicker{color:var(--brand);letter-spacing:.09em;text-transform:uppercase;font-size:11px;font-weight:800}.technical-documents h3{margin:4px 0 6px;font-size:21px}.technical-documents-intro p:last-child{color:var(--muted);max-width:640px;font-size:13px}.technical-documents-status{border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:750}.technical-documents-status.is-approved{background:var(--brand-soft);color:var(--brand-dark);border-color:#b8ddc8}.technical-documents-status.is-sent{color:#20548f;background:#eff6ff;border-color:#bed7f4}.technical-documents-status.is-changes_requested{color:#9a2738;background:#fff3f4;border-color:#efc4cb}.technical-documents-alert{border-radius:8px;padding:10px 12px;font-size:13px;font-weight:650}.technical-documents-alert.is-error{color:#8f2e25;background:#fff1ef;border:1px solid #efc6c0}.technical-documents-alert.is-success{background:var(--brand-soft);color:var(--brand-dark);border:1px solid #b8ddc8}.technical-document-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.technical-document-card{border:1px solid var(--line);border-radius:12px;gap:9px;padding:16px;display:grid}.technical-document-card>div{align-items:center;gap:10px;display:flex}.technical-document-card>div span{background:var(--brand-soft);color:var(--brand-dark);border-radius:50%;justify-content:center;align-items:center;width:27px;height:27px;font-size:12px;font-weight:800;display:inline-flex}.technical-document-card h4{font-size:15px}.technical-document-card p,.technical-document-card small{color:var(--muted);font-size:12px}.technical-document-card a{color:var(--brand-dark);overflow-wrap:anywhere;text-underline-offset:3px;font-size:13px;font-weight:750;text-decoration:underline}.technical-document-upload{color:var(--brand-dark);cursor:pointer;text-align:center;border:1px dashed #9fcab0;border-radius:8px;padding:9px 10px;font-size:12px;font-weight:750}.technical-document-upload input{max-width:100%;margin-top:6px;font-size:11px;display:block}.technical-document-review{gap:10px;display:grid}.technical-document-review>div{flex-wrap:wrap;gap:10px;display:flex}.technical-document-review label{gap:5px;font-size:13px;font-weight:750;display:grid}.technical-document-review label small{color:var(--muted);font-weight:500}.technical-document-review textarea{border:1px solid var(--line);resize:vertical;border-radius:8px;padding:10px}.technical-document-secondary{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;padding:10px 13px;font-size:13px;font-weight:750}.technical-documents-approved{background:var(--brand-soft);color:var(--brand-dark);border:1px solid #b8ddc8;border-radius:9px;padding:12px;font-size:13px;font-weight:700}.technical-documents-versions{border-top:1px solid var(--line);color:var(--muted);padding-top:13px;font-size:13px}.technical-documents-versions summary{cursor:pointer;font-weight:700}.technical-documents-versions ul{gap:5px;margin:10px 0 0;padding-left:20px;display:grid}@media (max-width:680px){.technical-documents-intro{flex-direction:column}.technical-document-grid{grid-template-columns:1fr}.technical-documents-status{white-space:normal}}.kanban-card--overdue{border-left-color:#c0392b}.kanban-stale-badge{letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:800}.kanban-stale-badge[data-level=ok]{color:#176b42;background:#e8f4ec;border:1px solid #b7dfc5}.kanban-stale-badge[data-level=warning]{color:#8a6116;background:#fef3c7;border:1px solid #ecd9a8}.kanban-stale-badge[data-level=critical]{color:#922b21;background:#fdecea;border:1px solid #eec3bd}.kanban-code-rev{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.new-quote-labor-project{background:#eff6ff;border:1px dashed #bfdbfe;border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;margin:12px 0;padding:12px 14px;display:flex}.new-quote-labor-project .quotes-cancel-btn{color:#1d4ed8;cursor:pointer;background:#fff;border:1px solid #1d4ed8;border-radius:10px;min-height:44px;padding:0 16px;font-size:.9rem;font-weight:600}.new-quote-labor-project .quotes-cancel-btn:disabled{color:#94a3b8;cursor:not-allowed;border-color:#cbd5e1}.labor-project-summary{color:#475569;flex:240px;margin:0;font-size:.82rem}@media (max-width:640px){.new-quote-labor-project{flex-direction:column;align-items:stretch}.new-quote-labor-project .quotes-cancel-btn{width:100%}}.quote-help.is-inline{z-index:auto;width:100%;display:block;position:static}.quote-help.is-inline .quote-help-trigger{display:inline-flex}.quote-help.is-inline .quote-help-popover{opacity:0;visibility:hidden;width:auto;max-width:none;margin-top:9px;position:static;top:auto;left:auto;transform:translateY(-4px)}.quote-help.is-inline:hover .quote-help-popover,.quote-help.is-inline:focus-within .quote-help-popover{opacity:1;visibility:visible;transform:translateY(0)}.quote-help{z-index:20}.settings-label-with-help,.settings-title-with-help{align-items:center;gap:7px;display:inline-flex}.settings-title-with-help{margin:0 0 6px;font-size:1rem}.quote-help:hover .quote-help-popover,.quote-help:focus-within .quote-help-popover,.quote-help.is-open .quote-help-popover{opacity:1;pointer-events:auto;visibility:visible;transform:translateY(0)}.labor-cost-parameter input,.labor-cost-parameter select,.labor-cost-parameter textarea,.labor-cost-parameter .settings-columns input,.labor-cost-parameter .settings-columns select{min-height:44px}.labor-cost-parameter legend{align-items:center;gap:7px;display:flex}.labor-cost-parameter .quote-help-trigger{width:24px;height:24px}.quote-help-trigger{position:relative}.quote-help-trigger:after{content:"";min-width:44px;min-height:44px;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.labor-rate-add-entry input,.labor-rate-add-entry select,.labor-rate-add-entry textarea{min-height:44px}.new-quote-optional-costing{background:#f8fafc;border:1px solid #cbd5e1;border-radius:12px;margin:14px 0}.new-quote-optional-costing>summary{color:#0f172a;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:12px 14px;font-size:.92rem;font-weight:700;display:flex}.new-quote-optional-costing>summary span{color:#64748b;font-size:.74rem;font-weight:600}.new-quote-optional-costing>.quote-field-hint{max-width:80ch;margin:0 14px 12px}.new-quote-optional-costing .new-quote-subgroup,.new-quote-optional-costing .new-quote-labor-project{margin:0 12px 12px}@media (max-width:560px){.new-quote-optional-costing>summary{flex-direction:column;align-items:flex-start}}.quote-payment-split{gap:8px;display:grid}.quote-payment-split__values{color:var(--brand-dark);justify-content:space-between;gap:12px;font-size:.82rem;display:flex}.quote-payment-split input[type=range]{width:100%;min-height:44px;accent-color:var(--brand);cursor:pointer}@media (max-width:420px){.quote-payment-split__values{flex-direction:column;gap:3px}}.apu-workspace{padding-bottom:42px}.apu-quote-context{background:var(--brand-soft);border:1px solid var(--brand);color:var(--ink);border-radius:8px;margin:0 0 18px;padding:12px 14px}.apu-quote-context.is-read-only{color:#334155;background:#f8fafc;border-color:#94a3b8}.apu-quote-picker{border:1px solid var(--line);background:var(--surface);border-radius:10px;grid-template-columns:minmax(220px,.8fr) minmax(260px,1fr);align-items:end;gap:12px 18px;margin:0 0 18px;padding:14px;display:grid}.apu-quote-picker>div:first-child{gap:3px;display:grid}.apu-quote-picker p{color:var(--brand-dark);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:12px;font-weight:800}.apu-quote-picker small{color:var(--muted);font-size:12px}.apu-quote-picker-search{gap:5px;display:grid}.apu-quote-picker-search>span{color:var(--muted);letter-spacing:.03em;text-transform:uppercase;font-size:11px;font-weight:800}.apu-quote-picker-search input{border:1px solid var(--line);background:var(--canvas);width:100%;min-height:42px;color:var(--ink);font:inherit;border-radius:7px;padding:9px 11px}.apu-quote-picker-search input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow);outline:none}.apu-quote-picker-results{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;display:grid}.apu-quote-picker-results>p{color:var(--muted);letter-spacing:normal;text-transform:none;grid-column:1/-1;font-size:13px;font-weight:400}.apu-quote-picker-results button{border:1px solid var(--line);background:var(--canvas);min-height:64px;color:var(--ink);cursor:pointer;font:inherit;text-align:left;border-radius:8px;gap:2px;padding:10px 12px;display:grid}.apu-quote-picker-results button:hover,.apu-quote-picker-results button:focus-visible{border-color:var(--brand);background:var(--brand-soft);outline:none}.apu-quote-picker-results button strong{color:var(--brand-dark);font-size:12px}.apu-quote-picker-results button span{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.apu-quote-picker-results button small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.apu-workspace--readonly .apu-activity-catalog,.apu-workspace--readonly .apu-new-form,.apu-workspace--readonly .apu-editor input,.apu-workspace--readonly .apu-editor select,.apu-workspace--readonly .apu-editor button:not(.apu-print-btn){cursor:not-allowed;opacity:.56;pointer-events:none}.apu-activity-catalog{background:var(--surface);border:1px solid var(--line);border-radius:12px;gap:14px;margin-bottom:20px;padding:14px 18px;transition:border-color .15s,padding .15s,background-color .15s;display:grid;box-shadow:0 1px 3px #00000008}.apu-activity-catalog.is-collapsed{gap:0;padding:10px 16px}.apu-activity-catalog.is-collapsed:hover{border-color:var(--brand)}.apu-resource-note{color:#20548f;background:#edf6ff;border-radius:8px;margin:10px 0 0;padding:9px 11px;font-size:.82rem;line-height:1.4}.apu-yield-panel{background:#f5faff;border:1px solid #bdd8ee;border-radius:10px;gap:12px;margin-top:12px;padding:14px;display:grid}.apu-yield-panel-heading{gap:3px;display:grid}.apu-yield-panel-heading h2{color:var(--brand-dark);margin:0;font-size:13px}.apu-yield-panel-heading p{color:var(--muted);margin:0;font-size:12px}.apu-yield-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.apu-yield-fields label{gap:6px;display:grid}.apu-yield-fields label>span{color:var(--ink);font-size:13px;font-weight:750}.apu-yield-panel .apu-resource-note{margin:0}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.apu-catalog-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.apu-catalog-title-wrap{cursor:pointer;-webkit-user-select:none;user-select:none;gap:2px;display:grid}.apu-catalog-title-wrap:focus-visible{outline:2px solid var(--brand);outline-offset:4px;border-radius:4px}.apu-catalog-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.apu-catalog-title-icon{font-size:16px;line-height:1}.apu-catalog-title-row strong{color:var(--ink);font-size:15px;font-weight:750}.apu-catalog-badge{background:var(--brand-soft);color:var(--brand-dark);border:1px solid #16653426;border-radius:12px;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.apu-catalog-header small{color:var(--muted);font-size:12px}.apu-catalog-header-actions{flex-wrap:wrap;flex:auto;justify-content:flex-end;align-items:center;gap:10px;display:flex}.apu-catalog-toggle-btn{border:1px solid var(--line);background:var(--canvas);min-height:36px;color:var(--brand-dark);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:700;transition:all .15s;display:inline-flex}.apu-catalog-toggle-btn:hover,.apu-catalog-toggle-btn:focus-visible{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-dark);outline:none}.apu-catalog-toggle-btn.is-active{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-dark)}.apu-catalog-body{gap:12px;animation:.2s forwards apuFadeIn;display:grid}@keyframes apuFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.apu-catalog-search-wrap{flex:300px;min-width:240px;max-width:480px;position:relative}.apu-catalog-search-input{border:1px solid var(--line);width:100%;font:inherit;background:var(--canvas);min-height:38px;color:var(--ink);border-radius:8px;padding:8px 34px 8px 12px;font-size:13px;transition:border-color .15s,box-shadow .15s}.apu-catalog-search-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow);background:var(--surface);outline:none}.apu-catalog-clear-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 6px;font-size:14px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.apu-catalog-clear-btn:hover{color:var(--ink);background:var(--line)}.apu-group-chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.apu-chip{border:1px solid var(--line);background:var(--canvas);color:var(--muted);cursor:pointer;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:600;transition:all .15s}.apu-chip:hover{border-color:var(--brand);color:var(--ink)}.apu-chip.is-active{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-dark);font-weight:700}.apu-activity-results{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px;max-height:220px;padding:2px;display:grid;overflow-y:auto}.apu-activity-card{background:var(--canvas);border:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:left;border-radius:8px;gap:4px;padding:10px 12px;transition:border-color .15s,transform .1s,box-shadow .15s;display:grid}.apu-activity-card:hover,.apu-activity-card:focus-visible{border-color:var(--brand);background:var(--surface);outline:none;transform:translateY(-1px);box-shadow:0 3px 8px #0000000d}.activity-card-name{color:var(--ink);font-size:13px;font-weight:700;line-height:1.3}.activity-card-meta{color:var(--muted);font-size:11px}.activity-card-meta strong{color:var(--brand-dark);font-weight:700}.apu-catalog-no-results{text-align:center;color:var(--muted);background:var(--canvas);border-radius:8px;grid-column:1/-1;padding:16px;font-size:13px}.apu-custom-activity{background:var(--brand-soft);border:1px dashed var(--brand);color:var(--brand-dark);cursor:pointer;text-align:left;border-radius:8px;justify-self:start;padding:10px 14px;font-size:13px;font-weight:700;transition:background .15s}.apu-custom-activity:hover,.apu-custom-activity:focus-visible{background:var(--brand);color:#fff}.apu-layout{grid-template-columns:minmax(250px,.7fr) minmax(0,2.3fr);align-items:start;gap:20px;display:grid}.apu-list{gap:10px;display:grid}.apu-row-wrap{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:6px;display:grid}.apu-row-wrap[draggable=true]{cursor:grab;touch-action:manipulation}.apu-row-wrap.is-dragging{opacity:.55}.apu-row-wrap.is-drag-over .apu-row{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow);transform:translateY(-1px)}.apu-row{text-align:left;background:var(--surface);border:1px solid var(--line);width:100%;color:var(--ink);cursor:pointer;border-radius:10px;gap:3px;padding:12px;display:grid}.apu-row.is-selected{border-color:var(--brand);background:var(--brand-soft)}.apu-row-order-actions{flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:32px;display:flex}.apu-row-order-actions button{border:1px solid var(--line);background:var(--canvas);width:32px;min-height:30px;color:var(--brand-dark);cursor:pointer;font:inherit;border-radius:6px;padding:0;font-weight:800}.apu-row-order-actions button:hover,.apu-row-order-actions button:focus-visible{border-color:var(--brand);background:var(--brand-soft);outline:2px solid var(--brand-glow);outline-offset:1px}.apu-row-order-actions button:disabled{cursor:not-allowed;opacity:.38}.apu-row-order-actions span{color:var(--muted);font-size:15px;line-height:1}.apu-row span,.apu-row small,.apu-section small{color:var(--muted)}.apu-new-form{gap:8px;margin-top:6px;display:grid}.apu-new-form input,.apu-add select,.apu-table-wrap input{border:1px solid var(--line);min-width:0;font:inherit;border-radius:6px;padding:8px}.apu-new-form>div{grid-template-columns:1fr 1fr;gap:8px;display:grid}.apu-unit-combobox{min-width:0;position:relative}.apu-unit-combobox>input:not([type=hidden]){background:var(--surface);width:100%;min-height:40px;color:var(--ink)}.apu-unit-combobox>input:not([type=hidden]):focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow);outline:none}.apu-unit-options{z-index:20;border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:2px;max-height:250px;padding:5px;display:grid;position:absolute;top:calc(100% + 5px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 26px #14382d29}.apu-unit-options button{width:100%;min-height:40px;color:var(--ink);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.apu-unit-options button:hover,.apu-unit-options button:focus-visible{background:var(--brand-soft);outline:none}.apu-unit-options strong{color:var(--brand-dark);flex:none;font-size:12px}.apu-unit-options p{color:var(--muted);margin:7px;font-size:13px}.apu-editor{gap:18px;display:grid}.apu-total{text-align:right;color:var(--brand-dark);font-size:20px}.apu-total small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.apu-editor-heading{align-items:flex-start}.apu-selected-toolbar{border:1px solid var(--line);background:var(--canvas);border-radius:10px;grid-template-columns:minmax(220px,2fr) minmax(90px,.5fr) minmax(130px,.7fr) auto;align-items:end;gap:10px;padding:14px;display:grid}.apu-selected-toolbar label,.apu-labor-controls label{gap:5px;min-width:0;display:grid}.apu-selected-toolbar label span,.apu-labor-controls label span{color:var(--muted);letter-spacing:.03em;text-transform:uppercase;font-size:11px;font-weight:800}.apu-selected-toolbar input,.apu-labor-controls input,.apu-labor-controls select{border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;min-height:40px;color:var(--ink);font:inherit;border-radius:6px;padding:8px 10px}.apu-selected-actions{flex-wrap:wrap;gap:7px;display:flex}.apu-selected-actions button{cursor:pointer;border-radius:6px;min-height:40px;padding:8px 11px;font-weight:800}.apu-delete-apu{color:#b91c1c;background:#fff1f2;border:1px solid #fecaca}.apu-save-message{background:var(--brand-soft);color:var(--ink);border-radius:7px;margin:-8px 0 0;padding:9px 11px;font-size:13px}.apu-save-message.is-database{color:#12633a;background:#e8f7ee;border:1px solid #9bd6ad;font-weight:700}.apu-save-message.is-local{color:#70530e;background:#fff8e8;border:1px solid #f3d58b}.apu-save-message.is-error{color:#b91c1c;background:#fff1f2;border:1px solid #fecaca}.apu-save-message.is-saving{color:#174a87;background:#eef5ff;border:1px solid #bed6fa}.apu-budget-control,.apu-boq-status{border:1px solid var(--line);background:var(--canvas);border-radius:10px;gap:12px;padding:14px;display:grid}.apu-budget-control{grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);align-items:end}.apu-budget-control p,.apu-boq-status p{color:var(--brand-dark);letter-spacing:.04em;text-transform:uppercase;margin:0 0 3px;font-size:11px;font-weight:800}.apu-budget-control h3,.apu-boq-status h3{margin:0;font-size:16px}.apu-budget-control small{color:var(--muted)}.apu-budget-link,.apu-boq-entry{flex-wrap:wrap;gap:8px;display:flex}.apu-budget-link select,.apu-boq-entry select,.apu-boq-entry input{border:1px solid var(--line);background:var(--surface);min-width:0;min-height:40px;color:var(--ink);font:inherit;border-radius:6px;padding:8px 10px}.apu-budget-link select{flex:180px}.apu-budget-link button,.apu-boq-entry button{background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:6px;min-height:40px;padding:8px 11px;font-weight:800}.apu-budget-link button:disabled{cursor:not-allowed;opacity:.5}.apu-boq-status dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;display:grid}.apu-boq-status dl div{background:var(--surface);border-radius:7px;padding:9px}.apu-boq-status dt{color:var(--muted);font-size:11px;font-weight:700}.apu-boq-status dd{margin:3px 0 0;font-size:14px;font-weight:800}.apu-boq-status dd.is-over{color:#b91c1c}.apu-boq-entry input{flex:160px}.apu-section{border:1px solid var(--line);border-radius:10px;overflow:hidden}.apu-section header,.apu-section footer{background:var(--canvas);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.apu-section h3{margin:0;font-size:15px}.apu-section footer{border-top:1px solid var(--line);font-size:13px}.apu-add{flex-wrap:wrap;gap:6px;display:flex}.apu-add button{background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:6px;padding:8px 10px;font-weight:700}.apu-resource-picker{grid-template-columns:minmax(230px,1fr) auto;gap:8px;width:min(100%,520px);display:grid}.apu-resource-search{min-width:0;position:relative}.apu-resource-search svg{width:17px;height:17px;color:var(--muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.apu-resource-search input{border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;min-height:42px;color:var(--ink);font:inherit;border-radius:8px;padding:9px 12px 9px 38px}.apu-resource-search input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow);outline:none}.apu-resource-manual{border:1px solid var(--brand);background:var(--brand-soft);min-height:42px;color:var(--brand-dark);cursor:pointer;white-space:nowrap;border-radius:8px;padding:8px 12px;font-weight:800}.apu-resource-manual:hover,.apu-resource-manual:focus-visible{background:var(--brand);color:#fff;outline:2px solid var(--brand-glow);outline-offset:2px}.apu-resource-results{border:1px solid var(--line);background:var(--surface);border-radius:9px;grid-column:1/-1;gap:3px;max-height:244px;padding:5px;display:grid;overflow:auto;box-shadow:0 12px 26px #14382d1f}.apu-resource-results button{min-width:0;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:16px;padding:9px 10px;display:flex}.apu-resource-results button:hover,.apu-resource-results button:focus-visible{background:var(--brand-soft);outline:none}.apu-resource-results span{gap:2px;min-width:0;display:grid}.apu-resource-results strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.apu-resource-results small{color:var(--muted);font-size:11px}.apu-resource-results b{color:var(--brand-dark);font-variant-numeric:tabular-nums;flex:none;font-size:12px}.apu-resource-results p{color:var(--muted);margin:6px;font-size:13px}.apu-labor-picker{flex:100%;gap:9px;margin-top:4px;display:grid}.apu-labor-controls button{background:var(--brand);color:#fff;cursor:pointer;white-space:nowrap;border:0;border-radius:6px;min-height:40px;padding:8px 10px;font-weight:800}.apu-labor-controls button:disabled{cursor:not-allowed;opacity:.5}.apu-labor-controls .apu-secondary-action{border:1px solid var(--line);background:var(--surface);color:var(--ink)}.apu-transport-controls{grid-template-columns:minmax(150px,1fr) minmax(150px,.8fr) minmax(230px,1.2fr) auto auto auto}.apu-manage-catalog-btn{font-weight:800;border:1px solid var(--brand)!important;background:var(--brand-soft)!important;color:var(--brand-dark)!important}.apu-manage-catalog-btn:hover{background:var(--brand)!important;color:#fff!important}.apu-labor-status{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.apu-source-badge{border-radius:999px;padding:3px 8px;font-size:11px;font-weight:800}.apu-source-badge.is-database{color:#166534;background:#dcfce7}.apu-source-badge.is-fallback{color:#92400e;background:#fef3c7}.apu-notice-inline{color:var(--brand-dark);margin-left:auto;font-size:12px;font-weight:700}.apu-labor-detail{border:1px solid var(--line);background:var(--surface);border-radius:7px;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:9px 10px;font-size:12px;display:flex}.apu-labor-detail span,.apu-labor-detail small{color:var(--muted)}.apu-transport-detail{background:var(--canvas);border-left:3px solid var(--brand)}.apu-transport-manage-modal{gap:18px;max-width:960px;max-height:90vh;display:grid;overflow-y:auto}.apu-transport-form{background:var(--canvas);border:1px solid var(--line);border-radius:10px;gap:12px;padding:16px;display:grid}.apu-transport-form h3{color:var(--ink);margin:0;font-size:15px}.apu-transport-form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.apu-transport-form-grid label{gap:4px;display:grid}.apu-transport-form-grid label span{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;font-size:11px;font-weight:800}.apu-transport-form-grid input,.apu-transport-form-grid select{border:1px solid var(--line);min-height:40px;font:inherit;background:var(--surface);color:var(--ink);border-radius:6px;padding:8px 10px}.apu-transport-form-actions{align-items:center;gap:8px;display:flex}.apu-transport-table-wrap{border:1px solid var(--line);background:var(--surface);border-radius:8px;max-height:360px;overflow:auto}.apu-transport-table{border-collapse:collapse;width:100%;font-size:13px}.apu-transport-table th,.apu-transport-table td{border-bottom:1px solid var(--line);text-align:left;padding:10px 12px}.apu-transport-table th{background:var(--canvas);color:var(--muted);text-transform:uppercase;z-index:1;font-size:11px;position:sticky;top:0}.badge-unit{background:var(--canvas);border:1px solid var(--line);border-radius:4px;padding:2px 6px;font-size:11px;font-weight:700}.table-actions-row{align-items:center;gap:6px;display:flex}.btn-action-edit{background:var(--canvas);border:1px solid var(--line);cursor:pointer;color:var(--ink);border-radius:5px;padding:4px 8px;font-size:12px;font-weight:700}.btn-action-edit:hover{border-color:var(--brand);background:var(--surface)}.btn-action-delete{cursor:pointer;color:#b91c1c;background:#fff1f2;border:1px solid #fecaca;border-radius:5px;padding:4px 7px;font-size:12px}.btn-action-delete:hover{background:#fee2e2}.apu-table-wrap{overflow-x:auto}.apu-section table{border-collapse:collapse;width:100%;min-width:660px;font-size:13px}.apu-section th,.apu-section td{border-bottom:1px solid var(--line);text-align:left;padding:9px 10px}.apu-section th{color:var(--muted);text-transform:uppercase;font-size:11px}.apu-section td small{margin-top:2px;display:block}.apu-section td input{width:88px}.apu-remove{color:#b91c1c;cursor:pointer;background:0 0;border:0;font-size:20px}@media (max-width:1100px){.apu-selected-toolbar{grid-template-columns:1fr 1fr}.apu-selected-actions{grid-column:1/-1}.apu-labor-controls{grid-template-columns:1fr 1fr}.apu-labor-position-select{grid-column:1/-1}}@media (max-width:900px){.apu-layout{grid-template-columns:1fr}.apu-total{text-align:left}.apu-section header{flex-direction:column;align-items:flex-start}}@media (max-width:768px){.apu-row-order-actions{min-width:44px}.apu-row-order-actions button{width:44px;min-height:44px}.apu-quote-picker{grid-template-columns:1fr}.apu-quote-picker-search input{min-height:44px}.apu-activity-catalog{padding:14px}.apu-activity-results{grid-template-columns:1fr;max-height:260px}.apu-activity-results button,.apu-custom-activity{width:100%;min-height:44px}.apu-layout{gap:14px}.apu-editor,.apu-list{min-width:0}.apu-section header,.apu-section footer{padding:12px}.apu-add{width:100%}.apu-add select,.apu-add button{min-height:44px}.apu-add select{flex:180px}.apu-resource-picker{width:100%}.apu-selected-toolbar{grid-template-columns:1fr 1fr}.apu-selected-toolbar label:first-child{grid-column:1/-1}.apu-labor-picker{width:100%}.apu-labor-controls button{min-height:44px}.apu-budget-control{grid-template-columns:1fr}.apu-boq-status dl{grid-template-columns:1fr 1fr}.apu-table-wrap{margin:0 -1px}.apu-section table{min-width:620px;font-size:12px}}@media (max-width:480px){.apu-quote-context{font-size:13px}.apu-activity-catalog{margin-bottom:14px;padding:12px}.apu-new-form>div{grid-template-columns:1fr}.apu-new-form input,.apu-new-form button{width:100%;min-height:44px}.apu-unit-options button{min-height:44px}.dashboard-panel.apu-list,.dashboard-panel.apu-editor{padding:16px 12px}.apu-total{font-size:18px}.apu-section h3{font-size:14px}.apu-add{grid-template-columns:1fr;display:grid}.apu-add select,.apu-add button{width:100%}.apu-resource-picker{grid-template-columns:1fr}.apu-resource-results{max-height:212px}.apu-resource-manual{width:100%;min-height:44px}.apu-selected-toolbar,.apu-labor-controls{grid-template-columns:1fr}.apu-selected-toolbar label:first-child,.apu-selected-actions,.apu-labor-position-select{grid-column:auto}.apu-selected-actions{display:grid}.apu-labor-controls button{width:100%}.apu-budget-link,.apu-boq-entry{grid-template-columns:1fr;display:grid}.apu-budget-link select,.apu-budget-link button,.apu-boq-entry select,.apu-boq-entry input,.apu-boq-entry button{width:100%}.apu-boq-status dl{grid-template-columns:1fr}}.apu-margins-panel{border:1px solid var(--line);background:var(--canvas);border-radius:10px;gap:12px;padding:14px;display:grid}.apu-margins-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.apu-margins-header p{color:var(--brand-dark);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:11px;font-weight:800}.apu-margins-header small{color:var(--muted);font-size:12px}.apu-margins-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.apu-margin-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;gap:4px;padding:8px 10px;display:grid}.apu-margin-card label{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:700}.apu-margin-input-wrap{align-items:center;gap:4px;display:flex}.apu-margin-input-wrap input{border:1px solid var(--line);background:var(--canvas);border-radius:6px;width:100%;padding:6px 8px;font-size:14px;font-weight:700}.apu-margin-input-wrap span{color:var(--brand-dark);font-size:13px;font-weight:800}.apu-financial-summary{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:4px;display:grid}.apu-financial-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:2px;padding:10px 14px;display:grid}.apu-financial-card.is-selling{background:var(--brand-soft);border-color:var(--brand)}.apu-financial-card p{color:var(--muted);text-transform:uppercase;margin:0;font-size:11px;font-weight:800}.apu-financial-card.is-selling p{color:var(--brand-dark)}.apu-financial-card strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:17px;font-weight:800}.apu-financial-card.is-selling strong{color:var(--brand-dark)}.apu-financial-card small{color:var(--muted);font-size:11px}.apu-section-footer-breakdown{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.apu-footer-cost{color:var(--muted);font-size:12px}.apu-footer-selling{color:var(--brand-dark);font-size:13px;font-weight:800}.apu-footer-badge{background:var(--brand-soft);color:var(--brand-dark);border-radius:4px;margin-left:6px;padding:2px 6px;font-size:11px;font-weight:700}.apu-print-overlay{z-index:9999;overscroll-behavior:contain;background:#0000008c;flex-direction:column;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.apu-print-controls{z-index:2;background:#fffffff7;border:1px solid #fff9;border-radius:10px;gap:10px;margin:0 0 16px;padding:8px;display:flex;position:sticky;top:8px;box-shadow:0 8px 20px #0000002e}.apu-print-controls button{cursor:pointer;border-radius:8px;min-height:42px;padding:10px 18px;font-size:14px;font-weight:800}.apu-print-sheet{color:#111;background:#fff;border-radius:8px;width:100%;max-width:794px;padding:40px 36px;font-family:Inter,Segoe UI,system-ui,sans-serif;font-size:12px;line-height:1.5;box-shadow:0 8px 40px #00000040}.apu-print-header{border-bottom:2px solid #111;align-items:center;gap:20px;margin-bottom:18px;padding-bottom:14px;display:flex}.apu-print-logo{object-fit:contain;width:auto;height:60px}.apu-print-header-info h1{margin:0;font-size:18px;font-weight:800}.apu-print-header-info p{color:#444;margin:2px 0 0;font-size:12px}.apu-print-date{color:#888;font-size:11px}.apu-print-meta{margin-bottom:20px}.apu-print-meta dl{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px 18px;margin:0;display:grid}.apu-print-meta dt{text-transform:uppercase;letter-spacing:.04em;color:#666;margin:0;font-size:10px;font-weight:800}.apu-print-meta dd{margin:0 0 6px;font-size:13px;font-weight:600}.apu-print-category{margin-bottom:16px}.apu-print-category h2{text-transform:uppercase;letter-spacing:.04em;color:#333;border-bottom:1px solid #ddd;margin:0 0 6px;padding-bottom:5px;font-size:13px;font-weight:800}.apu-print-category table{border-collapse:collapse;width:100%;font-size:11px}.apu-print-category th{text-align:left;text-transform:uppercase;background:#f4f4f4;border-bottom:1px solid #ccc;padding:6px 8px;font-size:10px;font-weight:800}.apu-print-category td{border-bottom:1px solid #eee;padding:5px 8px}.apu-print-category td small{color:#888;font-size:10px}.apu-print-category tfoot td{border-top:2px solid #333;padding-top:6px;font-size:12px;font-weight:800}.apu-print-number{text-align:right;font-variant-numeric:tabular-nums}.apu-print-empty{color:#999;text-align:center;font-style:italic}.apu-print-summary{margin:20px 0 24px}.apu-print-summary table{border-collapse:collapse;width:100%;max-width:380px;margin-left:auto;font-size:13px}.apu-print-summary td{border-bottom:1px solid #eee;padding:6px 10px}.apu-print-unit-row{background:#f0fdf4}.apu-print-unit-row td{font-size:14px}.apu-print-signatures{text-align:center;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:40px;display:grid}.apu-print-signature-line{border-bottom:1px solid #333;height:48px;margin-bottom:6px}.apu-print-signatures p{color:#444;margin:0;font-size:11px;font-weight:700}.apu-print-signatures small{color:#444;margin-top:2px;font-size:10px;display:block}.apu-print-official-signature{object-fit:contain;width:172px;height:48px;margin:0 auto 6px;display:block}.apu-print-bottom-actions{border-top:1px solid #d7d7d7;justify-content:flex-end;margin-top:28px;padding-top:16px;display:flex}@media (max-width:600px){.apu-print-overlay{align-items:stretch;padding:10px}.apu-print-controls{justify-content:space-between;top:4px}.apu-print-controls button{min-height:44px;padding:9px 11px}.apu-print-sheet{border-radius:6px;padding:24px 16px}.apu-print-category{overflow-x:auto}.apu-print-category table{min-width:610px}.apu-print-bottom-actions button{width:100%;min-height:44px}}@media print{body *{visibility:hidden!important}.apu-print-sheet,.apu-print-sheet *{visibility:visible!important}.apu-print-sheet{width:100%;max-width:none;box-shadow:none;border-radius:0;margin:0;padding:20mm 15mm;position:fixed;top:0;left:0}.apu-print-overlay{background:0 0;padding:0;position:static}.no-print,.dashboard-sidebar,.dashboard-header,.apu-layout,.apu-workspace>.dashboard-heading,.apu-quote-context,.apu-activity-catalog{display:none!important}@page{size:A4;margin:10mm}}.apu-actions-bar{background:var(--canvas);border:1px solid var(--line);border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 14px;margin-top:12px;padding:12px;display:grid}.apu-actions-bar .apu-resource-note{grid-column:1/-1;margin:0}.apu-actions-main,.apu-actions-primary,.apu-actions-secondary{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.apu-actions-main{min-width:0}.apu-actions-secondary{border-left:1px solid var(--line);padding-left:12px}.apu-actions-bar .apu-action-danger{justify-self:end}.apu-actions-bar button{justify-content:center;align-items:center;gap:6px;width:auto;min-height:42px;padding:9px 14px;font-size:13px;font-weight:800;display:inline-flex}.apu-action-primary{border:0;background:var(--brand)!important;color:#fff!important}.apu-action-primary:hover{background:var(--brand-dark)!important}.apu-action-secondary{border:1px solid var(--line);color:var(--ink)!important;background:#fff!important}.apu-action-secondary:hover{border-color:var(--brand);color:var(--brand-dark)!important}.apu-action-danger{border:1px solid #fecaca;color:#b91c1c!important;background:#fff1f2!important}.apu-action-danger:hover{background:#fee2e2!important}.apu-total-share{color:var(--brand-dark);margin-top:4px;font-weight:800;display:block}.apu-analysis-total{background:var(--brand-soft);border:1px solid var(--brand);border-radius:10px;gap:3px;margin-bottom:12px;padding:12px 14px;display:grid}.apu-analysis-total span{color:var(--brand-dark);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:850}.apu-analysis-total strong{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:22px}.apu-analysis-total small{color:var(--muted);font-size:11.5px}.apu-analysis-panel{border:1px solid var(--line);border-radius:10px;margin-top:16px;padding:16px}.apu-analysis-header p{color:var(--brand-dark);letter-spacing:.06em;text-transform:uppercase;margin:0 0 3px;font-size:11px;font-weight:850}.apu-analysis-header small{color:var(--muted);font-size:12.5px}.apu-analysis-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.apu-analysis-card{background:var(--canvas);border:1px solid var(--line);border-radius:9px;padding:13px 14px}.apu-analysis-card p{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:0 0 5px;font-size:11px;font-weight:800}.apu-analysis-card strong{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:19px;display:block}.apu-analysis-card small{color:var(--muted);margin-top:3px;font-size:11.5px;display:block}.apu-analysis-card.is-selling{background:var(--brand-soft);border-color:var(--brand)}.apu-analysis-card.is-selling strong{color:var(--brand-dark)}.apu-analysis-hint{color:#92400e;background:#fffdf6;border:1px solid #fde68a;border-radius:8px;margin:14px 0 0;padding:10px 12px;font-size:12.5px}@media (max-width:1100px){.apu-analysis-grid{grid-template-columns:1fr 1fr}}@media (max-width:760px){.apu-actions-bar{grid-template-columns:1fr;align-items:stretch}.apu-actions-main{grid-template-columns:1fr;display:grid}.apu-actions-primary,.apu-actions-secondary{border-left:0;grid-template-columns:1fr 1fr;padding-left:0;display:grid}.apu-actions-bar button{width:100%}.apu-actions-bar .apu-action-danger{justify-self:stretch}.apu-yield-fields,.apu-analysis-grid{grid-template-columns:1fr}}.apu-labor-controls{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;gap:10px;display:grid}.apu-labor-controls>label{gap:5px;min-width:0;display:grid;position:relative}.apu-labor-controls>label>span{color:var(--muted);letter-spacing:.03em;text-transform:uppercase;font-size:11px;font-weight:800}.apu-labor-controls input,.apu-labor-controls select{background:var(--surface);border:1px solid var(--line);box-sizing:border-box;color:var(--ink);font:inherit;border-radius:6px;width:100%;min-width:0;min-height:42px;padding:8px 10px}.apu-labor-search input{padding-right:34px}.apu-clear-search{background:var(--canvas);border:1px solid var(--line);color:var(--muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:12px;display:flex;position:absolute;top:26px;right:8px}.apu-clear-search:hover{color:#b91c1c;background:#fee2e2;border-color:#fecaca}.apu-labor-actions{grid-column:-2/-1;gap:8px;display:flex}.apu-labor-actions button{white-space:nowrap;flex:auto;min-height:42px}.apu-labor-position-select{grid-column:span 2}.apu-filter-empty{color:#92400e;font-weight:700}@media (max-width:1100px){.apu-labor-position-select,.apu-labor-actions{grid-column:1/-1}.apu-labor-actions button{flex:auto;width:100%}}@media (max-width:640px){.apu-labor-controls{grid-template-columns:1fr}.apu-clear-search{top:24px}}.apu-labor-controls{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.apu-labor-controls>label{flex:150px;gap:5px;min-width:130px;max-width:100%;display:grid;position:relative}.apu-labor-controls .apu-labor-position-select{flex:2 260px}.apu-labor-actions{flex:100%;gap:8px;width:100%;display:flex}.apu-labor-actions button{white-space:nowrap;flex:1 1 0;min-width:0;min-height:42px}.apu-labor-controls>button{flex:none}.apu-resource-picker{grid-template-columns:minmax(0,1fr) auto;gap:8px;width:100%;display:grid;position:relative}.apu-resource-search input{padding-right:34px}.apu-resource-count{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:0;padding:8px 10px 4px;font-size:11px;font-weight:800}.apu-resource-results button b.is-empty{color:#b91c1c}.apu-resource-hint{color:#92400e;margin:0;padding:8px 10px 10px;font-size:12px}@media (max-width:640px){.apu-labor-controls>label{flex:100%}.apu-labor-actions{flex-direction:column}.apu-resource-picker{grid-template-columns:minmax(0,1fr)}.apu-resource-manual{width:100%}}.apu-resource-results button b.is-pending{color:#92400e}.apu-resource-more{background:var(--canvas);border:0;border-top:1px solid var(--line);color:var(--brand-dark);cursor:pointer;font:inherit;width:100%;min-height:40px;padding:10px;font-size:12.5px;font-weight:800}.apu-resource-more:hover{background:var(--brand-soft)}.apu-resource-note{color:var(--muted);grid-column:1/-1;margin:0;font-size:12px}.apu-shortage-panel{border:1px solid var(--line);border-radius:10px;margin-top:16px;padding:16px}.apu-shortage-panel .apu-analysis-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.apu-shortage-panel table{width:100%;min-width:520px}.apu-shortage-panel td strong{color:#b45309}@media (max-width:760px){.apu-shortage-panel .apu-analysis-header{flex-direction:column;align-items:stretch}.apu-shortage-panel button{width:100%}}.apu-filter-reset{color:var(--brand-dark);cursor:pointer;font:inherit;background:0 0;border:0;padding:2px 4px;font-size:11.5px;font-weight:800;text-decoration:underline}.apu-resource-results{z-index:60}.apu-import-card{width:1100px;max-width:min(1100px,94vw);max-height:92vh}.apu-import-body{flex-direction:column;gap:.9rem;max-height:calc(92vh - 190px);padding:1rem 1.25rem;display:flex;overflow-y:auto}.apu-import-hint{color:#475569;margin:0;font-size:.82rem;line-height:1.5}.apu-import-drop{text-align:center;cursor:pointer;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;flex-direction:column;align-items:center;gap:.3rem;padding:1.1rem;display:flex}.apu-import-drop:hover{border-color:var(--brand,#1f6f4a);background:#f0fdf4}.apu-import-drop input{max-width:100%;min-height:44px;font-size:.78rem}.apu-import-drop small{color:#64748b;font-size:.72rem}.apu-import-error,.apu-import-warning{border-radius:8px;margin:0;padding:.6rem .75rem;font-size:.8rem}.apu-import-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.apu-import-warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.apu-import-source{border:1px solid var(--line);background:var(--canvas);border-radius:10px;grid-template-columns:minmax(180px,.65fr) minmax(280px,1.35fr) auto;align-items:end;gap:.75rem;padding:.8rem;display:grid}.apu-import-source>div{align-self:center;gap:.15rem;display:grid}.apu-import-source p{color:var(--brand-dark);letter-spacing:.03em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:800}.apu-import-source small{color:var(--muted);font-size:.72rem}.apu-import-source label{gap:.3rem;display:grid}.apu-import-source label>span{color:var(--muted);letter-spacing:.03em;text-transform:uppercase;font-size:.68rem;font-weight:800}.apu-import-source select{border:1px solid var(--line);background:var(--surface);width:100%;min-height:44px;color:var(--ink);font:inherit;border-radius:8px;padding:.5rem .65rem}.apu-import-source select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow);outline:none}.apu-import-format{background:var(--brand-soft);min-height:28px;color:var(--brand-dark);white-space:nowrap;border-radius:999px;align-self:end;padding:.35rem .65rem;font-size:.68rem;font-weight:800}.apu-import-format.is-medium{color:#92400e;background:#fffbeb}.apu-import-sheet-picker{align-self:stretch;gap:.45rem;min-width:0;display:grid}.apu-import-sheet-picker-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.apu-import-sheet-picker-header>span{color:var(--muted);letter-spacing:.03em;text-transform:uppercase;font-size:.68rem;font-weight:800}.apu-import-sheet-picker-header button,.apu-import-sheet-option button{color:var(--brand-dark);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;min-height:32px;padding:.25rem .4rem;font-size:.72rem;font-weight:800;text-decoration:underline}.apu-import-sheet-list{gap:.35rem;max-height:170px;padding-right:.2rem;display:grid;overflow:auto}.apu-import-sheet-option{border:1px solid var(--line);border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.45rem;padding:.45rem .55rem;display:grid}.apu-import-sheet-option.is-active{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-glow)}.apu-import-sheet-option input{accent-color:var(--brand);block-size:18px;inline-size:18px}.apu-import-sheet-option label{cursor:pointer;min-width:0}.apu-import-sheet-option label strong,.apu-import-sheet-option label small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.apu-import-sheet-option label strong{color:var(--ink);font-size:.78rem}.apu-import-ignored-sheets{color:var(--muted);font-size:.72rem}.apu-import-ignored-sheets summary{cursor:pointer;font-weight:700}.apu-import-ignored-sheets ul{gap:.25rem;margin:.45rem 0 0;padding-left:1rem;display:grid}.apu-import-detected-groups{flex-wrap:wrap;gap:.45rem;display:flex}.apu-import-detected-groups span{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;padding:.3rem .55rem;font-size:.7rem}.apu-import-detected-groups strong{color:var(--brand-dark)}.apu-import-meta{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.6rem;margin:0;display:grid}.apu-import-meta>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:9px;min-width:0;padding:.45rem .6rem}.apu-import-meta dt{text-transform:uppercase;letter-spacing:.03em;color:#64748b;font-size:.68rem}.apu-import-meta dd{color:#0f172a;overflow-wrap:anywhere;margin:.15rem 0 0;font-size:.85rem;font-weight:700}.apu-import-ask{background:#fff7ed;border:1px solid #fdba74;border-radius:10px;padding:.8rem}.apu-import-ask p{color:#7c2d12;margin:0 0 .5rem;font-size:.82rem}.apu-import-ask-actions{flex-wrap:wrap;gap:.5rem;display:flex}.apu-import-ask-actions button{color:#9a3412;min-height:44px;font:inherit;cursor:pointer;background:#fff;border:1px solid #c2410c;border-radius:9px;padding:.4rem .85rem;font-size:.78rem;font-weight:700}.apu-import-ask-actions button[aria-pressed=true]{color:#fff;background:#c2410c}.apu-import-ask small{color:#7c2d12;margin-top:.45rem;font-size:.74rem;display:block}.apu-import-table-wrap{border:1px solid #e2e8f0;border-radius:10px;overflow-x:auto}.apu-import-table{border-collapse:collapse;width:100%;font-size:.78rem}.apu-import-table th,.apu-import-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e2e8f0;padding:.4rem .5rem}.apu-import-table th{color:#173d2c;text-transform:uppercase;background:#eef3f0;font-size:.7rem;position:sticky;top:0}.apu-import-table tr.is-warning{background:#fffbeb}.apu-import-table tr.is-error{background:#fef2f2}.apu-import-table tr.is-excluded{opacity:.45;text-decoration:line-through}.apu-import-note{color:#92400e;margin-top:.2rem;font-size:.68rem;display:block}.apu-import-badge{white-space:nowrap;border-radius:999px;padding:.1rem .45rem;font-size:.66rem;font-weight:800;display:inline-block}.apu-import-badge.is-ok{color:#166534;background:#dcfce7}.apu-import-badge.is-warning{color:#92400e;background:#fef3c7}.apu-import-badge.is-error{color:#991b1b;background:#fee2e2}.apu-import-table td button{min-width:44px;min-height:44px;font:inherit;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:7px;padding:.25rem .5rem;font-size:.72rem;font-weight:700}.apu-import-totals{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.6rem;display:grid}.apu-import-totals>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:9px;padding:.45rem .6rem}.apu-import-totals span{color:#64748b;font-size:.68rem;display:block}.apu-import-totals strong{color:#0f172a;font-size:.9rem}.apu-import-totals .is-total{background:#eef3f0;border-color:#173d2c}.apu-import-totals .is-total strong{color:#173d2c;font-size:1rem}.apu-import-footer{border-top:1px solid #e2e8f0;justify-content:flex-end;gap:.6rem;padding:.9rem 1.25rem;display:flex}.apu-import-footer button{border:1px solid var(--brand,#1f6f4a);background:var(--brand,#1f6f4a);color:#fff;min-height:44px;font:inherit;cursor:pointer;border-radius:9px;padding:.5rem 1.2rem;font-weight:700}.apu-import-footer .apu-import-secondary{color:#334155;background:#fff;border-color:#cbd5e1}.apu-import-footer button:disabled{opacity:.5;cursor:not-allowed}.apu-import-card .btn-close-modal{min-width:44px;min-height:44px}@media (max-width:640px){.apu-import-card{width:100%;max-height:96vh}.apu-import-body{max-height:calc(96vh - 180px);padding:.85rem}.apu-import-ask-actions button{width:100%}.apu-import-footer button{flex:1}.apu-import-source{grid-template-columns:1fr}.apu-import-format{justify-self:start}}.panel-title.apu-editor-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1rem;display:grid}.apu-editor-heading>div:first-child{min-width:0}.apu-editor-heading>div:first-child h2{overflow-wrap:anywhere}.apu-price-block{flex-wrap:nowrap;flex:none;align-items:stretch;gap:.55rem;margin:0;display:flex}.apu-price-cell{border:1px solid #0000;border-radius:11px;flex-direction:column;flex:0 auto;gap:.15rem;min-width:172px;padding:.55rem .8rem;display:flex}.apu-price-cell>span{text-transform:uppercase;letter-spacing:.03em;font-size:.68rem;font-weight:700}.apu-price-cell>strong{overflow-wrap:anywhere;font-size:1.5rem;font-weight:800;line-height:1.15}.apu-price-cell>small{font-size:.73rem}.apu-price-cell>small em{opacity:.75;font-style:normal}.apu-price-cell.is-selling{background:#eef3f0;border-color:#cfe0d7}.apu-price-cell.is-selling>span{color:#3f5a4e}.apu-price-cell.is-selling>strong{color:#173d2c}.apu-price-cell.is-selling>small{color:#3f5a4e}.apu-price-cell.is-cost{background:#173d2c}.apu-price-cell.is-cost>span{color:#cfe3d8}.apu-price-cell.is-cost>strong{color:#fff}.apu-price-cell.is-cost>small{color:#cfe3d8}.apu-price-share{color:#64748b;margin-top:4px;font-size:.72rem;display:block}.apu-unitcost-warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:9px;margin:0 0 .75rem;padding:.55rem .75rem;font-size:.78rem}@media (max-width:1120px){.panel-title.apu-editor-heading{grid-template-columns:minmax(0,1fr)}.apu-price-block{flex-wrap:wrap}.apu-price-cell{flex:172px}}@media (max-width:640px){.apu-price-block{flex-direction:column}.apu-price-cell{flex:100%}.apu-price-cell>strong{font-size:1.3rem}}.apu-sections-tools{justify-content:flex-end;gap:.4rem;display:flex}.apu-sections-tools button{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink-secondary);font:inherit;cursor:pointer;border-radius:8px;padding:.4rem .8rem;font-size:12px;font-weight:800}.apu-sections-tools button:hover:not(:disabled){background:var(--brand-soft);color:var(--brand-dark);border-color:var(--brand)}.apu-sections-tools button:disabled{opacity:.45;cursor:not-allowed}.apu-section-bar{border-bottom:1px solid var(--line);background:#fbfdfc}.apu-section.is-collapsed .apu-section-bar{border-bottom:0}.apu-section-toggle{text-align:left;width:100%;min-height:56px;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;align-items:center;gap:.7rem;padding:.6rem .9rem;display:flex}.apu-section-toggle:hover{background:#f1f7f3}.apu-section-chevron{width:28px;color:var(--brand-dark);flex:none;font-size:20px;font-weight:700;line-height:1}.apu-section-heading{flex-direction:column;gap:1px;min-width:0;display:flex}.apu-section-heading strong{color:var(--ink);font-size:14.5px;font-weight:800}.apu-section-heading small{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11.5px}.apu-section.is-collapsed{background:#fbfdfc}@media (max-width:640px){.apu-sections-tools{flex-direction:column}.apu-sections-tools button{width:100%}}.apu-list-actions{grid-template-columns:1fr;gap:.4rem;margin-bottom:.85rem;display:grid}.apu-list-actions button{width:100%;min-height:44px}.apu-list-new{font-weight:800}.apu-new-card{width:560px;max-width:min(560px,94vw)}.apu-new-form-body{gap:.8rem;padding:1rem 1.25rem 0;display:grid}.apu-new-code{color:#3f5a4e;background:#eef3f0;border-radius:8px;margin:0;padding:.5rem .7rem;font-size:.78rem}.apu-new-grid{grid-template-columns:1fr 1fr;align-items:start;gap:.8rem;display:grid}.apu-new-actions{border-top:1px solid #e2e8f0;justify-content:flex-end;gap:.6rem;margin:0 -1.25rem;padding:.9rem 1.25rem;display:flex}.apu-new-actions button{border:1px solid var(--brand,#1f6f4a);background:var(--brand,#1f6f4a);color:#fff;min-height:44px;font:inherit;cursor:pointer;border-radius:9px;padding:.5rem 1.2rem;font-weight:700}.apu-new-actions .apu-import-secondary{color:#334155;background:#fff;border-color:#cbd5e1}@media (max-width:560px){.apu-new-card{width:100%}.apu-new-grid{grid-template-columns:1fr}.apu-new-actions button{flex:1}}.apu-summary-bar{background:#f4f8f6;border:1px solid #cfe0d7;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;display:flex}.apu-summary-title p{color:#3f5a4e;letter-spacing:.08em;text-transform:uppercase;margin:0 0 2px;font-size:10.5px;font-weight:850}.apu-summary-title small{color:#64748b;font-size:11.5px}.apu-summary-figures{flex-wrap:wrap;gap:1.4rem;margin:0;display:flex}.apu-summary-figures>div{min-width:0}.apu-summary-figures dt{color:#64748b;letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:800}.apu-summary-figures dd{color:#0f172a;font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:17px;font-weight:800}.apu-summary-figures .is-total dd{color:#173d2c;font-size:21px}@media (max-width:900px){.apu-summary-bar{flex-direction:column;align-items:stretch}.apu-summary-figures{justify-content:space-between;gap:.75rem}.apu-summary-figures dd{font-size:15px}.apu-summary-figures .is-total dd{font-size:18px}}@media (max-width:480px){.apu-summary-figures{grid-template-columns:1fr 1fr;display:grid}}.apu-search{margin-bottom:.3rem;display:block;position:relative}.apu-search input{width:100%;min-height:44px;font:inherit;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:9px;padding:.5rem 2.1rem .5rem .6rem;font-size:.82rem}.apu-search button{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:8px;width:40px;height:40px;font-size:.9rem;position:absolute;top:2px;right:2px}.apu-search button:hover{color:#0f172a;background:#eef2f6}.apu-search-count{color:#64748b;margin:0 0 .5rem;font-size:.7rem;display:block}.apu-search-empty{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:9px;margin:0 0 .6rem;padding:.6rem .7rem;font-size:.76rem;line-height:1.45}.apu-row-origin{font-weight:600;display:block;color:#0f766e!important}.apu-editor-origin{color:#0f766e;margin-top:.2rem;font-weight:600;display:block}.apu-row.is-empty{opacity:.72;border-style:dashed}.apu-row-empty{font-weight:700;display:block;color:#b45309!important}.apu-shortage-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .85rem .7rem;display:flex}.apu-shortage-actions small{color:#475569;flex:240px;font-size:.78rem}@media (max-width:640px){.apu-shortage-actions{flex-direction:column;align-items:stretch}.apu-shortage-actions button{width:100%}}.apu-manual-card{width:620px;max-width:min(620px,94vw)}.apu-inline-link{min-height:44px;color:var(--brand,#1f6f4a);font:inherit;cursor:pointer;vertical-align:baseline;background:0 0;border:0;padding:0 4px;font-weight:800;text-decoration:underline}.apu-quantity-field{flex-direction:column;gap:4px;min-width:0;display:flex}.apu-quantity-field input{border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;min-height:40px;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;border-radius:6px;padding:8px 10px}.apu-quantity-field input:focus{outline:2px solid var(--brand,#1f6f4a);outline-offset:1px}.apu-quantity-hint{color:var(--muted);font-size:11px}@media (max-width:640px){.apu-quantity-field input{min-height:44px}}.labor-matrix{border-top:2px solid var(--line);margin-top:24px;padding-top:20px}.labor-matrix-head h3{color:var(--ink);margin:0 0 6px;font-size:1rem}.labor-matrix-head p{max-width:70ch;color:var(--muted);margin:0 0 14px;font-size:.82rem}.labor-matrix-filters{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:14px;display:grid}.labor-matrix-filters label{color:var(--muted);flex-direction:column;gap:4px;font-size:.8rem;display:flex}.labor-matrix-filters select,.labor-matrix-filters input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-height:44px;padding:8px 10px;font-size:.9rem}.labor-matrix-body{grid-template-columns:minmax(220px,300px) 1fr;align-items:start;gap:14px;display:grid}.labor-matrix-list{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden}.labor-matrix-list-head{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:.82rem;display:flex}.labor-matrix-nuevo{border:1px solid var(--brand);border-radius:var(--radius-sm);background:var(--brand);color:#fff;cursor:pointer;min-height:44px;padding:0 12px;font-size:.78rem;font-weight:600}.labor-matrix-form{border-bottom:1px solid var(--line);background:var(--canvas);flex-direction:column;gap:8px;padding:12px;display:flex}.labor-matrix-form input,.labor-matrix-form select{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-height:44px;padding:8px 10px;font-size:.85rem}.labor-matrix-form button{border:1px solid var(--brand);border-radius:var(--radius-sm);background:var(--brand);color:#fff;cursor:pointer;min-height:44px;font-size:.85rem;font-weight:600}.labor-matrix-form button:disabled{border-color:var(--line);background:var(--canvas);color:var(--muted);cursor:not-allowed}.labor-matrix-form small{color:var(--muted);font-size:.72rem;line-height:1.4}.labor-matrix-nivel{color:var(--muted);flex-direction:column;gap:4px;font-size:.78rem;display:flex}.labor-matrix-scroll{max-height:460px;overflow-y:auto}.labor-matrix-rol{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;flex-direction:column;gap:2px;width:100%;min-height:48px;padding:9px 12px;display:flex}.labor-matrix-rol:hover{background:var(--canvas)}.labor-matrix-rol.is-on{background:var(--brand);color:#fff}.labor-matrix-rol strong{font-size:.84rem;font-weight:600}.labor-matrix-rol span{opacity:.78;font-size:.72rem}.labor-matrix-detail{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);padding:14px}.labor-matrix-detail-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.labor-matrix-detail-head h4{color:var(--ink);margin:0 0 2px;font-size:.98rem}.labor-matrix-detail-head p{color:var(--muted);margin:0;font-size:.78rem}.labor-matrix-totals{gap:16px;display:flex}.labor-matrix-totals span{text-align:right;flex-direction:column;gap:1px;display:flex}.labor-matrix-totals small{color:var(--muted);font-size:.7rem}.labor-matrix-totals strong{color:var(--brand-dark);font-size:.95rem}.labor-matrix-note{color:var(--muted);margin:0 0 12px;font-size:.78rem;line-height:1.5}.labor-matrix-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.labor-matrix-table{border-collapse:collapse;width:100%;min-width:620px;font-size:.8rem}.labor-matrix-table th,.labor-matrix-table td{border-bottom:1px solid var(--line);text-align:right;vertical-align:middle;padding:7px 8px}.labor-matrix-table th:first-child,.labor-matrix-table td:first-child,.labor-matrix-table th:last-child,.labor-matrix-table td:last-child{text-align:left}.labor-matrix-table thead th{background:var(--canvas);color:var(--muted);font-size:.74rem;font-weight:600}.labor-matrix-table thead th .quote-help{vertical-align:-4px;margin-left:4px}.labor-matrix-table thead th .quote-help-trigger{border-color:var(--line);color:var(--muted);background:0 0;width:20px;height:20px;font-size:11px}.labor-matrix-table thead th .quote-help-trigger:hover,.labor-matrix-table thead th .quote-help:focus-within .quote-help-trigger{background:var(--brand,#0b7a47);border-color:var(--brand,#0b7a47);color:#fff}.labor-matrix-table td small{color:var(--muted);margin-top:2px;font-size:.66rem;line-height:1.25;display:block}.labor-matrix-table td:first-child{flex-direction:column;gap:1px;display:flex}.labor-matrix-table td:first-child strong{color:var(--ink);font-weight:600}.labor-matrix-table td:first-child small{color:var(--muted);font-size:.68rem}.labor-matrix-table input{border:1px solid var(--line);border-radius:var(--radius-sm);text-align:right;background:var(--surface);width:90px;min-height:44px;padding:6px 8px;font-size:.82rem}.labor-matrix-table tr.is-editada{background:var(--brand)}@supports (color:color-mix(in lab, red, red)){.labor-matrix-table tr.is-editada{background:color-mix(in srgb, var(--brand) 6%, transparent)}}.labor-matrix-badge{background:var(--canvas);color:var(--muted);border-radius:999px;padding:2px 8px;font-size:.7rem;font-weight:600;display:inline-block}.labor-matrix-badge.is-editada{background:var(--brand);color:#fff}.labor-matrix-actions{justify-content:flex-start;gap:6px;display:flex}.labor-matrix-actions button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-height:44px;color:var(--ink);cursor:pointer;padding:0 12px;font-size:.76rem;font-weight:600}.labor-matrix-actions button:hover:not(:disabled){border-color:var(--brand);color:var(--brand-dark)}.labor-matrix-actions button:disabled{opacity:.5;cursor:not-allowed}.labor-matrix-reverter{border-style:dashed!important}@media (max-width:900px){.labor-matrix-body{grid-template-columns:1fr}.labor-matrix-scroll{max-height:260px}.labor-matrix-detail-head{flex-direction:column}.labor-matrix-totals{justify-content:flex-start;width:100%}.labor-matrix-totals span{text-align:left}}.rentals-workspace{padding-bottom:42px}.rentals-grid{grid-template-columns:minmax(320px,.9fr) minmax(0,1.2fr);gap:18px;margin-top:18px;display:grid}.rental-form,.rental-list{min-width:0;padding:20px}.rental-form .panel-title,.rental-list .panel-title{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.panel-title p{color:var(--brand);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:800}.panel-title h2{margin-top:2px;font-size:20px}.panel-title>span{color:var(--muted);text-align:right;max-width:160px;font-size:12px}.rental-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.rental-fields label{color:var(--ink-secondary);gap:6px;min-width:0;font-size:12px;font-weight:750;display:grid}.rental-fields input,.rental-fields select,.rental-fields textarea{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;width:100%;min-width:0;min-height:42px;padding:9px 10px}.rental-fields textarea{resize:vertical;min-height:64px}.rental-fields input:focus,.rental-fields select:focus,.rental-fields textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow);outline:none}.rental-wide{grid-column:1/-1}.rental-form .inventory-action{width:100%}.rental-notice{color:#075b34;background:#e4f3eb;border:1px solid #9bcfb0;border-radius:9px;margin:16px 0 0;padding:11px 14px;font-weight:700}.rental-records{gap:10px;display:grid}.rental-record{border:1px solid var(--line);border-left:4px solid #3b9a68;border-radius:10px;min-width:0;padding:14px}.rental-record-main{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px 16px;min-width:0;display:grid}.rental-details{overflow-wrap:anywhere;min-width:0}.rental-record.status-returned{opacity:.8;border-left-color:#64748b}.rental-code{color:var(--brand-dark);letter-spacing:.06em;font-size:11px;font-weight:850}.rental-record h3{overflow-wrap:anywhere;margin:3px 0;font-size:15px}.rental-record p,.rental-record small{color:var(--muted);overflow-wrap:anywhere;font-size:12px}.rental-amount{text-align:right;align-items:end;gap:5px;min-width:0;display:grid}.rental-amount>strong{font-variant-numeric:tabular-nums}.rental-amount button{color:#fff;background:#173d2c;border:0;border-radius:7px;min-height:38px;padding:8px 10px;font-size:12px;font-weight:750}.rental-returned{color:#475569;font-size:12px;font-weight:800}.rental-attachments{border-top:1px solid var(--line);min-width:0;margin-top:12px;padding-top:12px}.rental-attachments input[type=file]{min-width:0;max-width:100%}.rental-record-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-top:6px;display:flex}.rental-signature-modal{max-width:620px}.rental-signature-summary{background:var(--brand-soft);border:1px solid var(--brand)}@supports (color:color-mix(in lab, red, red)){.rental-signature-summary{border:1px solid color-mix(in srgb, var(--brand) 28%, white)}}.rental-signature-summary{border-radius:10px;gap:4px;margin-bottom:16px;padding:12px 14px;display:grid}.rental-signature-summary span{color:var(--brand-dark);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:800}.rental-signature-summary strong{color:var(--ink);font-size:16px}.rental-signature-summary p,.rental-signature-summary small{color:var(--ink-secondary);overflow-wrap:anywhere;margin:0}.empty-state{color:var(--muted);padding:22px 4px}@media (max-width:960px){.rentals-grid{grid-template-columns:1fr}}@media (max-width:640px){.rental-form,.rental-list{padding:16px}.rental-fields{grid-template-columns:1fr}.rental-wide{grid-column:auto}.rental-record-main{grid-template-columns:1fr}.rental-amount{text-align:left;align-items:start}.rental-record-actions{justify-content:flex-start}.panel-title>span{text-align:left}.rental-form .panel-title,.rental-list .panel-title{flex-direction:column}.rental-attachments>div{align-items:stretch!important}.rental-attachments input[type=file],.rental-attachments select,.rental-attachments button{width:100%}}.attendance-page{max-width:1280px;padding:clamp(20px,3vw,40px)}.attendance-hero{justify-content:space-between;align-items:end;gap:24px;margin:4px 0 28px;display:flex}.attendance-eyebrow,.attendance-panel-heading p{color:var(--brand);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:800}.attendance-hero h1{font-family:var(--font-display,Georgia, serif);letter-spacing:-.04em;margin-top:5px;font-size:clamp(30px,4vw,46px)}.attendance-hero>div>p:last-child{color:var(--muted);max-width:640px;margin-top:9px}.attendance-status{background:var(--brand-soft);border:1px solid #b8ddc8;border-radius:12px;gap:2px;min-width:190px;padding:13px 16px;font-size:13px;display:grid}.attendance-status span{color:var(--ink-secondary);font-variant-numeric:tabular-nums}.attendance-layout{grid-template-columns:minmax(0,.92fr) minmax(330px,1.08fr);gap:22px;display:grid}.attendance-form,.attendance-history{padding:clamp(20px,3vw,30px)}.attendance-panel-heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.attendance-panel-heading h2{letter-spacing:-.025em;margin-top:4px;font-size:22px}.attendance-mark{background:var(--brand-soft);color:var(--brand-dark);border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:20px;font-weight:800;display:inline-flex}.attendance-helper,.attendance-privacy,.attendance-empty{color:var(--muted);font-size:13px;line-height:1.55}.attendance-helper{margin:18px 0}.attendance-field{color:var(--ink-secondary);gap:7px;margin-top:16px;font-size:13px;font-weight:750;display:grid}.attendance-field span{color:var(--muted);font-weight:500}.attendance-field-caption{color:var(--ink-secondary);font-size:13px;font-weight:750}.attendance-field-caption em{color:var(--muted);font-style:normal;font-weight:500}.attendance-field input,.attendance-field select,.attendance-field textarea{border:1px solid var(--line);color:var(--ink);resize:vertical;background:#fff;border-radius:9px;outline:none;width:100%;min-height:46px;padding:11px 12px}.attendance-field textarea{min-height:104px}.attendance-field-help{color:var(--muted);font-size:12px;font-weight:500;line-height:1.45;display:block}.attendance-site-row{align-items:stretch;gap:8px;display:flex}.attendance-site-row input{flex:1;min-width:0}.attendance-map-button{border:1px solid var(--line);color:var(--brand-dark);cursor:pointer;background:#fff;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;gap:7px;min-height:46px;padding:10px 13px;font-size:13px;font-weight:750;display:inline-flex}.attendance-map-button:hover:not(:disabled){border-color:var(--brand);background:var(--brand-soft)}.attendance-map-button:disabled{cursor:not-allowed;opacity:.5}.attendance-map-button:focus-visible{outline:3px solid var(--brand-glow);outline-offset:2px}.attendance-location{border:1px solid var(--line);background:#f8faf9;border-radius:11px;gap:9px;margin-top:18px;padding:14px;display:grid}.attendance-location-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.attendance-location-title{color:var(--ink);align-items:center;gap:8px;font-size:13px;font-weight:800;display:flex}.attendance-optional{border:1px solid var(--line);color:var(--muted);letter-spacing:.04em;text-transform:uppercase;background:#eef2f1;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:800}.attendance-location-clear{border:1px solid var(--line);color:var(--ink-secondary);cursor:pointer;background:0 0;border-radius:8px;min-height:34px;padding:6px 11px;font-size:12px;font-weight:750}.attendance-location-clear:hover{color:#8f2e25;border-color:#d98a80}.attendance-location-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.attendance-location-link{color:var(--brand-dark);text-underline-offset:3px;font-size:13px;font-weight:750;text-decoration:underline}.attendance-location-result{border-left:3px solid var(--line);margin:0;padding-left:10px;font-size:12px;line-height:1.5}.attendance-location-result[data-state=ok]{color:#146039;border-left-color:#58a97e}.attendance-location-result[data-state=error]{color:#8f2e25;border-left-color:#d98a80;font-weight:650}@media (max-width:480px){.attendance-location-actions{flex-direction:column;align-items:stretch}.attendance-location-actions .attendance-map-button{justify-content:center;width:100%}.attendance-location-link{text-align:center}}.attendance-field input:focus,.attendance-field select:focus,.attendance-field textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow)}.attendance-submit{background:var(--brand);color:#fff;border:0;border-radius:9px;width:100%;min-height:48px;margin-top:22px;padding:12px 18px;font-weight:800}.attendance-submit:hover:not(:disabled){background:var(--brand-dark)}.attendance-submit:disabled{cursor:not-allowed;opacity:.58}.attendance-finish{color:#8f2e25;background:#fff;border:1px solid #c98378;border-radius:9px;width:100%;min-height:48px;margin-top:10px;padding:12px 18px;font-weight:800}.attendance-finish:hover:not(:disabled){background:#fff4f2}.attendance-finish:disabled{cursor:not-allowed;opacity:.58}.attendance-current-segment{background:var(--brand-soft);border:1px solid #b8ddc8;border-radius:11px;gap:5px;margin:16px 0;padding:14px;display:grid}.attendance-current-segment strong{color:var(--brand-dark);letter-spacing:.04em;text-transform:uppercase;font-size:12px}.attendance-current-segment span{overflow-wrap:anywhere;font-size:14px;font-weight:700}.attendance-current-segment small{color:var(--muted);font-variant-numeric:tabular-nums}.attendance-action-options{border:0;gap:8px;margin:18px 0 2px;padding:0;display:grid}.attendance-action-options legend{color:var(--ink-secondary);margin-bottom:4px;font-size:13px;font-weight:750}.attendance-action-options button{border:1px solid var(--line);color:var(--ink-secondary);cursor:pointer;text-align:left;background:#fff;border-radius:9px;min-height:42px;padding:9px 12px;font-size:13px;font-weight:700}.attendance-action-options button.is-active{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-dark)}.attendance-privacy{border-top:1px solid var(--line);margin-top:18px;padding-top:15px}.attendance-continue-hint{color:var(--muted);text-align:center;margin:10px 0 0;font-size:12px;line-height:1.5}.attendance-timeline{gap:0;margin:16px 0 0;padding:0;list-style:none;display:grid}.attendance-timeline li{grid-template-columns:52px minmax(0,1fr);gap:12px;padding:0 0 14px;display:grid;position:relative}.attendance-timeline li:before{background:var(--line);content:"";width:2px;height:100%;position:absolute;top:6px;left:56px}.attendance-timeline li:last-child:before{display:none}.attendance-timeline time{color:var(--muted);font-variant-numeric:tabular-nums;padding-top:2px;font-size:12px}.attendance-timeline-body{gap:3px;min-width:0;padding-left:4px;display:grid}.attendance-timeline-body strong{color:var(--brand-dark);letter-spacing:.03em;text-transform:uppercase;font-size:12px}.attendance-timeline-body span{overflow-wrap:anywhere;font-size:13px}.attendance-timeline-body small{color:var(--muted);overflow-wrap:anywhere;font-size:12px}.attendance-alert{border-radius:10px;margin:0 0 16px;padding:12px 15px;font-size:13px;font-weight:650}.attendance-records{gap:10px;max-height:610px;margin:20px 0 0;padding:0;list-style:none;display:grid;overflow:auto}.attendance-records li{border:1px solid var(--line);border-radius:10px;padding:14px}.attendance-record-meta{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.attendance-record-meta strong{font-size:14px}.attendance-record-meta time{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;font-size:12px}.attendance-records p{color:var(--ink);margin-top:8px;font-size:14px}.attendance-records span{color:var(--brand-dark);overflow-wrap:anywhere;margin-top:6px;font-size:12px;font-weight:700;display:block}.attendance-field-error{color:#8f2e25;font-size:12px;font-weight:700;line-height:1.4;display:block}.attendance-field input[aria-invalid=true],.attendance-field textarea[aria-invalid=true]{border-color:#d98a80}.attendance-alert:focus-visible{outline:3px solid var(--brand-glow);outline-offset:2px}.attendance-today{border:1px solid var(--line);background:#f8faf9;border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;padding:12px 14px;font-size:13px;display:flex}.attendance-today>span:last-child{color:var(--muted)}.attendance-tag{border:1px solid var(--line);color:var(--ink-secondary);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;background:#eef2f1;border-radius:999px;justify-self:start;padding:4px 10px;font-size:11px;font-weight:800}.attendance-tag[data-state=empty]{color:#8a6116;background:#fdf6e3;border-color:#ecd9a8}.attendance-tabs{border:1px solid var(--line);background:#eef2f1;border-radius:11px;gap:4px;padding:4px;display:flex}.attendance-tab{color:var(--ink-secondary);cursor:pointer;background:0 0;border:0;border-radius:8px;min-height:44px;padding:9px 15px;font-size:13px;font-weight:750}.attendance-tab:hover{color:var(--ink)}.attendance-tab[aria-current=page]{color:var(--brand-dark);background:#fff;box-shadow:0 1px 2px #1028201a}.attendance-consultation{gap:18px;display:grid}.attendance-filters{gap:14px;padding:clamp(16px,2.4vw,22px);display:grid}.attendance-filter-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.attendance-segments{border:1px solid var(--line);background:#eef2f1;border-radius:10px;gap:3px;padding:3px;display:inline-flex}.attendance-segment{color:var(--ink-secondary);cursor:pointer;background:0 0;border:0;border-radius:8px;min-height:44px;padding:9px 16px;font-size:13px;font-weight:750}.attendance-segment[aria-selected=true]{color:var(--brand-dark);background:#fff;box-shadow:0 1px 2px #1028201a}.attendance-period-nav{align-items:center;gap:8px;display:flex}.attendance-nav-button{border:1px solid var(--line);color:var(--ink-secondary);cursor:pointer;background:#fff;border-radius:9px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.attendance-nav-button:hover{border-color:var(--brand);color:var(--brand-dark)}.attendance-nav-date{color:var(--muted);text-transform:uppercase;align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.attendance-nav-date input{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:9px;min-height:44px;padding:9px 11px;font-size:14px;font-weight:650}.attendance-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.attendance-filter-summary{border-top:1px solid var(--line);color:var(--muted);margin:2px 0 0;padding-top:12px;font-size:13px}.attendance-filter-summary strong{color:var(--ink)}.attendance-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.attendance-metric{border:1px solid var(--line);background:#fff;border-radius:12px;gap:6px;padding:15px 17px;display:grid}.attendance-metric span{color:var(--muted);font-size:12px;font-weight:650;line-height:1.35}.attendance-metric strong{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:26px}.attendance-results{padding:clamp(18px,2.6vw,26px)}.attendance-results-count{color:var(--muted);font-size:12px;font-weight:700}.attendance-privacy-note{color:var(--muted);margin:12px 0 0;font-size:12px}.attendance-table-scroll{margin-top:16px;overflow-x:auto}.attendance-table th,.attendance-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:11px 12px}.attendance-table thead th{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;background:#f8faf9;font-size:11px}.attendance-table tbody th{font-weight:750}.attendance-table td{color:var(--ink-secondary)}.attendance-muted{color:var(--muted)}.attendance-rollups{gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.attendance-rollup{border:1px solid var(--line);border-radius:12px;padding:13px 15px}.attendance-rollup-head{cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:minmax(0,1.25fr) minmax(0,1.5fr) auto auto;align-items:center;gap:8px 14px;width:100%;padding:0;display:grid}.attendance-rollup-name{gap:2px;min-width:0;display:grid}.attendance-rollup-name strong{overflow-wrap:anywhere;font-size:14px}.attendance-rollup-name small{color:var(--muted);font-size:12px}.attendance-rollup-stats{color:var(--muted);flex-wrap:wrap;gap:4px 14px;font-size:12px;display:flex}.attendance-rollup-chevron{color:var(--muted);align-items:center;display:inline-flex}.attendance-rollup-latest{color:var(--muted);overflow-wrap:anywhere;margin:9px 0 0;font-size:12px;line-height:1.5}.attendance-rollup-latest strong{color:var(--ink-secondary)}.attendance-rollup-detail{border-top:1px solid var(--line);gap:14px;margin-top:12px;padding-top:12px;display:grid}.attendance-rollup-detail h3{color:var(--brand-dark);letter-spacing:.04em;text-transform:uppercase;margin:0 0 6px;font-size:12px}.attendance-rollup-detail ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.attendance-rollup-detail li{grid-template-columns:58px minmax(0,1fr);gap:10px;font-size:13px;display:grid}.attendance-record-time{color:var(--muted);font-variant-numeric:tabular-nums}.attendance-rollup-detail strong{font-size:12px;display:block}.attendance-rollup-detail em{color:var(--brand-dark);overflow-wrap:anywhere;margin-top:2px;font-size:12px;font-style:normal;font-weight:700;display:block}.attendance-rollup-detail p{color:var(--ink-secondary);margin:4px 0 0}@media (max-width:1020px){.attendance-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-filter-grid{grid-template-columns:1fr 1fr}}@media (max-width:860px){.attendance-hero{flex-direction:column;align-items:start}.attendance-layout{grid-template-columns:1fr}.attendance-status{width:100%}.attendance-rollup-head{grid-template-columns:minmax(0,1fr) auto}.attendance-rollup-stats{grid-column:1/-1}}@media (max-width:700px){.attendance-filter-grid{grid-template-columns:1fr}.attendance-filter-row{flex-direction:column;align-items:stretch}.attendance-period-nav{justify-content:space-between}.attendance-segments{grid-template-columns:repeat(3,1fr);display:grid}}@media (max-width:480px){.attendance-page{padding:18px 14px}.attendance-record-meta{flex-direction:column;align-items:start;gap:3px}.attendance-record-meta time{text-align:left}.attendance-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.attendance-metric{padding:12px 13px}.attendance-metric strong{font-size:22px}.attendance-tabs{width:100%}.attendance-tab{flex:1;min-height:44px;padding:9px 10px}.attendance-segment,.attendance-rollup-head{min-height:44px}.attendance-rollup-head .attendance-tag{justify-self:start}.attendance-rollup-detail li{grid-template-columns:1fr}.attendance-timeline li{grid-template-columns:46px minmax(0,1fr);gap:10px}.attendance-timeline li:before{left:50px}}@media (orientation:landscape) and (max-height:520px){.attendance-hero{margin-bottom:16px}.attendance-filter-row{flex-direction:row}}.attendance-page{gap:20px}.attendance-hero{border-bottom:1px solid var(--line);align-items:flex-start;gap:24px;padding-bottom:20px}.attendance-hero>div:first-child{min-width:0;max-width:760px}.attendance-eyebrow,.attendance-panel-heading p{letter-spacing:.1em;margin-bottom:7px;font-size:11px}.attendance-hero h1{font-size:clamp(1.9rem,3vw,2.5rem);line-height:1.08}.attendance-hero>div>p:last-child{max-width:72ch;margin-top:8px;font-size:13.5px;line-height:1.55}.attendance-status{box-shadow:none;min-height:44px}.attendance-layout{gap:20px}.attendance-form,.attendance-history{box-shadow:none;padding:20px 22px}.attendance-panel-heading{align-items:flex-start;gap:16px}.attendance-panel-heading h2{font-size:22px;line-height:1.15}.attendance-field input,.attendance-field select,.attendance-field textarea{border-radius:7px;min-height:44px;padding:9px 11px;font-size:13.5px;transition:border-color .16s,box-shadow .16s}.attendance-field input:focus,.attendance-field select:focus,.attendance-field textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow);outline-offset:2px;outline:3px solid #0b7a4757}.attendance-submit,.attendance-finish{border-radius:7px;min-height:46px;font-size:13px;transition:background-color .16s,border-color .16s,color .16s}.attendance-submit:hover:not(:disabled),.attendance-finish:hover:not(:disabled){transform:none}.attendance-metrics{gap:10px}.attendance-metric{border:1px solid var(--line);box-shadow:none;background:#fff;border-radius:8px;padding:14px 16px}.attendance-metric span{font-size:11.5px;font-weight:650}.attendance-metric strong{font-family:var(--font-sans,Inter, system-ui, sans-serif);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:1.5rem;font-weight:750}.attendance-tabs{gap:4px;padding:4px}.attendance-tab{min-height:44px;padding:9px 13px;font-size:13px;transition:background-color .16s,color .16s}.attendance-tab[aria-current=page]{background:var(--brand-soft);color:var(--brand-dark);box-shadow:none;border:1px solid #c4ddcf;font-weight:800}.attendance-segments{gap:3px;padding:3px}.attendance-segment{min-height:44px;padding:9px 13px;font-size:13px;transition:background-color .16s,color .16s}.attendance-segment[aria-selected=true]{background:var(--brand-soft);color:var(--brand-dark);box-shadow:none;border:1px solid #c4ddcf;font-weight:800}.attendance-nav-button{min-width:44px;min-height:44px}.attendance-nav-date input{min-height:44px}.attendance-filter-grid{gap:10px}.attendance-filter-grid .attendance-field{margin-top:0}.attendance-table-scroll{scrollbar-color:#b9ccc1 transparent;scrollbar-width:thin;border-radius:8px;overflow-x:auto}.attendance-table{border-collapse:collapse;width:100%;min-width:720px;font-size:13px}.attendance-table thead th{border-bottom:1px solid var(--line);color:var(--ink-secondary);letter-spacing:0;text-align:left;text-transform:none;vertical-align:bottom;white-space:nowrap;background:#f7faf8;padding:11px 12px;font-size:12px;font-weight:750}.attendance-table tbody tr{border-bottom:1px solid #eaf0ec}.attendance-table tbody tr:last-child{border-bottom:0}.attendance-table tbody tr:hover{background:#fafcfb}.attendance-table td,.attendance-table tbody th{color:var(--ink-secondary);vertical-align:middle;padding:12px}.attendance-cell-time{font-variant-numeric:tabular-nums;white-space:nowrap}.attendance-record-meta strong{font-size:13px;font-weight:650}.attendance-rollup{box-shadow:none}.attendance-rollup-head{min-height:44px}.attendance-rollup-chevron{width:16px;height:16px}.attendance-alert{border-radius:7px;padding:10px 12px;font-size:12.5px;line-height:1.45}.attendance-alert--error{color:#97372a;background:#fdf2f0;border:1px solid #f1cdc6}.attendance-alert--success{background:var(--brand-soft);color:#146039;border:1px solid #b8ddc8}.attendance-today{border-radius:8px;gap:8px;padding:12px 14px}.attendance-tag{letter-spacing:0;text-transform:none;padding:3px 9px;font-size:11px}.attendance-tag--ok{background:var(--brand-soft);color:#146039;border-color:#b8ddc8}.attendance-tag--closed{color:var(--ink-secondary);background:#eef2f1;border-color:#d8e3dc}.attendance-tag--review{color:#8a6a00;background:#fff7e6;border-color:#f0d9a8}.attendance-close-summary{border:1px solid var(--border,#d8e3dc);background:var(--surface,#f7faf8);border-radius:8px;margin-top:8px;padding:14px}.attendance-close-list{gap:6px;margin:8px 0;display:grid}.attendance-close-list div{justify-content:space-between;gap:8px;display:flex}.attendance-close-list dt{color:var(--ink-secondary);font-weight:600}.attendance-close-list dd{text-align:right;margin:0}.attendance-close-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.attendance-close-actions .attendance-finish,.attendance-close-actions .attendance-secondary{flex:160px;min-height:44px}.attendance-finish{width:100%;min-height:44px}.attendance-location{border-radius:8px;gap:8px;padding:12px 14px}.attendance-location-clear{min-height:44px}.attendance-map-button{min-height:44px;transition:background-color .16s,border-color .16s,color .16s}.attendance-map-button:hover:not(:disabled){transform:none}.attendance-mark{width:36px;height:36px}.attendance-helper,.attendance-privacy,.attendance-empty{font-size:12.5px;line-height:1.5}.attendance-field b{color:#97372a}.attendance-field-error{color:#97372a;font-size:12px;font-weight:600}@media (max-width:1020px){.attendance-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-filter-grid{grid-template-columns:1fr 1fr}}@media (max-width:860px){.attendance-hero{flex-direction:column;align-items:flex-start;gap:16px}.attendance-layout{grid-template-columns:1fr}.attendance-status{width:100%}.attendance-rollup-head{grid-template-columns:minmax(0,1fr) auto}.attendance-rollup-stats{grid-column:1/-1}}@media (max-width:700px){.attendance-filter-grid{grid-template-columns:1fr}.attendance-filter-row{flex-direction:column;align-items:stretch}.attendance-period-nav{justify-content:space-between}.attendance-segments{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.attendance-table{min-width:640px}}@media (max-width:480px){.attendance-page{padding:18px 14px}.attendance-record-meta{flex-direction:column;align-items:start;gap:3px}.attendance-record-meta time{text-align:left}.attendance-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.attendance-metric{padding:12px 13px}.attendance-metric strong{font-size:1.35rem}.attendance-tabs{width:100%}.attendance-tab{flex:1;min-height:44px;padding:9px 10px}.attendance-segment,.attendance-rollup-head{min-height:44px}.attendance-rollup-head .attendance-tag{justify-self:start}.attendance-rollup-detail li{grid-template-columns:1fr}.attendance-timeline li{grid-template-columns:46px minmax(0,1fr);gap:10px}.attendance-timeline li:before{left:50px}}@media (prefers-reduced-motion:reduce){.attendance-page *,.attendance-page :before,.attendance-page :after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.attendance-delegated{border-top:1px solid var(--line);gap:14px;margin-top:22px;padding-top:20px;display:grid}.attendance-delegated-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.attendance-delegated-form .attendance-field:nth-child(4),.attendance-delegated-form .attendance-field:nth-child(5),.attendance-delegated-form .attendance-submit{grid-column:1/-1}.attendance-delegated-list{gap:8px;margin:2px 0 0;padding:0;list-style:none;display:grid}.attendance-delegated-list li{border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px;display:flex}.attendance-delegated-list li>div:first-child{gap:3px;min-width:0;display:grid}.attendance-delegated-list strong{font-size:13px}.attendance-delegated-list span:not(.attendance-tag),.attendance-delegated-list small{color:var(--ink-secondary);overflow-wrap:anywhere;font-size:12px}.attendance-delegated-status{place-items:flex-end end;gap:8px;display:grid}.attendance-delegated-status>div{gap:6px;display:flex}.attendance-delegated-status button{border:1px solid var(--line);color:var(--brand-dark);background:#fff;border-radius:6px;min-height:34px;padding:6px 9px;font-size:12px;font-weight:700}.attendance-delegated-status button:last-child{color:#8f2e25}@media (max-width:560px){.attendance-delegated-form{grid-template-columns:1fr}.attendance-delegated-form .attendance-field:nth-child(4),.attendance-delegated-form .attendance-field:nth-child(5),.attendance-delegated-form .attendance-submit{grid-column:auto}.attendance-delegated-list li{flex-direction:column}.attendance-delegated-status{place-items:flex-start start}}.kardex-section,.critical-stock-panel,.project-tab-content,.dashboard-panel,.inventory-table-container,.inventory-tabs-nav{-webkit-overflow-scrolling:touch;overflow-x:auto}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:1000;background:#0c1f1899;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-content{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;width:100%;max-width:580px;max-height:90vh;padding:28px;overflow-y:auto;box-shadow:0 20px 50px #00000040}.modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-header h2{letter-spacing:-.02em;margin:0;font-size:19px;font-weight:700}.modal-header button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:6px 10px;font-size:20px;line-height:1}.modal-header button:hover{color:var(--ink)}.form-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-group label{color:var(--ink-secondary);font-size:12.5px;font-weight:700}.form-group input,.form-group select{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);background:#fff;padding:10px 12px;font-size:13.5px;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow);outline:none}.form-row-2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.calc-preview-box{background:var(--brand-soft);border-radius:var(--radius-sm);border:1px dashed #0b7a4759;justify-content:space-between;align-items:center;margin-bottom:20px;padding:12px 16px;display:flex}.calc-preview-box span{color:var(--brand-dark);font-size:12px;font-weight:700}.calc-preview-box strong{color:var(--brand-dark);font-variant-numeric:tabular-nums;font-size:16px}.modal-actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.btn-cancel{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink-secondary);cursor:pointer;background:#fff;padding:10px 18px;font-size:13px;font-weight:700}.btn-submit{background:var(--brand);border-radius:var(--radius-sm);color:#fff;cursor:pointer;border:0;padding:10px 20px;font-size:13px;font-weight:700;transition:background .2s}.btn-submit:hover{background:var(--brand-dark)}@media (max-width:1024px){.dashboard-content{padding:28px 24px 44px}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.project-metrics-grid,.inventory-summary-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.dashboard-topbar{height:60px;padding:0 16px}.dashboard-content{padding:22px 16px 40px}.dashboard-heading{flex-direction:column;align-items:flex-start;gap:16px}.dash-quick-btns{grid-template-columns:1fr 1fr;gap:8px;width:100%;display:grid}.dash-quick-btns button{text-align:center;justify-content:center;width:100%;padding:10px 8px;font-size:12px}.dashboard-toolbar-bar{flex-direction:column;align-items:flex-start;gap:12px;padding:14px 16px}.toolbar-buttons{grid-template-columns:repeat(2,1fr);gap:8px;width:100%;display:grid}.toolbar-buttons .tb-btn{text-align:center;justify-content:center;padding:8px 10px;font-size:11.5px}.toolbar-buttons .btn-link-inv{grid-column:1/-1}.dashboard-stat-grid{grid-template-columns:repeat(2,1fr);gap:12px}.dashboard-stat-grid article{min-height:110px;padding:14px}.dashboard-stat-grid strong{font-size:22px}.dashboard-intel-grid{grid-template-columns:1fr;gap:16px}.chart-bar-row{grid-template-columns:95px 1fr 85px;gap:8px}.chart-bar-row .chart-label strong{font-size:11px}.chart-bar-row .chart-label small{font-size:10px}.chart-bar-row .chart-value{font-size:11px}.toast-container{bottom:14px;left:14px;right:14px}.toast-item{max-width:100%}.voucher-info-grid{grid-template-columns:1fr}.voucher-signatures{grid-template-columns:1fr;gap:24px}.voucher-modal-container{margin:10px}.voucher-modal-overlay{align-items:flex-start;padding:8px}.voucher-modal-actions{gap:12px;padding:12px 14px}.voucher-modal-title h2{font-size:15px}.printable-voucher-sheet{padding:24px 16px}}@media (max-width:480px){.dashboard-content{padding:16px 12px 36px}.dashboard-heading h1{font-size:22px}.greeting-activity{gap:6px}.activity-pill{padding:3px 8px;font-size:10.5px}.dash-quick-btns,.toolbar-buttons,.dashboard-stat-grid,.form-row-2,.project-metrics-grid,.inventory-summary-cards{grid-template-columns:1fr}.modal-content{padding:18px 14px}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%;min-height:44px}.printable-voucher-sheet{padding:16px 10px}.voucher-header{flex-direction:column;gap:12px}.voucher-folio{text-align:left}.top-mat-row{grid-template-columns:26px 1fr auto;padding:10px}.top-mat-info strong,.top-mat-cost strong{font-size:12px}.project-card{padding:18px}.prj-card-header h3{font-size:15px}.fin-row{font-size:11.5px}.req-item,.loan-item{flex-direction:column;align-items:flex-start;gap:10px}.btn-approve-req,.btn-return-tool{text-align:center;width:100%}}@media print{:is(body:has(.apu-print-sheet) *,body:has(.printable-proposal-wrapper) *){visibility:hidden!important}:is(body:has(.apu-print-sheet) .apu-print-overlay,body:has(.apu-print-sheet) .apu-print-sheet,body:has(.apu-print-sheet) .apu-print-sheet *,body:has(.printable-proposal-wrapper) .printable-backdrop,body:has(.printable-proposal-wrapper) .printable-proposal-wrapper,body:has(.printable-proposal-wrapper) .printable-proposal-wrapper *){visibility:visible!important}:is(body:has(.apu-print-sheet) .apu-print-overlay,body:has(.printable-proposal-wrapper) .printable-backdrop){background:0 0!important;padding:0!important;position:fixed!important;inset:0!important}:is(body:has(.apu-print-sheet) .apu-print-sheet,body:has(.printable-proposal-wrapper) .printable-proposal-wrapper){box-shadow:none!important;width:100%!important;max-width:none!important;margin:0!important}body:has(.printable-voucher-sheet) *{visibility:hidden!important}:is(body:has(.printable-voucher-sheet) .voucher-modal-overlay,body:has(.printable-voucher-sheet) .voucher-modal-container,body:has(.printable-voucher-sheet) .printable-voucher-sheet,body:has(.printable-voucher-sheet) .printable-voucher-sheet *){visibility:visible!important}body:has(.printable-voucher-sheet) .voucher-modal-overlay{background:0 0!important;padding:0!important;position:fixed!important;inset:0!important}body:has(.printable-voucher-sheet) .voucher-modal-container{box-shadow:none!important;border:0!important;max-width:none!important}body:has(.printable-voucher-sheet) .printable-voucher-sheet{box-shadow:none!important;width:100%!important;min-height:auto!important;margin:0!important;padding:14mm!important}body:has(.printable-voucher-sheet) .no-print{display:none!important}}@media (max-width:768px){.projects-selector-bar,.project-detail-container,.project-main-card,.project-tab-content,.projects-grid{min-width:0;max-width:100%}.projects-selector-bar{flex-wrap:wrap;align-items:stretch;display:flex;overflow:visible}.projects-selector-bar>*{max-width:100%}.project-tabs-header{grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:visible}.project-tabs-header .tab-btn{white-space:normal;min-width:0}.project-metrics-grid{grid-template-columns:1fr}.project-tab-content{overflow-x:hidden}.project-history-table{max-width:100%;display:block;overflow-x:auto}}:root{--ink:#0c1f18;--ink-secondary:#3d5249;--muted:#64756d;--subtle:#94a49c;--line:#d8e3dc;--canvas:#f5f8f6;--surface:#fff;--brand:#0b7a47;--brand-dark:#065c34;--brand-deeper:#044427;--brand-soft:#e4f3eb;--brand-glow:#0b7a471a;--accent:#c49024;--accent-soft:#fdf5e4;--focus:#0b7a47;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--shadow-xs:0 1px 2px #0c1f180a;--shadow-sm:0 1px 3px #0c1f180f, 0 8px 24px #0c1f180a;--shadow-md:0 4px 12px #0c1f180f, 0 16px 40px #0c1f180f;--shadow-lg:0 8px 24px #0c1f1814, 0 24px 60px #0c1f1814}*,:before,:after{box-sizing:border-box;margin:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}html,body{min-height:100%}body{background:var(--canvas);color:var(--ink);font-family:var(--font-sans,Inter, system-ui, -apple-system, sans-serif);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;line-height:1.5}h1,h2,h3,h4,h5,h6{text-wrap:balance;line-height:1.15}p{text-wrap:pretty}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img,svg{max-width:100%;display:block}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:4px}.skip-link{background:var(--ink);border-radius:var(--radius-sm);color:#fff;z-index:100;padding:12px 16px;font-size:14px;font-weight:700;transition:top .2s;position:fixed;top:-60px;left:16px}.skip-link:focus{top:16px}.auth-page{background:radial-gradient(ellipse at 10% 15%, #0b7a4712 0%, transparent 50%), radial-gradient(ellipse at 90% 85%, #c490240f 0%, transparent 50%), var(--canvas);justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.auth-card{-webkit-backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);background:#ffffffe0;width:100%;max-width:420px;padding:42px}.brand{letter-spacing:-.01em;align-items:center;gap:10px;font-size:15px;font-weight:700;display:inline-flex}.brand-mark{background:var(--brand);color:#fff;border-radius:9px;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;font-weight:800;display:inline-flex}.eyebrow{color:var(--brand);letter-spacing:.1em;text-transform:uppercase;margin:34px 0 9px;font-size:12px;font-weight:800}.auth-card h1{font-family:var(--font-display,"Playfair Display", Georgia, serif);letter-spacing:-.04em;font-size:28px}.auth-card p{color:var(--muted);margin:10px 0 28px;line-height:1.55}.form-field{gap:8px;margin-top:17px;font-size:13px;font-weight:700;display:grid}.form-field input{border:1px solid var(--line);border-radius:var(--radius-sm);outline:none;padding:12px 13px;transition:border-color .2s,box-shadow .2s}.form-field input:focus-visible{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow);outline:none}.primary-button{background:var(--brand);border-radius:var(--radius-sm);color:#fff;cursor:pointer;text-align:center;border:0;width:100%;margin-top:25px;padding:14px;font-weight:700;transition:background .2s,transform .15s;display:block}.primary-button:hover{background:var(--brand-dark)}.primary-button:active{transform:scale(.985)}.primary-button:disabled{opacity:.7;cursor:not-allowed}.auth-note{color:var(--muted);text-align:center;font-size:12px;margin-bottom:0!important}.auth-error{border-radius:var(--radius-sm);color:#a33b2d;background:#fef2f0;border:1px solid #f3c8c0;margin-top:16px;padding:11px 14px;font-size:12px;font-weight:700}.auth-success{border-radius:var(--radius-sm);background:#edf8f1;border:1px solid #b7dfc5;padding:11px 14px;font-size:12px;font-weight:700;color:#176b42!important;margin:16px 0 0!important}.auth-password-link{color:var(--brand);text-underline-offset:3px;margin-top:16px;font-size:13px;font-weight:700;text-decoration:underline;display:inline-block}.auth-password-link-centered{text-align:center;display:block}.dashboard-password-link{color:var(--brand);white-space:nowrap;padding:8px;font-size:12px;font-weight:750;text-decoration:none}.access-denied{text-align:center;max-width:620px;margin:0 auto;padding:clamp(24px,4vw,44px)}.access-denied h1{font-family:var(--font-display,Georgia, serif);letter-spacing:-.02em;font-size:clamp(24px,3vw,32px)}.access-denied p{color:var(--muted);max-width:460px;margin:14px auto 22px;line-height:1.6}.access-denied a{background:var(--brand);border-radius:var(--radius-sm,9px);color:#fff;justify-content:center;align-items:center;min-height:46px;padding:12px 20px;font-weight:750;text-decoration:none;display:inline-flex}.settings-tabs{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:0 0 18px;display:grid}.settings-tab{border:1px solid var(--line);border-radius:var(--radius-sm,9px);color:var(--ink);cursor:pointer;text-align:left;background:#fff;gap:4px;padding:12px 14px;display:grid}.settings-tab small{color:var(--muted);font-size:12px;line-height:1.35}.settings-tab[aria-selected=true]{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-glow)}.settings-tab[aria-selected=true] strong{color:var(--brand-dark)}.settings-subheading{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-secondary);margin:22px 0 8px;font-size:13px}.settings-signature-row{grid-template-columns:minmax(180px,240px) minmax(0,1fr);align-items:center;gap:16px;display:grid}.settings-signature-preview{border:1px dashed var(--line);background:#f8faf9;border-radius:9px;justify-content:center;align-items:center;min-height:96px;padding:10px;display:flex}.settings-signature-preview img{object-fit:contain;max-width:100%;max-height:76px}.settings-toggles{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;display:grid}.settings-toggle{align-items:center;gap:9px;font-size:13px;display:flex}.settings-toggle input{width:18px;height:18px}.settings-file-input{font-size:13px}@media (max-width:620px){.settings-signature-row,.settings-tabs{grid-template-columns:1fr}}.rental-return-modal{max-width:560px}.rental-return-summary{border:1px solid var(--line);background:#f8faf9;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:16px 0;padding:14px;display:grid}.rental-return-summary span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:700;display:block}.rental-return-summary strong{overflow-wrap:anywhere;font-size:13px}.rental-return-field{color:var(--ink-secondary);gap:7px;margin-bottom:14px;font-size:13px;font-weight:700;display:grid}.rental-return-field input,.rental-return-field textarea{border:1px solid var(--line);color:var(--ink);resize:vertical;background:#fff;border-radius:9px;width:100%;min-height:46px;padding:11px 12px}.rental-return-field input:focus,.rental-return-field textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow);outline:none}.rental-invoice-signature{object-fit:contain;width:160px;height:42px;margin:0 auto 6px;display:block}.signature-line-body strong,.signature-line-body small{display:block}@media (max-width:520px){.rental-return-summary{grid-template-columns:1fr}}.dashboard-account{position:relative}.dashboard-avatar--button{cursor:pointer;font:inherit;background:0 0;border:0;width:38px;height:38px}.dashboard-avatar--button:focus-visible{outline:3px solid var(--brand-glow);outline-offset:2px}.dashboard-account-menu{border:1px solid var(--line);z-index:60;background:#fff;border-radius:12px;gap:2px;min-width:232px;padding:8px;display:grid;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 12px 32px #10282029}.dashboard-account-menu a,.dashboard-account-menu button{white-space:nowrap;width:100%}.dashboard-account-identity{border-bottom:1px solid var(--line);gap:2px;margin:0 0 6px;padding:6px 8px 10px;display:grid}.dashboard-account-identity strong{overflow-wrap:anywhere;font-size:13px}.dashboard-account-identity small{color:var(--muted);font-size:11px}.dashboard-account-item{color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;min-height:44px;padding:9px 10px;font-size:13px;font-weight:650;text-decoration:none;display:flex}.dashboard-account-item:hover{background:#f1f5f4}.dashboard-account-item:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.dashboard-account-item svg{flex-shrink:0;width:18px;height:18px}.exec-summary-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;margin:0 0 18px;display:grid}.exec-summary-card{border:1px solid var(--line);border-radius:var(--radius-md,12px);background:#fff;gap:14px;padding:clamp(16px,2.2vw,22px);display:grid}.exec-summary-heading{justify-content:space-between;align-items:start;gap:12px;display:flex}.exec-summary-heading p{color:var(--brand);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:11px;font-weight:800}.exec-summary-heading h2{letter-spacing:-.02em;margin:4px 0 0;font-size:18px}.exec-summary-heading a{color:var(--brand-dark);white-space:nowrap;font-size:13px;font-weight:750}.exec-summary-stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;display:grid}.exec-summary-stats div{border:1px solid var(--line);background:#f8faf9;border-radius:10px;gap:4px;padding:11px 13px;display:grid}.exec-summary-stats span{color:var(--muted);font-size:11px;font-weight:650;line-height:1.3}.exec-summary-stats strong{font-variant-numeric:tabular-nums;font-size:22px}.exec-summary-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.exec-summary-list li{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding-top:8px;display:flex}.exec-summary-list strong{overflow-wrap:anywhere;font-size:13px;display:block}.exec-summary-list small{color:var(--muted);font-size:11px;display:block}.exec-summary-due{color:var(--ink-secondary);text-align:right;white-space:nowrap;font-size:12px}.exec-summary-due[data-late=true]{color:#922b21;font-weight:750}.exec-summary-current{gap:3px;margin:0;display:grid}.exec-summary-current strong{color:var(--brand-dark);letter-spacing:.04em;text-transform:uppercase;font-size:11px}.exec-summary-current span{font-size:13px}.exec-summary-current small{color:var(--muted);font-size:12px}.exec-summary-empty{color:var(--muted);margin:0;font-size:12px;line-height:1.5}@media (max-width:560px){.exec-summary-list li{flex-direction:column;align-items:start}.exec-summary-due{text-align:left}}.dashboard-nav-group{gap:2px;margin:10px 0 2px;display:grid}.dashboard-nav-group-label{color:var(--muted);cursor:pointer;letter-spacing:.12em;text-align:left;text-transform:uppercase;background:0 0;border:0;align-items:center;gap:6px;width:100%;min-height:32px;padding:4px 10px;font-size:10px;font-weight:800;display:flex}.dashboard-nav-group-label:hover{color:var(--brand-dark)}.dashboard-nav-group-label:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.dashboard-nav-group-label svg{flex-shrink:0}@media (max-width:860px){.dashboard-nav-group-label{min-height:40px}}.modal-header{background-color:#fff}.rental-invoice-modal .modal-header{margin-bottom:1rem;position:static}.rental-invoice-modal .modal-card-actions{justify-content:flex-end;gap:10px;margin-top:1.25rem;display:flex}.company-signature{text-align:center;justify-items:center;gap:2px;display:grid}.company-signature strong{font-size:13px;display:block}.company-signature small{color:var(--muted);font-size:11px;display:block}.company-signature img{object-fit:contain;max-width:100%;max-height:56px}.labor-rates-settings select,.labor-rates-settings input{border:1px solid var(--line);color:var(--ink);font:inherit;background:#fff;border-radius:7px;width:100%;min-height:42px;padding:9px 10px}.labor-rate-list{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;display:grid}.labor-rate-card{border:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:left;background:#fff;border-radius:9px;gap:4px;min-height:72px;padding:12px;display:grid}.labor-rate-card span,.labor-rate-entry-list span{color:var(--muted);font-size:12px}.labor-rate-card.is-selected{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-glow)}.labor-rate-entry-form{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.labor-rate-entry-form button{grid-column:span 2}.labor-rate-entry-list{border-top:1px solid var(--line);margin-top:8px;display:grid}.labor-rate-entry-list>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:10px 0;display:flex}@media (max-width:780px){.labor-rate-entry-form{grid-template-columns:repeat(2,minmax(0,1fr))}.labor-rate-entry-form button{grid-column:span 2}}.dashboard-nav-search{gap:4px;margin:0 6px 12px;display:grid}.dashboard-nav-search-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800}.dashboard-nav-search input{background:var(--surface,#fff);border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:8px;width:100%;min-height:34px;padding:6px 10px;font-size:13px}.dashboard-nav-search input:focus-visible{border-color:var(--brand);outline:2px solid var(--brand);outline-offset:-1px}.dashboard-nav-results{gap:2px;display:grid}.dashboard-nav-results .dashboard-nav-item span{text-align:left;gap:1px;display:grid}.dashboard-nav-results .dashboard-nav-item small{color:var(--muted);font-size:10px;font-weight:650}.dashboard-nav-empty{color:var(--muted);margin:10px 8px;font-size:12px}.labor-rate-years{justify-content:space-between;align-items:end;gap:16px;margin:14px 0 6px;display:flex}.labor-rate-years label{gap:4px;font-size:12px;font-weight:700;display:grid}.labor-rate-years select{border:1px solid var(--line);font:inherit;background:#fff;border-radius:8px;min-height:36px;padding:6px 10px}.labor-rate-card.is-current{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand) inset}.labor-rate-badge{background:var(--brand);color:#fff;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;width:fit-content;margin-top:6px;padding:3px 9px;font-size:10px;font-style:normal;font-weight:800}.labor-rate-entries-heading{justify-content:space-between;align-items:center;gap:12px;margin-top:18px;display:flex}.labor-rate-detail{border:1px solid var(--line);border-radius:12px;margin-top:18px;padding:16px}.labor-rate-detail-kicker{color:var(--brand);letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font-size:11px;font-weight:800}.labor-rate-detail-summary{color:var(--muted);margin:12px 0;font-size:13px}.labor-rate-detail-table-wrap{border:1px solid var(--line);border-radius:9px;max-width:100%;overflow-x:auto}.labor-rate-detail-table{border-collapse:collapse;width:100%;min-width:900px;font-size:12px}.labor-rate-detail-table th,.labor-rate-detail-table td{border-bottom:1px solid var(--line);text-align:right;vertical-align:top;white-space:nowrap;padding:10px}.labor-rate-detail-table th{color:#475569;letter-spacing:.04em;text-transform:uppercase;background:#f1f5f9;font-size:10px}.labor-rate-detail-table th:nth-child(2),.labor-rate-detail-table td:nth-child(2),.labor-rate-detail-table th:first-child,.labor-rate-detail-table td:first-child{text-align:left}.labor-rate-detail-table td small{color:var(--muted);white-space:normal;margin-top:3px;font-size:11px;display:block}.labor-rate-detail-table ul{white-space:normal;gap:4px;margin:7px 0 0;padding:0;list-style:none;display:grid}.labor-rate-detail-table li span{color:var(--brand);margin-top:2px;font-size:10px;font-weight:700;display:block}.labor-rate-add-entry{margin-top:12px}.labor-rate-add-entry summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:700}.labor-rate-add-entry .labor-rate-entry-form{padding-top:8px}.labor-rate-card{cursor:default}.labor-rate-view-button{background:var(--ink);border:1px solid var(--ink);color:#fff;cursor:pointer;font:inherit;border-radius:7px;justify-content:center;align-items:center;width:fit-content;min-height:44px;margin-top:6px;padding:8px 12px;font-size:12px;font-weight:700;display:inline-flex}.labor-rate-view-button:hover{background:var(--brand);border-color:var(--brand)}.labor-rate-view-button:focus-visible{outline:3px solid var(--brand-glow);outline-offset:2px}.settings-workspace-grid{grid-template-columns:minmax(232px,264px) minmax(0,1fr);align-items:start;gap:24px;display:grid}.settings-category-nav{gap:3px;padding:10px;display:grid;position:sticky;top:20px}.settings-category-nav-title{border-bottom:1px solid var(--line);margin:0 2px 5px;padding:8px 10px 11px}.settings-category-nav-title span{color:var(--muted);font-size:12px;font-weight:750}.settings-category-button{color:var(--ink-secondary);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;width:100%;min-height:58px;padding:10px 12px;transition:background-color .16s,color .16s;display:block}.settings-category-button:hover{color:var(--ink);background:#f1f6f3}.settings-category-button.is-selected{background:var(--brand-soft);color:var(--brand-dark)}.settings-category-label{font-size:13px;font-weight:750;line-height:1.25}.settings-category-description{color:var(--muted);margin-top:3px;font-size:11px;line-height:1.35}.settings-category-button.is-selected .settings-category-description{color:var(--brand-dark);opacity:.86}.settings-content{gap:18px;min-width:0;display:grid}.settings-card{gap:18px}.settings-card h2{letter-spacing:-.02em}.settings-card input,.settings-card select,.settings-card textarea{background:var(--surface);border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:8px;outline:none;width:100%;min-height:42px;padding:9px 10px}.settings-card textarea{resize:vertical;min-height:82px}.settings-card input:focus-visible,.settings-card select:focus-visible,.settings-card textarea:focus-visible{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow)}.settings-card input[type=checkbox],.settings-toggle input{accent-color:var(--brand);cursor:pointer;flex:none;width:18px;height:18px;min-height:0;padding:0}.settings-labor-tabs{flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.settings-labor-tabs-label{color:var(--muted);margin-right:4px;font-size:12px;font-weight:750}.settings-labor-tab{border:1px solid var(--line);color:var(--ink-secondary);cursor:pointer;font:inherit;background:0 0;border-radius:7px;min-height:38px;padding:8px 10px;font-size:12px;font-weight:700;transition:background-color .16s,border-color .16s,color .16s}.settings-labor-tab:hover{color:var(--brand-dark);border-color:#a9cdb8}.settings-labor-tab.is-selected{background:var(--brand);border-color:var(--brand);color:#fff}.settings-page .settings-notice{border-radius:8px;margin-bottom:0}.settings-page .settings-notice.is-error{color:#8f2e25;background:#fff2ef;border-color:#efc9c1}@media (max-width:900px){.settings-workspace-grid{grid-template-columns:1fr}.settings-category-nav{position:static}.settings-category-nav-title{border-bottom:0;margin-bottom:0}.settings-category-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-category-nav-title{grid-column:1/-1}}@media (max-width:560px){.settings-workspace-grid{gap:16px}.settings-category-nav{grid-template-columns:1fr;padding:8px}.settings-category-nav-title{grid-column:auto}.settings-category-button{min-height:54px}.settings-labor-tabs{align-items:stretch}.settings-labor-tabs-label{width:100%}.settings-labor-tab{text-align:left;flex:100%}}
