:root{--ws-ink:#183a3a;--ws-teal:#0c756d;--ws-muted:#657575;--ws-line:#d9e5e1;--ws-soft:#f4f8f6}
.ws-overlay{position:fixed;inset:0;z-index:200;background:var(--ws-soft);overflow:auto;color:var(--ws-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.ws-shell{max-width:1540px;margin:auto;padding:24px 30px 60px}.ws-top{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:22px}.ws-brand{font-size:12px;letter-spacing:1.6px;text-transform:uppercase;font-weight:800;color:var(--ws-teal)}.ws-top h1{font-size:27px;letter-spacing:-.6px;margin:7px 0}.ws-sub{color:var(--ws-muted);font-size:13px;line-height:1.65}.ws-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ws-btn{border:1px solid #c8d8d2;background:#fff;color:var(--ws-ink);border-radius:9px;padding:10px 13px;font:inherit;font-size:13px;font-weight:650;cursor:pointer;white-space:nowrap}.ws-btn:hover{background:#eaf3ef;border-color:#9bbcb0}.ws-btn:focus-visible,.ws-card:focus-visible{outline:3px solid #56ad99;outline-offset:3px}.ws-btn.primary{background:var(--ws-teal);color:white;border-color:var(--ws-teal)}.ws-btn.danger{color:#a23030;border-color:#e4b4b4}.ws-btn:disabled{opacity:.5;cursor:wait}.ws-btn.small{font-size:12px;padding:6px 10px}
.ws-status{padding:8px 0;color:var(--ws-muted);font-size:12px;min-height:32px}.ws-status.error{color:#ad2424;background:#fff1f1;padding:12px;border-radius:8px}.ws-status.success{background:transparent;color:#126843;border:0}.ws-tabs{display:flex;gap:6px;border-bottom:1px solid var(--ws-line);padding-bottom:12px;overflow-x:auto;margin-bottom:22px}.ws-tabs button{border:0;background:transparent;color:#536b66;padding:11px 14px;border-radius:9px;font-size:13px;white-space:nowrap;cursor:pointer}.ws-tabs button.active{background:#dceee7;color:#135b50;font-weight:750}.ws-tabs button.ws-private{margin-left:auto;background:#fff1e3;color:#895519}
.ws-panel{background:#fff;border:1px solid var(--ws-line);border-radius:15px;padding:22px;margin-bottom:18px}.ws-panel h2{font-size:19px;margin:0 0 8px;letter-spacing:-.3px}.ws-panel h3{font-size:15px;margin:0 0 12px}.ws-two{display:grid;grid-template-columns:1.12fr 1fr;gap:20px}.ws-three{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.ws-stat{background:#e7f0eb;border-radius:13px;padding:18px}.ws-stat b{display:block;font-size:26px;margin-bottom:3px}.ws-stat span{font-size:12px;color:#52706a}.ws-label{display:block;font-size:12px;font-weight:700;margin:18px 0 6px;color:#526d64}
.ws-field input,.ws-field textarea,.ws-field select{width:100%;border:1px solid #cbdad3;border-radius:8px;padding:10px;background:#fff;color:#213e38;font:inherit;font-size:13px;box-sizing:border-box}.ws-field textarea{min-height:94px;resize:vertical;line-height:1.55}.ws-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.ws-field.wide{grid-column:1/-1}.ws-field input:focus,.ws-field textarea:focus,.ws-field select:focus{outline:2px solid #71af99;outline-offset:1px}.ws-note{font-size:13px;line-height:1.65;color:var(--ws-muted);margin:8px 0 18px}.ws-note.amber{background:#fff6e6;color:#856023;padding:12px;border-radius:8px}.ws-pre{white-space:pre-wrap;line-height:1.65;font-size:13px;overflow-wrap:anywhere}.ws-empty{border:1px dashed #ccdbd4;border-radius:10px;padding:24px;color:#72847c;font-size:13px;text-align:center}.ws-empty.tight{padding:12px}
.ws-gridwrap{overflow-x:auto;border:1px solid var(--ws-line);border-radius:12px;background:white}.ws-grid{width:100%;min-width:930px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:13px}.ws-grid th{padding:16px 12px;background:#e8f1ec;color:#234b42;text-align:left;border-right:1px solid var(--ws-line);border-bottom:1px solid var(--ws-line)}.ws-grid th:first-child{width:135px}.ws-grid td{vertical-align:top;padding:10px;border-right:1px solid var(--ws-line);border-bottom:1px solid var(--ws-line);background:#fff}.ws-grid td:first-child{background:#f7faf8;font-size:12px;font-weight:700;color:#527064}.ws-grid tr:last-child td{border-bottom:0}.ws-grid td:last-child,.ws-grid th:last-child{border-right:0}.ws-year{font-size:11px;font-weight:400;margin-top:5px;display:block;color:#6b8378}.ws-current{box-shadow:inset 0 3px var(--ws-teal)}
.ws-card{display:block;width:100%;text-align:left;border:1px solid #d5e3dc;background:#f7faf8;border-radius:9px;padding:10px;margin:0 0 8px;color:#224438;cursor:pointer;font:inherit;box-sizing:border-box}.ws-card:hover{border-color:#83ad9b;background:#f0f7f2}.ws-card.actual{background:#f3f5f6;border-color:#e0e6e8;cursor:default}.ws-card.cancelled{opacity:.6}.ws-card-title{font-weight:650;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.ws-card-meta{font-size:11px;color:#6c8076;line-height:1.6;margin-top:5px}.ws-tag{display:inline-block;padding:3px 7px;font-size:10px;font-weight:700;border-radius:5px;background:#e6eee9;color:#426953;margin:5px 4px 0 0}.ws-tag.confirmed,.ws-tag.completed{background:#dcefe4;color:#256440}.ws-tag.considering,.ws-tag.planned{background:#fff0d6;color:#8f6018}.ws-add{border:1px dashed #bacebf;border-radius:8px;background:transparent;color:#44755a;padding:8px;width:100%;font-size:11px;cursor:pointer}.ws-add:hover{background:#eff7f0}.ws-columns{display:grid;grid-template-columns:repeat(4,minmax(230px,1fr));gap:14px;overflow-x:auto}.ws-lane{border:1px solid var(--ws-line);border-radius:12px;background:#edf3ef;padding:12px}.ws-lane h3{margin:3px 0 15px;font-size:15px}.ws-progressline{border-top:1px solid #e2ebe5;margin-top:8px;padding-top:8px;font-size:12px;line-height:1.5}.ws-row{padding:13px 0;border-bottom:1px solid #e6ece8;font-size:13px;line-height:1.6}.ws-row:last-child{border:0}.ws-row strong{display:block;color:#234438}.ws-link{color:#096c65;text-decoration:underline;overflow-wrap:anywhere}.ws-evidence{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:16px}.ws-evidence .ws-panel{margin:0}.ws-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}.ws-kicker{font-size:11px;color:#647b6f;text-transform:uppercase;letter-spacing:1px;margin-bottom:7px;font-weight:650}
dialog.ws-dialog{border:1px solid #d6e3dc;border-radius:16px;padding:0;width:min(730px,94vw);max-height:90vh;color:var(--ws-ink);box-shadow:0 20px 70px #183b3430}dialog.ws-dialog::backdrop{background:#102a2ac2}.ws-dialog-inner{padding:26px}.ws-dialog h2{margin:0;font-size:22px}.ws-dialog footer{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.ws-dialog footer .danger{margin-right:auto}.ws-stamp{padding:10px 14px;background:#ecf4ef;border-radius:8px;font-size:12px;margin-bottom:20px;line-height:1.7}.ws-private-panel{border-color:#efd9bd;background:#fffaf4}.ws-private-panel .ws-kicker{color:#916630}.ws-review{max-width:1200px;margin:auto}.ws-review-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.ws-review-col{padding:14px;border:1px solid var(--ws-line);border-radius:10px}.ws-review-col h3{margin:0 0 12px}.ws-family{min-height:100vh;background:var(--ws-soft)}.ws-family-select{max-width:340px;padding:10px;border:1px solid var(--ws-line);border-radius:8px;font:inherit;background:white}.ws-separator{margin:24px 0;border:0;border-top:1px solid var(--ws-line)}
@media(max-width:900px){.ws-shell{padding:18px 16px 40px}.ws-top{align-items:flex-start;flex-direction:column}.ws-top h1{font-size:23px}.ws-two,.ws-three{grid-template-columns:1fr}.ws-panel{padding:17px}.ws-review-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.ws-fields,.ws-review-grid{grid-template-columns:1fr}.ws-field.wide{grid-column:auto}.ws-tabs button{padding:10px}.ws-actions{gap:6px}.ws-btn{padding:9px 11px}.ws-dialog-inner{padding:18px}}
@media print{@page{size:Letter landscape;margin:.45in}body.ws-printing>*{display:none!important}body.ws-printing>#fr360Print{display:block!important}.ws-no-print{display:none!important}.ws-review-grid{display:grid;grid-template-columns:repeat(4,1fr)}.ws-panel,.ws-review-col{break-inside:avoid;box-shadow:none}.ws-panel{padding:12px;margin-bottom:10px}.ws-pre{font-size:11px}.ws-row{font-size:11px}.ws-review{max-width:none;color:#111}.ws-review h1{font-size:22px}.ws-stamp{background:white;border:1px solid #bbb}.ws-link{color:#111}a{word-break:break-word}}

/* One shared website logo across portal and printed plans. */
.ws-brand>svg{display:block;width:225px;max-width:100%;height:auto;margin-bottom:8px}.ws-brand>span{display:block}
