:root { font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, sans-serif; color:#16324f; background:#f3f7fb; }
* { box-sizing:border-box; }
body { margin:0; }
header { padding:22px 28px; background:white; display:flex; justify-content:space-between; gap:20px; align-items:center; border-bottom:1px solid #dde7f0; position:sticky; top:0; z-index:5; }
h1 { margin:0; font-size:25px; } header p { margin:5px 0 0; color:#6b7d8f; }
main { max-width:1500px; margin:20px auto; padding:0 20px 50px; }
.card { background:white; border:1px solid #dde7f0; border-radius:13px; box-shadow:0 7px 24px rgba(34,65,95,.05); padding:18px; margin-bottom:18px; }
.toolbar { display:flex; gap:12px; align-items:center; }
.toolbar input { flex:1; }
button { border:0; border-radius:8px; background:#178df6; color:white; padding:11px 16px; font-weight:700; cursor:pointer; }
button.secondary { background:#e9f3fb; color:#1b5f94; } button.ghost { background:transparent; color:#537089; }
button:disabled { opacity:.5; cursor:not-allowed; }
input,select,textarea { width:100%; border:1px solid #cfdbe6; border-radius:7px; padding:10px 12px; font:inherit; color:#20374d; background:white; }
textarea { resize:vertical; }
label { display:block; font-size:13px; font-weight:700; margin:10px 0; } label input,label select,label textarea { margin-top:6px; font-weight:400; }
.section-title { display:flex; align-items:center; justify-content:space-between; gap:15px; } h2,h3 { margin:0 0 10px; }
.table-wrap { overflow:auto; } table { width:100%; border-collapse:collapse; } th,td { padding:11px 10px; border-bottom:1px solid #e7eef5; text-align:left; vertical-align:middle; } th { font-size:12px; color:#60758a; background:#f8fbfd; position:sticky; top:0; }
.muted { color:#70859a; font-size:13px; }.hidden { display:none !important; }
.badges { display:flex; gap:7px; flex-wrap:wrap; justify-content:flex-end; }.badge { padding:6px 9px; border-radius:999px; font-size:12px; font-weight:800; background:#eef3f7; }.badge.ok { background:#d9f8e9; color:#087a50; }.badge.warn { background:#fff0c9; color:#8a5900; }.badge.danger { background:#ffe0df; color:#9c2a25; }
.grid2 { display:grid; grid-template-columns:1fr 1fr; gap:22px; }.grid2.compact { gap:8px 12px; }.grid3 { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }.compact label { margin:5px 0; }
.actions { display:flex; gap:8px; flex-wrap:wrap; margin:8px 0 12px; }
.suggestions { display:flex; gap:8px; flex-wrap:wrap; margin:6px 0 12px; }.suggestion { border:1px solid #b7d9f6; border-radius:8px; padding:8px 10px; cursor:pointer; background:#f3f9ff; font-size:13px; }.suggestion strong { display:block; }
.pricebox { background:#f7fbff; border:1px solid #d8e9f7; padding:10px 12px; border-radius:8px; margin:8px 0 14px; font-size:13px; }
.chars { display:grid; gap:8px; }.char { display:grid; grid-template-columns:260px minmax(250px,1fr) 110px 1fr; gap:9px; align-items:center; padding:9px; border:1px solid #d8e7f2; background:#f6fbff; border-left:4px solid #168cf5; border-radius:8px; }.char.warning { background:#fff8e8; border-left-color:#f3aa00; }.char.missing { background:#fff3f2; border-left-color:#e75850; }.char .name { font-weight:800; }.char .small { font-size:12px; color:#617a90; }
.publishbar { display:flex; gap:10px; align-items:end; justify-content:flex-end; margin-top:18px; }.publishbar label { width:130px; margin:0; }.result { background:#102337; color:#eaf5ff; padding:14px; border-radius:8px; max-height:450px; overflow:auto; white-space:pre-wrap; }
hr { border:0; border-top:1px solid #e3ebf2; margin:22px 0; }
@media (max-width:900px){ .grid2,.grid3 { grid-template-columns:1fr; } .char { grid-template-columns:1fr; } header { position:static; } .publishbar { flex-wrap:wrap; } }
