:root{color-scheme:light dark;--color-fg:#1a1a2e;--color-bg:#ffffff;--color-border:#d7dae0;--color-accent:#3454d1;--color-danger:#b3261e;--color-success:#1e7d3c;--focus-ring:2px solid #3454d1}*{box-sizing:border-box}body{margin:0;color:var(--color-fg);background:var(--color-bg);font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.5}a:focus-visible,button:focus-visible,iframe:focus-visible,input:focus-visible,select:focus-visible{outline:var(--focus-ring);outline-offset:2px}.skip-link{position:absolute;left:-9999px;top:0;background:var(--color-accent);color:#fff;padding:.5rem 1rem;z-index:10}.skip-link:focus{left:0}.visually-hidden{clip:rect(0 0 0 0)}.app-header{display:flex;align-items:center;gap:1rem;min-height:4.75rem;padding:.65rem 1.5rem;border-bottom:1px solid var(--color-border);background:#fff}.app-brand{display:inline-grid;place-items:center;width:3.55rem;height:3.55rem;flex:0 0 auto;overflow:hidden;border:0;border-radius:0;background:#fff;box-shadow:none}.app-brand img{display:block;width:3.1rem;height:3.1rem;object-fit:contain}.app-brand:hover{background:#f8fafc}.app-nav{display:flex;flex-wrap:wrap;gap:1rem}.app-account{margin-left:auto}.app-auth-action{display:inline-grid;place-items:center;width:2.35rem;height:2.35rem;padding:0;border:0;border-radius:.35rem;background:transparent;color:var(--color-text);cursor:pointer}.app-auth-action:hover{background:#f2f4f7;color:var(--color-accent)}.app-auth-action:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.app-main{padding:2.75rem 1.5rem 4rem;width:min(80vw,1440px);max-width:none;margin:0 auto}#feedback-list-heading{margin:0 0 1.35rem;font-size:clamp(1.9rem,3vw,2.6rem);letter-spacing:-.045em}.state{padding:1.5rem;border:1px dashed var(--color-border);border-radius:8px}.state-error{border-color:var(--color-danger);color:var(--color-danger)}.status-badge{display:inline-block;min-height:2.1rem;padding:.38rem .64rem;border-radius:.35rem;font-size:.82rem;font-weight:600;line-height:1.2}.status-badge-open{background:#fde7e7;color:var(--color-danger)}.status-badge-awaiting_verification,.status-badge-in_progress{background:#fff3cd;color:#7a5a00}.status-badge-completed{background:#e2f5e8;color:var(--color-success)}.status-badge-archived{background:#eceef1;color:#555}.signed-preview-frame{margin:0}.preview-thumbnail{display:grid;width:100%;padding:0;overflow:hidden;cursor:zoom-in;background:#f7f8fb;border:1px solid var(--color-border);border-radius:8px}.preview-thumbnail:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}.signed-preview-image{display:block;width:100%;height:auto;max-height:min(68vh,42rem);object-fit:contain;transition:transform .16s ease}.preview-thumbnail:focus-visible .signed-preview-image,.preview-thumbnail:hover .signed-preview-image{transform:scale(1.04)}.preview-lightbox{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:1.25rem;background:rgb(0 0 0/82%);cursor:zoom-out}.preview-lightbox-image{max-width:min(96vw,1600px);max-height:92vh;object-fit:contain;cursor:default}.preview-lightbox-close{position:fixed;top:1rem;right:1rem;width:2.5rem;height:2.5rem;border:0;border-radius:999px;color:#fff;background:rgb(0 0 0/70%);font-size:2rem;line-height:1}.feedback-list{width:100%;border-collapse:collapse;table-layout:fixed;overflow:hidden;border:1px solid #e4e7ec;border-radius:.75rem;background:#fff;box-shadow:0 1px 2px rgb(16 24 40/4%)}.feedback-list td,.feedback-list th{text-align:left;padding:.9rem .8rem;border-bottom:1px solid #eaecf0;vertical-align:middle}.feedback-list thead{background:#f8fafc}.feedback-list thead th{color:#475467;font-size:.78rem;font-weight:700;letter-spacing:.02em}.feedback-list tbody tr{transition:background-color .14s ease}.feedback-list tbody tr:hover{background:#f8faff}.feedback-list tbody tr:last-child>*{border-bottom:0}.feedback-summary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feedback-list td:first-child,.feedback-list th:first-child{width:9%}.feedback-list td:nth-child(2),.feedback-list th:nth-child(2){width:14%}.feedback-list td:nth-child(3),.feedback-list th:nth-child(3){width:31%}.feedback-list td:nth-child(4),.feedback-list th:nth-child(4){width:20%;overflow-wrap:anywhere}.feedback-list td:nth-child(5),.feedback-list th:nth-child(5){width:11%}.feedback-list td:nth-child(6),.feedback-list th:nth-child(6){width:15%}.feedback-issue-cell{display:flex;align-items:center;gap:.45rem;min-width:0}.feedback-list-thumbnail{flex:0 0 auto;width:3rem;height:3rem;object-fit:cover;border:1px solid var(--color-border);border-radius:6px;background:#f7f8fb}.attachment-indicator{display:inline-flex;vertical-align:middle;margin-left:.2rem}.attachment-icon{width:1.15rem;height:1.15rem}.login-page{max-width:28rem;margin:10vh auto}.login-form{display:grid;grid-gap:.9rem;gap:.9rem;margin-top:1.5rem}.login-form label{display:grid;grid-gap:.35rem;gap:.35rem;font-weight:650}.login-form button,.login-form input,.project-switcher button,.project-switcher select,.tenant-switcher select{min-height:2.5rem;padding:.45rem .65rem}.project-switcher,.tenant-switcher{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 1.25rem;font-weight:650}.feedback-filters input,.feedback-filters select,.project-switcher select,.tenant-switcher select{border:1px solid #cbd5e1;border-radius:.5rem;background:#fff;color:var(--color-fg)}@media (max-width:640px){.app-main{width:100%;padding:1rem}.signed-preview-image{max-height:min(58vh,30rem)}.feedback-list{font-size:.9rem}.comment-toolbar{gap:.25rem;padding:.4rem}.toolbar-group{padding:0 .3rem}.comment-editor{min-height:7rem;padding:.75rem}.comment-image-queue li{grid-template-columns:2.75rem minmax(0,1fr) auto}.feedback-comment time{margin-left:0}}.form-message-error{color:var(--color-danger)}.form-message-success{color:var(--color-success)}.field-hint{color:#555;font-size:.9rem}.page-heading,.section-heading-row,.snippet-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.eyebrow{margin:0;color:var(--color-accent);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.brand-swatch{width:3rem;height:3rem;border:1px solid var(--color-border);border-radius:50%}.admin-card,.project-card{margin-top:1.5rem}.admin-card,.feedback-comments,.project-card{padding:1.25rem;border:1px solid var(--color-border);border-radius:8px}.feedback-comments{margin:1.5rem 0}.feedback-comments>h2{display:flex;align-items:center}.comment-count{display:inline-flex;min-width:1.35rem;height:1.35rem;align-items:center;justify-content:center;margin-left:.5rem;padding:0 .4rem;border-radius:999px;background:#edf1f7;color:#475467;font-size:.78rem;font-weight:700;vertical-align:middle}.comment-list{display:grid;grid-gap:.85rem;gap:.85rem;margin:0 0 1.5rem;padding:0;list-style:none}.feedback-comment{padding:.9rem 1rem;border:1px solid var(--color-border);border-radius:8px;background:#fbfcfd}.feedback-comment header{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin-bottom:.5rem}.feedback-comment header strong{color:#1a1a2e;font-size:.95rem}.feedback-comment time{margin-left:auto;color:#667085;font-size:.82rem;white-space:nowrap}.comment-body{overflow-wrap:anywhere;color:#344054}.comment-body p:first-child{margin-top:0}.comment-images{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.comment-images img{display:block;width:9rem;height:6rem;object-fit:cover;border:1px solid var(--color-border);border-radius:4px}.comment-composer{display:grid;grid-gap:.75rem;gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid #eaecf0}.comment-composer-label{font-size:.95rem;font-weight:700;color:#1a1a2e}.comment-editor-shell{border:1px solid var(--color-border);border-radius:.6rem;background:#fff;overflow:hidden;transition:border-color .12s ease,box-shadow .12s ease}.comment-editor-shell:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 3px rgb(52 84 209/12%)}.comment-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;padding:.5rem;border-bottom:1px solid var(--color-border);background:#f8fafc}.toolbar-group{display:flex;gap:.15rem;padding:0 .5rem;border-right:1px solid #dde1e8}.toolbar-group:first-child{padding-left:0}.toolbar-group:last-child{padding-right:0;border-right:0}.comment-toolbar button{min-height:2.05rem;min-width:2.05rem;padding:.3rem .5rem;border:0;border-radius:.4rem;background:transparent;color:#344054;font-size:.85rem;cursor:pointer}.comment-toolbar button:hover{background:#e9edf3}.comment-toolbar button:active{background:#dfe4ec}.comment-editor{min-height:8.5rem;padding:.9rem 1rem;overflow-wrap:anywhere}.comment-editor:focus{outline:none}.comment-editor:empty:before{content:attr(data-placeholder);color:#667085;pointer-events:none}.comment-editor blockquote{margin:.75rem 0;padding-left:.75rem;border-left:3px solid var(--color-border);color:#4b5563}.comment-editor pre{padding:.65rem;overflow-x:auto;background:#f5f6f8;border-radius:4px}.comment-image-queue{display:flex;flex-wrap:wrap;gap:.65rem;margin:0;padding:0;list-style:none}.comment-image-queue li{display:grid;grid-template-columns:3.25rem minmax(0,1fr) auto;grid-gap:.6rem;gap:.6rem;align-items:center;min-width:min(100%,18rem);padding:.4rem .5rem .4rem .4rem;border:1px solid var(--color-border);border-radius:.5rem;background:#f8fafc}.comment-image-queue img{width:3.25rem;height:2.6rem;object-fit:cover;border-radius:.35rem}.comment-image-queue span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;color:#344054}.comment-image-queue button{padding:.3rem .55rem;border:1px solid var(--color-border);border-radius:.4rem;background:#fff;color:var(--color-danger);font-size:.78rem;cursor:pointer}.comment-image-queue button:hover{background:#fde7e7}.comment-composer-footer{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.comment-submit{min-height:2.4rem;padding:.45rem 1.15rem;border:0;border-radius:.5rem;background:var(--color-accent);color:#fff;font-size:.92rem;font-weight:650;cursor:pointer;transition:background-color .12s ease}.comment-submit:hover:not(:disabled){background:#2c46b8}.comment-submit:disabled{opacity:.65;cursor:wait}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.feedback-detail-view{max-width:100%}.feedback-detail-header{display:grid;grid-gap:.85rem;gap:.85rem;margin:0 0 2rem}.feedback-detail-back-row{display:flex;align-items:center;min-height:2.35rem}.feedback-detail-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}.feedback-detail-header h1{display:inline-flex;align-items:center;gap:.35rem;margin:0;font-size:clamp(1.65rem,3vw,2.25rem);line-height:1.15;letter-spacing:-.04em}.feedback-detail-status-control{position:relative;display:inline-flex;align-items:center;flex:0 0 auto}.issue-number-badge{height:2.35rem;padding:0 .64rem;border-radius:.35rem;background:#edf1f7;font-size:1.05rem;font-weight:700;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.feedback-back-link,.issue-number-badge{display:inline-flex;align-items:center;color:#344054}.feedback-back-link{flex:0 0 auto;gap:.3rem;min-height:2.35rem;padding:.4rem 0;border:0;border-radius:0;background:transparent;font-size:.88rem;font-weight:650;text-decoration:none}.feedback-back-link:hover{color:var(--color-accent);background:transparent}.status-workflow{position:relative;gap:.4rem}.status-workflow,.status-workflow select{display:inline-flex;height:2.35rem;align-items:center}.status-workflow select{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;padding:.38rem 1.9rem .38rem .64rem;border:0;border-radius:.35rem;color:#7a5a00;background-color:#fff3cd;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1.5 1.5 6 6 10.5 1.5' fill='none' stroke='%23555f6e' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .65rem center;background-size:.6rem;font-family:inherit;font-size:1.05rem;font-weight:700;line-height:1;cursor:pointer}.status-workflow-open select{color:var(--color-danger);background-color:#fde7e7}.status-workflow-awaiting_verification select,.status-workflow-in_progress select{color:#7a5a00;background-color:#fff3cd}.status-workflow-completed select{color:var(--color-success);background-color:#e2f5e8}.status-workflow-archived select{color:#555;background-color:#eceef1}.status-workflow select:disabled{cursor:wait;opacity:.7}.status-workflow-pending{color:#667085;font-size:.78rem;white-space:nowrap}.status-workflow-error{position:absolute;top:calc(100% + .25rem);left:0;color:var(--color-danger);font-size:.78rem;white-space:nowrap}.safe-context-details{margin-top:1.5rem;padding:.9rem 1rem;border:1px solid var(--color-border);border-radius:6px}.safe-context-details summary{cursor:pointer;font-weight:700}.safe-context-panel{margin:1rem 0 0}.feedback-detail-view>section{padding:1.25rem 0;border-top:1px solid #eaecf0}.feedback-detail-view>section.feedback-comments{padding:1.25rem;border:1px solid var(--color-border);border-radius:8px}.feedback-detail-view>section h2{margin:0 0 .85rem;font-size:1.25rem;letter-spacing:-.025em}.feedback-description{max-width:72rem;margin:0;color:#344054;line-height:1.7;white-space:pre-wrap}.definition-list,.project-metrics{display:grid;grid-template-columns:minmax(9rem,auto) 1fr;grid-gap:.5rem 1rem;gap:.5rem 1rem}.definition-list dt,.project-metrics dt{font-weight:700}.definition-list dd,.project-metrics dd{margin:0}.members-table{width:100%;border-collapse:collapse}.members-table td,.members-table th{padding:.7rem .4rem;border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top}.audit-history span,.table-subtitle{display:block}.table-subtitle{color:#555;font-weight:400}.role-chip{display:inline-block;padding:.1rem .45rem;border:1px solid var(--color-border);border-radius:999px;font-size:.85rem}.audit-history{display:grid;grid-gap:.9rem;gap:.9rem;padding-left:1.4rem}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:1rem;gap:1rem}.project-card h2{margin-top:0}.project-metrics{grid-template-columns:repeat(3,1fr);margin:1rem 0}.project-metrics div{display:grid;grid-gap:.15rem;gap:.15rem}.feedback-filters,.inline-form{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.feedback-triage{display:grid;grid-gap:.75rem;gap:.75rem}.feedback-filters{padding:.85rem 1rem;border:1px solid #e4e7ec;border-radius:.75rem;background:#fafbfc}.feedback-filters label{color:#475467;font-size:.88rem;font-weight:700}.feedback-filters input,.feedback-filters select{min-height:2.5rem}.feedback-triage>.field-hint{margin:.15rem 0 .25rem}.feedback-filters input,.feedback-filters select,.inline-form select{min-height:2.25rem;padding:.25rem .5rem}.admin-form{display:grid;grid-gap:.75rem;gap:.75rem;margin:1rem 0;max-width:42rem}.admin-form label{display:grid;grid-gap:.3rem;gap:.3rem}.admin-form input,.admin-form select,.admin-form textarea{min-height:2.25rem;padding:.45rem .6rem}.one-time-secret{overflow-wrap:anywhere;padding:.75rem;border:2px solid var(--color-accent)}@media (max-width:640px){.app-header,.page-heading,.section-heading-row{align-items:flex-start;flex-direction:column}.app-account{margin-left:0}.members-table td:nth-child(3),.members-table th:nth-child(3){display:none}}pre{background:#0f1220;color:#e8eaf6;padding:1rem;border-radius:8px;overflow-x:auto}