:root{--bg: #f7f7f5;--fg: #1c1c1a;--muted: #6b6b66;--accent: #2456c4;--danger: #b3261e;--ok: #1e7d3c;--warn-bg: #fdf3e0;--sensitive-bg: #fff2f0;--border: #d9d9d4}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.5 system-ui,sans-serif}main{max-width:960px;margin:0 auto;padding:1.5rem 1rem 4rem}header h1{margin-bottom:0}.tagline,.hint{color:var(--muted)}footer{margin-top:3rem;padding-top:1rem;border-top:1px solid var(--border);color:var(--muted);font-size:.85rem}button,.button{font:inherit;padding:.4rem .9rem;border:1px solid var(--border);border-radius:6px;background:#fff;cursor:pointer;text-decoration:none;color:inherit;display:inline-block}button.primary,.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button:disabled{opacity:.5;cursor:default}.dropzone{border:2px dashed var(--border);border-radius:12px;padding:3rem 1rem;text-align:center;background:#fff}.dropzone.dragging{border-color:var(--accent);background:#eef3ff}.error{color:var(--danger)}table{width:100%;border-collapse:collapse;background:#fff;margin-bottom:1rem}th,td{text-align:left;padding:.35rem .6rem;border-bottom:1px solid var(--border);vertical-align:top;overflow-wrap:anywhere}tr.sensitive{background:var(--sensitive-bg)}tr.deleted td{color:var(--muted)}tr.edited td,tr.changed{background:#f0f6ff}tr.removed{background:#fdeceb}tr.added{background:#ecf7ef}.badge{display:inline-block;margin-left:.3rem;color:var(--danger);font-weight:700}.badge.link{color:var(--accent)}.value{width:100%;border:1px solid transparent;background:transparent;font:inherit;padding:.1rem .25rem}.value:focus{border-color:var(--accent);background:#fff;outline:none}.readonly{color:var(--muted)}.toolbar{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-bottom:1rem}.toolbar .filename{font-weight:600;margin-right:auto}.oer-panel,.add-field{display:flex;flex-wrap:wrap;gap:.5rem;padding:.8rem;background:#fff;border:1px solid var(--border);border-radius:8px;margin-bottom:1rem}.oer-panel input,.add-field input,.add-field select{font:inherit;padding:.35rem .5rem;border:1px solid var(--border);border-radius:6px}.linked-hint{padding:.6rem .8rem;background:var(--warn-bg);border:1px solid #e5c98a;border-radius:8px;margin-bottom:1rem}.banner{padding:.7rem 1rem;border-radius:8px;margin-bottom:.8rem}.banner.ok{background:#ecf7ef;color:var(--ok)}.banner.warn{background:var(--warn-bg)}.actions{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0 2rem}.additions{background:#fff;border:1px solid var(--border);border-radius:8px;padding:.6rem 1rem .6rem 2rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center}.modal{background:#fff;border-radius:12px;padding:1.2rem 1.5rem;max-width:640px;max-height:80vh;overflow:auto;width:92%}.modal-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1rem}.op{font-weight:700;margin-right:.4rem}.op.del{color:var(--danger)}.op.set{color:var(--accent)}.op.add{color:var(--ok)}.file-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.1rem}.file-name{font-size:1.25rem;font-weight:700;overflow-wrap:anywhere}.file-meta{color:var(--muted);font-size:.85rem}button.ghost{border-color:transparent;background:transparent;color:var(--muted)}button.ghost:hover{color:var(--fg)}.presets{display:flex;gap:.8rem;margin-bottom:.9rem;flex-wrap:wrap}.preset{flex:1 1 260px;display:flex;flex-direction:column;gap:.15rem;text-align:left;padding:.75rem .9rem;border:1px solid var(--border);border-radius:8px;background:#fff;cursor:pointer}.preset:hover:not(:disabled){border-color:var(--accent)}.preset.applied{border-color:var(--ok);background:#f4faf5;cursor:default}.preset:disabled{opacity:1}.preset:disabled:not(.applied){opacity:.6}.preset-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.preset-desc{color:var(--muted);font-size:.85rem;line-height:1.45}.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.1rem .6rem;border-radius:999px;font-size:.82rem;font-weight:600}.chip-del{background:#fdeceb;color:var(--danger)}.chip-edit{background:#f0f6ff;color:var(--accent)}.chip-add{background:#ecf7ef;color:var(--ok)}.chip-comp{background:#e8eefc;color:var(--accent)}.chip-muted{background:#f1f1ee;color:var(--muted)}.chip-ok{background:#ecf7ef;color:var(--ok)}.chip-sens{background:var(--sensitive-bg);color:var(--danger);font-size:.7rem;font-weight:600;padding:0 .45rem;margin-left:.35rem;vertical-align:1px}.output-card{background:#fff;border:1px solid var(--border);border-radius:8px;padding:.8rem 1rem;margin-bottom:1rem}.output-title{color:var(--muted);font-size:.72rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;margin-bottom:.5rem}.output-opts{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap}.switch{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.92rem}.switch input{position:absolute;opacity:0;pointer-events:none}.switch .track{width:30px;height:18px;border-radius:999px;background:var(--border);position:relative;transition:background .15s;flex-shrink:0}.switch .knob{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:left .15s}.switch input:checked+.track{background:var(--ok)}.switch input:checked+.track .knob{left:14px}.switch input:focus-visible+.track{outline:2px solid var(--accent);outline-offset:2px}.compress-opt{display:inline-flex;align-items:center;gap:.6rem;flex-wrap:wrap}.opt-label{font-size:.92rem;font-weight:500}.seg{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:#fff}.seg button{border:none;border-radius:0;border-right:1px solid var(--border);padding:.3rem .85rem;font-size:.88rem;color:var(--muted);background:#fff}.seg button:last-child{border-right:none}.seg button.on{background:var(--accent);color:#fff;font-weight:600}.store-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}.store-head h2{margin-bottom:.4rem}.legend{display:flex;gap:1rem;color:var(--muted);font-size:.8rem;flex-wrap:wrap}.th-remove,.td-remove{width:4.5rem;text-align:center;white-space:nowrap}.struck{text-decoration:line-through;color:#a5a5a0}button.undo{border:none;background:none;color:var(--accent);font-size:.82rem;text-decoration:underline;padding:0 0 0 .5rem}.removed-mark{color:var(--danger)}.plan-bar{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;background:#fff;border:1px solid var(--border);border-radius:10px 10px 0 0;box-shadow:0 -6px 18px #1c1c1a14;padding:.8rem 1.2rem;margin-top:1.2rem}.plan-title{color:var(--muted);font-size:.72rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.plan-chips{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.2rem}button.big,.button.big{padding:.6rem 1.4rem;font-size:1.02rem;font-weight:600;border-radius:8px}.dz-arrow{font-size:1.9rem;color:#b9b9b3;line-height:1}.dz-title{font-size:1.1rem;font-weight:600;margin:.4rem 0 0}.dropzone .hint{margin:.3rem 0}.dropzone .formats{margin-top:.9rem}.hero-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;background:#fff;border:1px solid var(--border);border-radius:8px;padding:1.1rem 1.4rem;margin-bottom:.9rem}.hero{font-size:1.9rem;font-weight:700;letter-spacing:-.01em}.hero-arrow{color:var(--muted);font-weight:400}.hero-chip{font-size:1rem;padding:.45rem .9rem}.banner .soft{opacity:.75}.pages-card{background:#fff;border:1px solid var(--border);border-radius:8px;padding:.8rem;margin-bottom:1rem}.pages-card .output-title{display:flex;align-items:baseline;gap:.5rem}.page-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.6rem;margin-top:.6rem}.page-tile{position:relative;padding:0;border:2px solid var(--border);border-radius:6px;background:#fff;overflow:hidden}.page-tile img{display:block;width:100%;height:auto;min-height:60px}.page-tile:hover{border-color:var(--accent)}.page-tile.dropped{border-color:var(--danger)}.page-tile.dropped img{opacity:.3;filter:grayscale(1)}.page-num{position:absolute;left:4px;bottom:4px;padding:0 .35rem;font-size:.75rem;background:#ffffffd9;border-radius:4px}.page-x{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:1.6rem;color:var(--danger);font-weight:700}.chip-pages{background:#eef3ff;color:var(--accent)}.op.pages{color:var(--accent)}
