:root{--g:#153f33;--gold:#b2914c;--ink:#263e33;--muted:#66786e;--line:#dce4dd}*{box-sizing:border-box}body{margin:0;background:#f5f5ef;color:var(--ink);font:15px/1.55 system-ui,sans-serif}header{padding:25px max(24px,calc((100vw - 1180px)/2));display:flex;justify-content:space-between;align-items:center;background:var(--g);color:white;gap:20px}.brand{font:27px Georgia,serif}.brand small{display:block;color:#e1c58d;font:10px system-ui;letter-spacing:2px;margin-top:8px}main{max-width:1180px;margin:auto;padding:25px}.pilot{padding:12px 17px;background:#f0e8d6;border:1px solid #dfcfac;border-radius:8px;color:#6d5628;font-size:13px;margin-bottom:20px}h1,h2,h3{font-family:Georgia,serif;font-weight:normal}h1{font-size:31px}h2{font-size:23px}.card{background:white;border:1px solid var(--line);border-radius:12px;padding:27px;margin:20px 0}.auth{max-width:490px;margin:35px auto}.muted{color:var(--muted)}label{display:block;margin:16px 0;font-size:13px}input,select,textarea{display:block;font:inherit;width:100%;border:1px solid #c6d2c9;border-radius:7px;padding:11px;margin-top:6px;background:white;color:var(--ink)}button{font:inherit;cursor:pointer;padding:10px 17px;border-radius:7px;background:var(--g);color:white;border:1px solid var(--g);margin:4px 6px 4px 0}button.secondary{background:white;color:var(--g)}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:15px 0;border-bottom:1px solid var(--line)}.row p{margin:3px 0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.tag{font-size:11px;padding:5px 10px;border-radius:20px;background:#edf3ed}.error{color:#8c2929}#status:not(:empty){padding:12px 17px;border-radius:7px;background:#e8efe8;white-space:pre-wrap;overflow-wrap:anywhere}.qr{width:220px;max-width:100%;display:block;margin:20px auto}.manual-secret{font-family:monospace;overflow-wrap:anywhere;user-select:all;padding:12px;background:#f5f5ef}footer{max-width:1180px;margin:25px auto;padding:25px;color:var(--muted);font-size:12px}a{color:inherit}.controls{display:flex;flex-wrap:wrap;gap:5px}#identity{font-size:12px;text-align:right}.empty{padding:22px;border:1px dashed var(--line);border-radius:7px}.search{max-width:360px;margin-bottom:20px}@media(max-width:700px){header{align-items:flex-start;flex-direction:column;padding:22px}.grid{grid-template-columns:1fr}main{padding:16px}.card{padding:20px}h1{font-size:26px}}

fieldset{border:1px solid var(--line);border-radius:8px;padding:12px 18px;margin:20px 0}legend{padding:0 8px;color:var(--g)}input[type=checkbox]{display:inline-block;width:auto;margin:0 9px 0 0;vertical-align:middle}label:has(input[type=checkbox]){display:flex;flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:8px}section>label{max-width:760px}.row{flex-wrap:wrap}button{white-space:normal}input:disabled{background:#f0f2ee;color:var(--muted)}

details.card summary{cursor:pointer;font-weight:600;color:var(--g)}details li{margin:10px 0}fieldset label{line-height:1.6}section>label{margin-bottom:22px}

.dashboard-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.metric-card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:10px;padding:20px}.metric-card p{margin:0}.metric-count{display:block;font-size:34px;color:var(--g);margin:8px 0}.metric-card small{display:block;color:var(--muted)}.dashboard-filters{display:grid;grid-template-columns:1fr 1fr 2fr;gap:18px}.dashboard-filters label{margin:0}.dashboard-filters label:last-child{grid-column:1/-1}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:14px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;color:var(--muted)}td:first-child{min-width:180px}td:last-child{min-width:150px}.closed{background:#f0e8d6;color:#6d5628}.dashboard-intro .tag{display:inline-block;margin-left:10px}@media(max-width:700px){.dashboard-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-filters{grid-template-columns:1fr}.metric-card{padding:14px}.metric-count{font-size:28px}}@media(max-width:380px){.dashboard-summary{grid-template-columns:1fr}}
:root{--g:#123c30;--gold:#ac873f;--ink:#20392f;--muted:#5d7066;--line:#dce4db}body{background:#f5f5ef}header{background:#fffef9;color:var(--g);border-bottom:3px solid var(--gold);padding-top:17px;padding-bottom:17px}.brand{display:block;line-height:1}.brand img{display:block;width:280px;height:auto;max-width:100%}.header-right{display:flex;gap:24px;align-items:center}.portal-label{font-size:10px;font-weight:700;letter-spacing:2.5px;color:var(--muted)}.portal-notice{font-size:12px;line-height:1.6;color:var(--muted);border-left:3px solid #c5ad76;padding:10px 16px;margin:0 0 20px;background:#eeefe6}.welcome-hero{display:none}.welcome-layout{display:block}body[data-screen=welcome] .welcome-layout,body[data-screen=authentication] .welcome-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:stretch}body[data-screen=welcome] .welcome-hero,body[data-screen=authentication] .welcome-hero{display:flex;flex-direction:column;justify-content:space-between}.welcome-hero{border-radius:18px;background:linear-gradient(140deg,#143f32,#09271f);padding:40px 35px;color:#fffef8;box-shadow:0 12px 36px #123c3012}.eyebrow{font-size:10px;letter-spacing:2.8px;color:#dfc68e;margin:0 0 21px}.welcome-hero h1{font:42px/1.16 Georgia,serif;color:#fffef8;margin:0 0 20px}.welcome-copy{color:#d6e0d8;max-width:390px}.welcome-steps{list-style:none;padding:0;margin:30px 0}.welcome-steps li{display:flex;gap:15px;margin:22px 0}.welcome-steps li>span{color:#e0c68c;border:1px solid #9b874d;border-radius:50%;width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;font-size:11px}.welcome-steps strong{font-weight:600;font-size:14px}.welcome-steps p{font-size:12px;line-height:1.65;color:#c9d8cf;margin:5px 0 0}.hero-signature{font:italic 19px Georgia,serif;color:#e2cc98;border-top:1px solid #ffffff25;padding-top:22px;margin-bottom:0}.auth{max-width:none;margin:0;min-height:100%;border-radius:18px;padding:35px;box-shadow:0 12px 36px #123c3008}.auth h1{margin-top:0;font-size:30px}.auth label{font-size:13px;font-weight:600}.auth form>button{width:100%;margin:20px 0 8px;padding:13px}.auth>button{display:block;width:100%;margin:10px 0}.auth input{min-height:47px}.card{box-shadow:0 4px 20px #143f3204}.metric-card{transition:box-shadow .15s}.metric-card:hover{box-shadow:0 6px 20px #123c300b}footer{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid var(--line);margin-top:35px}footer strong{font:21px Georgia,serif;color:var(--g)}footer p{margin:6px 0}.footer-links{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.footer-note{grid-column:1/-1;font-size:11px;max-width:850px}.skip-link{position:absolute;left:16px;top:-70px;padding:10px;background:white;z-index:20}.skip-link:focus{top:10px}.loading-message{padding:25px}.owner-dashboard h2{color:var(--g)}@media(max-width:760px){body[data-screen=welcome] .welcome-layout,body[data-screen=authentication] .welcome-layout{grid-template-columns:1fr;gap:20px}.welcome-hero{padding:25px}.welcome-hero h1{font-size:31px}.welcome-steps{display:none}.hero-signature{font-size:16px;padding-top:15px}.auth{padding:25px}.header-right{width:100%;justify-content:space-between;gap:12px}.brand img{width:245px}header{padding:16px 20px;gap:15px}footer{grid-template-columns:1fr;padding:20px}.footer-links{align-items:flex-start}.footer-note{grid-column:auto}.portal-notice{font-size:11px}}

.request-item{padding:20px 0;border-bottom:1px solid var(--line)}.request-item h3{margin:0 0 8px;font-size:21px}.request-item details{padding:12px 0}.request-item input{max-width:700px}.activity-list{list-style:none;padding:0;margin-top:20px}.activity-list li{padding:14px 0 14px 20px;border-left:2px solid #d2bd88;border-bottom:1px solid var(--line)}.activity-list p{margin:4px 0}.document-requests>details{margin-top:25px;padding-top:15px;border-top:1px solid var(--line)}

.message-list{display:flex;flex-direction:column;gap:14px;margin:20px 0}.message-bubble{padding:17px;border:1px solid var(--line);border-radius:12px;background:#f4f5ef;max-width:88%}.message-bubble.mine{align-self:flex-end;background:#e9f0e9;border-color:#b9cdbd}.message-bubble small{display:block;margin-top:4px;font-size:11px}.message-body{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:0}.portal-messages textarea{min-height:120px}.portal-messages form{margin-top:20px;border-top:1px solid var(--line)}@media(max-width:700px){.message-bubble{max-width:100%;width:100%}}

.invoice-link-item{padding:22px 0;border-bottom:1px solid var(--line)}.invoice-link-item h3{margin-top:0}.invoice-link-item .tag{display:inline-block;margin:0 8px 8px 0}.payment-link{display:inline-block;padding:12px 18px;margin:8px 0;background:var(--g);color:white;border-radius:7px;text-decoration:none}.invoice-links>details{margin-top:25px}.invoice-links form{padding-top:10px;max-width:750px}

.agreements>details{margin-top:22px}.agreements summary{cursor:pointer;font-weight:600}.agreements article{overflow-wrap:anywhere}select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

.contact-entry{border-top:1px solid #b8c9c1;padding:1rem 0}.contact-notes{white-space:pre-wrap;overflow-wrap:anywhere}.contact-log textarea{display:block;box-sizing:border-box;width:100%;margin:0.4rem 0 1rem}.contact-log details{margin:1rem 0}.contact-entry small{display:block;margin-top:1rem}

.activity-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:1rem 0}.activity-calendar button{padding:.5rem;min-width:0}.activity-calendar strong{text-align:center;font-size:.8rem}

.wf-directory-row{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid #d5dfd7}.wf-directory-row strong{flex:1 1 16rem}.wf-task{margin:1rem 0;padding:1rem;border:1px solid #c9d7ce;border-radius:10px}.wf-task summary{cursor:pointer;line-height:1.6}.client-workflow form{max-width:800px}.client-workflow textarea{min-height:90px}.client-workflow summary{font-weight:600}
