:root{--color-bg: #ffffff;--color-surface: #ffffff;--color-surface-muted: #f8f8f8;--color-text: #323232;--color-text-muted: #707070;--color-primary: #323232;--color-accent: #f68989;--color-accent-soft: #fff1f1;--color-border: #e8e3e3;--color-focus: rgba(246, 137, 137, .36);--shadow-soft: 0 18px 48px rgba(50, 50, 50, .08);--font-sans: "Noto Sans TC", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius-sm: 6px;--radius-md: 8px;--app-max-width: 1180px}*{box-sizing:border-box}img,svg,video,canvas{max-width:100%}html{min-width:320px;min-height:100%;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body{min-height:100svh;margin:0;background:var(--color-bg);overflow-x:hidden}button,input,label,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin:0}#root{min-height:100svh}.button,.icon-button,.nav-item,.bottom-nav-item{align-items:center;border:0;display:inline-flex;justify-content:center}.button{border-radius:var(--radius-sm);gap:8px;min-height:44px;padding:0 16px;transition:background .15s ease,color .15s ease,transform .15s ease}label.button{cursor:pointer}.button:active,.icon-button:active,.nav-item:active,.bottom-nav-item:active{transform:translateY(1px)}.button-primary{background:var(--color-primary);color:#fff}.button-secondary{background:var(--color-surface-muted);color:var(--color-text)}.icon-button{background:var(--color-surface-muted);border-radius:var(--radius-sm);color:var(--color-text);gap:8px;min-height:42px;padding:0 12px}.button:focus-visible,.icon-button:focus-visible,.nav-item:focus-visible,.bottom-nav-item:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.eyebrow{color:var(--color-accent);display:block;font-size:.78rem;font-weight:700;letter-spacing:0;line-height:1.2}.brand-mark{align-items:center;aspect-ratio:1;background:var(--color-primary);border-radius:var(--radius-sm);color:#fff;display:inline-flex;font-weight:800;justify-content:center;min-width:42px}.login-page{align-items:center;display:flex;min-height:100svh;padding:20px}.login-panel{margin:0 auto;max-width:440px;padding:24px;width:100%}.login-brand{align-items:center;display:flex;gap:14px;margin-bottom:28px}.login-brand h1{font-size:1.8rem;line-height:1.1;margin-top:6px}.login-form{display:grid;gap:10px}.login-helper{color:var(--color-text-muted);font-size:.9rem;line-height:1.6;margin:0 0 4px}.login-form label{color:var(--color-text-muted);font-size:.92rem;font-weight:700}.login-form input,.create-case-form input,.create-case-form textarea,.consensus-section textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);padding:0 12px}.login-form input,.create-case-form input{min-height:46px}.create-case-form textarea,.consensus-section textarea{min-height:84px;padding-bottom:10px;padding-top:10px;resize:vertical}.login-submit{margin-top:10px;width:100%}.app-shell{display:grid;grid-template-columns:1fr;min-height:100svh}.main-surface{margin:0 auto;max-width:var(--app-max-width);min-width:0;padding:20px 16px 92px;width:100%}.app-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.app-header h1{font-size:1.85rem;line-height:1.15;margin-top:6px}.header-meta{align-items:flex-end;color:var(--color-text-muted);display:flex;flex-direction:column;font-size:.86rem;gap:3px;white-space:nowrap}.case-screen{display:grid;gap:18px;min-width:0}.gallery-screen{display:grid;gap:18px}.gallery-intro-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.followups-screen{display:grid;gap:18px}.page-intro-note{color:var(--color-text-muted);display:flex;font-size:.88rem;font-weight:700;gap:14px;justify-content:space-between;letter-spacing:0;line-height:1.6;min-width:0;padding:0 4px}.page-intro-note span{min-width:0}.status-panel p,.case-row p,.diagnostic-row p{color:var(--color-text-muted);line-height:1.65}.case-grid{display:grid;gap:18px;min-width:0}.case-grid[data-detail-active=true][data-list-visible=false]{cursor:default}.case-list-panel,.status-panel{min-width:0;overflow:hidden;padding:16px}.panel-heading{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.case-list-heading-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.case-list-create-action{min-height:34px;padding:7px 12px}.create-case-form{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:10px;margin-bottom:16px;padding:12px}.create-case-form-actions{display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto}.create-case-form label{color:var(--color-text-muted);font-size:.86rem;font-weight:700}.style-choice-group,.technical-choice-panel{border:1px solid var(--color-border);border-radius:var(--radius-sm);display:grid;gap:8px;margin:2px 0;padding:10px}.style-choice-group legend,.technical-choice-panel summary{color:var(--color-primary);font-size:.88rem;font-weight:900}.technical-choice-panel summary{cursor:pointer}.style-choice-group p,.technical-choice-panel p{color:var(--color-text-muted);font-size:.82rem;font-weight:700;line-height:1.55}.style-choice-row{display:flex;flex-wrap:wrap;gap:8px}.style-choice{align-items:center;display:inline-flex;min-width:0;position:relative}.style-choice input{appearance:none;border:0;clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;margin:-1px;opacity:0;overflow:hidden;pointer-events:none;position:absolute;white-space:nowrap;width:1px}.style-choice span{background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text);display:inline-flex;font-size:.84rem;font-weight:800;line-height:1.3;min-height:34px;min-width:0;padding:7px 11px}.style-choice input:checked+span{background:color-mix(in srgb,var(--color-accent) 16%,#fff);border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.style-choice[data-disabled=true]{cursor:not-allowed}.style-choice[data-disabled=true] span{background:var(--color-surface-muted);color:var(--color-text-muted);opacity:.62}.service-choice-group{background:color-mix(in srgb,var(--color-accent) 5%,#fff)}.style-choice input:focus-visible+span{outline:2px solid var(--color-primary);outline-offset:2px}.case-date-filter{border:0;display:grid;margin:0 0 14px;min-width:0;padding:0}.case-date-filter-row{display:flex;gap:8px;min-width:0;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.case-date-filter-row::-webkit-scrollbar{display:none}.case-date-filter-pill{flex:0 0 auto;position:relative}.case-date-filter-pill input{appearance:none;border:0;clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;margin:-1px;opacity:0;overflow:hidden;pointer-events:none;position:absolute;white-space:nowrap;width:1px}.case-date-filter-pill span{background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text);display:inline-flex;font-size:.82rem;font-weight:900;line-height:1.3;min-height:34px;padding:7px 12px}.case-date-filter-pill input:checked+span{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.case-date-filter-pill input:focus-visible+span{outline:2px solid var(--color-accent);outline-offset:2px}.form-error{color:#a63a3a;font-size:.9rem;font-weight:700}.form-actions{display:flex;flex-wrap:wrap;gap:8px}.form-grid{display:grid;gap:12px;min-width:0}.panel-heading h2,.status-panel h2{font-size:1.18rem;line-height:1.25;margin-top:4px}.count-pill,.tag{background:var(--color-surface-muted);border-radius:999px;color:var(--color-text);display:inline-flex;font-size:.82rem;font-weight:700;min-height:28px;padding:4px 10px}.case-list{display:grid;gap:12px}.case-list-tools{display:grid;gap:10px;grid-template-columns:1fr auto;margin-bottom:10px}.case-search-field,.case-sort-field{align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);display:grid;gap:8px;grid-template-columns:auto 1fr;min-width:0;padding:0 10px}.case-sort-field{color:var(--color-text-muted);font-size:.78rem;font-weight:800;grid-template-columns:auto minmax(92px,1fr);position:relative}.case-sort-field:after{border-bottom:2px solid currentColor;border-right:2px solid currentColor;content:"";height:7px;pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-65%) rotate(45deg);width:7px}.case-search-field input{border:0;min-width:0;padding-inline:0}.case-sort-field select{-webkit-appearance:none;appearance:none;background:transparent;border:0;color:var(--color-primary);font:inherit;line-height:1.45;min-height:38px;padding:4px 26px 4px 4px}.case-list-hint{color:var(--color-text-muted);font-size:.82rem;font-weight:700;line-height:1.5;margin-bottom:10px}.case-list-error{margin-bottom:10px}.toast-region{align-items:start;display:flex;height:auto;justify-content:center;left:0;padding:max(18px,calc(env(safe-area-inset-top) + 14px)) 16px 0;pointer-events:none;position:fixed;right:0;top:0;width:100vw;z-index:220}.toast-message{align-items:center;animation:toast-pop .18s ease-out;background:color-mix(in srgb,var(--color-primary) 92%,transparent);border:1px solid color-mix(in srgb,#fff 14%,transparent);border-radius:12px;box-shadow:0 16px 44px #0000003d,0 6px 18px #0000002e;color:#fff;display:grid;font-size:.98rem;font-weight:800;gap:10px;grid-template-columns:auto 1fr;justify-items:start;line-height:1.4;max-width:min(420px,calc(100vw - 32px));min-width:min(220px,calc(100vw - 32px));padding:12px 16px;text-align:left}.toast-status-icon{align-items:center;color:#fff;display:inline-flex;height:28px;justify-content:center;width:28px}.toast-status-icon svg{height:28px;width:28px}.toast-message[data-tone=notice]{background:color-mix(in srgb,var(--color-primary) 94%,transparent)}.toast-message>span:not(.toast-status-icon){display:block}@keyframes toast-pop{0%{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.case-row{border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:12px;grid-template-columns:1fr auto;padding:12px;position:relative}.case-row:has(.case-reorder-controls){grid-template-columns:auto 1fr auto}.case-row[data-selected=true]{border-color:var(--color-accent)}.case-row[data-pinned=true]{background:color-mix(in srgb,var(--color-accent-soft) 45%,#fff)}.case-row[data-dragging=true]{border-color:var(--color-primary);opacity:.72}.case-row[data-drop-position]:before{background:var(--color-accent);border-radius:999px;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 22%,transparent);content:"";height:6px;left:10px;pointer-events:none;position:absolute;right:10px;z-index:2}.case-row[data-drop-position=before]:before{top:-10px}.case-row[data-drop-position=after]:before{bottom:-10px}.case-reorder-controls{align-self:start;display:grid;gap:6px}.case-reorder-handle,.case-reorder-step{align-items:center;background:var(--color-surface-muted);border:0;border-radius:var(--radius-sm);color:var(--color-text-muted);display:inline-flex;height:32px;justify-content:center;width:32px}.case-reorder-handle{cursor:grab}.case-reorder-handle:active{cursor:grabbing}.case-reorder-step:disabled{cursor:not-allowed;opacity:.42}.case-row-button{background:transparent;border:0;color:var(--color-text);display:grid;gap:12px;grid-template-columns:44px 1fr;padding:0;text-align:left}.case-avatar{align-items:center;aspect-ratio:1;background:var(--color-primary);border-radius:var(--radius-sm);color:#fff;display:flex;font-weight:800;justify-content:center}.case-row h3{font-size:1rem;line-height:1.35;margin-bottom:3px}.case-row-time{align-items:center;color:var(--color-text-muted);display:flex;flex-wrap:wrap;font-size:.78rem;font-weight:800;gap:5px;line-height:1.35;margin-bottom:4px}.case-title-line{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.status-pill{background:var(--color-surface-muted);border-radius:999px;color:var(--color-text-muted);display:inline-flex;font-size:.75rem;font-weight:700;min-height:24px;padding:3px 8px}.case-row-actions{align-self:start;display:grid;gap:6px}.pin-case-button,.delete-case-button{align-items:center;align-self:start;background:transparent;border:0;border-radius:var(--radius-sm);color:var(--color-text-muted);display:inline-flex;height:36px;justify-content:center;width:36px}.pin-case-button{color:var(--color-text-muted)}.pin-case-button[aria-pressed=true]{color:var(--color-primary)}.pin-case-button[aria-pressed=true] svg{fill:currentColor;stroke-width:2.4}.pin-case-button:hover,.pin-case-button:focus-visible,.delete-case-button:hover,.delete-case-button:focus-visible{background:var(--color-surface-muted);box-shadow:inset 0 0 0 1px var(--color-border)}.pin-case-button:hover,.delete-case-button:hover{color:var(--color-primary)}.tag-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.tag{background:var(--color-accent-soft);color:var(--color-primary)}.status-panel{display:grid;gap:10px}.status-panel-empty{align-content:start;min-height:360px}.case-detail-header{align-items:start;display:grid;gap:16px;grid-template-columns:minmax(0,1fr) auto;padding-bottom:2px}.case-detail-heading{display:flex;flex-direction:column;gap:8px;min-width:0}.case-detail-heading h2{line-height:1.35;margin:4px 0 6px}.case-detail-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.case-empty-state{align-content:start;color:var(--color-text-muted);display:grid;gap:12px;max-width:360px;padding:12px 0 4px}.case-empty-state h2{color:var(--color-text);margin:0}.case-empty-state p{margin:0}.case-empty-state-icon{align-items:center;background:var(--color-surface-muted);border-radius:var(--radius-sm);color:var(--color-primary);display:inline-flex;height:44px;justify-content:center;width:44px}.case-empty-state-note{border-left:3px solid var(--color-accent);font-size:.86rem;font-weight:700;padding-left:10px}.mobile-case-back-button{display:none}.case-detail-time{color:var(--color-text-muted);display:flex;flex-wrap:wrap;font-size:.78rem;font-weight:800;gap:8px 12px;line-height:1.35;margin-top:2px}.case-detail-time span{align-items:center;display:inline-flex;gap:5px}.case-gallery-reference-button,.case-list-toggle-button{align-items:center;background:var(--color-surface);border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:inline-flex;font:inherit;font-size:.88rem;font-weight:900;gap:8px;justify-content:center;min-height:38px;padding:8px 10px;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.case-list-toggle-button[aria-pressed=true]{background:var(--color-accent-soft);border-color:transparent;color:var(--color-primary)}.case-gallery-reference-button:hover,.case-list-toggle-button:hover{border-color:var(--color-border-strong);color:var(--color-primary)}.case-gallery-reference-button:focus-visible,.case-list-toggle-button:focus-visible{outline:3px solid rgba(246,137,137,.38);outline-offset:2px}.empty-state{border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);padding:16px;text-align:center}.timeline-list{display:grid;gap:8px;margin-top:4px}.timeline-disclosure{border-top:1px solid var(--color-border);display:grid;gap:10px;padding-top:14px}.timeline-disclosure summary{align-items:center;cursor:pointer;display:flex;gap:12px;justify-content:space-between;list-style:none}.timeline-disclosure summary::-webkit-details-marker{display:none}.timeline-disclosure summary strong{display:block}.timeline-item{border-left:3px solid var(--color-accent);display:grid;gap:3px;padding-left:10px}.timeline-item span{color:var(--color-text-muted);font-size:.82rem}.timeline-item p{color:var(--color-text-muted);font-size:.84rem;line-height:1.5;margin:0}.timeline-reserved-actions{display:flex;flex-wrap:wrap;gap:8px}.timeline-reserved-action{align-items:center;background:var(--color-muted);border:0;border-radius:var(--radius-sm);color:var(--color-primary);cursor:pointer;display:inline-flex;font:inherit;font-size:.86rem;font-weight:800;gap:6px;min-height:38px;padding:8px 11px}.timeline-reserved-action:hover,.timeline-reserved-action:focus-visible{background:var(--color-accent-soft);outline:none}.modal-backdrop{align-items:center;background:#32323252;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:18px;position:fixed;z-index:20}.confirm-dialog{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:0 24px 80px #32323238;display:grid;gap:12px;max-width:420px;padding:20px;width:100%}.confirm-dialog h2{font-size:1.25rem;line-height:1.3}.confirm-dialog p{color:var(--color-text-muted);line-height:1.65}.dialog-actions{display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-top:6px}.dialog-title-row{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;padding-right:4px}.dialog-close-button{flex:0 0 auto;height:38px;width:38px}.before-upload-section,.case-edit-section,.variation-section,.consensus-section,.final-result-section{border-top:1px solid var(--color-border);display:grid;gap:12px;margin-top:8px;min-width:0;padding-top:14px}.before-upload-section h3,.case-edit-section h3,.variation-section h3,.consensus-section h3,.final-result-section h3{font-size:1rem;line-height:1.35;margin-top:4px}.before-upload-section p,.case-edit-section p,.variation-section p,.consensus-section p,.final-result-section p{color:var(--color-text-muted);line-height:1.65}.variation-empty-actions{display:grid;gap:10px}.variation-empty-actions .prerequisite-hint{color:var(--color-text-muted);font-size:.9rem;font-weight:700;line-height:1.5;margin:0}.case-edit-form{display:grid;gap:10px}.case-edit-form label{color:var(--color-text-muted);font-size:.86rem;font-weight:700}.case-edit-form input,.case-edit-form textarea,.final-result-note-card textarea,.image-metadata-form input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font:inherit;padding:10px 12px}.final-result-note-card{display:grid;gap:12px;padding:12px 0 4px}.final-result-note-card h4{font-size:.96rem;line-height:1.35;margin-top:4px}.final-result-note-card label{color:var(--color-text-muted);font-size:.86rem;font-weight:700}.final-result-note-card textarea{background:var(--color-surface-muted);border-color:transparent;min-height:86px;resize:vertical}.consensus-section label{color:var(--color-text-muted);font-size:.86rem;font-weight:700}.consensus-summary{align-items:start;background:var(--color-accent-soft);border:1px solid #ffd8d8;border-radius:var(--radius-md);color:var(--color-primary);display:grid;gap:10px;grid-template-columns:auto 1fr;padding:12px}.consensus-summary p{color:var(--color-text-muted);margin-top:4px}.case-summary-section{background:linear-gradient(180deg,color-mix(in srgb,var(--color-accent) 10%,#fff),#fff 54%);border:1px solid color-mix(in srgb,var(--color-accent) 62%,var(--color-border));border-radius:var(--radius-md);box-shadow:0 12px 28px #32323214;display:grid;gap:14px;margin-top:10px;padding:14px;scroll-margin-top:18px;min-width:0}.case-summary-header{align-items:start;display:flex;gap:12px;justify-content:space-between}.case-summary-section h3{font-size:1.12rem;line-height:1.35;margin-top:4px}.case-summary-edit-button{flex:0 0 auto;padding-inline:12px}.summary-meta-grid,.summary-notes-grid,.summary-preference-grid{display:grid;gap:10px}.summary-meta-grid div,.summary-notes-grid div,.summary-preference-grid div{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-width:0;padding:10px}.summary-meta-grid span,.summary-notes-grid span,.summary-preference-grid span,.summary-technical-line span{color:var(--color-text-muted);display:block;font-size:.78rem;font-weight:800;margin-bottom:4px}.summary-preference-grid{background:color-mix(in srgb,var(--color-accent) 7%,#fff);border:1px solid color-mix(in srgb,var(--color-accent) 36%,var(--color-border));border-radius:var(--radius-md);padding:10px}.summary-service-section{display:grid;gap:10px}.summary-service-header{display:grid;gap:8px}.summary-service-header>span{color:var(--color-text-muted);font-size:.78rem;font-weight:800}.summary-service-tabs{display:flex;gap:8px;min-width:0;max-width:100%;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.summary-service-tabs::-webkit-scrollbar{display:none}.summary-service-tab{background:var(--color-primary);border:0;border-radius:999px;color:#fff;flex:0 0 auto;font:inherit;font-size:.82rem;font-weight:900;min-height:32px;padding:7px 12px}.summary-service-panel{display:grid;gap:10px;min-width:0}.summary-technical-line{align-items:baseline;color:var(--color-text-muted);display:flex;flex-wrap:wrap;font-size:.82rem;gap:6px;line-height:1.5}.summary-technical-line span{display:inline;margin-bottom:0}.summary-technical-line strong{color:var(--color-text);font-size:.9rem}.summary-notes-grid p{color:var(--color-text);line-height:1.6}.summary-empty-value{color:var(--color-text-muted)!important;font-weight:700}.summary-tag-block{display:grid;gap:6px}.summary-tag-block .tag-row{margin-top:0}.summary-tag-block>span{color:var(--color-text-muted);font-size:.78rem;font-weight:800}.summary-image-grid{display:grid;gap:10px}.summary-image-grid figure{border:1px solid var(--color-border);border-radius:var(--radius-md);margin:0;min-width:0;overflow:hidden}.summary-image-grid figcaption{color:var(--color-text-muted);display:flex;font-size:.78rem;font-weight:800;justify-content:space-between;min-height:34px;padding:8px 10px}.summary-image-grid .image-zoom-button{position:relative}.summary-image-badge{background:color-mix(in srgb,var(--color-primary) 86%,transparent);border-radius:999px;color:#fff;font-size:.76rem;font-weight:900;line-height:1.2;max-width:calc(100% - 16px);overflow:hidden;padding:5px 8px;position:absolute;right:8px;text-overflow:ellipsis;top:8px;white-space:nowrap;z-index:1}.summary-image-placeholder{align-items:center;aspect-ratio:4 / 3;background:var(--color-surface-muted);color:var(--color-text-muted);display:flex;font-size:.86rem;font-weight:800;justify-content:center}.case-workspace-shell{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-top:14px;min-width:0;overflow:hidden}.case-workspace-tabs{background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;gap:4px;min-width:0;overflow-x:auto;overflow-y:hidden;padding:0 12px;position:relative;scrollbar-width:none;-webkit-overflow-scrolling:touch}.case-workspace-tabs::-webkit-scrollbar{display:none}.case-workspace-tab{appearance:none;background:transparent;border:0;border-radius:0;color:var(--color-text-muted);flex:1 1 0;font-size:.9rem;font-weight:900;min-height:38px;min-width:0;margin-bottom:0;padding:9px 8px 10px;position:relative}.case-workspace-tab[aria-selected=true]{background:var(--color-surface);color:var(--color-primary)}.case-workspace-tab[aria-selected=true]:before{background:var(--color-accent);border-radius:999px;bottom:-1px;content:"";height:3px;left:12px;position:absolute;right:12px;z-index:2}.case-workspace-tab:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.case-workspace-tab:after{background:var(--color-primary);border-radius:var(--radius-sm);bottom:calc(100% + 8px);color:#fff;content:attr(data-tooltip);font-size:.78rem;font-weight:800;left:50%;line-height:1.45;max-width:220px;opacity:0;padding:7px 9px;pointer-events:none;position:absolute;transform:translate(-50%,4px);transition:opacity .16s ease,transform .16s ease;white-space:normal;width:max-content;z-index:5}[role=tabpanel].before-upload-section,[role=tabpanel].variation-section,[role=tabpanel].final-result-section,[role=tabpanel].timeline-disclosure{background:var(--color-surface);border:0;border-radius:0;margin-top:0;min-width:0;padding:14px 12px 12px;position:relative}.case-workspace-log-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.case-workspace-tab:hover:after,.case-workspace-tab:focus-visible:after{opacity:1;transform:translate(-50%)}.before-upload-section,.variation-section,.final-result-section{scroll-margin-top:18px}.capture-actions{display:grid;gap:10px;grid-template-columns:1fr 1fr}.before-preview{border:1px solid var(--color-border);border-radius:var(--radius-md);margin:0;overflow:hidden}.before-preview img,.summary-image-grid img{aspect-ratio:4 / 3;display:block;object-fit:cover;width:100%}.before-preview figcaption{color:var(--color-text-muted);display:grid;font-size:.82rem;gap:8px;padding:8px 10px}.before-after-compare{display:grid;gap:10px}.before-after-compare h4{font-size:.95rem;line-height:1.35;margin-top:4px}.before-after-grid{display:grid;gap:10px}.before-after-grid-single{grid-template-columns:1fr}.before-after-frame{border:1px solid var(--color-border);border-radius:var(--radius-md);margin:0;overflow:hidden}.before-after-frame img{aspect-ratio:4 / 3;display:block;object-fit:cover;width:100%}.before-after-frame figcaption{color:var(--color-text-muted);display:grid;font-size:.82rem;font-weight:800;gap:8px;padding:8px 10px}.before-after-after-caption{display:grid;gap:8px}.before-after-caption-main,.final-result-caption-main{align-items:center;display:flex;gap:8px;justify-content:space-between}.before-after-controls{display:inline-flex;gap:6px}.before-after-controls button{align-items:center;background:var(--color-surface-muted);border:0;border-radius:var(--radius-sm);color:var(--color-primary);display:inline-flex;height:32px;justify-content:center;width:32px}.final-gallery-block{display:grid;gap:10px;max-width:100%;min-width:0}.gallery-heading-row{display:grid;gap:6px}.gallery-title-row{align-items:center;display:flex;gap:10px;justify-content:space-between;border-bottom:1px solid var(--color-border);padding-bottom:8px}.final-gallery-block h4{font-size:.95rem;line-height:1.35;margin-top:4px}.gallery-title-row h4{margin:4px 0 0;min-width:0}.gallery-editing-hint{color:var(--color-text-muted);font-size:.78rem;line-height:1.5}.gallery-management-row{align-items:center;display:flex;gap:10px;justify-content:space-between}.gallery-management-row .gallery-editing-hint{margin:0}.final-results-gallery{display:grid;gap:10px;grid-auto-columns:clamp(220px,74vw,280px);grid-auto-flow:column;max-width:100%;min-width:0;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x mandatory}.final-result-card{border:1px solid var(--color-border);border-radius:var(--radius-md);margin:0;max-width:100%;min-width:220px;overflow:hidden;position:relative;scroll-snap-align:start}.final-result-card[data-selected=true]{border-color:var(--color-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 28%,transparent)}.final-result-card img{aspect-ratio:4 / 3;display:block;max-width:100%;object-fit:cover;width:100%}.final-result-card figcaption{color:var(--color-text-muted);display:grid;font-size:.82rem;gap:8px;padding:8px 10px}.final-result-actions{display:grid;gap:8px}.final-result-actions span{min-width:0}.final-result-tool-row{display:inline-flex;flex:0 0 auto;gap:6px}.selected-media-badge{background:var(--color-surface-muted);border-radius:var(--radius-sm);color:var(--color-text-muted);display:inline-flex;flex:0 0 auto;font-size:.76rem;font-weight:900;line-height:1;padding:7px 8px}.final-result-card[data-selected=true] .selected-media-badge{background:var(--color-accent);color:#fff}.image-record-info{align-items:start;border-top:1px solid var(--color-border);display:grid;gap:8px;padding-top:8px}.image-record-target-label{color:var(--color-primary);font-size:.8rem;line-height:1.35}.image-record-meta{display:grid;gap:4px;min-width:0}.image-record-meta span{align-items:center;color:var(--color-text-muted);display:inline-flex;font-size:.78rem;font-weight:700;gap:6px;line-height:1.35;min-width:0;overflow-wrap:anywhere}.metadata-edit-button{align-items:center;background:var(--color-surface-muted);border:0;border-radius:var(--radius-sm);color:var(--color-primary);display:inline-flex;font:inherit;font-size:.78rem;font-weight:800;gap:6px;justify-self:start;min-height:32px;padding:6px 10px}.metadata-icon-button{border:1px solid color-mix(in srgb,var(--color-border) 70%,transparent);box-shadow:var(--shadow-soft);height:34px;justify-content:center;padding:0;width:34px;z-index:2}.gallery-manage-button{background:transparent;border:1px solid color-mix(in srgb,var(--color-border) 78%,transparent);color:var(--color-primary);flex:0 0 auto;min-height:30px;padding:5px 10px}.gallery-manage-button:hover,.gallery-manage-button:focus-visible{background:var(--color-surface-muted);border-color:var(--color-border)}.final-result-card .metadata-icon-button,.compare-frame .metadata-icon-button{background:#ffffffeb;position:absolute;right:8px;top:8px}.compare-frame{position:relative}.metadata-dialog{max-height:calc(100svh - 36px);max-width:min(480px,calc(100vw - 32px));overflow-y:auto;overscroll-behavior:contain}.image-metadata-form{display:grid;gap:10px;margin-top:12px}.image-metadata-form label{color:var(--color-text-muted);font-size:.86rem;font-weight:700}.image-replacement-section,.image-remove-section{border-top:1px solid var(--color-border);display:grid;gap:10px;margin-top:2px;padding-top:12px}.image-replacement-section h3,.image-remove-section h3{font-size:.95rem;line-height:1.35;margin-top:4px}.image-replacement-section p,.image-remove-section p{color:var(--color-text-muted);font-size:.86rem;line-height:1.55}.image-remove-section .button{justify-self:start}.replacement-preview{border:1px solid var(--color-border);border-radius:var(--radius-md);margin:0;overflow:hidden}.replacement-preview img{aspect-ratio:4 / 3;display:block;object-fit:cover;width:100%}.replacement-preview figcaption{color:var(--color-text-muted);font-size:.78rem;font-weight:800;padding:8px 10px}.remove-image-button{align-items:center;background:var(--color-surface-muted);border:0;border-radius:var(--radius-sm);color:var(--color-text-muted);display:inline-flex;flex:0 0 auto;height:32px;justify-content:center;width:32px}.remove-image-button:disabled{cursor:not-allowed;opacity:.36}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.variation-tabs{display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}.variation-tab{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-weight:800;min-height:38px}.variation-tab[aria-selected=true]{background:var(--color-primary);color:#fff}.compare-grid{display:grid;gap:10px}.compare-grid-single{grid-template-columns:1fr}.compare-frame{border:1px solid var(--color-border);border-radius:var(--radius-md);margin:0;overflow:hidden}.compare-frame img,.image-zoom-button img{aspect-ratio:4 / 3;display:block;object-fit:cover;width:100%}.image-zoom-button{background:transparent;border:0;display:block;padding:0;width:100%}.compare-frame figcaption{color:var(--color-text-muted);font-size:.82rem;font-weight:700;padding:8px 10px}.image-lightbox-backdrop{align-items:center;background:#141414b8;overflow-y:auto}.image-lightbox{background:var(--color-surface);border-radius:var(--radius-md);display:grid;gap:10px;max-height:calc(100svh - 36px);max-width:min(920px,calc(100vw - 36px));overscroll-behavior:contain;overflow-x:hidden;overflow-y:auto;padding:12px;scrollbar-gutter:stable;width:100%}.lightbox-header{align-items:center;display:flex;gap:12px;justify-content:space-between;position:relative}.lightbox-header h2{font-size:1rem;line-height:1.35}.lightbox-counter{color:var(--color-text-muted);display:block;font-size:.82rem;font-weight:800;margin-top:2px}.lightbox-header-actions{align-items:center;display:flex;flex:0 0 auto;gap:8px}.lightbox-close-button{flex:0 0 36px}.lightbox-compare-toggle{min-height:34px;white-space:nowrap}.lightbox-compare-toggle[aria-pressed=true]{background:var(--color-primary);color:#fff}.image-record-note{color:var(--color-text);font-size:.84rem;line-height:1.5}.lightbox-primary-toggle svg{fill:transparent}.lightbox-primary-toggle[aria-pressed=true]{background:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 22%,transparent);color:#fff}.lightbox-primary-toggle[aria-pressed=true] svg{fill:currentColor;stroke-width:3}.final-gallery-lightbox,.image-lightbox[data-compare=true]{max-width:min(1040px,calc(100vw - 28px))}.image-lightbox-stage{align-items:center;display:grid;min-height:0;position:relative}.lightbox-compare-stage{align-items:start;display:grid;gap:10px}.lightbox-compare-stage figure,.lightbox-slide-frame figure{display:grid;gap:6px;margin:0;min-width:0}.lightbox-slide-frame{container-type:inline-size;display:grid;min-width:0;overflow:hidden;position:relative;touch-action:pan-y;-webkit-user-select:none;user-select:none}.lightbox-slide-panel{opacity:1;grid-area:1 / 1;overflow:hidden}.lightbox-image-crop-frame{aspect-ratio:1 / 1;border-radius:var(--radius-sm);display:block;overflow:hidden;width:100%}.lightbox-zoom-surface{border-radius:var(--radius-sm);cursor:zoom-in;height:100%;overflow:hidden;position:relative;touch-action:none;width:100%}.lightbox-zoom-surface[data-zoomed=true]{cursor:grab}.lightbox-zoom-surface[data-zoomed=true]:active{cursor:grabbing}.lightbox-zoom-content{backface-visibility:hidden;height:100%;transform:translate3d(var(--lightbox-zoom-x, 0),var(--lightbox-zoom-y, 0),0) scale(var(--lightbox-zoom-scale, 1));transform-origin:center center;transition:transform .12s ease-out;width:100%;will-change:transform}.lightbox-zoom-surface[data-zooming=true] .lightbox-zoom-content{transition:none}.lightbox-zoom-content img,.lightbox-zoom-content .lightbox-legacy-render-image{backface-visibility:hidden;height:100%;max-height:none;transform:translateZ(0)}.lightbox-generic-frame{border-radius:var(--radius-sm);overflow:hidden;touch-action:none}.lightbox-legacy-render-image{background-image:var(--legacy-render-image-url);background-position:top center;background-repeat:no-repeat;background-size:124% auto;border-radius:var(--radius-sm);display:block;height:100%;width:100%}.lightbox-slide-frame .lightbox-slide-panel{min-width:100%}.lightbox-slide-panel-previous{display:none;opacity:0;pointer-events:none}.lightbox-slide-frame[data-motion=next] .lightbox-slide-panel-previous{animation:lightbox-slide-out-next .26s ease-out both;display:grid;opacity:1}.lightbox-slide-frame[data-motion=next] .lightbox-slide-panel-current{animation:lightbox-slide-in-next .26s ease-out both}.lightbox-slide-frame[data-motion=previous] .lightbox-slide-panel-previous{animation:lightbox-slide-out-previous .26s ease-out both;display:grid;opacity:1}.lightbox-slide-frame[data-motion=previous] .lightbox-slide-panel-current{animation:lightbox-slide-in-previous .26s ease-out both}.lightbox-compare-stage figcaption{align-items:start;color:var(--color-text-muted);display:grid;font-size:.78rem;gap:8px;font-weight:800;justify-items:start;text-align:left}.lightbox-frame-caption{background:color-mix(in srgb,var(--color-surface-muted) 72%,#fff);border-radius:var(--radius-sm);display:grid;gap:10px;justify-items:start;min-height:44px;padding:8px;text-align:left}.lightbox-reference-caption{align-content:start;justify-items:start;text-align:left}.lightbox-frame-caption .image-record-info{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-sm);justify-items:start;margin-top:2px;padding:8px 50px 8px 8px;position:relative;text-align:left}.lightbox-frame-caption .metadata-icon-button{position:absolute;right:8px;top:8px}.lightbox-frame-caption .image-record-meta{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));width:100%}.lightbox-frame-caption .lightbox-primary-toggle{justify-self:start}.lightbox-reference-badge{background:var(--color-primary);border-radius:999px;color:#fff;display:inline-flex;font-size:.72rem;line-height:1;padding:5px 8px}.image-lightbox img,.lightbox-compare-stage img,.lightbox-legacy-render-image{border-radius:var(--radius-sm);display:block;max-height:calc(100svh - 132px);object-fit:contain;width:100%}.lightbox-slide-frame{--lightbox-photo-nav-y: 50%}.before-gallery-lightbox .lightbox-before-frame,.final-gallery-lightbox[data-compare=false] .lightbox-after-frame,.variation-gallery-lightbox[data-compare=false] .lightbox-after-frame{--lightbox-single-photo-height: min(64svh, 640px);--lightbox-photo-nav-y: calc(var(--lightbox-single-photo-height) / 2);align-content:start}.before-gallery-lightbox .lightbox-before-frame img,.final-gallery-lightbox[data-compare=false] .lightbox-after-frame img,.variation-gallery-lightbox[data-compare=false] .lightbox-after-frame img,.variation-gallery-lightbox[data-compare=false] .lightbox-legacy-render-image{height:var(--lightbox-single-photo-height);max-height:var(--lightbox-single-photo-height);object-fit:cover}.variation-gallery-lightbox[data-compare=false] .lightbox-image-crop-frame{aspect-ratio:auto;height:var(--lightbox-single-photo-height)}.image-lightbox[data-compare=true] .lightbox-compare-stage{--lightbox-photo-height: min(52svh, 460px);grid-template-columns:repeat(2,minmax(0,1fr))}.image-lightbox[data-compare=true] .lightbox-slide-frame{align-content:start}.image-lightbox[data-compare=true] .lightbox-slide-panel{grid-template-rows:auto auto}.image-lightbox[data-compare=true] .lightbox-after-frame{border-left:1px solid var(--color-border);padding-left:10px}.image-lightbox[data-compare=true] .lightbox-compare-stage img,.image-lightbox[data-compare=true] .lightbox-legacy-render-image{height:var(--lightbox-photo-height);max-height:var(--lightbox-photo-height);object-fit:cover}.image-lightbox[data-compare=true] .lightbox-image-crop-frame{aspect-ratio:auto;height:var(--lightbox-photo-height)}.image-lightbox[data-compare=true] .lightbox-nav-button{--lightbox-photo-nav-y: calc(var(--lightbox-photo-height) / 2)}.image-lightbox[data-compare=true] .lightbox-after-frame .lightbox-nav-button-left{left:18px}.image-lightbox[data-compare=true] .lightbox-after-frame .lightbox-nav-button-right{right:18px}.lightbox-nav-button{align-items:center;background:#ffffffe6;border:1px solid var(--color-border);border-radius:999px;color:var(--color-primary);display:inline-flex;height:42px;justify-content:center;position:absolute;top:var(--lightbox-photo-nav-y);transform:translateY(-50%);width:42px;z-index:1}.lightbox-nav-button-left{left:10px}.lightbox-nav-button-right{right:10px}@keyframes lightbox-slide-in-next{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes lightbox-slide-out-next{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes lightbox-slide-in-previous{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes lightbox-slide-out-previous{0%{transform:translate(0)}to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.lightbox-slide-frame[data-motion=next] .lightbox-slide-panel,.lightbox-slide-frame[data-motion=previous] .lightbox-slide-panel{animation:none}.lightbox-slide-panel-previous{display:none}}.diagnostics-screen{display:grid;gap:18px}.diagnostics-panel{padding:16px}.settings-export-note{color:var(--color-text-muted);line-height:1.7;margin:0 0 14px}.settings-export-button{width:100%}.settings-danger-panel{border-color:#ffd8d8}.settings-danger-button{border-color:#ffd8d8;color:var(--color-danger, #b42318);width:100%}.settings-export-status{border-radius:var(--radius-sm);font-size:.92rem;font-weight:700;line-height:1.6;margin:12px 0 0;padding:10px 12px}.delete-confirm-label{color:var(--color-text-muted);display:block;font-size:.88rem;font-weight:800;margin:14px 0 8px}.delete-confirm-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);min-height:46px;padding:0 12px;width:100%}.settings-export-status[data-status=success]{background:#edf8f0;color:#28633b}.settings-export-status[data-status=error]{background:var(--color-accent-soft);color:var(--color-primary)}.environment-meta{display:grid;gap:10px;margin:0 0 18px}.environment-meta div{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:10px}.environment-meta dt{color:var(--color-text-muted);font-size:.78rem;font-weight:700;margin-bottom:4px}.environment-meta dd{margin:0;overflow-wrap:anywhere}.diagnostics-list{display:grid;gap:10px}.diagnostic-row{align-items:start;border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:10px;padding:12px}.diagnostic-row h3{font-size:1rem;line-height:1.35}.diagnostic-row>span{border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:800;justify-self:start;min-height:26px;padding:4px 10px}.diagnostic-row[data-status=pass]>span{background:#edf8f0;color:#28633b}.diagnostic-row[data-status=warn]{border-color:#ffd8d8}.diagnostic-row[data-status=warn]>span{background:var(--color-accent-soft);color:var(--color-primary)}.sidebar{display:none}.bottom-nav{background:#fffffff0;border-top:1px solid var(--color-border);bottom:0;display:grid;grid-template-columns:repeat(4,1fr);left:0;position:fixed;right:0;z-index:10}.bottom-nav-item{background:transparent;color:var(--color-text-muted);flex-direction:column;font-size:.74rem;gap:4px;min-height:66px}.bottom-nav-item[data-active=true]{color:var(--color-accent)}.gallery-filter-panel{padding:16px}.gallery-panel-tools{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.gallery-panel-tools label{align-items:center;color:var(--color-text-muted);display:inline-flex;font-size:.84rem;font-weight:800;gap:7px}.gallery-panel-tools select{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font:inherit;min-height:36px;min-width:116px;padding:6px 30px 6px 10px}.gallery-management-panel{display:grid;gap:14px;padding:16px}.gallery-management-panel .panel-heading p{color:var(--color-text-muted);font-size:.86rem;line-height:1.55;margin-top:5px}.gallery-create-reference-panel{display:grid;gap:12px;padding:16px}.gallery-privacy-note{background:var(--color-surface-muted);border-radius:var(--radius-sm);color:var(--color-text-muted);line-height:1.65;padding:10px 12px}.gallery-create-reference-header{display:grid;gap:3px}.gallery-create-reference-header h2{color:var(--color-primary);font-size:1.16rem;line-height:1.25}.gallery-create-reference-header p{color:var(--color-text-muted);line-height:1.6}.gallery-ai-reference-note{align-items:flex-start;background:var(--color-surface-muted);border-radius:var(--radius-sm);color:var(--color-text-muted);display:flex;gap:10px;line-height:1.65;padding:10px 12px}.gallery-ai-reference-note svg{color:var(--color-accent);flex:0 0 auto;margin-top:3px}.gallery-ai-reference-note p{margin:0}.gallery-editing-status{background:var(--color-accent-soft);border-radius:var(--radius-sm);display:grid;gap:3px;padding:10px 12px}.gallery-editing-status strong{color:var(--color-primary);font-size:1rem}.gallery-editing-status p{color:var(--color-text-muted);font-size:.88rem;line-height:1.6}.gallery-reference-dialog-backdrop{z-index:34}.gallery-reference-dialog{gap:14px;max-height:calc(100dvh - 36px);max-width:720px;overflow:auto;width:min(720px,calc(100vw - 36px))}.gallery-reference-dialog .dialog-close-button{flex:0 0 auto;height:44px;min-width:44px;padding:0}.gallery-reference-dialog .dialog-close-button svg{height:20px;width:20px}.gallery-reference-dialog-title-row p{color:var(--color-text-muted);line-height:1.6;margin-top:6px}.gallery-reference-dialog-preview{background:var(--color-surface-muted);border-radius:var(--radius-sm);overflow:hidden}.gallery-reference-dialog-preview .brow-reference,.gallery-reference-dialog-preview .gallery-reference-image,.gallery-reference-dialog-preview .gallery-reference-placeholder{aspect-ratio:16 / 9;max-height:240px;width:100%}.gallery-reference-dialog-preview .gallery-reference-image{display:block;object-fit:cover}.gallery-create-reference-preview{border:1px solid var(--color-border)}.gallery-reference-dialog-form{padding-bottom:2px}.gallery-archive-toggle{align-items:center;color:var(--color-text-muted);display:inline-flex;font-size:.86rem;font-weight:800;gap:7px;white-space:nowrap}.gallery-reference-form{display:grid;gap:14px}.gallery-reference-form label{color:var(--color-text-muted);display:grid;font-size:.86rem;font-weight:800;gap:6px}.gallery-reference-form input,.gallery-reference-form select,.gallery-reference-form textarea{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font:inherit;min-height:42px;padding:9px 10px}.gallery-reference-form textarea{min-height:86px;resize:vertical}.gallery-reference-media-field{border:1px solid var(--color-border);border-radius:var(--radius-sm);display:grid;gap:12px;padding:12px}.gallery-reference-media-preview{background:var(--color-surface-muted);border-radius:var(--radius-sm);overflow:hidden}.gallery-reference-media-preview .brow-reference,.gallery-reference-media-preview .gallery-reference-image,.gallery-reference-media-preview .gallery-reference-placeholder{aspect-ratio:16 / 9;max-height:240px;width:100%}.gallery-reference-media-preview .gallery-reference-image{display:block;object-fit:cover}.gallery-reference-field-heading{align-items:start;display:flex;gap:12px;justify-content:space-between}.gallery-reference-field-heading h3{color:var(--color-primary);font-size:1rem;line-height:1.3;margin-top:3px}.gallery-reference-field-heading p,.gallery-reference-section-heading p{color:var(--color-text-muted);line-height:1.6;margin-top:4px}.gallery-reference-media-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.gallery-reference-form-section{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-sm);display:grid;gap:12px;padding:12px}.gallery-reference-section-heading{display:grid;gap:3px}.gallery-reference-section-heading h3{color:var(--color-primary);font-size:1rem;line-height:1.35}.gallery-reference-details{padding:0}.gallery-reference-details summary{align-items:center;cursor:pointer;display:flex;gap:12px;justify-content:space-between;list-style:none;padding:12px}.gallery-reference-details summary::-webkit-details-marker{display:none}.gallery-reference-details summary strong{color:var(--color-primary);display:block;font-size:1rem;line-height:1.35;margin-top:3px}.gallery-reference-details summary svg{color:var(--color-text-muted);flex:0 0 auto;transition:transform .16s ease}.gallery-reference-details[open] summary{border-bottom:1px solid var(--color-border)}.gallery-reference-details[open] summary svg{transform:rotate(90deg)}.gallery-reference-details .form-grid{padding:0 12px 12px}.gallery-reference-form .gallery-file-button{color:var(--color-text);display:inline-flex;font-size:.9rem;gap:8px}.gallery-reference-form .visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;min-height:0;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.gallery-consent-checks{background:transparent;display:grid;gap:8px;padding:0}.gallery-consent-checks label,.gallery-archive-toggle{align-items:start;display:grid;grid-template-columns:auto 1fr}.gallery-consent-checks input,.gallery-archive-toggle input{accent-color:var(--color-accent);height:auto;margin-top:4px;min-height:0;padding:0;width:auto}.gallery-reference-consent-section{background:var(--color-surface-muted);border-color:transparent}.followups-panel{align-items:start;display:grid;gap:12px;grid-template-columns:auto 1fr auto;padding:16px}.followups-panel p{color:var(--color-text-muted);line-height:1.65;margin-top:6px}.followups-list-panel{display:grid;gap:14px}.followups-list-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.followups-list-header strong{display:block;font-size:1.05rem}.followups-list{display:grid;gap:10px}.followup-row{align-items:start;border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:12px;grid-template-columns:auto 1fr;padding:13px}.followup-row-icon{align-items:center;background:var(--color-muted);border-radius:var(--radius-sm);color:var(--color-primary);display:inline-flex;height:36px;justify-content:center;width:36px}.followup-row p{color:var(--color-primary);font-weight:800;line-height:1.5;margin:3px 0}.followup-row span{color:var(--color-text-muted);display:block;font-size:.84rem;line-height:1.5}.gallery-filter-layout{display:grid;gap:12px}.gallery-filter-set{border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:8px;margin:0;min-width:0;padding:12px}.gallery-filter-set legend{color:var(--color-text);font-size:.94rem;font-weight:800;padding:0 4px}.gallery-filter-set p{color:var(--color-text-muted);font-size:.86rem;line-height:1.5}.gallery-filter-group{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text);font-size:.84rem;font-weight:800;min-height:34px;padding:5px 12px}.filter-chip[data-active=true]{background:var(--color-primary);color:#fff}.gallery-grid{display:grid;gap:14px}.gallery-card{border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;overflow:visible;position:relative}.gallery-card[data-archived=true]{opacity:.64}.gallery-card[data-dragging=true]{border-color:var(--color-primary);opacity:.72}.gallery-card[data-drop-position]:before{background:var(--color-accent);border-radius:999px;box-shadow:0 0 0 4px color-mix(in srgb,var(--color-accent) 20%,transparent);content:"";pointer-events:none;position:absolute;z-index:3}.gallery-card[data-drop-axis=vertical][data-drop-position]:before{height:8px;left:12px;right:12px}.gallery-card[data-drop-axis=vertical][data-drop-position=before]:before{top:-5px}.gallery-card[data-drop-axis=vertical][data-drop-position=after]:before{bottom:-5px}.gallery-card[data-drop-axis=horizontal][data-drop-position]:before{bottom:12px;top:12px;width:8px}.gallery-card[data-drop-axis=horizontal][data-drop-position=before]:before{left:-11px}.gallery-card[data-drop-axis=horizontal][data-drop-position=after]:before{right:-11px}.gallery-reorder-bar{align-items:center;background:var(--color-surface-muted);border-bottom:1px solid var(--color-border);display:flex;justify-content:flex-start;padding:8px 10px}.gallery-reorder-handle{cursor:grab}.gallery-reorder-handle:disabled{cursor:not-allowed;opacity:.42}.gallery-card-preview-button{background:transparent;border:0;cursor:zoom-in;display:block;padding:0;text-align:inherit;width:100%}.gallery-card-preview-button:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px}.brow-reference{background:var(--color-accent-soft);display:block;width:100%}.brow-reference rect{fill:var(--color-accent-soft)}.brow-reference path{fill:var(--color-primary);opacity:.92}.brow-reference .brow-highlight{fill:var(--color-accent);opacity:.22;transform:translateY(-10px)}.gallery-reference-image,.gallery-reference-placeholder{aspect-ratio:390 / 220;background:var(--color-accent-soft);display:block;width:100%}.gallery-reference-image{object-fit:cover}.gallery-reference-placeholder{align-items:center;color:var(--color-text-muted);display:grid;font-size:.9rem;font-weight:800;gap:8px;justify-items:center}.gallery-card-body{display:grid;gap:10px;padding:14px}.gallery-card-title{align-items:start;display:flex;gap:12px;justify-content:space-between}.gallery-card-title h3{font-size:1.05rem;line-height:1.3;margin-top:4px}.gallery-card-body p{color:var(--color-text-muted);line-height:1.65}.favorite-button{align-items:center;background:var(--color-surface-muted);border:0;border-radius:var(--radius-sm);color:var(--color-text-muted);display:inline-flex;height:38px;justify-content:center;width:38px}.favorite-button[data-active=true]{background:var(--color-accent-soft);color:var(--color-accent)}.favorite-button[data-active=true] svg{fill:currentColor}.gallery-tag-row{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.gallery-card-actions{border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:8px;padding-top:10px}.gallery-card-actions .metadata-edit-button:disabled{cursor:not-allowed;opacity:.36}.danger-action{color:var(--color-danger, #b42318)}.gallery-lightbox{max-width:min(940px,calc(100vw - 36px))}.gallery-lightbox[data-dragging=true]{-webkit-user-select:none;user-select:none}.gallery-lightbox-actions{flex-direction:row}.gallery-lightbox-favorite-button{gap:6px;padding:0 12px;width:auto}.gallery-lightbox-stage{--gallery-lightbox-photo-height: min(68svh, 620px);--lightbox-photo-nav-y: calc(var(--gallery-lightbox-photo-height) / 2);background:var(--color-accent-soft);border-radius:var(--radius-sm);overflow:hidden;position:relative}.gallery-lightbox-stage .brow-reference,.gallery-lightbox-stage .gallery-reference-image,.gallery-lightbox-stage .gallery-reference-placeholder{aspect-ratio:auto;height:var(--gallery-lightbox-photo-height);max-height:var(--gallery-lightbox-photo-height)}.gallery-lightbox-stage .gallery-reference-image{display:block;object-fit:contain;width:100%}.gallery-lightbox-stage .lightbox-nav-button-left{left:18px}.gallery-lightbox-stage .lightbox-nav-button-right{right:18px}.gallery-lightbox-body{background:var(--color-surface-muted);border-radius:var(--radius-sm);display:grid;gap:8px;padding:12px}.gallery-lightbox-body p{color:var(--color-text-muted);line-height:1.65}@media(hover:hover)and (pointer:fine){.gallery-lightbox-header{cursor:grab;-webkit-user-select:none;user-select:none}.gallery-lightbox[data-dragging=true] .gallery-lightbox-header{cursor:grabbing}.gallery-lightbox-header button{cursor:pointer}}@media(min-width:760px){.main-surface{padding:28px 28px 104px}.form-grid,.compare-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compare-grid-single{grid-template-columns:1fr}.before-after-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.before-after-grid-single{grid-template-columns:1fr}.summary-image-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.final-results-gallery{grid-auto-columns:minmax(220px,32%)}.summary-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.summary-preference-grid,.summary-notes-grid,.gallery-grid,.gallery-filter-layout{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1120px){.case-grid{grid-template-columns:minmax(0,1.35fr) minmax(360px,.8fr)}}@media(min-width:640px){.case-grid[data-detail-active=true][data-list-visible=false]{cursor:pointer;grid-template-columns:minmax(0,1fr)}.case-grid[data-detail-active=true][data-list-visible=false] .case-list-panel{display:none}.case-grid[data-detail-active=true][data-list-visible=false] .status-panel{cursor:default;justify-self:stretch;max-width:none;width:100%}}@media(max-width:639px){.page-intro-note{display:grid}.followups-panel{grid-template-columns:auto 1fr}.followups-panel .count-pill{grid-column:2;justify-self:start}.case-grid[data-mobile-mode=detail] .case-list-panel,.case-grid[data-mobile-mode=list] .status-panel,.case-grid[data-detail-active=false] .status-panel,.case-grid[data-list-visible=false] .case-list-panel{display:none}.mobile-case-back-button{display:inline-flex;justify-content:center;margin-bottom:16px}.case-list-toggle-button{display:none}.case-detail-header-actions{justify-content:stretch}.case-gallery-reference-button{flex:1}.case-list-tools{gap:8px;grid-template-columns:1fr}.case-search-field,.case-sort-field{min-height:44px;padding-inline:12px}.case-sort-field{align-items:start;gap:2px;grid-template-columns:1fr;padding-block:8px}.case-sort-field:after{bottom:17px;top:auto}.case-sort-field select{min-width:0;min-height:30px;padding:2px 30px 2px 0;width:100%}.create-case-form-actions,.gallery-management-row{align-items:stretch;display:grid;grid-template-columns:1fr}.case-summary-header{align-items:flex-start;display:flex}.case-summary-edit-button{align-self:flex-start;justify-content:center;min-height:40px;padding-inline:10px;white-space:nowrap;width:auto}.modal-backdrop{align-items:flex-start;justify-content:center;padding:12px}.gallery-reference-dialog{max-height:calc(100dvh - 24px);padding:16px;width:calc(100vw - 24px)}.gallery-reference-dialog-title-row{gap:10px}.gallery-reference-field-heading{display:grid}.gallery-reference-media-actions{justify-content:stretch}.gallery-reference-media-actions .button{width:100%}.gallery-reference-dialog-preview .brow-reference,.gallery-reference-dialog-preview .gallery-reference-image,.gallery-reference-dialog-preview .gallery-reference-placeholder,.gallery-reference-media-preview .brow-reference,.gallery-reference-media-preview .gallery-reference-image,.gallery-reference-media-preview .gallery-reference-placeholder{max-height:190px}.gallery-reference-dialog-form .form-actions{grid-template-columns:1fr}.metadata-dialog{max-height:calc(100dvh - 24px);padding:18px}.metadata-dialog .dialog-actions{grid-template-columns:1fr}.image-lightbox-backdrop{align-items:center}.image-lightbox{max-height:calc(100svh - 24px);max-width:calc(100vw - 24px)}.gallery-lightbox{transform:none!important}.gallery-lightbox-stage{--gallery-lightbox-photo-height: min(52svh, 440px)}.lightbox-header{align-items:flex-start;padding-right:44px}.lightbox-header-actions{align-items:center;flex-direction:row;justify-content:flex-end;min-width:36px}.lightbox-header-actions .lightbox-compare-toggle{max-width:min(210px,calc(100vw - 118px));white-space:normal}.lightbox-close-button{position:absolute;right:0;top:0}.before-gallery-lightbox .lightbox-before-frame,.final-gallery-lightbox[data-compare=false] .lightbox-after-frame,.variation-gallery-lightbox[data-compare=false] .lightbox-after-frame{--lightbox-single-photo-height: min(52svh, 440px)}.image-lightbox[data-compare=true] .lightbox-compare-stage{--lightbox-photo-height: min(34svh, 260px);grid-template-columns:1fr}.image-lightbox[data-compare=true] .lightbox-after-frame{border-left:0;border-top:1px solid var(--color-border);padding-left:0;padding-top:10px}.image-lightbox[data-compare=true] .lightbox-compare-stage img,.image-lightbox[data-compare=true] .lightbox-legacy-render-image{height:var(--lightbox-photo-height);max-height:var(--lightbox-photo-height)}.image-lightbox[data-compare=true] .lightbox-nav-button{--lightbox-photo-nav-y: calc(var(--lightbox-photo-height) / 2)}.image-lightbox[data-compare=true] .lightbox-after-frame .lightbox-nav-button{--lightbox-photo-nav-y: calc((var(--lightbox-photo-height) / 2) + 10px)}.lightbox-frame-caption{text-align:left}}@media(min-width:1024px){.app-shell{grid-template-columns:260px 1fr}.sidebar{border-right:1px solid var(--color-border);display:flex;flex-direction:column;gap:26px;min-height:100svh;padding:22px;position:sticky;top:0}.brand-lockup{align-items:center;display:flex;gap:12px}.brand-lockup strong,.brand-lockup span{display:block}.brand-lockup span{color:var(--color-text-muted);font-size:.78rem;margin-top:2px}.nav-list{display:grid;gap:8px}.nav-item{background:transparent;border-radius:var(--radius-sm);color:var(--color-text-muted);gap:10px;justify-content:flex-start;min-height:42px;padding:0 12px}.nav-item[data-active=true]{background:var(--color-accent-soft);color:var(--color-primary)}.sidebar .icon-button{margin-top:auto;width:100%}.main-surface{padding:34px}.bottom-nav{display:none}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
