:root{--bg-main: #0a0b1a;--bg-panel: #14162a;--bg-input: #1e2036;--text-primary: #e4e6ff;--text-secondary: #9aa0c8;--accent: #ff6b00;--accent2: #00d4ff;--danger: #ff2e63;--border: rgba(0, 212, 255, .3);--border-warn: rgba(255, 107, 0, .5);--mono: "JetBrains Mono", "Courier New", monospace}*{box-sizing:border-box}body{margin:0;padding:0;background:var(--bg-main);background-image:radial-gradient(circle at 20% 0%,rgba(255,107,0,.08),transparent 45%),radial-gradient(circle at 85% 100%,rgba(0,212,255,.08),transparent 45%),repeating-linear-gradient(0deg,rgba(255,255,255,.015) 0 1px,transparent 1px 3px);color:var(--text-primary);font-family:Roboto,-apple-system,sans-serif;min-height:100vh}h1,h2,h3{font-family:var(--mono);color:var(--accent2);letter-spacing:1px}.app-shell{max-width:1500px;margin:0 auto;padding:24px}.panel{background:var(--bg-panel);border:1px solid var(--border-warn);border-radius:6px;padding:20px;margin-bottom:18px;box-shadow:0 0 24px #ff6b0014,inset 0 0 40px #00d4ff08}input,select,textarea{width:100%;background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);padding:10px 12px;border-radius:4px;font-family:var(--mono);font-size:13px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent2);box-shadow:0 0 8px #00d4ff66}textarea{resize:vertical;min-height:70px}button{background:linear-gradient(135deg,var(--accent) 0%,#ff9340 100%);color:#111;border:none;padding:10px 18px;border-radius:4px;font-family:var(--mono);font-weight:700;letter-spacing:.5px;cursor:pointer;transition:transform .15s,box-shadow .15s}button:hover{transform:translateY(-1px);box-shadow:0 0 14px #ff6b0099}button:disabled{opacity:.5;cursor:not-allowed}button.ghost{background:transparent;border:1px solid var(--border);color:var(--text-primary)}button.ghost:hover{border-color:var(--accent2);box-shadow:0 0 10px #00d4ff66}button.danger{background:linear-gradient(135deg,#b3002d 0%,var(--danger) 100%);color:#fff}button.tech{background:linear-gradient(135deg,#007a99 0%,var(--accent2) 100%);color:#001820}.tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.tabs button{background:transparent;border:1px solid var(--border);color:var(--text-secondary)}.tabs button.active{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#000}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:8px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}th{background:var(--bg-input);color:var(--accent2);font-family:var(--mono);font-size:12px;letter-spacing:.5px;position:sticky;top:0;z-index:2}tr:hover td{background:#ff6b000f}.cell-copy{cursor:pointer;-webkit-user-select:text;user-select:text}.cell-copy:hover{color:var(--accent2)}.photo-thumb{width:60px;height:60px;object-fit:cover;border:1px solid var(--accent2);border-radius:3px;cursor:zoom-in}.photo-wrap{position:relative;display:inline-block}.photo-wrap .photo-dl{position:absolute;bottom:2px;right:2px;background:#000000b3;border:1px solid var(--accent2);color:var(--accent2);width:20px;height:20px;line-height:1;padding:0;border-radius:3px;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center}.photo-wrap .photo-dl:hover{background:var(--accent2);color:#000;transform:none;box-shadow:none}.photo-missing{display:inline-block;width:60px;padding:10px 2px;font-family:var(--mono);font-size:10px;text-align:center;color:var(--danger);border:1px dashed var(--danger);border-radius:3px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:var(--bg-panel);border:1px solid var(--accent2);border-radius:6px;padding:24px;max-width:900px;width:100%;max-height:90vh;overflow:auto;box-shadow:0 0 40px #00d4ff4d}.modal img{max-width:100%;max-height:80vh;display:block;margin:0 auto}.row{display:grid;gap:12px}.row.two{grid-template-columns:1fr 1fr}.row.three{grid-template-columns:1fr 1fr 1fr}.row.four{grid-template-columns:1fr 1fr 1fr 1fr}.row.five{grid-template-columns:repeat(5,1fr)}.row.six{grid-template-columns:repeat(6,1fr)}.span-2{grid-column:span 2}label{display:block;font-size:12px;color:var(--text-secondary);font-family:var(--mono);margin-bottom:4px;letter-spacing:.5px}.header-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;flex-wrap:wrap;gap:12px}.header-bar h1{margin:0;font-size:22px}.badge{font-family:var(--mono);font-size:11px;padding:3px 8px;border:1px solid var(--border);border-radius:3px}.badge.warn{border-color:var(--accent);color:var(--accent)}.badge.ok{border-color:#00e07a;color:#00e07a}.toast{position:fixed;bottom:20px;right:20px;background:var(--bg-panel);border:1px solid var(--accent2);color:var(--text-primary);padding:10px 18px;border-radius:4px;font-family:var(--mono);font-size:13px;z-index:2000;box-shadow:0 0 20px #00d4ff66}.toast.success{border-color:#00e07a;box-shadow:0 0 20px #00e07a66}.toast.error{border-color:var(--danger);box-shadow:0 0 20px #ff2e6366}.pagination{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}.pagination select{width:auto}.file-input-wrap{border:1px dashed var(--border);padding:12px;border-radius:4px;text-align:center;cursor:pointer}.file-input-wrap:hover{border-color:var(--accent2)}.file-input-wrap input{display:none}.thumb-grid{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.thumb-grid .thumb{position:relative}.thumb-grid .thumb img{width:80px;height:80px;object-fit:cover;border:1px solid var(--accent2);border-radius:3px}.thumb-grid .thumb button{position:absolute;top:-6px;right:-6px;padding:0;width:22px;height:22px;line-height:1;background:var(--danger);color:#fff;border-radius:50%;font-size:12px}.warn-block{background:#ff6b001f;border:1px solid var(--accent);padding:10px 14px;border-radius:4px;font-family:var(--mono);font-size:12px;color:var(--accent);margin-bottom:12px}.combined-cell{display:flex;align-items:flex-start;gap:4px;max-width:260px}.combined-cell .combined-text{flex:1;word-break:break-word;font-family:var(--mono);font-size:12px;cursor:pointer}.combined-cell .combined-text:hover{color:var(--accent2)}.copy-btn-mini{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:2px 6px;font-family:var(--mono);font-size:11px;border-radius:3px;cursor:pointer;flex-shrink:0}.copy-btn-mini:hover{border-color:var(--accent2);color:var(--accent2);transform:none;box-shadow:none}@media (max-width: 820px){.row.two,.row.three,.row.four,.row.five,.row.six{grid-template-columns:1fr}.span-2{grid-column:auto}.app-shell{padding:12px}}
