:root{--bg: #f6f2ec;--surface: #ffffff;--surface-2: #efe8de;--ink: #2c2620;--ink-soft: #6f665b;--accent: #9c7c53;--accent-ink: #ffffff;--line: #e2d8ca;--danger: #c0392b;--ok: #3a7d44;--radius: 14px;--shadow: 0 2px 12px rgba(60, 46, 30, .08);--fs-4xs: 11px;--fs-3xs: 12px;--fs-2xs: 13px;--fs-xs: 14px;--fs-sm: 15px;--fs-base: 16px;--fs-md: 17px;--fs-lg: 18px;--fs-xl: 20px;--fs-2xl: 22px;--fs-3xl: 24px;--sidebar-w: 236px;--side-row: 44px;--side-head-pad: 6px}@media (max-height: 880px){:root{--side-row: 40px;--side-head-pad: 5px}}@media (max-height: 800px){:root{--side-row: 36px;--side-head-pad: 4px}}@media (max-height: 700px){:root{--side-row: 34px;--side-head-pad: 3px}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,PingFang TC,Noto Sans TC,Microsoft JhengHei,sans-serif;font-size:var(--fs-base);background:var(--bg);color:var(--ink);-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit}a{color:inherit}.btn{min-height:44px;padding:0 18px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:var(--fs-base);display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:filter .15s,background .15s}.btn:hover{filter:brightness(.97)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn.ghost{background:transparent}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.sm{min-height:36px;padding:0 12px;font-size:var(--fs-sm)}.btn{flex:none;white-space:nowrap}.input{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font-size:var(--fs-base)}textarea.input{min-height:88px;resize:vertical}.shell{min-height:100dvh;display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);align-items:start}.shell-main{min-width:0}.app-sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--line);z-index:60}.side-top{flex:none;display:flex;align-items:flex-start;gap:8px;padding:10px 14px 8px;border-bottom:1px solid var(--line)}.brand-block{flex:1;min-width:0;cursor:pointer;display:block}.brand-logo{display:block;width:100%;height:auto;aspect-ratio:456 / 106}.side-close{display:none;background:none;border:0;font:inherit;font-size:var(--fs-md);color:var(--ink-soft);padding:4px 6px}.side-nav{flex:1 1 auto;min-height:0;overflow-y:auto;padding:4px 6px 0;display:flex;flex-direction:column;gap:0}.side-section{font-size:var(--fs-3xs);color:var(--ink-soft);letter-spacing:1px;padding:var(--side-head-pad) 10px 2px;font-weight:600}.side-section:first-child{padding-top:2px}.side-item{display:flex;align-items:center;gap:9px;width:100%;min-height:var(--side-row);padding:0 10px;border:0;border-radius:9px;background:transparent;font:inherit;font-size:var(--fs-base);color:var(--ink);text-align:left;flex:none}.side-item:hover{background:var(--surface-2)}.side-item.active{background:var(--accent);color:var(--accent-ink);font-weight:600}.side-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-dot{flex:none;width:9px;height:9px;border-radius:50%}.side-caret{flex:none;color:var(--ink-soft);font-size:var(--fs-3xs)}.side-item.active .side-caret{color:inherit}.side-count{flex:none;font-size:var(--fs-3xs);font-variant-numeric:tabular-nums;color:var(--ink-soft);background:var(--surface-2);border-radius:999px;padding:2px 8px}.side-count.pending{background:var(--accent);color:#fff}.side-item.active .side-count{background:#ffffff38;color:#fff}.side-filter.has-filter .side-label{font-weight:600;color:var(--accent)}.side-sep{height:1px;background:var(--line);margin:4px;flex:none}.side-loading{font-size:var(--fs-xs);color:var(--ink-soft);padding:8px 10px}.side-hint{flex:none;font-size:var(--fs-3xs);color:var(--ink-soft);white-space:nowrap}.side-item.active .side-hint{color:inherit;opacity:.75}.side-user{flex:none;margin-top:auto;position:relative;border-top:1px solid var(--line);padding:6px}.side-user-btn{display:flex;align-items:center;gap:9px;width:100%;min-height:var(--side-row);padding:0 10px;border:0;border-radius:9px;background:transparent;font:inherit;font-size:var(--fs-sm);color:var(--ink);text-align:left}.side-user-btn:hover{background:var(--surface-2)}.side-user-avatar{flex:none;font-size:var(--fs-md)}.side-user-text{flex:1;min-width:0;display:flex;flex-direction:column}.side-user-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-user-role{font-size:var(--fs-3xs);color:var(--ink-soft)}.side-user-caret{flex:none;color:var(--ink-soft);font-size:var(--fs-3xs)}.side-user-pop{position:absolute;left:8px;right:8px;bottom:calc(100% - 4px);background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 -6px 20px #3c2e1e26;overflow:hidden;z-index:70}.menu-item{display:block;width:100%;text-align:left;padding:11px 16px;background:none;border:none;font-size:var(--fs-sm);color:var(--ink);min-height:44px}.menu-item:hover{background:var(--surface-2)}.nav-hamburger{display:none;position:fixed;left:10px;top:10px;z-index:58;width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:#ffffffe0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:var(--fs-lg);color:var(--ink);box-shadow:var(--shadow)}.nav-backdrop{display:none}.page{max-width:1200px;margin:0 auto;padding:18px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}@media (min-width: 768px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}@media (min-width: 1024px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1400px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .12s}.card:hover{transform:translateY(-2px)}.card .cover{aspect-ratio:4 / 3;background:var(--surface-2);display:flex;align-items:center;justify-content:center;color:var(--ink-soft);overflow:hidden}.card .cover img{width:100%;height:100%;object-fit:cover}.card .body{padding:12px 14px}.card .title{font-weight:600;font-size:var(--fs-base);margin-bottom:4px}.card .meta{font-size:var(--fs-2xs);color:var(--ink-soft)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{font-size:var(--fs-2xs);padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);min-height:30px;display:inline-flex;align-items:center}.chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}.chip.treatment{border-color:#c9a978}.chip.stage{border-color:#8aa9b0}.chip.special{border-color:#9b7fb0;color:#6b4f80}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.spacer{flex:1}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.photo-tile{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;background:var(--surface-2);border:2px solid transparent}.photo-tile img{width:100%;height:100%;object-fit:cover;display:block}.photo-tile.selected{border-color:var(--accent)}.photo-tile .badge{position:absolute;top:6px;left:6px;background:#2c2620bf;color:#fff;font-size:var(--fs-3xs);padding:2px 6px;border-radius:6px}.photo-tile .check{position:absolute;top:6px;right:6px;z-index:3;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--fs-xs);cursor:pointer;background:#ffffff59;border:2px solid #fff;box-shadow:0 0 5px #00000073;color:#fff}.photo-tile .check.on{background:var(--accent);border-color:#fff}.photo-tile .cover-badge{background:var(--accent);font-weight:600;z-index:3}.photo-tile .photo-tag-row{position:absolute;right:6px;bottom:6px;z-index:2;display:flex;flex-wrap:wrap;gap:3px;justify-content:flex-end;max-width:calc(100% - 12px);pointer-events:none}.photo-tile .photo-tag{background:#2c2620bf;color:#fff;font-size:var(--fs-4xs);padding:1px 5px;border-radius:5px}.cover-set-btn{position:absolute;left:6px;bottom:6px;z-index:3;background:#2c2620c7;color:#fff;border:none;font-size:var(--fs-2xs);padding:5px 9px;border-radius:7px;cursor:pointer;min-height:30px}.cover-set-btn:hover{background:var(--accent)}.photo-tile:has(.cover-set-btn) .photo-tag-row{bottom:42px}.photo-tile.sorting{cursor:grab;outline:2px dashed var(--accent);outline-offset:-2px}.photo-tile.sorting:active{cursor:grabbing}.sort-ctrl{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;align-items:center;justify-content:center;gap:10px;background:#1e181259}.sort-btn{width:44px;height:44px;border-radius:50%;border:none;background:var(--surface);color:var(--ink);font-size:var(--fs-2xl);font-weight:700;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center}.sort-btn:disabled{opacity:.35}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e181273;display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.modal{background:var(--surface);border-radius:var(--radius);width:100%;max-width:460px;max-height:90vh;overflow:auto;padding:22px;box-shadow:0 12px 40px #00000040}.modal h3{margin:0 0 16px}.field{margin-bottom:14px}.field label{display:block;font-size:var(--fs-xs);color:var(--ink-soft);margin-bottom:6px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}.toast-wrap{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:100;display:flex;flex-direction:column;gap:8px;align-items:center}.toast{padding:12px 18px;border-radius:10px;color:#fff;font-size:var(--fs-sm);box-shadow:0 4px 16px #0003;max-width:90vw}.toast.error{background:var(--danger)}.toast.ok{background:var(--ok)}.toast.info{background:var(--ink)}.login-wrap{min-height:100%;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{background:var(--surface);border-radius:18px;box-shadow:var(--shadow);padding:32px 28px;width:100%;max-width:380px;text-align:center}.login-card .logo{font-size:var(--fs-3xl);font-weight:700;margin-bottom:6px}.login-card .logo .light{color:var(--accent)}.login-card .sub{color:var(--ink-soft);font-size:var(--fs-sm);margin-bottom:24px}.login-card .field{text-align:left}.login-error{margin-top:12px;padding:10px 12px;border-radius:8px;text-align:left;background:#fbeeec;border:1px solid var(--danger);color:var(--danger);font-size:var(--fs-xs);line-height:1.6}.empty{text-align:center;color:var(--ink-soft);padding:60px 20px}.table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.table th,.table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line);font-size:var(--fs-sm)}.table th{background:var(--surface-2);color:var(--ink-soft);font-weight:600}.table tr:last-child td{border-bottom:none}.editor-root{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c1814;display:flex;flex-direction:column;z-index:40}.editor-top{height:54px;display:flex;align-items:center;gap:10px;padding:0 14px;background:#262019;color:#f2ece3;border-bottom:1px solid #3a3128}.editor-top .title{font-size:var(--fs-sm);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-stage{flex:1;overflow:hidden;position:relative;touch-action:none}.editor-tools{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#262019;border-top:1px solid #3a3128;flex-wrap:wrap;overflow-x:auto}.type-btn{min-height:44px;padding:0 14px;border-radius:10px;border:2px solid transparent;background:#332b22;color:#f2ece3;display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-sm);white-space:nowrap}.type-btn.active{border-color:#f2ece3}.type-dot{width:14px;height:14px;border-radius:50%;display:inline-block}.editor-hint{color:#b7ab99;font-size:var(--fs-2xs);margin-left:auto}.btn.editor{background:#332b22;color:#f2ece3;border-color:#4a3f31}.btn.editor.primary{background:var(--accent);border-color:var(--accent);color:#fff}.upload-drop{border:2px dashed var(--line);border-radius:var(--radius);padding:26px;text-align:center;color:var(--ink-soft);background:var(--surface)}.upload-drop.drag{border-color:var(--accent);background:var(--surface-2)}.progress{height:6px;background:var(--surface-2);border-radius:999px;overflow:hidden;margin-top:8px}.progress>span{display:block;height:100%;background:var(--accent);transition:width .2s}.section-title{font-size:var(--fs-xs);color:var(--ink-soft);text-transform:uppercase;letter-spacing:1px;margin:20px 0 10px}.inline{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.editor-tabs{display:flex;gap:2px;background:#262019;padding:0 14px;border-bottom:1px solid #3a3128}.tab-btn{min-height:44px;padding:0 20px;background:transparent;border:none;color:#b7ab99;font-size:var(--fs-base);border-bottom:3px solid transparent}.tab-btn.active{color:#f2ece3;border-bottom-color:var(--accent);font-weight:600}.editor-tools.adjust{gap:14px}.slider{display:inline-flex;align-items:center;gap:8px;color:#f2ece3;font-size:var(--fs-xs);white-space:nowrap}.slider input[type=range]{width:110px;accent-color:var(--accent)}.slider b{min-width:34px;text-align:right;color:#b7ab99;font-variant-numeric:tabular-nums}.collage-root{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c1814;display:flex;flex-direction:column;z-index:45}.collage-body{flex:1;display:flex;overflow:hidden}.collage-canvas-wrap{flex:1;overflow:hidden;position:relative;touch-action:none;display:flex;align-items:center;justify-content:center}.collage-side{width:300px;background:#262019;color:#f2ece3;border-left:1px solid #3a3128;padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.collage-side .field label{color:#b7ab99}.collage-side .input{background:#332b22;color:#f2ece3;border-color:#4a3f31}.layout-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.layout-opt{min-height:44px;border:2px solid #4a3f31;border-radius:8px;background:#332b22;color:#f2ece3;display:flex;align-items:center;justify-content:center;font-size:var(--fs-xs)}.layout-opt.active{border-color:var(--accent);background:var(--accent);color:#fff}.wm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.wm-grid .layout-opt{min-height:36px;font-size:var(--fs-2xs)}.stamp-list{display:flex;flex-direction:column;gap:10px;margin-bottom:8px}.stamp-row{display:flex;align-items:center;gap:12px}.stamp-preview{width:72px;height:48px;flex:none;border:1px solid var(--line);border-radius:8px;background:#3a3128;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:var(--fs-2xs);text-align:center}.stamp-preview img{max-width:100%;max-height:100%;object-fit:contain}.seg{display:inline-flex;border:1px solid #4a3f31;border-radius:8px;overflow:hidden}.seg button{min-height:40px;padding:0 12px;background:#332b22;color:#f2ece3;border:none;font-size:var(--fs-xs)}.seg button.active{background:var(--accent);color:#fff}.collage-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.collage-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow);cursor:pointer}.collage-card .collage-thumb{width:100%;aspect-ratio:4 / 3;border-radius:8px;overflow:hidden;background:var(--surface-2);margin-bottom:8px;display:flex;align-items:center;justify-content:center;color:var(--ink-soft);font-size:var(--fs-2xs)}.collage-card .collage-thumb img{width:100%;height:100%;object-fit:cover;display:block}.collage-card{position:relative}.collage-card .collage-del{position:absolute;top:18px;right:20px;z-index:2;width:24px;height:24px;border-radius:50%;border:2px solid #fff;background:#2c2620a6;color:#fff;font-size:var(--fs-2xs);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 0 5px #0006}.collage-card .collage-del:hover{background:#c0392b}.collage-card:hover{transform:translateY(-2px)}.collage-card .title{font-weight:600;font-size:var(--fs-sm)}.collage-card .meta{font-size:var(--fs-2xs);color:var(--ink-soft);margin-top:4px}.ip-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-bottom:18px;overflow:hidden}.ip-head{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;background:none;border:0;cursor:pointer;font:inherit;text-align:left}.ip-head:hover{background:var(--surface-2)}.ip-caret{color:var(--ink-soft);font-size:var(--fs-2xs)}.ip-title{font-weight:700}.ip-chip{font-size:var(--fs-2xs);padding:3px 10px;border-radius:12px;background:var(--surface-2);color:var(--ink-soft)}.ip-chip.done{background:var(--ok);color:#fff}.ip-chip.warn{background:var(--danger);color:#fff}.ip-body{padding:4px 16px 18px;border-top:1px solid var(--line)}.ip-note{font-size:var(--fs-xs);line-height:1.6;color:var(--ink-soft);background:var(--surface-2);border-radius:8px;padding:10px 14px;margin:14px 0}.ip-sec{font-weight:700;margin:22px 0 8px;padding-left:10px;border-left:4px solid var(--accent)}.ip-cell{margin-bottom:14px}.ip-cell-head{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}.ip-no{color:var(--accent);font-weight:700}.ip-label{font-weight:600}.ip-when{font-size:var(--fs-2xs);color:var(--ink-soft)}.ip-hint{font-size:var(--fs-2xs);color:var(--ink-soft);margin-bottom:4px}.ip-warn{font-size:var(--fs-2xs);color:var(--danger);margin-top:4px;line-height:1.5}.ip-cell textarea,.ip-add textarea{width:100%;font:inherit;font-size:var(--fs-sm);line-height:1.6;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);resize:vertical}.ip-cell textarea:disabled{background:var(--surface-2)}.ip-consent{margin-top:20px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.ip-consent-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.ip-consent-row label{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--line);border-radius:16px;background:var(--surface);cursor:pointer;font-size:var(--fs-sm)}.ip-consent-row label.on{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.ip-consent-note{width:100%;font:inherit;font-size:var(--fs-sm);padding:7px 10px;border:1px solid var(--line);border-radius:8px}.ip-actions{display:flex;gap:8px;align-items:center;margin-top:16px}.ip-transcript{border:1px solid var(--line);border-radius:8px;margin-bottom:10px;overflow:hidden}.ip-transcript-head{display:flex;align-items:center;gap:10px;padding:7px 12px;background:var(--surface-2)}.ip-stage{font-weight:700;font-size:var(--fs-xs);color:var(--accent)}.ip-del{margin-left:auto;background:none;border:0;color:var(--danger);font-size:var(--fs-2xs);cursor:pointer}.ip-transcript-body{margin:0;padding:10px 12px;font:inherit;font-size:var(--fs-xs);line-height:1.7;white-space:pre-wrap;word-break:break-word;max-height:260px;overflow-y:auto}.ip-add{display:flex;flex-direction:column;gap:8px;align-items:flex-start;margin-top:12px}.ip-add select{font:inherit;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.chip.consent{border-style:dashed}.chip.consent.active{background:var(--ok);color:#fff;border-color:var(--ok);border-style:solid}.pw-warn{background:var(--surface-2);border-left:4px solid var(--accent);border-radius:0 8px 8px 0;padding:10px 14px;font-size:var(--fs-xs);line-height:1.6;color:var(--ink-soft);margin-bottom:14px}.pw-reveal{display:flex;align-items:center;gap:7px;font-size:var(--fs-xs);color:var(--ink-soft);margin-top:6px;cursor:pointer}.pw-reveal input{width:auto;margin:0}.pw-err{font-size:var(--fs-2xs);color:var(--danger);margin-top:4px}.publish-concerns{border:1px solid var(--warn, #c9873f);border-radius:10px;padding:10px 12px;margin-bottom:14px;background:#c9873f14}.publish-concerns ul{margin:6px 0 10px;padding-left:20px}.publish-concerns li{font-size:var(--fs-xs);margin-bottom:4px}.publish-concerns code{background:#0000000f;padding:1px 5px;border-radius:4px}.seg.light{border-color:var(--line);flex-wrap:wrap}.seg.light button{background:var(--surface-2, #f2ece3);color:var(--ink)}.seg.light button.active{background:var(--accent);color:#fff}.cmp-slots{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:12px}.cmp-slots.two{grid-template-columns:repeat(2,1fr)}.cmp-slot{border:2px solid var(--line);border-radius:10px;padding:8px;cursor:pointer;background:var(--surface)}.cmp-slot.open{border-color:var(--accent)}.cmp-slot.empty{border-style:dashed}.cmp-slot-label{font-size:var(--fs-xs);color:var(--ink-soft);margin-bottom:6px}.cmp-slot-thumb{height:110px;border-radius:8px;overflow:hidden;background:var(--surface-2, #f2ece3);display:flex;align-items:center;justify-content:center;font-size:var(--fs-2xs);color:var(--ink-soft)}.cmp-slot-thumb img{width:100%;height:100%;object-fit:cover}.cmp-cands{border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:12px}.cmp-cand-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.cmp-cand{position:relative;flex:none;width:96px;height:72px;padding:0;overflow:hidden;border:2px solid var(--line);border-radius:8px;background:var(--surface-2, #f2ece3);cursor:pointer}.cmp-cand img{width:100%;height:100%;object-fit:cover;display:block}.cmp-cand.on{border-color:var(--accent)}.cmp-cand.used{opacity:.45;cursor:not-allowed}.cmp-cand-tag{position:absolute;left:4px;bottom:4px;font-size:var(--fs-3xs);padding:1px 6px;border-radius:999px;background:#0009;color:#fff}.cmp-cand-tag.on{background:var(--accent)}.cmp-slot-meta{font-size:var(--fs-3xs);color:var(--ink-soft);margin-top:4px;text-align:center}.cmp-slot-meta.warn{color:var(--warn, #c9873f)}.cmp-cand-tag.same{background:var(--ok, #4a7c59)}.ads-panel{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:14px}.ad-group{margin-bottom:10px}.ad-group-title{font-size:var(--fs-2xs);color:var(--ink-soft);margin-bottom:4px}.ad-item{display:flex;align-items:flex-start;gap:8px;padding:6px 0;border-top:1px solid var(--line)}.ad-item .ad-text{flex:1;font-size:var(--fs-xs);white-space:pre-wrap;word-break:break-word}.ad-item .ad-len{flex:none;font-size:var(--fs-3xs);color:var(--ink-soft);padding-top:2px}.ca-thumbs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.ca-thumb{width:96px;height:72px;padding:0;overflow:hidden;cursor:pointer;border:2px solid var(--line);border-radius:8px;background:var(--surface-2, #f2ece3)}.ca-thumb:hover{border-color:var(--accent)}.ca-thumb img{width:100%;height:100%;object-fit:cover;display:block}.ca-panes{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}.ca-pane{flex:1;min-width:220px}.ca-pane-label{font-size:var(--fs-xs);color:var(--ink-soft);margin-bottom:4px}.ca-canvas{max-width:100%;border:1px solid var(--line);border-radius:8px;cursor:crosshair;display:block}.ca-hint{font-size:var(--fs-2xs);color:var(--ink-soft);margin-top:4px}.ca-result{border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:var(--fs-xs);margin-bottom:12px}.ca-partial{color:var(--warn, #c9873f);font-size:var(--fs-2xs);margin-top:4px}.ca-tooth-ok{color:var(--ok, #3f8f5c);font-size:var(--fs-2xs);margin-top:4px}.modal.wide{max-width:920px}.al-note{color:var(--ink-soft);font-size:var(--fs-xs);margin:0 0 12px;line-height:1.6}.al-panes{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:10px}.al-pane{flex:1;min-width:260px}.al-pane-label{font-size:var(--fs-xs);color:var(--ink-soft);margin-bottom:4px;display:flex;justify-content:space-between;gap:8px}.al-canvas{max-width:100%;border:1px solid var(--line);border-radius:8px;cursor:crosshair;display:block;background:var(--surface-2)}.al-strip{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;align-items:center}.al-chip{font-size:var(--fs-2xs);padding:5px 10px;border-radius:999px;min-height:32px;border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);display:inline-flex;align-items:center;gap:5px}.al-chip.active{border-color:var(--accent);color:var(--ink);font-weight:600}.al-chip.done{background:#eef5ef;border-color:var(--ok);color:var(--ok)}.al-chip.bad{background:#fbeeec;border-color:var(--danger);color:var(--danger)}.al-preview{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.al-preview figure{margin:0}.al-preview canvas{border:1px solid var(--line);border-radius:8px;display:block}.al-preview figcaption{font-size:var(--fs-3xs);color:var(--ink-soft);margin-top:3px;text-align:center}.al-err{color:var(--danger);font-size:var(--fs-xs);margin:6px 0}.ca-guide{font-size:12.5px;line-height:1.7;color:var(--ink-soft);background:var(--surface-2);border-radius:10px;padding:10px 12px;margin-bottom:10px}.ca-guide strong{color:var(--ink)}.ca-anchor{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:10px}.ca-anchor>span{font-size:var(--fs-xs);color:var(--ink-soft);margin-right:2px}.ca-compose{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:10px}.ca-comp{flex:1;min-width:200px;font-size:var(--fs-2xs)}.ca-comp-label{color:var(--ink-soft);margin-bottom:4px}.ca-comp-row{display:flex;align-items:center;gap:6px;margin-bottom:3px;color:var(--ink-soft)}.ca-comp-row.on{color:var(--ok);font-weight:600}.ca-comp-row>span:first-child{width:32px;flex:none}.ca-comp-row>b{width:34px;text-align:right;flex:none}.ca-bar{flex:1;height:8px;background:var(--surface-2);border-radius:4px;overflow:hidden}.ca-bar i{display:block;height:100%;background:var(--line)}.ca-comp-row.on .ca-bar i{background:var(--ok)}.ca-comp-clip{color:var(--warn, #c9873f);margin-top:3px}.ca-block{color:var(--danger);font-size:var(--fs-xs);line-height:1.7}@media (max-width: 820px){.collage-body{flex-direction:column}.collage-canvas-wrap{flex:1 1 auto;min-height:42vh}.collage-side{width:100%;flex:0 0 auto;max-height:48vh;border-left:none;border-top:1px solid #3a3128}}@media (max-width: 700px){.editor-top{height:auto;min-height:54px;flex-wrap:wrap;row-gap:6px;padding:8px 12px}.editor-top .title{display:none}.page{padding:12px}.editor-tools{padding:8px 12px;gap:6px}.editor-tabs{padding:0 8px}.tab-btn{padding:0 14px}}@media (max-width: 480px){.photo-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.modal{padding:16px}}.view-toggle{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.view-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;cursor:pointer;font:inherit;font-size:var(--fs-sm);color:var(--ink-soft);padding:0 12px;min-height:40px;display:inline-flex;align-items:center;gap:4px}.view-btn+.view-btn{border-left:1px solid var(--line)}.view-btn:hover:not(:disabled){background:#0000000a}.view-btn.active{background:var(--accent);color:var(--accent-ink, #fff)}.view-btn:disabled{opacity:.5;cursor:progress}.card .cover{position:relative}.fav-badge{position:absolute;top:8px;right:10px;color:#f0b429;font-size:var(--fs-xl);line-height:1;text-shadow:0 1px 3px rgba(0,0,0,.45)}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:var(--panel, #fff)}.case-table{width:100%;min-width:760px;table-layout:fixed;border-collapse:collapse;font-size:var(--fs-sm)}.case-table th,.case-table td{padding:10px 12px;text-align:left;vertical-align:middle}.case-table thead th{font-size:var(--fs-2xs);color:var(--ink-soft);font-weight:600;border-bottom:1px solid var(--line);white-space:nowrap}.case-table tbody tr{border-top:1px solid var(--line);cursor:pointer}.case-table tbody tr:first-child{border-top:0}.case-table tbody tr:hover{background:#00000008}.case-table .case-name{font-weight:600;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.case-table .meta{font-size:var(--fs-2xs);color:var(--ink-soft)}.case-table .fav-cell{color:#f0b429;text-align:center;padding-left:4px;padding-right:4px}.case-table td .chips{max-width:100%;overflow:hidden}.browse-main{max-width:1400px;padding:18px;min-width:0}.active-filters{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:16px}.af-label{font-size:var(--fs-2xs);color:var(--ink-soft);margin-right:2px}.af-chip{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:3px 8px 3px 4px;border:1px solid var(--accent);border-radius:999px;background:var(--accent);color:#fff;font:inherit;font-size:var(--fs-2xs)}.af-chip:hover{filter:brightness(1.08)}.af-group{background:#ffffff38;border-radius:999px;padding:1px 7px;font-size:var(--fs-3xs)}.af-x{opacity:.75;font-size:var(--fs-3xs)}.af-clear{background:none;border:0;font:inherit;font-size:var(--fs-2xs);color:var(--ink-soft);text-decoration:underline;padding:4px 6px;min-height:30px}.filter-panel{position:fixed;top:0;bottom:0;left:var(--sidebar-w);width:min(340px,calc(100vw - var(--sidebar-w)));height:100dvh;z-index:55;background:var(--surface);border-right:1px solid var(--line);box-shadow:6px 0 24px #3c2e1e1f;display:flex;flex-direction:column;transform:translate(-102%);transition:transform .2s ease;visibility:hidden}.filter-panel.open{transform:none;visibility:visible}.fp-head{display:flex;align-items:center;gap:8px;flex:none;padding:12px 14px;border-bottom:1px solid var(--line)}.fp-head strong{font-size:var(--fs-md)}.fp-link{background:none;border:0;font:inherit;font-size:var(--fs-2xs);color:var(--ink-soft);text-decoration:underline;padding:6px;min-height:36px}.fp-close{background:none;border:0;font:inherit;font-size:var(--fs-lg);color:var(--ink-soft);padding:4px 10px;min-height:40px}.fp-body{flex:1;overflow-y:auto;padding:10px 14px}.fp-note{font-size:var(--fs-2xs);color:var(--ink-soft);margin:0 0 10px;line-height:1.6}.fp-group{border-bottom:1px solid var(--line);padding:6px 0}.fp-group:last-child{border-bottom:0}.fp-group>summary{display:flex;align-items:center;gap:8px;cursor:pointer;min-height:44px;list-style:none;font-size:var(--fs-sm);font-weight:600}.fp-group>summary::-webkit-details-marker{display:none}.fp-group>summary:before{content:"▸";color:var(--ink-soft);font-size:var(--fs-3xs)}.fp-group[open]>summary:before{content:"▾"}.fp-group-title{flex:1}.fp-count{font-size:var(--fs-3xs);font-variant-numeric:tabular-nums;background:var(--accent);color:#fff;border-radius:999px;padding:1px 7px}.fp-count.applied{background:var(--surface-2);color:var(--ink-soft)}.fp-hint{font-size:var(--fs-3xs);color:var(--ink-soft);margin:0 0 6px;line-height:1.5}.fp-options{display:flex;flex-wrap:wrap;gap:6px;max-height:210px;overflow-y:auto;padding:2px 0 8px}.fp-options.cols{max-height:none;overflow:visible}.fp-chip{font:inherit;font-size:var(--fs-2xs);min-height:34px;padding:4px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-soft)}.fp-chip:hover{border-color:var(--accent)}.fp-chip.on{background:var(--accent);border-color:var(--accent);color:#fff}.fp-empty{font-size:var(--fs-2xs);color:var(--ink-soft);padding:4px 0 8px}.fp-tooth-row{margin-bottom:8px}.fp-tooth-label{font-size:var(--fs-3xs);color:var(--ink-soft);margin-bottom:4px}.fp-tooth-row .fp-chip{min-width:42px;justify-content:center;padding:4px 7px;font-variant-numeric:tabular-nums}.fp-foot{flex:none;padding:12px 14px;border-top:1px solid var(--line)}.apply-btn{width:100%}.apply-btn.dirty{box-shadow:0 0 0 3px #9c7c5340}.fp-dirty-note{font-size:var(--fs-2xs);color:var(--accent);margin-top:6px;text-align:center}.fp-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c181459;z-index:54}@media (max-width: 1023px){.shell{grid-template-columns:minmax(0,1fr)}.app-sidebar{position:fixed;left:0;top:0;bottom:0;width:min(292px,86vw);border-right:1px solid var(--line);box-shadow:4px 0 24px #3c2e1e2e;transform:translate(-100%);transition:transform .2s ease;visibility:hidden}.app-sidebar.open{transform:none;visibility:visible}.side-close{display:inline-flex}.nav-hamburger{display:inline-flex;align-items:center;justify-content:center}.nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#1c181459;z-index:59}.browse-main,.page{padding-top:62px}.filter-panel{left:0;width:100vw;max-width:none;border-right:0}}@media (max-width: 767px){.browse-main{padding:62px 12px 12px}}.form-error{background:#fbeeec;border:1px solid var(--danger);color:var(--danger);border-radius:8px;padding:8px 10px;font-size:var(--fs-xs);margin-bottom:10px;line-height:1.6}.tx-empty{color:var(--ink-soft);font-size:var(--fs-xs);line-height:1.7;padding:2px 0 4px}.tx-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.tx-item{display:flex;align-items:flex-start;gap:8px;border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:10px 12px}.tx-main{flex:1;min-width:0}.tx-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px}.tx-name{font-size:var(--fs-base)}.tx-teeth{display:flex;flex-wrap:wrap;gap:4px}.tx-tooth{font-size:var(--fs-2xs);font-variant-numeric:tabular-nums;color:var(--ink-soft);border:1px solid var(--line);border-radius:6px;padding:1px 5px;background:var(--surface-2)}.tx-scope-tag{font-size:var(--fs-2xs);color:var(--ink-soft)}.tx-features{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.tx-note{font-size:var(--fs-xs);color:var(--ink-soft);margin-top:6px;white-space:pre-wrap;word-break:break-word}.tx-actions{display:flex;gap:2px;flex:none}.tx-actions .btn{padding:0 8px}.tx-actions .btn.danger{background:transparent;color:var(--danger);border-color:transparent}.tx-scope{display:flex;flex-wrap:wrap;gap:6px}.tx-radio{display:inline-flex;align-items:center;gap:5px;cursor:pointer;border:1px solid var(--line);border-radius:999px;padding:7px 12px;font-size:var(--fs-xs);min-height:40px;box-sizing:border-box}.tx-radio.on{border-color:var(--accent);color:var(--accent);font-weight:600}.tx-feature-opts{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}.tx-feature-add{display:flex;gap:8px;align-items:center}.tx-feature-add .input{flex:1;min-width:0}.dental-chart{border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--surface-2)}.dc-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px}.dc-quad{min-width:0}.dc-quad-label{font-size:var(--fs-3xs);color:var(--ink-soft);margin-bottom:3px}.dc-row{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:3px}.dc-tooth{min-height:40px;padding:0 2px;font-size:var(--fs-xs);font-variant-numeric:tabular-nums;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);cursor:pointer;line-height:1;touch-action:manipulation}.dc-tooth:hover:not(:disabled){border-color:var(--accent)}.dc-tooth.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink, #fff);font-weight:600}.dc-tooth:disabled{opacity:.5;cursor:not-allowed}.dc-tooth:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dc-primary{margin-top:8px;border-top:1px solid var(--line);padding-top:8px}.dc-primary>summary{cursor:pointer;font-size:var(--fs-2xs);color:var(--ink-soft);margin-bottom:6px}.dc-foot{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}.dc-summary{flex:1;min-width:0;font-size:var(--fs-2xs);color:var(--ink-soft);line-height:1.6;word-break:break-word}@media (max-width: 560px){.dc-grid{grid-template-columns:1fr;gap:8px}.dental-chart{padding:8px}.dc-row{gap:2px}.dc-tooth{min-height:44px}.tx-item{flex-direction:column}.tx-actions{align-self:flex-end}}.stage-wall{display:flex;flex-direction:column;gap:14px}.stage-section{border:1px solid var(--line);border-radius:12px;padding:10px 12px 12px;background:var(--surface)}.stage-section.unassigned{border-style:dashed}.stage-section.drop-target{border-color:var(--accent);box-shadow:0 0 0 2px #b87c4240}.stage-head{display:flex;align-items:baseline;gap:10px;margin-bottom:8px;flex-wrap:wrap}.stage-name{font-weight:600;font-size:var(--fs-base)}.stage-count{font-size:var(--fs-2xs);color:var(--ink-soft)}.stage-hint{font-size:var(--fs-2xs);color:var(--ink-soft);opacity:.8}.stage-empty{border:1px dashed var(--line);border-radius:8px;padding:14px;text-align:center;color:var(--ink-soft);font-size:var(--fs-xs);min-height:44px;display:flex;align-items:center;justify-content:center}.stage-empty.drop-target{border-color:var(--accent);color:var(--ink)}.stage-wall .drag-handle{position:absolute;left:6px;top:6px;z-index:5;width:44px;height:44px;border-radius:10px;border:none;background:#2c2620c7;color:#fff;font-size:var(--fs-xl);line-height:1;display:flex;align-items:center;justify-content:center;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.stage-wall .drag-handle:active{cursor:grabbing;background:var(--accent)}.stage-wall .stage-select{position:absolute;left:6px;right:6px;bottom:6px;z-index:5;min-height:34px;border-radius:8px;border:1px solid var(--line);background:#ffffffeb;color:var(--ink);font-size:var(--fs-xs);padding:0 6px;max-width:calc(100% - 12px)}.stage-wall .sort-ctrl{background:#1e181238;pointer-events:none}.stage-wall .sort-btn{width:40px;height:40px;font-size:var(--fs-xl);pointer-events:auto}.photo-tile.dragging{opacity:.4}.photo-tile.drop-before{box-shadow:inset 4px 0 0 0 var(--accent)}.drop-tail{border:2px dashed var(--accent);border-radius:10px;aspect-ratio:1;min-height:60px}.drag-ghost{position:fixed;z-index:60;pointer-events:none;transform:translate(12px,12px);background:#2c2620eb;color:#fff;font-size:var(--fs-2xs);padding:6px 10px;border-radius:8px;white-space:nowrap;box-shadow:var(--shadow)}@media (max-width: 820px){.stage-section{padding:8px 8px 10px}}@media (max-width: 480px){.stage-wall .drag-handle{width:40px;height:40px}.stage-wall .stage-select{min-height:32px;font-size:var(--fs-2xs)}}.stage-section.is-empty{display:flex;align-items:center;gap:12px;padding:6px 10px}.stage-section.is-empty .stage-head{margin:0;flex:0 0 auto}.stage-section.is-empty .stage-empty{flex:1;min-height:40px;padding:6px 10px;font-size:var(--fs-2xs);border-radius:8px}.stage-batch{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:0 10px;cursor:pointer;background:var(--surface);color:var(--ink);border:1px solid var(--line)}.side-note{font-size:var(--fs-3xs);color:var(--ink-soft);padding:0 10px 4px;line-height:1.4}.fav-btn{position:absolute;top:4px;right:4px;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:#00000052;color:#fff;font-size:var(--fs-xl);line-height:1;cursor:pointer;padding:0}.fav-btn:hover{background:#00000080}.fav-btn.on{color:#f0b429}.fav-btn.inline{position:static;width:32px;height:32px;background:transparent;color:var(--ink-soft);font-size:var(--fs-xl)}.fav-btn.inline:hover{background:var(--surface-2)}.fav-btn.inline.on{color:#f0b429}.fav-btn.inline.lg{width:36px;height:36px;font-size:var(--fs-3xl)}.fav-badge.inline{position:static;color:#f0b429;margin-right:6px;text-shadow:none}.case-title-row{display:flex;align-items:center;gap:6px}.status-dot{display:inline-block;width:8px;height:8px;border-radius:999px;margin-right:4px;background:var(--line);vertical-align:middle}.status-dot.s-PLANNED{background:#8e9aaf}.status-dot.s-IN_TREATMENT{background:#3f7cc9}.status-dot.s-COMPLETED{background:#3f9e6b}.status-dot.s-FOLLOW_UP{background:#c9873f}.status-pill{display:inline-block;padding:2px 10px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);font-size:var(--fs-xs);color:var(--ink)}.notice{background:var(--surface-2);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:8px;padding:10px 12px;font-size:var(--fs-xs);line-height:1.75;color:var(--ink);margin:10px 0}.notice.danger{background:#fbeeec;border-color:var(--danger);border-left-color:var(--danger)}.trash-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.trash-row{display:flex;gap:12px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:10px;box-shadow:var(--shadow)}.trash-cover{flex:none;width:96px;height:72px;border-radius:8px;overflow:hidden;background:var(--surface-2);display:flex;align-items:center;justify-content:center;font-size:var(--fs-2xs);color:var(--ink-soft)}.trash-cover img{width:100%;height:100%;object-fit:cover}.trash-body{flex:1;min-width:0}.trash-body .title{font-weight:600;overflow-wrap:anywhere}.fav-inline{color:#f0b429;margin-right:4px}.trash-countdown{color:var(--danger);font-size:var(--fs-xs);margin-top:4px}.trash-countdown.expired{font-weight:600}.trash-damaged{color:var(--danger);font-size:var(--fs-xs);font-weight:600;margin-top:4px;background:#dc354514;border-left:3px solid var(--danger);padding:4px 8px;border-radius:4px}.trash-damaged .meta{display:block;font-weight:400}.trash-actions{flex:none;display:flex;flex-direction:column;gap:6px}@media (max-width: 560px){.trash-row{flex-wrap:wrap}.trash-actions{flex-direction:row;width:100%}.trash-actions .btn{flex:1}}.stats-section{margin-top:20px}.stats-h3{margin:0;font-size:var(--fs-base)}.stats-h3-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.stats-range{display:flex;align-items:center;gap:6px;margin-left:auto;font-size:var(--fs-xs);color:var(--ink-soft)}.stats-range .input{max-width:150px}.stats-bars{display:flex;flex-direction:column;gap:4px;margin-top:10px}.stats-row{display:grid;grid-template-columns:minmax(96px,168px) minmax(0,1fr) 48px;align-items:center;gap:10px;width:100%;text-align:left;padding:5px 8px;background:none;border:1px solid transparent;border-radius:8px;font:inherit;color:var(--ink)}.stats-row.clickable{cursor:pointer}.stats-row.clickable:hover{background:var(--surface-2);border-color:var(--line)}.stats-row.clickable:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.stats-row.muted{color:var(--ink-soft)}.stats-label{overflow-wrap:anywhere;font-size:var(--fs-xs)}.stats-track{display:block;height:16px;border-radius:4px;background:var(--surface-2);overflow:hidden}.stats-bar{display:block;height:100%;background:var(--accent);border-radius:4px}.stats-bar.empty-bar{background:var(--ink-soft);opacity:.45}.stats-value{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;font-size:var(--fs-xs)}.stats-row.zero .stats-value{color:var(--ink-soft);font-weight:400}@media (max-width: 560px){.stats-row{grid-template-columns:minmax(80px,104px) minmax(0,1fr) 36px;gap:6px;padding:5px 4px}.stats-label{font-size:var(--fs-2xs)}.stats-range{margin-left:0;width:100%}}.case-damaged-banner{margin-top:12px;padding:10px 12px;border-radius:6px;color:var(--danger);font-weight:600;background:#dc354514;border-left:4px solid var(--danger)}.case-damaged-banner .meta{display:block;font-weight:400;margin-top:3px;line-height:1.5}.case-damaged-banner strong{color:var(--danger)}.chip.uncategorized{background:transparent;border:1px dashed var(--line);color:var(--ink-soft)}.chip.pick{font:inherit;font-size:var(--fs-2xs);cursor:pointer;min-height:34px;padding:4px 12px}.chip.treatment.pick{background:var(--surface);color:var(--ink-soft);border:1px solid var(--line)}.chip.treatment.pick:hover{border-color:var(--accent)}.chip.treatment.pick.active{background:var(--accent);border-color:var(--accent);color:#fff}.req{font-size:var(--fs-3xs);color:var(--danger);border:1px solid var(--danger);border-radius:999px;padding:1px 7px;margin-left:4px;vertical-align:middle}.field-hint{font-size:var(--fs-2xs);color:var(--ink-soft);margin-top:6px;line-height:1.6}.field-hint.warn{color:var(--danger)}
