.fwt-wrap{
	--fwt-done:#16a34a;--fwt-progress:#2563eb;--fwt-waiting:#d97706;--fwt-pending:#9ca3af;
	--fwt-card:#fff;--fwt-text:#1f2937;--fwt-muted:#6b7280;--fwt-line:#e5e7eb;--fwt-radius:12px;
	color:var(--fwt-text);max-width:760px;margin:0 auto;line-height:1.55;box-sizing:border-box
}
.fwt-wrap *,.fwt-wrap *::before,.fwt-wrap *::after{box-sizing:border-box}
.fwt-title{margin:0 0 .15em;font-size:1.75rem}
.fwt-client{margin:0 0 1.2em;color:var(--fwt-muted)}
.fwt-progress{margin:0 0 1.2em}
.fwt-progress__track{height:10px;background:var(--fwt-line);border-radius:99px;overflow:hidden}
.fwt-progress__bar{height:100%;background:var(--fwt-done);border-radius:99px;transition:width .4s}
.fwt-progress__label{margin:.4em 0 0;font-size:.875rem;color:var(--fwt-muted)}
.fwt-latest,.fwt-attention{background:var(--fwt-card);border:1px solid var(--fwt-line);border-radius:var(--fwt-radius);padding:14px 18px;margin:0 0 1em}
.fwt-latest strong,.fwt-attention strong{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--fwt-muted);margin-bottom:.3em}
.fwt-attention{border-color:var(--fwt-waiting);background:color-mix(in srgb,var(--fwt-waiting) 8%,var(--fwt-card))}
.fwt-attention ul{margin:0;padding-left:1.2em}
.fwt-attention em{color:var(--fwt-waiting);font-style:normal;font-weight:600}
.fwt-timeline{list-style:none;margin:1.5em 0 0;padding:0 0 0 28px;position:relative}
.fwt-timeline::before{content:"";position:absolute;left:9px;top:8px;bottom:8px;width:2px;background:var(--fwt-line)}
.fwt-stage{position:relative;margin:0 0 16px;padding:0}
.fwt-stage__dot{position:absolute;left:-28px;top:18px;width:20px;height:20px;border-radius:50%;background:var(--fwt-pending);border:3px solid #fff;box-shadow:0 0 0 2px var(--fwt-pending)}
.fwt-stage--done .fwt-stage__dot{background:var(--fwt-done);box-shadow:0 0 0 2px var(--fwt-done)}
.fwt-stage--in_progress .fwt-stage__dot{background:var(--fwt-progress);box-shadow:0 0 0 2px var(--fwt-progress)}
.fwt-stage--waiting_client .fwt-stage__dot{background:var(--fwt-waiting);box-shadow:0 0 0 2px var(--fwt-waiting)}
.fwt-stage__card{background:var(--fwt-card);border:1px solid var(--fwt-line);border-radius:var(--fwt-radius);padding:14px 18px}
.fwt-stage__meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:.35em}
.fwt-badge{font-size:.72rem;font-weight:600;padding:2px 10px;border-radius:99px;color:#fff;background:var(--fwt-pending)}
.fwt-stage--done .fwt-badge{background:var(--fwt-done)}
.fwt-stage--in_progress .fwt-badge{background:var(--fwt-progress)}
.fwt-stage--waiting_client .fwt-badge{background:var(--fwt-waiting)}
.fwt-badge--overdue{background:#dc2626!important}
.fwt-date{font-size:.8rem;color:var(--fwt-muted)}
.fwt-stage__title{margin:0;font-size:1.1rem}
.fwt-stage__note{margin:.4em 0 0;color:var(--fwt-muted)}
.fwt-stage__action{margin:.6em 0 0;padding:8px 12px;border-left:3px solid var(--fwt-waiting);background:color-mix(in srgb,var(--fwt-waiting) 8%,transparent);font-size:.95rem}
.fwt-stage--pending .fwt-stage__card{opacity:.8}
.fwt-portal{margin:0;background:#f3f4f6}
.fwt-portal__main{padding:40px 16px}
.fwt-portal__brand{text-align:center;font-weight:700;letter-spacing:.04em;color:#6b7280;margin:0 0 24px}
@media (max-width:480px){.fwt-title{font-size:1.4rem}}

/* ---- v1.1: approvals, files, activity, notices ---- */
.fwt-wrap{--fwt-accent:#2563eb}
.fwt-notice{background:#ecfdf5;border:1px solid #6ee7b7;color:#065f46;border-radius:var(--fwt-radius);padding:12px 16px;margin:0 0 1em;font-weight:600}
.fwt-state{display:inline-block;vertical-align:middle;margin-left:8px;font-size:.7rem;font-weight:700;padding:3px 10px;border-radius:99px;background:#e5e7eb;color:#374151;letter-spacing:.03em;text-transform:uppercase}
.fwt-state--on_hold{background:#fef3c7;color:#92400e}
.fwt-state--completed{background:#d1fae5;color:#065f46}
.fwt-attention a{color:inherit;text-decoration:underline}
.fwt-filelist{list-style:none;margin:.7em 0 0;padding:0}
.fwt-filelist li{margin:.25em 0;font-size:.95rem}
.fwt-filelist a{color:var(--fwt-accent);text-decoration:none;font-weight:600}
.fwt-filelist a:hover{text-decoration:underline}
.fwt-filelist small{color:var(--fwt-muted)}
.fwt-response{margin:.7em 0 0;padding:8px 12px;border-radius:8px;font-size:.92rem}
.fwt-response--approved{background:color-mix(in srgb,var(--fwt-done) 10%,transparent);color:var(--fwt-done);font-weight:600}
.fwt-response--changes{background:color-mix(in srgb,var(--fwt-progress) 8%,transparent)}
.fwt-approve{margin:.9em 0 0;padding-top:.9em;border-top:1px dashed var(--fwt-line)}
.fwt-approve__label{display:block;font-size:.85rem;color:var(--fwt-muted);margin-bottom:.6em}
.fwt-approve input[type=text],.fwt-approve textarea{display:block;width:100%;max-width:100%;margin-top:4px;padding:8px 10px;border:1px solid var(--fwt-line);border-radius:8px;font:inherit;color:inherit;background:#fff}
.fwt-approve__changes{margin:0 0 .8em}
.fwt-approve__changes summary{cursor:pointer;font-size:.9rem;color:var(--fwt-muted)}
.fwt-approve__changes textarea{margin-top:8px}
.fwt-approve__buttons{display:flex;flex-wrap:wrap;gap:10px}
.fwt-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.fwt-btn{display:inline-block;cursor:pointer;border:0;border-radius:8px;padding:10px 18px;font:inherit;font-weight:700;text-decoration:none;line-height:1.2}
.fwt-btn--ok{background:var(--fwt-accent);color:#fff}
.fwt-btn--alt{background:#fff;color:var(--fwt-text);border:1px solid var(--fwt-line)}
.fwt-btn:hover{filter:brightness(.95)}
.fwt-activity{margin-top:1.8em}
.fwt-activity h3{font-size:1rem;margin:0 0 .5em}
.fwt-activity ul{list-style:none;margin:0;padding:0}
.fwt-activity li{padding:7px 0;border-bottom:1px solid var(--fwt-line);font-size:.92rem}
.fwt-activity .fwt-date{display:inline-block;min-width:96px}
.fwt-contact{text-align:center;margin:2em 0 0}
.fwt-portal__logo{text-align:center;margin:0 0 24px}
.fwt-portal__logo img{max-height:56px;max-width:60%;height:auto}
