.portal-shell{padding:16px 24px 40px}.portal-header{background:#0e1c2bf5;border:1px solid #445766;border-radius:14px;align-items:center;gap:28px;max-width:1480px;min-height:66px;margin:0 auto 20px;padding:16px 24px;display:flex}.portal-header .wordmark{letter-spacing:-1.3px;font-size:27px}.portal-header-label{font:10px var(--font-mono,monospace);color:#9ab4c2;letter-spacing:1.4px}.portal-header nav{align-items:center;gap:22px;margin-left:auto;font-size:13px;display:flex}.portal-user{color:#8be0d3}.portal-plain{color:#b7c7cf;cursor:pointer;font:inherit;background:0 0;border:0;padding:5px 0;font-size:13px}.portal-plain:hover,.portal-shell a:hover{color:#aaf2e8}.portal-shell button:disabled{cursor:wait;opacity:.55}.portal-shell :focus-visible{outline-offset:4px;outline:2px solid #8be0d3}.portal-alerts{z-index:40;max-width:1480px;margin:0 auto;position:sticky;top:12px}.portal-proposal,#conversation,#payments,#delivery,#operator-tools{scroll-margin-top:110px}.project-section-nav{flex-wrap:wrap;gap:12px;margin:18px 0 24px;display:flex}.project-section-nav a{color:#b6e5df;background:#142b3a;border:1px solid #445c6b;border-radius:7px;padding:8px 12px;font-size:13px}.portal-shell .project-section-nav>a{display:inline-flex}.portal-shell .portal-header nav>.portal-admin-link{display:inline}.portal-header nav{flex-wrap:wrap}.admin-overview h1,.customer-dashboard h1{margin:16px 0;font-size:clamp(28px,3vw,40px);line-height:1.15}.dashboard-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.dashboard-heading .button{flex-shrink:0;min-height:46px}.dashboard-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px;display:grid}.dashboard-summary>div{background:#17303e;border:1px solid #435c6c;border-radius:10px;padding:18px}.dashboard-summary strong{color:#8ee1d3;margin-bottom:8px;font-size:28px;display:block}.dashboard-summary span{color:#c4d8df;font-size:12px}.dashboard-projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0;display:grid}.dashboard-project{color:#dae8eb;text-align:left;font:inherit;cursor:pointer;overflow-wrap:anywhere;background:#142b3bf2;border:1px solid #435c6c;border-radius:12px;padding:24px}.dashboard-project:hover{border-color:#8ee1d3}.dashboard-project-top,.dashboard-project-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.dashboard-project h2{margin:24px 0 12px;font-size:23px}.dashboard-project p{color:#b8cbd5;line-height:1.7}.dashboard-project-foot{color:#afc5cf;margin-top:28px;font-size:12px}.dashboard-project-foot strong{color:#8ee1d3}.dashboard-unread{color:#f4b379;font-size:12px}.dashboard-empty{max-width:880px}.dashboard-empty h2{margin-top:24px;font-size:clamp(24px,3vw,32px)}.dashboard-empty-icon{color:#8ee1d3;font-size:38px}@media (max-width:700px){.dashboard-overview .portal-sidebar{display:none}.dashboard-projects{grid-template-columns:1fr}.dashboard-summary{gap:8px}.dashboard-summary>div{padding:12px}.dashboard-summary span{font-size:11px}.dashboard-project{padding:20px}}.admin-metrics{grid-template-columns:repeat(4,1fr);gap:12px;margin:28px 0;display:grid}.admin-metrics button{color:#d3e8eb;text-align:left;cursor:pointer;background:#17303e;border:1px solid #435c6c;border-radius:10px;padding:20px}.admin-metrics strong{color:#8ee1d3;margin-bottom:8px;font-size:30px;display:block}.admin-metrics span{font-size:12px}.admin-filters{margin:24px 0}.admin-filters label{gap:9px;font-size:13px;display:grid}.admin-filters input,.admin-filters select{color:#e0eded;font:inherit;background:#102635;border:1px solid #476170;border-radius:7px;padding:12px}.admin-queue{gap:12px;display:grid}.admin-project-row{color:#dae8eb;cursor:pointer;text-align:left;font:inherit;background:#142b3b;border:1px solid #425a6a;border-radius:10px;grid-template-columns:1.2fr 1fr 1fr auto;align-items:center;gap:15px;padding:22px;display:grid}.admin-project-row:hover{border-color:#90dccf}.admin-project-row strong{margin-bottom:8px;font-size:17px;display:block}.admin-project-row>div>span:not(.portal-stage){font-size:12px;display:block}.admin-project-row>span{font-size:12px}.admin-unread{color:#f4b379;margin-top:9px}.conversation-messages{gap:12px;max-height:540px;margin:22px 0;padding:0;list-style:none;display:grid;overflow-y:auto}.conversation-messages li{background:#0f2534;border:1px solid #3b5363;border-radius:9px;padding:16px}.conversation-messages .message-team{background:#193a42;border-left:3px solid #83d7c9}.conversation-messages li>div{flex-wrap:wrap;justify-content:space-between;gap:14px;display:flex}.conversation-messages strong{font-size:13px}.conversation-messages strong span,.conversation-messages time{color:#acbfca;font-size:11px}.conversation-messages p{margin-top:12px;line-height:1.7}.payment-installments{gap:18px;margin:24px 0;padding:0;list-style:none;display:grid}.payment-installments>li{border-top:1px solid #48616d;padding-top:18px}.installment-heading{justify-content:space-between;align-items:start;gap:14px;display:flex}.installment-heading>strong{color:#f1b27e;white-space:nowrap;font-size:20px}.installment-heading h3{margin:8px 0}.payment-status{color:#efc096;margin:12px 0;font-size:12px;display:block}.payment-paid{color:#8de5d1}.payment-actions{flex-direction:column;align-items:start;gap:8px;margin-bottom:14px;display:flex}.payment-actions .button{white-space:normal;text-align:left;max-width:100%;font-size:13px}.payment-installments summary{font-size:12px}.proposal-payment-summary{gap:12px;margin:16px 0 24px;padding-left:20px;font-size:13px;display:grid}.proposal-payment-summary strong,.proposal-payment-summary span{display:block}.proposal-payment-summary span{color:#adc4ce;margin-top:6px}.custom-installment{border-top:1px solid #415d6b;gap:14px;padding:16px 0;display:grid}.delivery-items{gap:16px;margin:24px 0;display:grid}.delivery-items article{background:#102a39;border:1px solid #425c6b;border-radius:9px;padding:18px}.delivery-items h3{margin:0}.delivery-done{color:#a2ead8;background:#1b4b46}.delivery-blocked{color:#ffc994;background:#473329}.delivery-handover{background:#193b3f;border:1px solid #52948a;border-radius:9px;margin-top:22px;padding:18px}.team-note-list{gap:14px;margin-top:24px;padding:0;list-style:none;display:grid}.team-note-list li{border-top:1px solid #476271;padding-top:14px}.team-note-list strong{color:#a4bac6;font-size:12px}@media (max-width:1100px){.admin-metrics{grid-template-columns:repeat(2,1fr)}.admin-project-row{grid-template-columns:1fr 1fr}}@media (max-width:600px){.admin-metrics button{padding:15px}.admin-project-row{grid-template-columns:1fr;padding:18px}.admin-filters input,.admin-filters select{font-size:16px}.admin-project-row>b{display:none}.project-section-nav{gap:8px}.project-section-nav a{font-size:12px}}.portal-error,.portal-notice{color:#ffccd0;background:#341f2b;border:1px solid #744e50;border-radius:9px;margin-bottom:18px;padding:15px 18px;font-size:14px}.portal-error button{margin-left:16px}.portal-notice{color:#cfede6;background:#183839;border-color:#3b6c6b}.portal-layout{background:#0c1b2bf5;border:1px solid #3c5362;border-radius:16px;grid-template-columns:240px minmax(0,1fr);max-width:1480px;min-height:calc(100vh - 140px);margin:0 auto;display:grid;overflow:clip}.portal-sidebar{background:#0b1929;border-right:1px solid #314857;flex-direction:column;padding:25px 18px;display:flex}.portal-sidebar-title{align-items:center;gap:10px;margin-bottom:24px;display:flex}.portal-sidebar h2{margin:0;font-size:15px}.portal-plus{color:#8be0d3;cursor:pointer;background:#203b47;border:1px solid #53717e;border-radius:7px;width:30px;height:30px;margin-left:auto;font-size:20px}.portal-project-link{text-align:left;color:#d5e0e5;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;width:100%;margin:0 0 8px;padding:14px 12px}.portal-project-link strong{overflow-wrap:anywhere;margin-bottom:7px;font-size:13px;display:block}.portal-project-link span{color:#aec0cb;font-size:11px}.portal-project-link.active{background:#16343d;border-color:#3c6968}.portal-sidebar-foot{color:#6f899a;margin-top:auto;padding:36px 10px 12px;font-size:14px;line-height:1.8}.portal-sidebar-foot p{margin-bottom:25px}.portal-sidebar-foot span{color:#8be0d3}.portal-content{min-width:0;padding:30px 36px 45px}.portal-content-toolbar{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.portal-kicker{color:#8be0d3;letter-spacing:1.4px;margin-bottom:14px;font:10px monospace}.portal-content-toolbar .portal-kicker{margin:0}.portal-content h1{letter-spacing:-1.4px;overflow-wrap:anywhere;margin:0 0 12px;font-size:clamp(28px,3vw,40px);line-height:1.1}.portal-content h2,.portal-card h2{letter-spacing:-.5px;margin:0 0 17px;font-size:21px}.portal-content h3{margin:20px 0 10px;font-size:14px}.portal-muted{color:#b7c7cf;font-size:12px;line-height:1.7}.portal-lead{color:#c0d0d9;max-width:690px;margin-bottom:27px;font-size:15px;line-height:1.7}.portal-preserve{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:17px;font-size:14px;line-height:1.75}.portal-card{background:#142838;border:1px solid #354f60;border-radius:12px;min-width:0;margin-bottom:22px;padding:27px}.portal-card a{color:#9ce2d6;overflow-wrap:anywhere;font-size:13px}.portal-card .button{color:#1c2630}.portal-project-heading{justify-content:space-between;align-items:center;gap:18px;display:flex}.portal-stage{color:#b1eadf;white-space:nowrap;background:#1c3b41;border:1px solid #426d6c;border-radius:20px;padding:7px 12px;font:11px monospace;display:inline-flex}.stage-awaiting_approval{color:#f4cca5;background:#493624;border-color:#8b6644}.portal-steps{border:1px solid #344b5c;border-radius:9px;grid-template-columns:repeat(4,minmax(0,1fr));margin:28px 0;padding:0;list-style:none;display:grid;overflow:clip}.portal-steps li{color:#adbfca;border-right:1px solid #344b5c;align-items:center;gap:9px;padding:16px 10px;font-size:11px;display:flex}.portal-steps li:last-child{border:0}.portal-steps li span{font:10px monospace}.portal-steps li.current{color:#b3eee2;background:#193d45}.portal-steps li.done{color:#9bdacc}.portal-next{background:#1b343f;border:1px solid #47626c;border-radius:11px;align-items:flex-start;gap:17px;margin-bottom:26px;padding:22px 24px;display:flex}.portal-next>span{color:#edab75;font-size:25px;line-height:1}.portal-next h2{margin-bottom:10px;font-size:17px}.portal-next p{color:#c3d4db;margin:0;font-size:12px;line-height:1.75}.portal-next .button{flex-shrink:0;align-self:center;font-size:12px}.portal-project-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px;display:grid}.portal-main-column,.portal-side-column{min-width:0}.portal-section-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.portal-form{margin-top:23px}.portal-form label{color:#d2e0e6;margin-bottom:18px;font-size:12px;font-weight:600;display:block}.portal-form input,.portal-form textarea,.portal-form select{color:#eef5f3;width:100%;font:inherit;background:#0d1d2c;border:1px solid #57707e;border-radius:7px;margin-top:8px;padding:12px 13px;font-size:14px;font-weight:400;display:block}.portal-form input::placeholder,.portal-form textarea::placeholder{color:#91a9b7;opacity:1}.portal-form textarea{resize:vertical;line-height:1.6}.portal-form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.portal-form .portal-check{align-items:flex-start;gap:12px;font-weight:400;line-height:1.6;display:flex}.portal-check input{accent-color:#8be0d3;flex:0 0 17px;width:17px;height:17px;margin:2px 0 0}.portal-check a{font-size:inherit}.portal-form .button{margin-top:8px}.portal-form details{margin:15px 0 25px}.portal-shell details{border-top:1px solid #365465;padding-top:15px}.portal-shell summary{cursor:pointer;color:#bce0de;padding-bottom:12px;font-size:13px;line-height:1.6}.portal-shell details[open]>summary{margin-bottom:7px}.portal-connect{border-top:1px solid #3b5665;margin-top:26px;padding-top:4px}.portal-connection-actions{flex-wrap:wrap;align-items:center;gap:14px;margin:20px 0;display:flex}.portal-link-button{border:1px solid #618888;border-radius:6px;padding:8px 12px}.portal-inventory{margin-top:25px}.portal-inventory ul{color:#b7c7cf;padding-left:20px;font-size:12px;line-height:1.7}.portal-inventory>p{margin-top:12px;font-size:13px}.portal-request-list{margin-top:30px}.portal-request-list details{margin:15px 0}.portal-kind{color:#aac0cb;padding-right:10px;font:9px monospace}.portal-empty{color:#aebfcb;padding:16px 0;font-size:13px;line-height:1.7}.portal-estimate{border-top:1px solid #3c5565;border-bottom:1px solid #3c5565;grid-template-columns:1fr;gap:22px;margin:26px 0;padding:24px 0;display:grid}.portal-estimate span{color:#b7c7cf;margin-bottom:10px;font-size:11px;display:block}.portal-estimate strong{color:#f4c299;letter-spacing:-.8px;font-size:25px;font-weight:600}.portal-proposal .portal-preserve{font-size:13px}.portal-old-proposal{border-bottom:1px solid #3a5364;padding:16px 0;font-size:12px}.portal-timeline{margin:26px 0 0;padding:0;list-style:none}.portal-timeline li{gap:16px;padding-bottom:24px;display:flex;position:relative}.portal-timeline li:before{content:"";background:#4b6a79;width:1px;height:100%;position:absolute;top:12px;left:4px}.portal-timeline li:last-child:before{display:none}.portal-timeline-dot{background:#84cfc1;border-radius:50%;flex:0 0 9px;width:9px;height:9px;margin-top:6px}.portal-timeline h3{margin:7px 0 12px;font-size:13px}.portal-timeline .portal-muted{margin:0;font-size:10px}.portal-timeline .portal-preserve{font-size:12px}.portal-tabs{gap:8px;margin:24px 0;display:flex}.portal-tabs button{color:#c5d5dd;cursor:pointer;background:#0d202e;border:1px solid #4c6472;border-radius:7px;padding:10px 14px;font-size:12px}.portal-tabs button.active{color:#c5f1e6;background:#214b4e;border-color:#6faaa1}.portal-login{background:#0c1b2bf5;border:1px solid #3c5362;border-radius:16px;grid-template-columns:1.2fr 1fr;gap:70px;max-width:1130px;margin:75px auto 45px;padding:55px;display:grid}.portal-login h1{letter-spacing:-2.1px;margin:26px 0;font-size:clamp(36px,4vw,55px);line-height:1.07}.portal-login h1 span{color:#8be0d3}.portal-login-steps{margin-top:38px;padding:0;list-style:none}.portal-login-steps li{align-items:flex-start;gap:20px;margin-bottom:26px;display:flex}.portal-login-steps b{color:#edab75;margin-top:4px;font:12px monospace}.portal-login-steps strong{margin-bottom:8px;font-size:15px;display:block}.portal-login-steps span{color:#b7c7cf;font-size:12px;line-height:1.7}.portal-signin{align-self:center;padding:34px}.portal-signin p{color:#c3d1d9;margin-bottom:24px;font-size:13px;line-height:1.8}.portal-signin .button{justify-content:space-between;margin:28px 0;display:flex}.portal-github-icon{color:#8be0d3;text-align:center;background:#23434a;border-radius:13px;width:52px;height:52px;margin-bottom:28px;font-size:30px;line-height:52px;display:block}.portal-loading{background:#0c1b2bf5;border:1px solid #3c5362;border-radius:16px;max-width:1130px;margin:75px auto;padding:50px}@media (max-width:1200px){.portal-layout{grid-template-columns:210px minmax(0,1fr)}.portal-content{padding:28px 24px}.portal-project-grid{grid-template-columns:1fr}.portal-side-column{grid-template-columns:1fr 1fr;align-items:start;gap:22px;display:grid}.portal-next{flex-wrap:wrap}}@media (max-width:900px){.portal-login{gap:28px;margin-top:35px;padding:35px}.portal-header-label{display:none}.portal-side-column{display:block}}@media (max-width:760px){.portal-shell{padding:12px 12px 24px}.portal-header{gap:10px;margin-bottom:14px;padding:14px 16px}.portal-header nav{gap:12px;font-size:12px}.portal-header .wordmark{font-size:23px}.portal-user,.portal-header nav>a{display:none}.portal-layout{grid-template-columns:1fr}.portal-sidebar{border-bottom:1px solid #314857;border-right:0;padding:18px}.portal-sidebar-title{margin-bottom:12px}.portal-sidebar nav{gap:8px;max-width:100%;display:flex;overflow-x:auto}.portal-sidebar nav .portal-project-link{flex:0 0 180px;width:180px;margin:0}.portal-sidebar-foot{margin-top:0;padding:12px 0 0}.portal-sidebar-foot p{display:none}.portal-content{padding:24px 17px}.portal-content h1{font-size:30px}.portal-card{padding:22px 18px}.portal-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-steps li:nth-child(2){border-right:0}.portal-steps li:nth-child(-n+2){border-bottom:1px solid #344b5c}.portal-project-heading{flex-direction:column;align-items:flex-start}.portal-stage{font-size:10px}.portal-next{padding:20px 18px}.portal-next .button{justify-content:center;width:100%}.portal-form-row{grid-template-columns:1fr;gap:0}.portal-form input,.portal-form select,.portal-form textarea{font-size:16px}.portal-login{margin:24px 0;padding:28px 22px;display:block}.portal-login h1{font-size:39px}.portal-signin{margin-top:34px;padding:24px}.portal-tabs{flex-wrap:wrap}.portal-loading{margin:25px 0;padding:30px}}
