:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;color:#242626;background:#fff;font-size:14px;letter-spacing:0;--border:#e5e7e7;--muted:#727777;--green:#1a6b53}
*{box-sizing:border-box;letter-spacing:0}body{margin:0;display:grid;grid-template-columns:210px minmax(0,1fr);min-height:100dvh}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;background:none;color:inherit}button:disabled{opacity:.45;cursor:wait}a{color:inherit;text-decoration:none}svg{width:18px;height:18px;flex-shrink:0;stroke-width:1.7}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #2f856d;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:25px;font-weight:550}h2{font-size:17px;font-weight:600}h3{font-size:14px;font-weight:600}.muted{color:var(--muted);font-size:12px;line-height:1.6}.caption{font-size:11px;color:var(--muted);font-weight:500;margin:30px 10px 12px}
.sidebar{background:#f7f8f8;border-right:1px solid var(--border);padding:26px 16px;display:flex;flex-direction:column;gap:8px;height:100dvh;position:sticky;top:0;min-width:0}.brand{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:600;margin-bottom:22px}.brand svg{color:var(--green);width:24px;height:24px}.new-chat{display:flex;align-items:center;gap:9px;text-align:left;padding:11px;background:#fff;border:1px solid #dadddd;border-radius:6px}.sidebar nav{overflow:auto;flex:1}.archive-heading{display:flex;align-items:center;justify-content:space-between}.archive-heading .caption{margin-bottom:0}.archive-count{font-size:10px;color:var(--muted)}.archive-tools{display:flex;gap:6px;margin:4px 0 7px}.archive-tools input,.archive-tools select{min-width:0;width:100%;border:1px solid #dadddd;border-radius:4px;background:#fff;padding:7px 8px;font-size:11px;color:#4b5550}.archive-tools select{width:86px}.history-group>h3{font-size:10px;color:#858d88;font-weight:600;margin:14px 8px 5px}.history-item{display:block;width:100%;text-align:left;padding:10px 8px;border-radius:5px;overflow:hidden;margin-bottom:3px}.history-item:hover,.history-item.active{background:#e9edeb}.history-item strong{display:block;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-area{display:block;font-size:10px;color:#66736c;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-item small{display:block;margin-top:5px;font-size:10px;color:var(--muted)}.archive-empty{padding:18px 8px;color:var(--muted);font-size:11px}footer{display:flex;flex-direction:column;gap:12px;font-size:11px;color:var(--muted);padding:12px 8px 0;border-top:1px solid var(--border)}footer a{display:flex;align-items:center;gap:7px}footer svg{width:12px;height:12px}
#workspace{min-width:0;height:100dvh;display:flex;flex-direction:column}.topbar{height:64px;flex-shrink:0;display:flex;align-items:center;padding:0 25px;gap:12px;border-bottom:1px solid var(--border)}#sessionTitle{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-actions{margin-left:auto;display:flex;align-items:center;gap:14px}.plain-button{display:inline-flex;align-items:center;gap:7px;font-size:12px}.icon-button{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;flex-shrink:0}.icon-button:hover{background:#f0f3f1}.content-layout{display:grid;grid-template-columns:minmax(0,1fr);flex:1;min-height:0}.content-layout.has-report{grid-template-columns:minmax(300px,35%) minmax(0,1fr)}.thread{display:flex;flex-direction:column;position:relative;min-width:0;min-height:0;overflow:hidden}.welcome{margin:auto auto 25px;width:min(600px,90%);padding:25px 10px}.welcome>svg{width:30px;height:30px;margin-bottom:25px;color:var(--green)}.welcome p{margin-top:14px;color:var(--muted);font-size:15px}
.messages{padding:28px 24px 15px;overflow-y:auto;flex:1;min-height:0;scroll-behavior:smooth}.messages:empty{display:none}.message{margin-bottom:26px;font-size:13px;line-height:1.85;overflow-wrap:anywhere}.message .speaker{display:flex;align-items:center;gap:7px;margin-bottom:6px;color:var(--green);font-size:11px}.message.user{margin-left:26px;background:#f1f4f2;border-radius:8px;padding:12px 15px}.message.user .speaker{color:var(--muted)}.message-content{white-space:pre-wrap}.message-images{display:flex;flex-wrap:wrap;gap:7px;margin:7px 0}.message-images button{padding:0;width:100px;height:78px;border-radius:5px;overflow:hidden;background:#eaeeeb}.message-images img{width:100%;height:100%;object-fit:cover}.composer-area{padding:12px 20px 20px;max-width:660px;width:100%;align-self:center;flex-shrink:0}.thread:has(.welcome:not([hidden])) .composer-area{margin-bottom:auto}.composer{border:1px solid #d9dede;border-radius:8px;background:#fff;box-shadow:0 2px 8px #20352b06;padding:8px}.composer:focus-within{border-color:#7caa98}.composer.dragging{border:2px dashed var(--green)}textarea{width:100%;resize:none;border:none;outline:none;min-height:56px;max-height:160px;padding:9px 8px;background:transparent;line-height:1.7;font-size:13px}textarea::placeholder{color:#929797}.composer-toolbar{display:flex;align-items:center;gap:7px}.send-button{margin-left:auto;width:34px;height:34px;border-radius:6px;background:#25634f;color:#fff;display:flex;align-items:center;justify-content:center}.attachments{display:flex;gap:7px;overflow:auto}.attachment{position:relative;flex:0 0 70px;height:65px}.attachment img{width:100%;height:100%;object-fit:cover;border-radius:4px}.attachment button{position:absolute;right:0;top:0;background:#fff;border-radius:50%;height:22px;width:22px;display:grid;place-items:center}.attachment svg{width:13px;height:13px}.upload-target{display:flex;gap:8px;align-items:center;background:#edf5f0;padding:6px;font-size:12px;border-radius:4px}.upload-target span{flex:1}.busy-notice{font-size:12px;line-height:1.7;padding:7px 0;color:var(--green);display:flex;gap:8px}.busy-notice svg{animation:spin 1.6s linear infinite}.error-notice{font-size:12px;line-height:1.7;margin-bottom:8px;padding:8px;background:#fff2ef;color:#994433;border-left:2px solid #cf7964}
.report{border-left:1px solid var(--border);overflow:auto;padding:26px;min-width:0}.report-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:22px}.report-heading p{margin-top:8px}.tabs{display:flex;gap:25px;border-bottom:1px solid var(--border);margin-bottom:20px;position:sticky;top:-26px;background:#fff;z-index:2;padding-top:10px}.tabs button{padding:0 0 12px;font-size:12px;white-space:nowrap;border-bottom:2px solid transparent}.tabs button[aria-selected="true"]{border-color:var(--green);color:var(--green);font-weight:600}.result-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.result-tools select{border:1px solid var(--border);border-radius:4px;padding:6px;font-size:12px;background:#fff}.check{padding:20px 0;border-bottom:1px solid var(--border)}.check:first-child{padding-top:0}.check-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}.check-name{font-size:14px;font-weight:600;line-height:1.7}.category{font-size:10px;color:var(--muted);font-weight:400;margin-bottom:3px}.decision{font-size:11px;white-space:nowrap;display:inline-flex;align-items:center;gap:5px;padding:3px 7px;border-radius:4px;background:#f0f2f1;color:#64706a}.decision.VIOLATION{background:#fff0ec;color:#ac4b32}.decision.COMPLIANT{background:#edf6f0;color:#287650}.decision.UNABLE_TO_DETERMINE{background:#f4f2e9;color:#84723b}.finding{font-size:12px;line-height:1.9;margin-bottom:13px;color:#575f5a}.fields{display:grid;grid-template-columns:86px minmax(0,1fr);gap:10px 12px;margin:0;font-size:12px;line-height:1.8}.fields dt{color:var(--muted)}.fields dd{margin:0;min-width:0;overflow-wrap:anywhere}.evidence-list{display:flex;gap:8px;flex-wrap:wrap}.evidence-thumb{padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px;max-width:126px;color:var(--muted);font-size:10px}.evidence-thumb img{width:126px;height:82px;object-fit:cover;border-radius:4px;border:1px solid var(--border)}.rule-link{text-align:left;padding:0;border-bottom:1px dotted #91a899;color:#32664d;line-height:1.8}.check-actions{display:flex;gap:14px;margin:14px 0 0 98px;flex-wrap:wrap}.text-action{font-size:12px;color:var(--green);padding:3px 0;display:inline-flex;gap:5px;align-items:center}.text-action svg{width:14px;height:14px}.retake-prompt{border-left:2px solid #d6c492;padding-left:12px;margin:14px 0}.retake-prompt p{font-size:12px;line-height:1.8}.retake-prompt button{margin-top:6px}.choice-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.choice-row button,.primary-button{border:1px solid #d9e2dc;border-radius:5px;padding:7px 10px;font-size:12px;background:#f7faf8}.primary-button{background:var(--green);color:#fff;width:100%;margin-top:15px}
.export-button{display:inline-flex;align-items:center;gap:7px;border:1px solid #b9d5c3;border-radius:7px;padding:8px 12px;background:#edf7f0;color:var(--green);font-size:12px;white-space:nowrap}.export-button:hover{background:#dff0e5}.export-button:disabled{opacity:.55;cursor:not-allowed}.export-button svg{width:15px;height:15px}
.stage{padding:16px 0;border-bottom:1px solid var(--border)}.stage summary{cursor:pointer;display:flex;align-items:center;gap:9px;line-height:1.7;font-weight:500;font-size:13px}.stage summary::before{content:"+";color:var(--green)}.stage[open] summary::before{content:"−"}.stage time{margin-left:auto;color:var(--muted);font-size:10px;font-weight:400;white-space:nowrap}.stage-detail{margin-top:12px;font-size:12px;line-height:1.85;color:#4e5852;overflow-wrap:anywhere}.stage-detail>p{margin-bottom:10px}.image-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.image-pair button{text-align:left;padding:0;min-width:0}.image-pair img{width:100%;height:150px;object-fit:contain;background:#f5f6f5;border:1px solid var(--border);border-radius:4px}.image-pair span{display:block;font-size:11px;margin-top:4px}.metrics{display:flex;flex-wrap:wrap;gap:7px 18px;color:var(--muted);font-size:11px;margin:10px 0}.observation{padding:10px 0;border-top:1px solid #eff1ef}.observation strong{font-size:12px}.observation p{margin:5px 0}.facts{margin:0;padding:0;list-style:none;font-size:11px;color:var(--muted)}.facts li{padding:4px 0}.rules-source>p{font-size:12px;line-height:1.9;margin-bottom:18px;color:var(--muted)}.rule-row{border-bottom:1px solid var(--border);padding:15px 0}.rule-row p{font-size:12px;line-height:1.9;margin-top:8px;color:#545d58}.placeholder{padding:40px 0;color:var(--muted);font-size:13px;line-height:1.9}.patch{font-size:12px;border-top:1px solid var(--border);padding-top:12px;margin-top:12px}
dialog{border:1px solid var(--border);border-radius:8px;padding:24px;max-width:calc(100% - 28px);width:410px}dialog::backdrop{background:#13271e4d}dialog header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}dialog label:not(.toggle){display:block;font-size:12px;color:var(--muted);margin:15px 0}dialog input:not([type="checkbox"]){width:100%;display:block;border:1px solid var(--border);border-radius:4px;padding:10px;margin-top:7px;color:#242626}.toggle{display:flex;align-items:center;gap:7px;font-size:12px;margin-top:20px}input[type="checkbox"]{accent-color:var(--green)}#imageDialog{width:1000px}#imagePreview{display:block;width:100%;height:65dvh;object-fit:contain;background:#f3f5f3}#imageOriginal{font-size:12px;color:var(--green);display:inline-block;margin-top:12px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1101px){#menuToggle{display:none}}@media(max-width:1100px){body{grid-template-columns:1fr}.sidebar{display:none}.sidebar.open{display:flex;position:fixed;z-index:20;width:230px;box-shadow:5px 0 30px #20352b20}.content-layout.has-report{grid-template-columns:minmax(280px,38%) minmax(0,1fr)}.report{padding:20px}.tabs{top:-20px;gap:20px}.topbar{padding:0 18px}}
@media(max-width:700px){#workspace{height:auto;min-height:100dvh}.topbar{height:56px;position:sticky;top:0;background:#fff;z-index:5}.content-layout{min-height:calc(100dvh - 56px)}.content-layout.has-report{display:flex;flex-direction:column}.content-layout.has-report .thread{min-height:380px;max-height:70dvh}.report{border-left:0;border-top:1px solid var(--border);overflow:visible;padding:22px 18px}.tabs{position:static}.messages{padding:20px 18px 0}.composer-area{padding:12px 18px 18px}.welcome{padding:20px 10px}h1{font-size:23px}.fields{grid-template-columns:70px minmax(0,1fr);gap:9px}.check-actions{margin-left:79px}.image-pair img{height:125px}.top-actions{gap:8px}.plain-button{font-size:11px}.report-heading h2{font-size:17px}.stage time{display:none}.check-top{gap:7px}.check-name{font-size:13px}}
.remediation-outcome{border-left:2px solid var(--green);padding:0 12px;margin-top:18px;font-size:12px;line-height:1.8}.remediation-outcome p{margin:8px 0}.remediation-outcome h3{font-size:13px;color:var(--green)}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}}
.busy-notice{display:block;padding:10px 0;color:#315e4d}.progress-live{border:1px solid #dce9e2;background:#f5faf7;border-radius:7px;padding:10px 12px}.progress-title{display:flex;align-items:center;gap:7px;color:#215c48}.progress-title strong{font-size:12px;font-weight:600}.progress-steps{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-top:10px}.progress-step{display:flex;flex-direction:column;gap:4px;color:#8b938e;font-size:10px;line-height:1.35}.progress-step i{font-style:normal;width:19px;height:19px;display:grid;place-items:center;border:1px solid #d4ddd8;border-radius:50%;color:#8b938e;background:#fff}.progress-step.done{color:#4b7563}.progress-step.done i{border-color:#83b19d;background:#e4f2ea;color:#267557}.progress-step.active{color:#1f624c;font-weight:600}.progress-step.active i{border-color:#2c856a;background:#2c856a;color:#fff;box-shadow:0 0 0 3px #d7eee3}.history-main{display:flex;align-items:center;gap:6px;min-width:0}.history-status{font-size:9px;line-height:1;padding:3px 4px;border-radius:3px;white-space:nowrap;background:#edf1ef;color:#64706a}.history-status.VIOLATION{background:#fff0ec;color:#ad4938}.history-status.PENDING{background:#f4f2e9;color:#8b6b15}.history-status.COMPLIANT{background:#edf6f0;color:#267557}
.overview-intro{margin-bottom:18px}.overview-intro h3{font-size:18px;line-height:1.6}.overview-intro p{margin-top:4px}
.summary-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--border);margin-bottom:18px}
.summary-card{display:grid;grid-template-columns:18px 1fr;gap:7px 8px;padding:16px 12px;text-align:left;min-width:0;border-bottom:3px solid transparent}
.summary-card svg{grid-row:1;align-self:center;color:var(--muted)}.summary-card strong{font-size:25px;line-height:1.2;font-weight:600}.summary-card span{grid-column:1/-1;font-size:12px;color:#59645f}
.summary-card:hover{background:#f7f9f8}.summary-card[aria-pressed=true]{border-bottom-color:var(--green);background:#f2f7f4}
.summary-card.VIOLATION svg,.summary-card.VIOLATION strong{color:#ad4938}.summary-card.UNABLE_TO_DETERMINE svg,.summary-card.UNABLE_TO_DETERMINE strong{color:#8b6b15}.summary-card.COMPLIANT svg,.summary-card.COMPLIANT strong{color:#267557}.summary-card.NOT_APPLICABLE strong{color:#70777a}
.next-step{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 0 18px;border-bottom:1px solid var(--border)}.next-step p{font-size:13px;line-height:1.6;margin-top:4px}.next-step button{flex-shrink:0}
.overview-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:20px 0 8px}.overview-actions select{margin-left:auto;max-width:150px;background:white;border:1px solid var(--border);border-radius:4px;padding:7px;font-size:12px}.overview-actions [aria-pressed=true]{font-weight:600}
.category-group{padding:12px 0 6px}.category-group>h3{font-size:12px;color:#67726b;padding-bottom:7px;border-bottom:1px solid var(--border)}.category-group>h3>span{float:right;font-weight:400}
.check-summary{border-bottom:1px solid #edf0ee}.check-summary>summary{display:grid;grid-template-columns:minmax(0,1fr) auto 16px;gap:5px 10px;cursor:pointer;padding:12px 0;list-style:none;align-items:center}.check-summary>summary::-webkit-details-marker{display:none}.summary-name{font-size:13px;line-height:1.7}.check-summary>summary>svg{width:15px;height:15px;color:#7c8580}.check-summary[open]>summary>svg{transform:rotate(180deg)}.summary-finding{grid-column:1/-1;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;color:#727b75;line-height:1.7}.check-summary[open] .summary-finding{display:none}.remediation-note{grid-column:1/-1;font-size:11px;color:var(--green)}
.check-detail{padding:3px 0 18px}.check-detail .check{padding:0;border:0}.check-detail .check-top{display:none}.check-detail .finding{margin-bottom:16px}.check-summary[open]{border-bottom-color:#becfc4}.more-retakes{font-size:12px;color:#68736d;margin:12px 0}.more-retakes>summary{cursor:pointer}.mobile-views{display:none}
.confidence-note{margin-top:4px;color:var(--muted);font-size:11px}.confidence-note summary{cursor:pointer}.message-view-note{font-size:11px;color:var(--green);margin:5px 0 7px}.message-images span{display:none}
.composer-toolbar{position:relative}#attachmentMenu:not([hidden]){position:absolute;bottom:44px;left:0;display:grid;gap:4px;background:white;border:1px solid #dfe6e1;border-radius:6px;padding:8px;box-shadow:0 4px 16px #14261b18;z-index:5;min-width:160px}#attachmentMenu .plain-button{padding:9px;text-decoration:none;color:#245940;display:flex;gap:8px}#attachmentMenu .plain-button:hover{background:#edf5ef}
@media(max-width:700px){#workspace{height:100dvh;min-height:0}.mobile-views:not([hidden]){display:flex;gap:22px;padding:0 18px;border-bottom:1px solid var(--border);flex-shrink:0}.mobile-views button{padding:12px 0;border-bottom:2px solid transparent;font-size:13px}.mobile-views button[aria-pressed=true]{border-bottom-color:var(--green);color:var(--green)}.content-layout{min-height:0}.content-layout.has-report{display:flex;flex:1;min-height:0}.content-layout.has-report[data-view=report] .thread{display:none}.content-layout.has-report[data-view=thread] .report{display:none}.content-layout.has-report .thread{min-height:0;max-height:none;flex:1}.content-layout.has-report .report{flex:1;overflow-y:auto;border-top:0;padding:20px 18px}.overview-intro h3{font-size:16px}.summary-card{padding:12px 5px;gap:7px 5px}.summary-card strong{font-size:23px}.summary-card span{font-size:11px}.overview-actions{gap:9px}.overview-actions select{max-width:128px}.report-heading{margin-bottom:12px}.tabs{margin-bottom:16px}.check-detail .fields{grid-template-columns:65px minmax(0,1fr)}.check-detail .check-actions{margin-left:0}.summary-finding{-webkit-line-clamp:2}.check-detail .evidence-thumb{max-width:100px}.check-detail .evidence-thumb img{width:100px;height:72px}.thread:has(.welcome:not([hidden])){min-height:0;flex:1}}
