:root{--ink:#172426;--muted:#5a6869;--paper:#f4f5f0;--surface:#fff;--line:#dce2db;--amber:#efb661;--navy:#14272d;--green:#24624e;--radius:15px;color-scheme:light}*{box-sizing:border-box}body{margin:0;font:16px/1.6 Geist,Avenir Next,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:var(--paper)}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit}a,button,input,select,textarea{outline-offset:4px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #97611b}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(32px,4.4vw,52px);line-height:1.12;letter-spacing:-.045em;margin-bottom:14px}h1,h2{font-weight:650}h2{font-size:25px;line-height:1.25;letter-spacing:-.025em;margin-bottom:12px}h3{font-size:19px;line-height:1.35;letter-spacing:-.015em;margin-bottom:10px}p{margin-bottom:18px}p,small{color:var(--muted)}small{font-size:13px}.skip-link{position:absolute;top:-100px;left:20px;background:#fff;padding:15px;z-index:20}.skip-link:focus{top:10px}.portal-header{max-width:1260px;margin:auto;padding:28px 38px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.wordmark{font-size:26px;font-weight:750;letter-spacing:-1.2px;text-decoration:none;line-height:1}.wordmark span{font-weight:450}.wordmark small{display:block;letter-spacing:0;font-weight:400;font-size:12px;margin-top:9px}.portal-header nav{display:flex;align-items:center;gap:26px;font-size:14px}.portal-header nav a{text-decoration:none}.text-button{padding:0;border:0;background:transparent;color:var(--muted);font-size:14px}.portal-main{min-height:70vh;padding:56px 38px 72px}.portal-footer,.portal-main{max-width:1184px;margin:auto}.portal-footer{padding:28px 38px;display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.portal-footer>span{font-weight:650;color:var(--ink)}.portal-footer div{display:flex;gap:24px}.portal-footer a{text-decoration:none}.section-label{font-size:13px;font-weight:600;color:var(--green);margin-bottom:14px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:0 0 38px}.page-heading p:last-child{margin-bottom:0}.button{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;border-radius:8px;padding:12px 21px;text-decoration:none;font-size:14px;font-weight:650;line-height:1.4;transition:background .2s,transform .2s}.button:hover:not(:disabled){transform:translateY(-1px)}.button.primary{color:var(--ink);background:var(--amber)}.button.primary:hover{background:#e4aa52}.button.secondary{color:var(--ink);border-color:#bcc8be;background:transparent}.button.secondary:hover{background:#e9eee5}.button.danger{background:#7c3c30;color:#fff}.button.full{width:100%}.surface{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:32px;margin-bottom:24px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.section-heading p{margin-bottom:0}.section-heading>span{font-size:13px;color:var(--muted)}.notice{padding:14px 18px;border-radius:8px;font-size:14px;margin:16px 0;overflow-wrap:anywhere}.notice.error{background:#faeae3;color:#7c3226;border:1px solid #e6c0b4}.notice.success{background:#e8f1e7;color:#29533c;border:1px solid #c5d9c3}.loading-state{min-height:40vh;display:flex;align-items:center;justify-content:center;gap:15px;color:var(--muted)}.loading-line{height:6px;width:36px;border-radius:8px;background:var(--amber);animation:pulse 1s ease-in-out infinite alternate}@keyframes pulse{to{opacity:.3}}label{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:550;margin-bottom:20px}input,select,textarea{width:100%;min-width:0;border:1px solid #b9c6bc;border-radius:7px;background:#fff;color:var(--ink);padding:12px 14px;min-height:48px;font-size:16px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#84908d}input:focus,select:focus,textarea:focus{border-color:var(--green)}.check{flex-direction:row;align-items:flex-start;gap:12px;line-height:1.5;font-weight:400}.check input{width:19px;min-height:19px;height:19px;flex-shrink:0;padding:0;margin:2px 0;accent-color:var(--green)}.form-help{font-size:13px;max-width:650px;line-height:1.6}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.form-grid .wide{grid-column:1/-1}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:24px}.auth-layout{display:grid;grid-template-columns:1fr 420px;gap:80px;align-items:start;padding-top:28px}.auth-intro{padding:24px 0}.auth-intro>p:not(.section-label){font-size:18px;max-width:450px}.auth-note{border-left:3px solid var(--amber);padding-left:22px;margin-top:52px;max-width:390px}.auth-note p{font-size:14px;margin:8px 0 0}.auth-card{background:#fff;border:1px solid var(--line);padding:32px;border-radius:var(--radius)}.auth-card h2{font-size:21px;margin-bottom:28px}.auth-link{display:block;margin:20px 0}.auth-bottom,.auth-link{font-size:13px;text-align:center}.auth-bottom{margin:24px 0 0}.auth-bottom a{font-weight:600;color:var(--green)}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.project-card{background:#fff;border:1px solid var(--line);padding:26px;border-radius:var(--radius);text-decoration:none;transition:border-color .2s,transform .2s}.project-card:hover{border-color:#81978b;transform:translateY(-2px)}.project-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px;gap:14px}.badge{display:inline-block;border:1px solid #cbd9cb;border-radius:6px;padding:5px 10px;font-size:12px;color:#355c47;background:#f2f7ee;white-space:normal}.badge.large{font-size:13px;padding:9px 14px}.project-card h3{font-size:23px}.project-card p{font-size:14px}.project-card-bottom{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:18px;font-size:13px;margin-top:22px;margin-bottom:12px}.project-card small{font-size:12px}.empty-state{padding:48px 28px;border:1px dashed #bccabb;border-radius:var(--radius);text-align:center;background:#fbfcf8}.empty-state p{max-width:500px;margin:0 auto 24px}.empty-mark{display:inline-flex;justify-content:center;align-items:center;width:50px;height:50px;border-radius:15px;background:#e8ede1;font-size:27px;margin-bottom:20px}.help-strip{background:var(--navy);color:#fff;border-radius:var(--radius);padding:30px 32px;display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:40px}.help-strip h2{font-size:21px}.help-strip p{color:#c0ceca;font-size:14px;margin:0}.help-strip .button{color:#fff;border-color:#638078;flex-shrink:0}.help-strip .button:hover{background:#27423f}.new-project{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;margin-bottom:42px}.new-project>div h2{font-size:31px;max-width:270px}.new-project form{max-width:580px}.back-link{display:inline-block;font-size:13px;color:var(--muted);margin-bottom:24px;text-decoration:none}.project-tabs{display:flex;gap:6px;overflow-x:auto;border-bottom:1px solid #cbd5ca;margin-bottom:28px}.project-tabs button{background:transparent;white-space:nowrap;color:var(--muted);border:0;border-bottom:3px solid transparent;padding:13px 20px;font-size:14px}.project-tabs button[aria-current]{border-color:var(--green);color:var(--ink);font-weight:650}.step-tabs{display:flex;gap:8px;margin-bottom:32px;overflow-x:auto;padding-bottom:8px}.step-tabs button{border:1px solid transparent;border-radius:7px;background:#f3f5ef;color:var(--muted);font-size:13px;padding:11px 13px;white-space:nowrap;display:flex;align-items:center;gap:8px}.step-tabs span{font-size:11px}.step-tabs button[aria-current]{border-color:#a7bca7;background:#eaf1e4;color:var(--green);font-weight:650}.briefing h3{font-size:22px;margin-bottom:8px}.file-list{list-style:none;padding:0;margin:30px 0 0}.file-list li{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:18px 0;border-top:1px solid var(--line)}.file-list strong{font-size:14px;overflow-wrap:anywhere}.file-list small{display:block;font-size:12px;margin-top:5px}.file-list p{font-size:14px;white-space:pre-wrap;margin:8px 0}.file-list a{font-size:13px;white-space:nowrap}.inline-empty{font-size:14px;color:var(--muted);padding:22px 0 5px}.upload-form{background:#f7f8f3;border:1px dashed #bbcabc;padding:24px;border-radius:10px;max-width:700px;margin-top:28px}.upload-form input{padding:10px;background:#fff}.project-timeline{padding:0;list-style:none;margin:32px 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.project-timeline li{border-top:3px solid #d8dfd3;padding-top:18px}.project-timeline li.done{border-color:var(--green)}.project-timeline strong{display:block;font-size:14px;margin-bottom:8px}.project-timeline span{display:block;font-size:13px;color:var(--muted)}.approval-panel{border-color:#a9bea1;background:#f2f7ec}.approval-panel form{margin-top:25px}.subscription-price{font-size:32px;letter-spacing:-.03em;white-space:nowrap}.subscription-price small{font-size:13px;font-weight:450;letter-spacing:0;margin-left:5px}.billing-action{margin:26px 0 35px}.billing-action p{margin-top:12px}.subscription-panel h3{margin-top:32px}.deletion-details{margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}summary{cursor:pointer;font-size:14px;font-weight:550}.deletion-details form{padding-top:20px;max-width:650px}.admin-layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:24px;align-items:start}.search-label{max-width:550px;margin-bottom:28px}.admin-list{gap:12px}.admin-list,.admin-order{display:flex;flex-direction:column}.admin-order{border:1px solid var(--line);border-radius:12px;background:#fff;padding:20px;text-align:left;align-items:flex-start;gap:10px;color:var(--ink)}.admin-order strong{font-size:18px}.admin-order>span:not(.badge){font-size:13px;color:var(--muted)}.admin-order.selected{border-color:#76967e;background:#f2f7ed}.admin-placeholder{min-height:260px;display:flex;flex-direction:column;justify-content:center;text-align:center}.admin-form{margin-top:28px}.legal-page{max-width:780px}.legal-page h1{margin-bottom:30px}.legal-page h2{font-size:21px;margin-top:32px}.legal-page li{margin-bottom:10px;color:var(--muted)}.legal-page .legal-date{font-size:13px;margin-bottom:35px}.text-link{font-size:14px;color:var(--green)}@media (max-width:900px){.auth-layout{gap:35px;grid-template-columns:1fr 1fr}.admin-layout{grid-template-columns:260px minmax(0,1fr)}.project-timeline{grid-template-columns:repeat(2,1fr)}}@media (max-width:680px){.portal-header{padding:20px;gap:18px}.wordmark{font-size:23px}.wordmark small{display:none}.portal-header nav{gap:17px;font-size:13px}.text-button{font-size:13px}.portal-main{padding:35px 20px 52px}.portal-footer{padding:24px 20px;flex-direction:column;font-size:12px}.portal-footer div{gap:16px;flex-wrap:wrap}.auth-layout{grid-template-columns:1fr;gap:25px;padding:0}.auth-intro{padding:0}.auth-intro>p:not(.section-label){font-size:16px}.auth-note{display:none}.auth-card{padding:25px 22px}.page-heading{align-items:flex-start;flex-direction:column;gap:24px;margin-bottom:30px}.page-heading h1{font-size:34px}.page-heading p{font-size:14px}.admin-layout,.new-project,.project-grid{grid-template-columns:1fr}.surface{padding:24px 20px;border-radius:12px}.new-project{gap:20px}.new-project>div h2{max-width:none;font-size:26px}.section-heading{align-items:flex-start;gap:15px}.section-heading h2{font-size:23px}.project-card{padding:23px 20px}.project-card-bottom{flex-direction:column;gap:5px}.help-strip{padding:25px 22px;align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr;gap:0}.form-grid .wide{grid-column:auto}.form-actions{align-items:stretch;flex-direction:column}.project-tabs{margin-left:-4px;margin-right:-4px}.project-tabs button{padding:12px 15px}.step-tabs{gap:6px}.step-tabs button{font-size:12px}.project-timeline{gap:24px}.subscription-price{font-size:27px}.subscription-panel .section-heading{flex-direction:column}.file-list li{gap:12px}.upload-form{padding:18px 14px}.empty-state{padding:34px 20px}.admin-list{max-height:370px;overflow-y:auto}.legal-page h1{font-size:33px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}