:root{--green:#15803d;--green-dark:#166534;--ink:#111827;--muted:#4b5563;--line:#d1d5db;--surface:#f3f4f6;--page:#fff;--danger:#b42318;--danger-bg:#fee4e2;--warning-bg:#fef3c7;--warning-ink:#78350f;--info-bg:#e0f2fe;--info-ink:#0c4a6e;--demo:#1e3a8a}*{box-sizing:border-box}html,body{background:var(--surface);color:var(--ink);margin:0;font-family:system-ui,-apple-system,Segoe UI,Noto Sans Lao,Noto Sans,sans-serif;font-size:16px;line-height:1.55}h1{margin:.5rem 0;font-size:1.6rem;line-height:1.35}h2{margin:0 0 .25rem;font-size:1.15rem}p{margin:0}a{color:var(--green-dark)}code{font-size:.85rem}.muted{color:var(--muted)}.small{font-size:.875rem}.center{text-align:center;padding:3rem 1rem}.stack{flex-direction:column;gap:1rem;display:flex}.row{align-items:center;gap:.5rem;display:flex}.row.wrap{flex-wrap:wrap}.demo-banner{background:var(--demo);color:#fff;text-align:center;padding:.25rem 1rem;font-size:.8rem}.narrow,.login{flex-direction:column;gap:.75rem;max-width:26rem;margin:2rem auto;padding:1.5rem 1rem;display:flex}.login-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.topbar{background:var(--page);border-bottom:1px solid var(--line);z-index:10;position:sticky;top:0}.topbar-row{color:#fff;background:#000;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem max(1rem,50% - 33rem);display:flex}.brand{flex-wrap:wrap;align-items:center;gap:.75rem;min-width:0;display:flex}.brand-logo{width:auto;height:44px;display:block}.brand-text{color:#d1d5db;flex-direction:column;min-width:0;display:flex}.brand-text strong,.topbar-row .button.subtle{color:#fff}.topbar-row .button.subtle:hover:not(:disabled){background:#ffffff26}.logo-card{background:#000;border-radius:16px;padding:1rem}.logo-card img{width:100%;height:auto;display:block}.topbar-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.tabs{gap:.25rem;max-width:68rem;margin:0 auto;padding:0 1rem;display:flex;overflow-x:auto}.tab{min-height:44px;font:inherit;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;padding:.5rem .75rem;font-weight:600}.tab.active{color:var(--green-dark);border-bottom-color:var(--green)}.content{max-width:68rem;margin:0 auto;padding:1rem}.button{border:1px solid var(--line);background:var(--page);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;border-radius:10px;padding:.5rem 1rem;font-weight:600}.button:hover:not(:disabled){background:var(--surface)}.button:disabled{opacity:.55;cursor:not-allowed}.button.primary{background:var(--green);border-color:var(--green);color:#fff}.button.primary:hover:not(:disabled){background:var(--green-dark)}.button.danger{background:var(--danger);border-color:var(--danger);color:#fff}.button.danger:hover:not(:disabled){background:#912018}.button.danger-outline{border-color:var(--danger);color:var(--danger)}.link-button{align-items:center;text-decoration:none;display:inline-flex}.button.subtle{background:0 0;border-color:#0000}:is(button,a,input,select,textarea):focus-visible{outline-offset:2px;outline:3px solid #2563eb}.segmented{border:1px solid var(--line);border-radius:10px;display:inline-flex;overflow:hidden}.segment{background:var(--page);min-height:40px;font:inherit;cursor:pointer;border:none;padding:.25rem .75rem;font-size:.9rem}.segment.active{background:var(--green-dark);color:#fff}.field{flex-direction:column;gap:.25rem;font-size:.95rem;font-weight:600;display:flex}.field.small{font-size:.85rem}input,select,textarea{font:inherit;border:1px solid var(--line);background:var(--page);min-height:44px;color:var(--ink);border-radius:8px;width:100%;padding:.5rem .65rem;font-weight:400}select:disabled{background:var(--surface);color:var(--muted)}.notice{border-radius:8px;padding:.6rem .8rem;font-size:.925rem}.notice.info{background:var(--info-bg);color:var(--info-ink)}.notice.warning{background:var(--warning-bg);color:var(--warning-ink)}.notice.error{background:var(--danger-bg);color:var(--danger)}.section-tabs{flex-wrap:wrap;gap:.5rem;display:flex}.section-tab{border:1px solid var(--line);background:var(--page);min-height:44px;font:inherit;cursor:pointer;border-radius:22px;padding:.4rem .9rem;font-weight:600}.section-tab.active{background:var(--green-dark);border-color:var(--green-dark);color:#fff}.count{text-align:center;background:var(--surface);min-width:1.5em;color:var(--ink);font-variant-numeric:tabular-nums;border-radius:1em;font-size:.8rem;display:inline-block}.filters{grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));gap:.75rem;display:grid}.empty{text-align:center;color:var(--muted);background:var(--page);border:1px dashed var(--line);border-radius:12px;padding:3rem 1rem}.card{background:var(--page);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:.85rem;padding:1rem;display:flex}.photo-compare{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.75rem;display:grid}.photo-group{flex-direction:column;gap:.35rem;min-width:0;margin:0;display:flex}.photo-group figcaption{font-size:.875rem;font-weight:700}.photo-group img{object-fit:cover;background:var(--surface);border-radius:8px;width:100%;max-height:20rem;display:block}.photo-empty{text-align:center;min-height:7rem;color:var(--muted);background:var(--surface);border-radius:8px;justify-content:center;align-items:center;padding:1rem;font-size:.9rem;display:flex}.summary{flex-direction:column;gap:.4rem;display:flex}.badges{flex-wrap:wrap;gap:.4rem;display:flex}.status-badge,.tag{border-radius:12px;padding:.1rem .6rem;font-size:.8rem;font-weight:700;display:inline-block}.tag{background:var(--surface);color:var(--muted)}.tag.danger{background:var(--danger-bg);color:var(--danger)}.description{overflow-wrap:anywhere;font-size:1.1rem}.meta{color:var(--muted);font-size:.875rem}.note{overflow-wrap:anywhere}.details-editor{flex-direction:column;gap:.5rem;padding:.25rem 0;display:flex}.details-row{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.details-label{margin-right:.25rem;font-size:.875rem;font-weight:600}.choice{border:1px solid var(--line);background:var(--page);min-height:40px;color:var(--ink);font:inherit;cursor:pointer;border-radius:20px;padding:.25rem .8rem;font-size:.9rem;font-weight:600}.choice:disabled{opacity:.6;cursor:wait}.choice.active{background:var(--green-dark);border-color:var(--green-dark);color:#fff}.choice.danger{border-color:var(--danger);color:var(--danger)}.choice.danger.active{background:var(--danger);color:#fff}.translated-note{color:var(--muted);font-size:.8rem}.link-text{font:inherit;color:var(--green-dark);cursor:pointer;background:0 0;border:none;padding:.25rem 0;font-weight:700;text-decoration:underline}.history summary{cursor:pointer;color:var(--muted);font-size:.875rem}.history ul{color:var(--muted);margin:.25rem 0 0;padding-left:1.25rem;font-size:.875rem}.actions{border-top:1px solid var(--surface);flex-wrap:wrap;align-items:flex-start;gap:.5rem;padding-top:.85rem;display:flex}.reason-form,.merge-box{background:var(--surface);border-radius:8px;flex-direction:column;flex:100%;gap:.5rem;padding:.75rem;display:flex}.merge-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.tiles{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.75rem;display:grid}.tile{background:var(--page);border:1px solid var(--line);border-radius:12px;flex-direction:column;padding:.75rem 1rem;display:flex}.tile-value{font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:800}.tile-label{color:var(--muted);font-size:.875rem}.table-wrap{background:var(--page);border:1px solid var(--line);border-radius:12px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.925rem}th,td{text-align:left;border-bottom:1px solid var(--surface);vertical-align:middle;padding:.55rem .75rem}th{color:var(--muted);font-size:.8rem}.num{text-align:right;font-variant-numeric:tabular-nums}.nowrap{white-space:nowrap}.break{overflow-wrap:anywhere}td select{min-width:9rem}
