:root{--ink: #0e1116;--ink-muted: #5a6472;--ink-faint: #8b95a3;--canvas: #f7f6f4;--surface: #ffffff;--sunken: #efedea;--border: #e3e0db;--accent: #b08d57;--danger: #9b2c2c;--warning: #8a6321;--success: #2f6b4f;--radius: 10px;--radius-sm: 7px;--gap: 12px;--lift: 0 1px 2px rgba(14, 17, 22, .05), 0 1px 3px rgba(14, 17, 22, .04);--lift-strong: 0 2px 4px rgba(14, 17, 22, .06), 0 8px 20px rgba(14, 17, 22, .08);--focus: 0 0 0 3px rgba(176, 141, 87, .32);--ease: .13s cubic-bezier(.2, 0, .2, 1)}:where(button,input,select,textarea,a,[tabindex]):focus-visible{outline:none;box-shadow:var(--focus);border-color:var(--accent)}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font:14px/1.55 -apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-variant-numeric:tabular-nums}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.011em}h1{font-size:20px}h2{font-size:15px}h3{font-size:13.5px}button{font:inherit;font-weight:500;cursor:pointer;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--ink);padding:7px 13px;box-shadow:var(--lift);transition:background var(--ease),border-color var(--ease),box-shadow var(--ease),transform var(--ease)}button:hover:not(:disabled){border-color:var(--ink-faint);background:var(--canvas)}button:active:not(:disabled){transform:translateY(1px);box-shadow:none}button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}button.primary{background:var(--ink);color:#fff;border-color:var(--ink)}button.primary:hover:not(:disabled){background:#1c222b;border-color:#1c222b}button.danger{color:var(--danger);border-color:#e6cccc}button.danger:hover:not(:disabled){background:#fdf4f4;border-color:var(--danger)}input,select{font:inherit;padding:8px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);width:100%;transition:border-color var(--ease),box-shadow var(--ease)}input:hover:not(:disabled),select:hover:not(:disabled){border-color:var(--ink-faint)}input::placeholder{color:var(--ink-faint)}.app{display:grid;grid-template-columns:216px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"brand topbar" "rail work";min-height:100vh}.brand-box{grid-area:brand;display:flex;align-items:center;gap:10px;padding:16px 18px;border-inline-end:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface)}.logo{display:block;height:30px;width:auto;color:var(--ink);flex:none}.signin .logo{height:44px;margin-bottom:20px}.brand-box .brand-sub{color:var(--ink-faint);font-size:12px}header.bar{grid-area:topbar;display:flex;align-items:center;gap:var(--gap);padding:0 22px;min-height:58px;border-bottom:1px solid var(--border);background:var(--surface)}header.bar .spacer{flex:1}nav.tabs{grid-area:rail;display:flex;flex-direction:column;gap:2px;padding:12px;border-inline-end:1px solid var(--border);background:var(--surface);position:sticky;top:0;height:100vh;overflow-y:auto}.tab-group{display:flex;flex-direction:column;gap:1px}.tab-group+.tab-group{margin-top:14px}.tab-group-title{padding:0 12px 5px;font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint)}nav.tabs button{border-color:transparent;background:transparent;box-shadow:none;font-weight:450;text-align:start;padding:7px 12px;border-radius:var(--radius-sm)}nav.tabs button:hover:not(:disabled){background:var(--sunken);border-color:transparent;transform:none}nav.tabs button:active:not(:disabled){transform:none}nav.tabs button.on{background:var(--sunken);color:var(--ink);border-color:transparent;font-weight:600;box-shadow:inset 3px 0 0 var(--accent)}main.shell{grid-area:work;padding:22px;max-width:1240px}section.group{margin-bottom:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--lift)}section.group>h2{margin-bottom:12px;color:var(--ink);display:flex;align-items:baseline;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--border)}section.group>h2 .count{color:var(--ink-faint);font-weight:400}.row{display:flex;align-items:center;gap:var(--gap);flex-wrap:wrap;margin-bottom:12px}.row label{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--ink-muted)}.row label input,.row label select{color:var(--ink)}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:8px;transition:border-color var(--ease),box-shadow var(--ease)}.card:hover{border-color:#d5d1cb;box-shadow:var(--lift)}.card .row{margin-bottom:4px}.card .row:last-child{margin-bottom:0}.card .meta{line-height:1.4}.card.live{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.row .grow{flex:1;min-width:180px}.meta{color:var(--ink-faint);font-size:12.5px}.muted{color:var(--ink-muted)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.4px;overflow-wrap:anywhere}.pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:500;letter-spacing:.01em;background:var(--sunken);color:var(--ink-muted);white-space:nowrap}.pill.warn{background:#faf3e5;color:var(--warning)}.pill.ok{background:#eaf2ed;color:var(--success)}.pill.bad{background:#fbecec;color:var(--danger)}.empty{color:var(--ink-faint);padding:18px 0}.notice{padding:10px 14px;border-radius:8px;background:#fbecec;color:var(--danger);margin-bottom:14px}.gate{min-height:100vh;display:grid;place-items:center;padding:24px}.signin{width:100%;max-width:340px}.signin>*+*{margin-top:12px}.assign{margin-top:8px;padding-top:8px;border-top:1px dashed var(--border)}.assign select{margin-bottom:8px}.assign label.row input[type=date]{width:auto;flex:0 0 auto}.shot{display:block;margin-top:10px}.shot img{max-width:100%;max-height:320px;border-radius:var(--radius);border:1px solid var(--border)}.thread{margin-bottom:12px}.msg{padding:8px 12px;border-radius:8px;background:var(--sunken);margin-bottom:8px}.msg p{margin-top:4px;white-space:pre-wrap}.msg.agent{background:#eef2f7}.msg.internal{background:#fdf6e3;border-inline-start:3px solid var(--warning)}textarea{width:100%;font:inherit;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--ink);margin-bottom:8px;resize:vertical}.row label.row input[type=checkbox]{width:auto}.map{height:460px;border-radius:var(--radius);border:1px solid var(--border);margin-bottom:12px}.leaflet-container{border-radius:var(--radius);font:inherit}.figures{display:flex;gap:var(--gap);flex-wrap:wrap;margin-bottom:12px}.figure{flex:1 1 170px;display:flex;flex-direction:column;gap:2px;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--lift)}.figure.strong{border-color:var(--ink)}.figure .amount{font-size:22px;font-weight:600;letter-spacing:-.02em}.scroller{overflow-x:auto;overscroll-behavior-x:contain}table{width:100%;border-collapse:collapse;font-size:13.5px}th,td{text-align:start;padding:9px 10px;border-bottom:1px solid var(--border);white-space:nowrap}th{color:var(--ink-muted);font-weight:500;position:sticky;top:0;background:var(--surface);z-index:1}tbody tr:hover{background:var(--canvas)}tbody tr:last-child td{border-bottom:none}td .actions button{padding:4px 10px;font-size:12.5px}td.num,th.num{text-align:end;font-variant-numeric:tabular-nums}.thumb{position:relative;display:inline-flex;flex-direction:column;gap:4px}.thumb img,.thumb-empty{display:block;width:96px;height:64px;object-fit:cover;border-radius:6px;border:2px solid var(--border);background:var(--sunken)}.thumb.primary img{border-color:var(--success)}.thumb-actions{display:flex;gap:4px}.thumb-actions button{padding:2px 6px;font-size:11px}.facts{display:grid;grid-template-columns:max-content 1fr;gap:4px var(--gap);margin:0}.facts dt{color:var(--ink-muted)}.facts dd{margin:0;min-width:0;overflow-wrap:anywhere}.hint{color:var(--ink-faint);font-size:12.5px;margin:6px 0;line-height:1.45}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--gap)}.media-grid figure{margin:0;background:var(--sunken);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.media-grid img,.media-grid video{display:block;width:100%;height:165px;object-fit:cover;background:var(--ink)}.media-grid figcaption{padding:6px 8px;font-size:12px;color:var(--ink-muted);border-top:1px solid var(--border)}.media-open{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}.media-open:focus-visible{outline:none;box-shadow:var(--focus)}.media-actions{display:flex;gap:12px;padding:6px 8px;border-top:1px solid var(--border)}.media-actions .link{font-size:12px}.media-actions a.link{text-decoration:none}.lightbox{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:32px;background:#0c0e11d1;cursor:zoom-out}.lightbox img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:var(--radius);cursor:default}.lightbox-close{position:absolute;top:16px;inset-inline-end:16px}.id-chip{display:inline-flex;align-items:baseline;gap:8px;padding:2px 8px;border:1px solid var(--border);border-radius:999px;background:var(--sunken);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;letter-spacing:.04em;color:var(--ink);cursor:pointer}.id-chip:hover{border-color:var(--accent)}.id-chip:focus-visible{outline:none;box-shadow:var(--focus)}.id-chip-hint{font-family:inherit;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted)}button.link{border:none;background:none;box-shadow:none;padding:2px 0;color:var(--accent);font-weight:500;text-decoration:underline;text-underline-offset:3px}button.link:hover:not(:disabled){background:none;color:var(--ink)}button.link:active:not(:disabled){transform:none}.request{border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px;margin-bottom:12px;background:var(--canvas)}.request .facts{margin-bottom:12px}@media(prefers-color-scheme:dark){:root{--ink: #f2f3f5;--ink-muted: #a7b0bb;--ink-faint: #6f7885;--canvas: #0b0d10;--surface: #14181d;--sunken: #1c2128;--border: #262c34;--accent: #c9a468;--danger: #e08585;--warning: #d9b168;--success: #6fbf95;--lift: 0 1px 2px rgb(0 0 0 / 40%);--lift-strong: 0 2px 6px rgb(0 0 0 / 45%), 0 12px 28px rgb(0 0 0 / 35%);--focus: 0 0 0 3px rgb(201 164 104 / 38%)}input,select,textarea{color-scheme:dark}.pill.ok{background:#6fbf9524;color:#8fd3b0}.pill.warn{background:#d9b16824;color:#e2c38a}.pill.bad{background:#e0858524;color:#eda3a3}img{filter:brightness(.94)}}@media(max-width:900px){.app{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"brand topbar" "rail rail" "work work";grid-template-rows:auto auto minmax(0,1fr)}.brand-box{padding:12px 14px}nav.tabs{flex-direction:row;align-items:center;gap:4px;height:auto;position:static;overflow-x:auto;overscroll-behavior-x:contain;border-inline-end:none;border-bottom:1px solid var(--border)}.tab-group{flex-direction:row;align-items:center;gap:2px}.tab-group+.tab-group{margin-top:0;margin-inline-start:10px}.tab-group-title{padding:0;padding-inline-end:6px}nav.tabs button{white-space:nowrap}nav.tabs button.on{box-shadow:inset 0 -3px 0 var(--accent)}header.bar{padding:12px 16px}main.shell{padding:16px}}@media(max-width:600px){.brand-box .brand-sub{display:none}.brand-box{padding:10px 12px}.logo{height:24px}header.bar{flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:10px 12px;min-height:0}header.bar .spacer{display:none}header.bar .meta{min-width:0;overflow-wrap:anywhere}main.shell{padding:12px}section.group{padding:12px 13px}.row>label{flex:1 1 100%}.facts{grid-template-columns:minmax(0,1fr);gap:0}.facts dt{margin-top:8px}.facts dt:first-of-type{margin-top:0}.figure{flex-basis:100%}.map{height:320px}.lightbox{padding:12px}.lightbox-close{top:10px;inset-inline-end:10px}}
