:root{--pipe:#f2c200;--pipe-ink:#2a2300;--bg:#eef0f1;--surface:#fff;--sunken:#f6f7f8;--ink:#1d232a;--ink-2:#55606b;--line:#d3d8dc;--ok:#23734f;--ok-soft:#e1f1e9;--danger:#b8321c;--danger-soft:#fbe6e1;--done:#8a949d;--warn-soft:#fff6d1;--focus:#1f6feb;--r-sm:6px;--r-md:10px;--tap:48px;--tabbar:64px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--pipe:#f2c200;--pipe-ink:#2a2300;--bg:#12161a;--surface:#1c2227;--sunken:#161b1f;--ink:#e7eaed;--ink-2:#9aa5af;--line:#2f383f;--ok:#4fbf8a;--ok-soft:#173326;--danger:#ff7a62;--danger-soft:#3a1d17;--done:#6c7780;--warn-soft:#3a3210;--focus:#6ea8ff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-variant-numeric:tabular-nums;-webkit-tap-highlight-color:transparent;margin:0;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,sans-serif;font-size:16px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.app{min-height:100dvh;padding-bottom:calc(var(--tabbar) + env(safe-area-inset-bottom) + 16px)}.top{z-index:10;background:var(--surface);border-bottom:1px solid var(--line);padding:calc(env(safe-area-inset-top) + 8px) 16px 8px;position:sticky;top:0}.top-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.top h1{letter-spacing:-.01em;margin:0;font-size:17px;font-weight:700}.summary{grid-template-columns:repeat(4,1fr);gap:4px;margin-top:6px;display:grid}.summary div{padding:4px 0}.summary b{font-size:22px;font-weight:700;line-height:1.1;display:block}.summary span{color:var(--ink-2);font-size:12px;display:block}.summary .is-wait b{color:var(--ink);box-shadow:inset 0 -6px 0 var(--pipe);padding:0 2px;display:inline-block}.summary .is-review b{color:var(--danger)}main{max-width:720px;margin:0 auto;padding:12px 16px}.screen-title{margin:4px 0 12px;font-size:20px;font-weight:700}.section-title{margin:20px 0 8px;font-size:15px;font-weight:700}.muted{color:var(--ink-2)}.small{font-size:13px}.tabbar{z-index:20;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar button{height:var(--tabbar);cursor:pointer;color:var(--ink-2);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:12px;display:flex;position:relative}.tabbar svg{width:24px;height:24px}.tabbar button[aria-current=page]{color:var(--ink);font-weight:700}.tabbar button[aria-current=page]:before{content:"";background:var(--pipe);border-radius:0 0 4px 4px;height:4px;position:absolute;top:0;left:25%;right:25%}.tabbar .badge{background:var(--pipe);min-width:18px;height:18px;color:var(--pipe-ink);border-radius:9px;padding:0 5px;font-size:11px;font-weight:700;line-height:18px;position:absolute;top:8px;left:calc(50% + 6px)}.btn{min-height:var(--tap);border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-weight:600;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--pipe);border-color:var(--pipe);color:var(--pipe-ink)}.btn-danger{color:var(--danger);border-color:var(--danger);background:0 0}.btn-danger-solid{background:var(--danger);border-color:var(--danger);color:#fff}.btn-ghost{background:0 0;border-color:#0000}.btn-sm{min-height:44px;padding:0 12px;font-size:14px}.btn-block{width:100%}.btn-row{flex-wrap:wrap;gap:8px;display:flex}.btn-row>.btn{flex:auto}.icon-btn{cursor:pointer;width:44px;height:44px;color:var(--ink-2);background:0 0;border:0;border-radius:50%;place-items:center;display:inline-grid}.icon-btn svg{width:22px;height:22px}.chips{scrollbar-width:none;gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.chip{border:1px solid var(--line);background:var(--surface);white-space:nowrap;cursor:pointer;border-radius:20px;min-height:40px;padding:0 14px;font-size:14px;font-weight:600}.chip[aria-pressed=true]{background:var(--ink);color:var(--surface);border-color:var(--ink)}.chip .n{opacity:.8;margin-left:4px;font-weight:400}.field{margin-bottom:14px;display:block}.field>.label{margin-bottom:4px;font-size:14px;font-weight:600;display:block}.field>.label .req{color:var(--danger);margin-left:2px}.field .hint{color:var(--ink-2);margin-top:4px;font-size:13px}.input,select.input,textarea.input{width:100%;min-height:var(--tap);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);padding:10px 12px}textarea.input{resize:vertical;min-height:96px}.input:focus{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 25%, transparent);outline:none}.row2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.with-btn{gap:8px;display:flex}.with-btn .input{flex:1;min-width:0}.radio-chips{flex-wrap:wrap;gap:6px;display:flex}.radio-chips label{position:relative}.radio-chips input{opacity:0;position:absolute;inset:0}.radio-chips span{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:22px;align-items:center;min-height:44px;padding:0 14px;font-size:14px;display:inline-flex}.radio-chips input:checked+span{background:var(--ink);color:var(--surface);border-color:var(--ink);font-weight:600}.radio-chips input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.check{cursor:pointer;align-items:flex-start;gap:10px;min-height:44px;display:flex}.check input{width:22px;height:22px;accent-color:var(--ink);flex:none;margin:2px 0 0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:8px;padding:12px 14px}.case{border-left:8px solid var(--pipe);text-align:left;cursor:pointer;grid-template-columns:1fr;gap:4px 12px;width:100%;display:grid}.case[data-status=접수\ 완료]{border-left-color:var(--ok)}.case[data-status=종결]{border-left-color:var(--done)}.case .addr{font-size:16px;font-weight:700;line-height:1.35}.case .sub{color:var(--ink-2);font-size:14px}.case .days{text-align:right;grid-area:1/2/span 2;line-height:1.1}.case .days b{font-size:26px;font-weight:800;display:block}.case .days span{color:var(--ink-2);font-size:12px}.case .tags{flex-wrap:wrap;grid-column:1/-1;gap:6px;margin-top:4px;display:flex}.tag{border-radius:var(--r-sm);background:var(--sunken);color:var(--ink-2);border:1px solid var(--line);align-items:center;gap:4px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.tag-repeat{background:var(--danger-soft);color:var(--danger);border-color:#0000}.tag-ok{background:var(--ok-soft);color:var(--ok);border-color:#0000}.tag-warn{background:var(--warn-soft);color:var(--ink);border-color:#0000}.tag-danger{background:var(--danger);color:#fff;border-color:#0000}.notice-box{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);margin-bottom:10px;overflow:hidden}.notice-box header{background:var(--sunken);border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:8px;padding:10px 14px;display:flex}.notice-box header b{font-size:15px}.notice-box .body{padding:10px 14px}.kv{grid-template-columns:76px 1fr;gap:2px 8px;margin:0;font-size:14px;display:grid}.kv dt{color:var(--ink-2)}.kv dd{word-break:break-all;margin:0}.alert{border-radius:var(--r-md);margin-bottom:12px;padding:10px 12px;font-size:14px}.alert-warn{background:var(--warn-soft)}.alert-danger{background:var(--danger-soft);color:var(--danger)}.alert-ok{background:var(--ok-soft);color:var(--ok)}.empty{text-align:center;color:var(--ink-2);padding:40px 16px}.empty .btn{margin-top:12px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;display:grid}.photo{border-radius:var(--r-sm);background:var(--sunken);border:1px solid var(--line);position:relative;overflow:hidden}.photo img,.photo .ph{aspect-ratio:1;object-fit:cover;width:100%;display:block}.photo .ph{color:var(--ink-2);place-items:center;font-size:12px;display:grid}.photo .cap{padding:4px 6px;font-size:11px;line-height:1.3}.photo .cap.warn{background:var(--warn-soft)}.photo .x{color:#fff;cursor:pointer;background:#0009;border:0;border-radius:50%;width:32px;height:32px;font-size:16px;position:absolute;top:2px;right:2px}.photo-add{border:2px dashed var(--line);border-radius:var(--r-md);background:var(--surface);cursor:pointer;justify-content:center;align-items:center;gap:8px;width:100%;min-height:72px;font-weight:700;display:flex}.photo-add input{display:none}.sheet-backdrop{z-index:30;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{overscroll-behavior:contain;background:var(--bg);width:100%;max-width:720px;max-height:92dvh;padding:0 16px calc(16px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;animation:.22s ease-out sheet-up;overflow-y:auto}@keyframes sheet-up{0%{opacity:.6;transform:translateY(24px)}to{opacity:1;transform:none}}.sheet-head{background:var(--bg);z-index:1;justify-content:space-between;align-items:center;padding:12px 0 8px;display:flex;position:sticky;top:0}.sheet-head h2{margin:0;font-size:18px}.viewer{z-index:40;background:#000;flex-direction:column;display:flex;position:fixed;inset:0}.viewer img{object-fit:contain;flex:1;width:100%;min-height:0}.viewer .bar{color:#ddd;padding:8px 12px calc(8px + env(safe-area-inset-bottom));word-break:break-all;justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.toast{left:16px;right:16px;bottom:calc(var(--tabbar) + env(safe-area-inset-bottom) + 12px);z-index:50;border-radius:var(--r-md);background:var(--ink);max-width:480px;color:var(--surface);opacity:0;pointer-events:none;margin:0 auto;padding:12px 16px;font-size:14px;font-weight:600;transition:opacity .2s,transform .2s;position:fixed;transform:translateY(8px)}.toast[data-show=true]{opacity:1;transform:none}.sticky-save{bottom:calc(var(--tabbar) + env(safe-area-inset-bottom) + 8px);margin-top:8px;position:sticky}.company-row{text-align:left;cursor:pointer;grid-template-columns:1fr auto;gap:2px 12px;width:100%;display:grid}.company-row .name{font-weight:700}.company-row .count{text-align:right;grid-area:1/2/span 2}.company-row .count b{font-size:26px;font-weight:800;line-height:1.1;display:block}.stage{border-radius:var(--r-sm);padding:2px 8px;font-size:12px;font-weight:700}.stage[data-stage=관찰]{background:var(--sunken);color:var(--ink-2);border:1px solid var(--line)}.stage[data-stage=고발\ 검토]{background:var(--danger-soft);color:var(--danger)}.stage[data-stage=고발\ 진행]{background:var(--danger);color:#fff}.stage[data-stage=고발\ 완료]{background:var(--ink);color:var(--surface)}.bars{gap:6px;display:grid}.bars .bar-row{grid-template-columns:56px 1fr 32px;align-items:center;gap:8px;font-size:14px;display:grid}.bars .bar-track{background:var(--sunken);border:1px solid var(--line);border-radius:6px;height:12px;overflow:hidden}.bars .bar-fill{background:var(--ink-2);height:100%}.timeline{margin:0;padding:0;list-style:none}.timeline li{border-bottom:1px solid var(--line);grid-template-columns:44px 1fr;gap:10px;padding:10px 0;display:grid}.timeline .ord{font-size:18px;font-weight:800}.guide ol{margin:8px 0;padding-left:20px}.guide li{margin-bottom:6px}.code{background:var(--sunken);border:1px solid var(--line);word-break:break-all;border-radius:4px;padding:2px 6px;font-family:ui-monospace,Consolas,monospace;font-size:13px}details>summary{cursor:pointer;align-items:center;min-height:44px;font-weight:600;display:flex}.step{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:10px;padding:12px 14px 14px}.step-title{align-items:center;gap:8px;margin:0 0 10px;font-size:16px;display:flex}.step-no{background:var(--pipe);width:26px;height:26px;color:var(--pipe-ink);border-radius:50%;flex:none;place-items:center;font-size:14px;font-weight:800;display:inline-grid}.found-at{flex-direction:column;align-items:flex-start;margin-top:10px;display:flex}.found-at .field{width:100%}.more{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:10px;padding:0 14px}.more[open]{padding-bottom:4px}.pick{text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:2px;width:100%;min-height:56px;display:flex}.pick:disabled{opacity:.6;cursor:default}.link-btn{min-height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;padding:8px 0;font-size:14px;text-decoration:underline}.photo-x{color:#fff;cursor:pointer;background:#0009;border:0;border-radius:50%;width:32px;height:32px;font-size:16px;position:absolute;top:2px;right:2px}
