.portal-body{background:#f1f3e9;color:#20291a;min-height:100svh;display:flex;flex-direction:column}
.portal-main:focus{outline:none}
.portal-header{background:#172012;color:#f0f3e7;padding:24px 5%;display:flex;align-items:center;gap:30px;border-bottom:1px solid #cce9a630}
.portal-header .brand{font-size:28px}.portal-header .brand svg{width:30px;height:30px}.portal-header-label{color:#aabe97;font-size:9px;letter-spacing:.12em;margin-left:15px}
.portal-header nav{margin-left:auto;display:flex;align-items:center;gap:20px;font-size:12px}.portal-header nav button{background:transparent;padding:0;font-size:12px;color:#c8d8b8}
.portal-main{width:min(1280px,90%);margin:48px auto 70px;flex:1;min-width:0}.portal-footer{border-top:1px solid #798c632c;display:flex;justify-content:space-between;gap:24px;padding:25px 5%;font-size:11px;color:#637358}.portal-footer nav{display:flex;gap:22px}
.portal-skip{position:fixed;top:-80px;left:20px;z-index:100;background:#d2f88a;padding:12px}.portal-skip:focus{top:12px}
.portal-alert{width:min(1280px,90%);margin:20px auto 0;padding:16px 20px;border:1px solid #ba6850;border-radius:8px;background:#fff1e9;color:#763c2c;font-size:14px;line-height:1.7}.portal-alert.success{border-color:#94b471;background:#e5f3d8;color:#354f20}
.portal-body h1{font-size:clamp(32px,3.5vw,52px);line-height:1.12;letter-spacing:-.05em;font-weight:550;margin:8px 0 18px}.portal-body h2{font-size:24px;line-height:1.3;letter-spacing:-.035em;font-weight:600}.portal-body h3{font-size:17px;line-height:1.4;letter-spacing:-.02em;font-weight:600}
.portal-kicker{font:10px/1.7 monospace;letter-spacing:.1em;color:#667952}.portal-muted{color:#68745d;font-size:13px;line-height:1.8}.portal-lede{font-size:16px;line-height:1.85;color:#526246;max-width:620px}
.portal-card{background:#fff;border:1px solid #7186582b;border-radius:14px;padding:28px;min-width:0}.portal-card+.portal-card{margin-top:22px}.portal-card h2{margin-bottom:20px}
.portal-auth{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:9%;align-items:center;min-height:60svh}.portal-auth .portal-card{margin-top:28px}.portal-auth-copy{max-width:590px}.portal-auth-aside{background:#172012;color:#edf4e4;border-radius:18px;padding:40px}.portal-auth-aside h2{font-size:34px;line-height:1.2;margin:20px 0 26px}.portal-auth-aside .portal-kicker{color:#c1da9e}.portal-auth-aside ol{list-style:none;padding:0;counter-reset:step}.portal-auth-aside li{counter-increment:step;display:grid;grid-template-columns:30px 1fr;gap:17px;margin-top:24px}.portal-auth-aside li:before{content:'0' counter(step);font:12px monospace;color:#d2f88a;padding-top:5px}.portal-auth-aside strong{font-size:15px;font-weight:550}.portal-auth-aside p{font-size:12px;line-height:1.8;color:#adbd9e;margin-top:6px}
.portal-form{display:grid;gap:18px}.portal-form label{font-size:12px;font-weight:600;display:grid;gap:8px;line-height:1.7}.portal-form input,.portal-form textarea,.portal-form select,.portal-filters input,.portal-filters select{width:100%;min-width:0;max-width:100%;border:1px solid #9caa8d;background:#fafbf7;color:#23321b;border-radius:7px;padding:13px;font:400 14px/1.6 Manrope,sans-serif;outline-offset:3px}.portal-form textarea{min-height:110px;resize:vertical}.portal-form .portal-check{display:flex;align-items:flex-start;gap:10px;font-weight:400;color:#596b4b}.portal-check input{width:17px;min-width:17px;margin-top:4px;accent-color:#506d2f}.portal-check a{text-decoration:underline;text-underline-offset:3px}.portal-trap{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.portal-button{display:inline-flex;align-items:center;justify-content:center;gap:20px;background:#d2f88a;color:#1c2b0e;border:1px solid #c0df91;border-radius:7px;min-height:44px;padding:12px 19px;font-size:13px;font-weight:650;line-height:1.5;text-align:center}.portal-button.secondary{background:transparent;color:#40572c;border-color:#9eaf8b}.portal-button.small{min-height:35px;padding:8px 12px;font-size:11px}.portal-button.danger{background:#fff1eb;border-color:#d5a38b;color:#8c4830}.portal-button:hover{filter:brightness(.96)}.portal-body button:focus-visible,.portal-body a:focus-visible,.portal-body input:focus-visible,.portal-body textarea:focus-visible,.portal-body select:focus-visible{outline:2px solid #527830;outline-offset:3px}
.portal-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:32px}.portal-heading h1{margin-bottom:10px}.portal-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.portal-breadcrumb{font-size:12px;color:#5a7145;display:inline-block;margin-bottom:22px}.portal-filters{display:flex;gap:12px;margin-bottom:22px}.portal-filters input{flex:1}.portal-filters select{max-width:210px}
.portal-projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.portal-project-card{display:block;background:#fff;padding:24px;border-radius:12px;border:1px solid #71865830;min-width:0}.portal-project-card:hover{border-color:#7e9d53;box-shadow:0 8px 25px #253b1210}.portal-project-card h2{font-size:23px;margin:23px 0 7px;overflow-wrap:anywhere}.portal-project-card p{overflow-wrap:anywhere}.portal-project-card>footer{display:flex;justify-content:space-between;border-top:1px solid #71865825;padding-top:18px;margin-top:25px;font-size:11px;color:#61754f}
.portal-status{display:inline-flex;border-radius:30px;border:1px solid #97aa7e45;background:#edf3e5;color:#4e6637;font-size:10px;font-weight:650;line-height:1.6;padding:5px 10px}.portal-status[data-status=review],.portal-status[data-status=needs_info]{background:#fff0d6;color:#8d5d12;border-color:#d9b47770}.portal-status[data-status=approved],.portal-status[data-status=live],.portal-status[data-status=done]{background:#e0efd7;color:#3c6725}.portal-status[data-status=declined],.portal-status[data-status=cancelled],.portal-status[data-status=archived]{background:#f2eeeb;color:#796b61}
.portal-empty{padding:50px 30px;text-align:center;background:#fff;border:1px dashed #8d9c76;border-radius:14px}.portal-empty p{margin:12px auto 23px;max-width:470px}.portal-workspace{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:26px;align-items:start}.portal-sidebar{min-width:0}.portal-sidebar .portal-card{padding:23px}.portal-sidebar h2{font-size:20px}.portal-section-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.portal-section-title h2{margin:0}.portal-small-label{font:10px monospace;letter-spacing:.04em;color:#71865e}
.portal-request-list{display:grid;gap:11px}.portal-request-row{display:flex;align-items:center;gap:20px;padding:19px;border:1px solid #97aa7e40;border-radius:9px;background:#fafbf7}.portal-request-row>div{flex:1;min-width:0}.portal-request-row strong{display:block;font-size:14px;line-height:1.6;overflow-wrap:anywhere}.portal-request-row p{font-size:11px;color:#6b7a5c;margin-top:4px}.portal-request-row>b{color:#678348;font-size:20px;font-weight:400}
.portal-step{padding:17px 0;border-top:1px solid #a2b38c40}.portal-step-top{display:flex;gap:11px;align-items:start}.portal-step-number{font:11px monospace;border:1px solid #a2b38c60;border-radius:50%;width:25px;height:25px;display:grid;place-items:center;flex:none;color:#6a8254}.portal-step.done .portal-step-number{background:#d2f88a;color:#284018;border-color:#bad88f}.portal-step h3{font-size:13px;margin:2px 0 6px}.portal-step p{font-size:11px;line-height:1.8;color:#647356;margin:0 0 10px}.portal-step-body{padding-left:36px}.portal-step a:not(.portal-button){text-decoration:underline;text-underline-offset:3px;color:#3d612a}.portal-step .portal-actions{gap:7px}.portal-step .portal-button{font-size:10px}
.portal-instructions{font-size:12px;line-height:1.9;color:#5a6d4b;margin:14px 0 20px;padding-left:20px}.portal-instructions li+li{margin-top:8px}.portal-instructions code{font-size:11px;overflow-wrap:anywhere}.portal-connection{font-size:12px;line-height:1.9;color:#4d613c;overflow-wrap:anywhere;background:#edf3e5;padding:15px;border-radius:8px;margin-bottom:18px}.portal-concept{display:block;max-height:500px;overflow:auto;background:#edf0e6;text-align:center;border-radius:8px}.portal-concept img{display:block;max-width:100%;height:auto;margin:auto}.portal-concept-link{display:inline-block;margin-top:12px;font-size:12px;text-decoration:underline}
.portal-events{list-style:none;padding:0;margin:0;display:grid;gap:15px}.portal-event{padding:15px 17px;border-left:2px solid #a3be7e;background:#f8faf5;border-radius:0 7px 7px 0}.portal-event.internal{background:#fff5e6;border-color:#c79a4c}.portal-event p,.portal-description{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.9}.portal-event footer{margin-top:8px;color:#75836a;font-size:10px;line-height:1.7;overflow-wrap:anywhere}.portal-description{margin:15px 0 24px}.portal-notice{padding:17px 19px;border-radius:8px;background:#e8f0dc;color:#4b6136;font-size:12px;line-height:1.8;margin:20px 0}.portal-notice a{text-decoration:underline}.portal-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.portal-spacer{margin-top:22px}.portal-table-wrap{overflow:auto}.portal-table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}.portal-table th,.portal-table td{padding:15px 12px;border-bottom:1px solid #90a27533;overflow-wrap:anywhere}.portal-table th{font-size:10px;color:#5e764b;font-weight:650}.portal-loading{padding:50px;text-align:center;color:#60734e}
@media(max-width:1050px){.portal-workspace{grid-template-columns:minmax(0,1fr) 310px}.portal-projects{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-header-label{display:none}.portal-auth{gap:5%}.portal-auth-aside{padding:28px}}
@media(max-width:760px){.portal-header{padding:20px 5%;gap:15px}.portal-header .brand{font-size:24px}.portal-header .brand svg{width:25px}.portal-header nav{font-size:10px;gap:12px}.portal-header nav button{font-size:10px}.portal-main{margin-top:30px;margin-bottom:45px}.portal-auth{grid-template-columns:1fr;gap:30px}.portal-auth-aside{margin-top:0}.portal-workspace{grid-template-columns:1fr}.portal-sidebar{display:contents}.portal-projects{grid-template-columns:1fr}.portal-heading{display:block}.portal-heading>.portal-actions{margin-top:20px}.portal-card{padding:21px}.portal-heading h1{font-size:34px}.portal-filters{flex-wrap:wrap}.portal-filters select{max-width:100%}.portal-grid-two{grid-template-columns:1fr}.portal-request-row{padding:14px;gap:10px}.portal-request-row strong{font-size:12px}.portal-request-row .portal-status{font-size:9px;padding:4px 7px}.portal-footer{flex-direction:column;font-size:10px}.portal-section-title{align-items:start}.portal-section-title h2{font-size:21px}.portal-lede{font-size:14px}.portal-event p{font-size:12px}.portal-auth-aside h2{font-size:29px}}

.stage-overview{margin-bottom:28px}.stage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-top:22px}.stage-card{display:flex;flex-direction:column;min-width:0;padding:18px;border:1px solid #97aa7e55;border-radius:10px;background:#fafbf7;transition:border-color .15s,background .15s}.stage-card:hover{border-color:#678b3e;background:#f2f7e9}.stage-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.stage-number{font:12px monospace;color:#69834d}.stage-unread{font-size:10px;font-weight:700;background:#d2f88a;color:#284018;border-radius:20px;padding:4px 8px}.stage-card h3{margin:16px 0 12px;font-size:16px}.stage-card .stage-status{align-self:start}.stage-card>p{font-size:12px;line-height:1.75;color:#657159;margin:12px 0 18px;overflow-wrap:anywhere}.stage-card>footer{font-size:11px;color:#5f7649;display:flex;justify-content:space-between;gap:10px;margin-top:auto}.stage-links{display:grid;margin-top:20px}.stage-links a{font-size:12px;line-height:1.7;padding:13px 0;border-top:1px solid #71865830;display:flex;gap:15px;justify-content:space-between;color:#50663d}.stage-links a[aria-current]{color:#21350e;font-weight:700}.stage-status[data-status=waiting_team]{background:#fff0d6;color:#805211;border-color:#c99d5960}.stage-status[data-status=waiting_client]{background:#e6edf9;color:#354e75;border-color:#98adc870}.stage-status[data-status=in_progress]{background:#e8f0dc;color:#456128}
.stage-workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:25px;align-items:start}.stage-chat{padding:0;overflow:hidden}.stage-chat-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 25px;border-bottom:1px solid #71865825}.stage-chat-heading h2{margin:0;font-size:21px}.stage-chat-heading .portal-muted{font-size:11px;text-align:right}.stage-history{height:min(55svh,570px);min-height:280px;overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:16px;padding:25px;background:#f7f9f2;scrollbar-width:thin;scrollbar-color:#a2b38c transparent}.stage-history:focus-visible{outline:2px solid #698d44;outline-offset:-3px}.stage-message{flex:none;width:88%;max-width:650px;border:1px solid #dce3d2;border-radius:0 12px 12px 12px;padding:16px 18px;background:#fff;align-self:flex-start;min-width:0}.stage-message.own{align-self:flex-end;background:#edf5df;border-color:#d0dfbc;border-radius:12px 0 12px 12px}.stage-message header{display:flex;gap:15px;align-items:center;justify-content:space-between;font-size:11px;line-height:1.6;color:#496135}.stage-message header strong{overflow-wrap:anywhere;font-weight:650}.stage-message header>span{font:9px monospace;letter-spacing:.06em;flex:none}.stage-message-body{font-size:14px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0}.stage-message-body a{color:#315d16;text-decoration:underline;text-underline-offset:3px}.stage-message footer{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#748365;font-size:10px}.stage-message footer .stage-status{font-size:9px}.stage-action-label{font-size:11px;font-weight:650;color:#456b26;margin-top:12px}.stage-event-action{border-left:3px solid #93b967}.stage-empty{margin:auto;max-width:370px;text-align:center;color:#61774d}.stage-empty>span{font-size:36px;color:#8aa269}.stage-empty h3{margin:15px 0 10px}.stage-empty p{font-size:13px;line-height:1.8}.stage-compose{padding:24px;display:grid;gap:10px;border-top:1px solid #71865830}.stage-compose label{font-size:12px;font-weight:650;color:#475e35}.stage-compose textarea,.stage-compose select{width:100%;min-width:0;background:#fafbf7;border:1px solid #a7b397;border-radius:7px;color:#23321b;padding:12px;font:400 14px/1.7 Manrope,sans-serif}.stage-compose textarea{min-height:120px;resize:vertical}.stage-compose-footer{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:7px}.stage-compose-footer>span{font-size:10px;color:#768669;line-height:1.7;max-width:190px}.stage-compose-footer button{flex-shrink:0}.stage-guide .portal-muted{font-size:13px;line-height:1.9}.stage-guide h2{font-size:20px}.stage-guide>.portal-card+.portal-card{margin-top:20px}#stage-older{margin:14px 25px}#stage-new-messages{display:flex;margin:12px auto}#stage-new-messages[hidden]{display:none}
@media(max-width:1100px){.stage-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stage-workspace{grid-template-columns:minmax(0,1fr) 280px}.stage-chat-heading{align-items:start}.stage-chat-heading .portal-muted{max-width:150px}.stage-message{width:94%}}
@media(max-width:760px){.stage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stage-card{padding:14px}.stage-card h3{font-size:14px}.stage-card>p{font-size:11px}.stage-workspace{grid-template-columns:1fr}.portal-card.stage-chat{padding:0}.stage-chat-heading{padding:18px;gap:12px}.stage-chat-heading h2{font-size:18px}.stage-chat-heading .portal-muted{font-size:10px;max-width:125px}.stage-history{padding:16px;height:50svh;min-height:300px}.stage-message{width:95%;padding:13px}.stage-message-body{font-size:13px}.stage-message header{font-size:10px;gap:8px}.stage-message footer{flex-wrap:wrap;gap:6px}.stage-compose{padding:18px}.stage-compose-footer{flex-wrap:wrap;gap:12px}.stage-compose-footer button{width:100%}.stage-compose-footer>span{max-width:none}.stage-compose textarea,.stage-compose select{font-size:16px}.stage-overview .portal-section-title{flex-wrap:wrap}.stage-guide .portal-card{padding:22px}.stage-unread{font-size:9px}}
.designer-workspace{display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:25px;align-items:start}.designer-row{display:flex;justify-content:space-between;gap:20px;padding:23px 0;border-bottom:1px solid #71865830}.designer-row:last-child{border-bottom:0}.designer-row>div{min-width:0}.designer-row h3{font-size:18px;margin:0 0 7px}.designer-row p{font-size:13px;color:#60734f;margin:0 0 12px;overflow-wrap:anywhere}.designer-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px;flex-shrink:0}.designer-project-count{display:block;font-size:11px;margin-top:9px;color:#60734f}.designer-choices{display:grid;gap:14px;max-height:320px;overflow-y:auto}.designer-choices small{display:block;font-size:11px;font-weight:400;overflow-wrap:anywhere;margin-top:5px}.designer-choices .portal-check{align-items:start}.designer-choices input{margin-top:4px;flex-shrink:0}#project-assignment{margin-bottom:22px}#project-details :disabled{opacity:1;color:#526148;background:#f5f7ef;border-color:#d4ddc9;cursor:default}@media(max-width:1100px){.designer-workspace{grid-template-columns:minmax(240px,300px) minmax(0,1fr)}.designer-row{flex-direction:column}.designer-actions{flex-direction:row;flex-wrap:wrap}}@media(max-width:760px){.designer-workspace{grid-template-columns:1fr}.designer-row{gap:15px}.designer-actions{width:100%}.designer-actions button{flex:1}}
.portal-header nav{flex-wrap:wrap;justify-content:flex-end;min-width:0}.portal-header nav a,.portal-header nav button{white-space:nowrap}@media(max-width:760px){.portal-header{flex-wrap:wrap}.portal-header nav{width:100%;margin-left:0;justify-content:flex-start;gap:12px 20px}}

.designer-workspace>.portal-card{margin-top:0}
