@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");*,:after,:before{box-sizing:border-box}:root{--bg:#f4f6f9;--panel:#fff;--soft:#eef2f6;--line:#dfe5ec;--line-strong:#c8d1dc;--text:#111318;--muted:#667080;--primary:#0000c3;--primary-soft:#eef0ff;--ok:#167845;--warning:#a96207;--danger:#bd2424}html{font-size:15px}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.42}a{color:var(--primary);text-decoration:none}button,input{font:inherit}h1,h2,h3,p{margin-top:0}.crm-layout{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.crm-layout.sidebar-collapsed{grid-template-columns:84px minmax(0,1fr)}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:16px;padding:18px 14px;background:#fbfcfd;border-right:1px solid var(--line)}.sidebar-brand{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 8px 16px;border-bottom:1px solid var(--line)}.logo{font-weight:800}.muted,.sidebar-caption{color:var(--muted)}.small{font-size:.82rem}.card-list,.field-stack,.nav-list,.product-list,.stack{display:grid;grid-gap:12px;gap:12px}.nav-link{display:grid;grid-template-columns:40px 1fr;align-items:center;grid-gap:10px;gap:10px;padding:10px;background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--text);font-weight:700}.sidebar-collapsed .nav-link{grid-template-columns:1fr}.nav-icon{display:grid;place-items:center;min-width:38px;height:32px;border-radius:7px;color:var(--primary);background:var(--primary-soft);font-size:.8rem}.sidebar-footer{margin-top:auto;display:grid;grid-gap:10px;gap:10px}.page{padding:26px;min-width:0}.page-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.page-header h1{margin-bottom:4px;font-size:1.8rem;letter-spacing:0}.eyebrow{margin-bottom:6px;color:var(--primary);font-weight:800;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px;box-shadow:0 8px 22px rgba(12,18,28,.04)}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.panel h2{margin-bottom:2px;font-size:1.05rem}.panel h3{margin-bottom:10px;font-size:.96rem}.panel-subtitle{color:var(--muted);font-size:.88rem}.panel-actions{display:flex;gap:8px;align-items:center}.input{width:100%;min-height:38px;padding:8px 10px;border-radius:7px;border:1px solid var(--line-strong);background:#fff;color:var(--text)}.input.compact{min-height:32px;max-width:100px}.btn,.icon-button{border:1px solid var(--line-strong);border-radius:7px;min-height:38px;padding:8px 12px;background:#fff;color:var(--text);cursor:pointer;font-weight:700}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-soft{background:var(--soft)}.btn-compact{min-height:30px;padding:5px 9px;font-size:.82rem}.icon-button{width:32px;min-height:32px;padding:0}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(420px,100%)}.filters-row,.inline-edit,.pagination,.search-form{display:flex;gap:8px;align-items:center}.search-form{min-width:min(560px,52vw)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px}.data-table{width:100%;border-collapse:collapse;min-width:980px}.data-table td,.data-table th{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.data-table th{background:#f9fafc;color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.06em}.data-table tr:hover td{background:#fbfcff}.strong{font-weight:800}.row-link{color:var(--text)}.badge-list{display:flex;flex-wrap:wrap;gap:5px}.badge{display:inline-flex;align-items:center;min-height:22px;border-radius:999px;padding:3px 8px;background:var(--soft);color:var(--text);font-size:.75rem;font-weight:700}.badge.ok{background:#e8f6ef;color:var(--ok)}.badge.warning{background:#fff3df;color:var(--warning)}.alert.danger,.badge.danger{background:#fff0f0;color:var(--danger)}.alert,.empty-state,.loading-row{padding:12px;border:1px solid var(--line);border-radius:8px;background:#fafbfc}.alert.ok{background:#edf8f1;color:var(--ok)}.stat-grid{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));grid-gap:10px;gap:10px}.stat-card{padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff}.stat-label{color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.stat-value{margin-top:4px;font-size:1.12rem;font-weight:800}.preference-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.preference-block{display:grid;align-content:start;grid-gap:8px;gap:8px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd}.preference-row{display:grid;grid-gap:8px;gap:8px;padding:10px;border:1px solid var(--line);border-radius:7px;background:#fff}.score-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px;color:var(--muted);font-size:.78rem}.score-grid strong{display:block;color:var(--text)}.two-column{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:14px;gap:14px}.compact-card{display:grid;grid-gap:8px;gap:8px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd}.split{display:flex;justify-content:space-between;gap:12px}.right{text-align:right;font-weight:800}.summary-list{margin:0;padding-left:18px;color:var(--muted)}.recommendation-list{display:grid;grid-gap:10px;gap:10px;margin-top:12px}.recommendation-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,.6fr);grid-gap:10px;gap:10px;align-items:stretch;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fbfcfd}.product-tile{display:grid;grid-template-columns:74px minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:7px;background:#fff}.product-tile.selected{border-color:var(--primary);background:#fbfbff}.cover{width:74px;aspect-ratio:1;display:grid;place-items:center;overflow:hidden;border-radius:6px;background:var(--soft);color:var(--muted);font-size:.75rem}.cover img{width:100%;height:100%;object-fit:cover}.product-copy{min-width:0}.compact-card .strong,.preference-row .strong,.product-copy .strong,.row-link{overflow-wrap:anywhere}.product-meta{min-width:84px;text-align:right;display:grid;grid-gap:5px;gap:5px;justify-items:end}.reason-box{padding:10px;border:1px solid var(--line);border-radius:7px;background:#fff}.reason-box ul{margin:8px 0 0;padding-left:18px;color:var(--muted)}.send-panel{display:grid;grid-gap:10px;gap:10px;margin-top:14px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#f9fafc}.action-panel{border-color:var(--primary);background:#fbfbff}.btn-large{min-height:44px;font-size:.96rem}.preview-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:8px;gap:8px}.back-link{display:inline-block;margin-bottom:8px;font-weight:800}.backfill-controls{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.check-row{display:flex;align-items:center;gap:6px;min-height:38px;font-weight:700}.field-label{display:grid;grid-gap:4px;gap:4px;color:var(--muted);font-size:.78rem;font-weight:800}.field-label.grow{flex:1 1 280px}.backfill-result{display:grid;grid-gap:8px;gap:8px;margin-top:12px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd}@media (max-width:1180px){.preference-grid,.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recommendation-row,.two-column{grid-template-columns:1fr}}@media (max-width:760px){.crm-layout,.crm-layout.sidebar-collapsed{grid-template-columns:1fr}.sidebar{position:static;height:auto}.page{padding:16px}.filters-row,.pagination,.panel-head,.search-form{flex-direction:column;align-items:stretch}.preference-grid,.stat-grid{grid-template-columns:1fr}.product-tile{grid-template-columns:58px minmax(0,1fr)}.product-meta{grid-column:1/-1;justify-items:start;text-align:left}}