:root{--ink:#18352e;--forest:#174d3a;--green:#2d7658;--sun:#efad32;--cream:#f6f2e7;--paper:#fffdf7;--line:#d9ded5;--muted:#65736e;--danger:#9b3535}*{box-sizing:border-box}html{background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.nav,.workspace-header{border-bottom:1px solid #174d3a24;justify-content:space-between;align-items:center;height:76px;padding:0 clamp(24px,6vw,88px);display:flex}.brand{color:var(--forest);font-family:Georgia,serif;font-size:21px;font-weight:700;text-decoration:none}.brand i{color:var(--sun);margin-right:8px;font-family:Arial,sans-serif;font-style:normal}.privacy-pill,.status{color:var(--forest);background:#e2eadf;border-radius:999px;padding:7px 12px;font-size:13px}.landing{min-height:100vh}.hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:82px;max-width:1220px;margin:0 auto;padding:90px 40px 78px;display:grid}.eyebrow{color:var(--green);letter-spacing:.13em;text-transform:uppercase;font-size:12px;font-weight:800}h1,h2,h3{font-family:Georgia,serif;font-weight:500}.hero h1{letter-spacing:-.035em;margin:16px 0 22px;font-size:clamp(45px,5vw,70px);line-height:1.02}.lede{color:var(--muted);max-width:620px;font-size:19px;line-height:1.65}.primary,.secondary{border-radius:7px;padding:12px 18px;font-weight:700}.primary{border:1px solid var(--forest);background:var(--forest);color:#fff}.secondary{border:1px solid var(--green);color:var(--forest);background:0 0}.large{margin-top:20px;padding:16px 23px}.fine{color:var(--muted);font-size:12px}.invite{max-width:544px;margin-top:20px}.invite label{margin-bottom:7px;font-weight:700;display:block}.invite>div{gap:8px;display:flex}.invite input{flex:1;min-width:0}.invite p{color:var(--muted);margin:8px 0 0;font-size:13px}.invite-compact{border-top:1px solid var(--border);padding-top:16px}.preview{background:var(--forest);color:#fff;border-radius:3px;padding:38px;box-shadow:20px 20px #e7ddc7}.preview .eyebrow{color:#d2deb9}.preview-row{border-bottom:1px solid #ffffff29;align-items:center;gap:18px;padding:23px 0;display:flex}.preview-row div{flex-direction:column;gap:8px;display:flex}.preview-row small{color:#c1cec8}.qa-status{border-radius:999px;margin-top:8px;padding:5px 9px;font-size:.78rem;font-weight:700;display:inline-flex}.qa-status.passed{color:#285a32;background:#e7f2e8}.qa-status.review{color:#8b351e;background:#fbe7df}.qa-status.paused,.qa-status.pending{color:#70591b;background:#f6edcf}.qa-retry{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;margin-left:8px;text-decoration:underline}.date-card{text-align:center;background:var(--sun);color:#263d34;letter-spacing:.08em;flex:0 0 59px;width:59px;padding:7px;font-size:10px}.date-card b{font-size:23px}.date-card.muted{background:#dce4da}.source-note{color:#d0d8d3;margin-top:24px;font-size:13px;line-height:1.5}.steps{border-top:1px solid #d9d2c2;grid-template-columns:repeat(3,1fr);gap:48px;max-width:1220px;margin:0 auto;padding:42px 40px 72px;display:grid}.steps article>b{color:var(--sun)}.steps h2{margin:9px 0;font-size:22px}.steps p{color:var(--muted);line-height:1.55}.workspace{background:#f9f8f2;min-height:100vh}.workspace-header{background:var(--paper);padding:0 30px}.workspace-grid{grid-template-columns:330px 1fr;min-height:calc(100vh - 76px);display:grid}.sidebar{border-right:1px solid var(--line);background:#edf0e8;padding:34px 28px}.sidebar h1{margin:6px 0 10px;font-size:29px}.sidebar>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.5}.dropzone{text-align:center;cursor:pointer;background:#ffffff9e;border:1px dashed #8ca293;border-radius:5px;flex-direction:column;align-items:center;gap:7px;margin:26px 0 12px;padding:25px 12px;display:flex}.dropzone input{opacity:0;pointer-events:none;position:absolute}.dropzone span{color:var(--green);font-size:25px}.dropzone small,.file small{color:var(--muted);margin-top:4px;display:block}.sidebar>.primary{width:100%}.sidebar .provider-note{color:var(--muted);font-size:11px;line-height:1.45}.file-list{flex-direction:column;gap:8px;margin-top:28px;display:flex}.file{border:1px solid var(--line);background:#ffffffb3;justify-content:space-between;align-items:center;padding:12px;font-size:12px;display:flex}.file strong{text-overflow:ellipsis;white-space:nowrap;max-width:210px;display:block;overflow:hidden}.file button{color:var(--danger);background:0 0;border:0;font-size:19px}.content{padding:40px clamp(26px,5vw,72px) 80px;overflow:hidden}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.chat-panel{background:var(--paper);border:1px solid var(--line);flex-direction:column;min-height:620px;margin-bottom:34px;display:flex}.chat-panel>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:24px;padding:26px 28px 20px;display:flex}.chat-panel>header h1{margin:5px 0 7px;font-size:31px}.chat-panel>header p:not(.eyebrow){color:var(--muted);margin:0}.chat-thread{flex-direction:column;flex:1;gap:16px;min-height:360px;max-height:620px;padding:26px;display:flex;overflow:auto}.chat-empty{text-align:center;max-width:520px;color:var(--muted);margin:auto}.chat-empty span{color:var(--sun);font-size:35px}.chat-empty h2{color:var(--ink);margin:10px 0}.chat-message{border:1px solid var(--line);background:#f4f5ef;max-width:82%;padding:15px 17px;line-height:1.55}.chat-message.user{background:#e5eddf;align-self:flex-end}.chat-message.assistant{align-self:flex-start}.chat-message>strong{color:var(--green);text-transform:uppercase;letter-spacing:.07em;font-size:12px}.chat-message>p{white-space:pre-wrap;margin:7px 0 0}.chat-sources{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;margin-top:13px;padding-top:11px;display:flex}.chat-sources>strong{text-transform:uppercase;width:100%;color:var(--muted);font-size:11px}.chat-sources a{color:var(--green);font-size:12px}.general-guidance{border-left:3px solid var(--sun);background:#fff7df;margin-top:14px;padding:12px}.general-guidance strong{font-size:12px}.general-guidance p{margin:6px 0 0}.chat-progress{color:var(--muted);font-size:13px}.chat-composer{border-top:1px solid var(--line);gap:10px;padding:18px 22px;display:flex}.chat-composer textarea{resize:vertical;min-height:50px;max-height:140px;color:var(--ink);background:#fff;border:1px solid #aeb9b0;border-radius:7px;flex:1;padding:12px}.chat-composer button{align-self:flex-end}.chat-policy{color:var(--muted);padding:0 22px 18px}.banner{border-left:4px solid var(--green);background:#e5eddf;margin-bottom:22px;padding:13px 16px;font-size:14px}.error-banner,.error{color:var(--danger);border-color:var(--danger);background:#fae8e5}.date-panel{background:var(--paper);border:1px solid var(--line);margin-bottom:34px;padding:26px}.date-panel h2,.results-head h2{margin:5px 0 8px;font-size:28px}.date-panel>p:not(.eyebrow){color:var(--muted)}.candidates{flex-wrap:wrap;gap:8px;margin:15px 0;display:flex}.candidates span{border:1px solid var(--line);background:#edf0e8;padding:7px 10px;font-size:12px}.date-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0;display:grid}.date-grid label{flex-direction:column;gap:7px;font-size:12px;font-weight:700;display:flex}.date-grid input,.date-grid select{background:#fff;border:1px solid #aeb9b0;padding:10px}.date-choice{align-items:center;gap:9px;margin-top:18px;font-size:14px;font-weight:600;display:flex}.date-choice input{width:16px;height:16px}.date-panel .estimate-notice{color:#755400;margin-top:-10px;font-weight:600}.results-head{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.results-head p{margin:0}.installation-summary{color:var(--muted);margin:0 0 12px}.table-wrap{border:1px solid var(--line);background:var(--paper);overflow:auto}table{border-collapse:collapse;width:100%;min-width:1100px;font-size:13px}th{text-align:left;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;background:#f0f1eb;font-size:11px}th,td{vertical-align:top;border-bottom:1px solid var(--line);padding:14px}td{line-height:1.45}.timeline-table th:first-child{width:11%}.timeline-table th:nth-child(2){width:13%}.timeline-table th:nth-child(3){width:15%}.timeline-table th:nth-child(4){width:12%}.timeline-table th:nth-child(5){width:27%}.timeline-table th:nth-child(6){width:9%}.timeline-table th:nth-child(7){width:13%}.details-cell{min-width:260px}.source-cell{max-width:170px}.calendar-download{border:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:center;gap:24px;margin-top:24px;padding:20px 22px;display:flex}.calendar-download h2{margin:4px 0 7px;font-size:21px}.calendar-download p{color:var(--muted);margin:5px 0}.calendar-download small{color:var(--muted)}.calendar-download .primary{flex:none}td small.precision{text-transform:capitalize;background:#e2eadf;border-radius:3px;width:max-content;margin-top:7px;padding:2px 6px;display:block}.precision.estimated{background:#fff0c9}details summary{color:var(--green);cursor:pointer}details q{color:var(--muted);margin-top:7px;display:block}.empty{text-align:center;background:var(--paper);border:1px solid var(--line);padding:70px 20px}.empty span{color:var(--sun);font-size:35px}.empty h3{margin:10px;font-size:24px}.empty p{color:var(--muted);max-width:500px;margin:auto}.notes,.failures{margin-top:30px}.notes article,.failures div{background:var(--paper);border:1px solid var(--line);margin:8px 0;padding:16px}.notes p{color:var(--muted);margin:7px 0 0}.importance-label{color:var(--muted);letter-spacing:.06em;margin-left:10px;font-size:11px;font-weight:700;display:inline-block}.failures div{justify-content:space-between;align-items:center;display:flex}.center{place-items:center;min-height:100vh;display:grid}@media (max-width:850px){.hero{grid-template-columns:1fr;padding-top:55px}.steps,.workspace-grid{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line)}.date-grid{grid-template-columns:1fr}.calendar-download{flex-direction:column;align-items:flex-start}.chat-panel{min-height:540px}.chat-panel>header{flex-direction:column}.chat-message{max-width:95%}.chat-composer{flex-direction:column}.chat-composer button{align-self:stretch}}
