:root { --ink:#38291e; --muted:#74685b; --line:#e3d4c0; --white:#fffdf8; --cream:#fbf6ec; --sand:#f4e8d6; --sand-deep:#ead7bf; --accent:#a65b18; --accent-dark:#704018; --gold-bg:#fff3df; --red:#a23d37; --red-bg:#fff2ef; --green:#39764c; --green-bg:#edf7ef; --shadow:0 10px 28px rgba(87,57,31,.08); }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); font-family:Arial,Helvetica,sans-serif; background:linear-gradient(180deg,#f8efe1 0,#fdfaf4 24rem); }
button,input { font:inherit; } button { cursor:pointer; }
.app-shell { width:min(100% - 32px,980px); margin:auto; padding:28px 0 38px; }.intro { max-width:760px; padding-bottom:10px; }.eyebrow,.field-label { margin:0; color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.intro h1 { margin:6px 0 8px; font-size:clamp(30px,4vw,42px); line-height:1.08; letter-spacing:-.05em; }.intro h1 span { color:var(--accent); }.intro>p:last-child { margin:0; color:var(--muted); font-size:15px; line-height:1.45; }
.panel { padding:20px; border:1px solid var(--line); border-radius:20px; background:rgba(255,253,248,.91); box-shadow:var(--shadow); }.search-panel { margin-top:13px; }.panel-heading { display:flex; align-items:center; gap:9px; }.panel-heading h2 { margin:0; font-size:23px; letter-spacing:-.04em; }.panel-heading p { margin:3px 0 0; color:var(--muted); font-size:13px; }.step { display:grid; flex:0 0 34px; width:34px; height:34px; place-items:center; border:1px solid var(--sand-deep); border-radius:50%; color:var(--accent); background:var(--sand); font-size:16px; font-weight:800; }
.search-form { display:flex; align-items:end; gap:9px; max-width:610px; margin-top:19px; }.control { display:grid; flex:1; gap:6px; }.control input { width:100%; height:46px; padding:0 13px; border:1px solid #c9ae90; border-radius:12px; color:var(--ink); background:#fffaf2; outline-color:var(--accent); font-size:17px; letter-spacing:.03em; }.primary-button { display:flex; align-items:center; justify-content:center; gap:17px; height:46px; min-width:180px; padding:0 17px; border:1px solid var(--accent-dark); border-radius:12px; color:#fff; background:var(--accent); font-weight:800; }.primary-button:hover { background:var(--accent-dark); }.primary-button:disabled { cursor:wait; opacity:.72; }.help { margin:9px 0 0; color:var(--muted); font-size:12px; }.error-message { margin:12px 0 0; padding:10px 12px; border-radius:12px; color:var(--red); background:var(--red-bg); font-size:14px; line-height:1.4; }
.empty-state { display:flex; align-items:center; gap:13px; margin-top:13px; padding:21px; border:1px dashed #ddc8ad; border-radius:20px; color:var(--muted); background:rgba(255,253,248,.55); }.empty-icon { display:grid; flex:0 0 42px; width:42px; height:42px; place-items:center; border-radius:50%; color:var(--accent); background:var(--sand); font-size:29px; }.empty-state strong { color:var(--ink); font-size:15px; }.empty-state p { margin:4px 0 0; font-size:13px; line-height:1.4; }
#company-result { margin-top:13px; }.company-top { display:flex; justify-content:space-between; gap:18px; }.company-top h2 { max-width:690px; margin:5px 0 0; font-size:clamp(23px,3vw,32px); line-height:1.12; letter-spacing:-.045em; }.full-name { margin:7px 0 0; color:var(--muted); font-size:13px; line-height:1.35; }.status-pill { align-self:flex-start; flex:none; padding:7px 10px; border:1px solid #bcd5c1; border-radius:999px; color:var(--green); background:var(--green-bg); font-size:12px; font-weight:800; text-align:center; }.status-pill.warning { border-color:#e7cf9b; color:#9d671c; background:var(--gold-bg); }.status-pill.danger { border-color:#edc4bd; color:var(--red); background:var(--red-bg); }.identity-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:19px 0 0; }.identity-grid div { min-width:0; padding:11px 12px; border-radius:12px; background:#fbf2e5; }.identity-grid dt { color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }.identity-grid dd { margin:5px 0 0; overflow-wrap:anywhere; font-size:14px; font-weight:700; line-height:1.28; }.result-grid { display:grid; grid-template-columns:1fr 1.2fr; gap:13px; margin-top:13px; }.person-list,.risk-list { display:grid; gap:8px; margin-top:17px; }.person { padding:12px; border:1px solid var(--line); border-radius:12px; background:var(--white); }.person strong { display:block; font-size:16px; }.person span { display:block; margin-top:4px; color:var(--muted); font-size:13px; line-height:1.35; }.risk { display:flex; align-items:flex-start; gap:9px; padding:10px 11px; border:1px solid #e5ceaa; border-radius:12px; background:var(--gold-bg); font-size:13px; line-height:1.35; }.risk::before { content:'!'; display:grid; flex:0 0 20px; width:20px; height:20px; place-items:center; border-radius:50%; color:#9b6219; background:#f0d7ab; font-weight:800; }.risk.danger { border-color:#ebc4be; color:#7b322d; background:var(--red-bg); }.risk.danger::before { color:#a13e38; background:#f6cfca; }.risk-ok { padding:12px; border:1px solid #c8dfcc; border-radius:12px; color:var(--green); background:var(--green-bg); font-size:13px; line-height:1.4; }.risk-ok::before { content:'✓ '; font-weight:800; }
footer { margin:20px 6px 0; color:var(--muted); font-size:12px; line-height:1.45; }footer p { margin:0; }footer a { color:var(--accent-dark); font-weight:700; }.disclaimer { margin-top:4px; font-size:11px; }
@media(max-width:700px) { .identity-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.result-grid { grid-template-columns:1fr; }.search-form { align-items:stretch; flex-direction:column; }.primary-button { min-width:0; }.company-top { flex-direction:column; }.status-pill { align-self:flex-start; } }
@media(max-width:480px) { .app-shell { width:min(100% - 18px,980px); padding-top:18px; }.panel { padding:16px 13px; }.intro h1 { font-size:28px; }.intro>p:last-child { font-size:14px; }.panel-heading h2 { font-size:21px; }.identity-grid { grid-template-columns:1fr; }.empty-state { align-items:flex-start; padding:16px 13px; } }

/* Полный список проверок: зелёный - нет признака, красный - признак обнаружен. */
.risk { border-color:#c8dfcc; color:var(--green); background:var(--green-bg); }
.risk::before { content:'✓'; color:var(--green); background:#d4ead7; font-size:14px; }
.risk.danger { border-color:#ebc4be; color:var(--red); background:var(--red-bg); }
.risk.danger::before { content:'×'; color:#fff; background:var(--red); }

.contacts-section { margin-top:17px; padding-top:16px; border-top:1px solid var(--line); }.contacts-heading { display:flex; align-items:baseline; justify-content:space-between; gap:10px; }.contacts-heading h3 { margin:0; font-size:16px; letter-spacing:-.02em; }.contacts-heading p { margin:0; color:var(--muted); font-size:12px; }.contacts-list { display:grid; gap:7px; margin-top:10px; }.contact-row { display:grid; grid-template-columns:75px 1fr; gap:9px; padding:9px 10px; border-radius:10px; background:#fbf2e5; font-size:13px; line-height:1.4; }.contact-row>span { color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }.contact-row div { overflow-wrap:anywhere; }.contact-row a { color:var(--accent-dark); font-weight:700; text-decoration-thickness:1px; text-underline-offset:2px; }
