@import "https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap";:root{--ink:#0f1f2e;--ink-soft:#1f2937;--muted:#475569;--muted-2:#64748b;--line:#e2e8f0;--line-2:#cbd5e1;--bg:#fff;--bg-soft:#f8fafc;--teal:#14b8a6;--teal-dk:#0d9488;--teal-darker:#0f766e;--navy:#0f3a3e;--navy-2:#0a2a2d;--navy-3:#134e4a;--orange:#f97316;--orange-soft:#fed7aa;--font-sans:"Poppins", "DejaVu Sans", "Liberation Sans", sans-serif;--font-display:"Poppins", "DejaVu Sans", "Liberation Sans", sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;width:100%;max-width:100%;overflow-x:hidden}body{font-family:var(--font-sans);background-color:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased;width:100%;max-width:100%;line-height:1.6;overflow-x:hidden}#root{width:100%;max-width:100%;min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--ink);letter-spacing:-.5px;font-weight:700;line-height:1.2}.container{max-width:1400px;margin:0 auto;padding:0 2rem}@media (width<=768px){.container{padding:0 1.25rem}}.card{background:var(--bg);border:1px solid var(--line);border-radius:6px;transition:transform .3s,box-shadow .3s;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.card.accent{border-left:3px solid var(--teal)}.card.dark{background:var(--navy);color:#fff;border:none}.card.dark h1,.card.dark h2,.card.dark h3,.card.dark h4{color:#fff}.card.dark p{color:#ffffffc7}.text-teal{color:var(--teal)}.text-muted{color:var(--muted)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg-soft)}::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--teal-dk)}.pill{background:var(--bg-soft);border:1px solid var(--line);border-radius:999px;padding:.25rem .75rem;font-size:.85rem;font-weight:500;display:inline-block}.pill.teal{color:var(--teal-darker);background:#14b8a614;border-color:#14b8a640}.pill.orange{background:var(--orange);color:#fff;border:none}.navbar{z-index:1000;background:0 0;width:100%;padding:1.5rem 0;transition:all .3s;position:fixed;top:0;left:0}.nav-scrolled{background:var(--navy);border-bottom:1px solid #ffffff1a;padding:1rem 0;box-shadow:0 4px 20px #0000001a}.nav-container{justify-content:space-between;align-items:center;display:flex}.logo{font-family:var(--font-display);letter-spacing:-.5px;color:#fff;align-items:center;gap:.5rem;font-size:1.8rem;font-weight:800;text-decoration:none;display:flex}.logo-mark{background:var(--teal);color:#fff;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.2rem;display:flex}.nav-links{align-items:center;gap:2.5rem;display:flex}.nav-link{color:#ffffffd9;font-size:.95rem;font-weight:500;text-decoration:none;transition:color .2s}.nav-link:hover{color:#fff}.nav-btn{background:var(--teal);color:#fff;border-radius:4px;padding:.6rem 1.5rem;font-weight:600;text-decoration:none;transition:transform .2s,background .2s}.nav-btn:hover{background:var(--teal-dk);transform:translateY(-2px)}.mobile-toggle{color:#fff;cursor:pointer;background:0 0;border:none;display:none}.mobile-menu{background:var(--navy);border-top:1px solid #ffffff1a;flex-direction:column;width:100%;padding:1rem 2rem;display:flex;position:absolute;top:100%;left:0;box-shadow:0 10px 20px #00000026}.mobile-menu a{color:#fff;border-bottom:1px solid #ffffff0d;padding:1rem 0;font-weight:500;text-decoration:none}@media (width<=768px){.desktop-only{display:none}.mobile-only{display:block}}.hero{box-sizing:border-box;align-items:center;width:100%;max-width:100%;min-height:100vh;padding-top:5rem;display:flex;position:relative;overflow:hidden}.hero-background{z-index:-1;width:100%;height:100%;position:absolute;top:0;left:0}.hero-img{object-fit:cover;object-position:center;width:100%;height:100%}.hero-overlay{background:linear-gradient(135deg,#0c2a3bf2 0%,#0e3244d9 60%,#123c50f2 100%);width:100%;height:100%;position:absolute;top:0;left:0}.hero-content{z-index:2;color:#fff;max-width:900px;position:relative}.hero-badge{color:var(--teal);letter-spacing:2px;text-transform:uppercase;background:#14b8a60d;border:1px solid #14b8a680;border-radius:999px;align-items:center;gap:.5rem;margin-bottom:2rem;padding:.4rem 1.2rem;font-size:.85rem;font-weight:500;display:inline-flex}.hero-title{letter-spacing:-1px;color:#fff;margin-bottom:1.5rem;font-size:clamp(3rem,6vw,4.5rem);line-height:1.1}.hero-subtitle{color:#ffffffc7;max-width:650px;margin-bottom:3rem;font-size:1.1rem;line-height:1.6}.hero-actions{flex-wrap:wrap;gap:1.5rem;display:flex}.primary-btn{background:var(--teal);color:#fff;border-radius:4px;align-items:center;gap:.5rem;padding:1rem 2rem;font-size:1.1rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.primary-btn:hover{background:var(--teal-dk);transform:translateY(-2px)}.secondary-btn{color:#fff;border:1px solid #fff3;border-radius:4px;align-items:center;padding:1rem 2rem;font-size:1.1rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.secondary-btn:hover{background:#ffffff1a;transform:translateY(-2px)}@media (width<=768px){.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1rem}.primary-btn,.secondary-btn{justify-content:center;width:100%}}.clients-section{background:var(--bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:4rem 0;position:relative;overflow:hidden}.clients-label{text-align:center;letter-spacing:4px;text-transform:uppercase;color:var(--teal-dk);margin-bottom:2.5rem;font-size:.8rem;font-weight:600}.marquee-wrapper{width:100%;padding:2rem 0;position:relative;overflow:hidden}.marquee-wrapper:before,.marquee-wrapper:after{content:"";z-index:2;pointer-events:none;width:140px;position:absolute;top:0;bottom:0}.marquee-wrapper:before{background:linear-gradient(90deg, var(--bg) 0%, transparent 100%);left:0}.marquee-wrapper:after{background:linear-gradient(270deg, var(--bg) 0%, transparent 100%);right:0}.marquee-track{align-items:center;width:max-content;animation:40s linear infinite marquee-scroll;display:flex}.marquee-track:hover{animation-play-state:paused}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.client-logo-slot{flex-shrink:0;justify-content:center;align-items:center;width:260px;height:120px;margin:0 1rem;display:flex}.client-logo{object-fit:contain;opacity:.85;width:auto;max-width:230px;height:auto;max-height:100px;transition:opacity .4s,transform .3s}.client-logo:hover{opacity:1;transform:scale(1.08)}.about-section{background:var(--bg);border-bottom:1px solid var(--line);padding:8rem 2rem}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:5rem;display:grid}.about-section .section-subtitle{letter-spacing:4px;text-transform:uppercase;color:var(--teal-dk);margin-bottom:1rem;font-size:.85rem;font-weight:600;display:block}.about-section .section-title{color:var(--ink);margin-bottom:1.5rem;font-size:clamp(2rem,4vw,2.8rem);font-weight:700}.about-description{color:var(--muted);margin-bottom:1rem;font-size:1.15rem;line-height:1.6}.about-text{color:var(--muted);margin-bottom:2rem;font-size:1rem;line-height:1.6}.learn-more{color:var(--teal-dk);border-bottom:2px solid #0000;margin-top:1rem;font-size:1.05rem;font-weight:600;text-decoration:none;transition:color .3s;display:inline-block}.learn-more:hover{color:var(--teal-darker);border-color:var(--teal-dk)}.stats-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.stat-card{text-align:left;flex-direction:column;justify-content:center;padding:2rem 1.5rem;display:flex;border-left:3px solid var(--teal)!important}.stat-icon{color:var(--teal);margin-bottom:1rem}.stat-icon svg{width:28px;height:28px}.stat-value{font-size:2.2rem;font-family:var(--font-display);color:var(--ink);letter-spacing:-1px;margin-bottom:.25rem;font-weight:700}.stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:1px;font-size:.9rem;font-weight:600}@media (width<=992px){.about-grid{grid-template-columns:1fr;gap:4rem}}@media (width<=500px){.stats-grid{grid-template-columns:1fr}}.services-section{background:var(--bg-soft);padding:8rem 2rem}@media (width<=768px){.services-section{padding:6rem 1rem}}.section-header{text-align:center;max-width:800px;margin:0 auto 5rem}.services-section .section-subtitle{letter-spacing:4px;text-transform:uppercase;color:var(--teal-dk);margin-bottom:1rem;font-size:.85rem;font-weight:600;display:block}.services-section .section-title{color:var(--ink);margin-bottom:1.5rem;font-size:clamp(2.2rem,5vw,3.2rem);font-weight:700}.services-section .section-desc{color:var(--muted);font-size:1.1rem;line-height:1.6}.services-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));justify-content:center;gap:2rem;margin-bottom:6rem;display:grid}@media (width<=480px){.services-grid{grid-template-columns:1fr}}.service-card{background:var(--bg);border:1px solid var(--line);cursor:pointer;border-left:3px solid #0000;border-radius:6px;flex-direction:column;transition:transform .3s,box-shadow .3s;display:flex;position:relative;overflow:hidden}.service-card.border-teal{border-left-color:var(--teal)}.service-card.border-orange{border-left-color:var(--orange)}.service-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px #0000000d}.service-img-wrapper{background:var(--bg-soft);width:100%;height:200px;overflow:hidden}.service-img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.service-card:hover .service-img{transform:scale(1.03)}.service-content{padding:1.5rem 2rem 2rem}.service-content h3{color:var(--ink);margin-bottom:.75rem;font-size:1.3rem;font-weight:700}.service-content p{color:var(--muted);margin:0;font-size:.95rem;line-height:1.55}.features-showcase{grid-template-columns:1fr 1fr;gap:2.5rem;display:grid}.showcase-card{border:1px solid var(--line);border-radius:6px;height:380px;position:relative;overflow:hidden}.showcase-img{object-fit:cover;width:100%;height:100%;transition:transform .7s;display:block}.showcase-card:hover .showcase-img{transform:scale(1.05)}.showcase-content{color:#fff;background:linear-gradient(#0f3a3e00 0%,#0f3a3ef2 100%);padding:2rem 2rem 1.5rem;position:absolute;bottom:0;left:0;right:0}.showcase-content h3{color:#fff;margin-bottom:.25rem;font-size:1.4rem;font-weight:700}.showcase-content p{color:#ffffffd9;letter-spacing:.5px;margin:0;font-size:.95rem}@media (width<=900px){.features-showcase{grid-template-columns:1fr}}.contact-section{color:#fff;background:linear-gradient(135deg,#0c2a3b 0%,#0e3244 65%,#123c50 100%);padding:8rem 0;position:relative;overflow:hidden}.contact-section:before{content:"";pointer-events:none;background:repeating-linear-gradient(135deg,#ffffff08 0 1px,#0000 1px 18px);position:absolute;inset:0}.contact-container{box-sizing:border-box;z-index:1;background:#ffffff05;border:1px solid #14b8a640;border-radius:6px;grid-template-columns:1fr 1.2fr;max-width:100%;display:grid;position:relative;overflow:hidden}.contact-info{border-right:1px solid #ffffff1a;padding:4rem}.contact-section .section-title{color:#fff;margin-bottom:1.5rem;font-size:clamp(2rem,4vw,3rem)}.contact-section .contact-desc{color:#ffffffc7;margin-bottom:3rem;font-size:1.1rem;line-height:1.6}.info-items{flex-direction:column;gap:2rem;display:flex}.info-item{align-items:center;gap:1.5rem;display:flex}.info-icon{width:45px;height:45px;color:var(--teal);background:#14b8a626;border-radius:6px;justify-content:center;align-items:center;display:flex}.info-item h4{font-family:var(--font-sans);color:#fff;margin-bottom:.2rem;font-size:1.1rem}.info-item p{color:#ffffffb3}.contact-form{flex-direction:column;gap:1.5rem;padding:4rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:#ffffffd9;font-size:.95rem;font-weight:500}.form-input{color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:4px;outline:none;padding:1rem;font-family:inherit;font-size:1rem;transition:all .3s}.form-input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #14b8a633}.submit-btn{background:var(--teal);color:#fff;cursor:pointer;border:none;border-radius:4px;justify-content:center;align-items:center;gap:.8rem;margin-top:1rem;padding:1rem;font-family:inherit;font-size:1.1rem;font-weight:600;transition:transform .2s,background .2s;display:inline-flex}.submit-btn:hover{background:var(--teal-dk);transform:translateY(-2px)}@media (width<=900px){.contact-container{grid-template-columns:1fr}.contact-info{border-bottom:1px solid #ffffff1a;border-right:none}.contact-info,.contact-form{padding:2.5rem 1.5rem}}@media (width<=480px){.contact-info,.contact-form{padding:2rem 1rem}.contact-section{padding:4rem 0}}.login-page{background-color:var(--navy-2);z-index:2000;font-family:var(--font-sans);justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.login-backdrop{z-index:0;position:absolute;inset:0}.glow-sphere{filter:blur(120px);opacity:.15;border-radius:50%;position:absolute}.glow-1{background-color:var(--teal);width:400px;height:400px;top:-100px;left:-100px}.glow-2{background-color:var(--orange);width:500px;height:500px;bottom:-150px;right:-150px}.back-home-btn{z-index:10;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:30px;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-weight:500;transition:all .2s;display:flex;position:absolute;top:2rem;left:2rem}.back-home-btn:hover{border-color:var(--teal);background:#ffffff1a}.login-container{z-index:5;width:100%;max-width:440px;padding:1.5rem}.login-card{-webkit-backdrop-filter:blur(20px);background:#0f1f2ea6;border:1px solid #ffffff14;border-radius:12px;padding:2.5rem;box-shadow:0 20px 40px #0000004d}.login-header{text-align:center;margin-bottom:2rem}.login-logo{background:#14b8a61a;border:1.5px solid #14b8a64d;border-radius:12px;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 1.25rem;display:flex}.login-header h2{color:#fff;margin-bottom:.5rem;font-size:1.75rem;font-weight:700}.login-header p{color:#fff9;font-size:.9rem}.login-error{color:#f87171;background:#ef44441a;border:1px solid #ef44444d;border-radius:6px;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.88rem;display:flex}.login-form{flex-direction:column;gap:1.25rem;display:flex}.input-group{flex-direction:column;gap:.5rem;display:flex}.input-group label{color:#fffc;font-size:.85rem;font-weight:500}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:#fff6;pointer-events:none;transition:color .2s;position:absolute;left:1rem}.input-wrapper input{color:#fff;width:100%;font-size:.95rem;font-family:var(--font-sans);background:#ffffff0a;border:1px solid #ffffff1f;border-radius:6px;padding:.85rem 2.75rem;transition:all .2s}.input-wrapper input:focus{border-color:var(--teal);background:#ffffff14;outline:none;box-shadow:0 0 0 3px #14b8a626}.input-wrapper input:focus+.input-icon,.input-wrapper input:focus~.input-icon{color:var(--teal)}.password-toggle{color:#ffffff73;cursor:pointer;z-index:2;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex;position:absolute;top:50%;right:.85rem;transform:translateY(-50%)}.password-toggle:hover{color:var(--teal);background:#ffffff14}.form-options{justify-content:space-between;align-items:center;margin-top:.25rem;display:flex}.remember-me{color:#fff9;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.remember-me input{display:none}.checkbox-custom{border:1px solid #ffffff4d;border-radius:4px;width:16px;height:16px;transition:all .2s;display:inline-block;position:relative}.remember-me input:checked+.checkbox-custom{background:var(--teal);border-color:var(--teal)}.remember-me input:checked+.checkbox-custom:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:4px;height:8px;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.submit-btn{background:var(--teal);color:#fff;cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;margin-top:.75rem;padding:.95rem;font-size:1rem;font-weight:600;transition:background .2s,box-shadow .2s;display:flex;box-shadow:0 4px 12px #14b8a633}.submit-btn:hover{background:var(--teal-dk);box-shadow:0 6px 16px #14b8a659}.submit-btn:disabled{cursor:not-allowed;box-shadow:none;background:#14b8a680}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=480px){.back-home-btn{padding:.5rem 1rem;font-size:.9rem;top:1rem;left:1rem}.login-card{padding:1.75rem}}.portal-top-nav{background:var(--ink,#0f1f2e);color:#fff;z-index:100;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex;position:sticky;top:0}.portal-brand-area{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.75rem;display:flex}.brand-logo-mark{background:linear-gradient(135deg, var(--ink,#0f1f2e) 0%, #1e3a5f 100%);color:#fff;border:1px solid #fff3;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.1rem;font-weight:800;display:flex}.brand-title{letter-spacing:.5px;font-size:1.15rem;font-weight:800}.db-badge{color:var(--text-muted,#94a3b8);background:#ffffff0f;border-radius:9999px;align-items:center;gap:.4rem;padding:.25rem .6rem;font-size:.75rem;display:flex}.db-dot{background:#ef4444;border-radius:50%;width:7px;height:7px}.db-dot.connected{background:#22c55e;box-shadow:0 0 6px #22c55e99}.portal-nav-links{background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;align-items:center;gap:.4rem;padding:.25rem;display:flex}.portal-nav-btn{color:#ffffffbf;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:.4rem;padding:.5rem .85rem;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.portal-nav-btn:hover{color:#fff;background:#ffffff1a}.portal-nav-btn.active{color:#fff;background:#ffffff2e;border:1px solid #ffffff47;font-weight:700;box-shadow:0 2px 8px #00000040}.portal-user-area{align-items:center;gap:.6rem;display:flex}.portal-header-action-btn{color:#ffffffd9;cursor:pointer;background:#ffffff14;border:1px solid #ffffff24;border-radius:6px;align-items:center;gap:.4rem;padding:.45rem .75rem;font-size:.8rem;font-weight:600;transition:all .2s;display:flex}.portal-header-action-btn:hover{color:#fff;background:#ffffff2e;border-color:#ffffff4d}.portal-user-name{color:#ffffffe6;padding:0 .25rem;font-size:.85rem;font-weight:600}.portal-logout-btn{color:#f87171;cursor:pointer;background:#ef44441f;border:1px solid #ef44444d;border-radius:6px;align-items:center;gap:.4rem;padding:.45rem .8rem;font-size:.8rem;font-weight:600;transition:all .2s;display:flex}.portal-logout-btn:hover{color:#fff;background:#ef4444}.mobile-only{display:none}.desktop-only{display:flex}.portal-hamburger-btn{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:8px;justify-content:center;align-items:center;padding:.45rem;transition:background .2s;display:flex}.portal-hamburger-btn:hover{background:#ffffff29}.portal-mobile-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f1f2ea6;position:fixed;inset:0}.portal-mobile-drawer{color:#fff;z-index:1001;background:#0f1f2e;flex-direction:column;width:300px;max-width:85vw;padding:1.5rem 1.25rem;display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-6px 0 25px #0006}.mobile-drawer-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:1.25rem;display:flex}.drawer-user-info{align-items:center;gap:.75rem;display:flex}.drawer-user-avatar{color:#fff;background:linear-gradient(135deg,#14b8a6 0%,#0f766e 100%);border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.1rem;font-weight:800;display:flex;box-shadow:0 2px 8px #14b8a666}.drawer-user-title{color:#fff;margin:0 0 .2rem;font-size:.95rem;font-weight:700}.drawer-db-status{color:#94a3b8;align-items:center;gap:.35rem;font-size:.75rem;display:flex}.mobile-drawer-close{color:#fffc;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.mobile-drawer-close:hover{color:#fff;background:#ffffff26}.drawer-section-label{text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin-bottom:.75rem;font-size:.72rem;font-weight:800;display:block}.mobile-drawer-nav{flex-direction:column;gap:.4rem;margin-bottom:1.75rem;display:flex}.mobile-nav-item{color:#ffffffbf;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:.75rem;width:100%;padding:.75rem .85rem;font-size:.9rem;font-weight:600;transition:all .2s;display:flex;position:relative}.mobile-nav-item:hover{color:#fff;background:#ffffff14}.mobile-nav-item.active{color:#14b8a6;background:#14b8a626;border:1px solid #14b8a64d;font-weight:700}.mobile-nav-icon-wrapper{justify-content:center;align-items:center;display:flex}.mobile-nav-label{flex:1}.active-dot{background:#14b8a6;border-radius:50%;width:6px;height:6px;box-shadow:0 0 8px #14b8a6}.mobile-drawer-actions{border-top:1px solid #ffffff14;flex-direction:column;gap:.5rem;margin-top:auto;padding-top:1.25rem;display:flex}.mobile-action-item{color:#ffffffd9;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;align-items:center;gap:.75rem;width:100%;padding:.65rem .85rem;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.mobile-action-item:hover{color:#fff;background:#ffffff1a}.mobile-action-item.mobile-logout{color:#f87171;background:#ef44441f;border-color:#ef444440}.mobile-action-item.mobile-logout:hover{color:#fff;background:#ef4444}@media (width<=1024px){.desktop-only{display:none!important}.mobile-only{display:flex!important}.portal-top-nav{padding:.75rem 1rem}}@media (width<=480px){.db-text{display:none}.brand-title{font-size:1rem}}.portal-page-wrapper{background-color:var(--bg-soft,#f8fafc);width:100%;min-height:100vh;color:var(--ink,#0f1f2e);font-family:var(--font-sans,system-ui, -apple-system, sans-serif);box-sizing:border-box;flex-direction:column;display:flex;position:relative;overflow-x:hidden;overflow-y:auto!important}.portal-page-main{box-sizing:border-box;flex:1 0 auto;width:100%;max-width:1440px;margin:0 auto;padding:1.75rem 1rem 4rem}@media (width<=768px){.portal-page-wrapper{width:100%!important;max-width:100%!important;overflow-x:hidden!important}.portal-page-main{width:100%!important;max-width:100%!important;padding:.75rem .5rem 3rem!important;overflow-x:hidden!important}}.dashboard-root{background-color:var(--bg-soft);min-height:100vh;color:var(--ink);font-family:var(--font-sans);z-index:1000;grid-template-columns:260px 1fr;display:grid;position:fixed;inset:0;overflow:hidden}.dashboard-sidebar{background-color:var(--ink);color:#fff;border-right:1px solid #ffffff0d;flex-direction:column;padding:2rem 1.25rem;display:flex;overflow-y:auto}.sidebar-brand{flex-shrink:0;align-items:center;gap:.75rem;margin-bottom:2rem;font-size:1.4rem;font-weight:800;display:flex}.sidebar-user{background:#ffffff08;border:1px solid #ffffff0d;border-radius:8px;flex-shrink:0;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:.85rem;display:flex}.user-avatar{background:var(--teal);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.15rem;font-weight:700;display:flex;box-shadow:0 4px 10px #14b8a64d}.user-details{overflow:hidden}.user-details h4{color:#fff;text-overflow:ellipsis;white-space:nowrap;margin-bottom:.15rem;font-size:.9rem;overflow:hidden}.role-badge{color:var(--teal);background:#14b8a61f;border:1px solid #14b8a633;padding:.15rem .5rem;font-size:.75rem}.sidebar-nav{flex-direction:column;flex-grow:1;gap:.35rem;display:flex}.nav-item{color:#ffffffa6;cursor:pointer;text-align:left;font-size:.9rem;font-weight:500;font-family:var(--font-sans);background:0 0;border:none;border-radius:6px;align-items:center;gap:.75rem;width:100%;padding:.75rem .85rem;transition:all .2s;display:flex}.nav-item:hover{color:#fff;background:#ffffff0a}.nav-item.active{background:var(--teal);color:#fff;box-shadow:0 4px 12px #14b8a640}.sidebar-project-picker{flex-direction:column;gap:.5rem;margin:1rem 0;display:flex}.project-picker-label{color:#fff6;text-transform:uppercase;letter-spacing:.5px;margin-top:.5rem;padding-left:.5rem;font-size:.75rem;font-weight:600}.project-picker-list{flex-direction:column;gap:.25rem;display:flex}.project-picker-item{color:#ffffff8c;cursor:pointer;text-align:left;font-size:.82rem;font-family:var(--font-sans);background:0 0;border:none;border-radius:4px;align-items:center;gap:.6rem;width:100%;padding:.6rem .65rem;transition:all .2s;display:flex}.project-picker-item:hover{color:#fff;background:#ffffff08}.project-picker-item.selected{color:#fff;border-left:2.5px solid var(--teal);background:#ffffff12;padding-left:.5rem;font-weight:600}.project-name-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-divider{background:#ffffff14;height:1px;margin:.85rem .5rem}.logout-btn{color:#f87171;cursor:pointer;font-size:.9rem;font-weight:600;font-family:var(--font-sans);background:#ef444414;border:1px solid #ef444426;border-radius:6px;flex-shrink:0;align-items:center;gap:.75rem;width:100%;padding:.75rem .85rem;transition:all .2s;display:flex}.logout-btn:hover{color:#fff;background:#ef4444;border-color:#ef4444;box-shadow:0 4px 12px #ef444440}.sidebar-support-section{flex-direction:column;flex-shrink:0;gap:.5rem;margin-top:auto;padding-top:1rem;display:flex}.support-btn{color:var(--teal);cursor:pointer;font-size:.85rem;font-weight:600;font-family:var(--font-sans);background:#14b8a614;border:1px solid #14b8a633;border-radius:6px;align-items:center;gap:.65rem;width:100%;padding:.65rem .85rem;transition:all .2s;display:flex}.support-btn:hover{border-color:var(--teal);background:#14b8a626;box-shadow:0 4px 12px #14b8a626}.support-modal-container{max-width:480px!important}.support-type-pills{flex-wrap:wrap;gap:.5rem;margin:1rem 0 .5rem;display:flex}.support-pill{border:1px solid var(--line);background:var(--bg-soft);color:var(--muted);cursor:pointer;font-size:.82rem;font-weight:600;font-family:var(--font-sans);border-radius:20px;align-items:center;gap:.35rem;padding:.4rem .85rem;transition:all .2s;display:flex}.support-pill:hover{border-color:var(--teal);color:var(--teal-darker)}.support-pill.active{border-color:var(--teal);color:var(--teal-darker);background:#14b8a61a}.support-contact-buttons{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.support-contact-btn{cursor:pointer;font-size:.875rem;font-weight:600;font-family:var(--font-sans);border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1rem;text-decoration:none;transition:all .2s;display:flex}.email-btn{color:#3b82f6;background:#3b82f614;border:1px solid #3b82f640}.email-btn:hover{color:#fff;background:#3b82f6;box-shadow:0 4px 12px #3b82f640}.whatsapp-btn{color:#16a34a;background:#22c55e14;border:1px solid #22c55e40}.whatsapp-btn:hover{color:#fff;background:#22c55e;box-shadow:0 4px 12px #22c55e40}.support-submit-btn{background:var(--teal);color:#fff;width:100%;font-size:.95rem;font-weight:700;font-family:var(--font-sans);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.55rem;padding:.85rem 1.5rem;text-decoration:none;transition:all .25s;display:flex;box-shadow:0 4px 16px #14b8a64d}.support-submit-btn:hover{background:var(--teal-dk);transform:translateY(-1px);box-shadow:0 6px 20px #14b8a666}.support-submit-btn.disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.support-ack-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:2rem 1.5rem;animation:.4s forwards ackFadeIn;display:flex}@keyframes ackFadeIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.support-ack-icon-wrapper{margin-bottom:1.5rem}.support-ack-checkmark{width:72px;height:72px;display:block}.support-ack-circle{stroke:var(--teal);stroke-width:2px;stroke-dasharray:166;stroke-dashoffset:166px;animation:.7s cubic-bezier(.65,0,.45,1) forwards ackCircle}.support-ack-check{stroke:var(--teal);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:48;stroke-dashoffset:48px;animation:.45s cubic-bezier(.65,0,.45,1) .55s forwards ackCheck}@keyframes ackCircle{to{stroke-dashoffset:0}}@keyframes ackCheck{to{stroke-dashoffset:0}}.support-ack-title{color:var(--ink);margin-bottom:.6rem;font-size:1.4rem;font-weight:800;animation:.4s .5s both ackFadeIn}.support-ack-subtitle{color:var(--muted);max-width:300px;margin:0 auto 1.75rem;font-size:.875rem;line-height:1.6;animation:.4s .65s both ackFadeIn}.support-ack-close-btn{background:var(--bg-soft);border:1px solid var(--line);color:var(--muted);cursor:pointer;font-size:.9rem;font-weight:600;font-family:var(--font-sans);border-radius:8px;padding:.65rem 2rem;transition:all .2s;animation:.4s .8s both ackFadeIn}.support-ack-close-btn:hover{color:#fff;background:#ef4444;border-color:#ef4444}.support-overlay{-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important;background:#0a0f1eb8!important}.support-loading-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:3rem 1.5rem;animation:.3s forwards ackFadeIn;display:flex}.support-loading-screen h3{color:var(--ink);margin-top:1.5rem;margin-bottom:.5rem;font-size:1.25rem;font-weight:700}.support-loading-screen p{color:var(--muted);max-width:280px;font-size:.85rem}.support-spinner{border:3.5px solid #14b8a626;border-top-color:var(--teal);border-radius:50%;width:50px;height:50px;animation:.9s ease-in-out infinite supportSpin}@keyframes supportSpin{to{transform:rotate(360deg)}}.dashboard-content{flex-direction:column;height:100vh;display:flex;overflow:hidden}.dashboard-header{border-bottom:1px solid var(--line);background:#fff;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 2rem;display:flex}.header-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.dashboard-header h1{margin-bottom:.15rem;font-size:1.35rem;font-weight:700}.create-project-trigger-btn{background:var(--teal);color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;font-family:var(--font-sans);border:none;border-radius:4px;align-items:center;gap:.5rem;padding:.6rem 1.2rem;transition:all .2s;display:flex;box-shadow:0 3px 8px #14b8a633}.create-project-trigger-btn:hover{background:var(--teal-dk);transform:translateY(-1px);box-shadow:0 4px 12px #14b8a659}.status-active{color:var(--teal-dk);background:#14b8a614;border:1px solid #14b8a64d;font-size:.8rem;font-weight:600}.status-completed{color:#16a34a;background:#22c55e14;border:1px solid #22c55e4d;font-size:.8rem;font-weight:600}.dashboard-inner-container{flex-grow:1;padding:2rem;overflow-y:auto}.tab-content{flex-direction:column;gap:2rem;display:flex}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;display:grid}.metric-card{align-items:center;gap:1.25rem;padding:1.25rem;display:flex}.metric-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.bg-teal-soft{background:#14b8a614}.bg-orange-soft{background:#f9731614}.bg-navy-soft{background:#0f3a3e14}.bg-green-soft{background:#22c55e14}.text-green{color:#16a34a}.text-orange{color:#d97706}.metric-info{flex-direction:column;display:flex}.metric-label{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:500}.metric-info h3{margin:.15rem 0;font-size:1.25rem;font-weight:700}.metric-desc{color:var(--muted-2);font-size:.78rem}.portfolio-list-card{padding:2rem}.portfolio-list-header{margin-bottom:1.5rem}.portfolio-list-header h3{margin-bottom:.25rem;font-size:1.2rem;font-weight:700}.portfolio-list-header p{font-size:.88rem}.portfolio-row{cursor:pointer;transition:background-color .15s}.portfolio-row:hover{background-color:var(--bg-soft)}.portfolio-name-cell{flex-direction:column;gap:.15rem;display:flex}.portfolio-name-cell strong{color:var(--ink-soft);font-size:.95rem}.portfolio-name-cell span{font-size:.8rem}.portfolio-progress-wrapper{align-items:center;gap:.75rem;display:flex}.progress-bar-container{background-color:var(--line);border-radius:99px;flex-grow:1;max-width:120px;height:6px;overflow:hidden}.progress-bar-fill{background-color:var(--teal);border-radius:99px;height:100%;transition:width .4s}.progress-percentage-text{color:var(--ink-soft);font-size:.82rem;font-weight:600}.manage-project-action-btn{border:1px solid var(--line);color:var(--teal-dk);cursor:pointer;background:#fff;border-radius:4px;align-items:center;gap:.25rem;padding:.4rem .85rem;font-size:.8rem;font-weight:600;transition:all .2s;display:inline-flex}.portfolio-row:hover .manage-project-action-btn{background:var(--teal);color:#fff;border-color:var(--teal);box-shadow:0 2px 6px #14b8a640}.overview-split{grid-template-columns:3fr 2fr;gap:1.5rem;display:grid}.split-left,.split-right{padding:2rem}.split-left h3,.split-right h3{margin-bottom:1rem}.summary-bullets{flex-direction:column;gap:1rem;margin-top:1.5rem;display:flex}.bullet-item{align-items:flex-start;gap:.75rem;font-size:.95rem;display:flex}.bullet-item span{line-height:1.4}.progress-ring-container{justify-content:center;align-items:center;width:160px;height:160px;margin:1.5rem auto;display:flex;position:relative}.progress-value{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute}.progress-value h2{color:var(--ink);font-size:2.2rem;font-weight:800;line-height:1}.progress-value span{color:var(--muted-2);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}.progress-svg{transform:rotate(-90deg)}.progress-bg{fill:none;stroke:var(--line);stroke-width:12px}.progress-bar{fill:none;stroke:var(--teal);stroke-width:12px;stroke-linecap:round;transition:stroke-dashoffset .6s}.status-legend{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:1rem;font-size:.85rem;display:flex}.legend-dot{border-radius:50%;width:8px;height:8px;margin-right:.25rem;display:inline-block}.bg-gray{background-color:var(--line-2)}.bom-header-bar{justify-content:space-between;align-items:center;gap:1.5rem;padding:1.5rem;display:flex}.option-picker-zone{flex-direction:column;gap:.75rem;display:flex}.selector-title{color:var(--muted);font-size:.85rem;font-weight:600}.option-buttons{flex-wrap:wrap;gap:.5rem;display:flex}.btn-opt{border:1px solid var(--line);background:var(--bg-soft);color:var(--ink-soft);cursor:pointer;font-size:.8rem;font-weight:600;font-family:var(--font-sans);border-radius:4px;padding:.5rem 1rem;transition:all .2s}.btn-opt:hover{border-color:var(--teal);background:#fff}.btn-opt.selected{background:var(--teal);color:#fff;border-color:var(--teal);box-shadow:0 4px 10px #14b8a633}.pricing-billboard{text-align:right}.price-tag h2{color:var(--teal-darker);margin:.25rem 0;font-size:1.6rem}.gst-label{color:var(--muted-2);font-size:.85rem;font-weight:500}.bill-sub{color:var(--muted-2);font-size:.78rem}.bom-filter-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.bom-filters{flex-grow:1;gap:1rem;display:flex}.search-box{flex-grow:1;align-items:center;display:flex;position:relative}.search-box svg{color:var(--muted-2);position:absolute;left:1rem}.search-box input{border:1px solid var(--line);width:100%;font-size:.9rem;font-family:var(--font-sans);border-radius:6px;outline:none;padding:.8rem 1rem .8rem 2.75rem}.search-box input:focus{border-color:var(--teal)}.filter-dropdown{align-items:center;display:flex;position:relative}.filter-dropdown svg{color:var(--muted-2);pointer-events:none;position:absolute;left:1rem}.filter-dropdown select{border:1px solid var(--line);cursor:pointer;width:100%;font-size:.9rem;font-family:var(--font-sans);appearance:none;background:#fff;border-radius:6px;outline:none;padding:.8rem 1rem .8rem 2.75rem}.filter-dropdown select:focus{border-color:var(--teal)}.btn-primary-add-item{background:var(--teal);color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;font-family:var(--font-sans);border:none;border-radius:6px;align-items:center;gap:.45rem;padding:.75rem 1.15rem;transition:all .2s;display:flex;box-shadow:0 3px 8px #14b8a626}.btn-primary-add-item:hover{background:var(--teal-dk);box-shadow:0 4px 12px #14b8a64d}.inline-form-card{border:1px dashed var(--teal);background:#14b8a603;padding:1.75rem}.inline-form-card h4{color:var(--teal-darker);margin-bottom:1.25rem;font-size:1.05rem}.inline-add-form{flex-direction:column;gap:1rem;display:flex}.form-grid-3{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.25rem;display:grid}.form-grid-4{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1.25rem;display:grid}.dual-inputs{gap:.35rem;display:flex}.dual-inputs input{text-align:center;width:50%!important}.form-actions-row{border-top:1px solid var(--line);justify-content:flex-end;gap:.75rem;margin-top:.5rem;padding-top:1rem;display:flex}.form-error-bubble{color:#ef4444;background:#ef44440d;border:1px solid #ef444426;border-radius:4px;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.6rem .85rem;font-size:.82rem;display:flex}.delete-row-action-btn{color:var(--muted-2);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:color .15s;display:inline-flex}.delete-row-action-btn:hover{color:#ef4444}.table-responsive{background:#fff;border-radius:6px;width:100%;overflow-x:auto}.dashboard-table{border-collapse:collapse;text-align:left;width:100%;font-size:.88rem}.dashboard-table th,.dashboard-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:.85rem 1.15rem}.dashboard-table th{background:var(--bg-soft);color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:.8rem;font-weight:600}.inactive-row{opacity:.45;background:#00000003}.selected-row{background:#14b8a605}.col-mlfb code{background:var(--bg-soft);color:var(--navy-3);border:1px solid var(--line);border-radius:4px;padding:.15rem .35rem;font-size:.8rem;font-weight:500}.col-category{color:var(--ink-soft);font-size:.8rem;font-weight:600}.col-desc{color:var(--ink);min-width:200px;font-weight:500}.col-purpose{min-width:200px;font-size:.82rem}.text-center{text-align:center}.font-bold{font-weight:700}.tasks-header-bar-custom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.tasks-instruction{border-left:4px solid var(--teal);background:#14b8a60a;align-items:center;gap:1rem;padding:1rem 1.25rem;font-size:.88rem;line-height:1.5;display:flex}.instruction-icon{flex-shrink:0}.workstreams-container{flex-direction:column;gap:1.5rem;display:flex}.workstream-group{padding:0;overflow:hidden}.workstream-header{background:var(--bg-soft);border-bottom:1px solid var(--line);padding:1rem 1.25rem}.workstream-header h3{color:var(--ink-soft);font-size:.95rem;font-weight:700}.tasks-list{flex-direction:column;display:flex}.task-row-item{border-bottom:1px solid var(--line);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:1.25rem;padding:1rem 1.25rem;transition:background .15s;display:flex}.task-row-item:last-child{border-bottom:none}.task-row-item:hover{background:#14b8a603}.task-checkbox{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.status-dot{border-radius:50%;width:10px;height:10px}.pulsing{animation:1.5s infinite pulse;box-shadow:0 0 #f9731680}@keyframes pulse{0%{transform:scale(.9);box-shadow:0 0 #f97316b3}70%{transform:scale(1);box-shadow:0 0 0 6px #f9731600}to{transform:scale(.9);box-shadow:0 0 #f9731600}}.task-body{flex-direction:column;flex-grow:1;gap:.25rem;display:flex}.task-title-line{align-items:center;gap:.75rem;display:flex}.task-code{background:var(--bg-soft);border:1px solid var(--line);color:var(--muted-2);border-radius:4px;padding:.1rem .3rem;font-family:monospace;font-size:.75rem}.task-title-line h4{color:var(--ink);font-size:.9rem;font-weight:600;line-height:1.3}.task-details-meta{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.meta-text{color:var(--muted-2);align-items:center;gap:.25rem;font-size:.78rem;display:flex}.task-action-wrapper{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.delete-task-action-btn{color:var(--muted-2);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:color .15s;display:inline-flex}.delete-task-action-btn:hover{color:#ef4444}.badge-pill{text-transform:capitalize;border-radius:999px;padding:.2rem .65rem;font-size:.75rem;font-weight:500;display:inline-block}.status-completed{color:#16a34a;background:#22c55e14;border:1px solid #22c55e33}.status-in-progress{color:#d97706;background:#f9731614;border:1px solid #f9731633}.status-pending{background:var(--bg-soft);color:var(--muted);border:1px solid var(--line)}.task-row-item.completed .task-title-line h4{color:var(--muted-2);text-decoration:line-through}.financials-layout{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.financials-left{padding:2rem}.rate-card-list{flex-direction:column;gap:.75rem;display:flex}.rate-card-row{border:1px solid var(--line);background:var(--bg-soft);border-radius:6px;justify-content:space-between;align-items:center;padding:.85rem;display:flex}.role-details{flex-direction:column;gap:.15rem;display:flex}.role-details strong{font-size:.88rem}.role-details span{font-size:.78rem}.role-details code{font-size:.7rem;font-weight:600}.role-rate{color:var(--teal-darker);font-size:1.05rem;font-weight:700}.role-rate span{color:var(--muted-2);font-size:.7rem;font-weight:500}.mt-6{margin-top:1.5rem}.exclusion-card{padding:2rem}.card-header-icon{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.exclusion-list{color:var(--muted);flex-direction:column;gap:.6rem;padding-left:1.25rem;font-size:.88rem;line-height:1.4;display:flex}.custom-editable-li{justify-content:space-between;align-items:center;display:flex;position:relative}.delete-bullet-btn{color:var(--muted-2);cursor:pointer;background:0 0;border:none;font-size:1.25rem;line-height:1}.delete-bullet-btn:hover{color:#ef4444}.exclusion-addition-form{gap:.5rem;margin-top:1rem;display:flex}.exclusion-addition-form input{border:1px solid var(--line);font-size:.85rem;font-family:var(--font-sans);border-radius:4px;outline:none;flex-grow:1;padding:.5rem .75rem}.exclusion-addition-form input:focus{border-color:var(--teal)}.btn-small-add{background:var(--teal);color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;font-family:var(--font-sans);border:none;border-radius:4px;padding:.5rem 1rem;transition:background .15s}.btn-small-add:hover{background:var(--teal-dk)}.milestone-card{padding:2rem}.milestone-card h3{margin-bottom:1.5rem}.milestone-timeline{flex-direction:column;padding-left:2rem;display:flex;position:relative}.milestone-timeline:before{content:"";background-color:var(--line);width:2px;position:absolute;top:10px;bottom:10px;left:11px}.milestone-node{padding-bottom:1.5rem;position:relative}.milestone-node:last-child{padding-bottom:0}.node-marker{background-color:var(--teal);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.78rem;font-weight:700;display:flex;position:absolute;top:2px;left:-33px;box-shadow:0 0 0 4px #fff,0 2px 5px #0000001a}.node-content h4{margin-bottom:.15rem;font-size:.9rem;font-weight:600}.milestone-header-line{justify-content:space-between;align-items:center;display:flex}.delete-node-btn{color:var(--muted-2);cursor:pointer;background:0 0;border:none;font-size:1.25rem;line-height:1}.delete-node-btn:hover{color:#ef4444}.node-content p{font-size:.8rem;line-height:1.3}.milestone-addition-form{border-top:1px solid var(--line);padding-top:1rem}.milestone-addition-form .form-group-row{gap:.5rem}.milestone-addition-form input{border:1px solid var(--line);font-size:.85rem;font-family:var(--font-sans);border-radius:4px;outline:none;padding:.5rem .75rem}.milestone-addition-form input:focus{border-color:var(--teal)}.mb-4{margin-bottom:1.5rem}.modal-overlay{z-index:3000;-webkit-backdrop-filter:blur(8px);background:#0a0f1eb8;justify-content:center;align-items:center;padding:1rem;animation:.2s forwards modalOverlayFadeIn;display:flex;position:fixed;inset:0}@keyframes modalOverlayFadeIn{0%{opacity:0}to{opacity:1}}.modal-backdrop-click{background:0 0;position:absolute;inset:0}.modal-container{z-index:10;background:#fff;width:100%;max-width:600px;padding:2.25rem;position:relative;box-shadow:0 20px 50px #00000026}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:.75rem;display:flex}.modal-header h3{font-size:1.25rem;font-weight:700}.modal-close-btn{cursor:pointer;color:var(--muted-2);background:0 0;border:none;font-size:1.75rem;line-height:1}.modal-close-btn:hover{color:var(--ink)}.modal-error-alert{color:#ef4444;background:#ef444414;border:1px solid #ef444433;border-radius:6px;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.85rem;display:flex}.modal-form{flex-direction:column;gap:1.25rem;display:flex}.form-group-row{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.form-field{flex-direction:column;gap:.45rem;display:flex}.form-field label{color:var(--muted);font-size:.8rem;font-weight:600}.form-field input,.form-field textarea{border:1px solid var(--line);font-family:var(--font-sans);background-color:var(--bg-soft);border-radius:4px;outline:none;padding:.75rem .85rem;font-size:.9rem;transition:all .2s}.form-field input:focus,.form-field textarea:focus{border-color:var(--teal);background-color:#fff;box-shadow:0 0 0 3px #14b8a614}.modal-footer{border-top:1px solid var(--line);justify-content:flex-end;gap:.75rem;margin-top:.75rem;padding-top:1.25rem;display:flex}.btn-primary-submit{background:var(--teal);color:#fff}.btn-primary-submit:hover{background:var(--teal-dk)}@media (width<=1024px){.dashboard-root{grid-template-rows:auto 1fr;grid-template-columns:1fr}.dashboard-sidebar{border-right:none;height:auto;padding:1rem 1.25rem;overflow-y:visible}.logout-btn{margin-top:0;padding:.5rem 1rem;font-size:.8rem}.dashboard-content{height:calc(100vh - 70px)}.overview-split,.financials-layout{grid-template-columns:1fr}.bom-filters{flex-direction:column;grid-template-columns:1fr}.bom-filter-actions{flex-direction:column;align-items:stretch}.form-group-row{grid-template-columns:1fr;gap:1rem}}.db-status-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fffc;background:#0f172a99;border:1px solid #ffffff14;border-radius:99px;align-items:center;gap:8px;margin-right:1rem;padding:6px 14px;font-size:.82rem;font-weight:600;display:inline-flex;box-shadow:inset 0 1px 1px #ffffff0d}.db-status-dot{background:#64748b;border-radius:50%;width:8px;height:8px;display:inline-block}.db-status-badge.connected .db-status-dot{background:#10b981;animation:2s infinite pulse-green-glow;box-shadow:0 0 8px #10b981}.db-status-badge.offline .db-status-dot{background:#f59e0b;animation:2s infinite pulse-amber-glow;box-shadow:0 0 8px #f59e0b}.db-status-badge.loading .db-status-dot{background:#38bdf8;animation:1s infinite alternate pulse-blue-glow;box-shadow:0 0 8px #38bdf8}@keyframes pulse-green-glow{0%{opacity:.8;transform:scale(.95)}50%{opacity:1;transform:scale(1.1);box-shadow:0 0 12px #10b981}to{opacity:.8;transform:scale(.95)}}@keyframes pulse-amber-glow{0%{opacity:.8;transform:scale(.95)}50%{opacity:1;transform:scale(1.1);box-shadow:0 0 12px #f59e0b}to{opacity:.8;transform:scale(.95)}}@keyframes pulse-blue-glow{0%{opacity:.6;transform:scale(.95)}to{opacity:1;transform:scale(1.1);box-shadow:0 0 10px #38bdf8}}.dashboard-loader-screen{z-index:9999;background-color:#0b0f19;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.loader-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);text-align:center;background:#ffffff05;border:1px solid #ffffff0d;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;width:90%;max-width:420px;padding:3rem;display:flex;box-shadow:0 20px 40px #00000080}.db-spinner{border:3px solid #14b8a61a;border-top-color:var(--teal);border-radius:50%;width:48px;height:48px;margin-bottom:1.5rem;animation:.8s linear infinite spin;box-shadow:0 0 15px #14b8a633}.loader-card h3{color:#fff;margin-bottom:.5rem;font-size:1.25rem;font-weight:700}.loader-card p{color:#ffffff80;font-size:.9rem}.activity-log-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.activity-filters{flex-wrap:wrap;gap:1.25rem;margin-bottom:1.75rem;display:flex}.filter-group{flex-direction:column;gap:.35rem;display:flex}.filter-group label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted,#94a3b8);font-size:.7rem;font-weight:700}.filter-select{color:var(--ink,#e2e8f0);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:8px;outline:none;min-width:180px;padding:.5rem 1rem;font-size:.875rem;transition:border-color .2s}.filter-select:hover,.filter-select:focus{border-color:var(--teal,#2dd4bf)}.activity-loading,.activity-empty{color:var(--text-muted,#64748b);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:4rem 2rem;font-size:.9rem;display:flex}.activity-timeline{flex-direction:column;gap:0;display:flex}.activity-entry{align-items:flex-start;gap:1rem;display:flex;position:relative}.activity-icon-col{flex-direction:column;flex-shrink:0;align-items:center;min-width:36px;display:flex}.activity-icon-bubble{z-index:1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex;position:relative}.activity-line{background:linear-gradient(#ffffff1a 0%,#ffffff08 100%);flex:1;width:2px;min-height:24px;margin:4px 0}.activity-body{background:#ffffff08;border:1px solid #ffffff12;border-radius:12px;flex:1;margin-bottom:12px;padding:.9rem 1.1rem;transition:background .2s}.activity-body:hover{background:#ffffff0f}.activity-meta{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.45rem;display:flex}.activity-action-badge{text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;border-radius:20px;padding:2px 8px;font-size:.7rem;font-weight:700}.activity-project-name{color:var(--ink,#e2e8f0);opacity:.85;font-size:.8rem;font-weight:600}.activity-time{color:var(--text-muted,#64748b);white-space:nowrap;margin-left:auto;font-size:.72rem}.activity-desc{color:var(--ink,#cbd5e1);opacity:.85;margin:0 0 .45rem;font-size:.85rem;line-height:1.5}.activity-diff{background:#0003;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:6px 10px;font-size:.78rem;display:flex}.diff-field{color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;font-weight:700}.diff-old{color:#f87171;text-overflow:ellipsis;white-space:nowrap;background:#f8717126;border-radius:5px;max-width:200px;padding:2px 7px;font-family:monospace;font-size:.8rem;text-decoration:line-through;overflow:hidden}.diff-arrow{color:#475569;font-size:1rem}.diff-new{color:#22c55e;text-overflow:ellipsis;white-space:nowrap;background:#22c55e26;border-radius:5px;max-width:200px;padding:2px 7px;font-family:monospace;font-size:.8rem;overflow:hidden}.activity-employee{align-items:center;gap:5px;margin-top:2px;font-size:.78rem;display:flex}.spin-icon{animation:1s linear infinite spin}.form-field select{border:1px solid var(--line);font-family:var(--font-sans);background-color:var(--bg-soft);border-radius:4px;outline:none;width:100%;padding:.75rem .85rem;font-size:.9rem;transition:all .2s}.form-field select:focus{border-color:var(--teal);background-color:#fff;box-shadow:0 0 0 3px #14b8a614}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--line);padding:.75rem}.data-table th{color:var(--muted);background-color:#00000005;font-weight:600}.modal-close{cursor:pointer;color:var(--muted);background:0 0;border:none;position:absolute;top:15px;right:15px}.modal-close:hover{color:var(--danger)}.readonly-input{cursor:not-allowed;-webkit-user-select:none;user-select:none;color:var(--muted)!important;background-color:#0000000d!important;border-color:#0000001a!important}.po-header-bar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1.5rem;display:flex}.po-header-bar h2{color:var(--ink);letter-spacing:-.02em;margin:0;font-size:1.6rem;font-weight:800}.po-form-card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:2.5rem;box-shadow:0 8px 30px #0000000a}.po-form-card h3{color:var(--teal-darker);border-bottom:1px solid var(--line);padding-bottom:1rem;font-size:1.3rem;font-weight:700;margin-bottom:1.5rem!important}.po-history-card{border:1px solid var(--line);background:#f8fafc;border-radius:12px;padding:2rem}.po-history-card h3{color:var(--ink);font-size:1.25rem;font-weight:700}.add-item-row{grid-template-columns:2fr 1fr 1fr 1fr auto;align-items:end;gap:.85rem;margin-top:1rem;display:grid;background:#14b8a60a!important;border:1px dashed #14b8a64d!important;border-radius:8px!important;padding:1.25rem!important}.portal-add-item-grid{border:1px solid var(--line,#e2e8f0);background:#f8fafc;border-radius:8px;grid-template-columns:2.5fr 1fr .8fr .8fr 1fr .8fr auto;align-items:flex-end;gap:.5rem;padding:1rem;display:grid}@media (width<=900px){.portal-add-item-grid{grid-template-columns:repeat(3,1fr)!important;gap:.75rem!important}.portal-add-item-grid .item-desc-field,.portal-add-item-grid .item-btn-field{grid-column:1/-1}.portal-add-item-grid .item-btn-field button{justify-content:center;width:100%;padding:.65rem 1rem}}@media (width<=600px){.portal-add-item-grid{grid-template-columns:1fr 1fr!important;gap:.6rem!important}.portal-add-item-grid .item-desc-field,.portal-add-item-grid .item-btn-field{grid-column:1/-1}}.po-history-item{transition:all .25s cubic-bezier(.4,0,.2,1);border:1px solid var(--line)!important;background:#fff!important}.po-history-item:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000000f;border-color:#14b8a666!important}.dashboard-mobile-topbar,.mobile-sidebar-close-btn,.mobile-sidebar-backdrop,.dashboard-mobile-bottom-nav{display:none}.sidebar-brand-wrapper{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}@media (width<=1024px){html.portal-active,body.portal-active{width:100%;min-height:100%;position:static!important;overflow-y:auto!important}.dashboard-root{flex-direction:column;width:100%;min-height:100vh;display:flex;overflow-y:auto;box-sizing:border-box!important}.dashboard-sidebar .logout-btn{display:none!important}.dashboard-mobile-topbar{background-color:var(--ink);color:#fff;z-index:1200;border-bottom:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;height:60px;padding:0 1rem;display:flex;position:sticky;top:0;left:0;right:0;box-shadow:0 2px 10px #0003}.mobile-hamburger-btn{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff1f;border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;transition:all .2s;display:flex}.mobile-hamburger-btn:active{color:var(--teal);background:#14b8a64d}.mobile-topbar-brand{cursor:pointer;align-items:center;gap:.5rem;font-size:1.2rem;font-weight:800;display:flex}.mobile-topbar-brand .logo-mark{width:28px;height:28px;font-size:.95rem}.mobile-topbar-actions{align-items:center;gap:.75rem;display:flex}.db-status-dot-mini{background-color:#f59e0b;border-radius:50%;width:10px;height:10px;box-shadow:0 0 8px #f59e0b99}.db-status-dot-mini.connected{background-color:#22c55e;box-shadow:0 0 8px #22c55eb3}.mobile-topbar-logout{color:#f87171;cursor:pointer;background:#ef44441f;border:1px solid #ef444440;border-radius:6px;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.8rem;font-weight:600;display:flex}.mobile-sidebar-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1400;background:#000000a6;animation:.2s fadeIn;display:block;position:fixed;inset:0}.dashboard-sidebar{z-index:1500;border-right:1px solid #ffffff1a;width:290px;max-width:85vw;height:100dvh;transition:transform .3s cubic-bezier(.4,0,.2,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:6px 0 30px #00000080;flex-direction:column!important;padding:1.5rem 1rem!important;display:flex!important;overflow-y:auto!important}.dashboard-sidebar.mobile-open{transform:translate(0)}.mobile-sidebar-close-btn{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff1f;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.dashboard-mobile-bottom-nav{display:none!important}.mobile-bottom-nav-item{color:#fff9;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:6px 10px;font-size:.72rem;font-weight:500;transition:all .2s;display:flex}.mobile-bottom-nav-item.active{color:var(--teal);background:#14b8a61f;font-weight:700}.dashboard-content{-webkit-overflow-scrolling:touch;flex:1;overflow:hidden auto;box-sizing:border-box!important;width:100%!important;padding:1rem .85rem!important}.dashboard-inner-container{flex-grow:0!important;height:auto!important;padding:0!important;overflow:hidden visible!important}.tab-content{gap:1.25rem!important}.dashboard-header{border-radius:10px;flex-direction:column;align-items:flex-start;gap:.85rem;margin-bottom:1rem;padding:1rem!important}.dashboard-header h1{word-break:break-word;font-size:1.35rem;line-height:1.25}.dashboard-header p{font-size:.82rem;line-height:1.4}.header-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;width:100%;display:flex}input,select,textarea{font-size:16px!important}.metrics-grid{grid-template-columns:1fr!important;gap:.75rem!important}.metric-card{gap:1rem!important;padding:1.15rem 1rem!important}.metric-content h3{font-size:1.4rem!important}.overview-split{grid-template-columns:1fr!important;gap:1rem!important}.split-left,.split-right,.portfolio-list-card{padding:1.25rem 1rem!important}.bom-header-bar{flex-direction:column!important;align-items:stretch!important;gap:1rem!important;padding:1.25rem 1rem!important}.option-picker-zone{width:100%}.option-buttons{grid-template-columns:repeat(2,1fr);gap:.5rem;width:100%;display:grid}.pricing-billboard{background:#14b8a60a;border:1px solid #14b8a626;border-radius:8px;padding:.85rem;text-align:left!important}.price-tag h2{font-size:1.45rem!important}.bom-filter-actions{flex-direction:column!important;align-items:stretch!important;gap:.75rem!important}.bom-filters{flex-direction:column!important;gap:.5rem!important;width:100%!important}.search-box,.filter-dropdown{width:100%!important}.btn-primary-add-item{justify-content:center;width:100%!important}.inline-form-card{padding:1.25rem 1rem!important}.form-grid-3,.form-grid-4{grid-template-columns:1fr!important;gap:.75rem!important}.dual-inputs{width:100%}.table-responsive,.bom-table-container,.po-table-container{-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:8px;width:100%;margin-bottom:.5rem;overflow-x:auto}.dashboard-table th,.dashboard-table td{white-space:nowrap;padding:.75rem .65rem!important;font-size:.82rem!important}.dashboard-table .col-desc,.dashboard-table .col-purpose{white-space:normal!important;min-width:160px!important}.tasks-header-bar-custom{flex-direction:column;align-items:stretch;gap:.75rem}.tasks-instruction{padding:.85rem 1rem!important;font-size:.82rem!important}.task-row-item{flex-wrap:wrap;gap:.75rem!important;padding:.85rem .75rem!important}.task-title-line{flex-wrap:wrap;gap:.35rem}.task-title-line h4{font-size:.85rem!important}.task-details-meta{gap:.5rem!important;font-size:.75rem!important}.task-action-wrapper{margin-left:auto}.financials-layout{grid-template-columns:1fr!important;gap:1rem!important}.financials-left,.exclusion-card,.milestone-card{padding:1.25rem 1rem!important}.rate-card-row{flex-direction:column;align-items:flex-start;gap:.5rem}.exclusion-addition-form{flex-direction:column;gap:.5rem}.po-header-bar{flex-direction:column;align-items:stretch;gap:.75rem;margin-bottom:1.25rem;padding-bottom:1rem}.purchasing-container{flex-direction:column!important;gap:1.25rem!important;width:100%!important;overflow-x:hidden!important}.po-form-card,.po-history-card{box-sizing:border-box!important;flex:none!important;width:100%!important;min-width:0!important;padding:1.25rem 1rem!important}.po-form-card .table-responsive{-webkit-overflow-scrolling:touch!important;width:100%!important;overflow-x:auto!important}.data-table{min-width:380px}.po-form-card .form-group-row{grid-template-columns:1fr!important;gap:.75rem!important}.po-add-item-row,.add-item-row.po-add-item-row{grid-template-columns:1fr!important;align-items:stretch!important;gap:.65rem!important;display:grid!important}.po-add-item-row .form-field input,.po-add-item-row .form-field textarea{box-sizing:border-box!important;padding:.6rem .75rem!important}.po-add-item-row .form-field input{height:42px!important}.po-add-item-row .form-field textarea{min-height:52px!important}.po-add-item-row .btn-primary-add-item{margin-top:.25rem;justify-content:center!important;width:100%!important;padding:.75rem!important}.po-desc-field,.po-add-item-row .form-field{flex:none!important;width:100%!important;margin:0!important}.activity-log-item{gap:.75rem!important;padding:1rem .85rem!important}.activity-stats-grid{grid-template-columns:1fr!important;gap:.75rem!important}.hide-on-mobile{display:none!important}.modal-overlay{z-index:9999!important;align-items:center!important;padding:1rem!important}.modal-container{flex-direction:column;margin:auto;display:flex;box-sizing:border-box!important;border-radius:14px!important;width:100%!important;max-width:min(480px,100% - 1rem)!important;max-height:90vh!important;padding:1rem!important}.modal-header{flex-shrink:0;margin-bottom:1rem!important;padding-bottom:.5rem!important}.modal-form{flex-shrink:1;padding-right:.25rem;overflow-y:auto;gap:.85rem!important}.form-group-row{grid-template-columns:1fr!important;gap:.75rem!important}.dashboard-mobile-bottom-nav{min-height:60px;padding-bottom:max(8px, env(safe-area-inset-bottom,8px))!important;height:auto!important}}.invoice-header-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.75rem;display:flex}.invoice-header-title h2{color:var(--ink);align-items:center;gap:.65rem;margin:0;font-size:1.85rem;font-weight:800;display:flex}.invoice-header-title p{color:var(--slate);margin-top:.35rem;margin-bottom:0;font-size:.9rem}.invoice-tab-switcher{border:1px solid var(--line);background:#f1f5f9;border-radius:10px;gap:4px;padding:4px;display:flex}.invoice-tab-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:7px;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-size:.88rem;font-weight:700;transition:all .2s;display:flex}.invoice-tab-btn.active{background:var(--ink);color:#fff}.invoice-tab-btn.inactive{color:var(--slate);background:0 0}.invoice-tab-btn.inactive:hover{color:var(--ink);background:#0000000a}.invoice-pi-banner{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:1.75rem;padding:1.25rem 1.5rem;box-shadow:0 2px 10px #00000008}.invoice-pi-banner-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.invoice-main-layout{grid-template-columns:minmax(0,1.8fr) minmax(320px,1fr);align-items:start;gap:1.75rem;display:grid}.invoice-form-column{flex-direction:column;gap:1.5rem;display:flex}.invoice-summary-column{flex-direction:column;gap:1.25rem;display:flex;position:sticky;top:1rem}.invoice-card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000005}.modal-two-col{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.modal-three-col{grid-template-columns:1fr 1fr 1fr;gap:1rem;display:grid}@media (width<=640px){.modal-three-col{grid-template-columns:1fr!important;gap:.75rem!important}}@media (width<=560px){.modal-two-col{grid-template-columns:1fr!important;gap:.75rem!important}}.invoice-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1.25rem;display:flex}.invoice-card-header h3{color:var(--ink);align-items:center;gap:.5rem;margin:0;font-size:1.1rem;font-weight:800;display:flex}.invoice-fields-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.invoice-address-grid{grid-template-columns:2fr 1fr;gap:1rem;margin-top:1rem;display:grid}.invoice-items-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.invoice-items-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.invoice-items-list{flex-direction:column;gap:.85rem;display:flex}.portal-table-heading{color:#f8fafc;letter-spacing:.4px;text-transform:uppercase;background:#0f172a;border:1px solid #0f172a;border-radius:8px 8px 0 0;align-items:center;gap:.65rem;margin-bottom:-.35rem;padding:.6rem .75rem;font-size:.74rem;font-weight:700;display:grid}.portal-table-heading>div{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.portal-table-heading .th-qty,.portal-table-heading .th-unit,.portal-table-heading .th-hsn,.portal-table-heading .th-gst,.portal-table-heading .th-action{text-align:center}.portal-table-heading .th-rate,.portal-table-heading .th-amount{text-align:right}.po-table-heading,.po-item-row{grid-template-columns:minmax(180px,3fr) 85px 105px 75px 115px 36px!important}.quote-table-heading,.quote-item-row,.invoice-table-heading,.invoice-item-row{grid-template-columns:minmax(180px,3fr) 85px 75px 75px 105px 115px 36px!important}.invoice-item-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:minmax(180px,3fr) 85px 70px 70px 105px 36px;align-items:center;gap:.65rem;padding:.75rem;transition:border-color .2s;display:grid}.invoice-item-card:hover{border-color:#cbd5e1}.invoice-item-main-row{display:contents}.invoice-item-desc-wrap{flex-direction:column;display:flex}.invoice-item-params-grid{display:contents}.invoice-item-field{flex-direction:column;display:flex}.invoice-item-mobile-label,.invoice-item-card-header{display:none}.invoice-item-amount-val{color:var(--ink);text-align:right;white-space:nowrap;padding:.45rem .2rem;font-size:.85rem;font-weight:700}.invoice-item-delete-desktop{justify-content:center;align-items:center;display:flex}.invoice-item-delete-mobile{display:none}.invoice-item-del-btn{color:#ef4444;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.35rem;transition:background .15s;display:flex}.invoice-item-del-btn:hover:not(:disabled){background:#fee2e2}.invoice-gst-grid{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:repeat(3,1fr);gap:.75rem;padding:.85rem;display:grid}.invoice-registry-table-wrapper{-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #e2e8f0;border-radius:12px;width:100%;overflow-x:auto}.invoice-registry-table{border-collapse:collapse;width:100%;min-width:650px;font-size:.9rem}.vendor-vault-banner{border:1px solid var(--line);background:#fff;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.75rem;padding:1.5rem;display:flex;box-shadow:0 2px 10px #00000008}.vendor-search-bar{border-bottom:1px solid var(--line);background:#f8fafc;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.vendor-table-wrapper{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.vendor-table-wrapper table{border-collapse:collapse;width:100%;min-width:680px}@media (width<=1024px){.invoice-main-layout{grid-template-columns:1fr!important;gap:1.5rem!important}.invoice-summary-column{width:100%!important;position:static!important}}@media (width<=768px){.invoice-header-bar{flex-direction:column!important;align-items:flex-start!important;gap:1rem!important}.invoice-header-title h2{font-size:1.5rem!important}.invoice-tab-switcher{-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;gap:4px!important;width:100%!important;display:flex!important;overflow-x:auto!important}.invoice-tab-btn{white-space:nowrap!important;flex:1 0 auto!important;justify-content:center!important;padding:.6rem .65rem!important;font-size:.78rem!important}.invoice-card{padding:1rem!important}.invoice-fields-grid,.invoice-address-grid{grid-template-columns:1fr!important;gap:.85rem!important}.invoice-items-header{flex-direction:column!important;align-items:flex-start!important;gap:.75rem!important}.invoice-items-actions{justify-content:flex-start!important;width:100%!important}.invoice-items-actions button{flex:auto!important;justify-content:center!important}.portal-table-heading{display:none!important}.invoice-item-card{box-sizing:border-box!important;background:#fff!important;border:1px solid #e2e8f0!important;border-radius:12px!important;flex-direction:column!important;align-items:stretch!important;gap:.75rem!important;width:100%!important;padding:1rem!important;display:flex!important;box-shadow:0 2px 8px #0f172a0d!important}.invoice-item-card-header{border-bottom:1px solid #f1f5f9!important;justify-content:space-between!important;align-items:center!important;width:100%!important;padding-bottom:.65rem!important;display:flex!important}.invoice-item-badge{color:var(--ink)!important;background:#f1f5f9!important;border-radius:6px!important;padding:3px 8px!important;font-size:.8rem!important;font-weight:800!important}.invoice-item-line-total{color:#059669!important;background:#ecfdf5!important;border-radius:6px!important;padding:3px 8px!important;font-size:.85rem!important;font-weight:800!important}.invoice-item-mobile-label{color:var(--slate)!important;text-transform:uppercase!important;letter-spacing:.3px!important;margin-bottom:.25rem!important;font-size:.72rem!important;font-weight:700!important;display:block!important}.invoice-item-main-row{align-items:flex-start!important;gap:.5rem!important;width:100%!important;display:flex!important}.invoice-item-desc-wrap{flex:100%!important;width:100%!important}.invoice-item-desc-wrap input,.invoice-item-desc-wrap textarea{box-sizing:border-box!important;width:100%!important;font-family:inherit!important;font-weight:500!important}.invoice-item-delete-desktop,.invoice-item-delete-mobile{display:none!important}.invoice-item-params-grid{grid-template-columns:1fr 1fr!important;gap:.65rem!important;width:100%!important;display:grid!important}.po-params-grid{grid-template-columns:repeat(3,1fr)!important;gap:.65rem!important;width:100%!important;display:grid!important}@media (width<=480px){.po-params-grid{grid-template-columns:1fr 1fr!important}}.invoice-item-field{flex-direction:column!important;display:flex!important}.invoice-item-field input{box-sizing:border-box!important;width:100%!important}.invoice-item-amount-col{display:none!important}.invoice-gst-grid{grid-template-columns:1fr!important;gap:.65rem!important}.vendor-vault-banner{flex-direction:column!important;align-items:flex-start!important;padding:1rem!important}.vendor-vault-banner button{justify-content:center!important;width:100%!important}.vendor-search-bar{flex-direction:column!important;align-items:stretch!important;gap:.75rem!important;padding:1rem!important}.vendor-search-bar input{max-width:100%!important}}@media (width<=480px){.invoice-item-params-grid{grid-template-columns:1fr 1fr!important;gap:.6rem!important}.invoice-tab-switcher{flex-direction:column!important}.invoice-tab-btn{width:100%!important}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (width<=1024px){.po-page-layout{flex-direction:column!important}.po-form-card,.po-history-card{flex:100%!important;width:100%!important}.quotation-layout{flex-direction:column!important}.quotation-form-card,.quotation-history-card{flex:100%!important;width:100%!important}.metrics-grid{grid-template-columns:repeat(2,1fr)!important}}@media (width<=768px){.metrics-grid{grid-template-columns:1fr!important}.po-form-grid,.quote-form-grid,.form-group-row,.form-row{flex-direction:column!important;grid-template-columns:1fr!important}.portal-add-item-grid{flex-direction:column!important;gap:.6rem!important;display:flex!important}.portal-add-item-grid>div{width:100%!important}.po-actions,.quote-actions{flex-direction:column!important}.po-actions button,.quote-actions button{justify-content:center!important;width:100%!important}.supplier-grid{grid-template-columns:1fr!important}.dashboard-header{flex-direction:column!important;align-items:flex-start!important;gap:.75rem!important;padding:1rem!important}.header-actions{justify-content:space-between!important;width:100%!important}.bom-table-wrapper,.data-table-wrapper{-webkit-overflow-scrolling:touch!important;overflow-x:auto!important}.overview-split,.financials-layout,.invoice-meta-grid,.invoice-customer-grid,.expense-form-grid{grid-template-columns:1fr!important}.expense-header,.po-header-bar{flex-direction:column!important;align-items:flex-start!important;gap:.75rem!important}.expense-header>*,.po-header-bar>*{width:100%!important}.modal-body .form-group-row,.modal-body .form-row{grid-template-columns:1fr!important}.card,.po-form-card,.po-history-card,.quotation-form-card{padding:1rem!important}.data-table{min-width:600px}.data-table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (width<=480px){.db-status-badge span:last-child{display:none!important}.po-info-row{flex-direction:column!important;gap:.5rem!important}.po-supplier-header{flex-wrap:wrap!important;gap:.4rem!important}.pipeline-title-group h1{font-size:1.4rem!important}.card{border-radius:8px!important;padding:.85rem!important}.btn-primary,.btn-secondary,.btn-primary-add-item,.btn-opt{justify-content:center!important;width:100%!important}.modal-dialog,.modal-content{width:100%!important;max-width:calc(100% - 1rem)!important;margin:.5rem auto!important}.milestone-steps{flex-direction:column!important;gap:.75rem!important}.task-row{flex-wrap:wrap!important;gap:.4rem!important}}@keyframes aiPulse{0%,to{transform:scale(1);box-shadow:0 0 20px #6366f166}50%{transform:scale(1.04);box-shadow:0 0 35px #14b8a699}}@keyframes aiShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes orbitSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes orbitReverse{0%{transform:rotate(360deg)}to{transform:rotate(0)}}.ai-extraction-card{color:#fff;background:linear-gradient(135deg,#0f172a 0%,#1e1b4b 60%,#0f172a 100%);border:1px solid #6366f173;border-radius:12px;padding:1.35rem 1.25rem;position:relative;overflow:hidden;box-shadow:0 10px 30px #0f172a66,inset 0 1px #ffffff1a}.ai-extraction-card:before{content:"";background:linear-gradient(90deg,#00d8c0,#6366f1,#ec4899,#00d8c0) 0 0/200% 100%;height:3px;animation:2.5s linear infinite aiShimmer;position:absolute;top:0;left:0;right:0}.ai-orbit-circle{background:radial-gradient(circle,#6366f140 0%,#0f172acc 100%);border-radius:50%;justify-content:center;align-items:center;width:54px;height:54px;margin:0 auto .65rem;display:flex;position:relative}.ai-orbit-ring-1{border:2px dashed #00d8c0b3;border-radius:50%;animation:6s linear infinite orbitSpin;position:absolute;inset:-4px}.ai-orbit-ring-2{border:1.5px solid #6366f166;border-top-color:#ec4899;border-radius:50%;animation:4s linear infinite orbitReverse;position:absolute;inset:-10px}.ai-progress-track{background:#ffffff1a;border-radius:999px;width:100%;height:6px;margin:.85rem 0 .5rem;position:relative;overflow:hidden}.ai-progress-fill{background:linear-gradient(90deg,#00d8c0,#6366f1,#ec4899) 0 0/200% 100%;border-radius:999px;height:100%;transition:width .4s;animation:2s linear infinite aiShimmer}.expense-top-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.expense-header-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.expense-btn-ai{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.88rem;font-weight:700;transition:transform .15s,box-shadow .15s;display:inline-flex;box-shadow:0 4px 14px #4f46e540}.expense-btn-ai:hover{transform:translateY(-1px);box-shadow:0 6px 18px #4f46e559}.expense-btn-ai:active{transform:scale(.98)}@media (width<=768px){.expense-top-bar{flex-direction:column;align-items:stretch;gap:.75rem;margin-bottom:1rem}.expense-header-actions{grid-template-columns:1fr 1fr;gap:.5rem!important;width:100%!important;display:grid!important}.expense-header-actions .expense-btn-ai{grid-column:span 2;justify-content:center!important;width:100%!important;padding:.8rem 1rem!important;font-size:.92rem!important}.expense-header-actions button.btn{justify-content:center!important;width:100%!important;padding:.65rem .75rem!important;font-size:.84rem!important}.expense-form-grid-2,.expense-form-grid-3{grid-template-columns:1fr!important}.modal-container{border-radius:14px!important;width:95%!important;max-width:96vw!important;margin:auto!important;padding:1.15rem .9rem!important}.modal-two-col,.modal-three-col{grid-template-columns:1fr!important;gap:.75rem!important}.table-responsive-wrapper,.invoice-table-wrapper,.vendor-table-wrapper{-webkit-overflow-scrolling:touch!important;width:100%!important;overflow-x:auto!important}.preview-modal-topbar{flex-wrap:wrap!important;gap:.5rem!important}}.pipeline-page-container{max-width:1440px;margin:0 auto;padding:0 1rem 3rem}.pipeline-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.25rem;margin-bottom:2rem;display:flex}.pipeline-title-group h1{color:var(--ink,#0f1f2e);letter-spacing:-.02em;align-items:center;gap:.6rem;margin:0 0 .35rem;font-size:2rem;font-weight:900;display:flex}.pipeline-title-group p{color:var(--slate,#64748b);margin:0;font-size:.92rem}.pipeline-quick-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.pipeline-action-btn{cursor:pointer;border:1px solid #0000;border-radius:9px;align-items:center;gap:.4rem;padding:.6rem 1rem;font-size:.85rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 2px 6px #0f1f2e0d}.pipeline-action-btn.primary{background:var(--ink,#0f1f2e);color:#fff}.pipeline-action-btn.primary:hover{background:#1e3a5f;transform:translateY(-1px);box-shadow:0 4px 12px #0f1f2e2e}.pipeline-action-btn.secondary{color:var(--ink,#0f1f2e);background:#fff;border:1px solid #cbd5e1}.pipeline-action-btn.secondary:hover{background:#f8fafc;border-color:#94a3b8}.pipeline-action-btn.backup-btn{color:#059669;background:#10b9811a;border:1px solid #10b98140}.pipeline-action-btn.backup-btn:hover{background:#10b98133}.pipeline-metrics-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;margin-bottom:2.25rem;display:grid}.pipeline-metric-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;justify-content:space-between;align-items:center;padding:1.25rem 1.4rem;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 16px #0f1f2e0a}.pipeline-metric-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0f1f2e14}.pipeline-metric-card:before{content:"";width:4px;position:absolute;top:0;bottom:0;left:0}.pipeline-metric-card.stage-quote:before{background:#3b82f6}.pipeline-metric-card.stage-pi:before{background:#f59e0b}.pipeline-metric-card.stage-inv:before{background:#10b981}.pipeline-metric-card.stage-po:before{background:#8b5cf6}.metric-info h4{text-transform:uppercase;letter-spacing:.05em;color:var(--slate,#64748b);margin:0 0 .3rem;font-size:.8rem;font-weight:700}.metric-info .metric-count{color:var(--ink,#0f1f2e);margin:0;font-size:1.85rem;font-weight:900;line-height:1.1}.metric-info .metric-value{color:var(--slate,#64748b);margin-top:.25rem;font-size:.85rem;font-weight:700}.metric-icon-badge{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.stage-quote .metric-icon-badge{color:#2563eb;background:#eff6ff}.stage-pi .metric-icon-badge{color:#d97706;background:#fef3c7}.stage-inv .metric-icon-badge{color:#059669;background:#ecfdf5}.stage-po .metric-icon-badge{color:#7c3aed;background:#f3e8ff}.pipeline-filter-bar{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;padding:.85rem 1.25rem;display:flex;box-shadow:0 2px 8px #0f1f2e08}.filter-pills-group{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.filter-pill-label{color:var(--slate,#64748b);text-transform:uppercase;letter-spacing:.04em;margin-right:.25rem;font-size:.8rem;font-weight:700}.author-pill{color:var(--slate,#64748b);cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:20px;padding:.35rem .8rem;font-size:.82rem;font-weight:600;transition:all .15s}.author-pill:hover{color:var(--ink,#0f1f2e);background:#e2e8f0}.author-pill.active{background:var(--ink,#0f1f2e);color:#fff;border-color:var(--ink,#0f1f2e)}.pipeline-filter-view-toggle{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;gap:2px;padding:3px;display:inline-flex}.view-toggle-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.4rem .8rem;font-size:.78rem;font-weight:700;transition:all .15s}.view-toggle-btn.active{color:var(--ink,#0f1f2e);background:#fff;box-shadow:0 1px 4px #0f1f2e14}.pipeline-search-box{width:100%;max-width:260px;position:relative}.pipeline-search-box input{border:1px solid #cbd5e1;border-radius:8px;outline:none;width:100%;padding:.5rem .8rem .5rem 2.2rem;font-size:.85rem;transition:border-color .2s}.pipeline-search-box input:focus{border-color:var(--ink,#0f1f2e)}.pipeline-columns-grid{grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-bottom:2.5rem;display:grid}@media (width<=1200px){.pipeline-columns-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=680px){.pipeline-columns-grid{grid-template-columns:1fr}}.pipeline-column{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;flex-direction:column;min-height:480px;padding:1.25rem;display:flex}.pipeline-column-header{border-bottom:2px solid #e2e8f0;justify-content:space-between;align-items:center;margin-bottom:1.15rem;padding-bottom:.75rem;display:flex}.column-title-wrap{align-items:center;gap:.5rem;display:flex}.column-title-wrap h3{color:var(--ink,#0f1f2e);margin:0;font-size:1rem;font-weight:800}.column-badge-count{color:var(--ink,#0f1f2e);background:#e2e8f0;border-radius:12px;padding:2px 8px;font-size:.75rem;font-weight:800}.pipeline-cards-list{flex-direction:column;flex:1;gap:.9rem;max-height:650px;padding-right:2px;display:flex;overflow-y:auto}.pipeline-deal-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:.6rem;padding:1rem;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 2px 8px #0f1f2e0a}.pipeline-deal-card:hover{border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 6px 16px #0f1f2e14}.deal-card-top{justify-content:space-between;align-items:flex-start;display:flex}.deal-card-ref{color:var(--ink,#0f1f2e);font-size:.95rem;font-weight:800}.deal-card-client{color:#334155;font-size:.85rem;font-weight:700}.deal-card-meta{color:var(--slate,#64748b);justify-content:space-between;align-items:center;font-size:.75rem;display:flex}.deal-card-amount{color:var(--ink,#0f1f2e);font-size:1rem;font-weight:800}.deal-card-footer{border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:.5rem;padding-top:.5rem;display:flex}.card-action-btn{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:.3rem;padding:.35rem .75rem;font-size:.78rem;font-weight:700;transition:all .15s;display:inline-flex}.card-action-btn.create-pi{color:#b45309;background:#f59e0b1f}.card-action-btn.create-pi:hover{background:#f59e0b38}.card-action-btn.create-inv{color:#047857;background:#10b9811f}.card-action-btn.create-inv:hover{background:#10b98138}.card-action-btn.view-pdf{color:var(--ink,#0f1f2e);background:#0f1f2e14}.card-action-btn.view-pdf:hover{background:#0f1f2e26}.empty-column-state{text-align:center;color:#94a3b8;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:3rem 1rem;display:flex}.pipeline-bottom-grid{grid-template-columns:1.4fr 1fr;gap:1.5rem;width:100%;display:grid}.dashboard-panel-card{box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:14px;width:100%;min-width:0;padding:1.5rem;overflow:hidden;box-shadow:0 4px 16px #0f1f2e0a}.panel-header{border-bottom:1px solid #f1f5f9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding-bottom:.75rem;display:flex}.panel-header h3{color:var(--ink,#0f1f2e);word-break:break-word;flex:auto;align-items:center;gap:.5rem;min-width:0;margin:0;font-size:1.15rem;font-weight:800;display:flex}.project-progress-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:.75rem;margin-bottom:1rem;padding:1.15rem 1.25rem;display:flex}.project-progress-item:last-child{margin-bottom:0}.project-item-top{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.project-item-title{color:var(--ink,#0f1f2e);margin:0 0 .25rem;font-size:1rem;font-weight:800}.project-item-client{color:var(--slate,#64748b);word-break:break-word;font-size:.8rem;font-weight:600;display:block}.project-status-chip{text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-radius:9999px;flex-shrink:0;padding:.25rem .65rem;font-size:.72rem;font-weight:800}.project-status-chip.status-active{color:#0f766e;background:#14b8a61f;border:1px solid #14b8a640}.project-status-chip.status-completed{color:#15803d;background:#22c55e1f;border:1px solid #22c55e40}.project-status-chip.status-on-hold{color:#b45309;background:#f59e0b1f;border:1px solid #f59e0b40}.project-bars-group{flex-direction:column;gap:.85rem;display:flex}.project-bar-row{flex-direction:column;gap:.35rem;display:flex}.bar-labels{color:#475569;justify-content:space-between;align-items:center;gap:.5rem;font-size:.78rem;display:flex}.bar-label-title{color:#475569;word-break:break-word;flex:1;font-size:.78rem;font-weight:600;line-height:1.3}.bar-label-pct{color:var(--ink,#0f1f2e);flex-shrink:0;font-size:.82rem;font-weight:800}.bar-track-mini{background:#e2e8f0;border-radius:6px;width:100%;height:8px;overflow:hidden}.bar-fill-mini{border-radius:6px;height:100%;transition:width .4s}.bar-fill-mini.bg-teal{background:linear-gradient(90deg,#14b8a6 0%,#0f766e 100%)}.bar-fill-mini.bg-green{background:linear-gradient(90deg,#22c55e 0%,#16a34a 100%)}.team-matrix-table-wrap{-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #e2e8f0;border-radius:10px;width:100%;overflow-x:auto}.pipeline-table{border-collapse:separate;border-spacing:0;text-align:left;width:100%;font-size:.86rem}.pipeline-table th{color:#475569;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:.75rem 1rem;font-size:.78rem;font-weight:700}.pipeline-table td{color:#1e293b;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:.75rem 1rem;transition:background .15s}.pipeline-table tbody tr:last-child td{border-bottom:none}.pipeline-table tbody tr:hover td{background:#f8fafc}.pipeline-table tbody tr.selected-row td{background:#14b8a614;border-bottom-color:#14b8a633}.team-member-cell{white-space:nowrap;align-items:center;gap:.75rem;display:flex}.member-avatar{color:#fff;background:linear-gradient(135deg,#14b8a6 0%,#0f766e 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;font-weight:800;display:flex;box-shadow:0 2px 6px #14b8a659}.member-name{color:var(--ink,#0f1f2e);font-size:.88rem;font-weight:700}.doc-count-badge{border-radius:6px;justify-content:center;align-items:center;min-width:28px;height:24px;padding:0 8px;font-size:.8rem;font-weight:800;display:inline-flex}.doc-count-badge.quotes{color:#2563eb;background:#3b82f61a}.doc-count-badge.pis{color:#d97706;background:#f59e0b1f}.doc-count-badge.invoices{color:#059669;background:#10b9811f}.doc-count-badge.pos{color:#7c3aed;background:#8b5cf61f}.team-matrix-mobile-list{flex-direction:column;gap:.75rem;display:none}@media (width<=640px){.team-matrix-desktop-only{display:none!important}.team-matrix-mobile-list{display:flex!important}}.team-member-mobile-card{cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:.65rem;padding:.85rem 1rem;transition:all .2s;display:flex}.team-member-mobile-card:hover{background:#f1f5f9;border-color:#cbd5e1}.team-member-mobile-card.active{background:#14b8a614;border-color:#14b8a6;box-shadow:0 2px 8px #14b8a626}.team-member-mobile-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.team-member-total-pill{color:var(--slate,#64748b);white-space:nowrap;background:#e2e8f0;border-radius:9999px;padding:2px 8px;font-size:.78rem;font-weight:600}.team-member-total-pill strong{color:var(--ink,#0f1f2e);font-weight:800}.team-member-badges-row{border-top:1px solid #e2e8f0;grid-template-columns:repeat(4,1fr);gap:.4rem;padding-top:.5rem;display:grid}.doc-count-item{flex-direction:column;align-items:center;gap:.2rem;display:flex}.doc-count-label{color:var(--slate,#64748b);text-transform:uppercase;font-size:.68rem;font-weight:700}.pipeline-charts-section{margin-bottom:2.5rem}.pipeline-charts-grid{grid-template-columns:1.4fr 1fr;gap:1.5rem;display:grid}.chart-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;flex-direction:column;padding:1.5rem;display:flex;box-shadow:0 4px 16px #0f1f2e0a}.chart-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem;padding-bottom:.75rem;display:flex}.chart-title-area h3{color:var(--ink,#0f1f2e);align-items:center;gap:.5rem;margin:0 0 .2rem;font-size:1.1rem;font-weight:800;display:flex}.chart-title-area p{color:var(--slate,#64748b);margin:0;font-size:.8rem}.chart-badge{color:var(--ink,#0f1f2e);background:#f1f5f9;border-radius:6px;padding:.25rem .6rem;font-size:.75rem;font-weight:700}.bar-chart-container{flex-direction:column;flex:1;justify-content:center;gap:1.1rem;display:flex}.bar-chart-row{flex-direction:column;gap:.35rem;display:flex}.bar-row-info{justify-content:space-between;align-items:center;font-size:.82rem;font-weight:700;display:flex}.bar-row-label{color:var(--ink,#0f1f2e);align-items:center;gap:.4rem;display:flex}.bar-dot{border-radius:50%;width:8px;height:8px}.bar-row-value{color:var(--slate,#64748b)}.bar-row-value strong{color:var(--ink,#0f1f2e);margin-right:.3rem}.bar-track{background:#f1f5f9;border-radius:8px;height:12px;position:relative;overflow:hidden}.bar-fill{border-radius:8px;height:100%;transition:width .8s cubic-bezier(.4,0,.2,1)}.donut-chart-container{flex-wrap:wrap;flex:1;justify-content:space-around;align-items:center;gap:1.5rem;padding:.5rem 0;display:flex}.donut-svg-wrap{justify-content:center;align-items:center;width:150px;height:150px;display:flex;position:relative}.donut-svg{width:100%;height:100%;transform:rotate(-90deg)}.donut-center-text{text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute}.donut-center-val{color:var(--ink,#0f1f2e);font-size:1.15rem;font-weight:900;line-height:1.1}.donut-center-label{text-transform:uppercase;color:var(--slate,#64748b);letter-spacing:.05em;margin-top:2px;font-size:.68rem;font-weight:700}.donut-legend{flex-direction:column;gap:.65rem;min-width:150px;display:flex}.donut-legend-item{justify-content:space-between;align-items:center;gap:.75rem;font-size:.82rem;display:flex}.donut-legend-left{color:var(--ink,#0f1f2e);align-items:center;gap:.4rem;font-weight:600;display:flex}.donut-legend-pct{color:var(--slate,#64748b);font-weight:800}@media (width<=1100px){.pipeline-charts-grid,.pipeline-columns-grid,.pipeline-bottom-grid{grid-template-columns:1fr}}@media (width<=768px){.pipeline-page-container{box-sizing:border-box!important;width:100%!important;max-width:100%!important;padding:0 .5rem 2rem!important;overflow-x:hidden!important}.pipeline-header{flex-direction:column!important;align-items:stretch!important;gap:.85rem!important;margin-bottom:1.25rem!important}.pipeline-title-group h1{word-break:break-word!important;font-size:1.35rem!important}.pipeline-title-group p{font-size:.82rem!important}.pipeline-quick-actions{flex-wrap:wrap!important;gap:.45rem!important;width:100%!important;display:flex!important}.pipeline-quick-actions .pipeline-action-btn{flex:calc(50% - .5rem)!important;justify-content:center!important;min-width:0!important;padding:.5rem .65rem!important;font-size:.78rem!important}.pipeline-metrics-grid{grid-template-columns:repeat(2,1fr)!important;gap:.65rem!important;width:100%!important;margin-bottom:1.25rem!important}.pipeline-metric-card{box-sizing:border-box!important;min-width:0!important;padding:.85rem!important}.metric-info h4{font-size:.72rem!important}.metric-info .metric-count{font-size:1.35rem!important}.metric-info .metric-value{font-size:.75rem!important}.metric-icon-badge{width:36px!important;height:36px!important}.pipeline-filter-bar{flex-direction:column!important;align-items:stretch!important;gap:.65rem!important;padding:.75rem!important}.pipeline-search-box{width:100%!important;max-width:100%!important}.pipeline-charts-grid,.pipeline-columns-grid,.pipeline-bottom-grid{grid-template-columns:1fr!important;gap:1rem!important;width:100%!important;min-width:0!important}.pipeline-chart-card{box-sizing:border-box!important;width:100%!important;padding:1rem!important}.donut-chart-container{flex-direction:column!important;align-items:center!important;gap:1rem!important}.pipeline-column{box-sizing:border-box!important;width:100%!important;min-width:0!important;min-height:auto!important;padding:.85rem!important}.pipeline-deal-card{box-sizing:border-box!important;width:100%!important;min-width:0!important;padding:.85rem!important}.deal-card-footer{flex-wrap:wrap!important;gap:.4rem!important}.card-action-btn{padding:.35rem .6rem!important;font-size:.75rem!important}.dashboard-panel-card{box-sizing:border-box!important;border-radius:12px!important;width:100%!important;min-width:0!important;padding:.85rem 1rem!important}.panel-header{flex-wrap:wrap!important;align-items:flex-start!important;gap:.65rem!important}.panel-header h3{word-break:break-word!important;flex:100%!important;font-size:.98rem!important}.panel-header .pipeline-action-btn,.panel-header .chart-badge{align-self:flex-start!important}.team-member-mobile-card{box-sizing:border-box!important;width:100%!important;min-width:0!important;padding:.75rem .85rem!important}.team-member-mobile-header{flex-wrap:wrap!important;gap:.4rem!important}.team-member-cell{flex:auto!important;min-width:0!important;overflow:hidden!important}.member-name{word-break:break-word!important;font-size:.85rem!important}.team-member-total-pill{flex-shrink:0!important;font-size:.74rem!important}.team-member-badges-row{gap:.25rem!important}.doc-count-badge{padding:2px 6px!important;font-size:.72rem!important}.doc-count-label{font-size:.6rem!important}.project-progress-item{box-sizing:border-box!important;width:100%!important;min-width:0!important;padding:.85rem!important}.project-item-top{flex-wrap:wrap!important;gap:.5rem!important}.bar-labels{flex-wrap:wrap!important;gap:.25rem!important}.bar-row-info{flex-wrap:wrap!important;gap:.35rem!important}.pipeline-data-table-wrapper{-webkit-overflow-scrolling:touch!important;width:100%!important;overflow-x:auto!important}.pipeline-data-table{min-width:550px!important}}@media (width<=480px){.pipeline-metrics-grid{grid-template-columns:1fr!important}.pipeline-title-group h1{font-size:1.25rem!important}.chart-metric-row{flex-direction:column!important;align-items:flex-start!important;gap:.35rem!important}.chart-metric-value-wrap{justify-content:space-between!important;width:100%!important}.pipeline-quick-actions .pipeline-action-btn{flex:100%!important}}.material-flow-container{background-color:#f8fafc;min-height:100vh}.flow-master-header{background:#fff;border:1px solid #e2e8f0;border-radius:16px;margin-bottom:2rem;padding:1.5rem 2rem;box-shadow:0 4px 6px -1px #0000000a,0 2px 4px -1px #00000005}.flow-title-group h1{color:var(--ink,#0f172a);letter-spacing:-.02em;margin:.5rem 0 .25rem;font-size:1.6rem;font-weight:800}.flow-subtitle{color:var(--slate,#64748b);max-width:800px;margin:0 0 1.5rem;font-size:.9rem}.flow-badge{letter-spacing:.02em;border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-size:.76rem;font-weight:700;display:inline-flex}.flow-badge.inflow-badge{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.flow-badge.outflow-badge{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.flow-steps-track{scrollbar-width:thin;background:#f1f5f9;border-radius:12px;align-items:center;gap:.75rem;padding:.5rem;display:flex;overflow-x:auto}.flow-step-btn{cursor:pointer;text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex:1;align-items:center;gap:.75rem;min-width:170px;padding:.75rem 1rem;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 1px 2px #00000008}.flow-step-btn:hover{background:#fafafa;border-color:#cbd5e1;transform:translateY(-1px)}.flow-step-btn.active{color:#fff;background:#0f766e;border-color:#0f766e;box-shadow:0 4px 12px #0f766e40}.flow-step-btn.active .step-num{color:#0f766e;background:#fff}.flow-step-btn.active .step-name{color:#fff}.flow-step-btn.active .step-desc{color:#ffffffd1}.flow-step-btn.active .step-icon{color:#fff}.step-num{width:28px;height:28px;color:var(--ink,#0f172a);background:#e2e8f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.84rem;font-weight:800;transition:all .2s;display:flex}.step-text{flex-direction:column;flex:1;display:flex}.step-name{color:var(--ink,#0f172a);font-size:.88rem;font-weight:800;line-height:1.2}.step-desc{color:var(--slate,#64748b);margin-top:2px;font-size:.72rem}.step-icon{color:var(--slate,#64748b);flex-shrink:0}.flow-step-arrow{color:#94a3b8;flex-shrink:0;justify-content:center;align-items:center;display:flex}@media (width<=900px){.flow-master-header{padding:1.25rem 1rem}.flow-step-btn{min-width:150px;padding:.6rem .75rem}}.pi-prerequisite-box{background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 100%);border:1.5px solid #f59e0b;border-radius:12px;justify-content:space-between;align-items:center;gap:1.25rem;margin-bottom:1.5rem;padding:1.25rem 1.5rem;display:flex;box-shadow:0 4px 12px #f59e0b1f}.pi-prerequisite-box .pi-prerequisite-text h3{color:#92400e;margin:0 0 4px;font-size:1.05rem;font-weight:800}.pi-prerequisite-box .pi-prerequisite-text p{color:#b45309;margin:0;font-size:.86rem;line-height:1.45}.btn-switch-pi{color:#fff;cursor:pointer;white-space:nowrap;background:#d97706;border:none;border-radius:8px;align-items:center;gap:8px;padding:.65rem 1.25rem;font-size:.86rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 2px 6px #d977064d}.btn-switch-pi:hover{background:#b45309;transform:translateY(-1px)}.cpo-ai-dropzone{text-align:center;cursor:pointer;background:linear-gradient(#f8fafc 0%,#f1f5f9 100%);border:2px dashed #94a3b8;border-radius:12px;padding:1.5rem;transition:all .2s}.cpo-ai-dropzone:hover{background:#f0f9ff;border-color:#0284c7}.cpo-ai-scanning{color:#fff;background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);border-radius:12px;align-items:center;gap:1.25rem;margin-bottom:1.25rem;padding:1.5rem;display:flex;box-shadow:0 8px 24px #0f172a40}.cpo-scanner-spinner{border:3px solid #ffffff26;border-top-color:#38bdf8;border-radius:50%;flex-shrink:0;width:42px;height:42px;animation:1s linear infinite cpoSpin}@keyframes cpoSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cpo-match-card{background:#f0fdf4;border:1.5px solid #86efac;border-radius:10px;justify-content:space-between;align-items:center;gap:1rem;margin-top:.5rem;padding:.85rem 1.15rem;display:flex}.cpo-match-card.warning-diff{background:#fffbeb;border-color:#fcd34d}.cpo-pi-preview-card{color:#0f766e;background:#f0fdfa;border:1px solid #99f6e4;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.5rem;padding:.75rem 1rem;font-size:.84rem;display:flex}.pi-link-pill{color:#0f766e;background:#ccfbf1;border:1px solid #5eead4;border-radius:6px;align-items:center;gap:5px;padding:2px 8px;font-size:.78rem;font-weight:700;display:inline-flex}@media (width<=768px){.flow-master-header{border-radius:12px!important;margin-bottom:1.25rem!important;padding:1.15rem 1rem!important}.flow-title-group h1{font-size:1.35rem!important}.flow-steps-track{-webkit-overflow-scrolling:touch!important;gap:.5rem!important;padding:.4rem!important}.flow-step-btn{min-width:140px!important;padding:.6rem .75rem!important}.pi-prerequisite-box{flex-direction:column!important;align-items:stretch!important;gap:1rem!important;padding:1rem!important}.btn-switch-pi{justify-content:center!important;width:100%!important}.cpo-match-card{flex-direction:column!important;align-items:flex-start!important;gap:.75rem!important;padding:.75rem!important}.cpo-match-card button{justify-content:center!important;width:100%!important}.cpo-ai-scanning{gap:.75rem!important;padding:1rem!important}.cpo-ai-dropzone{padding:1rem!important}}
