:root{--color-bg: #f4f5f7;--color-surface: #ffffff;--color-surface-alt: #eceef2;--color-border: #d7dbe2;--color-text: #1c2430;--color-text-muted: #63697a;--color-accent: #2f6f6a;--color-accent-contrast: #ffffff;--color-danger: #b3261e;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:14px;line-height:1.5;text-align:start}h1,h2,h3{font-weight:600;line-height:1.25}a{color:var(--color-accent)}.link-button{padding:0;border:0;background:none;color:var(--color-accent);text-decoration:underline;cursor:pointer}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.app{display:flex;flex-direction:column;min-block-size:100%}.app-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-inline:var(--space-6);padding-block:var(--space-3);background:var(--color-surface);border-block-end:1px solid var(--color-border)}.app-title{margin:0;font-size:1rem;font-weight:600;letter-spacing:.01em}.app-nav{display:flex;align-items:center;gap:var(--space-4)}.app-nav-link{padding-block:var(--space-1);padding-inline:var(--space-1);color:var(--color-text-muted);text-decoration:none;border-block-end:2px solid transparent}.app-nav-link:hover{color:var(--color-text)}.app-nav-link--active{color:var(--color-text);border-block-end-color:var(--color-accent)}.app-main{flex:1;padding-inline:var(--space-6);padding-block:var(--space-6)}.app-user{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-muted);font-size:.8125rem}.app-signout-button{padding-block:var(--space-1);padding-inline:var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer}.app-signout-button:hover{border-color:var(--color-accent);color:var(--color-accent)}.app-loading{min-block-size:100%;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.login-page{min-block-size:100%;display:flex;align-items:center;justify-content:center;padding:var(--space-6)}.login-card{inline-size:100%;max-inline-size:22rem;padding:var(--space-8) var(--space-6);background:var(--color-surface);border:1px solid var(--color-border)}.login-title{margin:0 0 var(--space-1);font-size:1.25rem}.login-subtitle{margin:0 0 var(--space-6);color:var(--color-text-muted);font-size:.875rem}.login-form{display:flex;flex-direction:column;gap:var(--space-4)}.login-form .form-field input{inline-size:100%}.login-form button{padding-block:var(--space-2);padding-inline:var(--space-4);border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-accent-contrast);cursor:pointer}.login-form button:hover{filter:brightness(1.05)}.login-form button:disabled{cursor:not-allowed;opacity:.6;filter:none}.login-secondary-action{display:block;margin-block-start:var(--space-4);padding:0;border:none;background:transparent;color:var(--color-text-muted);text-decoration:underline;cursor:pointer;font-size:.8125rem}.login-secondary-action:hover{color:var(--color-text)}.table{inline-size:100%;border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border)}.table caption{text-align:start}.table th,.table td{padding-inline:var(--space-3);padding-block:var(--space-2);text-align:start;border-block-end:1px solid var(--color-border)}.table th{background:var(--color-surface-alt);color:var(--color-text-muted);font-weight:600;font-size:.8125rem}.table tbody tr:hover{background:var(--color-surface-alt)}.sr-only{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.browse-form,.tag-form{display:flex;align-items:center;gap:var(--space-2);margin-block-end:var(--space-4)}.browse-form label,.tag-form label{color:var(--color-text-muted);font-size:.8125rem}.browse-form input,.tag-form input{padding-block:var(--space-1);padding-inline:var(--space-2);border:1px solid var(--color-border);background:var(--color-surface);min-inline-size:12rem}.browse-form button,.tag-form button{padding-block:var(--space-1);padding-inline:var(--space-3);border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-accent-contrast);cursor:pointer}.browse-form button:hover,.tag-form button:hover{filter:brightness(1.05)}.upload-form,.search-form{display:flex;flex-wrap:wrap;align-items:end;gap:var(--space-4);margin-block-end:var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border)}.form-field{display:flex;flex-direction:column;gap:var(--space-1)}.form-field label{color:var(--color-text-muted);font-size:.8125rem}.form-field input{padding-block:var(--space-1);padding-inline:var(--space-2);border:1px solid var(--color-border);background:var(--color-surface);min-inline-size:10rem}.upload-form button,.search-form button{padding-block:var(--space-2);padding-inline:var(--space-4);border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-accent-contrast);cursor:pointer}.upload-form button:hover,.search-form button:hover{filter:brightness(1.05)}.upload-form button:disabled,.search-form button:disabled{cursor:not-allowed;opacity:.6;filter:none}.upload-version{display:flex;align-items:center;gap:var(--space-2);margin-block-start:var(--space-4)}.upload-version label{color:var(--color-text-muted);font-size:.8125rem}.search-results{display:flex;flex-direction:column;gap:var(--space-4)}.facets{display:flex;flex-wrap:wrap;gap:var(--space-6)}.facet-group h3{margin-block:0 var(--space-2);font-size:.875rem}.facet-list{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:0;margin:0;list-style:none}.facet-chip{padding-block:var(--space-1);padding-inline:var(--space-2);background:var(--color-surface-alt);border:1px solid var(--color-border);font-size:.8125rem;cursor:pointer;color:var(--color-text)}.facet-chip:hover{border-color:var(--color-accent);color:var(--color-accent)}.async-state{margin-block:var(--space-3);padding-block:var(--space-2);padding-inline:var(--space-3);color:var(--color-text-muted)}.async-state--error{color:var(--color-danger);border-inline-start:3px solid var(--color-danger)}.async-state--empty{border:1px dashed var(--color-border);background:var(--color-surface)}.async-state--success{color:var(--color-text);border-inline-start:3px solid var(--color-accent);background:var(--color-surface)}.doc-meta{color:var(--color-text-muted);margin-block-start:0}.tag-list{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:0;margin:0;list-style:none}.tag-pill{display:inline-flex;align-items:center;gap:var(--space-1);padding-block:var(--space-1);padding-inline:var(--space-2);background:var(--color-surface-alt);border:1px solid var(--color-border);font-size:.8125rem}.tag-pill-remove{border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;line-height:1;padding:0;font-size:1rem}.tag-pill-remove:hover{color:var(--color-danger)}.admin-panel{margin-block-end:var(--space-8)}.admin-panel h3{margin-block:0 var(--space-3);font-size:.9375rem}.admin-form{display:flex;flex-wrap:wrap;align-items:end;gap:var(--space-4);margin-block-end:var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border)}.admin-form select{padding-block:var(--space-1);padding-inline:var(--space-2);border:1px solid var(--color-border);background:var(--color-surface);min-inline-size:8rem}.admin-form button{padding-block:var(--space-2);padding-inline:var(--space-4);border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-accent-contrast);cursor:pointer}.admin-form button:hover{filter:brightness(1.05)}.admin-form button:disabled{cursor:not-allowed;opacity:.6;filter:none}.form-field--checkbox{flex-direction:row;align-items:center;gap:var(--space-2)}.form-field--checkbox label{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text);font-size:.8125rem}.template-annotator .annotator-canvas{position:relative;display:inline-block;max-inline-size:100%;margin-block-end:var(--space-4);border:1px solid var(--color-border);background:var(--color-surface-alt);line-height:0;touch-action:none;cursor:crosshair}.annotator-image{display:block;max-inline-size:100%;block-size:auto;-webkit-user-select:none;user-select:none}.annotator-box{position:absolute;border:2px solid var(--color-accent);background:#2f6f6a1f;pointer-events:none}.annotator-box--draft{border-style:dashed;background:#2f6f6a14}.annotator-box-label{position:absolute;inset-block-start:-1.4em;inset-inline-start:0;padding-inline:var(--space-1);background:var(--color-accent);color:var(--color-accent-contrast);font-size:.6875rem;white-space:nowrap}.annotator-fields{margin-block-end:var(--space-4)}.annotator-fields input[type=number]{inline-size:5.5rem;padding-block:var(--space-1);padding-inline:var(--space-2);border:1px solid var(--color-border);background:var(--color-surface)}.annotator-fields input[type=text],.annotator-fields input:not([type]){inline-size:8rem;padding-block:var(--space-1);padding-inline:var(--space-2);border:1px solid var(--color-border);background:var(--color-surface)}.annotator-actions{display:flex;gap:var(--space-2);margin-block-end:var(--space-4)}.annotator-actions button{padding-block:var(--space-2);padding-inline:var(--space-4);border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-accent-contrast);cursor:pointer}.annotator-actions button:hover{filter:brightness(1.05)}.annotator-actions button:disabled{cursor:not-allowed;opacity:.6;filter:none}
