:root{--bg: #0d1117;--panel: #161b22;--panel-2: #1c2430;--border: #2d3745;--text: #e6edf3;--muted: #8b98a9;--accent: #4fb0ff;--green: #3fb950;--amber: #d29922;--red: #f85149;--violet: #a371f7}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app{display:flex;flex-direction:column;min-height:100%}.nav{display:flex;align-items:center;gap:4px;padding:10px 20px;background:var(--panel);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10;flex-wrap:wrap}.nav .brand{font-weight:700;margin-right:18px;letter-spacing:.3px}.nav .brand span{color:var(--accent)}.nav a{color:var(--muted);padding:6px 12px;border-radius:6px;font-weight:500}.nav a:hover{background:var(--panel-2);text-decoration:none;color:var(--text)}.nav a.active{color:var(--text);background:var(--panel-2)}.content{flex:1;padding:24px;max-width:1200px;width:100%;margin:0 auto}h1{font-size:24px;margin:0 0 4px}h2{font-size:18px;margin:28px 0 12px;border-bottom:1px solid var(--border);padding-bottom:6px}h3{font-size:15px;margin:0 0 6px}.sub{color:var(--muted);margin:0 0 20px}.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:8px}.card h3{display:flex;align-items:center;justify-content:space-between;gap:8px}.card .meta{color:var(--muted);font-size:13px}.card .summary{font-size:14px}.card .notes{font-size:13px;color:var(--muted);border-top:1px dashed var(--border);padding-top:8px}.badge{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:999px;white-space:nowrap}.badge.active{background:#3fb95026;color:var(--green)}.badge.view-only{background:#a371f726;color:var(--violet)}.badge.superseded{background:#d2992226;color:var(--amber)}.badge.withdrawn{background:#f8514926;color:var(--red)}.badge.printed{background:#4fb0ff26;color:var(--accent)}.badge.bought{background:#8b98a92e;color:var(--muted)}.badge.preview{background:#a371f726;color:var(--violet)}table{width:100%;border-collapse:collapse;margin:8px 0 4px}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--muted);font-weight:600;font-size:13px}td .qty{font-variant-numeric:tabular-nums}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;align-items:center}.chip{background:var(--panel-2);border:1px solid var(--border);color:var(--muted);padding:6px 12px;border-radius:999px;cursor:pointer;font-size:13px;font-weight:500}.chip:hover{color:var(--text)}.chip.on{background:var(--accent);color:#04121f;border-color:var(--accent)}select,.btn{background:var(--panel-2);border:1px solid var(--border);color:var(--text);padding:7px 12px;border-radius:8px;font-size:14px;cursor:pointer}.btn:hover{border-color:var(--accent)}.viewer-wrap{display:grid;grid-template-columns:1fr 300px;gap:20px}.viewer{background:var(--panel);border:1px solid var(--border);border-radius:10px;height:560px;overflow:hidden;position:relative}.viewer-hint{position:absolute;bottom:10px;left:12px;font-size:12px;color:var(--muted);background:#0d1117b3;padding:4px 8px;border-radius:6px}.viewer-err{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--red);padding:20px;text-align:center}.side-panel{display:flex;flex-direction:column;gap:14px}.kv{display:flex;justify-content:space-between;gap:10px;font-size:14px;padding:4px 0;border-bottom:1px solid var(--border)}.kv .k{color:var(--muted)}.part-picker{display:flex;flex-direction:column;gap:2px;max-height:260px;overflow:auto}.part-picker button{text-align:left;background:none;border:none;color:var(--text);padding:7px 10px;border-radius:6px;cursor:pointer;font-size:14px;display:flex;justify-content:space-between;gap:8px}.part-picker button:hover{background:var(--panel-2)}.part-picker button.on{background:var(--accent);color:#04121f}.note-box{background:var(--panel-2);border:1px solid var(--border);border-left:3px solid var(--amber);border-radius:8px;padding:12px 14px;font-size:14px;margin:14px 0}.step{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--border)}.step .n{flex:0 0 32px;height:32px;width:32px;border-radius:50%;background:var(--panel-2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--accent)}.step .body{flex:1}.tag-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.tag{font-size:12px;background:var(--panel-2);border:1px solid var(--border);padding:2px 8px;border-radius:6px;color:var(--muted)}.tag.part{color:var(--accent);border-color:#4fb0ff66;cursor:pointer}.spinner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--muted)}@media (max-width: 860px){.viewer-wrap{grid-template-columns:1fr}}.zoom-wrap{position:relative}.zoom-stage{background:#fff;border:1px solid var(--border);border-radius:10px;height:560px;overflow:hidden;position:relative;touch-action:none;display:flex;align-items:center;justify-content:center}.zoom-stage img{max-width:100%;max-height:560px;display:block;-webkit-user-select:none;user-select:none;will-change:transform}.zoom-controls{display:flex;gap:8px;align-items:center;margin-top:10px}.zoom-controls .btn{min-width:40px;font-weight:700}.zoom-pct{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:4px}.media-video{width:100%;max-height:560px;background:#000;border:1px solid var(--border);border-radius:10px;display:block}.path-list{padding-left:20px}.path-list li{margin-bottom:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}
