@font-face{font-family:Syne;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/0da54fcd0470ea43-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Syne;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/680a7121f7a85e3f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Syne;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8a1d8947e5852e30-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Syne;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/0da54fcd0470ea43-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Syne;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/680a7121f7a85e3f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Syne;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/8a1d8947e5852e30-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Syne Fallback;src:local("Arial");ascent-override:93.93%;descent-override:27.93%;line-gap-override:0.00%;size-adjust:98.47%}.__className_387f85{font-family:Syne,Syne Fallback;font-style:normal}.__variable_387f85{--font-syne:"Syne","Syne Fallback"}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Plus Jakarta Sans Fallback;src:local("Arial");ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.00%;size-adjust:104.98%}.__className_96bb4e{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.__variable_96bb4e{--font-jakarta:"Plus Jakarta Sans","Plus Jakarta Sans Fallback"}:root{color-scheme:light;--font-display:var(--font-syne),system-ui,sans-serif;--font-sans:var(--font-jakarta),system-ui,sans-serif;--font-ui:var(--font-jakarta),system-ui,sans-serif;--bg:#f7f7f5;--surface:#ffffff;--ink:#080808;--yellow:#ffd600;--text:var(--ink);--text-muted:#6b6560;--border:rgba(8,8,8,0.1);--border-strong:rgba(8,8,8,0.16)}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{font-family:var(--font-sans);color:var(--text);-webkit-font-smoothing:antialiased}.landing,body{background:var(--bg)}.landing{position:relative;display:grid;grid-template-rows:1fr auto;min-height:100dvh;overflow:hidden}.grid-canvas{width:100%;height:100%}.grid-canvas,.landing-wash{position:absolute;inset:0;pointer-events:none}.landing-wash{background:radial-gradient(ellipse 70% 60% at 50% 30%,transparent 35%,rgba(247,247,245,.85) 100%)}.hero{position:relative;z-index:1;display:flex;align-items:center;padding:clamp(2rem,6vh,4rem) clamp(1.5rem,5vw,4rem) 0}.hero-title{margin:0;display:flex;flex-direction:column;font-family:var(--font-display);font-size:clamp(3.25rem,17vw,15rem);font-weight:800;letter-spacing:-.04em;line-height:.88;text-transform:lowercase;color:var(--text)}.hero-line{display:block}.hero-line-accent{color:var(--yellow)}.hero-footer{position:relative;z-index:1;padding:clamp(1.5rem,4vh,2.5rem) clamp(1.5rem,5vw,4rem) clamp(2rem,6vh,3.5rem)}.actions{display:flex;flex-direction:column;align-items:stretch;gap:.75rem;width:min(100%,320px)}.btn{display:inline-flex;align-items:center;justify-content:center;height:3rem;padding:0 1.75rem;border-radius:.625rem;font-family:var(--font-ui);font-size:.9375rem;font-weight:600;letter-spacing:-.02em;text-decoration:none;transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}.btn:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}.btn-primary{background:var(--yellow);color:var(--ink);border:1px solid var(--yellow)}.btn-primary:hover{background:#ffe24d;border-color:#ffe24d;transform:translateY(-1px)}.btn-ghost{background:var(--surface);color:var(--text);border:1px solid var(--border-strong)}.btn-ghost:hover{border-color:var(--yellow);color:var(--ink);transform:translateY(-1px)}.btn-ghost:active,.btn-primary:active{transform:translateY(0)}@media (min-width:560px){.actions{flex-direction:row;width:auto;gap:.875rem}.btn{min-width:10.5rem}}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.login-stub{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;background:var(--bg);font-family:var(--font-sans);color:var(--text)}.login-stub h1{margin:0;font-family:var(--font-display);font-size:clamp(1.75rem,5vw,2.5rem);font-weight:800;letter-spacing:-.04em;text-transform:lowercase}.login-stub a{font-family:var(--font-ui);color:var(--text-muted);font-size:.9375rem;font-weight:500;letter-spacing:-.015em;text-decoration:none}.login-stub a:hover{color:var(--ink)}.auth-shell{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:2rem 1.25rem;background:var(--bg)}.auth-card{width:min(100%,420px);padding:2rem 1.75rem 1.75rem;border-radius:1rem;border:1px solid var(--border);background:var(--surface);box-shadow:0 1px 2px rgba(8,8,8,.04)}.auth-eyebrow,.dashboard-eyebrow{margin:0 0 .5rem;font-family:var(--font-ui);font-size:.75rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#9a8500}.auth-title{margin:0;font-family:var(--font-display);font-size:1.75rem;font-weight:800;letter-spacing:-.04em;text-transform:lowercase}.auth-lead{margin:.75rem 0 1.5rem;font-size:.9375rem;line-height:1.5;color:var(--text-muted)}.auth-form{gap:1rem}.auth-form,.field{display:flex;flex-direction:column}.field{gap:.375rem;font-family:var(--font-ui);font-size:.8125rem;font-weight:500;color:var(--text-muted)}.field input{height:2.75rem;padding:0 .875rem;border-radius:.5rem;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-family:var(--font-sans);font-size:.9375rem}.field input:focus{outline:2px solid var(--yellow);outline-offset:1px;border-color:var(--yellow)}.auth-error{margin:0;font-size:.875rem;color:#c92a2a}.auth-submit{width:100%;margin-top:.25rem;cursor:pointer;border:none}.auth-submit:disabled{opacity:.65;cursor:wait}.auth-back{display:inline-block;margin-top:1.25rem;font-family:var(--font-ui);font-size:.875rem;color:var(--text-muted);text-decoration:none}.auth-back:hover{color:var(--ink)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dashboard-shell{display:flex;min-height:100dvh;background:var(--bg)}.dashboard-sidebar{display:flex;flex-direction:column;flex-shrink:0;width:min(100%,16.5rem);padding:1.5rem 1.25rem;border-right:1px solid var(--border);background:var(--surface)}.sidebar-brand{display:flex;align-items:center;gap:.75rem;margin-bottom:2rem}.sidebar-brand-mark{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:.625rem;background:var(--yellow);color:var(--ink);font-size:.875rem;letter-spacing:-.04em}.sidebar-brand-mark,.sidebar-brand-name{font-family:var(--font-display);font-weight:800;text-transform:lowercase}.sidebar-brand-name{margin:0;font-size:.9375rem;letter-spacing:-.03em;line-height:1.2}.sidebar-brand-role{margin:.15rem 0 0;font-family:var(--font-ui);font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.sidebar-nav{display:flex;flex-direction:column;gap:.35rem;flex:1 1}.sidebar-link{width:100%;padding:.65rem .875rem;border:none;border-radius:.5rem;background:transparent;color:var(--text-muted);font-family:var(--font-ui);font-size:.9375rem;display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;font-weight:600;letter-spacing:-.02em;text-align:left;cursor:pointer;transition:background .15s ease,color .15s ease}.sidebar-link:hover{background:var(--bg);color:var(--ink)}.sidebar-link.is-active{background:rgba(255,214,0,.28);color:var(--ink)}.sidebar-link:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}.sidebar-link-title{font-weight:600;line-height:1.3}.sidebar-link-meta{font-size:.75rem;font-weight:500;color:var(--text-muted)}.sidebar-empty{margin:0;padding:.5rem .75rem;font-size:.875rem;color:var(--text-muted)}.sidebar-footer{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border)}.sidebar-user{margin:0 0 .875rem;display:flex;flex-direction:column;gap:.15rem}.sidebar-user-label{font-family:var(--font-ui);font-size:.6875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.sidebar-user-name{font-family:var(--font-ui);font-size:.875rem;font-weight:700;color:var(--ink)}.sidebar-signout{width:100%;height:2.5rem;font-size:.875rem}.dashboard-content{flex:1 1;min-width:0;padding:clamp(1.5rem,4vw,2.5rem)}.dashboard-topbar{margin-bottom:1.75rem}.dashboard-page-title{margin:0;font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:800;letter-spacing:-.04em;text-transform:lowercase;line-height:1.05}.dashboard-page-lead{margin:.5rem 0 0;font-size:.9375rem;color:var(--text-muted);max-width:36rem;line-height:1.5}.dashboard-main{max-width:52rem}.project-tab-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;max-width:52rem}.project-tab{padding:.5rem 1rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-muted);font-family:var(--font-ui);font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.project-tab:hover{border-color:var(--border-strong);color:var(--ink)}.project-tab.is-active{border-color:rgba(154,133,0,.45);background:rgba(255,214,0,.22);color:var(--ink)}.project-tab:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}.project-progress{margin-bottom:1.75rem;max-width:52rem}.project-progress-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.35rem 1rem;margin-bottom:.65rem}.project-progress-label{margin:0;font-family:var(--font-ui);font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.project-progress-current{margin:0;font-size:.875rem;color:#3d3a36}.project-progress-track{height:.5rem;border-radius:999px;background:var(--border);overflow:hidden}.project-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--yellow),#e6c200);transition:width .35s ease}.dashboard-mobile-bar,.dashboard-scrim,.sidebar-close{display:none}@media (max-width:720px){.dashboard-shell{flex-direction:column}.dashboard-mobile-bar{position:-webkit-sticky;position:sticky;top:0;z-index:25;display:flex;gap:.75rem;padding:.65rem .85rem;border-bottom:1px solid var(--border)}.dashboard-menu-btn,.dashboard-mobile-bar{align-items:center;background:var(--surface)}.dashboard-menu-btn{display:inline-flex;gap:.5rem;padding:.45rem .75rem .45rem .6rem;border:1px solid var(--border-strong);border-radius:.55rem;color:var(--ink);font-family:var(--font-ui);font-size:.8125rem;font-weight:600;cursor:pointer}.dashboard-menu-btn:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}.dashboard-menu-icon{display:inline-flex;flex-direction:column;justify-content:space-between;width:1.05rem;height:.75rem}.dashboard-menu-icon span{display:block;height:2px;border-radius:2px;background:var(--ink)}.dashboard-menu-label{line-height:1}.dashboard-mobile-brand{display:inline-flex;align-items:center;gap:.55rem;margin-left:auto}.dashboard-mobile-brand .sidebar-brand-mark{width:1.85rem;height:1.85rem;font-size:.7rem}.dashboard-mobile-brand-name{font-family:var(--font-display);font-size:.875rem;font-weight:800;letter-spacing:-.03em;text-transform:lowercase;color:var(--ink)}.dashboard-scrim{display:block;position:fixed;inset:0;z-index:40;background:rgba(20,18,16,.5);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .2s ease}.dashboard-scrim.is-visible{opacity:1;pointer-events:auto}.dashboard-sidebar{position:fixed;top:0;left:0;bottom:0;z-index:50;width:min(85vw,20rem);padding:1.25rem 1.1rem 1.1rem;border-right:1px solid var(--border);border-bottom:none;background:var(--surface);box-shadow:12px 0 32px rgba(8,8,8,.18);transform:translateX(-102%);transition:transform .24s ease;overflow-y:auto;-webkit-overflow-scrolling:touch}.dashboard-sidebar.is-open{transform:translateX(0)}.sidebar-brand{margin-bottom:1.35rem;padding-right:2.25rem;position:relative}.sidebar-close{display:inline-flex;align-items:center;justify-content:center;position:absolute;top:-.25rem;right:-.35rem;width:2rem;height:2rem;border:none;background:transparent;color:var(--text-muted);font-size:1.65rem;line-height:1;cursor:pointer;border-radius:.4rem}.sidebar-close:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}.sidebar-nav{gap:.35rem}.sidebar-link{width:100%}.dashboard-content{padding:1.25rem 1rem 2rem}.dashboard-topbar{margin-bottom:1.25rem}.dashboard-page-lead{font-size:.875rem}.project-tab-nav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin-bottom:1.25rem;padding-bottom:.25rem}.project-tab-nav::-webkit-scrollbar{display:none}.project-tab{flex:0 0 auto;padding:.45rem .9rem;font-size:.8125rem}.project-progress{margin-bottom:1.35rem}.card{padding:1rem 1.1rem}.card-head{gap:.6rem}.card-head h3{font-size:1.0625rem}.card-badges{justify-content:flex-start}.contract-viewer{margin-top:1.25rem}.contract-viewer-top{padding:.9rem 1rem .75rem;gap:.65rem}.contract-viewer-top-actions{width:100%;gap:.6rem}.contract-accept-btn-top{flex:1 1;justify-content:center;min-width:0}.contract-viewer-doc-title{font-size:1rem}.contract-viewer-toolbar{padding:.5rem .85rem;gap:.5rem}.contract-viewer-file{flex:1 1 100%}.contract-viewer-tools{flex:1 1 100%;justify-content:flex-end}.contract-tool-btn{padding:.35rem .7rem;font-size:.75rem}.contract-viewer-stage{padding:.85rem .85rem 1rem}.contract-viewer-page-shadow{left:1.15rem;right:1.15rem;top:1.15rem}.contract-pdf-frame{height:min(60vh,30rem)}.contract-viewer-footer,.contract-viewer-footer-compact{padding:.75rem 1rem .85rem}.payment-card{padding:1.35rem 1.1rem 1.2rem}.payment-amount{font-size:1.65rem}.payment-details-btn{width:100%;min-width:0}.timeline-item{grid-template-columns:.75rem 1fr;gap:0 .85rem;padding-bottom:1.15rem}.timeline-item:not(:last-child):before{left:.3125rem;top:1.15rem}.timeline-marker{width:.75rem;height:.75rem}.timeline-row h3{font-size:.9375rem}}@media (max-width:480px){.dashboard-sidebar{padding:.6rem .85rem .55rem}.sidebar-brand-name{font-size:.875rem}.sidebar-brand-role{font-size:.625rem}.dashboard-content{padding:1rem .85rem 1.75rem}.dashboard-page-title{font-size:1.5rem}.card{padding:.9rem 1rem;border-radius:.65rem}.card-head h3{font-size:1rem}.badge{font-size:.625rem;padding:.15rem .45rem}.contract-viewer-top{padding:.8rem .85rem .65rem}.contract-viewer-doc-title{font-size:.9375rem}.contract-status-circle{width:2.25rem;height:2.25rem}.contract-viewer-toolbar{padding:.45rem .75rem}.contract-pdf-filename{font-size:.75rem}.contract-viewer-stage{padding:.65rem .65rem .85rem}.contract-pdf-frame{height:min(56vh,26rem);border-radius:.4rem}.payment-card{padding:1.15rem .9rem 1rem;border-radius:.85rem}.payment-card-title{font-size:.9375rem}.payment-amount{font-size:1.5rem}.payment-note{font-size:.8125rem;margin-bottom:1rem}.payment-status-pill{padding:.4rem .9rem;font-size:.6875rem}.pay-modal{max-height:min(92vh,40rem)}.pay-method-row{grid-template-columns:5.5rem 1fr;font-size:.8125rem}}.panel-title{margin:0 0 1.25rem;font-family:var(--font-display);font-size:1.125rem;font-weight:700;letter-spacing:-.03em;text-transform:lowercase;color:var(--text-muted)}.panel-empty{color:var(--text-muted);font-size:.9375rem}.card-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.card{padding:1.25rem 1.35rem;border-radius:.75rem;border:1px solid var(--border);background:var(--surface);box-shadow:0 1px 2px rgba(8,8,8,.04)}.card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.card-head h3{margin:0;font-family:var(--font-display);font-size:1.125rem;font-weight:700;letter-spacing:-.03em}.card-meta{margin:.5rem 0 .75rem;font-size:.8125rem;color:var(--text-muted)}.card-body{margin:0;line-height:1.55;font-size:.9375rem;color:#3d3a36}.badge{display:inline-flex;padding:.2rem .55rem;border-radius:999px;font-family:var(--font-ui);font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--border-strong);color:var(--text-muted)}.badge-active{border-color:rgba(154,133,0,.35);color:#7a6a00;background:rgba(255,214,0,.15)}.badge-price{border-color:var(--border-strong);color:#2a2825;background:#f5f3ee}.card-badges{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}.panel-spaced{margin-top:2rem}.card-meta-tight{margin-top:.75rem;margin-bottom:0}.btn-sm{padding:.35rem .75rem;font-size:.8125rem}.contract-viewer{margin-top:1.75rem}.contract-viewer-chrome{border:1px solid var(--border-strong);border-radius:1rem;overflow:hidden;background:linear-gradient(180deg,#f8f6f1,#ece9e2);box-shadow:0 1px 2px rgba(8,8,8,.04),0 12px 40px rgba(8,8,8,.08)}.contract-viewer-top{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem;padding:1.15rem 1.35rem .85rem;border-bottom:1px solid var(--border);background:var(--surface)}.contract-viewer-top-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem .85rem}.contract-status-circle{width:2.75rem;height:2.75rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.contract-status-circle.is-pending{border:2px dashed #b8b4ac;background:#f5f3ee}.contract-status-circle.is-loading{border:2px solid rgba(154,133,0,.45);background:rgba(255,214,0,.2)}.contract-status-circle.is-done{background:linear-gradient(180deg,#22b564,#1a9d52);border:2px solid #168a47;color:#fff;box-shadow:0 0 0 3px rgba(26,157,82,.22),0 4px 12px rgba(26,157,82,.35)}.contract-accept-tick{display:block;flex-shrink:0}.contract-status-spinner{width:1.15rem;height:1.15rem;border:2px solid rgba(122,106,0,.25);border-top-color:#7a6a00;border-radius:50%;animation:contract-spin .7s linear infinite}@keyframes contract-spin{to{transform:rotate(1turn)}}.contract-accept-summary{min-width:0}.contract-accept-summary-title{margin:0;font-family:var(--font-ui);font-size:.9375rem;font-weight:700;color:#1a6b3c;line-height:1.2}.contract-accept-summary-date{margin:.15rem 0 0;font-size:.8125rem;color:var(--text-muted)}.contract-accept-btn-top{display:inline-flex;align-items:center;gap:.4rem;min-width:auto;padding:.55rem 1rem;font-size:.875rem}.contract-viewer-error-top{margin:0;padding:.5rem 1.35rem;background:#fff5f5;border-bottom:1px solid #f0d4d4}.contract-viewer-footer-compact{padding:.75rem 1.35rem;border-top:1px solid var(--border);background:#f0faf4}.contract-viewer-footer-compact p{margin:0;font-size:.875rem;color:#1a6b3c}.contract-viewer-label{display:block;font-family:var(--font-ui);font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.2rem}.contract-viewer-doc-title{margin:0;font-family:var(--font-display);font-size:1.125rem;font-weight:700;letter-spacing:-.03em;line-height:1.25}.contract-viewer-status{display:inline-flex;align-items:center;padding:.35rem .75rem;border-radius:999px;font-family:var(--font-ui);font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.contract-viewer-status.is-pending{background:rgba(255,214,0,.22);border:1px solid rgba(154,133,0,.35);color:#7a6a00}.contract-viewer-status.is-accepted{background:rgba(26,107,60,.12);border:1px solid rgba(26,107,60,.35);color:#1a6b3c}.contract-viewer-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem 1rem;background:#2f2c28;color:#f5f3ee}.contract-viewer-file{display:flex;align-items:center;gap:.6rem;min-width:0}.contract-pdf-icon{display:inline-flex;padding:.2rem .4rem;border-radius:.3rem;background:linear-gradient(180deg,#e74c3c,#c0392b);font-family:var(--font-ui);font-size:.625rem;font-weight:700;letter-spacing:.05em;box-shadow:0 1px 2px rgba(0,0,0,.25)}.contract-pdf-filename{font-family:var(--font-ui);font-size:.8125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.92}.contract-viewer-tools{display:flex;flex-wrap:wrap;gap:.4rem}.contract-tool-btn{padding:.4rem .85rem;border:1px solid rgba(255,255,255,.18);border-radius:.45rem;background:rgba(255,255,255,.06);color:#f5f3ee;font-family:var(--font-ui);font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.contract-tool-btn:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28)}.contract-viewer-stage{position:relative;padding:1.35rem 1.35rem 1.5rem;background:radial-gradient(circle at 50% 0,rgba(255,214,0,.08),transparent 55%),#5c5a56}.contract-viewer-page-shadow{position:absolute;left:1.75rem;right:1.75rem;top:1.65rem;height:.75rem;border-radius:50%;background:rgba(0,0,0,.35);filter:blur(8px);pointer-events:none}.contract-pdf-frame{position:relative;z-index:1;display:block;width:100%;height:min(68vh,40rem);border:none;border-radius:.5rem;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.08),0 16px 48px rgba(0,0,0,.28)}.contract-viewer-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.35rem 1.2rem;background:var(--surface);border-top:1px solid var(--border)}.contract-viewer-footer-text{flex:1 1;min-width:min(100%,16rem)}.contract-viewer-footer-text p{margin:0;font-size:.875rem;line-height:1.5;color:#3d3a36}.contract-viewer-error{margin-top:.5rem!important;color:#a32a2a!important;font-size:.8125rem!important}.contract-accept-btn{min-width:11rem;padding:.7rem 1.25rem;border:none;border-radius:.55rem;background:var(--yellow);color:var(--ink);font-family:var(--font-ui);font-size:.9375rem;font-weight:700;cursor:pointer;box-shadow:0 2px 0 rgba(154,133,0,.35);transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.contract-accept-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 3px 0 rgba(154,133,0,.35)}.contract-accept-btn:disabled{cursor:default}.contract-accept-btn.is-accepted{background:#e8f5ee;color:#1a6b3c;border:1px solid rgba(26,107,60,.35);box-shadow:none}.payment-list{list-style:none;margin:0;padding:0;gap:1.25rem}.payment-card,.payment-list{display:flex;flex-direction:column}.payment-card{align-items:center;text-align:center;padding:1.75rem 1.5rem 1.5rem;border-radius:1rem;border:1px solid var(--border);background:var(--surface);box-shadow:0 1px 2px rgba(8,8,8,.04)}.payment-card-pending{background:linear-gradient(180deg,#fffef8 0,var(--surface) 55%);border-color:rgba(154,133,0,.22)}.payment-card-paid{background:linear-gradient(180deg,#f6fcf8 0,var(--surface) 55%);border-color:rgba(26,107,60,.2)}.payment-card-title{margin:0 0 .85rem;font-family:var(--font-display);font-size:1.05rem;font-weight:700;letter-spacing:-.02em;max-width:22rem}.payment-status-center{display:flex;justify-content:center;width:100%;margin-bottom:1rem}.payment-status-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem 1.1rem;border-radius:999px;font-family:var(--font-ui);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.payment-status-pill-pending{background:rgba(255,214,0,.35);border:1px solid rgba(154,133,0,.45);color:#6b5c00;box-shadow:0 2px 12px rgba(255,214,0,.2)}.payment-status-pill-paid{background:rgba(26,157,82,.14);border:1px solid rgba(26,107,60,.35);color:#1a6b3c}.payment-status-dot{width:.5rem;height:.5rem;border-radius:50%;background:currentColor;flex-shrink:0}.payment-status-dot-pulse{animation:payment-pulse 1.6s ease-in-out infinite}@keyframes payment-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.85)}}.payment-amount{margin:0 0 .4rem;font-family:var(--font-display);font-size:2rem;font-weight:700;letter-spacing:-.04em;line-height:1.1}.payment-meta{margin:0 0 .65rem;font-size:.8125rem;color:var(--text-muted)}.payment-note{margin:0 0 1.25rem;max-width:24rem;font-size:.875rem;line-height:1.45;color:#3d3a36}.payment-details-btn{min-width:11rem;border-color:var(--border-strong);font-weight:600}.payment-received{margin:0;font-size:.875rem;font-weight:600;color:#1a6b3c}.pay-modal-backdrop{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:rgba(20,18,16,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.pay-modal{width:min(100%,28rem);max-height:min(90vh,36rem);overflow:auto;border-radius:1rem;border:1px solid var(--border-strong);background:var(--surface);box-shadow:0 24px 64px rgba(8,8,8,.2)}.pay-modal-wide{width:min(100%,32rem)}.pay-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.35rem .75rem;border-bottom:1px solid var(--border)}.pay-modal-eyebrow{margin:0 0 .25rem;font-family:var(--font-ui);font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.pay-modal-title{margin:0;font-family:var(--font-display);font-size:1.125rem;font-weight:700}.pay-modal-close{border:none;background:transparent;font-size:1.5rem;line-height:1;color:var(--text-muted);cursor:pointer;padding:.15rem .35rem}.pay-modal-amount{margin:0;padding:1rem 1.35rem 0;font-size:.9375rem}.pay-modal-reference{margin:.5rem 0 0;padding:0 1.35rem;font-size:.8125rem;color:var(--text-muted)}.pay-method-list{list-style:none;margin:1rem 0 0;padding:0 1.35rem;display:flex;flex-direction:column;gap:.65rem}.pay-method-card{padding:.85rem 1rem;border-radius:.65rem;border:1px solid var(--border);background:#faf9f6}.pay-method-title{margin:0 0 .5rem;font-family:var(--font-display);font-size:.9375rem;font-weight:700;letter-spacing:-.02em}.pay-method-details{margin:0}.pay-method-row{display:grid;grid-template-columns:7.5rem 1fr;grid-gap:.35rem .75rem;gap:.35rem .75rem;font-size:.875rem;line-height:1.4;padding:.2rem 0}.pay-method-row dt{margin:0;color:var(--text-muted);font-weight:500}.pay-method-row dd{margin:0;font-weight:600;color:var(--ink);word-break:break-word}.pay-modal-note{margin:1rem 0 0;padding:0 1.35rem;font-size:.8125rem;color:var(--text-muted)}.pay-modal-footer{padding:1.25rem 1.35rem 1.35rem;display:flex;justify-content:flex-end}.timeline{list-style:none;margin:0;padding:0}.timeline-item{display:grid;grid-template-columns:1rem 1fr;grid-gap:0 1.25rem;gap:0 1.25rem;padding-bottom:1.5rem;position:relative}.timeline-item:not(:last-child):before{content:"";position:absolute;left:.4375rem;top:1.25rem;bottom:0;width:2px;background:var(--border)}.timeline-marker{width:.875rem;height:.875rem;margin-top:.35rem;border-radius:50%;border:2px solid var(--border-strong);background:var(--surface)}.timeline-item.status-completed .timeline-marker{border-color:var(--yellow);background:var(--yellow)}.timeline-item.status-in_progress .timeline-marker{border-color:var(--yellow);box-shadow:0 0 0 3px rgba(255,214,0,.35)}.timeline-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}.timeline-row h3{margin:0;font-family:var(--font-display);font-size:1rem;font-weight:700;letter-spacing:-.02em}.timeline-date{margin:.35rem 0 .5rem;font-size:.8125rem;color:var(--text-muted)}.timeline-desc{margin:0;font-size:.9375rem;line-height:1.5;color:#3d3a36}