:root{color:#1f2937;background:#f3f4f6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input,select,textarea{font:inherit}button,.file-button{color:#111827;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:.5rem;padding:.5rem .75rem}button:hover,.file-button:hover{background:#f8fafc}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.file-button:focus-within{outline-offset:2px;outline:3px solid #60a5fa}textarea{resize:vertical;min-height:4.5rem}input,select,textarea{background:#fff;border:1px solid #cbd5e1;border-radius:.45rem;width:100%;min-width:0;padding:.45rem}label{gap:.3rem;font-weight:650;display:grid}main{gap:1rem;padding:1rem;display:grid}.app-shell{min-height:100vh}.topbar{color:#f9fafb;background:#111827;grid-template-columns:minmax(18rem,1fr) auto minmax(18rem,1.2fr);align-items:center;gap:1rem;padding:1.25rem;display:grid}.topbar h1{margin:.1rem 0;font-size:clamp(1.8rem,3vw,2.7rem)}.topbar p{color:#cbd5e1;margin:0}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}.counts{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:flex}.status-card{background:#1f2937;border:1px solid #374151;border-radius:.75rem;gap:.25rem;min-width:14rem;padding:.75rem;display:grid}.status-card span{color:#cbd5e1;font-size:.9rem}.panel,.table-panel,.warnings{background:#fff;border:1px solid #d1d5db;border-radius:.85rem;padding:1rem;box-shadow:0 1px 2px #0f172a14}.panel h2,.warnings h2{margin-top:0}.review-groups{gap:.85rem;display:grid}.review-group{background:#fff;border:1px solid #d1d5db;border-radius:.85rem;overflow:hidden;box-shadow:0 1px 2px #0f172a14}.review-group>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:.65rem;padding:.85rem 1rem;font-weight:800;display:flex}.review-group[open]>summary{border-bottom:1px solid #e5e7eb}.review-group .table-panel{box-shadow:none;border:0;border-radius:0}.empty-group{color:#64748b;margin:0;padding:1rem}.new-form{grid-template-columns:repeat(4,minmax(10rem,1fr)) auto;align-items:end;gap:.75rem;display:grid}.toolbar{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.toolbar label{min-width:12rem}.toolbar .check{grid-template-columns:auto 1fr;align-items:center;gap:.4rem;min-width:auto;display:flex}.check input{width:auto}.file-button{place-items:center;font-weight:650;display:inline-grid;position:relative}.file-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.badge{color:#111827;white-space:nowrap;background:#e5e7eb;border-radius:999px;align-items:center;padding:.28rem .5rem;font-size:.78rem;font-weight:750;line-height:1;display:inline-flex}.badge.danger{color:#991b1b;background:#fee2e2}.danger-button{color:#991b1b;border-color:#fecaca}.warnings{background:#fffbeb;border-color:#f59e0b}.table-panel{padding:0;overflow:auto}table{border-collapse:collapse;width:100%;min-width:1280px}.model-review-app table{min-width:1680px}caption{text-align:left;padding:1rem;font-size:1.1rem;font-weight:800}th,td{text-align:left;vertical-align:top;border-top:1px solid #e5e7eb;padding:.75rem}th{z-index:1;color:#334155;text-transform:uppercase;letter-spacing:.04em;background:#f8fafc;font-size:.82rem;position:sticky;top:0}tr:hover td{background:#fafafa}code{color:#334155;overflow-wrap:anywhere;font-size:.85rem}.thumb,.prompt-thumb{text-align:center;background:#f8fafc;width:13rem;min-height:7.4rem;padding:0;position:relative;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:7.4rem;display:block}.model-thumb img{object-fit:contain;background:#f1f5f9}.model-preview-stack{gap:.45rem;width:13rem;display:grid}.model-view-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;display:grid}.model-view-button{text-align:left;grid-template-columns:2.75rem minmax(0,1fr);align-items:center;gap:.3rem;width:100%;padding:.25rem;display:grid}.model-view-button img{object-fit:contain;background:#f8fafc;border-radius:.35rem;width:2.75rem;height:2.75rem}.model-view-button span,.missing-views{color:#475569;text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;font-weight:750;overflow:hidden}.missing-views{text-align:center;display:block}.model-view-dialog{gap:.65rem;margin:0;display:grid}.model-view-dialog img{object-fit:contain;background:#f8fafc;border:1px solid #cbd5e1;border-radius:.65rem;width:min(68rem,100%);max-height:72vh}.model-view-dialog figcaption{overflow-wrap:anywhere}.thumb .badge{position:absolute;bottom:.4rem;right:.4rem}.prompt-thumb{color:#475569;place-content:center;gap:.3rem;padding:.75rem;display:grid}.prompt-thumb small{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.actions{flex-wrap:wrap;gap:.35rem;min-width:14rem;display:flex}.actions button{padding:.35rem .5rem}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.modal-backdrop{z-index:20;color:#f8fafc;background:#030712db;display:none;position:fixed;inset:0}.modal-backdrop.is-open{display:grid}.annotation-modal{grid-template-rows:auto 1fr auto;height:100dvh;display:grid}.modal-header,.modal-toolbar{background:#111827;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.8rem 1rem;display:flex}.modal-header h2,.modal-header p{margin:0}.modal-header p{color:#cbd5e1}.ghost{color:#f8fafc;background:0 0;border-color:#64748b}.modal-stage{place-items:center;min-height:0;padding:1rem;display:grid;overflow:hidden}.image-wrap{transform-origin:50%;will-change:transform;place-items:center;max-width:100%;max-height:100%;display:grid;position:relative}#modal-image{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;max-width:calc(100vw - 2rem);max-height:calc(100vh - 10rem);display:block}#annotation-canvas{touch-action:none;cursor:grab;position:absolute;inset:auto}#annotation-canvas.is-annotating{cursor:crosshair}.prompt-review{color:#f8fafc;background:#111827;border:1px solid #475569;border-radius:1rem;max-width:48rem;padding:2rem;font-size:1.25rem;line-height:1.55}.modal-toolbar{justify-content:flex-start}.modal-toolbar label{color:#f8fafc;min-width:10rem}.red-tool{color:#ff4d4d}.mode-toggle,.zoom-controls{flex-wrap:wrap;align-items:center;gap:.35rem;display:inline-flex}.mode-toggle button.is-active{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.zoom-controls span{text-align:center;min-width:3.5rem;font-weight:800}body.modal-open{overflow:hidden}.error{color:#b91c1c;font-weight:800}@media (width<=980px){.topbar{grid-template-columns:1fr}.counts{justify-content:flex-start}.new-form{grid-template-columns:1fr}}.modal-description{color:#d1d5db;margin-top:.25rem}.image-wrap{touch-action:none}#annotation-canvas{width:100%;height:100%;top:0;left:0}.dirty-warning,.preview-note{color:#92400e;background:#fffbeb;border:1px solid #f59e0b;border-radius:.75rem;padding:.75rem}.app-dialog{place-items:center;padding:1rem}.dialog-card{color:#111827;background:#fff;border:1px solid #334155;border-radius:1rem;gap:.85rem;width:min(42rem,100%);max-height:calc(100dvh - 2rem);padding:1rem;display:grid;overflow:auto;box-shadow:0 24px 80px #00000059}.dialog-card h2,.dialog-card p{margin:0}.wide-dialog{width:min(78rem,100%)}.dialog-actions,.action-group{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.preview-note img{object-fit:contain;border-radius:.5rem;max-width:16rem;max-height:10rem;margin-top:.5rem;display:block}.compare-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.compare-grid figure{margin:0}.compare-grid img{border:1px solid #cbd5e1;border-radius:.75rem;width:100%}.actions details{width:100%}.actions details button{margin:.25rem .25rem 0 0}.review-link{color:#111827;background:#fff;border:1px solid #cbd5e1;border-radius:.5rem;place-items:center;min-height:2.5rem;padding:.5rem .75rem;font-weight:650;text-decoration:none;display:inline-grid}.review-link:hover{background:#f8fafc}.model-review-app td:nth-child(5),.model-review-app td:nth-child(8){min-width:10rem}.model-review-app td:nth-child(9){min-width:17rem}.model-review-app td:nth-child(9) textarea{min-height:5rem}td:first-child,th:first-child{z-index:2;background:#fff;position:sticky;left:0}th:first-child{z-index:3;background:#f8fafc}@media (width<=760px){body{overflow-x:hidden}main{gap:.75rem;padding:.75rem}.topbar{gap:.75rem;padding:1rem}.status-card,.toolbar label,.modal-toolbar label{min-width:0}.panel,.warnings{border-radius:.75rem;padding:.9rem}.panel h2,.warnings h2,caption{font-size:1.05rem}.toolbar{grid-template-columns:1fr;display:grid}.toolbar button,.file-button{width:100%}.toolbar .check{justify-content:start}.table-panel{box-shadow:none;background:0 0;border:0;border-radius:0;overflow:visible}table,caption,tbody,tr,td{width:100%;min-width:0;display:block}table{border-collapse:separate;border-spacing:0}.model-review-app table{min-width:0}caption{padding:.25rem 0 .75rem}thead{display:none}tbody{gap:.85rem;display:grid}tr{background:#fff;border:1px solid #d1d5db;border-radius:.75rem;overflow:hidden;box-shadow:0 1px 2px #0f172a14}tr:hover td{background:#fff}th,td{border-top:1px solid #e5e7eb;padding:.7rem}td{gap:.35rem;display:grid}td:first-child,th:first-child{background:#fff;position:static}td:first-child{border-top:0}td:before{color:#475569;content:"";letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:800}td:first-child:before{content:"Preview"}td:nth-child(2):before{content:"Design element"}.model-review-app td:nth-child(2):before{content:"Model reference"}td:nth-child(3):before{content:"Category"}td:nth-child(4):before{content:"Element ID"}.model-review-app td:nth-child(4):before{content:"Model ID"}td:nth-child(5):before{content:"Version"}td:nth-child(6):before{content:"Source"}td:nth-child(7):before{content:"Review status"}td:nth-child(8):before{content:"Decision"}td:nth-child(9):before{content:"Instruction / Notes"}td:nth-child(10):before{content:"Marked"}td:nth-child(11):before{content:"Updated"}td:nth-child(12):before{content:"Actions"}.thumb,.prompt-thumb{width:100%;min-height:9rem}.thumb img{object-fit:contain;height:auto;max-height:16rem}.actions{width:100%;min-width:0}.actions button,.action-group,.actions details{width:100%}.action-group{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.action-group button:last-child:nth-child(odd){grid-column:1/-1}.actions details button{margin:.35rem 0 0}.modal-header,.modal-toolbar{align-items:flex-start;gap:.55rem;padding:.75rem}.modal-header{grid-template-columns:1fr auto;display:grid}.modal-header h2{font-size:1.15rem}.modal-header p,.modal-description{font-size:.9rem}.modal-stage{padding:.75rem;overflow:hidden}#modal-image{max-width:calc(100vw - 1.5rem);max-height:45vh}.dirty-warning{align-self:stretch;width:100%}.modal-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;display:grid}.modal-toolbar strong,.mode-toggle,.zoom-controls,.modal-toolbar label,.modal-toolbar button{width:100%}.mode-toggle button,.zoom-controls button{flex:auto;width:auto}.modal-toolbar strong,.modal-toolbar label{align-self:center}.prompt-review{max-height:100%;padding:1rem;font-size:1rem;overflow:auto}.compare-grid{grid-template-columns:1fr}}
