:root{--brand: #2f4f7f;--brand-dark: #1d2f4f;--brand-strong: #18345f;--brand-soft: #edf3f8;--accent: #c88a2a;--accent-strong: #9a641b;--accent-soft: #fff3dc;--teal: #2f746c;--success: #2f8f5b;--danger: #b83d44;--danger-soft: #fff0f1;--warning: #b7791f;--line: #d9e1ed;--line-strong: #bac7da;--bg: #f3f1ec;--surface: #fffdf8;--surface-raised: #ffffff;--surface-muted: #f1f4f8;--ink: #162035;--muted: #667287;--d1: #5260c8;--d2: #21806c;--d3: #b06d1a;--domain-d1: var(--d1);--domain-d2: var(--d2);--domain-d3: var(--d3);--radius: 8px;--radius-sm: 6px;--shadow-sm: 0 1px 2px rgba(22, 32, 53, .07), 0 8px 24px rgba(22, 32, 53, .05);--shadow-md: 0 16px 42px rgba(22, 32, 53, .12);--shadow-lg: 0 22px 64px rgba(22, 32, 53, .18);--focus: 0 0 0 3px rgba(47, 79, 127, .18);color-scheme:light}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:linear-gradient(180deg,#edf3f8eb,#f3f1ecf5 260px),var(--bg)}button,input,select,textarea{font:inherit}a{color:var(--brand)}.page{padding:18px}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:var(--brand);color:#fff;padding:10px 14px}.toolbar h1{font-size:16px;margin:0 12px 0 0}.toolbar a,.toolbar button{color:#fff;border:1px solid rgba(255,255,255,.45);background:#ffffff1f;border-radius:6px;padding:7px 11px;text-decoration:none;cursor:pointer}.toolbar .primary{background:#fff;color:var(--brand)}.spacer{flex:1 1 auto}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow-sm)}.grid{display:grid;gap:12px}.controls{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.controls input,.controls select{border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:8px 10px;min-width:150px}.table-wrap{overflow:auto;border:1px solid var(--line);background:var(--surface-raised);border-radius:var(--radius);box-shadow:var(--shadow-sm)}table{width:100%;border-collapse:collapse;font-size:13px}th,td{border-bottom:1px solid var(--line);padding:8px;text-align:left;vertical-align:top}th{background:var(--brand-soft);color:var(--brand-dark);position:sticky;top:0;z-index:1}.name-cell{position:sticky;left:0;background:var(--surface-raised);box-shadow:1px 0 0 var(--line);font-weight:700}.chip{display:inline-block;border-radius:999px;padding:2px 8px;background:#e7edf5;color:#384860;font-size:12px;margin:1px}.cards{display:none}.convert-card{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius);padding:12px;display:grid;gap:8px;box-shadow:var(--shadow-sm)}.status{color:#2e7d4f;font-weight:700}.warn{color:var(--accent-strong)}.muted{color:var(--muted);margin:0 0 10px;font-size:13px}.danger{color:var(--danger)}form{display:grid;gap:12px;max-width:520px}label{display:grid;gap:5px;color:var(--muted);font-size:13px}input,select,textarea{border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:9px 10px;background:#fff;color:var(--ink);font-weight:400;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:var(--focus);outline:none}button.action{background:var(--brand);color:#fff;border:1px solid var(--brand);border-radius:var(--radius-sm);padding:9px 13px;cursor:pointer;font-weight:700;box-shadow:0 1px #16203514}button.action:hover{background:var(--brand-strong);border-color:var(--brand-strong)}button.secondary{background:#fff;color:var(--brand);border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:8px 12px;cursor:pointer;font-weight:700}button.secondary:hover{background:var(--brand-soft);border-color:#aab9cd}button:disabled{opacity:.62;cursor:default}@media (max-width: 820px){body{font-size:14px}.page{padding:10px}.toolbar h1{flex-basis:100%}.panel{padding:10px;border-radius:7px}.table-wrap{display:none}.cards{display:grid;gap:8px}.convert-card{padding:10px;gap:6px;border-radius:7px}input,select,textarea{min-height:38px;padding:7px 9px}button.action,button.secondary{min-height:38px;padding:7px 10px}.controls input,.controls select{flex:1 1 140px;min-width:0}}
