:root{color-scheme:light;--steel-50:#eef2f7;--steel-100:#dfe6ee;--steel-200:#c5ced9;--steel-300:#a8b4c6;--steel-600:#5c6b7f;--steel-800:#1a2332;--bg:#dfe6ee;--bg-gradient:linear-gradient(145deg,#d4dce6,#e8eef5 42%,#d9e2ec);--surface:rgba(255,255,255,0.68);--surface-dense:rgba(255,255,255,0.82);--text:var(--steel-800);--muted:var(--steel-600);--border:rgba(168,180,198,0.55);--border-strong:rgba(148,163,184,0.75);--glass-bg:rgba(255,255,255,0.62);--glass-bg-dense:rgba(255,255,255,0.78);--glass-border:rgba(255,255,255,0.72);--glass-blur:20px;--glass-highlight:inset 0 1px 0 rgba(255,255,255,0.72);--accent:#2563eb;--accent-hover:#1d4ed8;--accent-soft:rgba(37,99,235,0.14);--accent-muted:rgba(239,246,255,0.85);--accent-gradient:linear-gradient(180deg,#3b82f6,#1d4ed8);--accent-glow:0 4px 18px rgba(37,99,235,0.28);--danger:#dc2626;--danger-bg:#fef2f2;--success:#15803d;--success-soft:#dcfce7;--shadow-sm:0 1px 2px rgba(15,35,60,0.06);--shadow-md:0 10px 32px rgba(15,40,80,0.1);--shadow-glass:var(--glass-highlight),0 8px 32px rgba(15,40,80,0.08);--content-max:1400px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}body{margin:0;min-height:100vh;background:var(--bg-gradient);background-color:var(--bg);color:var(--text)}.page-shell{min-height:100vh;overflow-x:hidden;flex-direction:column}.page-shell,.page-shell-body{position:relative;display:flex}.page-shell-body{z-index:1;flex:1 0 auto;flex-direction:column}.page-bg-shapes{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.page-bg-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(26,35,50,.045) 1px,transparent 0),linear-gradient(90deg,rgba(26,35,50,.045) 1px,transparent 0);background-size:32px 32px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.2) 55%,transparent);mask-image:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.2) 55%,transparent)}.page-bg-steel-sheen{position:absolute;inset:-20% -10%;background:linear-gradient(118deg,transparent 35%,rgba(255,255,255,.22) 48%,transparent 62%);transform:rotate(-6deg)}.page-bg-accent-glow{position:absolute;width:520px;height:520px;top:-180px;right:-120px;border-radius:50%;background:radial-gradient(circle,rgba(59,130,246,.18) 0,transparent 68%)}.content-container{width:100%;max-width:var(--content-max);margin:0 auto;padding-left:1.5rem;padding-right:1.5rem;box-sizing:border-box}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:rgba(232,238,245,.72);backdrop-filter:blur(var(--glass-blur)) saturate(1.08);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.08);border-bottom:1px solid var(--border-strong);box-shadow:0 1px 0 rgba(37,99,235,.12),var(--shadow-sm)}.site-header .content-container{max-width:none}.site-header-inner{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding-top:.7rem;padding-bottom:.7rem}.header-brand-nav{gap:1.5rem;min-width:0}.header-brand-nav,.header-nav{display:flex;align-items:center}.header-nav{gap:.15rem}.header-nav-link{display:inline-flex;align-items:center;height:2.25rem;padding:0 .7rem;border-radius:8px;color:var(--text);font-size:.92rem;font-weight:550;text-decoration:none;white-space:nowrap}.header-nav-link:hover{background:rgba(37,99,235,.08);color:#1d4ed8}.header-nav-link-active{background:rgba(37,99,235,.12);color:#1d4ed8;font-weight:650}.header-nav-link-active:hover{background:rgba(37,99,235,.16);color:#1e40af}.header-utilities{display:flex;align-items:center;gap:.45rem;flex:0 0 auto}.header-utilities-divider{width:1px;height:1.35rem;margin:0 .2rem;background:var(--border-strong)}.header-sign-in{display:inline-flex;align-items:center;justify-content:center;height:2.25rem;padding:0 .95rem;border:1px solid var(--border-strong);border-radius:8px;background:#fff;color:var(--text);font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;white-space:nowrap}.header-sign-in:hover{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}.header-account{position:relative;display:inline-flex;align-items:center}.header-account-trigger{display:inline-flex;align-items:center;gap:.45rem;max-width:14rem;height:2.25rem;padding:0 .55rem 0 .3rem;border:1px solid var(--border-strong);border-radius:999px;background:#fff;color:var(--text);font:inherit;cursor:pointer}.header-account-trigger:hover{border-color:#93c5fd;background:#eff6ff}.header-account-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.header-account-avatar{display:inline-grid;place-items:center;width:1.65rem;height:1.65rem;border-radius:999px;background:rgba(37,99,235,.12);color:#1d4ed8;font-size:.78rem;font-weight:700;flex:0 0 auto}.header-account-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:600}.header-account-chevron{color:var(--muted);font-size:.7rem;line-height:1;flex:0 0 auto}.header-account-menu{position:absolute;top:calc(100% + .4rem);right:0;z-index:30;min-width:10.5rem;padding:.3rem;border:1px solid var(--glass-border);border-radius:10px;background:var(--glass-bg-dense);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));box-shadow:var(--shadow-md)}.header-account-menu-item{display:flex;align-items:center;width:100%;padding:.55rem .65rem;border:none;border-radius:7px;background:transparent;color:var(--text);font:inherit;font-size:.9rem;font-weight:550;text-align:left;text-decoration:none;cursor:pointer}.header-account-menu-item:hover{background:rgba(37,99,235,.08);color:#1d4ed8}.header-account-menu-item-danger:hover{background:rgba(185,28,28,.08);color:#b91c1c}.site-footer{position:relative;z-index:1;margin-top:auto;border-top:1px solid var(--border-strong);background:rgba(232,238,245,.55);backdrop-filter:blur(var(--glass-blur)) saturate(1.05);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.05)}.site-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:1rem;padding-bottom:1rem}.site-footer-copy{margin:0;font-size:.85rem}.site-footer-nav{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}.site-footer-nav .text-link{font-size:.9rem}.legal-page{max-width:46rem}.legal-page-header{margin-bottom:1.25rem}.legal-page-kicker{display:flex;align-items:center;gap:.4rem;margin:0 0 .75rem;color:var(--muted);font-size:.9rem}.legal-page-title{margin:0 0 .35rem}.legal-page-updated{margin:0;font-size:.9rem}.legal-document{padding:1.35rem 1.4rem 1.5rem}.legal-document-intro{margin:0 0 1.25rem;line-height:1.6}.legal-document-section{margin:0 0 1.15rem}.legal-document-section:last-child{margin-bottom:0}.legal-document-section h2{margin:0 0 .55rem;font-size:1.1rem;letter-spacing:-.01em}.legal-document-section p{margin:0 0 .65rem;line-height:1.6;color:var(--text)}.legal-document-section p:last-child{margin-bottom:0}.header-notifications,.header-notifications-trigger{position:relative;display:inline-flex;align-items:center}.header-notifications-trigger{justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:1px solid var(--border-strong);border-radius:8px;background:#fff;color:var(--text);cursor:pointer}.header-notifications-trigger:hover{border-color:var(--accent)}.header-notifications-badge{position:absolute;top:-.3rem;right:-.3rem;min-width:1.1rem;height:1.1rem;padding:0 .25rem;border-radius:999px;background:var(--accent);color:#fff;font-size:.68rem;font-weight:700;line-height:1.1rem;text-align:center}.header-notifications-panel{position:absolute;top:calc(100% + .4rem);right:0;z-index:40;width:min(22rem,calc(100vw - 2rem));max-height:min(24rem,70vh);overflow:auto;border:1px solid var(--border-strong);border-radius:12px;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.14),0 2px 8px rgba(15,23,42,.06)}.header-notifications-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem .9rem;border-bottom:1px solid var(--border)}.header-notifications-mark-all{font-size:.82rem}.header-notifications-empty{margin:0;padding:1rem .9rem}.header-notifications-list{display:flex;flex-direction:column}.header-notifications-item{display:grid;grid-gap:.2rem;gap:.2rem;padding:.75rem .9rem;border:0;border-bottom:1px solid var(--border);background:transparent;color:inherit;text-align:left;text-decoration:none;font:inherit;cursor:pointer}.header-notifications-item:last-child{border-bottom:0}.header-notifications-item:hover{background:#f8fafc}.header-notifications-item.is-unread{background:color-mix(in srgb,var(--accent-soft) 55%,#fff)}.header-notifications-item-title{font-size:.9rem;font-weight:650}.header-notifications-item-body,.header-notifications-item-time{font-size:.8rem}.notification-toasts{position:fixed;right:1rem;bottom:1rem;z-index:60;display:grid;grid-gap:.65rem;gap:.65rem;width:min(22rem,calc(100vw - 2rem))}.notification-toast{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.85rem .9rem;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-glass)}.notification-toast-copy{display:grid;grid-gap:.25rem;gap:.25rem;min-width:0}.notification-toast-copy p{margin:0;font-size:.85rem;color:var(--muted)}.notification-toast-actions{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.notification-toast-cta{padding:.35rem .65rem;font-size:.82rem}.language-switcher{position:relative;display:inline-flex;align-items:center}.language-switcher-trigger{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;height:2.25rem;padding:0 .55rem;border:1px solid var(--border-strong);border-radius:8px;background:#fff;color:var(--text);font:inherit;cursor:pointer;line-height:1}.language-switcher-trigger:hover{background:var(--surface-muted,rgba(0,0,0,.04))}.language-switcher-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.language-switcher-chevron{font-size:.75rem;color:var(--muted);line-height:1}.language-switcher-flag-img{display:block;width:20px;height:auto;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.08)}.language-switcher-menu{position:absolute;top:calc(100% + .35rem);right:0;z-index:30;min-width:9.5rem;margin:0;padding:.25rem;list-style:none;border:1px solid var(--glass-border);border-radius:10px;background:var(--glass-bg-dense);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));box-shadow:var(--shadow-md)}.language-switcher-option{display:flex;align-items:center;gap:.55rem;width:100%;padding:.45rem .55rem;border:none;border-radius:7px;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.language-switcher-option:hover{background:var(--surface-muted,rgba(0,0,0,.04))}.language-switcher-option--active{background:var(--accent-soft,rgba(59,130,246,.12))}.brand{display:inline-flex;align-items:center;gap:.6rem;font-weight:700;font-size:1.15rem;color:var(--text);text-decoration:none}.brand-logo{width:auto;height:36px;object-fit:contain}.brand-text{letter-spacing:-.02em}.main-content{position:relative;z-index:1;padding-top:2rem;padding-bottom:4rem}main{max-width:var(--content-max);margin:0 auto;padding:1.5rem 1.5rem 3rem}h1{font-size:2rem;margin:0 0 .5rem;letter-spacing:-.02em}.muted{color:var(--muted);margin:0}.card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(1.05);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.05);border:1px solid var(--glass-border);border-radius:16px;padding:1rem 1.15rem;margin-bottom:.85rem;box-shadow:var(--shadow-glass)}.row{display:flex;gap:.75rem;flex-wrap:wrap}button{cursor:pointer;border:none;border-radius:10px;padding:.65rem 1.1rem;font-size:.95rem;font-weight:600;font-family:inherit;transition:background .15s ease,color .15s ease}button:disabled{opacity:.55;cursor:not-allowed}.button-link-primary,a.primary,button.primary{display:inline-flex;align-items:center;justify-content:center;background:var(--accent-gradient);color:#fff;text-decoration:none;border-radius:10px;padding:.65rem 1.1rem;font-size:.95rem;font-weight:600;font-family:inherit;border:1px solid rgba(29,78,216,.35);cursor:pointer;box-shadow:var(--accent-glow);transition:background .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease}.button-link-primary:hover,a.primary:hover,button.primary:hover:not(:disabled){background:linear-gradient(180deg,#2563eb,#1e40af);color:#fff;box-shadow:0 6px 22px rgba(37,99,235,.38);transform:translateY(-1px)}.button-link-secondary,a.secondary,button.secondary{display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.45);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text);border:1px solid var(--border-strong);text-decoration:none;border-radius:10px;padding:.65rem 1.1rem;font-size:.95rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease}.button-link-secondary:hover,a.secondary:hover,button.secondary:hover:not(:disabled){background:var(--accent-muted);border-color:var(--accent);color:var(--accent)}button.danger{background:var(--danger-bg);color:var(--danger);border:1px solid #fecaca}button.danger:hover:not(:disabled){background:#fee2e2}pre{margin:0;white-space:pre-wrap;word-break:break-word;font-size:.85rem}.error{color:var(--danger)}.home-hero,.page-hero{margin-bottom:1.75rem}.home-hero{border-radius:16px;overflow:hidden;border:1px solid rgba(148,163,184,.45);box-shadow:var(--shadow-glass);background:linear-gradient(105deg,rgba(26,35,50,.88),rgba(30,64,175,.62) 45%,rgba(37,99,235,.32)),url(/home-hero-bg.png) 50%/cover no-repeat;min-height:280px}.home-hero-overlay{min-height:inherit;display:flex;align-items:flex-end;padding:2rem 1.75rem 1.85rem}.home-hero-content{max-width:40rem;color:#fff}.home-hero-kicker{margin:0 0 .4rem;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.9}.home-hero h1{margin:0 0 .65rem;font-size:clamp(1.75rem,3vw,2.35rem);line-height:1.15;letter-spacing:-.02em;color:#fff}.home-hero-lead{margin:0;font-size:1.02rem;line-height:1.6;color:rgba(255,255,255,.92);max-width:38ch}.home-hero-actions{margin-top:1.15rem;display:flex;flex-wrap:wrap;gap:.65rem}.home-hero-link{display:inline-flex;align-items:center;padding:.65rem 1.1rem;border-radius:10px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.45);color:#fff;text-decoration:none;font-size:.95rem;font-weight:600;transition:background .15s ease,border-color .15s ease}.home-hero-link:hover{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.75)}.project-tile-participating{border-color:#c4b5fd;box-shadow:0 0 0 1px #ddd6fe,var(--shadow-sm)}.project-tile-contractor-badge{position:absolute;top:.65rem;right:.65rem;max-width:calc(100% - 1.3rem);padding:.2rem .55rem;border-radius:999px;background:#ede9fe;color:#5b21b6;font-size:.72rem;font-weight:700;line-height:1.25;text-align:right}.project-tile-owned .project-tile-contractor-badge{top:auto;bottom:.65rem;right:.65rem}.project-tile-participation{margin:0;font-size:.82rem;font-weight:600;color:#5b21b6}.contractor-project-card{border-color:#c4b5fd}.contractor-participation-meta{margin-top:1rem}.contractor-participation-callout{margin-top:1rem;padding:.85rem 1rem;border-radius:10px;background:#faf5ff;border:1px solid #ddd6fe;border-left:4px solid #7c3aed}.contractor-participation-callout-title{margin:0 0 .35rem;font-size:.82rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#5b21b6}.contractor-participation-callout-text{margin:0;font-size:.94rem;line-height:1.5;color:#4c1d95}.contractor-bid-status-line{margin:0 0 .75rem;font-size:.9rem}.contractor-participation-error{margin-top:.75rem}@media (max-width:640px){.home-hero-overlay{padding:1.5rem 1.15rem 1.35rem}.home-hero{min-height:240px}}.page-hero-lead{max-width:42rem;font-size:1.05rem;line-height:1.6;margin-top:.5rem}.empty-state{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.empty-state .help-tip{align-self:stretch;width:100%;box-sizing:border-box}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:1.25rem;gap:1.25rem}.home-results .project-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,460px),1fr))}.project-tile{--tile-phase:#64748b;--tile-phase-soft:rgba(100,116,139,0.1);--tile-phase-border:rgba(148,163,184,0.45);--tile-phase-wash:#fff;--tile-phase-bg:none;display:flex;flex-direction:column;text-align:left;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--tile-phase-border);border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;padding:0;font:inherit;cursor:pointer;box-shadow:var(--shadow-glass);transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}.project-tile--design{--tile-phase:#0369a1;--tile-phase-soft:rgba(3,105,161,0.08);--tile-phase-border:rgba(14,116,144,0.28);--tile-phase-wash:linear-gradient(180deg,rgba(240,249,255,0.92),rgba(255,255,255,0.88));--tile-phase-bg:url(/project-tiles/bg-design.webp);background:var(--tile-phase-wash)}.project-tile--construction{--tile-phase:#475569;--tile-phase-soft:rgba(71,85,105,0.09);--tile-phase-border:rgba(100,116,139,0.34);--tile-phase-wash:linear-gradient(180deg,rgba(248,250,252,0.96),rgba(255,255,255,0.9));--tile-phase-bg:url(/project-tiles/bg-construction.webp);background:var(--tile-phase-wash)}.project-tile--design.project-tile-owned{border-color:rgba(3,105,161,.4);box-shadow:0 0 0 1px rgba(3,105,161,.1),var(--shadow-glass)}.project-tile--construction.project-tile-owned{border-color:rgba(71,85,105,.42);box-shadow:0 0 0 1px rgba(71,85,105,.1),var(--shadow-glass)}.project-tile-locked{cursor:default;opacity:.62;filter:grayscale(.35)}.project-tile-locked--signin{cursor:pointer}.project-tile-locked:hover{transform:none;opacity:.72;border-color:var(--tile-phase-border);box-shadow:var(--shadow-glass)}.project-tile-lock-badge{position:absolute;top:.65rem;right:.65rem;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;background:rgba(15,23,42,.72);color:#fff;box-shadow:var(--shadow-sm)}.project-tile-lock-icon{display:block;flex-shrink:0}.project-tile-access-hint{display:flex;align-items:flex-start;gap:.4rem;margin:.65rem 0 0;padding:.55rem .65rem;border-radius:10px;background:rgba(15,23,42,.06);color:var(--muted);font-size:.82rem;line-height:1.35}.project-tile-access-hint .project-tile-lock-icon{margin-top:.1rem;width:.95rem;height:.95rem;opacity:.85}.project-tile:hover{border-color:color-mix(in srgb,var(--tile-phase) 42%,var(--tile-phase-border));box-shadow:var(--shadow-glass),0 12px 28px color-mix(in srgb,var(--tile-phase) 12%,transparent);transform:translateY(-2px)}.project-tile--design:hover{box-shadow:var(--shadow-glass),0 12px 28px rgba(3,105,161,.12)}.project-tile--construction:hover{box-shadow:var(--shadow-glass),0 12px 28px rgba(71,85,105,.12)}.project-tile-media{position:relative;height:210px;background:var(--tile-phase-soft);overflow:hidden}.project-tile--construction .project-tile-media,.project-tile--design .project-tile-media{background-color:#f8fafc;background-image:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.08)),var(--tile-phase-bg);background-size:cover;background-position:50%;background-repeat:no-repeat}.project-tile--design .project-tile-media{background-color:#f0f9ff}.project-tile-image{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.project-tile-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.55rem;height:100%;color:var(--tile-phase);font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:1rem;text-align:center;background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,.12))}.project-tile-placeholder-icon{display:inline-flex;opacity:.72}.project-tile-placeholder-icon svg{width:40px;height:40px}.project-tile-placeholder-label{max-width:14rem;line-height:1.3;opacity:.9}.project-tile-body{position:relative;padding:1rem 1.1rem 1.15rem;display:flex;flex-direction:column;gap:.45rem;flex:1 1;isolation:isolate}.project-tile-body:before{content:"";position:absolute;inset:0;background-image:var(--tile-phase-bg);background-repeat:no-repeat;background-position:100% 100%;background-size:cover;opacity:.34;pointer-events:none;z-index:0;-webkit-mask-image:linear-gradient(105deg,transparent,transparent 28%,rgba(0,0,0,.55) 62%,#000);mask-image:linear-gradient(105deg,transparent,transparent 28%,rgba(0,0,0,.55) 62%,#000)}.project-tile--construction .project-tile-body:before,.project-tile--design .project-tile-body:before{opacity:.4}.project-tile-body>*{position:relative;z-index:1}.project-tile-status{position:absolute;top:.65rem;left:.65rem;padding:.2rem .55rem;border-radius:999px;background:#fef9c3;color:#854d0e;font-size:.75rem;font-weight:600;text-transform:capitalize;box-shadow:var(--shadow-sm)}.project-tile-status--draft{background:#fefce8;color:#a16207}.project-tile-status--intake{background:#fef08a;color:#854d0e}.project-tile-status--ready_for_estimate{background:#fde68a;color:#92400e}.project-tile-status--estimated{background:#fbbf24;color:#78350f}.project-tile-status--pending{background:#f5f5f4;color:#78716c}.project-tile-status--clarification{background:#dbeafe;color:#1d4ed8}.project-tile-status--in_tender{background:#3b82f6;color:#eff6ff}.project-tile-status--awarded{background:#5eead4;color:#115e59}.project-tile-status--active{background:#34d399;color:#064e3b}.project-tile-status--completed{background:#16a34a;color:#f0fdf4}.project-tile-status--hidden{background:#ef4444;color:#fef2f2}.project-tile-phase-badge{display:none}.project-tile-phase-chip{display:inline-flex;align-items:center;gap:.35rem;max-width:100%;padding:.22rem .6rem .22rem .4rem;border-radius:999px;border:1px solid transparent;font-size:.74rem;font-weight:700;letter-spacing:.01em;line-height:1.35;vertical-align:middle}.project-tile-phase-chip-icon{display:inline-flex;flex-shrink:0}.project-tile-phase-chip-icon svg{width:15px;height:15px}.project-tile-phase-chip--design{background:rgba(224,242,254,.92);border-color:rgba(3,105,161,.22);color:#0369a1}.project-tile-phase-chip--construction{background:rgba(241,245,249,.95);border-color:rgba(71,85,105,.22);color:#475569}.project-tile-meta-district{vertical-align:middle}.project-tile-owned-badge{padding:.2rem .55rem;background:#dbeafe;color:#1d4ed8;font-size:.75rem;font-weight:700}.project-tile-expired-badge,.project-tile-owned-badge{position:absolute;top:.65rem;right:.65rem;border-radius:999px}.project-tile-expired-badge{display:flex;align-items:center;justify-content:center;width:1.45rem;height:1.45rem;background:#f59e0b;color:#fff;font-size:.95rem;font-weight:800;line-height:1;box-shadow:0 1px 4px rgba(15,23,42,.18);z-index:2}.project-tile-owned .project-tile-expired-badge{top:2.4rem}.project-tile-add{padding:0;text-align:left;border:2px dashed rgba(37,99,235,.35);color:var(--accent);background:#f8fbff;box-shadow:var(--shadow-glass)}.project-tile-add:hover{border-color:var(--accent);background:#eef5ff;box-shadow:var(--shadow-glass),0 12px 28px rgba(37,99,235,.12)}.project-tile-add-media{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#dbeafe,#eff6ff)}.project-tile-add-icon{font-size:3rem;line-height:1;font-weight:300}.project-tile-title{margin:0;font-size:1.1rem;line-height:1.3}.project-tile-meta{margin:0;font-size:.85rem}.project-tile-description{margin:0;font-size:.92rem;line-height:1.5;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.project-tile-estimate{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.15rem;padding:.55rem .65rem;border-radius:12px;border:1px solid rgba(34,197,94,.22);background:rgba(240,253,244,.72)}.project-tile--design .project-tile-estimate{border-color:rgba(3,105,161,.18);background:rgba(239,246,255,.72)}.project-tile--design .project-tile-estimate-label{color:#0369a1}.project-tile--construction .project-tile-estimate{border-color:rgba(71,85,105,.16);background:rgba(248,250,252,.85)}.project-tile--construction .project-tile-estimate-label{color:#475569}.project-tile-estimate-main{min-width:0;flex:1 1}.project-tile-estimate-label{margin:0 0 .2rem;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#15803d}.project-tile-estimate-range{margin:0;font-size:.95rem;font-weight:650;letter-spacing:-.01em;color:var(--text);line-height:1.25}.project-tile-estimate .estimate-confidence-ring-value{font-size:.78rem}.estimate-confidence-ring--compact .estimate-confidence-ring-value{font-size:.82rem}.project-tile-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.25rem}.project-filters{margin-bottom:1.25rem;padding:1rem 1.15rem 1.1rem;border-radius:14px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm)}.project-filters--sidebar{margin:0;height:100%;min-height:0;max-width:100%;display:flex;flex-direction:column;padding:.85rem .9rem 1rem;border-radius:12px;overflow:hidden;box-sizing:border-box}.project-filters-scroll{flex:1 1 auto;min-height:0;max-width:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:.75rem;padding-right:.15rem}.project-filters--sidebar .project-filters-header,.project-filters--sidebar .project-filters-search{margin-bottom:0}.project-filters-available-toggle{display:flex;align-items:flex-start;gap:.55rem;margin:0;padding:.65rem .75rem;border-radius:10px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 88%,var(--accent) 12%);font-size:.9rem;line-height:1.35;color:var(--text);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.project-filters-available-toggle input{width:1rem;height:1rem;margin-top:.12rem;flex-shrink:0;accent-color:var(--accent)}.project-filters-map-slot{flex:0 0 auto;margin-top:.65rem;padding:.65rem 0 .35rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.55rem;min-width:0}.project-filters-map-slot .project-filters-location-section--with-map{display:grid;grid-gap:.4rem;gap:.4rem;min-width:0}.project-filters-map-slot .project-filters-map-wrap{margin:0;padding:.55rem;min-width:0}.project-filters-map-slot .project-filters-map{height:210px;min-height:190px;max-height:230px;aspect-ratio:auto}.project-filters-map-slot .project-filters-map-hint{margin:0;font-size:.72rem;line-height:1.3}.project-filters--sidebar .project-filters-map-hint{display:none}.home-sidebar .project-filters--sidebar,.page-shell--home .home-sidebar .project-filters--sidebar{padding-bottom:1.1rem}.home-main{width:100%;max-width:none;margin:0;padding:1rem 1rem 3rem;box-sizing:border-box}.home-layout{display:grid;grid-template-columns:1fr;grid-gap:1rem;gap:1rem;align-items:start;width:100%}.home-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;grid-column:1/-1}.home-filters-toggle{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .85rem;border-radius:10px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-size:.9rem;font-weight:650;box-shadow:var(--shadow-sm)}.home-filters-toggle-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .35rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.72rem;font-weight:700}.home-toolbar-count{font-size:.88rem}.home-filters-backdrop{display:none}.home-sidebar{display:none;min-width:0}.home-sidebar-mobile-header{display:none}.home-results{min-width:0;padding-bottom:4.5rem}.home-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;text-align:center}.home-loading-label{margin:0;font-size:.92rem}.home-loading--initial{width:100%;min-height:min(70vh,32rem);box-sizing:border-box;padding:2rem 1rem}.home-loading--more{width:100%;padding:.35rem 0}.home-load-more{min-height:3.25rem;padding:1.15rem 0 .75rem;display:flex;align-items:center;justify-content:center}.home-load-more-label{margin:0;font-size:.9rem}@media (max-width:899px){.home-filters-backdrop{display:block;position:fixed;inset:0;z-index:35;border:0;padding:0;margin:0;background:rgba(15,23,42,.42);cursor:pointer}.home-sidebar{display:flex;flex-direction:column;position:fixed;top:0;left:0;z-index:40;width:min(380px,92vw);height:100dvh;padding:.75rem;box-sizing:border-box;background:var(--surface);border-right:1px solid var(--border-strong);box-shadow:0 12px 40px rgba(15,23,42,.22);transform:translateX(-105%);transition:transform .22s ease}.home-sidebar--open{transform:translateX(0)}.home-sidebar-mobile-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.65rem;flex:0 0 auto}.home-sidebar-mobile-title{margin:0;font-size:1rem;font-weight:700}.home-sidebar-close{padding:.35rem .7rem;border-radius:8px;border:1px solid var(--border-strong);background:transparent;color:var(--muted);font-size:.82rem;font-weight:600}.home-sidebar .project-filters--sidebar{flex:1 1 auto;min-height:0;border:none;box-shadow:none;padding:0;background:transparent}.home-sidebar .project-filters-title{display:none}}@media (min-width:900px){.page-shell--home{height:100dvh;overflow:hidden}.page-shell--home .page-shell-body{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column}.page-shell--home .site-header{flex:0 0 auto;position:-webkit-sticky;position:sticky;top:0}.page-shell--home .home-verification-banner{flex:0 0 auto;margin-left:1.25rem;margin-right:1.25rem}.page-shell--home .site-footer{display:block;position:fixed;left:0;right:0;bottom:0;z-index:30;margin:0;transform:translateY(110%);transition:transform .22s ease;box-shadow:0 -8px 24px rgba(15,23,42,.08)}.page-shell--home.page-shell--home-footer-visible .site-footer{transform:translateY(0)}.page-shell--home .site-footer .content-container{max-width:none}.page-shell--home .home-main{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:1rem 1.25rem}.page-shell--home .home-results{min-width:0;min-height:0;height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding-right:.15rem;padding-bottom:6.5rem}.page-shell--home .home-results:has(.home-loading--initial){display:flex;flex-direction:column}.page-shell--home .home-loading--initial{flex:1 1 auto;min-height:0;padding:1.5rem 1rem}.page-shell--home.page-shell--home-footer-visible .home-results{padding-bottom:7.5rem}.page-shell--home .home-layout{flex:1 1 auto;min-height:0;overflow:hidden;grid-template-columns:clamp(320px,28vw,380px) minmax(0,1fr);gap:1.25rem;align-items:stretch}.page-shell--home .home-toolbar{display:none}.page-shell--home .home-filters-backdrop{display:none!important}.page-shell--home .home-sidebar{display:block;position:relative;top:auto;align-self:stretch;height:100%;max-height:none;min-height:0;overflow-x:hidden;overflow-y:auto;padding-bottom:.5rem;box-sizing:border-box}.page-shell--home .home-sidebar-mobile-header{display:none}.page-shell--home .home-sidebar .project-filters--sidebar{height:100%}.home-main{padding:1.25rem 1.25rem 3rem}.home-layout{grid-template-columns:clamp(320px,28vw,380px) minmax(0,1fr);gap:1.25rem;align-items:stretch;min-height:calc(100dvh - 5.5rem)}.home-toolbar{display:none}.home-filters-backdrop{display:none!important}.home-sidebar{display:block;position:-webkit-sticky;position:sticky;top:calc(.75rem + 3.5rem);align-self:start;height:calc(100dvh - 5.5rem);max-height:calc(100dvh - 5.5rem)}.home-sidebar-mobile-header{display:none}.home-sidebar .project-filters--sidebar{height:100%}}.project-filters--sidebar .project-filters-extra-grid,.project-filters--sidebar .project-filters-location-fields{grid-template-columns:1fr}.project-filters--sidebar .project-filters-segmented{max-width:100%}.project-filters--sidebar .project-filters-segmented--balanced,.project-filters--sidebar .project-filters-segmented--track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));flex-wrap:unset}.project-filters--sidebar .project-filters-segment,.project-filters--sidebar .project-filters-segmented--balanced .project-filters-segment,.project-filters--sidebar .project-filters-segmented--track .project-filters-segment{flex:unset;min-width:0;width:100%;white-space:normal;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;font-size:.76rem;line-height:1.2;padding:.4rem}.project-filters--sidebar .project-filters-multi-trigger,.project-filters--sidebar .project-filters-search-input,.project-filters--sidebar .project-filters-select{max-width:100%;box-sizing:border-box}.project-filters--sidebar .project-filters-pills{flex-wrap:wrap;max-width:100%}.project-filters--sidebar .project-filters-pill{max-width:100%;overflow-wrap:anywhere}.project-filters-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.9rem}.project-filters-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem .75rem}.project-filters-title{margin:0;font-size:1rem;font-weight:700;letter-spacing:-.01em}.project-filters-count{font-size:.85rem}.project-filters-clear{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .7rem;border-radius:999px;border:1px solid var(--border-strong);background:transparent;color:var(--muted);font-size:.82rem;font-weight:600}.project-filters-clear:hover{border-color:var(--accent);color:var(--accent)}.project-filters-clear-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .35rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.72rem;font-weight:700}.project-filters-search{display:grid;grid-gap:.35rem;gap:.35rem;margin-bottom:.9rem}.project-filters-search-input{width:100%;min-width:0;border:1px solid var(--border-strong);border-radius:10px;background:#f8fafc;color:var(--text);padding:.55rem .75rem;font-size:.92rem;line-height:1.3}.project-filters-search-input::placeholder{color:var(--muted);opacity:.85}.project-filters-search-input:focus{outline:2px solid color-mix(in srgb,var(--accent) 35%,transparent);outline-offset:1px;border-color:var(--accent)}.project-filters-location-layout{display:grid;grid-gap:.95rem;gap:.95rem;align-items:start}.project-filters-location-panel{display:grid;grid-gap:.85rem;gap:.85rem;align-content:start}.project-filters-location-section{display:grid;grid-gap:.45rem;gap:.45rem}.project-filters-location-fields{display:grid;grid-gap:.55rem;gap:.55rem}@media (min-width:900px){.project-filters-location-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end}}.project-filters-location-select-group{display:grid;grid-gap:.32rem;gap:.32rem}.project-filters-location-select-label{font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.project-filters-location-fields .project-filters-select{width:100%}.project-filters-map-wrap{display:grid;grid-gap:.35rem;gap:.35rem;min-width:0;align-content:start;padding:.75rem;border:1px solid var(--border);border-radius:14px;background:linear-gradient(180deg,#ffffff,#f8fbff);box-shadow:var(--shadow-sm)}.project-filters-map{width:100%;min-height:220px;aspect-ratio:1/1;border-radius:12px;border:1px solid var(--border);background:var(--steel-100);overflow:hidden}@media (max-width:899px){.project-filters-map{min-height:200px}}.project-filters-map--placeholder{display:flex;align-items:center;justify-content:center;padding:1rem;text-align:center}.project-filters-map-loading{margin:0;font-size:.82rem}.project-filters-map-hint{margin:0;font-size:.78rem;line-height:1.4}.project-filters-status-section{display:grid;grid-gap:.45rem;gap:.45rem}.project-filters-field{display:flex;flex-direction:column;gap:.4rem;min-width:0}.project-filters-field--grow{min-width:0}.project-filters-field-label{font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.project-filters-field-controls{display:grid;grid-template-columns:1fr 1fr;grid-gap:.5rem;gap:.5rem}.project-filters-select{width:100%;min-width:0;border:1px solid var(--border-strong);border-radius:10px;background:#f8fafc;color:var(--text);padding:.5rem .65rem;font-size:.88rem;line-height:1.3}.project-filters-select:disabled{opacity:.55;cursor:not-allowed}.project-filters-loading{font-size:.88rem}.project-filters-segmented{display:flex;flex-wrap:wrap;gap:.35rem;padding:.2rem;border-radius:12px;border:1px solid var(--border);background:#f8fafc}.project-filters-segmented--balanced{display:grid;grid-auto-rows:1fr}.project-filters-segmented--balanced .project-filters-segment{flex:unset;white-space:normal;text-align:center;min-height:2.35rem;display:flex;align-items:center;justify-content:center}.project-filters-segmented--track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.35rem;gap:.35rem}.project-filters-segmented--track .project-filters-segment{flex:unset;min-width:0;min-height:2.35rem;display:flex;align-items:center;justify-content:center;text-align:center;white-space:normal}.project-filters-segment{flex:1 1 auto;min-width:0;border:none;border-radius:9px;background:transparent;color:var(--muted);padding:.45rem .65rem;font-size:.8rem;font-weight:600;line-height:1.25;white-space:normal}.project-filters-segment:hover{color:var(--text);background:rgba(255,255,255,.75)}.project-filters-segment--active{background:#fff;color:var(--accent);box-shadow:0 1px 2px rgba(15,23,42,.08)}.project-filters-extra-grid{display:grid;grid-gap:.55rem;gap:.55rem;grid-template-columns:1fr}@media (min-width:900px){.project-filters-extra-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.project-filters-multi{position:relative;display:grid;grid-gap:.32rem;gap:.32rem;min-width:0}.project-filters-multi-trigger{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;min-width:0;border:1px solid var(--border-strong);border-radius:10px;background:#f8fafc;color:var(--text);padding:.5rem .65rem;font-size:.88rem;line-height:1.3;text-align:left;cursor:pointer}.project-filters-multi-trigger:hover{border-color:var(--accent)}.project-filters-multi--open .project-filters-multi-trigger{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.project-filters-multi-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:var(--accent)}.project-filters-multi-placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.project-filters-multi-chevron{flex-shrink:0;color:var(--muted);font-size:.75rem;line-height:1}.project-filters-multi-menu{position:absolute;z-index:20;top:calc(100% + .25rem);left:0;right:0;margin:0;padding:.35rem;list-style:none;max-height:14rem;overflow-y:auto;border:1px solid var(--border-strong);border-radius:10px;background:#fff;box-shadow:var(--shadow-md,0 8px 24px rgba(15,23,42,.12))}.project-filters-multi-option{display:flex;align-items:flex-start;gap:.45rem;width:100%;border:none;border-radius:8px;background:transparent;color:var(--text);padding:.45rem .5rem;font-size:.84rem;line-height:1.3;text-align:left;cursor:pointer}.project-filters-multi-option:hover{background:#f1f5f9}.project-filters-multi-option--active{background:var(--accent-soft);color:var(--accent);font-weight:600}.project-filters-multi-option--preset{font-weight:600}.project-filters-multi-separator{height:1px;margin:.25rem .5rem;background:var(--border);list-style:none}.project-filters-multi-check{flex-shrink:0;width:.9rem;font-size:.78rem;line-height:1.3}.project-filters-pills{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--border)}.project-filters-pill{display:inline-flex;align-items:center;gap:.35rem;border:1px solid #bfdbfe;border-radius:999px;background:#eff6ff;color:#1d4ed8;padding:.28rem .55rem .28rem .7rem;font-size:.78rem;font-weight:600;line-height:1.2}.project-filters-pill:hover{border-color:#93c5fd;background:#dbeafe}.project-filters-pill span{font-size:1rem;line-height:1;opacity:.75}.project-filters-group-label{margin:0 0 .45rem;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.project-filters-chips{display:flex;flex-wrap:wrap;gap:.4rem}.project-filters-chips-wrap{max-height:9rem;overflow-y:auto;padding-right:.15rem}.filter-chip{flex-shrink:0;border:1px solid var(--border-strong);border-radius:999px;background:#f8fafc;color:var(--text);padding:.32rem .75rem;font-size:.82rem;font-weight:500;line-height:1.25;white-space:nowrap}.filter-chip:hover{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}.filter-chip-active{background:var(--accent);border-color:var(--accent);color:#fff}.filter-chip-active:hover{background:#1d4ed8;border-color:#1d4ed8;color:#fff}.section-title{margin:0 0 .75rem;font-size:.82rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--steel-600)}.feature-list{margin:0;padding-left:1.2rem;color:var(--muted)}.feature-list li+li{margin-top:.5rem}.cta{display:flex;align-items:center;justify-content:space-between;gap:1rem}.modal-backdrop{position:fixed;inset:0;background:rgba(26,35,50,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:safe center;justify-content:center;padding:1rem;z-index:100}.modal,.modal-backdrop{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal{width:100%;max-width:480px;max-height:calc(100dvh - 2rem);overscroll-behavior:contain;background:var(--glass-bg-dense);-webkit-backdrop-filter:blur(24px) saturate(1.1);backdrop-filter:blur(24px) saturate(1.1);border:1px solid var(--glass-border);border-radius:16px;padding:1.35rem;box-shadow:var(--shadow-glass),0 24px 48px rgba(15,35,60,.18)}@supports not (height:100dvh){.modal{max-height:calc(100vh - 2rem)}}.confirm-dialog{max-width:420px;padding:1.5rem}.confirm-dialog-body{margin-bottom:1.25rem}.confirm-dialog-title{margin:0 0 .65rem;font-size:1.15rem;line-height:1.35;color:var(--text)}.confirm-dialog-message{margin:0;font-size:.95rem;line-height:1.55;color:var(--muted);white-space:pre-line}.confirm-dialog-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.65rem}.confirm-dialog-actions .danger,.confirm-dialog-actions .primary,.confirm-dialog-actions .secondary{min-width:6.5rem}.platform-fee-dialog{max-width:520px}.platform-fee-trial-badge{display:inline-block;margin:0 0 .75rem;padding:.25rem .65rem;border-radius:999px;font-size:.8rem;font-weight:600;color:#166534;background:var(--success-soft);border:1px solid #bbf7d0}.platform-fee-breakdown{margin:1rem 0 0;padding:.85rem 1rem;display:grid;grid-gap:.65rem;gap:.65rem;border-radius:0 10px 10px 0;background:var(--accent-muted);border:1px solid #bfdbfe;border-left:4px solid var(--accent)}.platform-fee-breakdown>div{display:grid;grid-gap:.15rem;gap:.15rem}.platform-fee-breakdown dt{font-size:.8rem;color:#1d4ed8}.platform-fee-breakdown dd{margin:0;font-size:.95rem;color:var(--text)}.platform-fee-breakdown-due dd{font-weight:700;color:#166534}.platform-fee-footnote{margin:.65rem 0 0;font-size:.82rem;line-height:1.45}.platform-fee-summary{margin:0;padding:.95rem 1.1rem;border-radius:12px;background:linear-gradient(135deg,#eff6ff,#f8fafc);border:1px solid #bfdbfe;border-left:4px solid var(--accent);box-shadow:var(--shadow-sm)}.platform-fee-summary-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.platform-fee-summary-title{margin:0;font-size:.82rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#1d4ed8}.platform-fee-trial-pill{flex-shrink:0;padding:.2rem .6rem;border-radius:999px;font-size:.72rem;font-weight:650;color:#166534;background:var(--success-soft);border:1px solid #bbf7d0}.platform-fee-summary-lead{margin:0 0 .55rem;font-size:.88rem;line-height:1.5;color:#1e3a8a}.platform-fee-summary-list{margin:0;padding-left:1.1rem;font-size:.9rem;line-height:1.5;color:var(--text)}.platform-fee-summary-due{font-weight:700;color:#166534}.platform-fee-contractor-note{margin:0;padding:.75rem .95rem;font-size:.88rem;line-height:1.45;border-radius:0 10px 10px 0;background:var(--accent-muted);border-left:3px solid var(--accent);color:var(--text)}.modal-header h2{margin:0;font-size:1.25rem;color:var(--text)}.icon-button{background:transparent;color:var(--muted);font-size:1.5rem;line-height:1;padding:.15rem .45rem}.tag-pill{display:inline-block;padding:.2rem .55rem;border-radius:999px;background:#f1f5f9;color:var(--text);font-size:.78rem}.tag-pill-ai{background:var(--accent-soft);color:var(--accent);border:1px solid #bfdbfe}.status-pill{background:#f1f5f9;color:var(--text);font-size:.8rem;text-transform:capitalize}.readiness-badge,.status-pill{display:inline-block;padding:.2rem .55rem;border-radius:999px}.readiness-badge{background:var(--success-soft);color:var(--success);font-size:.78rem}.project-link{color:var(--accent);font-weight:600;text-decoration:none}.project-link:hover{text-decoration:underline}.text-link{color:var(--accent);text-decoration:none}.form-error{margin:0;color:var(--danger);font-size:.9rem}.intake-card{border-color:#bfdbfe}.intake-progress-track{height:8px;border-radius:999px;background:#e2e8f0;overflow:hidden}.intake-custom-input{width:100%;font-size:.95rem;margin-top:.35rem}.intake-question textarea{width:100%;box-sizing:border-box}.intake-question{border:1px solid var(--border);border-radius:10px;padding:.85rem 1rem;margin:0;display:grid;grid-gap:.55rem;gap:.55rem;background:#f8fafc}.intake-question legend{padding:0 .25rem;font-size:1rem;font-weight:500;color:var(--text)}.intake-option{display:flex;align-items:center;gap:.55rem;font-size:.95rem;cursor:pointer;color:var(--text)}.intake-docs-notice{margin:0 0 1.25rem;padding:1rem 1.15rem;border-radius:12px;background:linear-gradient(135deg,#eff6ff,#f8fafc);border:1px solid #bfdbfe;border-left:4px solid var(--accent);box-shadow:var(--shadow-sm)}.intake-docs-notice-title{margin:0 0 .4rem;font-size:.82rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#1d4ed8}.intake-docs-notice-text{margin:0;font-size:.94rem;line-height:1.55;color:#1e3a8a}.intake-docs-notice-text strong{font-weight:700;color:#1d4ed8}.estimate-range{color:var(--success)}.meta-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,11.5rem),1fr));grid-gap:.75rem;gap:.75rem;margin:0}.meta-grid-item,.meta-grid>div{margin:0;padding:.8rem .95rem;background:#f8fafc;border:1px solid var(--border);border-radius:10px}.meta-grid-item-full{grid-column:1/-1}.meta-grid-item dt,.meta-grid>div dt{margin:0 0 .3rem;font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.meta-grid-item dd,.meta-grid>div dd{margin:0;font-size:.98rem;font-weight:500;color:var(--text);line-height:1.45;word-break:break-word}.meta-grid dt{color:var(--muted)}.meta-grid dd{color:var(--text)}.project-brief-card{border-color:#dbeafe}.project-brief-card--compact{padding:1rem 1.05rem 1.1rem}.project-brief-card--compact .section-title{font-size:1rem;margin-bottom:.65rem}.project-brief-card--compact .brief-lead{margin:0 0 .75rem;padding:.75rem .85rem;font-size:.9rem;line-height:1.5}.project-brief-card--compact .brief-subsection{margin-top:.85rem}.project-brief-card--compact .meta-grid{grid-template-columns:1fr;gap:.55rem}.project-brief-card--compact .brief-callout{margin-top:.85rem;padding:.7rem .8rem}.brief-lead{margin:0 0 1rem;padding:1rem 1.15rem;background:var(--accent-muted);border-left:3px solid var(--accent);border-radius:0 10px 10px 0;line-height:1.6;color:var(--text)}.brief-callout{margin-top:1rem;padding:.85rem 1rem;border-radius:10px;background:#fffbeb;border:1px solid #fde68a}.brief-callout-title{margin:0 0 .5rem;font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#92400e}.brief-missing-list{display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none}.brief-missing-list li{padding:.2rem .55rem;border-radius:999px;background:#fef3c7;color:#92400e;font-size:.82rem;font-weight:500}.brief-summary{margin:0 0 .75rem;line-height:1.55;color:var(--text)}.project-hero{padding:1.45rem 1.55rem 1.55rem;border-radius:16px;border:1px solid var(--border-strong);background:var(--glass-bg-dense);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.06);backdrop-filter:blur(var(--glass-blur)) saturate(1.06);box-shadow:var(--shadow-glass)}.project-hero,.project-hero--main-only{margin-bottom:1rem}.project-hero--main-only .project-hero-body{display:block}.project-detail-main{width:100%;max-width:none;margin:0;padding:1rem 1rem 2rem;box-sizing:border-box}.project-detail-layout{display:flex;flex-direction:column;gap:1rem;width:100%}.project-detail-primary{display:flex;flex-direction:column;gap:1rem;min-width:0}.project-detail-primary>.card,.project-detail-primary>.project-hero{margin-bottom:0}.project-detail-sidebar{min-width:0}.project-detail-sidebar-stack{display:flex;flex-direction:column;gap:1rem;min-width:0}.project-detail-duo{display:grid;grid-gap:1rem;gap:1rem;align-items:start;width:100%}.project-detail-duo>.card,.project-detail-duo>.estimate-card,.project-detail-duo>.tender-card{min-width:0;margin-bottom:0;height:auto;align-self:stretch}@media (min-width:1100px){.project-detail-duo{grid-template-columns:repeat(2,minmax(0,1fr))}.project-detail-duo:has(>:only-child){grid-template-columns:minmax(0,1fr)}}.project-hero-sidebar-card{display:flex;flex-direction:column;gap:.85rem;padding:1.15rem 1.2rem;border-radius:16px;border:1px solid var(--border-strong);background:var(--glass-bg-dense);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.06);backdrop-filter:blur(var(--glass-blur)) saturate(1.06);box-shadow:var(--shadow-glass)}.project-hero-aside{display:flex;flex-direction:column;gap:.85rem;align-items:stretch;min-width:0}@media (min-width:960px){.page-shell--project{height:100dvh;overflow:hidden}.page-shell--project .page-shell-body{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column}.page-shell--project .site-header{flex:0 0 auto}.page-shell--project .site-footer{display:none}.page-shell--project .project-detail-main{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:1rem 1.25rem}.page-shell--project .project-detail-layout{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) clamp(300px,28vw,380px);grid-gap:1.25rem;gap:1.25rem;align-items:stretch;overflow:hidden}.page-shell--project .project-detail-primary{min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding-right:.15rem}.page-shell--project .project-detail-sidebar{min-height:0;height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}}.project-hero-body{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.project-hero-main{min-width:0;flex:1 1}.project-hero-kicker{margin:0 0 .35rem;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.project-hero-track-label{margin:0 0 .45rem;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.project-hero-design-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;margin:.75rem 0 .25rem}.project-hero-design-hint{margin:0;flex:1 1 100%;font-size:.9rem}.project-hero-design-hint--new-build{padding:.65rem .85rem;color:var(--text)}.create-project-design-hint,.project-hero-design-hint--new-build{border-radius:10px;border:1px solid color-mix(in srgb,#c27803 35%,transparent);background:color-mix(in srgb,#f59e0b 12%,transparent)}.create-project-design-hint{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem;padding:.75rem .9rem}.create-project-design-hint-text{margin:0;font-size:.9rem;line-height:1.4;color:var(--text)}@media (max-width:640px){.create-project-modal{max-height:calc(100dvh - 1rem)}@supports not (height:100dvh){.create-project-modal{max-height:calc(100vh - 1rem)}}}.project-hero-linked{font-size:.9rem;font-weight:600}.project-hero-back-link{color:var(--muted);text-decoration:none;text-transform:none;letter-spacing:normal;font-weight:600}.project-hero-back-link:hover{color:var(--accent);text-decoration:underline}.project-hero-kicker-sep{margin:0 .35rem;color:#cbd5e1;text-transform:none;letter-spacing:normal;font-weight:400}.project-hero h1{margin:0 0 .65rem;font-size:clamp(1.55rem,2.5vw,2rem);line-height:1.2;letter-spacing:-.02em}.project-hero-title-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.75rem 1rem;margin-bottom:.65rem}.project-hero-title-row h1{flex:1 1 12rem;margin-bottom:0}.project-hero-edit-trigger{flex:0 0 auto;margin-top:.15rem}.project-hero-edit{display:flex;flex-direction:column;gap:.85rem;max-width:none;width:100%;margin-bottom:.75rem}.project-hero-edit-label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:600}.project-hero-edit-label input,.project-hero-edit-label textarea{font:inherit;font-weight:400;padding:.65rem .75rem;border-radius:10px;border:1px solid var(--glass-border);background:rgba(255,255,255,.72);color:inherit;resize:vertical}.project-hero-edit-actions{display:flex;flex-wrap:wrap;gap:.6rem}.project-hero-edit-error{margin:0;color:#b91c1c;font-size:.9rem}.project-hero-edit-hint{margin:0;font-size:.85rem;line-height:1.4}.project-hero-lead{margin:0;max-width:none;width:100%;font-size:1.02rem;line-height:1.65;color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere}.project-hero-lead-muted{color:var(--muted);font-style:italic}.project-hero-timestamps{margin:.85rem 0 0;font-size:.82rem;line-height:1.4}.project-hero-stage{margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--border)}.project-hero-stage .project-stage-rail{margin:0;padding:0;border:none;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.project-hero-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0 0;padding:0;list-style:none}.project-hero-chips li{padding:.28rem .65rem;border-radius:999px;background:rgba(255,255,255,.55);border:1px solid var(--border-strong);color:#1e40af;font-size:.82rem;font-weight:600}.project-hero-aside-metrics{display:flex;flex-direction:column;align-items:stretch;gap:.35rem;width:100%}.project-hero-meta{margin:0;font-size:.82rem;color:var(--muted)}.project-hero-meta-value{font-weight:600;color:var(--text)}.project-hero-status{background:#fff;border:1px solid var(--border)}.project-hero-readiness{background:#fff}.project-hero-tags{margin-top:.65rem;width:100%;max-width:15rem;align-self:flex-end}.project-hero-tags-label{margin:0 0 .35rem;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:right}.project-hero-tag-list{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.project-hero-tags-hint{margin:.4rem 0 0;font-size:.75rem;line-height:1.35;text-align:right}.project-hero-map{position:relative;margin-top:.75rem;width:100%;max-width:15rem;align-self:flex-end}.project-hero-map-label{margin:0 0 .35rem;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:right}.project-hero-map-canvas{width:100%;aspect-ratio:1/1;border-radius:12px;border:1px solid var(--border);background:var(--steel-100);overflow:hidden}.project-hero-map-loading{position:absolute;left:.75rem;right:.75rem;top:50%;margin:0;transform:translateY(-50%);font-size:.78rem;text-align:center;pointer-events:none}.project-hero-map-caption{margin:.35rem 0 0;font-size:.75rem;line-height:1.35;text-align:left}.project-hero-map-label,.project-hero-tags-hint,.project-hero-tags-label{text-align:left}.project-hero-tag-list{justify-content:flex-start}.project-hero-sidebar-card .project-hero-map,.project-hero-sidebar-card .project-hero-tags{max-width:none;width:100%;align-self:stretch}@media (max-width:959px){.project-detail-sidebar{order:-1}}.project-stage-rail{margin-bottom:1rem;padding:.85rem 1rem;border-radius:14px;border:1px solid var(--border-strong);background:rgba(255,255,255,.42);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow-sm)}.project-stage-rail-list{display:flex;align-items:flex-start;gap:0;margin:0;padding:0;list-style:none}.project-stage-rail-item{position:relative;flex:1 1;display:flex;flex-direction:column;align-items:center;gap:.45rem;min-width:0;text-align:center}.project-stage-rail-item:not(:last-child):after{content:"";position:absolute;top:.45rem;left:calc(50% + .55rem);width:calc(100% - 1.1rem);height:2px;background:var(--steel-200);z-index:0}.project-stage-rail-item--complete:not(:last-child):after{background:linear-gradient(90deg,rgba(37,99,235,.65),rgba(37,99,235,.35))}.project-stage-rail-marker{position:relative;z-index:1;width:.95rem;height:.95rem;border-radius:999px;border:2px solid var(--steel-300);background:rgba(255,255,255,.85);box-shadow:var(--glass-highlight)}.project-stage-rail-item--complete .project-stage-rail-marker{border-color:var(--accent);background:var(--accent)}.project-stage-rail-item--current .project-stage-rail-marker{border-color:var(--accent);background:#fff;box-shadow:0 0 0 4px rgba(37,99,235,.18),var(--accent-glow)}.project-stage-rail-label{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--steel-600);line-height:1.25;padding:0 .15rem}.project-stage-rail-item--current .project-stage-rail-label{color:var(--accent)}.project-stage-rail-item--complete .project-stage-rail-label{color:var(--text)}@media (max-width:640px){.project-stage-rail-list{flex-wrap:wrap;gap:.65rem;justify-content:space-between}.project-stage-rail-item{flex-grow:1;flex-shrink:1;flex-basis:calc(33.33% - 0.5rem);min-width:4.5rem}.project-stage-rail-item:not(:last-child):after{display:none}}@supports not (((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px))){.bid-analysis-card,.bid-application-card,.bids-compare-card,.card,.modal,.project-bids-header,.project-hero,.project-stage-rail,.project-tile,.site-footer,.site-header,.tender-card{background:var(--surface-dense)}}.detail-description{margin:0;line-height:1.5;color:var(--text)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.modal-subtitle{margin:.5rem 0 1rem}.auth-mode-toggle{display:flex;gap:.5rem;margin-bottom:.9rem}.auth-mode-active{border-color:var(--accent)!important;color:var(--accent)!important;background:var(--accent-muted)!important}.auth-modal .modal-subtitle{margin-top:0}.auth-submit{width:100%;margin-top:.25rem}.auth-cancel{width:100%}.auth-mode-footer{margin:.35rem 0 0;text-align:center;font-size:.92rem;line-height:1.5}.auth-forgot-row{margin:-.25rem 0 0;text-align:right}.auth-forgot-row .text-link{font-size:.86rem;font-weight:600;padding:0;border:none;background:none;cursor:pointer}.auth-success-notice{margin:0;padding:.75rem 1rem;border-radius:.5rem;background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;font-size:.92rem;line-height:1.5}.auth-mode-footer .text-link{font-weight:600;padding:0;border:none;background:none;cursor:pointer}.decline-proposal-modal{max-width:520px}.decline-proposal-reasons{margin:0;padding:0;border:none;display:flex;flex-direction:column;gap:.55rem}.decline-proposal-reasons legend{padding:0;margin:0 0 .35rem;font-size:.9rem;font-weight:600}.modal-form .decline-proposal-option{display:flex;flex-direction:row;align-items:flex-start;gap:.55rem;line-height:1.4;font-size:.9rem}.bid-application-decline-reason{margin:0;padding:.85rem 1rem;border-radius:10px;background:#f8fafc;border:1px solid var(--border);font-size:.92rem;line-height:1.45}.modal-form .auth-legal-consent,.modal-form label.checkbox-label{display:flex;flex-direction:row;align-items:flex-start;gap:.55rem;line-height:1.45;font-size:.9rem}.auth-legal-consent input[type=checkbox]{margin-top:.15rem;flex-shrink:0}.auth-legal-consent>span{min-width:0;flex:1 1 auto}.auth-legal-consent .text-link{font-weight:600}.auth-role-fieldset{padding-top:.85rem}.auth-role-fieldset .auth-role-legend{float:left;width:100%;padding:0;margin:0 0 .35rem;font-size:.9rem;font-weight:600;color:var(--text);background:transparent}.auth-role-fieldset:after{content:"";display:table;clear:both}.auth-role-fieldset .tag-hint{margin-top:0}.trade-tag-picker{display:flex;flex-direction:column;gap:.75rem}.page-shell--portal .portal-main,.page-shell--portal main.portal-main{width:100%;max-width:none;box-sizing:border-box;padding:1.25rem 1.5rem 3rem}.page-shell--portal .portal-hero{margin-bottom:.35rem}.page-shell--portal .portal-layout{display:flex;flex-direction:column;gap:.85rem;margin-bottom:.85rem}.page-shell--portal .portal-primary,.page-shell--portal .portal-secondary{display:flex;flex-direction:column;gap:.85rem;min-width:0}.page-shell--portal .portal-profile-card{overflow:hidden}.page-shell--portal .portal-profile-col,.page-shell--portal .portal-profile-form{display:flex;flex-direction:column;gap:1rem}.page-shell--portal .portal-profile-col{min-width:0}.page-shell--portal .portal-profile-form .form-row>label,.page-shell--portal .portal-profile-form>.portal-profile-col>label{display:grid;grid-gap:.35rem;gap:.35rem;font-size:.9rem;color:var(--text);min-width:0;align-content:start}.page-shell--portal .portal-field-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .5rem;line-height:1.3;min-height:1.3em}.page-shell--portal .portal-field-optional{font-size:.78rem;font-weight:500;color:var(--muted,#64748b)}.page-shell--portal .portal-profile-contact{display:flex;flex-direction:column;gap:.75rem;min-width:0;padding:.85rem 1rem 1rem;border:1px solid var(--border);border-radius:10px;background:#fff}.page-shell--portal .portal-contact-hint{margin:0}.page-shell--portal .portal-profile-form input:not([type=checkbox]):not([type=radio]):not([type=file]),.page-shell--portal .portal-profile-form select{width:100%;max-width:100%;box-sizing:border-box}.page-shell--portal .portal-applications{margin-bottom:0}@media (min-width:960px){.page-shell--portal .portal-main,.page-shell--portal main.portal-main{padding-left:1.75rem;padding-right:1.75rem}.page-shell--portal .portal-layout,.page-shell--portal .portal-profile-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:1.15rem;gap:1.15rem;align-items:start}}.profile-form-submit{margin-top:1.15rem;padding-top:1rem;border-top:1px solid var(--border)}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:.85rem;gap:.85rem;align-items:start}@media (max-width:560px){.form-row{grid-template-columns:1fr}}.tag-fieldset{border:1px solid var(--border);border-radius:10px;padding:.85rem 1rem 1rem;margin:0;background:#f8fafc}.tag-fieldset legend{padding:0 .35rem;color:var(--text);font-size:.95rem}.tag-hint{margin:0 0 .75rem;font-size:.88rem}.service-location-list{list-style:none;margin:0 0 .75rem;padding:0;display:flex;flex-direction:column;gap:.75rem}.service-location-row{border:1px solid var(--border);border-radius:10px;padding:.75rem;background:#fff}.service-location-row-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.5rem}.service-location-summary{font-size:.88rem}.service-location-remove{flex-shrink:0}.tag-group{margin-bottom:.85rem}.tag-group-title{margin:0 0 .45rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600}.tag-picker{display:flex;flex-wrap:wrap;gap:.45rem}.tag-chip{border:1px solid var(--border-strong);border-radius:999px;background:var(--surface);color:var(--text);padding:.3rem .7rem;font-size:.85rem;cursor:pointer}.tag-chip-selected,.tag-chip:hover{border-color:var(--accent);color:var(--accent)}.tag-chip-selected{background:var(--accent-soft)}.tag-add-row{display:flex;gap:.5rem;margin-top:.5rem}.tag-add-row input{flex:1 1;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface);color:var(--text);padding:.55rem .75rem;font-size:.95rem}.tag-list{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.45rem}.tag-pill-client{background:var(--accent-muted);color:var(--accent)}.tag-pill-more{background:transparent;border:1px solid var(--border-strong);color:var(--muted)}.tag-section-label{margin:.75rem 0 .35rem;font-size:.72rem;color:var(--steel-600);font-weight:700;letter-spacing:.07em;text-transform:uppercase}.tag-section-label:first-of-type{margin-top:0}.readiness-badge-lg{font-size:.85rem;padding:.35rem .75rem}.detail-badges{display:flex;flex-direction:column;align-items:flex-end;gap:.45rem;flex-shrink:0}.project-subline{margin:.25rem 0 0;font-size:.85rem}.brief-meta{margin-top:0}.brief-subsection{margin-top:1.15rem}.brief-subsection-title{margin:0 0 .65rem;font-size:.78rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.doc-hint{margin:0;font-size:.9rem}.doc-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem 1.25rem;flex-wrap:wrap;margin-bottom:1rem}.doc-section-intro{min-width:0;flex:1 1 16rem}.doc-section-intro .section-title{margin-bottom:.35rem}.doc-upload-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end;margin:0;flex:0 1 auto}.doc-upload-row label{display:grid;grid-gap:.35rem;gap:.35rem;font-size:.9rem;color:var(--text)}.doc-upload-row select{min-width:180px}.doc-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.65rem;gap:.65rem}.doc-item{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.65rem 0;border-top:1px solid var(--border)}.doc-item-main{min-width:0;flex:1 1}.doc-remove-btn{flex-shrink:0;font-size:.85rem;padding:.35rem .65rem}.doc-remove{align-self:flex-start;font-size:.78rem;padding:0;border:none;background:none;cursor:pointer}.doc-item:first-child{border-top:none;padding-top:0}.doc-link{background:none;border:none;padding:0;color:var(--accent);font-size:1rem;font-weight:500;cursor:pointer;text-align:left}.doc-link:hover{text-decoration:underline}.doc-meta{margin:.25rem 0 0;font-size:.85rem}.doc-insight-details{margin-top:.5rem;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--accent) 4%,#fff);overflow:hidden}.doc-insight-details-summary{cursor:pointer;padding:.45rem .6rem;font-size:.82rem;font-weight:600;color:var(--accent);list-style:none}.doc-insight-scope-count{font-weight:500;color:var(--muted)}.doc-insight-details-summary::-webkit-details-marker{display:none}.doc-insight-details-summary:before{content:"▸ ";display:inline-block;transition:transform .15s ease}.doc-insight-details[open] .doc-insight-details-summary:before{transform:rotate(90deg)}.doc-insight-details-body{padding:0 .65rem .65rem;border-top:1px solid var(--border)}.doc-insight-summary{margin:.55rem 0 0;font-size:.88rem;line-height:1.45}.doc-insight-omitted{margin:.35rem 0 0;font-size:.8rem;font-style:italic}.doc-insight-facts{margin:.35rem 0 0;padding-left:1.1rem;font-size:.85rem}.doc-insight-meta{margin:.45rem 0 0;font-size:.8rem}.doc-gallery-item .doc-insight-details{width:100%}.contractor-portfolio-card{margin-bottom:.85rem}.contractor-portfolio-title{margin:0 0 .85rem}.contractor-portfolio-upload-tile{min-width:0}.contractor-portfolio-upload-label{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1;width:100%;margin:0;padding:.75rem;border:2px dashed var(--border-strong);border-radius:12px;background:#f8fafc;color:var(--muted);cursor:pointer;overflow:hidden;box-sizing:border-box;transition:border-color .15s ease,background .15s ease,color .15s ease}.contractor-portfolio-upload-label:hover:not(.contractor-portfolio-upload-label--busy){border-color:var(--accent);background:var(--accent-muted);color:var(--accent)}.contractor-portfolio-upload-tile-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;pointer-events:none;text-align:center;font-size:.88rem;font-weight:600;line-height:1.3}.contractor-portfolio-upload-icon{font-size:2rem;line-height:1;font-weight:400}.contractor-portfolio-upload-label--busy{opacity:.65;pointer-events:none}.contractor-portfolio-file-input{position:absolute;inset:0;margin:0;padding:0;opacity:0;width:100%;height:100%;cursor:pointer;font-size:0}.contractor-portfolio-refresh-hint{margin:0 0 .5rem;font-size:.82rem}.contractor-portfolio-loading-hint{margin:.65rem 0 0;font-size:.85rem}.contractor-portfolio-grid,.contractor-portfolio-preview-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:.75rem;gap:.75rem}.contractor-portfolio-grid--owner{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.contractor-portfolio-preview-item,.contractor-portfolio-tile{display:flex;flex-direction:column;gap:.45rem}.contractor-portfolio-tile-media{position:relative;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#fff}.contractor-portfolio-thumb-link{display:block;aspect-ratio:1;background:#f1f5f9}.contractor-portfolio-thumb{width:100%;height:100%;object-fit:cover;display:block}.contractor-portfolio-thumb--placeholder{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.85rem;width:100%;height:100%}.contractor-portfolio-tile-actions{position:absolute;top:.4rem;right:.4rem;display:flex;gap:.35rem}.contractor-portfolio-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:999px;background:rgba(255,255,255,.92);color:var(--text);box-shadow:0 1px 4px rgba(15,23,42,.18);cursor:pointer}.contractor-portfolio-icon-btn:hover:not(:disabled){background:#fff}.contractor-portfolio-icon-btn--active{color:var(--accent)}.contractor-portfolio-icon-btn--danger:hover:not(:disabled){color:var(--danger)}.contractor-portfolio-icon-btn:disabled{opacity:.55;cursor:not-allowed}.contractor-portfolio-tile-caption{margin:0;padding:.45rem .55rem .55rem;font-size:.82rem;line-height:1.35;background:linear-gradient(transparent,rgba(15,23,42,.72));color:#fff;position:absolute;left:0;right:0;bottom:0}.contractor-portfolio-caption-editor{display:grid;grid-gap:.45rem;gap:.45rem}.contractor-portfolio-caption-editor input{width:100%;box-sizing:border-box}.contractor-portfolio-caption-editor-actions{display:flex;gap:.45rem}.contractor-portfolio-caption-editor-actions .primary,.contractor-portfolio-caption-editor-actions .secondary{padding:.4rem .75rem;font-size:.85rem}.contractor-portfolio-preview{margin:.75rem 0 1rem;border:1px solid var(--border);border-radius:10px;padding:.65rem .75rem;background:#f8fafc}.contractor-portfolio-preview-summary{cursor:pointer;font-weight:600;font-size:.9rem;list-style:none}.contractor-portfolio-preview-summary::-webkit-details-marker{display:none}.contractor-portfolio-preview-summary:before{content:"▸ "}.contractor-portfolio-preview[open] .contractor-portfolio-preview-summary:before{content:"▾ "}.contractor-portfolio-preview-grid{margin-top:.75rem}.bid-contractor-profile-loading{margin:.75rem 0 1rem}.bid-contractor-profile-body{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.bid-contractor-profile-meta{display:flex;flex-wrap:wrap;gap:.35rem 1rem;font-size:.85rem}.bid-contractor-profile-heading{margin:.5rem 0 0;font-size:.88rem;font-weight:650}.bid-contractor-profile-docs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.bid-contractor-profile-doc{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .65rem;border:1px solid var(--border);border-radius:8px;background:#fff}.bid-contractor-profile-doc-info{display:flex;flex-direction:column;gap:.15rem;min-width:0}.bid-contractor-profile-doc-info strong{font-size:.88rem;word-break:break-word}.bid-contractor-profile-doc .secondary{flex-shrink:0;padding:.35rem .7rem;font-size:.82rem}.contractor-portfolio-preview-title{margin:.35rem 0 0;font-size:.82rem;font-weight:600;line-height:1.35}.doc-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:.85rem;gap:.85rem;margin-bottom:1.25rem}.doc-tiles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:1rem;gap:1rem;margin-top:.75rem}.doc-tile{margin:0;display:flex;flex-direction:column;gap:.45rem;min-width:0}.doc-tile-preview{width:100%}.doc-tile-caption{margin:0;font-size:.84rem;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-tile-meta{margin:0;font-size:.78rem;line-height:1.4}.doc-file-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;width:100%;aspect-ratio:4/3;padding:1rem;border:1px solid var(--border);border-radius:10px;background:linear-gradient(180deg,#f8fafc,#eef2f7);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.doc-file-tile:hover{border-color:var(--accent);box-shadow:0 2px 10px rgba(15,23,42,.08)}.doc-file-tile-ext{display:inline-flex;align-items:center;justify-content:center;min-width:3.5rem;padding:.35rem .55rem;border-radius:8px;background:#fff;border:1px solid var(--border);font-size:.95rem;font-weight:700;letter-spacing:.04em;color:var(--accent)}.doc-file-tile-label{font-size:.78rem;text-align:center;line-height:1.35}.doc-tile-scope{margin-top:.15rem;padding-top:.55rem;border-top:1px solid var(--border)}.doc-tile-scope-label{margin:0 0 .35rem;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.doc-tile-scope-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.45rem;gap:.45rem}.doc-tile-scope-list--standalone{margin-top:.5rem}.doc-tile-scope-item{display:grid;grid-gap:.15rem;gap:.15rem;font-size:.82rem;line-height:1.4}.doc-scope-orphans{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}.doc-scope-orphans-title{margin:0 0 .25rem;font-size:.95rem;font-weight:600}.doc-scope-orphans-hint{margin:0 0 .5rem;font-size:.85rem}.doc-tile .doc-insight-details{margin-top:.1rem}.doc-gallery-item{margin:0;display:flex;flex-direction:column;gap:.4rem}.doc-gallery-caption{margin:0;font-size:.78rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-image{display:block;padding:0;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--accent-muted);cursor:pointer;width:100%}.doc-image-gallery{aspect-ratio:4/3}.doc-image-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .15s ease}.doc-image-gallery:hover img{transform:scale(1.03)}.doc-image-placeholder{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;border:1px dashed var(--border-strong);border-radius:10px;color:var(--muted);font-size:.85rem;background:#f8fafc}.doc-image-loading{color:var(--muted)}.intake-intro{margin:0 0 1rem}.intake-improved{margin-bottom:1rem;padding:.85rem 1rem;border-radius:10px;background:var(--accent-muted);border:1px solid #bfdbfe}.intake-improved p{margin:.35rem 0 0;line-height:1.5;color:var(--text)}.intake-subtitle{margin:0 0 .5rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600}.intake-tags{margin-bottom:1.25rem}.intake-form{display:grid;grid-gap:.85rem;gap:.85rem}.intake-progress-block{margin-bottom:1.25rem}.intake-progress-header{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.45rem}.intake-progress-label{font-size:.9rem;font-weight:500;color:var(--text)}.intake-progress-percent{font-size:.85rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.intake-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#2563eb,#38bdf8);transition:width .35s ease}.intake-progress-fill-complete{background:linear-gradient(90deg,#15803d,#4ade80)}.intake-progress-hint{margin:.4rem 0 0;font-size:.8rem}.intake-progress{margin:0;font-size:.85rem}.intake-info-note{margin:0;font-size:.9rem}.intake-final{display:grid;grid-gap:.75rem;gap:.75rem;margin-top:.5rem}.intake-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.intake-other-block{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border)}.intake-other-block .intake-custom-input{margin-top:.5rem;width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.project-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.85rem;gap:.85rem}.project-item{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:.85rem 0;border-top:1px solid var(--border)}.project-item:first-child{border-top:none;padding-top:0}.project-description{margin:.35rem 0 0;color:var(--muted);font-size:.92rem}.project-meta{display:grid;grid-gap:.35rem;gap:.35rem;justify-items:end;text-align:right;flex-shrink:0}.status-pill-lg{font-size:.85rem;padding:.35rem .75rem}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.detail-header h1{margin:0 0 .5rem;font-size:1.75rem}.mono{font-family:ui-monospace,monospace;font-size:.8rem;word-break:break-all}.estimate-card{border-color:#bbf7d0}.estimate-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.estimate-low-confidence-notice{margin:0 0 1rem;padding:.85rem 1rem;border-radius:12px;background:linear-gradient(135deg,#fff7ed,#fffbeb);border:1px solid #fed7aa;border-left:4px solid #ea580c}.estimate-low-confidence-notice-title{margin:0 0 .35rem;font-size:.78rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#c2410c}.estimate-low-confidence-notice-text{margin:0;font-size:.92rem;line-height:1.5;color:#9a3412}.estimate-low-confidence-scroll{margin-top:.75rem}.estimate-refinement--low-confidence{margin:0 0 1rem;padding:.85rem 1rem;border-radius:12px;background:linear-gradient(135deg,#fff7ed,#fffbeb);border:1px solid #fed7aa;border-left:4px solid #ea580c;scroll-margin-top:1.25rem}.estimate-refine-boost-hint{margin:0 0 .55rem;font-size:.92rem;line-height:1.45;font-weight:600;color:#c2410c}.project-tile-estimate-block{display:flex;flex-direction:column;gap:.45rem;margin-top:.35rem}.project-tile-estimate-low-confidence{margin:0;font-size:.78rem;line-height:1.4;color:#c2410c}.estimate-header-main{min-width:0;flex:1 1}.estimate-header-main .section-title{margin-bottom:.35rem}.estimate-range{font-size:1.75rem;font-weight:600;margin:.25rem 0 .5rem}.estimate-meta{margin:0}.estimate-confidence-ring{position:relative;flex:0 0 auto;display:grid;place-items:center}.estimate-confidence-ring-svg{display:block}.estimate-confidence-ring-track{stroke:rgba(34,197,94,.18)}.estimate-confidence-ring-progress{stroke:#16a34a;transition:stroke-dashoffset .45s ease}.estimate-confidence-ring-label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;pointer-events:none;text-align:center}.estimate-confidence-ring-value{font-size:1.05rem;font-weight:700;letter-spacing:-.02em;line-height:1;color:var(--text)}.estimate-confidence-ring-caption{font-size:.62rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);max-width:4.5rem;line-height:1.15}.estimate-refinement{margin:0 0 1rem;display:grid;grid-gap:.75rem;gap:.75rem}.estimate-refine-details,.estimate-refine-history{border-top:1px solid var(--border);padding-top:.75rem}.estimate-refine-details summary,.estimate-refine-history summary{cursor:pointer;font-weight:600}.estimate-refine-hint{margin:.5rem 0 .75rem}.estimate-refine-form{display:grid;grid-gap:.75rem;gap:.75rem}.estimate-refine-field{display:grid;grid-gap:.35rem;gap:.35rem;font-size:.95rem}.estimate-refine-field textarea{width:100%;resize:vertical;min-height:3.5rem}.estimate-refine-history-list{list-style:none;margin:.65rem 0 0;padding:0;display:grid;grid-gap:.65rem;gap:.65rem}.estimate-refine-history-list li{display:grid;grid-gap:.2rem;gap:.2rem}.estimate-lines{list-style:none;margin:0 0 1rem;padding:0}.estimate-line{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0;border-top:1px solid var(--border)}.estimate-line:first-child{border-top:none}.estimate-line-trade{display:block;font-size:.8rem;margin-top:.15rem;color:var(--muted)}.estimate-line-amount{white-space:nowrap;color:var(--text)}.estimate-disclaimer{font-size:.85rem;margin:0}.insight-list,.package-list{list-style:none;margin:.75rem 0 0;padding:0}.insight-item,.package-item{padding:.65rem 0;border-top:1px solid var(--border)}.insight-item:first-child,.package-item:first-child{border-top:none}.package-trade{display:inline-block;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--accent);margin-right:.5rem}.package-qty{display:block;font-size:.85rem;margin-top:.15rem;color:var(--muted)}input,select,textarea{color-scheme:light}input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=hidden]),select,textarea{border:1px solid var(--border-strong);border-radius:10px;background:rgba(255,255,255,.52);color:var(--text);padding:.65rem .75rem;font-size:.95rem;font-family:inherit;line-height:1.4;transition:border-color .15s ease,background .15s ease,outline .15s ease,box-shadow .15s ease}textarea{resize:vertical;min-height:2.75rem}input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=hidden])::placeholder,textarea::placeholder{color:var(--muted)}input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=hidden]):focus,select:focus,textarea:focus{outline:2px solid var(--accent-soft);outline-offset:0;border-color:var(--accent);background:rgba(255,255,255,.78);box-shadow:0 0 0 3px rgba(37,99,235,.12)}input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=hidden]):disabled,select:disabled,textarea:disabled{opacity:.65;cursor:not-allowed;background:#f1f5f9}.form-stack,.modal-form{display:grid;grid-gap:.9rem;gap:.9rem}.admin-reject-field,.doc-upload-row label,.form-stack label,.modal-form label{display:grid;grid-gap:.35rem;gap:.35rem;font-size:.9rem;color:var(--text)}.form-stack input:not([type=checkbox]):not([type=radio]):not([type=file]),.form-stack select,.form-stack textarea,.modal-form input:not([type=checkbox]):not([type=radio]):not([type=file]),.modal-form select,.modal-form textarea{width:100%;box-sizing:border-box}.checkbox-label input[type=checkbox]{width:1.05rem;height:1.05rem;margin:0;padding:0;border:none;background:transparent;accent-color:var(--accent);cursor:pointer}.header-link{font-size:.9rem;font-weight:600;text-decoration:none}@media (max-width:820px){.site-header-inner{flex-wrap:wrap;gap:.65rem 1rem}.header-brand-nav{width:100%;justify-content:space-between;gap:.75rem}.header-nav{overflow-x:auto;max-width:min(100%,18rem);scrollbar-width:none}.header-nav::-webkit-scrollbar{display:none}.header-utilities{margin-left:auto}.header-account-name{max-width:7rem}}@media (max-width:520px){.header-account-name,.header-utilities-divider{display:none}.header-account-trigger{padding:0;width:2.25rem;justify-content:center;border-radius:8px}.header-account-chevron{display:none}}.tender-card{border-color:rgba(147,197,253,.65);box-shadow:var(--shadow-glass),inset 3px 0 0 rgba(37,99,235,.55)}.client-contract-card,.estimate-card,.tender-card{background:var(--glass-bg-dense)}.tender-card-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.tender-card-header-actions{display:inline-flex;gap:.5rem}.tender-card-header .section-title{margin:0}.tender-card .doc-hint{margin-bottom:0}.tender-error{margin-top:.75rem}.tender-meta{margin-top:1rem;margin-bottom:0}.tender-actions-block{display:grid;grid-gap:.65rem;gap:.65rem;margin-top:1.25rem;justify-items:start}.tender-actions-block .tender-hint{margin:0;max-width:42rem;line-height:1.5}.tender-publish-block{gap:.85rem}.tender-deadline-fields{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.85rem 1.25rem}.tender-deadline-date-label{display:grid;grid-gap:.35rem;gap:.35rem;font-size:.875rem;color:var(--text-muted,var(--muted))}.tender-deadline-date-label input[type=date]{min-width:11rem;padding:.45rem .6rem;border:1px solid var(--border);border-radius:var(--radius-sm,6px);background:var(--surface,#fff);color:var(--text);font:inherit}.tender-deadline-unlimited{margin:0;padding-bottom:.45rem}.tender-deadline-expired{margin-top:1.25rem;padding:1rem 1.1rem;border:1px solid color-mix(in srgb,var(--accent,#c45) 35%,var(--border));border-radius:var(--radius-md,8px);background:color-mix(in srgb,var(--accent,#c45) 6%,transparent)}.tender-deadline-expired-lead{margin:0 0 .85rem;line-height:1.5;font-size:.925rem}.tender-deadline-extend{display:grid;grid-gap:.75rem;gap:.75rem;justify-items:start}.tender-deadline-passed-notice{margin:1rem 0 0;padding:.75rem .9rem;border-left:3px solid var(--border);background:color-mix(in srgb,var(--muted) 8%,transparent);font-size:.9rem;line-height:1.5;color:var(--text-muted,var(--muted))}.tender-phase-hint{margin:1.25rem 0 0;font-size:.9rem;line-height:1.5}.tender-subsection{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border)}.tender-subsection-title{margin:0 0 .5rem;font-size:.95rem;font-weight:600;color:var(--text)}.tender-invite-explainer{margin:0 0 .85rem;font-size:.9rem;line-height:1.55;max-width:46rem}.tender-invite-summary{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.85rem}.tender-invite-summary-item{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.78rem;font-weight:600}.tender-invite-summary-item.pending{background:#fffbeb;color:#b45309}.tender-invite-summary-item.accepted{background:var(--success-soft);color:var(--success)}.tender-invite-summary-item.declined{background:#f1f5f9;color:var(--muted)}.tender-invite-summary-item.expired{background:#fef2f2;color:var(--danger)}.tender-invite-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.5rem;gap:.5rem}.tender-invite-item{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .9rem;border:1px solid var(--border);border-radius:10px;background:#f8fafc}.tender-invite-main{display:grid;grid-gap:.2rem;gap:.2rem;min-width:0}.tender-invite-name{font-weight:600;color:var(--text)}.tender-invite-responded{font-size:.82rem}.tender-invite-status{display:inline-block;padding:.25rem .6rem;border-radius:999px;font-size:.78rem;font-weight:600;white-space:nowrap}.tender-invite-status.pending{background:#fffbeb;color:#b45309;border:1px solid #fde68a}.tender-invite-status.accepted{background:var(--success-soft);color:var(--success);border:1px solid #bbf7d0}.tender-invite-status.declined{background:#f1f5f9;color:var(--muted);border:1px solid var(--border)}.tender-invite-status.expired{background:#fef2f2;color:var(--danger);border:1px solid #fecaca}.tender-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:.75rem}.tender-hint{margin:.5rem 0 0;font-size:.9rem}.bid-line-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}.bid-list{margin-top:.5rem}.bid-proposal-list{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.65rem}.bid-application-card,.bid-proposal-list-item{border:1px solid var(--border-strong);border-radius:12px;background:rgba(255,255,255,.48);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:0;overflow:hidden}.bid-proposal-list-item{padding:1rem 1.15rem}.bid-application-card{list-style:none}.bid-offer-list{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.bid-offer-item{padding:.65rem .85rem;border:1px solid var(--border-strong);border-radius:8px;background:rgba(255,255,255,.42)}.bid-offer-summary .bid-proposal-block:first-of-type{margin-top:.65rem}.bid-offer-meta{margin:0 0 .25rem;font-size:.85rem}.bid-offer-amount{margin:0;font-weight:600}.bid-offer-note{margin:.35rem 0 0;font-size:.9rem}.client-counter-offer-panel{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.client-counter-offer-form-wrap{margin-top:1rem}.counter-offer-accept{margin-top:.85rem;display:flex;flex-direction:column;align-items:flex-start;gap:.45rem}.counter-offer-accept-hint{margin:0;font-size:.85rem;max-width:36rem}.counter-offer-accept-applied{margin:0;font-size:.88rem;color:var(--accent,#2563eb)}.bid-application-card--expanded{background:#fff}.bid-application-card-bar{display:flex;align-items:stretch;gap:.5rem;min-width:0}.bid-application-card-toggle{flex:1 1;min-width:0;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;grid-gap:.15rem .65rem;gap:.15rem .65rem;align-items:center;padding:.75rem .85rem;border:none;border-radius:12px;background:transparent;text-align:left;font:inherit;color:inherit;cursor:pointer}.bid-application-card-toggle:hover{background:rgba(0,0,0,.03)}.bid-application-card-chevron{grid-row:1/span 2;color:var(--muted);font-size:.85rem;line-height:1}.bid-application-card-primary{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;min-width:0}.bid-application-card-company{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bid-application-card-amount{flex-shrink:0;font-weight:700;font-size:.95rem;color:var(--text)}.bid-application-card-meta{grid-column:2;display:flex;flex-wrap:wrap;gap:.35rem .75rem;font-size:.8rem}.bid-application-card-badges{display:flex;align-items:center;padding:.75rem .85rem .75rem 0;flex-shrink:0}.bid-application-card-body{padding:0 .85rem .85rem;min-width:0;border-top:1px solid var(--border)}.bid-application-card-body .bid-proposal-summary{padding-top:.85rem}.bid-application-card-body .bid-proposal-actions{margin-top:.65rem;padding-top:.65rem}.bid-application-card-static-header{flex:1 1;min-width:0;display:grid;grid-template-columns:1fr;grid-gap:.15rem;gap:.15rem;padding:.75rem .85rem}.bid-application-card--flat .bid-application-card-body{border-top:1px solid var(--border)}.bid-application-card-body .bid-chat{margin-top:.75rem;padding-top:.75rem}.bid-proposal-summary{display:flex;flex-direction:column;gap:.75rem}.bid-proposal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.bid-proposal-meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.875rem;margin-top:.25rem}.bid-proposal-block h4{margin:0 0 .35rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600}.bid-proposal-block p{margin:0}.bid-proposal-text{white-space:pre-wrap;line-height:1.5}.bid-proposal-actions{margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--border)}.bid-proposal-form .field-hint{display:block;font-size:.8rem;margin-top:.2rem;margin-bottom:.35rem}.bid-proposal-form--compact{padding:1rem 1.1rem;border:1px solid var(--border);border-radius:12px;background:#f8fafc}.bid-proposal-field{display:grid;grid-gap:.35rem;gap:.35rem;margin:0}.bid-proposal-field .field-label{font-size:.9rem;color:var(--text)}.bid-proposal-form-fields{gap:.75rem}.bid-proposal-form-row{display:grid;grid-gap:.75rem;gap:.75rem}.bid-proposal-form-row--amount-duration{grid-template-columns:1fr}@media (min-width:520px){.bid-proposal-form-row--amount-duration{grid-template-columns:minmax(0,1.5fr) minmax(0,.75fr);max-width:26rem}}.bid-proposal-form-row--pair{grid-template-columns:1fr}@media (min-width:640px){.bid-proposal-form-row--pair{grid-template-columns:repeat(2,minmax(0,1fr))}}.bid-proposal-form-row--triple{grid-template-columns:1fr}@media (min-width:520px){.bid-proposal-form-row--triple{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:900px){.bid-proposal-form-row--triple{grid-template-columns:repeat(3,minmax(0,1fr))}}.bid-proposal-form-row--metrics{grid-template-columns:1fr}@media (min-width:520px){.bid-proposal-form-row--metrics{grid-template-columns:minmax(0,1.5fr) minmax(0,.75fr);max-width:26rem}}.bid-proposal-form-error{margin:.75rem 0 0}.bid-proposal-form-footer{margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--border)}.participation-actions{margin-top:1.25rem;padding:.9rem 1rem;border-radius:12px;border:1px solid #ddd6fe;background:#faf5ff}.participation-actions-hint{margin:0 0 .75rem;max-width:42rem;line-height:1.5;font-size:.9rem}.participation-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .65rem}.participation-toolbar .primary,.participation-toolbar .secondary{margin:0}.participation-toolbar-withdraw{margin-left:auto}.tender-subsection--proposal{margin-top:1.25rem}.tender-subsection--proposal .tender-subsection-title{margin-bottom:.75rem}@media (max-width:519px){.participation-toolbar-withdraw{margin-left:0}.bid-proposal-form-footer{flex-direction:column;align-items:stretch}.bid-proposal-form-footer .primary,.bid-proposal-form-footer .secondary{width:100%;justify-content:center}}.required-mark{color:#b45309}.field-label{display:inline-flex;align-items:center;gap:.2rem}.bid-breakdown-toggle{margin:.5rem 0 1rem}.bid-contract-terms{margin-top:0}.bid-contract-terms-section{margin-top:.25rem;padding-top:1rem;border-top:1px solid var(--border)}.bid-contract-terms-section .bid-breakdown-toggle{margin:0 0 .75rem}.bid-contract-terms-header{margin-bottom:.75rem}.bid-contract-terms-fields{gap:.75rem}.contract-terms-text-option{display:flex;flex-direction:column;gap:.5rem}.contract-terms-text-option-label,.contract-terms-text-option>label{display:flex;flex-direction:column;gap:.25rem}.contract-terms-text-option--readonly input,.contract-terms-text-option--readonly textarea{cursor:default}.contract-terms-text-option-select{width:100%}.bid-contract-terms-fields input:disabled,.bid-contract-terms-fields select:disabled,.bid-contract-terms-fields textarea:disabled{opacity:.72;cursor:not-allowed;background:var(--surface-muted,#f6f7f8)}.client-commercial-proposal-panel{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.client-commercial-proposal-hint{margin:0 0 .75rem;font-size:.88rem}.contract-draft-panel{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.contract-signing-panel{display:flex;flex-direction:column;gap:.85rem}.contract-signing-tools{display:grid;grid-gap:.85rem;gap:.85rem;align-items:stretch}@media (min-width:900px){.contract-signing-tools--with-pad{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.contract-signing-loading{display:inline-flex;align-items:center;gap:.65rem;margin:0}.contract-signature-pad{display:flex;flex-direction:column;gap:.5rem;min-width:0;height:100%;box-sizing:border-box;padding:.85rem 1rem;border:1px solid var(--border);border-radius:12px;background:#f8fafc}.contract-signature-pad-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;flex:0 0 auto}.contract-signature-pad-label{margin:0;font-size:.88rem;font-weight:600;color:var(--text)}.contract-signature-pad-clear{margin:0;padding:.3rem .65rem;font-size:.8rem}.contract-signature-pad-canvas-wrap{position:relative;flex:0 0 auto;width:100%;height:200px;min-height:200px;max-height:200px;border:1px dashed var(--border-strong);border-radius:10px;background:#fff;overflow:hidden}.contract-signature-pad-canvas-wrap--disabled{opacity:.6;pointer-events:none}.contract-signature-pad-canvas{display:block;touch-action:none;cursor:crosshair;vertical-align:top}.contract-signature-pad-hint{margin:auto 0 0;font-size:.78rem;line-height:1.4;flex:0 0 auto}.contract-signing-hint{margin:0;font-size:.88rem}.contract-signing-meta{margin:0}.contract-signing-actions-card{display:flex;flex-direction:column;gap:.75rem;min-width:0;height:100%;box-sizing:border-box;padding:.85rem 1rem;border:1px solid var(--border);border-radius:12px;background:#f8fafc}.contract-signing-actions-card-header{flex:0 0 auto}.contract-signing-actions-card-title{margin:0;font-size:.88rem;font-weight:650;color:var(--text)}.contract-signing-actions-card-download{flex:1 1 auto;min-height:0}.contract-signing-actions-card-download .commercial-proposal-download--embedded{height:100%}.contract-signing-actions-card .contract-signing-actions{margin-top:auto}.contract-signing-actions-card .contract-signing-complete{margin-top:auto;margin-bottom:0}.contract-signing-download{display:flex;flex-direction:column;justify-content:flex-start;gap:.65rem;min-width:0;height:100%;box-sizing:border-box;padding:.85rem 1rem;border:1px solid var(--border);border-radius:12px;background:#f8fafc}.contract-signing-tools .commercial-proposal-download--embedded{flex:1 1 auto;display:flex;flex-direction:column;height:100%;min-height:0}.contract-custom-file-name{margin:.5rem 0 0;font-size:.9rem}.contract-signing-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem .65rem}.contract-signing-actions .primary,.contract-signing-actions .secondary{margin:0}.contract-signing-inline-error{margin:.15rem 0 0}.contract-signing-complete{margin:0;font-size:.9rem;line-height:1.45}.client-contract-hint{margin:0 0 .75rem;font-size:.9rem}.contract-secondary-details{margin-top:1rem;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--surface,#fff) 92%,var(--accent) 8%);overflow:hidden}.contract-secondary-details-summary{cursor:pointer;padding:.7rem .85rem;font-size:.92rem;font-weight:600;color:var(--text);list-style:none}.contract-secondary-details-summary::-webkit-details-marker{display:none}.contract-secondary-details-summary:before{content:"▸ ";display:inline-block;color:var(--accent);transition:transform .15s ease}.contract-secondary-details[open] .contract-secondary-details-summary:before{transform:rotate(90deg)}.contract-secondary-details-body{padding:0 .85rem .85rem;border-top:1px solid var(--border)}.client-contract-chat{margin-top:1.1rem}.addenda-panel+.tender-subsection,.contract-document-editor+.addenda-panel,.contract-secondary-details+.addenda-panel,.contract-secondary-details+.tender-subsection.client-contract-chat{margin-top:1.1rem;padding-top:0;border-top:none}.addenda-panel{margin-top:0}.addenda-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.addenda-list{display:flex;flex-direction:column;gap:.85rem;margin-top:.75rem}.addendum-item-summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.addendum-item-title{font-weight:650}.addendum-item-status{flex:0 0 auto;padding:.2rem .55rem;border-radius:999px;background:#e2e8f0;color:#334155;font-weight:600;font-size:.78rem;line-height:1.3;white-space:nowrap}.addendum-item-body{display:flex;flex-direction:column;gap:1rem}.addendum-meta{display:flex;flex-direction:column;gap:.55rem}.addendum-signing-order{margin:0;font-size:.88rem}.addendum-parties{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.55rem;gap:.55rem}.addendum-party{display:flex;flex-direction:column;gap:.15rem;min-width:0;padding:.55rem .7rem;border:1px solid var(--border);border-radius:10px;background:#f8fafc;font-size:.86rem}.addendum-party--signed{border-color:#bbf7d0;background:#f0fdf4}.addendum-party-role{font-weight:650;color:var(--text)}.addendum-custom-file-name{margin:0 0 .65rem;font-size:.88rem}.addendum-attachments{margin:0;padding:.85rem 1rem;border:1px solid var(--border);border-radius:12px;background:#f8fafc}.addendum-attachments-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.addendum-attachments-title{margin:0;font-size:.9rem;font-weight:650}.addendum-attachments-hint{margin:.2rem 0 0;font-size:.82rem}.addendum-attachments-empty{margin:.65rem 0 0;font-size:.86rem}.addendum-attachments-list{list-style:none;margin:.7rem 0 0;padding:0;display:flex;flex-direction:column;gap:.35rem}.addendum-attachments-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.45rem .55rem;border-radius:8px;background:#fff;border:1px solid var(--border)}.addendum-attachments-name{min-width:0;text-align:left;overflow-wrap:anywhere}.addendum-attachments-remove{flex:0 0 auto;padding:.25rem .5rem;font-size:.82rem}.addendum-tools{display:grid;grid-gap:.85rem;gap:.85rem;align-items:stretch}@media (min-width:900px){.addendum-tools--with-pad{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.addendum-actions-card{display:flex;flex-direction:column;gap:.75rem;min-width:0;height:100%;box-sizing:border-box;padding:.85rem 1rem;border:1px solid var(--border);border-radius:12px;background:#f8fafc}.addendum-actions-card-title{margin:0;font-size:.88rem;font-weight:650}.addendum-include-attachments{display:flex;align-items:flex-start;gap:.45rem;font-size:.86rem;line-height:1.35}.addendum-include-attachments input{margin-top:.15rem}.addendum-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:auto}.addendum-actions .primary,.addendum-actions .secondary{width:auto}.addendum-actions-delete{margin-left:auto}.addendum-fully-signed-note{margin:0;font-size:.86rem}.addenda-create-file-field{display:flex;flex-direction:column;gap:.45rem}.addenda-create-file-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.addenda-create-file-name{font-size:.9rem;word-break:break-word}.addenda-create-actions{margin-top:.35rem;gap:.85rem}.addendum-regen-locale{display:inline-flex;flex-direction:column;gap:.25rem;margin:0}.addendum-regen-locale select{min-width:8rem}@media (max-width:640px){.addendum-parties{grid-template-columns:1fr}.addendum-actions-delete{margin-left:0}}.contract-document-editor-hint{margin:.65rem 0 .75rem;font-size:.88rem}.contract-custom-preview-meta{margin:0 0 .75rem;font-size:.88rem}.contract-custom-preview-frame-wrap{width:100%;min-height:420px;height:min(70vh,720px);border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#fff}.contract-custom-preview-frame{display:block;width:100%;height:100%;border:0;background:#f8fafc}.contract-custom-preview-fallback{display:flex;flex-direction:column;gap:.75rem;align-items:flex-start;padding:1rem;border:1px dashed var(--border-strong);border-radius:12px;background:#f8fafc}.contract-custom-preview-fallback p{margin:0}.contract-custom-preview-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-top:.85rem}.custom-file-format-picker{flex:1 1 100%;margin:0;padding:0;border:none;min-width:0}.custom-file-format-picker legend{padding:0;margin:0 0 .45rem;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.custom-file-format-picker-list{display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:center}.custom-file-format-picker-option{display:inline-flex;align-items:center;gap:.45rem;margin:0;font-size:.88rem;line-height:1.3;color:var(--text);cursor:pointer}.custom-file-format-picker-hint{margin:.4rem 0 0;font-size:.78rem;line-height:1.35}.contract-signing-custom-download{display:flex;flex-direction:column;align-items:flex-start;gap:.65rem;width:100%}.contract-custom-signatures{margin-top:1rem;padding:.9rem 1rem;border:1px solid var(--border);border-radius:12px;background:#fff}.contract-custom-signatures-title{margin:0 0 .35rem;font-size:.95rem;font-weight:650}.contract-custom-signatures-hint{margin:0 0 .85rem;font-size:.82rem}.contract-custom-signatures-grid{display:grid;grid-gap:.85rem;gap:.85rem;grid-template-columns:1fr}@media (min-width:720px){.contract-custom-signatures-grid{grid-template-columns:1fr 1fr}}.contract-include-signatures{display:flex;align-items:flex-start;gap:.5rem;margin-top:.75rem;font-size:.9rem;line-height:1.35;color:var(--text);cursor:pointer}.contract-include-signatures input{margin-top:.2rem;flex-shrink:0}.addendum-meta .contract-include-signatures{margin-top:.65rem}.contract-custom-signature-slot{display:flex;flex-direction:column;gap:.45rem;min-width:0}.contract-custom-signature-slot-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.35rem .75rem;font-size:.85rem}.contract-custom-signature-slot-pad{display:flex;align-items:center;justify-content:center;min-height:110px;padding:.5rem;border:1px dashed var(--border-strong);border-radius:10px;background:#f8fafc}.contract-custom-signature-slot--signed .contract-custom-signature-slot-pad{border-style:solid;background:#fff}.contract-custom-signature-image{display:block;max-width:100%;max-height:96px;width:auto;height:auto;object-fit:contain}.contract-custom-signature-empty{font-size:.82rem;text-align:center;padding:.5rem}.contract-document-toolbar{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.65rem}.contract-document-toolbar-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;min-width:2rem;padding:0;line-height:1;flex-shrink:0}.contract-document-toolbar-icon{display:block;width:16px;height:16px;flex-shrink:0;pointer-events:none}.contract-document-editor{border:1px solid var(--border);border-radius:8px;background:#fff;min-height:280px;max-height:560px;overflow:auto}.contract-document-editor .tiptap{padding:.85rem 1rem;min-height:260px;outline:none;font-family:Times New Roman,Times,serif;font-size:.95rem;line-height:1.45}.contract-document-editor .tiptap h1,.contract-document-editor .tiptap h2,.contract-document-editor .tiptap h3{margin:1rem 0 .45rem}.contract-document-editor .tiptap p{margin:.45rem 0}.contract-document-editor .tiptap a{color:#1d4ed8;text-decoration:underline;word-break:break-word}.contract-document-editor .tiptap ol,.contract-document-editor .tiptap ul{margin:.35rem 0 .35rem 1.25rem}.contract-document-editor .tiptap .contract-editor-table,.contract-document-editor .tiptap table,.contract-document-editor .tiptap table.boq{width:100%;border-collapse:collapse;margin:.75rem 0 1rem;font-size:.9rem;table-layout:fixed}.contract-document-editor .tiptap td,.contract-document-editor .tiptap th{border:1px solid var(--border);padding:.4rem .5rem;vertical-align:top;min-width:1em}.contract-document-editor .tiptap th{background:#f8fafc;font-weight:600;text-align:left}.contract-document-editor .tiptap td.num,.contract-document-editor .tiptap th:last-child{text-align:right;white-space:nowrap}.contract-document-editor .tiptap tr.subtotal td{font-weight:700;background:#fafafa}.contract-document-editor .tiptap .selectedCell:after{background:color-mix(in srgb,var(--accent) 12%,transparent);content:"";inset:0;pointer-events:none;position:absolute;z-index:2}.contract-document-editor .tiptap td,.contract-document-editor .tiptap th{position:relative}.contract-document-editor--readonly{background:color-mix(in srgb,var(--surface,#fff) 94%,#94a3b8 6%)}.contract-document-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.75rem}.client-contract-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem 1rem;margin-bottom:.35rem}.client-contract-heading{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem .75rem;min-width:0}.client-contract-header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.client-contract-header .section-title{margin:0}.contract-signing-status-pill--fully_signed{background:#dcfce7;color:#166534}.contract-signing-status-pill--awaiting_both,.contract-signing-status-pill--awaiting_client,.contract-signing-status-pill--awaiting_contractor{background:#dbeafe;color:#1d4ed8}.contract-signing-heading-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .75rem}.contract-signing-heading-row .tender-subsection-title{margin:0}.contract-signing-parties{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.5rem;gap:.5rem;margin:0;padding:0;list-style:none}@media (max-width:560px){.contract-signing-parties{grid-template-columns:1fr}}.contract-signing-party{display:grid;grid-gap:.15rem;gap:.15rem;padding:.65rem .75rem;border:1px solid var(--border);border-radius:10px;background:#f8fafc}.contract-signing-party--signed{border-color:#bbf7d0;background:#f0fdf4}.contract-signing-party-role{font-size:.72rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.contract-signing-party-status{font-size:.88rem;font-weight:600;color:var(--text);line-height:1.35}.contract-signing-party--signed .contract-signing-party-status{color:#166534}.contract-draft-panel-hint{margin:0 0 .75rem;font-size:.88rem}.bid-contract-terms-actions{gap:.75rem;margin-top:.75rem}.bid-contract-terms-download-hint{font-size:.85rem}.clarification-mode-field{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;padding:.85rem 1rem;border:1px solid var(--border);border-radius:10px;background:#fff;text-align:left}.clarification-mode-label{font-weight:600;font-size:.9rem;color:var(--text)}.clarification-mode-hint{margin:0;font-size:.88rem}.clarification-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.25rem;gap:.25rem;padding:.25rem;border-radius:10px;background:var(--surface-muted,#f3f4f6);border:1px solid var(--border)}.clarification-mode-switch-btn{margin:0;padding:.55rem .65rem;border:none;border-radius:8px;background:transparent;color:var(--text);font-size:.88rem;font-weight:600;line-height:1.3;text-align:center;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.clarification-mode-switch-btn:hover:not(.clarification-mode-switch-btn--active){background:rgba(255,255,255,.65)}.clarification-mode-switch-btn--active{background:#fff;color:var(--accent);box-shadow:0 1px 3px rgba(15,23,42,.1)}.clarification-mode-desc{margin:0;font-size:.85rem;line-height:1.45}@media (max-width:480px){.clarification-mode-switch{grid-template-columns:1fr}}.structured-clarification-disclaimer{margin:0 0 .85rem;padding:.65rem .85rem;border-radius:8px;background:#fff8e6;border:1px solid #f0d78c;font-size:.9rem}.structured-clarification-questions{display:flex;flex-direction:column;gap:.5rem}.structured-clarification-row{display:grid;grid-template-columns:auto 1fr auto;grid-gap:.5rem;gap:.5rem;align-items:center}.structured-clarification-index{font-weight:600;color:var(--muted,#6b7280)}.structured-clarification-toolbar{margin:.65rem 0}.structured-clarification-confirm{display:flex;gap:.5rem;align-items:flex-start;margin:.75rem 0;font-size:.9rem}.structured-clarification-list{margin:.5rem 0 0;padding-left:1.25rem}.structured-clarification-waiting{margin-top:.75rem}.client-clarification-panel{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.client-clarification-hint{margin:0 0 .75rem;font-size:.88rem}.client-clarification-progress{margin:0 0 .75rem;font-size:.9rem}.client-clarification-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem;margin-bottom:.15rem}.client-clarification-nav-btn{padding:.35rem .75rem;font-size:.85rem}.client-clarification-nav-status{font-size:.9rem;font-weight:600;text-align:center;flex:1 1;min-width:10rem}.client-clarification-nav-answered{font-weight:400}.client-clarification-nav-answered strong{font-weight:600;color:inherit}.client-clarification-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.client-clarification-item{display:flex;flex-direction:column;gap:.75rem;border:1px solid var(--border);border-radius:10px;padding:.95rem 1rem;background:#fff}.client-clarification-item--answered{border-color:#b8e0c3;background:#f6fcf8}.client-clarification-question{display:flex;align-items:flex-start;gap:.4rem;margin:0;font-weight:600;line-height:1.45}.client-clarification-question p{margin:0;flex:1 1;min-width:0}.client-clarification-question-body{flex:1 1;min-width:0;display:grid;grid-gap:.35rem;gap:.35rem}.client-clarification-asked-by{margin:0;font-size:.85rem}.client-clarification-index{flex-shrink:0;color:var(--muted,#6b7280);font-weight:600}.client-clarification-answer-field{display:grid;grid-gap:.35rem;gap:.35rem}.client-clarification-answer-label{font-size:.88rem;font-weight:500;color:var(--muted)}.client-clarification-answer-field textarea{width:100%;box-sizing:border-box;min-height:5rem}.client-clarification-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:0}.client-clarification-saved{font-size:.85rem}.client-clarification-summary{margin-top:1rem;padding:.85rem;border-radius:10px;background:var(--surface-muted,#f6f7f8)}.client-clarification-summary-title{margin:0 0 .45rem;font-size:.9rem;font-weight:600}.client-clarification-panel--readonly .client-clarification-summary p{margin:0;white-space:pre-wrap;line-height:1.55}.client-clarification-readonly-meta{margin:0 0 .75rem;font-size:.88rem}.client-clarification-readonly-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.client-clarification-readonly-item{border:1px solid var(--border);border-radius:10px;background:var(--surface,#fff);overflow:hidden}.client-clarification-readonly-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.75rem .85rem;cursor:pointer;list-style:none}.client-clarification-readonly-summary:before{content:"▸";flex-shrink:0;margin-top:.1rem;color:var(--text-muted,#667)}.client-clarification-readonly-item[open]>.client-clarification-readonly-summary:before{content:"▾"}.client-clarification-readonly-summary::-webkit-details-marker{display:none}.client-clarification-readonly-question{display:flex;gap:.35rem;line-height:1.45;font-weight:500;flex:1 1;min-width:0}.client-clarification-readonly-status{flex-shrink:0;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted,#667)}.client-clarification-readonly-status--answered{color:var(--success,#1a7f37)}.client-clarification-readonly-body{padding:0 .85rem .85rem;border-top:1px solid var(--border)}.client-clarification-readonly-answer{margin:.75rem 0 .35rem;white-space:pre-wrap;line-height:1.55}.client-clarification-readonly-answered-at{margin:0 0 .35rem;font-size:.85rem}.clarification-answer-attachments-list--readonly{margin-top:.65rem}.contractor-clarification-summary{margin-top:.85rem}.contractor-clarification-summary .tender-subsection-title{margin:0 0 .5rem;font-size:.95rem}.contractor-clarification-summary p{margin:0;line-height:1.55;font-size:.92rem;white-space:pre-wrap}.contractor-clarification-attachments{margin-top:.85rem}.contractor-clarification-attachments-hint{margin:0 0 .65rem;font-size:.85rem}.contractor-clarification-attachments-groups{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.85rem}.contractor-clarification-attachments-group{padding:.75rem .85rem;border-radius:10px;background:var(--surface-muted,#f6f7f8)}.contractor-clarification-attachments-question{margin:0 0 .45rem;font-size:.9rem;font-weight:600;line-height:1.45}.clarification-answer-attachments{margin-top:.35rem;margin-bottom:.15rem}.clarification-answer-attachments-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}.clarification-answer-attachments-add{padding:.35rem .75rem;font-size:.85rem}.clarification-answer-attachments-list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.35rem}.clarification-answer-attachments-item{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.clarification-answer-attachments-name{font-size:.9rem}.clarification-answer-attachments-meta{font-size:.82rem}.clarification-answer-attachments-empty{margin:.35rem 0 0;font-size:.85rem}.clarification-answer-attachments-remove{margin-left:auto}.bid-contract-terms-hint{margin:.25rem 0 0;font-size:.82rem}.bid-contract-terms-legal-label{margin-top:.25rem}.commercial-proposal-download{display:flex;flex-direction:column;align-items:stretch;gap:.75rem}.commercial-proposal-download--embedded{gap:.7rem}.commercial-proposal-download>.primary,.commercial-proposal-download>.secondary{align-self:flex-start;margin:0}.commercial-proposal-download-locales{margin:0;padding:0;border:none;min-width:0}.commercial-proposal-download-locales legend{padding:0;margin:0 0 .45rem;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.commercial-proposal-download-locale-list{display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:center}.commercial-proposal-download-locales-hint{margin:.4rem 0 0;font-size:.78rem;line-height:1.35}.client-counter-offer-bulk-option,.commercial-proposal-download-option{display:inline-flex;align-items:center;gap:.45rem;margin:0;font-size:.88rem;line-height:1.3;color:var(--text);cursor:pointer}.commercial-proposal-download-attachments{display:flex;align-items:flex-start;max-width:36rem}.bid-proposal-form-footer .client-counter-offer-bulk-option{flex:1 1 14rem;align-items:center;max-width:28rem;line-height:1.35}.client-counter-offer-bulk-option input,.commercial-proposal-download-option input{flex-shrink:0;width:1rem;height:1rem;margin:0;accent-color:var(--accent)}.bid-proposal-form-footer .client-counter-offer-bulk-option input{margin-top:0}.commercial-proposal-download-attachments span{color:var(--muted)}.form-success{margin:.5rem 0 0;color:#166534;font-size:.9rem}.bid-contract-terms-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--border)}.bid-contract-terms-download-hint{margin:0;font-size:.82rem;flex:1 1 12rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.95rem;cursor:pointer}.bid-line-items{margin-bottom:1rem;padding:1rem;border:1px solid var(--border);border-radius:10px;background:#f8fafc}.bid-line-items .tag-section-label{margin:0 0 .75rem;font-weight:600;color:var(--text)}.bid-line-items input{width:100%;box-sizing:border-box;background:var(--surface)}.bid-line-items>.secondary{margin-top:.35rem}.bid-proposal-form .form-error{margin-top:.75rem}.bid-line-items-list{list-style:none;margin:.5rem 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.bid-line-item-row{display:grid;grid-template-columns:1fr 1.5fr 7rem auto;grid-gap:.5rem;gap:.5rem;align-items:center}@media (max-width:640px){.bid-line-item-row{grid-template-columns:1fr 1fr}.bid-line-item-row .icon-button{grid-column:2;justify-self:end}}.bid-line-items-total{margin:.5rem 0 0;font-size:.9rem}.bid-proposal-total-error{margin:.35rem 0 .75rem}.bid-line-items-hint{margin:0 0 .65rem;font-size:.85rem}.bid-chat{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border);min-width:0;max-width:100%;overflow:hidden}.bid-chat-title{margin:0 0 .25rem;font-size:.95rem}.bid-chat-hint{margin:0 0 .75rem;font-size:.85rem}.bid-chat-messages{display:flex;flex-direction:column;gap:.5rem;max-height:16rem;overflow-y:auto;padding:.75rem;background:var(--surface-muted,rgba(0,0,0,.03));border-radius:.5rem;margin-bottom:.75rem}.bid-chat-message{max-width:85%;align-self:flex-start;padding:.5rem .75rem;border-radius:.5rem;background:var(--card-bg,#fff);border:1px solid var(--border)}.bid-chat-message-mine{align-self:flex-end;background:color-mix(in srgb,var(--accent,#2563eb) 12%,transparent)}.bid-chat-message-body{margin:0;white-space:pre-wrap;font-size:.9rem}.bid-chat-message-time{display:block;margin-top:.25rem;font-size:.75rem;color:var(--muted)}.bid-chat-compose{display:flex;flex-direction:column;gap:.5rem;min-width:0;max-width:100%}.bid-chat-compose textarea{width:100%;max-width:100%;box-sizing:border-box;resize:vertical;min-height:4rem}.bid-line-items-warn{color:#b45309}.bid-breakdown-lines{margin-top:.35rem}.bid-breakdown-grid{list-style:none;margin:.35rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));grid-gap:.5rem;gap:.5rem}.bid-breakdown-card{display:flex;flex-direction:column;gap:.2rem;padding:.55rem .65rem;border-radius:10px;border:1px solid var(--border);background:#f8fafc;min-width:0}.bid-breakdown-card-trade{font-size:.82rem;font-weight:700;color:var(--text);line-height:1.25}.bid-breakdown-card-desc{font-size:.75rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bid-breakdown-card-amount{margin-top:auto;font-size:.85rem;font-weight:600;color:var(--text)}@media (max-width:640px){.bid-application-card-bar{flex-direction:column;align-items:stretch}.bid-application-card-badges{padding:0 .85rem .65rem}.bid-application-card-primary{flex-direction:column;align-items:flex-start;gap:.15rem}}.verification-card{border-color:#c4b5fd}.verification-documents-section{margin-top:1rem}.verification-documents-section .tender-subsection-title{margin:0 0 .5rem}.verification-upload-row{margin-top:.85rem}.contractor-project-hero{position:relative;border-radius:14px;overflow:hidden;margin-bottom:1rem;min-height:200px;background:linear-gradient(120deg,rgba(15,23,42,.8),rgba(30,64,175,.6)),url(/contractor-hero-bg.png) 50%/cover no-repeat}.contractor-project-hero-overlay{position:relative;z-index:1;padding:1.1rem 1.2rem 1.2rem;color:#fff}.contractor-project-hero-kicker{margin:0;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;opacity:.88}.contractor-project-hero h3{margin:.35rem 0 .4rem;font-size:1.35rem;line-height:1.3}.contractor-project-hero-meta{margin:0;font-size:.88rem;opacity:.9}.contractor-project-hero-description{margin:.65rem 0 0;max-width:54ch;font-size:.95rem;line-height:1.5;color:rgba(255,255,255,.95)}.verification-status-line{margin:0 0 1rem}.verification-rejection{margin:0 0 1rem;padding:.75rem 1rem;border-radius:10px;background:#fef2f2;border:1px solid #fecaca}.verification-rejection p{margin:.35rem 0 0}.admin-contractor-list{list-style:none;margin:1rem 0 0;padding:0}.admin-contractor-row{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 0;border:none;border-top:1px solid var(--border);background:transparent;text-align:left;cursor:pointer;font:inherit;color:inherit}.admin-contractor-list li:first-child .admin-contractor-row{border-top:none}.admin-contractor-row:hover{background:var(--accent-muted)}.admin-review-actions{display:grid;grid-gap:.75rem;gap:.75rem;margin-top:1.25rem}.admin-reject-field{display:grid;grid-gap:.35rem;gap:.35rem}.amendments-card{border-color:#e0e7ff}.amendments-card .doc-hint{margin-bottom:.25rem}.amendments-locked-callout{margin:1rem 0 0;padding:.85rem 1rem;border-radius:10px;background:#fffbeb;border:1px solid #fde68a;border-left:4px solid #f59e0b}.amendments-locked-title{margin:0 0 .35rem;font-size:.82rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#92400e}.amendments-locked-text{margin:0;font-size:.94rem;line-height:1.5;color:#78350f}.amendment-form{margin:1rem 0 0}.amendment-form textarea{min-height:6.5rem}.amendment-form select{max-width:280px}.amendment-submit{justify-self:start;margin-top:.15rem}.amendment-process-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin:1rem 0;padding:.85rem 1rem;border-radius:10px;background:var(--accent-muted);border:1px solid #dbeafe}.amendment-process-row .muted{margin:0;flex:1 1 220px}.amendment-list{display:grid;grid-gap:.75rem;gap:.75rem;margin:1rem 0 0;padding:0;list-style:none}.amendment-item{padding:.85rem 1rem;border-radius:10px;border:1px solid var(--border);background:#f8fafc}.amendment-item-header{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem}.amendment-type-pill{display:inline-block;padding:.15rem .55rem;border-radius:999px;background:#e0e7ff;color:#3730a3;font-size:.78rem;font-weight:600}.amendment-date{font-size:.82rem}.amendment-status{margin-left:auto;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.amendment-status.pending{color:#b45309}.amendment-status.processed{color:#047857}.amendment-body{margin:0;line-height:1.55;white-space:pre-wrap;color:var(--text)}.amendment-ai-meta{margin:.45rem 0 0;font-size:.82rem}.amendments-error{margin-top:.75rem}.tender-summary-card .tender-summary-meta{margin-bottom:.75rem}.tender-summary-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-top:.5rem}.tender-summary-lead{margin:0;flex:1 1;min-width:12rem}.tender-summary-cta{flex-shrink:0}.tender-summary-cta:hover{color:#fff}.project-bids-header{margin-bottom:0;padding:1rem 1.15rem;border-radius:14px;border:1px solid var(--border-strong);background:var(--glass-bg-dense);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow-glass)}.project-bids-main{width:100%;max-width:none;margin:0;padding:1rem 1rem 2rem;box-sizing:border-box}.project-bids-layout{display:flex;flex-direction:column;gap:1rem;width:100%}.project-bids-layout>.card,.project-bids-layout>.project-bids-header{margin-bottom:0}.project-bids-duo{display:grid;grid-gap:1rem;gap:1rem;align-items:start;width:100%}.project-bids-duo>.card{min-width:0;margin-bottom:0;height:auto;align-self:stretch}@media (min-width:1100px){.project-bids-duo{grid-template-columns:repeat(2,minmax(0,1fr))}.project-bids-duo:has(>:only-child){grid-template-columns:minmax(0,1fr)}}.project-bids-clarifications-card{border-color:rgba(147,197,253,.55);background:var(--glass-bg-dense)}.project-bids-clarifications-card .client-clarification-panel{margin:0}.page-shell--bids .project-bids-main{padding:1rem 1.25rem 2rem}.project-bids-kicker{margin:0 0 .5rem;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.project-bids-title-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.project-bids-title-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0;flex-wrap:wrap}.project-bids-title{margin:0;font-size:clamp(1.35rem,2.2vw,1.75rem);letter-spacing:-.02em}.project-bids-back{flex-shrink:0}.project-bids-meta{margin-top:.75rem}.bids-compare-card{border-color:rgba(147,197,253,.65);background:var(--glass-bg-dense);box-shadow:var(--shadow-glass)}.bids-compare-table thead th{background:rgba(241,245,249,.72);font-weight:700}.bids-compare-table tbody th{background:rgba(255,255,255,.38);font-weight:600;white-space:nowrap}.bids-compare-header{margin-bottom:.75rem}.bids-compare-hint{margin:.25rem 0 0;font-size:.85rem}.bids-compare-picker{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.85rem}.bids-compare-table-wrap{overflow-x:auto}.bids-compare-table{width:100%;border-collapse:collapse;font-size:.88rem}.bids-compare-table td,.bids-compare-table th{border:1px solid var(--border);padding:.55rem .65rem;text-align:left;vertical-align:top}.bids-compare-text-cell{max-width:14rem;line-height:1.45}.bids-compare-breakdown-cell{min-width:11rem;padding:.4rem .5rem}.bids-compare-breakdown-table{width:100%;border-collapse:collapse;font-size:.8rem}.bids-compare-breakdown-table td{border:none;border-bottom:1px solid var(--border);padding:.35rem .25rem;vertical-align:top}.bids-compare-breakdown-table tr:last-child td{border-bottom:none}.bids-compare-breakdown-trade{width:100%;padding-right:.5rem}.bids-compare-breakdown-trade-name{display:block;font-weight:600;line-height:1.3}.bids-compare-breakdown-desc{display:block;margin-top:.15rem;font-size:.72rem;line-height:1.35;white-space:pre-wrap;overflow-wrap:anywhere}.bids-compare-breakdown-amount{white-space:nowrap;text-align:right;font-weight:600}.bids-compare-breakdown-subtotal td{border-top:1px solid var(--border);border-bottom:none;padding-top:.45rem;font-weight:600;font-size:.78rem}.bids-compare-breakdown-subtotal .bids-compare-breakdown-amount{font-weight:700}.bids-compare-breakdown-divider th{padding-top:.85rem;background:#f3f4f6;border-top:2px solid var(--border);text-align:left;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em}.bids-compare-breakdown-row-label{vertical-align:top;max-width:12rem;line-height:1.35;white-space:normal}.bids-compare-breakdown-subtotal-row td,.bids-compare-breakdown-subtotal-row th{border-top:1px solid var(--border);font-weight:600;background:#fafafa}.bid-analysis-card{border-color:rgba(147,197,253,.65);background:var(--glass-bg-dense);box-shadow:var(--shadow-glass)}.bid-analysis-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.75rem}.bid-analysis-hint{margin:.25rem 0 0;font-size:.85rem}.bid-analysis-empty{margin:0}.bid-analysis-result{display:flex;flex-direction:column;gap:.85rem}.bid-analysis-recommendation{padding:.85rem 1rem;border-radius:12px;background:#f0fdf4;border:1px solid #bbf7d0}.bid-analysis-summary{margin:0;line-height:1.55;font-weight:600}.bid-analysis-pick{margin:.45rem 0 0;font-size:.9rem}.bid-analysis-confidence{font-weight:400}.bid-analysis-subtitle{margin:0 0 .45rem;font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.bid-analysis-reasoning p{margin:0;line-height:1.55}.bid-analysis-comparison-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.65rem;gap:.65rem;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr))}.bid-analysis-comparison-item{border:1px solid var(--border);border-radius:12px;padding:.75rem .85rem;background:#fafafa}.bid-analysis-points{margin-top:.45rem;font-size:.85rem}.bid-analysis-points-label{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.2rem}.bid-analysis-points ul{margin:0;padding-left:1rem}.bid-analysis-points-pro .bid-analysis-points-label{color:#047857}.bid-analysis-points-con .bid-analysis-points-label{color:#b45309}.bid-analysis-points-risk .bid-analysis-points-label{color:#b91c1c}.bid-analysis-generated{margin:0;font-size:.8rem}.verify-email-page{display:flex;justify-content:center;align-items:flex-start;padding-top:2rem;padding-bottom:3rem}.verify-email-card{width:100%;max-width:440px;text-align:center;padding:2rem 1.75rem}.verify-email-icon{display:inline-flex;align-items:center;justify-content:center;width:3.25rem;height:3.25rem;margin:0 auto 1rem;border-radius:50%;font-size:1.5rem;font-weight:700}.verify-email-icon--success{background:var(--success-soft);color:var(--success)}.verify-email-icon--error{background:var(--danger-bg);color:var(--danger)}.verify-email-title{margin:0 0 .65rem;font-size:1.5rem;line-height:1.25}.verify-email-lead{margin:0 0 1.5rem;font-size:.98rem;line-height:1.6}.verify-email-actions{display:flex;justify-content:center;gap:.65rem}.account-page{max-width:720px}.account-page-header{margin-bottom:1.25rem}.account-page-kicker{margin:0 0 .35rem;font-size:.88rem}.materials-page-header{margin:0 0 1.25rem}.materials-page-header h1{margin:0 0 .5rem;font-size:clamp(1.55rem,2.5vw,2rem);letter-spacing:-.02em}.materials-page-lead{margin:0;max-width:58ch;line-height:1.55}.materials-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.35rem}.materials-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.materials-store-card{display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.1rem;text-decoration:none;color:inherit;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:16px;box-shadow:var(--shadow-glass);transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}.materials-store-card:hover{border-color:rgba(96,165,250,.85);box-shadow:var(--shadow-glass),0 12px 28px rgba(37,99,235,.12);transform:translateY(-2px)}.materials-store-card-header{display:flex;align-items:center;gap:.85rem;min-width:0}.materials-store-icon{flex:0 0 auto;width:48px;height:48px;border-radius:12px;border:1px solid var(--glass-border);background:#eef3f8;display:grid;place-items:center;overflow:hidden}.materials-store-icon-image{width:70%;height:70%;object-fit:contain;display:block}.materials-store-icon-fallback{font-size:1.1rem;font-weight:700;letter-spacing:-.02em;color:var(--accent)}.materials-store-heading{min-width:0;flex:1 1 auto}.materials-store-title-row{display:flex;align-items:center;gap:.5rem;min-width:0}.materials-store-title{margin:0;font-size:1.05rem;line-height:1.25;letter-spacing:-.015em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.materials-store-external{flex:0 0 auto;font-size:.72rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--muted);background:rgba(148,163,184,.16);border-radius:999px;padding:.15rem .45rem}.materials-store-visit{margin:.2rem 0 0;font-size:.82rem;font-weight:600}.materials-store-description{margin:0;font-size:.92rem;line-height:1.45;color:var(--text)}.materials-store-tags{display:flex;flex-wrap:wrap;gap:.35rem}.account-page-title{margin:0;font-size:1.75rem}.account-notifications-card,.account-profile-card{margin-bottom:1rem}.account-profile-meta{margin-top:.75rem}.account-profile-hint{margin:1rem 0 0;font-size:.9rem}.account-notifications-header{display:flex;align-items:center;gap:.75rem}.account-saved-badge{font-size:.8rem;font-weight:600;color:var(--success);background:var(--success-soft);padding:.2rem .55rem;border-radius:999px}.account-notification-list{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.65rem}.account-notification-item{border:1px solid var(--border);border-radius:12px;background:#fafafa;padding:.85rem 1rem}.account-notification-toggle{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer}.account-notification-toggle input{margin-top:.2rem;width:1.05rem;height:1.05rem;accent-color:var(--accent)}.account-notification-toggle strong{display:block;margin-bottom:.15rem}.account-notification-desc{display:block;font-size:.88rem;line-height:1.45}.project-lifecycle-card{margin-top:0}.project-detail-sidebar-stack .project-lifecycle-card{padding:1rem 1.05rem 1.1rem}.project-detail-sidebar-stack .project-lifecycle-card .section-title{font-size:1rem;margin-bottom:.5rem}.project-lifecycle-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:.85rem}.modal--wide{max-width:560px}.publish-tender-modal{display:flex;flex-direction:column;width:min(920px,calc(100vw - 2rem));max-width:min(920px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);padding:0;overflow:hidden}.publish-tender-modal-chrome{flex:0 0 auto;padding:1.25rem 1.5rem 0}.publish-tender-modal-subtitle{margin:.45rem 0 .85rem}.publish-tender-modal-form{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.publish-tender-modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 1.5rem 1rem;-webkit-overflow-scrolling:touch}.publish-tender-modal-footer{flex:0 0 auto;margin:0;padding:.9rem 1.5rem 1.25rem;border-top:1px solid var(--border);background:color-mix(in srgb,var(--glass-bg-dense) 92%,#fff)}@media (max-width:640px){.publish-tender-modal{width:calc(100vw - 1rem);max-width:calc(100vw - 1rem);max-height:calc(100vh - 1rem)}.publish-tender-modal-body,.publish-tender-modal-chrome,.publish-tender-modal-footer{padding-left:1rem;padding-right:1rem}}.complete-project-intro{margin:0 0 1rem;line-height:1.5}.complete-project-ratings{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.star-rating-field{display:flex;align-items:center;justify-content:space-between;gap:1rem}.star-rating-label{font-size:.92rem;font-weight:600;flex:1 1;min-width:0}.star-rating-control{display:flex;gap:.15rem;flex-shrink:0}.star-rating-star{background:transparent;border:none;padding:.1rem;font-size:1.35rem;line-height:1;color:#cbd5e1;cursor:pointer}.star-rating-star-active{color:#f59e0b}.star-rating-star:disabled{cursor:not-allowed;opacity:.6}.complete-project-comment textarea{width:100%;min-height:6rem}.complete-project-attachments{margin-top:1rem}.complete-project-attachments-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.complete-project-attachment-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.complete-project-attachment-list li{display:flex;justify-content:space-between;gap:.75rem;font-size:.88rem;padding:.45rem .55rem;border:1px solid var(--border);border-radius:8px;background:#fafafa}.file-input-button{display:inline-flex;align-items:center;cursor:pointer}.cost-breakdown-template-editor{margin-top:1rem}.cost-breakdown-template-hint{margin:.25rem 0 .75rem;font-size:.85rem}.bid-line-item-row--template{grid-template-columns:1fr 1.2fr auto}.contractor-section-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin-bottom:1rem}.contractor-section-header .section-title{margin-bottom:0}.contractor-toggle{display:inline-flex;align-items:center;gap:.45rem;font-size:.9rem;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.contractor-toggle input{width:1rem;height:1rem;accent-color:var(--accent)}.contractor-reviews-summary{margin:0;font-size:.9rem}.contractor-reviews-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.contractor-review-item{padding:1rem 1.1rem;border:1px solid var(--border);border-radius:12px;background:#fafbfd}.contractor-review-item-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem 1rem;margin-bottom:.65rem}.contractor-review-project{font-weight:600;font-size:1rem}.contractor-review-meta{margin:.2rem 0 0;font-size:.85rem}.contractor-review-average{display:flex;align-items:center;gap:.35rem}.contractor-review-average-value{font-weight:700;color:#b45309}.contractor-review-comment{margin:0 0 .75rem;line-height:1.55;white-space:pre-wrap}.contractor-review-ratings{margin:0;display:grid;grid-gap:.35rem;gap:.35rem}.contractor-review-rating-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:.75rem;gap:.75rem;align-items:center;font-size:.85rem}.contractor-review-rating-row dt{margin:0;color:var(--text-muted)}.contractor-review-rating-row dd{margin:0}.contractor-review-stars{display:inline-flex;gap:.05rem;line-height:1}.contractor-review-star{color:#d1d5db;font-size:.95rem}.contractor-review-star-active{color:#f59e0b}.contractor-coverage-notice{padding:.85rem 1rem;border-radius:10px;border:1px solid #bfdbfe;background:#eff6ff;margin-bottom:.85rem}.contractor-coverage-notice-warning{border-color:#fcd34d;background:#fffbeb}.contractor-coverage-notice-title{margin:0 0 .35rem;font-weight:600;color:#92400e}.contractor-coverage-notice-text{margin:0;font-size:.92rem;line-height:1.55;color:#334155}.contractor-coverage-invite{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem;margin-top:.65rem}.contractor-coverage-loading{margin:0 0 .85rem;font-size:.9rem}.admin-subnav{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-bottom:.75rem;font-size:.95rem}.admin-subnav [aria-current=page]{font-weight:600}.admin-filter-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.15rem;padding:.2rem}.admin-email-list{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.5rem}.admin-email-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem .75rem;border:1px solid color-mix(in srgb,var(--border) 88%,#94a3b8);border-radius:8px;background:color-mix(in srgb,var(--glass-bg,#fff) 92%,#f8fafc)}.admin-email-add-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.admin-email-add-row input{flex:1 1 14rem;min-width:0}.admin-filter-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid color-mix(in srgb,var(--border) 88%,#94a3b8);background:color-mix(in srgb,var(--glass-bg,#fff) 88%,#f8fafc);color:#334155;border-radius:999px;padding:.42rem .9rem;font:inherit;font-size:.9rem;line-height:1.2;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.admin-filter-chip:hover{border-color:color-mix(in srgb,var(--accent,#0f766e) 45%,#94a3b8);color:#0f172a}.admin-filter-chip-active{background:color-mix(in srgb,var(--accent,#0f766e) 14%,#fff);border-color:color-mix(in srgb,var(--accent,#0f766e) 55%,#94a3b8);color:color-mix(in srgb,var(--accent,#0f766e) 82%,#0f172a);font-weight:600}.admin-filter-chip-active:hover{border-color:color-mix(in srgb,var(--accent,#0f766e) 70%,#94a3b8);color:color-mix(in srgb,var(--accent,#0f766e) 88%,#0f172a)}.admin-directory-list{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.75rem}.admin-directory-item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--border)}.admin-directory-actions{display:flex;gap:.5rem}.admin-directory-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:.85rem 1rem;gap:.85rem 1rem;margin-bottom:1rem}.admin-directory-form label{display:flex;flex-direction:column;gap:.35rem}.admin-directory-form .checkbox-row{flex-direction:row;align-items:center;gap:.5rem}.directory-kind-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.directory-invite-list{list-style:none;margin:0 0 1.25rem;padding:0;display:flex;flex-direction:column;gap:.5rem;max-height:280px;overflow:auto}.directory-show-all{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:.25rem;cursor:pointer;font-size:.95rem}.invite-directory-modal .directory-show-all{display:inline-flex;grid-template-columns:none;gap:.5rem;align-items:center;width:-moz-fit-content;width:fit-content}.admin-invite-card .primary{margin-top:.75rem}.directory-invite-table-wrap{width:100%;max-width:none;margin:0 -.15rem .35rem;border:1px solid var(--border);border-radius:12px;overflow:auto;max-height:min(42vh,360px);background:color-mix(in srgb,var(--glass-bg-dense,#fff) 88%,#fff)}.directory-invite-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.9rem}.directory-invite-table td:nth-child(2),.directory-invite-table td:nth-child(4),.directory-invite-table th:nth-child(2),.directory-invite-table th:nth-child(4){width:28%}.directory-invite-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1;padding:.65rem .75rem;text-align:left;font-size:.72rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--muted,#64748b);background:color-mix(in srgb,var(--accent-muted,#e8eef8) 70%,#fff);border-bottom:1px solid var(--border)}.directory-invite-table tbody td{padding:.7rem .75rem;vertical-align:middle;border-bottom:1px solid color-mix(in srgb,var(--border) 75%,transparent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.directory-invite-table tbody tr:last-child td{border-bottom:none}.directory-invite-table tbody tr{cursor:pointer;transition:background .12s ease}.directory-invite-table tbody tr:hover{background:color-mix(in srgb,var(--accent-muted,#dbeafe) 55%,transparent)}.directory-invite-table tbody tr.directory-invite-row--selected{background:color-mix(in srgb,var(--accent-muted,#bfdbfe) 80%,#fff)}.directory-invite-col-check{width:2.75rem;text-align:center}.directory-invite-table .directory-invite-col-check{white-space:nowrap}.directory-invite-table input[type=checkbox]{width:1.05rem;height:1.05rem;margin:0;accent-color:var(--accent);cursor:pointer;vertical-align:middle}.directory-invite-company{font-weight:650;color:var(--text)}.directory-invite-email{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.directory-invite-row{display:flex;gap:.75rem;align-items:flex-start;cursor:pointer}.directory-invite-meta{display:block;font-size:.9rem}.directory-manual-invite{margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--border)}.directory-manual-invite .form-row{display:grid;grid-template-columns:1.2fr 1fr;grid-gap:.75rem;gap:.75rem}.invite-directory-modal,.invite-directory-modal.publish-tender-modal{width:min(960px,calc(100vw - 2rem));max-width:min(960px,calc(100vw - 2rem))}.invite-directory-modal .publish-tender-modal-body{padding-left:1.25rem;padding-right:1.25rem}.invite-directory-modal-body{display:flex;flex-direction:column;gap:.85rem}.invite-directory-modal-body .directory-manual-invite h3{margin:0 0 .55rem;font-size:.95rem;font-weight:650}.invite-directory-modal-body .directory-manual-invite input{width:100%;box-sizing:border-box}.guest-invite-notice{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem}.guest-invite-notice p{margin:0;flex:1 1 16rem}@media (max-width:640px){.directory-manual-invite .form-row{grid-template-columns:1fr}.invite-directory-modal.publish-tender-modal{width:calc(100vw - 1rem);max-width:calc(100vw - 1rem)}.directory-invite-table{font-size:.82rem}.directory-invite-table tbody td,.directory-invite-table thead th{padding:.55rem .5rem}}.ant-spinner{position:relative;display:inline-grid;place-items:center;flex-shrink:0;vertical-align:middle}.ant-spinner--sm{width:1.15rem;height:1.15rem}.ant-spinner--md{width:2rem;height:2rem}.ant-spinner--lg{width:3rem;height:3rem}.ant-spinner-orbit{position:absolute;inset:0;border-radius:50%;border-left:2px solid transparent;border-bottom:2px solid transparent;border-top:2px solid transparent;border-top-color:var(--accent);border-right:2px solid transparent;border-right-color:color-mix(in srgb,var(--accent) 45%,transparent);animation:ant-spinner-spin .85s linear infinite}.ant-spinner--lg .ant-spinner-orbit,.ant-spinner--md .ant-spinner-orbit{border-width:2.5px}.ant-spinner-mark{display:grid;place-items:center;width:72%;height:72%;animation:ant-spinner-bob 1.1s ease-in-out infinite}.ant-spinner-logo{width:100%;height:100%;object-fit:contain;display:block}.busy-label{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-width:0}.busy-label-text{line-height:1.2}@keyframes ant-spinner-spin{to{transform:rotate(1turn)}}@keyframes ant-spinner-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6%)}}@media (prefers-reduced-motion:reduce){.ant-spinner-mark,.ant-spinner-orbit{animation:none}.ant-spinner-orbit{border-color:color-mix(in srgb,var(--accent) 55%,transparent);border-top-color:var(--accent)}}.help-hub{display:flex;flex-direction:column;gap:.25rem}.help-role-tabs{margin-bottom:.35rem}.help-section-lead{margin:0 0 1rem;max-width:42rem;line-height:1.5}.help-scenario-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:.85rem;gap:.85rem}.help-scenario{display:flex;flex-direction:column;gap:.75rem;scroll-margin-top:5.5rem}.help-scenario-title{margin:0;font-size:1.05rem;font-weight:650}.help-scenario-steps{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:.45rem;line-height:1.45;color:var(--text)}.help-scenario-action{align-self:flex-start;margin-top:auto}.help-tip{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin:0 0 .85rem;padding:.85rem 1rem;border-radius:14px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));background:color-mix(in srgb,var(--accent-soft) 55%,var(--glass-bg))}.home-verification-banner{flex:0 0 auto;margin:.65rem 1.25rem 0;border-radius:14px;border:1px solid color-mix(in srgb,#b45309 28%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,#fffbeb 92%,#fff),color-mix(in srgb,#fef3c7 78%,#fff));color:#78350f;box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 8px 22px rgba(120,53,15,.07)}.home-verification-banner--rejected{border-color:color-mix(in srgb,#b91c1c 32%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,#fff1f2 92%,#fff),color-mix(in srgb,#fee2e2 80%,#fff));color:#7f1d1d;box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 8px 22px rgba(127,29,29,.07)}.home-verification-banner-inner{display:flex;align-items:center;gap:.85rem 1rem;padding:.85rem .95rem;flex-wrap:wrap}.home-verification-banner-icon{flex:0 0 auto;display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:999px;background:color-mix(in srgb,currentColor 10%,#fff);border:1px solid color-mix(in srgb,currentColor 18%,transparent);color:inherit}.home-verification-banner-copy{display:grid;grid-gap:.2rem;gap:.2rem;min-width:min(100%,20rem);flex:1 1 16rem}.home-verification-banner-title{font-size:.95rem;font-weight:700;line-height:1.35;letter-spacing:-.01em}.home-verification-banner-text{margin:0;font-size:.86rem;line-height:1.45;opacity:.9;max-width:52rem}.home-verification-banner-actions{display:flex;align-items:center;gap:.45rem;margin-left:auto;flex:0 0 auto}.home-verification-banner-cta{text-decoration:none;white-space:nowrap;box-shadow:0 6px 14px rgba(15,23,42,.08)}.home-verification-banner-dismiss{display:grid;place-items:center;width:2.1rem;height:2.1rem;padding:0;border-radius:999px;border:1px solid color-mix(in srgb,currentColor 16%,transparent);background:color-mix(in srgb,#fff 70%,transparent);color:inherit;cursor:pointer;opacity:.78;transition:opacity .15s ease,background .15s ease,border-color .15s ease}.home-verification-banner-dismiss:hover{opacity:1;background:#fff;border-color:color-mix(in srgb,currentColor 28%,transparent)}.home-verification-banner-dismiss:focus-visible{outline:2px solid color-mix(in srgb,currentColor 45%,transparent);outline-offset:2px}@media (max-width:640px){.home-verification-banner{margin-left:1rem;margin-right:1rem}.home-verification-banner-inner{align-items:flex-start}.home-verification-banner-actions{width:100%;margin-left:0;padding-left:calc(2.4rem + .85rem)}.home-verification-banner-cta{flex:1 1 auto;text-align:center}}.supply-verification-inline{margin:.65rem 0 0;padding:.65rem .75rem;border-radius:10px;border:1px solid color-mix(in srgb,#b45309 30%,var(--border));background:color-mix(in srgb,#fef3c7 70%,#fff);font-size:.88rem;line-height:1.45;color:#78350f}.help-tip-body{display:flex;flex-direction:column;gap:.35rem;min-width:0}.help-tip-title{margin:0;font-size:.98rem;font-weight:650}.help-tip-text{margin:0;line-height:1.45;font-size:.92rem}.help-tip-link{align-self:flex-start;margin-top:.15rem}.help-tip-dismiss{flex-shrink:0;margin-top:-.15rem}