:root{--bg:#f6f7f9;--surface:#fff;--text:#1f2328;--muted:#667085;--border:#d9dde3;--accent:#1f6feb;--accent-bg:#e8f0fe;--danger:#c62828;--danger-bg:#fdecea;--warn-bg:#fff4e0;--warn:#9a5b00;--radius:8px;color:var(--text);background:var(--bg);font-family:Malgun Gothic,Apple SD Gothic Neo,system-ui,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0}h1{margin:0 0 16px;font-size:20px}h2{margin:24px 0 8px;font-size:16px}input,select,textarea,button{font:inherit}input,select,textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:0;padding:6px 8px}textarea{resize:vertical;width:100%;min-height:64px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}button{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;padding:6px 14px}button:hover{background:var(--bg)}button:disabled{opacity:.6;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.danger{color:var(--danger);border-color:var(--danger)}button.link{color:var(--accent);background:0 0;border:none;padding:0 4px}.center{text-align:center;color:var(--muted);padding:48px 16px}.error{color:var(--danger);margin:4px 0}.hint,.muted{color:var(--muted);font-size:13px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px}.auth{place-items:center;min-height:100vh;padding:16px;display:grid}.auth-card{gap:12px;width:min(360px,100%);display:grid}.auth-card label{gap:4px;display:grid}.top{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:24px;height:52px;padding:0 24px;display:flex}.top .brand{font-size:15px}.top nav,.sub{gap:4px;display:flex}.top nav a,.sub a{border-radius:var(--radius);color:var(--muted);padding:6px 12px;text-decoration:none}.top nav a.active,.sub a.active{color:var(--accent);background:var(--accent-bg)}.top .me{align-items:center;gap:8px;margin-left:auto;display:flex}.sub{background:var(--surface);border-bottom:1px solid var(--border);padding:8px 24px}.page{max-width:1280px;margin:0 auto;padding:20px 24px}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.toolbar .spacer{margin-left:auto}table.grid{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);width:100%}table.grid th,table.grid td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:8px 10px}table.grid th{background:var(--bg);color:var(--muted);white-space:nowrap;font-weight:600}table.grid tr.clickable{cursor:pointer}table.grid tr.clickable:hover td{background:var(--accent-bg)}table.grid tr.row-error td{color:var(--danger);background:var(--danger-bg)}.badge{border-radius:var(--radius);background:var(--accent-bg);color:var(--accent);padding:1px 8px;font-size:12px;display:inline-block}.badge.competitor{background:var(--warn-bg);color:var(--warn)}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid label,.field{color:var(--muted);gap:4px;font-size:13px;display:grid}.form-grid label>*,.field>*{color:var(--text);font-size:14px}.actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.stack{gap:16px;display:grid}.dropzone{border:1px dashed var(--muted);border-radius:var(--radius);color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;padding:16px;display:flex}.dropzone.over{border-color:var(--accent);background:var(--accent-bg)}.thumbs{flex-wrap:wrap;gap:8px;display:flex}.thumb{border:1px solid var(--border);border-radius:6px;width:88px;height:88px;position:relative;overflow:hidden}.thumb img{object-fit:cover;cursor:zoom-in;width:100%;height:100%}.thumb button{padding:0 6px;font-size:12px;position:absolute;top:2px;right:2px}.lightbox{z-index:10;cursor:zoom-out;background:#000c;place-items:center;display:grid;position:fixed;inset:0}.lightbox img{max-width:92vw;max-height:92vh}.visit-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px}.visit-card ul{margin:8px 0;padding-left:18px}@media (width<=760px){.top{flex-wrap:wrap;gap:8px;height:auto;padding:8px 12px}.page{padding:12px}.form-grid,.form-grid.two{grid-template-columns:1fr}table.grid{display:block;overflow-x:auto}}
